[tbb] 49/64: Imported Upstream version 4.2~20140122

Graham Inggs ginggs at moszumanska.debian.org
Mon Jul 3 12:28:03 UTC 2017


This is an automated email from the git hooks/post-receive script.

ginggs pushed a commit to branch master
in repository tbb.

commit 324e37947914fba646f4ee2f4dd65a9ffb35bd18
Author: Graham Inggs <ginggs at debian.org>
Date:   Mon Jul 3 14:14:02 2017 +0200

    Imported Upstream version 4.2~20140122
---
 CHANGES                                            |   95 +-
 Makefile                                           |    2 +-
 build/AIX.gcc.inc                                  |    4 +-
 build/AIX.inc                                      |    6 +-
 build/FreeBSD.gcc.inc                              |    4 +-
 build/FreeBSD.inc                                  |    6 +-
 build/Makefile.rml                                 |    9 +-
 build/Makefile.tbb                                 |   10 +-
 build/Makefile.tbbmalloc                           |  116 +-
 build/Makefile.tbbproxy                            |    4 +-
 build/Makefile.test                                |   79 +-
 build/SunOS.gcc.inc                                |    4 +-
 build/SunOS.inc                                    |    6 +-
 build/SunOS.suncc.inc                              |    4 +-
 build/android.gcc.inc                              |    4 +-
 build/android.inc                                  |    2 +-
 build/android.linux.inc                            |    4 +-
 build/android.linux.launcher.sh                    |  152 +-
 build/android.macos.inc                            |    4 +-
 build/android.windows.inc                          |    4 +-
 build/big_iron.inc                                 |    5 +-
 build/common.inc                                   |   11 +-
 build/common_rules.inc                             |   66 +-
 build/detect.js                                    |    5 +-
 build/generate_tbbvars.bat                         |    2 +-
 build/generate_tbbvars.sh                          |    9 +-
 build/index.html                                   |    2 +-
 build/linux.clang.inc                              |  125 ++
 build/linux.gcc.inc                                |   15 +-
 build/linux.icc.inc                                |    6 +-
 build/linux.inc                                    |   10 +-
 build/linux.xl.inc                                 |    6 +-
 build/macos.clang.inc                              |    2 +-
 build/macos.gcc.inc                                |    2 +-
 build/macos.icc.inc                                |    4 +-
 build/macos.inc                                    |    6 +-
 build/mic.icc.inc                                  |   12 +-
 build/mic.linux.inc                                |   10 +-
 build/mic.linux.launcher.sh                        |   90 +-
 build/mic.offload.inc                              |  209 +--
 build/test_launcher.bat                            |    2 +-
 build/test_launcher.sh                             |   33 +-
 build/version_info_aix.sh                          |    2 +-
 build/version_info_android.sh                      |    2 +-
 build/version_info_linux.sh                        |    2 +-
 build/version_info_macos.sh                        |    4 +-
 build/version_info_sunos.sh                        |    2 +-
 build/version_info_windows.js                      |    2 +-
 build/vs2008/index.html                            |   30 +
 build/{vsproject => vs2008}/makefile.sln           |    0
 build/{vsproject => vs2008}/tbb.vcproj             |    0
 build/{vsproject => vs2008}/tbbmalloc.vcproj       |    0
 build/{vsproject => vs2008}/tbbmalloc_proxy.vcproj |    0
 build/{vsproject => vs2008}/version_string.ver     |    0
 build/vs2010/index.html                            |   30 +
 build/vs2010/makefile.sln                          |   78 +
 build/vs2010/tbb.vcxproj                           |  711 ++++++++
 build/vs2010/tbbmalloc.vcxproj                     |  584 +++++++
 build/vs2010/tbbmalloc_proxy.vcxproj               |  421 +++++
 build/{vsproject => vs2010}/version_string.ver     |    0
 build/vsproject/index.html                         |   30 -
 build/windows.cl.inc                               |    2 +-
 build/windows.gcc.inc                              |    2 +-
 build/windows.icl.inc                              |    7 +-
 build/windows.inc                                  |   11 +-
 build/xbox360.cl.inc                               |    2 +-
 build/xbox360.inc                                  |    4 +-
 doc/Release_Notes.txt                              |   19 +-
 doc/help/NavScript.js                              |   58 +
 doc/help/Resources/NavScript.js                    |   61 +
 doc/help/Resources/ssgid_scripts.js                |   19 +
 doc/help/delta.gif                                 |  Bin 0 -> 117 bytes
 doc/help/deltaend.gif                              |  Bin 0 -> 116 bytes
 doc/help/hh_goto.htm                               |   39 +
 doc/help/hh_index.htm                              |  531 ++++++
 doc/help/hh_search.htm                             |  135 ++
 doc/help/hh_toc.htm                                | 1640 ++++++++++++++++++
 doc/help/index.htm                                 |   43 +
 doc/help/intel_css_styles.css                      | 1020 +++++++++++
 doc/help/main/Benefits.htm                         |  164 ++
 doc/help/main/Resources/back.GIF                   |  Bin 0 -> 1096 bytes
 doc/help/main/Resources/forward.GIF                |  Bin 0 -> 1111 bytes
 doc/help/main/Resources/hpc_header.jpg             |  Bin 0 -> 27752 bytes
 doc/help/main/Resources/sync.GIF                   |  Bin 0 -> 1109 bytes
 doc/help/main/help_support.htm                     |  161 ++
 doc/help/main/introducing.htm                      |  107 ++
 doc/help/main/legal_information.htm                |  107 ++
 doc/help/main/notation.htm                         |  397 +++++
 doc/help/main/title.htm                            |   51 +
 doc/help/reference/Resources/06000005.png          |  Bin 0 -> 9420 bytes
 doc/help/reference/Resources/06000007.png          |  Bin 0 -> 3931 bytes
 doc/help/reference/Resources/06000008.png          |  Bin 0 -> 1379 bytes
 doc/help/reference/Resources/06000009.png          |  Bin 0 -> 4077 bytes
 doc/help/reference/Resources/0600000A.png          |  Bin 0 -> 5450 bytes
 doc/help/reference/Resources/0600000B.png          |  Bin 0 -> 5710 bytes
 doc/help/reference/Resources/0600000C.png          |  Bin 0 -> 6693 bytes
 doc/help/reference/Resources/0600000D.png          |  Bin 0 -> 5722 bytes
 doc/help/reference/Resources/0600000E.png          |  Bin 0 -> 7031 bytes
 doc/help/reference/Resources/0600000F.png          |  Bin 0 -> 38820 bytes
 doc/help/reference/Resources/08000006.png          |  Bin 0 -> 4058 bytes
 doc/help/reference/Resources/dep_graph.jpg         |  Bin 0 -> 17464 bytes
 doc/help/reference/Resources/flow-graph.jpg        |  Bin 0 -> 17179 bytes
 doc/help/reference/Resources/hpc_header.jpg        |  Bin 0 -> 27752 bytes
 .../reference/Resources/message_flow_graph.jpg     |  Bin 0 -> 17289 bytes
 doc/help/reference/Resources/non_consq_rng.jpg     |  Bin 0 -> 22182 bytes
 doc/help/reference/Resources/parll_red.jpg         |  Bin 0 -> 21964 bytes
 doc/help/reference/Resources/parll_scan.jpg        |  Bin 0 -> 126730 bytes
 .../reference/Resources/reference-latest-19.jpg    |  Bin 0 -> 12005 bytes
 doc/help/reference/algorithms.htm                  |  106 ++
 .../parallel_deterministic_reduce_func.htm         |  190 +++
 doc/help/reference/algorithms/parallel_do_func.htm |  244 +++
 .../parallel_do_func/parallel_do_feeder_cls.htm    |  126 ++
 .../algorithms/parallel_for_each_func.htm          |   66 +
 .../reference/algorithms/parallel_for_func.htm     |  296 ++++
 .../reference/algorithms/parallel_invoke_func.htm  |  107 ++
 .../algorithms/parallel_pipeline_func.htm          |  139 ++
 .../parallel_pipeline_func/filter_t_cls.htm        |  269 +++
 .../parallel_pipeline_func/flow_control_cls.htm    |   73 +
 .../reference/algorithms/parallel_reduce_func.htm  |  428 +++++
 .../reference/algorithms/parallel_scan_func.htm    |  329 ++++
 .../pre_scan_tag_and_final_scan_tag_clses.htm      |  121 ++
 .../reference/algorithms/parallel_sort_func.htm    |  171 ++
 doc/help/reference/algorithms/partitioners.htm     |  186 ++
 .../partitioners/affinity_partitioner.htm          |  224 +++
 .../partitioners/auto_partitioner_cls.htm          |  156 ++
 .../partitioners/simple_partitioner_cls.htm        |  149 ++
 doc/help/reference/algorithms/pipeline_cls.htm     |  274 +++
 .../algorithms/pipeline_cls/filter_cls.htm         |  287 ++++
 .../pipeline_cls/thread_bound_filter_cls.htm       |  339 ++++
 doc/help/reference/algorithms/range_concept.htm    |  267 +++
 .../range_concept/blocked_range2d_cls.htm          |  365 ++++
 .../range_concept/blocked_range3d_cls.htm          |  103 ++
 .../algorithms/range_concept/blocked_range_cls.htm |  520 ++++++
 .../blocked_range_cls/blocked_range.htm            |   57 +
 .../blocked_range_cls/blocked_range_1.htm          |   66 +
 .../reference/algorithms/splittable_concept.htm    |  180 ++
 .../algorithms/splittable_concept/split_cls.htm    |   72 +
 doc/help/reference/appendices.htm                  |   56 +
 .../appendices/community_preview_features.htm      |   76 +
 .../community_preview_features/aggregator_cls.htm  |   66 +
 .../aggregator_cls/basic_interface.htm             |  153 ++
 .../aggregator_cls/expert_interface.htm            |  275 +++
 .../concurrent_lru_cache_cls.htm                   |  226 +++
 .../concurrent_lru_cache_cls/handle_object_cls.htm |  215 +++
 .../enabling_a_community_preview_feature.htm       |   55 +
 .../flow_graph/or_node_cls.htm                     |  382 +++++
 .../flow_graph_features.htm                        |   49 +
 .../community_preview_features/run_time_loader.htm |  133 ++
 .../run_time_loader/runtime_loader_cls.htm         |  198 +++
 .../runtime_loader_cls/error_code_load.htm         |  120 ++
 .../scalable_memory_pools.htm                      |  181 ++
 .../scalable_memory_pools/fixed_pool_cls.htm       |  144 ++
 .../memory_pool_allocator_cls.htm                  |  197 +++
 .../scalable_memory_pools/memory_pool_cls.htm      |  157 ++
 .../community_preview_features/serial_subset.htm   |   52 +
 .../serial_subset/tbb_serial_parallel_for.htm      |  102 ++
 .../community_preview_features/task_arena_cls.htm  |  416 +++++
 .../task_scheduler_observer_ext_cls.htm            |  213 +++
 .../what_is_a_community_preview_feature.htm        |   93 +
 .../appendices/compatibility_features.htm          |   77 +
 .../compatibility_features/debugging_macros.htm    |  131 ++
 .../interface_for_cls_task.htm                     |  120 ++
 .../interface_for_concurrent_vector.htm            |  189 +++
 ...nterface_for_constructing_a_pipeline_filter.htm |  108 ++
 .../compatibility_features/parallel_while_cls.htm  |  350 ++++
 .../task_enqueuing_flow_graph.htm                  |   63 +
 .../tbb_deprecated_concurrent_queue_cls.htm        |  254 +++
 .../compatibility_features/tbb_thread_cls.htm      |  172 ++
 doc/help/reference/appendices/known_issues.htm     |   49 +
 .../appendices/known_issues/windows_os.htm         |   43 +
 .../reference/appendices/ppl_compatibility.htm     |  228 +++
 doc/help/reference/containers_overview.htm         |   76 +
 .../concurrent_bounded_queue_cls.htm               |  343 ++++
 .../concurrent_hash_map_cls.htm                    |  385 +++++
 .../concurrent_hash_map_cls/capacity_map_cls.htm   |  133 ++
 .../concurrent_hash_map_cls/concurrent_access.htm  |  413 +++++
 .../concurrent_operations.htm                      |  474 ++++++
 .../concurrent_hash_map_cls/global_funcs.htm       |  114 ++
 .../iterators_hash_map_cls.htm                     |  192 +++
 .../parallel_iteration_container.htm               |  121 ++
 .../tbb_hash_compare_cls.htm                       |  105 ++
 .../whole_table_operations.htm                     |  300 ++++
 .../concurrent_priority_queue_cls.htm              |  573 +++++++
 .../containers_overview/concurrent_queue_cls.htm   |  572 +++++++
 .../concurrent_unordered_map_cls.htm               |  472 ++++++
 .../bucket_interface_map_cls.htm                   |  238 +++
 .../construct_destroy_copy_map_cls.htm             |  399 +++++
 .../container_iterators_map_cls.htm                |  173 ++
 .../hash_policy_map_cls.htm                        |  123 ++
 .../lookup_map_cls.htm                             |  234 +++
 .../modifiers_map_cls.htm                          |  279 +++
 .../observers_map_cls.htm                          |   91 +
 .../parallel_iteration_map_cls.htm                 |  105 ++
 .../size_and_capacity_map_cls.htm                  |  122 ++
 .../concurrent_unordered_set_cls.htm               |  430 +++++
 .../bucket_interface_set_cls.htm                   |  238 +++
 .../construct_destroy_copy_set_cls.htm             |  406 +++++
 .../container_iterators_set_cls.htm                |  169 ++
 .../hash_policy_set_cls.htm                        |  119 ++
 .../lookup_set_cls.htm                             |  137 ++
 .../modifiers_set_cls.htm                          |  281 ++++
 .../observers_set_cls.htm                          |   85 +
 .../parallel_iteration_set_cls.htm                 |  105 ++
 .../size_and_capacity_set_cls.htm                  |  117 ++
 .../containers_overview/concurrent_vector.htm      |  417 +++++
 .../concurrent_vector/access.htm                   |  193 +++
 .../concurrent_vector/capacity_vector.htm          |  122 ++
 .../concurrent_vector/concurrent_growth.htm        |  160 ++
 .../construction_copy_and_assignment.htm           |  257 +++
 .../concurrent_vector/iterators_vector.htm         |  185 ++
 .../concurrent_vector/parallel_iteration.htm       |  107 ++
 .../concurrent_vector/whole_vector_operations.htm  |  173 ++
 .../container_range_concept.htm                    |  248 +++
 doc/help/reference/environment.htm                 |   60 +
 .../environment/enabling_debugging_features.htm    |  300 ++++
 doc/help/reference/environment/feature_macros.htm  |  216 +++
 .../reference/environment/version_information.htm  |  355 ++++
 doc/help/reference/exceptions.htm                  |   84 +
 .../reference/exceptions/captured_exception.htm    |  127 ++
 .../reference/exceptions/movable_exception.htm     |  161 ++
 .../reference/exceptions/specific_exceptions.htm   |  214 +++
 doc/help/reference/exceptions/tbb_exception.htm    |   80 +
 doc/help/reference/flow_graph.htm                  |  138 ++
 doc/help/reference/flow_graph/body_objects.htm     |   73 +
 .../reference/flow_graph/broadcast_node_cls.htm    |  320 ++++
 doc/help/reference/flow_graph/buffer_node_cls.htm  |  362 ++++
 doc/help/reference/flow_graph/continue_msg_cls.htm |   61 +
 .../reference/flow_graph/continue_node_cls.htm     |  563 +++++++
 .../reference/flow_graph/continue_receiver_cls.htm |  257 +++
 doc/help/reference/flow_graph/copy_body_func.htm   |   77 +
 .../flow_graph/dependency_flow_graph_example.htm   |  161 ++
 doc/help/reference/flow_graph/flow_tuple.htm       |  113 ++
 doc/help/reference/flow_graph/func_node_cls.htm    |  671 ++++++++
 doc/help/reference/flow_graph/graph_cls.htm        |  382 +++++
 doc/help/reference/flow_graph/graph_node_cls.htm   |   65 +
 doc/help/reference/flow_graph/input_port_func.htm  |   69 +
 doc/help/reference/flow_graph/join_node_cls.htm    |  545 ++++++
 doc/help/reference/flow_graph/limiter_node_cls.htm |  431 +++++
 doc/help/reference/flow_graph/make_edge_func.htm   |   49 +
 .../flow_graph/message_flow_graph_example.htm      |  157 ++
 .../flow_graph/message_passing_protocol.htm        |   64 +
 .../reference/flow_graph/multifunc_node_cls.htm    |  576 +++++++
 .../reference/flow_graph/overwrite_node_cls.htm    |  391 +++++
 .../reference/flow_graph/primary_components.htm    |   98 ++
 .../flow_graph/priority_queue_node_cls.htm         |  386 +++++
 doc/help/reference/flow_graph/queue_node_cls.htm   |  374 ++++
 doc/help/reference/flow_graph/receiver_cls.htm     |  173 ++
 doc/help/reference/flow_graph/remove_edge_func.htm |   49 +
 doc/help/reference/flow_graph/sender_cls.htm       |  225 +++
 .../reference/flow_graph/sequencer_node_cls.htm    |  501 ++++++
 doc/help/reference/flow_graph/source_node_cls.htm  |  477 ++++++
 doc/help/reference/flow_graph/split_node_cls.htm   |  292 ++++
 .../reference/flow_graph/write_once_node_cls.htm   |  358 ++++
 doc/help/reference/general_conventions.htm         |   65 +
 .../reference/general_conventions/identifiers.htm  |   56 +
 .../reference/general_conventions/namespaces.htm   |  287 ++++
 .../reference/general_conventions/terminology.htm  |  170 ++
 .../general_conventions/thread_safety.htm          |   57 +
 doc/help/reference/introducing.htm                 |  124 ++
 doc/help/reference/memory_allocation.htm           |   63 +
 .../memory_allocation/aligned_space_cls.htm        |  155 ++
 .../memory_allocation/allocator_concept.htm        |  232 +++
 .../cache_aligned_allocator_cls.htm                |  231 +++
 .../memory_allocation/scalable_allocator_cls.htm   |   82 +
 .../c_interface_to_scalable_allocator.htm          |  436 +++++
 .../memory_allocation/tbb_allocator_cls.htm        |   56 +
 .../reference/memory_allocation/zero_allocator.htm |   93 +
 doc/help/reference/reference.htm                   |   56 +
 doc/help/reference/synchronization.htm             |   55 +
 doc/help/reference/synchronization/atomic_cls.htm  |  458 +++++
 .../synchronization/c_11_synchronization.htm       |  150 ++
 doc/help/reference/synchronization/mutexes.htm     |   82 +
 .../mutexes/hardware_transactional_locking.htm     |  102 ++
 .../synchronization/mutexes/mutex_cls.htm          |   67 +
 .../synchronization/mutexes/mutex_concept.htm      |  905 ++++++++++
 .../synchronization/mutexes/null_mutex_cls.htm     |   58 +
 .../synchronization/mutexes/null_rw_mutex_cls.htm  |   61 +
 .../synchronization/mutexes/queuing_mutex_cls.htm  |   64 +
 .../mutexes/queuing_rw_mutex_cls.htm               |   59 +
 .../mutexes/readerwritermutex_concept.htm          |  518 ++++++
 .../mutexes/recursive_mutex_cls.htm                |   59 +
 .../mutexes/speculative_spin_mutex_cls.htm         |  138 ++
 .../mutexes/speculative_spin_rw_mutex_cls.htm      |  146 ++
 .../synchronization/mutexes/spin_mutex_cls.htm     |   62 +
 .../synchronization/mutexes/spin_rw_mutex_cls.htm  |   58 +
 .../ppl_compatibility/critical_section.htm         |   69 +
 .../ppl_compatibility/reader_writer_lock_cls.htm   |  286 ++++
 .../synchronization/ppl_compatibility_synch.htm    |   51 +
 doc/help/reference/task_groups.htm                 |  183 ++
 .../is_current_task_group_canceling_func.htm       |   43 +
 doc/help/reference/task_groups/make_task_func.htm  |   54 +
 .../task_groups/structured_task_group_cls.htm      |  102 ++
 doc/help/reference/task_groups/task_group_cls.htm  |  111 ++
 .../task_group_cls/task_group_cls_members.htm      |  208 +++
 .../task_groups/task_group_status_enum.htm         |   50 +
 doc/help/reference/task_groups/task_handle_cls.htm |   64 +
 doc/help/reference/task_scheduler.htm              |  182 ++
 doc/help/reference/task_scheduler/affinity.htm     |  168 ++
 doc/help/reference/task_scheduler/cancellation.htm |  108 ++
 .../catalog_of_recommended_task_patterns.htm       |  194 +++
 .../reference/task_scheduler/empty_task_cls.htm    |   57 +
 .../task_scheduler/explicit_task_destruction.htm   |   87 +
 doc/help/reference/task_scheduler/priorities.htm   |  203 +++
 .../reference/task_scheduler/recycling_tasks.htm   |  220 +++
 .../task_scheduler/scheduling_algorithm.htm        |  149 ++
 .../reference/task_scheduler/synchronization.htm   |  467 +++++
 .../reference/task_scheduler/task_allocation.htm   |  248 +++
 doc/help/reference/task_scheduler/task_cls.htm     |  326 ++++
 .../task_scheduler/task_cls/task_derivation.htm    |   88 +
 doc/help/reference/task_scheduler/task_context.htm |  174 ++
 .../reference/task_scheduler/task_debugging.htm    |  202 +++
 .../task_scheduler/task_group_context.htm          |  300 ++++
 .../task_group_context/task_group_context.htm      |   47 +
 .../reference/task_scheduler/task_list_cls.htm     |  203 +++
 .../task_scheduler/task_scheduler_init_cls.htm     |  201 +++
 .../task_scheduler_init.htm                        |  172 ++
 .../task_scheduler_init_1.htm                      |  101 ++
 .../task_scheduler/task_scheduler_observer.htm     |   71 +
 .../task_scheduler_observer_member.htm             |  186 ++
 doc/help/reference/thread_local_storage.htm        |   76 +
 .../thread_local_storage/combinable_cls.htm        |  292 ++++
 .../enumerable_thread_specific_cls.htm             |  230 +++
 .../enumerable_thread_specific_cls/combining.htm   |  107 ++
 .../concurrent_operations1.htm                     |  129 ++
 .../iterators_specific_cls.htm                     |  161 ++
 .../parallel_literation_specific_cls.htm           |  103 ++
 .../whole_container_operations_specific_cls.htm    |  235 +++
 .../thread_local_storage/flattened2d_cls.htm       |  163 ++
 .../flattened2d_cls/concurrent_operations.htm      |   83 +
 .../flattened2d_cls/iterators_2d_cls.htm           |  123 ++
 .../flattened2d_cls/utility_funcs.htm              |   91 +
 .../whole_container_operations_2d_cls.htm          |  101 ++
 doc/help/reference/threads.htm                     |  186 ++
 .../reference/threads/this_thread_namespace.htm    |  129 ++
 doc/help/reference/threads/thread_cls.htm          |   91 +
 .../threads/thread_cls/thread_cls_members.htm      |  229 +++
 doc/help/reference/threads/thread_id.htm           |   71 +
 doc/help/reference/timing.htm                      |   53 +
 doc/help/reference/timing/tick_count_cls.htm       |   87 +
 .../tick_count_cls/tick_count_cls_members.htm      |  112 ++
 .../tick_count_cls/tick_count_interval_t_cls.htm   |  237 +++
 doc/help/search.js                                 |  471 ++++++
 doc/help/searchdata.js                             |   13 +
 doc/help/tbb_userguide/Advanced_Example.htm        |  124 ++
 .../Advanced_Idiom_Waiting_on_an_Element.htm       |  125 ++
 ...anced_Topic_Other_Kinds_of_Iteration_Spaces.htm |  123 ++
 doc/help/tbb_userguide/Atomic_Operations.htm       |  388 +++++
 doc/help/tbb_userguide/Automatic_Chunking.htm      |   73 +
 .../tbb_userguide/Automically_Replacing_malloc.htm |   61 +
 .../tbb_userguide/Bandwidth_and_Cache_Affinity.htm |  181 ++
 .../Cancellation_Without_An_Exception.htm          |   93 +
 .../Cancellation_and_Nested_Parallelism.htm        |  234 +++
 .../tbb_userguide/Concurrent_Queue_Classes.htm     |   81 +
 doc/help/tbb_userguide/Containers.htm              |  116 ++
 doc/help/tbb_userguide/Continuation_Passing.htm    |  191 +++
 doc/help/tbb_userguide/Controlling_Chunking.htm    |  302 ++++
 .../tbb_userguide/Cook_Until_Done_parallel_do.htm  |  141 ++
 .../Debug_Versus_Release_Libraries.htm             |  195 +++
 .../Design_Patterns/Agglomeration.htm              |  214 +++
 .../Design_Patterns/Compare_and_Swap_Loop.htm      |  209 +++
 .../Design_Patterns/Design_Patterns.htm            |  149 ++
 .../Design_Patterns/Divide_and_Conquer.htm         |  259 +++
 .../tbb_userguide/Design_Patterns/Elementwise.htm  |  158 ++
 .../Design_Patterns/Fenced_Data_Transfer.htm       |  218 +++
 .../tbb_userguide/Design_Patterns/GUI_Thread.htm   |  284 ++++
 .../Design_Patterns/General_References.htm         |   92 +
 .../Design_Patterns/Images/image002.jpg            |  Bin 0 -> 30886 bytes
 .../Design_Patterns/Images/image003.jpg            |  Bin 0 -> 10918 bytes
 .../Design_Patterns/Images/image004.jpg            |  Bin 0 -> 9101 bytes
 .../Design_Patterns/Images/image005.jpg            |  Bin 0 -> 11889 bytes
 .../Design_Patterns/Images/image006.jpg            |  Bin 0 -> 12007 bytes
 .../Design_Patterns/Images/image007.jpg            |  Bin 0 -> 16822 bytes
 .../Design_Patterns/Lazy_Initialization.htm        |  283 ++++
 .../Design_Patterns/Local_Serializer.htm           |  410 +++++
 .../Design_Patterns/Non-Preemptive_Priorities.htm  |  214 +++
 .../Design_Patterns/Odd-Even_Communication.htm     |  120 ++
 .../tbb_userguide/Design_Patterns/Reduction.htm    |  267 +++
 .../Design_Patterns/Reference_Counting.htm         |  171 ++
 .../tbb_userguide/Design_Patterns/Wavefront.htm    |  225 +++
 doc/help/tbb_userguide/Empty_Tasks.htm             |   46 +
 .../tbb_userguide/Exceptions_and_Cancellation.htm  |  130 ++
 .../General_Acyclic_Graphs_of_Tasks.htm            |  155 ++
 .../tbb_userguide/How_Task_Scheduling_Works.htm    |  244 +++
 doc/help/tbb_userguide/Images/image002.jpg         |  Bin 0 -> 10682 bytes
 doc/help/tbb_userguide/Images/image004.jpg         |  Bin 0 -> 3680 bytes
 doc/help/tbb_userguide/Images/image006.jpg         |  Bin 0 -> 14805 bytes
 doc/help/tbb_userguide/Images/image007.jpg         |  Bin 0 -> 21474 bytes
 doc/help/tbb_userguide/Images/image008.jpg         |  Bin 0 -> 20556 bytes
 doc/help/tbb_userguide/Images/image009.jpg         |  Bin 0 -> 41437 bytes
 doc/help/tbb_userguide/Images/image010.jpg         |  Bin 0 -> 767 bytes
 doc/help/tbb_userguide/Images/image011.jpg         |  Bin 0 -> 5852 bytes
 doc/help/tbb_userguide/Images/image012.jpg         |  Bin 0 -> 5596 bytes
 doc/help/tbb_userguide/Images/image013.jpg         |  Bin 0 -> 5533 bytes
 doc/help/tbb_userguide/Images/image014.jpg         |  Bin 0 -> 17178 bytes
 doc/help/tbb_userguide/Images/image015.jpg         |  Bin 0 -> 13148 bytes
 doc/help/tbb_userguide/Images/image016.jpg         |  Bin 0 -> 15846 bytes
 doc/help/tbb_userguide/Images/image017.jpg         |  Bin 0 -> 24044 bytes
 doc/help/tbb_userguide/Images/image018.jpg         |  Bin 0 -> 13870 bytes
 .../Initializing_and_Terminating_the_Library.htm   |   75 +
 ...lug-In_for_Microsoft_Visual_Studio_Projects.htm |   52 +
 ...ating_Over_a_Concurrent_Queue_for_Debugging.htm |   48 +
 doc/help/tbb_userguide/Lambda_Expressions.htm      |  175 ++
 ...inux_C_Dynamic_Memory_Interface_Replacement.htm |   70 +
 doc/help/tbb_userguide/Linux_OS.htm                |  484 ++++++
 doc/help/tbb_userguide/Lock_Pathologies.htm        |  137 ++
 doc/help/tbb_userguide/Memory_Allocation.htm       |   78 +
 doc/help/tbb_userguide/Memory_Consistency.htm      |  188 +++
 .../Microsoft_Visual_Studio_Code_Examples.htm      |  102 ++
 doc/help/tbb_userguide/More_on_HashCompare.htm     |  107 ++
 doc/help/tbb_userguide/Mutex_Flavors.htm           |  536 ++++++
 doc/help/tbb_userguide/Mutual_Exclusion.htm        |  187 ++
 doc/help/tbb_userguide/Non-Linear_Pipelines.htm    |   46 +
 doc/help/tbb_userguide/OS_X_Systems.htm            |  386 +++++
 doc/help/tbb_userguide/Open_Source_Version.htm     |  474 ++++++
 doc/help/tbb_userguide/Package_Contents.htm        |   68 +
 .../tbb_userguide/Parallelizing_Complex_Loops.htm  |   64 +
 .../tbb_userguide/Parallelizing_Simple_Loops.htm   |  159 ++
 doc/help/tbb_userguide/Partitioner_Summary.htm     |  196 +++
 doc/help/tbb_userguide/Reader_Writer_Mutexes.htm   |   72 +
 .../tbb_userguide/Recursive_Chain_Reaction_.htm    |   67 +
 doc/help/tbb_userguide/Recycling.htm               |  175 ++
 doc/help/tbb_userguide/References.htm              |   56 +
 .../tbb_userguide/Scalable_Memory_Allocator.htm    |   66 +
 doc/help/tbb_userguide/Scheduler_Bypass.htm        |  127 ++
 .../Simple_Example_Fibonacci_Numbers.htm           |  247 +++
 doc/help/tbb_userguide/Summary_of_Containers.htm   |   40 +
 .../Summary_of_Loops_and_Pipelines.htm             |   40 +
 doc/help/tbb_userguide/Task-Based_Programming.htm  |  156 ++
 doc/help/tbb_userguide/Task_Scheduler_Summary.htm  |   51 +
 doc/help/tbb_userguide/The_Task_Scheduler.htm      |   64 +
 doc/help/tbb_userguide/Throughput_of_pipeline.htm  |   70 +
 doc/help/tbb_userguide/Timing.htm                  |   46 +
 doc/help/tbb_userguide/UpgradeDowngrade.htm        |   94 ++
 doc/help/tbb_userguide/Useful_Task_Techniques.htm  |   58 +
 doc/help/tbb_userguide/Using_Circular_Buffers.htm  |   64 +
 doc/help/tbb_userguide/When_Not_to_Use_Queues.htm  |   96 ++
 ...hen_Task-Based_Programming_Is_Inappropriate.htm |   40 +
 .../Which_Dynamic_Libraries_to_Use.htm             |  149 ++
 .../Why_atomic_T_Has_No_Constructors.htm           |  126 ++
 ...dows_C_Dynamic_Memory_Interface_Replacement.htm |   58 +
 doc/help/tbb_userguide/Windows_OS.htm              |  638 +++++++
 .../Working_on_the_Assembly_Line_pipeline.htm      |  432 +++++
 doc/help/tbb_userguide/appendix_A.htm              |   86 +
 doc/help/tbb_userguide/appendix_B.htm              |   80 +
 doc/help/tbb_userguide/concurrent_hash_map.htm     |  112 ++
 doc/help/tbb_userguide/concurrent_vector.htm       |  127 ++
 doc/help/tbb_userguide/parallel_for.htm            |  207 +++
 doc/help/tbb_userguide/parallel_reduce.htm         |  230 +++
 doc/help/tbb_userguide/title.htm                   |   92 +
 doc/help/tree.css                                  |  106 ++
 doc/help/tree.js                                   |  394 +++++
 doc/help/treenodedot.gif                           |  Bin 0 -> 829 bytes
 doc/help/treenodeminus.gif                         |  Bin 0 -> 56 bytes
 doc/help/treenodeplus.gif                          |  Bin 0 -> 59 bytes
 doc/html/a00001.html                               |   59 +
 doc/html/a00002.html                               |   62 +
 doc/html/a00003.html                               |   55 +
 doc/html/a00004.html                               |   57 +
 doc/html/a00005.html                               |   64 +-
 doc/html/a00006.html                               |   80 +-
 doc/html/a00007.html                               |   71 +-
 doc/html/a00008.html                               |   77 +-
 doc/html/a00009.html                               |   76 +-
 doc/html/a00010.html                               |  173 +-
 doc/html/a00010.png                                |  Bin 0 -> 1881 bytes
 doc/html/a00011.html                               |  150 +-
 doc/html/a00011.png                                |  Bin 0 -> 1067 bytes
 doc/html/a00012.html                               |  178 +-
 doc/html/a00012.png                                |  Bin 0 -> 843 bytes
 doc/html/a00013.html                               |  161 +-
 doc/html/a00013.png                                |  Bin 0 -> 1567 bytes
 doc/html/a00014.html                               |   82 +
 doc/html/a00015.html                               |  110 +-
 doc/html/a00015.png                                |  Bin 0 -> 595 bytes
 doc/html/a00016.html                               |   90 +
 doc/html/a00016.png                                |  Bin 0 -> 688 bytes
 doc/html/a00017.html                               |  107 +-
 doc/html/a00017.png                                |  Bin 0 -> 490 bytes
 doc/html/a00018.html                               |   84 +-
 doc/html/a00019.html                               |  165 +-
 doc/html/a00019.png                                |  Bin 0 -> 2213 bytes
 doc/html/a00020.html                               |   98 ++
 doc/html/a00020.png                                |  Bin 0 -> 1561 bytes
 doc/html/a00021.html                               |  295 +++-
 doc/html/a00022.html                               |  137 +-
 doc/html/a00023.html                               |  142 +-
 doc/html/a00024.html                               |   56 +
 doc/html/a00025.html                               |  220 +++
 doc/html/a00025.png                                |  Bin 0 -> 1875 bytes
 doc/html/a00026.html                               |   96 ++
 doc/html/a00026.png                                |  Bin 0 -> 1110 bytes
 doc/html/a00027.html                               |  502 ++++++
 doc/html/a00027.png                                |  Bin 0 -> 5177 bytes
 doc/html/a00028.html                               |   93 +
 doc/html/a00028.png                                |  Bin 0 -> 1158 bytes
 doc/html/a00029.html                               |  144 ++
 doc/html/a00030.html                               |   88 +
 doc/html/a00031.html                               |  253 ++-
 doc/html/a00031.png                                |  Bin 0 -> 835 bytes
 doc/html/a00032.html                               |  104 ++
 doc/html/a00033.html                               |   56 +
 doc/html/a00034.html                               |  365 ++++
 doc/html/a00034.png                                |  Bin 0 -> 1180 bytes
 doc/html/a00035.html                               |  824 ++++++++-
 doc/html/a00035.png                                |  Bin 0 -> 1052 bytes
 doc/html/a00036.html                               |  136 +-
 doc/html/a00036.png                                |  Bin 0 -> 1068 bytes
 doc/html/a00037.html                               |  433 +++++
 doc/html/a00038.html                               |  263 ++-
 doc/html/a00038.png                                |  Bin 0 -> 872 bytes
 doc/html/a00039.html                               |  304 ++++
 doc/html/a00039.png                                |  Bin 0 -> 1170 bytes
 doc/html/a00040.html                               |  180 ++
 doc/html/a00040.png                                |  Bin 0 -> 2163 bytes
 doc/html/a00041.html                               |  107 ++
 doc/html/a00042.html                               |  171 ++
 doc/html/a00042.png                                |  Bin 0 -> 2174 bytes
 doc/html/a00043.html                               |  196 +++
 doc/html/a00043.png                                |  Bin 0 -> 2109 bytes
 doc/html/a00044.html                               |  171 ++
 doc/html/a00044.png                                |  Bin 0 -> 2095 bytes
 doc/html/a00045.html                               |  103 ++
 doc/html/a00046.html                               |  808 +++++++--
 doc/html/a00046.png                                |  Bin 0 -> 1057 bytes
 doc/html/a00047.html                               |  142 ++
 doc/html/a00047.png                                |  Bin 0 -> 1888 bytes
 doc/html/a00048.html                               |   63 +
 doc/html/a00049.html                               |  169 ++
 doc/html/a00049.png                                |  Bin 0 -> 2359 bytes
 doc/html/a00050.html                               |  241 +++
 doc/html/a00050.png                                |  Bin 0 -> 1010 bytes
 doc/html/a00051.html                               |  152 +-
 doc/html/a00051.png                                |  Bin 0 -> 621 bytes
 doc/html/a00052.html                               |  239 +++
 doc/html/a00052.png                                |  Bin 0 -> 1259 bytes
 doc/html/a00053.html                               |  146 ++
 doc/html/a00053.png                                |  Bin 0 -> 757 bytes
 doc/html/a00054.html                               |  102 ++
 doc/html/a00055.html                               |   98 +-
 doc/html/a00056.html                               |  109 +-
 doc/html/a00056.png                                |  Bin 0 -> 574 bytes
 doc/html/a00057.html                               |  166 +-
 doc/html/a00058.html                               |   81 +
 doc/html/a00059.html                               |  203 ++-
 doc/html/a00059.png                                |  Bin 0 -> 3107 bytes
 doc/html/a00060.html                               |  170 ++
 doc/html/a00060.png                                |  Bin 0 -> 2976 bytes
 doc/html/a00061.html                               |  346 ++++
 doc/html/a00061.png                                |  Bin 0 -> 596 bytes
 doc/html/a00062.html                               |  155 +-
 doc/html/a00063.html                               |  163 +-
 doc/html/a00063.png                                |  Bin 0 -> 10743 bytes
 doc/html/a00064.html                               |  127 +-
 doc/html/a00065.html                               |  116 +-
 doc/html/a00065.png                                |  Bin 0 -> 495 bytes
 doc/html/a00066.html                               |  135 +-
 doc/html/a00067.html                               |   81 +
 doc/html/a00067.png                                |  Bin 0 -> 638 bytes
 doc/html/a00068.html                               |   85 +-
 doc/html/a00069.html                               |   91 +
 doc/html/a00069.png                                |  Bin 0 -> 1710 bytes
 doc/html/a00070.html                               |  126 +-
 doc/html/a00070.png                                |  Bin 0 -> 1729 bytes
 doc/html/a00071.html                               |  124 ++
 doc/html/a00071.png                                |  Bin 0 -> 1762 bytes
 doc/html/a00072.html                               |  269 +++
 doc/html/a00072.png                                |  Bin 0 -> 1877 bytes
 doc/html/a00073.html                               |  136 +-
 doc/html/a00073.png                                |  Bin 0 -> 671 bytes
 doc/html/a00074.html                               |  258 ++-
 doc/html/a00075.html                               |  128 ++
 doc/html/a00076.html                               |  183 +-
 doc/html/a00077.html                               |  169 +-
 doc/html/a00077.png                                |  Bin 0 -> 489 bytes
 doc/html/a00078.html                               |  317 ++--
 doc/html/a00078.png                                |  Bin 0 -> 960 bytes
 doc/html/a00079.html                               |  182 +-
 doc/html/a00079.png                                |  Bin 0 -> 3959 bytes
 doc/html/a00080.html                               |  127 ++
 doc/html/a00080.png                                |  Bin 0 -> 3910 bytes
 doc/html/a00081.html                               |  167 ++
 doc/html/a00082.html                               |   90 +
 doc/html/a00082.png                                |  Bin 0 -> 1052 bytes
 doc/html/a00083.html                               |   87 +
 doc/html/a00084.html                               |  124 +-
 doc/html/a00085.html                               |   94 ++
 doc/html/a00085.png                                |  Bin 0 -> 877 bytes
 doc/html/a00086.html                               |  257 ++-
 doc/html/a00086.png                                |  Bin 0 -> 2529 bytes
 doc/html/a00087.html                               |   99 ++
 doc/html/a00087.png                                |  Bin 0 -> 625 bytes
 doc/html/a00088.html                               |  183 +-
 doc/html/a00088.png                                |  Bin 0 -> 612 bytes
 doc/html/a00089.html                               |  139 ++
 doc/html/a00090.html                               |  106 +-
 doc/html/a00091.html                               |  342 +++-
 doc/html/a00091.png                                |  Bin 0 -> 4028 bytes
 doc/html/a00092.html                               |  333 +++-
 doc/html/a00092.png                                |  Bin 0 -> 4341 bytes
 doc/html/a00093.html                               |  119 +-
 doc/html/a00094.html                               |  122 +-
 doc/html/a00095.html                               |  255 ++-
 doc/html/a00095.png                                |  Bin 0 -> 657 bytes
 doc/html/a00096.html                               |   85 +-
 doc/html/a00097.html                               |   66 +
 doc/html/a00098.html                               |   83 +-
 doc/html/a00099.html                               |   83 +-
 doc/html/a00100.html                               |   88 +-
 doc/html/a00101.html                               |   85 +-
 doc/html/a00102.html                               |   88 +-
 doc/html/a00103.html                               |   88 +-
 doc/html/a00104.html                               |   67 +
 doc/html/a00105.html                               |   87 +-
 doc/html/a00106.html                               |  179 +-
 doc/html/a00106.png                                |  Bin 0 -> 4592 bytes
 doc/html/a00107.html                               |  192 ++-
 doc/html/a00108.html                               |   99 +-
 doc/html/a00109.html                               |   84 +-
 doc/html/a00110.html                               |  339 +++-
 doc/html/a00110.png                                |  Bin 0 -> 616 bytes
 doc/html/a00111.html                               |  171 +-
 doc/html/a00112.html                               |  109 +-
 doc/html/a00113.html                               |  158 +-
 doc/html/a00113.png                                |  Bin 0 -> 594 bytes
 doc/html/a00114.html                               |  233 ++-
 doc/html/a00114.png                                |  Bin 0 -> 655 bytes
 doc/html/a00115.html                               |  106 +-
 doc/html/a00116.html                               |  140 +-
 doc/html/a00116.png                                |  Bin 0 -> 542 bytes
 doc/html/a00117.html                               |  109 +-
 doc/html/a00118.html                               |  121 +-
 doc/html/a00118.png                                |  Bin 0 -> 798 bytes
 doc/html/a00119.html                               |  183 +-
 doc/html/a00119.png                                |  Bin 0 -> 651 bytes
 doc/html/a00120.html                               |  133 +-
 doc/html/a00120.png                                |  Bin 0 -> 645 bytes
 doc/html/a00121.html                               |  161 +-
 doc/html/a00121.png                                |  Bin 0 -> 622 bytes
 doc/html/a00122.html                               |   74 +
 doc/html/a00122.png                                |  Bin 0 -> 743 bytes
 doc/html/a00123.html                               |  131 +-
 doc/html/a00123.png                                |  Bin 0 -> 839 bytes
 doc/html/a00124.html                               |  125 ++
 doc/html/a00124.png                                |  Bin 0 -> 4584 bytes
 doc/html/a00125.html                               |  328 +++-
 doc/html/a00125.png                                |  Bin 0 -> 4337 bytes
 doc/html/a00126.html                               |  214 +++
 doc/html/a00126.png                                |  Bin 0 -> 1770 bytes
 doc/html/a00127.html                               |  199 ++-
 doc/html/a00128.html                               |  251 ++-
 doc/html/a00129.html                               |   90 +-
 doc/html/a00130.html                               |  175 +-
 doc/html/a00130.png                                |  Bin 0 -> 5227 bytes
 doc/html/a00131.html                               |   56 +
 doc/html/a00132.html                               |   82 +-
 doc/html/a00133.html                               |  118 ++
 doc/html/a00133.png                                |  Bin 0 -> 961 bytes
 doc/html/a00134.html                               |   56 +
 doc/html/a00135.html                               |  459 ++++-
 doc/html/a00135.png                                |  Bin 0 -> 656 bytes
 doc/html/a00136.html                               |  205 ++-
 doc/html/a00136.png                                |  Bin 0 -> 891 bytes
 doc/html/a00137.html                               |  138 +-
 doc/html/a00137.png                                |  Bin 0 -> 1324 bytes
 doc/html/a00138.html                               |   91 +-
 doc/html/a00139.html                               |   91 +
 doc/html/a00139.png                                |  Bin 0 -> 538 bytes
 doc/html/a00140.html                               |   74 +
 doc/html/a00140.png                                |  Bin 0 -> 620 bytes
 doc/html/a00141.html                               |  215 +++
 doc/html/a00141.png                                |  Bin 0 -> 565 bytes
 doc/html/a00142.html                               |  206 +++
 doc/html/a00142.png                                |  Bin 0 -> 906 bytes
 doc/html/a00143.html                               |  185 ++
 doc/html/a00143.png                                |  Bin 0 -> 906 bytes
 doc/html/a00144.html                               |  157 ++
 doc/html/a00145.html                               |  112 +-
 doc/html/a00146.html                               |  226 +++
 doc/html/a00146.png                                |  Bin 0 -> 1423 bytes
 doc/html/a00147.html                               |  117 ++
 doc/html/a00148.html                               |  114 +-
 doc/html/a00149.html                               |  173 ++
 doc/html/a00150.html                               |  179 +-
 doc/html/a00150.png                                |  Bin 0 -> 757 bytes
 doc/html/a00151.html                               |   96 ++
 doc/html/a00151.png                                |  Bin 0 -> 794 bytes
 doc/html/a00152.html                               |  138 +-
 doc/html/a00152.png                                |  Bin 0 -> 815 bytes
 doc/html/a00153.html                               |  103 ++
 doc/html/a00153.png                                |  Bin 0 -> 857 bytes
 doc/html/a00154.html                               |  100 +-
 doc/html/a00154.png                                |  Bin 0 -> 1409 bytes
 doc/html/a00155.html                               |  101 ++
 doc/html/a00156.html                               |   99 +-
 doc/html/a00156.png                                |  Bin 0 -> 468 bytes
 doc/html/a00157.html                               |  108 +-
 doc/html/a00157.png                                |  Bin 0 -> 1711 bytes
 doc/html/a00158.html                               |   73 +-
 doc/html/a00159.html                               |  260 ++-
 doc/html/a00159.png                                |  Bin 0 -> 2522 bytes
 doc/html/a00160.html                               |  150 +-
 doc/html/a00160.png                                |  Bin 0 -> 638 bytes
 doc/html/a00161.html                               |  125 +-
 doc/html/a00161.png                                |  Bin 0 -> 679 bytes
 doc/html/a00162.html                               |   45 -
 doc/html/a00163.html                               |   46 -
 doc/html/a00164.html                               |   37 -
 doc/html/a00169.html                               |   37 -
 doc/html/a00173.html                               |   34 -
 doc/html/a00174.html                               |   34 -
 doc/html/a00179.html                               |  207 +++
 doc/html/a00180.html                               |   99 ++
 doc/html/a00183.html                               |   33 -
 doc/html/a00188.html                               |   36 -
 doc/html/a00189.html                               |   41 -
 doc/html/a00199.html                               |  191 +++
 doc/html/a00219.html                               |  115 ++
 doc/html/a00222.html                               |  641 +++++++
 doc/html/a00234.html                               | 1779 ++++++++++++++++++++
 doc/html/a00235.html                               |   67 +
 doc/html/a00236.html                               |  382 +++++
 doc/html/a00237.html                               |  125 ++
 doc/html/a00238.html                               |   52 +
 doc/html/a00239.html                               |   52 +
 doc/html/a00240.html                               |   46 +
 doc/html/a00242.html                               |   53 +
 doc/html/a00243.html                               |   65 +
 doc/html/a00244.html                               |   58 +
 doc/html/a00245.html                               |   60 +
 doc/html/a00246.html                               |   60 +
 doc/html/a00247.html                               |   69 +
 doc/html/a00248.html                               |   65 +
 doc/html/a00249.html                               |   67 +
 doc/html/a00250.html                               |   74 +
 doc/html/a00251.html                               |   57 +
 doc/html/a00252.html                               |   59 +
 doc/html/a00253.html                               |   57 +
 doc/html/a00254.html                               |   66 +
 doc/html/a00255.html                               |   58 +
 doc/html/a00256.html                               |   84 +
 doc/html/a00257.html                               |  129 ++
 doc/html/a00258.html                               |   73 +
 doc/html/a00259.html                               |   63 +
 doc/html/a00260.html                               |   60 +
 doc/html/a00261.html                               |  106 +-
 doc/html/a00261.png                                |  Bin 674 -> 0 bytes
 doc/html/a00262.html                               |   98 +-
 doc/html/a00262.png                                |  Bin 671 -> 0 bytes
 doc/html/a00263.html                               |  123 +-
 doc/html/a00263.png                                |  Bin 792 -> 0 bytes
 doc/html/a00264.html                               |  149 +-
 doc/html/a00264.png                                |  Bin 787 -> 0 bytes
 doc/html/a00265.html                               |  100 +-
 doc/html/a00266.html                               |  101 +-
 doc/html/a00267.html                               |  100 +-
 doc/html/a00268.html                               |  103 +-
 doc/html/a00269.html                               |  112 +-
 doc/html/a00270.html                               |   98 +-
 doc/html/a00271.html                               |  267 +--
 doc/html/a00272.html                               |  130 +-
 doc/html/a00273.html                               |  137 +-
 doc/html/a00274.html                               |  154 +-
 doc/html/a00274.png                                |  Bin 1270 -> 0 bytes
 doc/html/a00275.html                               |  456 +----
 doc/html/a00275.png                                |  Bin 2898 -> 0 bytes
 doc/html/a00276.html                               |  156 +-
 doc/html/a00277.html                               |  119 +-
 doc/html/a00278.html                               |  194 +--
 doc/html/a00278.png                                |  Bin 472 -> 0 bytes
 doc/html/a00279.html                               |  125 +-
 doc/html/a00280.html                               |  349 +---
 doc/html/a00280.png                                |  Bin 731 -> 0 bytes
 doc/html/a00281.html                               |  701 +-------
 doc/html/a00282.html                               |  111 +-
 doc/html/a00282.png                                |  Bin 1371 -> 0 bytes
 doc/html/a00283.html                               |  118 +-
 doc/html/a00284.html                               |  151 +-
 doc/html/a00284.png                                |  Bin 1376 -> 0 bytes
 doc/html/a00285.html                               |  408 +----
 doc/html/a00286.html                               |  222 +--
 doc/html/a00287.html                               |  202 +--
 doc/html/a00287.png                                |  Bin 720 -> 0 bytes
 doc/html/a00288.html                               |  657 +-------
 doc/html/a00289.html                               |  106 +-
 doc/html/a00290.html                               |  147 +-
 doc/html/a00290.png                                |  Bin 777 -> 0 bytes
 doc/html/a00291.html                               |  209 +--
 doc/html/a00291.png                                |  Bin 668 -> 0 bytes
 doc/html/a00292.html                               |   93 +-
 doc/html/a00292.png                                |  Bin 387 -> 0 bytes
 doc/html/a00293.html                               |  247 +--
 doc/html/a00294.html                               |  275 +--
 doc/html/a00294.png                                |  Bin 433 -> 0 bytes
 doc/html/a00295.html                               |  118 +-
 doc/html/a00296.html                               |   90 +-
 doc/html/a00297.html                               |   92 +-
 doc/html/a00298.html                               |  143 +-
 doc/html/a00298.png                                |  Bin 942 -> 0 bytes
 doc/html/a00299.html                               |  147 +-
 doc/html/a00299.png                                |  Bin 1016 -> 0 bytes
 doc/html/a00300.html                               |  318 +---
 doc/html/a00301.html                               |  121 +-
 doc/html/a00301.png                                |  Bin 5357 -> 0 bytes
 doc/html/a00302.html                               |   93 +-
 doc/html/a00303.html                               |   99 +-
 doc/html/a00304.html                               |  210 +--
 doc/html/a00304.png                                |  Bin 1209 -> 0 bytes
 doc/html/a00305.html                               |   93 +-
 doc/html/a00306.html                               |   98 +-
 doc/html/a00307.html                               |  131 +-
 doc/html/a00308.html                               |  179 +-
 doc/html/a00309.html                               |  145 +-
 doc/html/a00310.html                               |  119 +-
 doc/html/a00311.html                               |  229 +--
 doc/html/a00311.png                                |  Bin 604 -> 0 bytes
 doc/html/a00312.html                               |  128 +-
 doc/html/a00312.png                                |  Bin 982 -> 0 bytes
 doc/html/a00313.html                               |  195 +--
 doc/html/a00314.html                               |  122 +-
 doc/html/a00315.html                               |  123 +-
 doc/html/a00316.html                               |  114 +-
 doc/html/a00317.html                               |  121 +-
 doc/html/a00318.html                               |  112 +-
 doc/html/a00319.html                               |  113 +-
 doc/html/a00320.html                               |  188 +--
 doc/html/a00321.html                               |  118 +-
 doc/html/a00322.html                               |  182 +-
 doc/html/a00323.html                               |  128 +-
 doc/html/a00324.html                               |  207 +--
 doc/html/a00324.png                                |  Bin 2103 -> 0 bytes
 doc/html/a00325.html                               |  223 ++-
 doc/html/a00325.png                                |  Bin 2251 -> 0 bytes
 doc/html/a00326.html                               |  113 +-
 doc/html/a00327.html                               |  190 ++-
 doc/html/a00328.html                               |  178 +-
 doc/html/a00329.html                               |  221 ++-
 doc/html/a00330.html                               |  264 +--
 doc/html/a00331.html                               |  108 +-
 doc/html/a00332.html                               |  114 +-
 doc/html/a00333.html                               |  157 +-
 doc/html/a00333.png                                |  Bin 3242 -> 0 bytes
 doc/html/a00334.html                               |  217 +--
 doc/html/a00335.html                               |  123 +-
 doc/html/a00336.html                               |  367 +---
 doc/html/a00337.html                               |  160 +-
 doc/html/a00338.html                               |  106 +-
 doc/html/a00339.html                               |  152 +-
 doc/html/a00339.png                                |  Bin 2681 -> 0 bytes
 doc/html/a00340.html                               |  157 +-
 doc/html/a00340.png                                |  Bin 2045 -> 0 bytes
 doc/html/a00341.html                               |  107 +-
 doc/html/a00342.html                               |  214 +--
 doc/html/a00342.png                                |  Bin 1084 -> 0 bytes
 doc/html/a00343.html                               |  197 +--
 doc/html/a00344.html                               |  141 +-
 doc/html/a00345.html                               |  198 +--
 doc/html/a00346.html                               |  220 +--
 doc/html/a00347.html                               |  103 +-
 doc/html/a00348.html                               |  116 +-
 doc/html/a00348.png                                |  Bin 3149 -> 0 bytes
 doc/html/a00349.html                               |  699 +-------
 doc/html/a00349.png                                |  Bin 393 -> 0 bytes
 doc/html/a00350.html                               |  349 +---
 doc/html/a00351.html                               |   89 +-
 doc/html/a00352.html                               |   61 +
 doc/html/a00353.html                               |   85 +-
 doc/html/a00354.html                               |  153 +-
 doc/html/a00355.html                               |  236 +--
 doc/html/a00356.html                               |  183 +-
 doc/html/a00357.html                               |  102 +-
 doc/html/a00358.html                               |  213 +--
 doc/html/a00358.png                                |  Bin 894 -> 0 bytes
 doc/html/a00359.html                               |  124 +-
 doc/html/a00360.html                               |   94 +-
 doc/html/a00361.html                               |  161 +-
 doc/html/a00361.png                                |  Bin 426 -> 0 bytes
 doc/html/a00362.html                               |  110 +-
 doc/html/a00363.html                               |  128 +-
 doc/html/a00364.html                               |  102 +-
 doc/html/a00365.html                               |  104 +-
 doc/html/a00366.html                               |  140 +-
 doc/html/a00367.html                               |  115 +-
 doc/html/a00368.html                               |   58 +
 doc/html/a00369.html                               |   70 +
 doc/html/a00370.html                               |   65 +
 doc/html/a00371.html                               |   58 +
 doc/html/a00372.html                               |   57 +
 doc/html/a00373.html                               |   67 +
 doc/html/a00374.html                               |   65 +
 doc/html/a00375.html                               |   61 +
 doc/html/a00376.html                               |   57 +
 doc/html/a00377.html                               |   58 +
 doc/html/a00378.html                               |   61 +
 doc/html/a00379.html                               |   62 +
 doc/html/a00380.html                               |   63 +
 doc/html/a00381.html                               |   73 +
 doc/html/a00382.html                               |   66 +
 doc/html/a00383.html                               |   79 +
 doc/html/a00385.html                               |  159 --
 doc/html/a00386.html                               |   64 -
 doc/html/a00405.html                               |  143 --
 doc/html/a00425.html                               |   87 -
 doc/html/a00428.html                               |  680 --------
 doc/html/a00441.html                               |  369 ----
 doc/html/a00442.html                               |   50 -
 doc/html/a00443.html                               |  381 -----
 doc/html/a00444.html                               |   82 -
 doc/html/a00445.html                               |   32 -
 doc/html/a00446.html                               |   44 -
 doc/html/annotated.html                            |  338 ++--
 doc/html/bc_s.png                                  |  Bin 0 -> 676 bytes
 doc/html/bdwn.png                                  |  Bin 0 -> 147 bytes
 doc/html/classes.html                              |  117 ++
 doc/html/closed.png                                |  Bin 0 -> 132 bytes
 doc/html/concepts.html                             |   31 -
 doc/html/deprecated.html                           |   29 -
 doc/html/dir_525f2cc589630bacbdc3bb450847427e.html |   52 +
 doc/html/dir_63fb2cc293d133785b96e521fa051167.html |   52 +
 doc/html/dir_87119f26c7695cbc270003e99bc7f49f.html |  161 ++
 doc/html/dir_b9976680b2be72d2d0b8fca1c31202a2.html |   52 +
 doc/html/doxygen.css                               | 1430 ++++++++++++----
 doc/html/doxygen.png                               |  Bin 1281 -> 3779 bytes
 doc/html/dynsections.js                            |   97 ++
 doc/html/files.html                                |   72 +-
 doc/html/ftv2blank.png                             |  Bin 0 -> 86 bytes
 doc/html/ftv2cl.png                                |  Bin 0 -> 453 bytes
 doc/html/ftv2doc.png                               |  Bin 0 -> 746 bytes
 doc/html/ftv2folderclosed.png                      |  Bin 0 -> 616 bytes
 doc/html/ftv2folderopen.png                        |  Bin 0 -> 597 bytes
 doc/html/ftv2lastnode.png                          |  Bin 0 -> 86 bytes
 doc/html/ftv2link.png                              |  Bin 0 -> 746 bytes
 doc/html/ftv2mlastnode.png                         |  Bin 0 -> 246 bytes
 doc/html/ftv2mnode.png                             |  Bin 0 -> 246 bytes
 doc/html/ftv2mo.png                                |  Bin 0 -> 403 bytes
 doc/html/ftv2node.png                              |  Bin 0 -> 86 bytes
 doc/html/ftv2ns.png                                |  Bin 0 -> 388 bytes
 doc/html/ftv2plastnode.png                         |  Bin 0 -> 229 bytes
 doc/html/ftv2pnode.png                             |  Bin 0 -> 229 bytes
 doc/html/ftv2splitbar.png                          |  Bin 0 -> 314 bytes
 doc/html/ftv2vertline.png                          |  Bin 0 -> 86 bytes
 doc/html/functions.html                            |  188 ++-
 doc/html/functions_0x61.html                       |   90 -
 doc/html/functions_0x62.html                       |  166 +-
 doc/html/functions_0x63.html                       |  256 ++-
 doc/html/functions_0x64.html                       |  189 ++-
 doc/html/functions_0x65.html                       |  237 ++-
 doc/html/functions_0x66.html                       |  182 +-
 doc/html/functions_0x67.html                       |  168 +-
 doc/html/functions_0x68.html                       |   90 +
 doc/html/functions_0x69.html                       |  225 ++-
 doc/html/functions_0x6a.html                       |   90 +
 doc/html/functions_0x6c.html                       |  169 +-
 doc/html/functions_0x6d.html                       |  175 +-
 doc/html/functions_0x6e.html                       |  155 +-
 doc/html/functions_0x6f.html                       |  224 ++-
 doc/html/functions_0x70.html                       |  198 ++-
 doc/html/functions_0x71.html                       |  151 +-
 doc/html/functions_0x72.html                       |  264 +--
 doc/html/functions_0x73.html                       |  243 ++-
 doc/html/functions_0x74.html                       |  248 ++-
 doc/html/functions_0x75.html                       |  156 +-
 doc/html/functions_0x76.html                       |  148 +-
 doc/html/functions_0x77.html                       |  153 +-
 doc/html/functions_0x7e.html                       |  248 ++-
 doc/html/functions_enum.html                       |  101 +-
 doc/html/functions_eval.html                       |  128 +-
 doc/html/functions_func.html                       |  187 +-
 doc/html/functions_func_0x62.html                  |  163 +-
 doc/html/functions_func_0x63.html                  |  243 ++-
 doc/html/functions_func_0x64.html                  |  172 +-
 doc/html/functions_func_0x65.html                  |  184 +-
 doc/html/functions_func_0x66.html                  |  163 +-
 doc/html/functions_func_0x67.html                  |  165 +-
 doc/html/functions_func_0x68.html                  |   89 +
 doc/html/functions_func_0x69.html                  |  216 ++-
 doc/html/functions_func_0x6a.html                  |   89 +
 doc/html/functions_func_0x6c.html                  |  165 +-
 doc/html/functions_func_0x6d.html                  |  159 +-
 doc/html/functions_func_0x6e.html                  |  147 +-
 doc/html/functions_func_0x6f.html                  |  206 ++-
 doc/html/functions_func_0x70.html                  |  186 +-
 doc/html/functions_func_0x71.html                  |  148 +-
 doc/html/functions_func_0x72.html                  |  245 ++-
 doc/html/functions_func_0x73.html                  |  219 ++-
 doc/html/functions_func_0x74.html                  |  242 ++-
 doc/html/functions_func_0x75.html                  |  153 +-
 doc/html/functions_func_0x77.html                  |  150 +-
 doc/html/functions_func_0x7e.html                  |  245 ++-
 doc/html/functions_rela.html                       |  105 +-
 doc/html/functions_type.html                       |  218 ++-
 doc/html/functions_vars.html                       |  134 +-
 doc/html/globals.html                              |  118 +-
 doc/html/globals_func.html                         |  118 +-
 doc/html/hierarchy.html                            |  445 +++--
 doc/html/index.html                                |   67 +-
 doc/html/jquery.js                                 |   31 +
 doc/html/modules.html                              |   69 +-
 doc/html/namespacemembers.html                     |  199 ++-
 doc/html/namespacemembers_enum.html                |   88 +-
 doc/html/namespacemembers_eval.html                |   96 +-
 doc/html/namespacemembers_func.html                |  138 +-
 doc/html/namespacemembers_type.html                |   87 +-
 doc/html/namespaces.html                           |   70 +-
 doc/html/nav_f.png                                 |  Bin 0 -> 153 bytes
 doc/html/nav_g.png                                 |  Bin 0 -> 95 bytes
 doc/html/nav_h.png                                 |  Bin 0 -> 98 bytes
 doc/html/open.png                                  |  Bin 0 -> 123 bytes
 doc/html/pages.html                                |   63 +-
 doc/html/parallel_do_body_req.html                 |   38 -
 doc/html/parallel_for_body_req.html                |   30 -
 doc/html/parallel_reduce_body_req.html             |   31 -
 doc/html/parallel_reduce_lambda_req.html           |   25 -
 doc/html/parallel_scan_body_req.html               |   32 -
 doc/html/parallel_sort_iter_req.html               |   29 -
 doc/html/range_req.html                            |   32 -
 doc/html/sync_off.png                              |  Bin 0 -> 853 bytes
 doc/html/sync_on.png                               |  Bin 0 -> 845 bytes
 doc/html/tab_a.png                                 |  Bin 0 -> 142 bytes
 doc/html/tab_b.gif                                 |  Bin 35 -> 0 bytes
 doc/html/tab_b.png                                 |  Bin 0 -> 169 bytes
 doc/html/tab_h.png                                 |  Bin 0 -> 177 bytes
 doc/html/tab_l.gif                                 |  Bin 706 -> 0 bytes
 doc/html/tab_r.gif                                 |  Bin 2585 -> 0 bytes
 doc/html/tab_s.png                                 |  Bin 0 -> 184 bytes
 doc/html/tabs.css                                  |  130 +-
 examples/GettingStarted/index.html                 |    2 +-
 examples/GettingStarted/sub_string_finder/Makefile |    4 +-
 .../sub_string_finder/Makefile.windows             |    2 +-
 .../GettingStarted/sub_string_finder/index.html    |    2 +-
 .../sub_string_finder/sub_string_finder.cpp        |    2 +-
 .../sub_string_finder_extended.cpp                 |    2 +-
 .../sub_string_finder/sub_string_finder_pretty.cpp |    2 +-
 examples/Makefile                                  |   12 +-
 examples/common/copy_libraries.bat                 |    3 +-
 examples/common/gui/Makefile.gmake                 |    2 +-
 examples/common/gui/Makefile.win                   |    2 +-
 examples/common/gui/convideo.cpp                   |    2 +-
 examples/common/gui/d2dvideo.cpp                   |    2 +-
 examples/common/gui/ddvideo.cpp                    |    2 +-
 examples/common/gui/dxcheck.bat                    |    2 +-
 examples/common/gui/gdivideo.cpp                   |    2 +-
 examples/common/gui/macvideo.cpp                   |    2 +-
 examples/common/gui/video.h                        |    2 +-
 examples/common/gui/winvideo.h                     |    2 +-
 examples/common/gui/xcode/tbbExample/Info.plist    |    2 +-
 examples/common/gui/xcode/tbbExample/OpenGLView.h  |    2 +-
 examples/common/gui/xcode/tbbExample/OpenGLView.m  |    2 +-
 examples/common/gui/xcode/tbbExample/main.m        |    2 +-
 .../common/gui/xcode/tbbExample/tbbAppDelegate.h   |    2 +-
 .../common/gui/xcode/tbbExample/tbbAppDelegate.m   |    2 +-
 .../gui/xcode/tbbExample/tbbExample-Info.plist     |    2 +-
 .../gui/xcode/tbbExample/tbbExample-Prefix.pch     |    2 +-
 examples/common/gui/xvideo.cpp                     |    8 +-
 examples/common/index.html                         |    2 +-
 examples/common/utility/fast_random.h              |    2 +-
 examples/common/utility/utility.h                  |    2 +-
 .../concurrent_hash_map/count_strings/Makefile     |    4 +-
 .../count_strings/Makefile.windows                 |    2 +-
 .../count_strings/count_strings.cpp                |    2 +-
 .../concurrent_hash_map/count_strings/index.html   |    2 +-
 examples/concurrent_hash_map/index.html            |    2 +-
 .../concurrent_priority_queue/shortpath/Makefile   |    6 +-
 .../shortpath/Makefile.windows                     |    2 +-
 .../concurrent_priority_queue/shortpath/index.html |    2 +-
 .../shortpath/shortpath.cpp                        |    2 +-
 examples/graph/binpack/Makefile                    |    4 +-
 examples/graph/binpack/Makefile.windows            |    2 +-
 examples/graph/binpack/binpack.cpp                 |    2 +-
 examples/graph/binpack/index.html                  |    2 +-
 examples/graph/dining_philosophers/Makefile        |    4 +-
 .../graph/dining_philosophers/Makefile.windows     |    2 +-
 .../dining_philosophers/dining_philosophers.cpp    |    2 +-
 examples/graph/dining_philosophers/index.html      |    2 +-
 examples/graph/index.html                          |    4 +-
 examples/graph/logic_sim/D_latch.h                 |    2 +-
 examples/graph/logic_sim/Makefile                  |    4 +-
 examples/graph/logic_sim/Makefile.windows          |    2 +-
 examples/graph/logic_sim/basics.h                  |    2 +-
 examples/graph/logic_sim/four_bit_adder.h          |    2 +-
 examples/graph/logic_sim/index.html                |    2 +-
 examples/graph/logic_sim/one_bit_adder.h           |    2 +-
 examples/graph/logic_sim/test_all.cpp              |    2 +-
 examples/graph/som/Makefile                        |   66 +
 examples/graph/som/Makefile.windows.windows        |   54 +
 examples/graph/som/index.html                      |   51 +
 examples/graph/som/msvs/som.icproj                 |   11 +
 examples/graph/som/msvs/som.vcproj                 |  361 ++++
 examples/graph/som/msvs/som_cl.sln                 |   22 +
 examples/graph/som/msvs/som_icl.sln                |   33 +
 examples/graph/som/som.cpp                         |  225 +++
 examples/graph/som/som.h                           |  169 ++
 examples/graph/som/som_graph.cpp                   |  431 +++++
 .../graph/som/xcode/som.xcodeproj/project.pbxproj  |  313 ++++
 examples/index.html                                |    2 +-
 examples/parallel_do/index.html                    |    2 +-
 examples/parallel_do/parallel_preorder/Graph.cpp   |    2 +-
 examples/parallel_do/parallel_preorder/Graph.h     |    2 +-
 examples/parallel_do/parallel_preorder/Makefile    |    4 +-
 .../parallel_do/parallel_preorder/Makefile.windows |    2 +-
 examples/parallel_do/parallel_preorder/Matrix.h    |    2 +-
 examples/parallel_do/parallel_preorder/index.html  |    2 +-
 examples/parallel_do/parallel_preorder/main.cpp    |    2 +-
 .../parallel_preorder/parallel_preorder.cpp        |    2 +-
 examples/parallel_for/game_of_life/Makefile        |    4 +-
 .../parallel_for/game_of_life/Makefile.windows     |    2 +-
 examples/parallel_for/game_of_life/index.html      |    2 +-
 .../parallel_for/game_of_life/src/AssemblyInfo.cpp |    2 +-
 examples/parallel_for/game_of_life/src/Board.h     |    2 +-
 .../parallel_for/game_of_life/src/Evolution.cpp    |    2 +-
 examples/parallel_for/game_of_life/src/Evolution.h |    2 +-
 examples/parallel_for/game_of_life/src/Form1.h     |    2 +-
 .../parallel_for/game_of_life/src/Game_of_life.cpp |    2 +-
 .../parallel_for/game_of_life/src/Update_state.cpp |    2 +-
 examples/parallel_for/index.html                   |    2 +-
 examples/parallel_for/polygon_overlay/Makefile     |   10 +-
 .../parallel_for/polygon_overlay/Makefile.windows  |    2 +-
 examples/parallel_for/polygon_overlay/index.html   |    2 +-
 examples/parallel_for/polygon_overlay/polymain.cpp |    2 +-
 examples/parallel_for/polygon_overlay/polymain.h   |    2 +-
 examples/parallel_for/polygon_overlay/polyover.cpp |    2 +-
 examples/parallel_for/polygon_overlay/polyover.h   |    2 +-
 .../parallel_for/polygon_overlay/pover_global.h    |    2 +-
 .../parallel_for/polygon_overlay/pover_video.cpp   |    2 +-
 .../parallel_for/polygon_overlay/pover_video.h     |    2 +-
 examples/parallel_for/polygon_overlay/rpolygon.h   |    2 +-
 examples/parallel_for/seismic/Makefile             |   10 +-
 examples/parallel_for/seismic/Makefile.windows     |    2 +-
 examples/parallel_for/seismic/index.html           |    2 +-
 examples/parallel_for/seismic/main.cpp             |    2 +-
 examples/parallel_for/seismic/seismic_video.cpp    |    2 +-
 examples/parallel_for/seismic/seismic_video.h      |    2 +-
 examples/parallel_for/seismic/universe.cpp         |    2 +-
 examples/parallel_for/seismic/universe.h           |    2 +-
 examples/parallel_for/tachyon/Makefile             |   10 +-
 examples/parallel_for/tachyon/Makefile.windows     |    2 +-
 .../parallel_for/tachyon/android/jni/Android.mk    |    2 +-
 .../tachyon/android/jni/Application.mk             |    2 +-
 .../tachyon/android/jni/jni-engine.cpp             |    2 +-
 .../src/com/intel/tbb/example/tachyon/tachyon.java |    2 +-
 examples/parallel_for/tachyon/index.html           |    2 +-
 examples/parallel_for/tachyon/src/api.cpp          |    2 +-
 examples/parallel_for/tachyon/src/api.h            |    2 +-
 examples/parallel_for/tachyon/src/apigeom.cpp      |    2 +-
 examples/parallel_for/tachyon/src/apitrigeom.cpp   |    2 +-
 examples/parallel_for/tachyon/src/apitrigeom.h     |    2 +-
 examples/parallel_for/tachyon/src/bndbox.cpp       |    2 +-
 examples/parallel_for/tachyon/src/bndbox.h         |    2 +-
 examples/parallel_for/tachyon/src/box.cpp          |    2 +-
 examples/parallel_for/tachyon/src/box.h            |    2 +-
 examples/parallel_for/tachyon/src/camera.cpp       |    2 +-
 examples/parallel_for/tachyon/src/camera.h         |    2 +-
 examples/parallel_for/tachyon/src/coordsys.cpp     |    2 +-
 examples/parallel_for/tachyon/src/coordsys.h       |    2 +-
 examples/parallel_for/tachyon/src/cylinder.cpp     |    2 +-
 examples/parallel_for/tachyon/src/cylinder.h       |    2 +-
 examples/parallel_for/tachyon/src/extvol.cpp       |    2 +-
 examples/parallel_for/tachyon/src/extvol.h         |    2 +-
 examples/parallel_for/tachyon/src/global.cpp       |    2 +-
 examples/parallel_for/tachyon/src/global.h         |    2 +-
 examples/parallel_for/tachyon/src/grid.cpp         |    2 +-
 examples/parallel_for/tachyon/src/grid.h           |    2 +-
 examples/parallel_for/tachyon/src/imageio.cpp      |    2 +-
 examples/parallel_for/tachyon/src/imageio.h        |    2 +-
 examples/parallel_for/tachyon/src/imap.cpp         |    2 +-
 examples/parallel_for/tachyon/src/imap.h           |    2 +-
 examples/parallel_for/tachyon/src/intersect.cpp    |    2 +-
 examples/parallel_for/tachyon/src/intersect.h      |    2 +-
 examples/parallel_for/tachyon/src/jpeg.cpp         |    2 +-
 examples/parallel_for/tachyon/src/jpeg.h           |    2 +-
 examples/parallel_for/tachyon/src/light.cpp        |    2 +-
 examples/parallel_for/tachyon/src/light.h          |    2 +-
 examples/parallel_for/tachyon/src/machine.h        |    2 +-
 examples/parallel_for/tachyon/src/macros.h         |    2 +-
 examples/parallel_for/tachyon/src/main.cpp         |    2 +-
 examples/parallel_for/tachyon/src/objbound.cpp     |    2 +-
 examples/parallel_for/tachyon/src/objbound.h       |    2 +-
 examples/parallel_for/tachyon/src/parse.cpp        |    2 +-
 examples/parallel_for/tachyon/src/parse.h          |    2 +-
 examples/parallel_for/tachyon/src/plane.cpp        |    2 +-
 examples/parallel_for/tachyon/src/plane.h          |    2 +-
 examples/parallel_for/tachyon/src/ppm.cpp          |    2 +-
 examples/parallel_for/tachyon/src/ppm.h            |    2 +-
 examples/parallel_for/tachyon/src/pthread.cpp      |    2 +-
 examples/parallel_for/tachyon/src/pthread_w.h      |    2 +-
 examples/parallel_for/tachyon/src/quadric.cpp      |    2 +-
 examples/parallel_for/tachyon/src/quadric.h        |    2 +-
 examples/parallel_for/tachyon/src/render.cpp       |    2 +-
 examples/parallel_for/tachyon/src/render.h         |    2 +-
 examples/parallel_for/tachyon/src/ring.cpp         |    2 +-
 examples/parallel_for/tachyon/src/ring.h           |    2 +-
 examples/parallel_for/tachyon/src/shade.cpp        |    2 +-
 examples/parallel_for/tachyon/src/shade.h          |    2 +-
 examples/parallel_for/tachyon/src/sphere.cpp       |    2 +-
 examples/parallel_for/tachyon/src/sphere.h         |    2 +-
 .../parallel_for/tachyon/src/tachyon_video.cpp     |    2 +-
 examples/parallel_for/tachyon/src/tachyon_video.h  |    2 +-
 examples/parallel_for/tachyon/src/texture.cpp      |    2 +-
 examples/parallel_for/tachyon/src/texture.h        |    2 +-
 examples/parallel_for/tachyon/src/tgafile.cpp      |    2 +-
 examples/parallel_for/tachyon/src/tgafile.h        |    2 +-
 examples/parallel_for/tachyon/src/trace.h          |    2 +-
 examples/parallel_for/tachyon/src/trace.serial.cpp |    2 +-
 examples/parallel_for/tachyon/src/trace.tbb.cpp    |    2 +-
 examples/parallel_for/tachyon/src/trace.tbb1d.cpp  |    2 +-
 examples/parallel_for/tachyon/src/trace_rest.cpp   |    2 +-
 examples/parallel_for/tachyon/src/triangle.cpp     |    2 +-
 examples/parallel_for/tachyon/src/triangle.h       |    2 +-
 examples/parallel_for/tachyon/src/types.h          |    2 +-
 examples/parallel_for/tachyon/src/ui.cpp           |    2 +-
 examples/parallel_for/tachyon/src/ui.h             |    2 +-
 examples/parallel_for/tachyon/src/util.cpp         |    2 +-
 examples/parallel_for/tachyon/src/util.h           |    2 +-
 examples/parallel_for/tachyon/src/vector.cpp       |    2 +-
 examples/parallel_for/tachyon/src/vector.h         |    2 +-
 examples/parallel_for/tachyon/src/vol.cpp          |    2 +-
 examples/parallel_for/tachyon/src/vol.h            |    2 +-
 examples/parallel_reduce/convex_hull/Makefile      |    6 +-
 .../parallel_reduce/convex_hull/Makefile.windows   |    2 +-
 examples/parallel_reduce/convex_hull/convex_hull.h |    2 +-
 .../convex_hull/convex_hull_bench.cpp              |    2 +-
 .../convex_hull/convex_hull_sample.cpp             |    2 +-
 examples/parallel_reduce/convex_hull/index.html    |    2 +-
 examples/parallel_reduce/index.html                |    2 +-
 examples/parallel_reduce/primes/Makefile           |    3 +-
 examples/parallel_reduce/primes/Makefile.windows   |    2 +-
 examples/parallel_reduce/primes/index.html         |    2 +-
 examples/parallel_reduce/primes/main.cpp           |    2 +-
 examples/parallel_reduce/primes/primes.cpp         |    2 +-
 examples/parallel_reduce/primes/primes.h           |    2 +-
 examples/pipeline/index.html                       |    2 +-
 examples/pipeline/square/Makefile                  |    4 +-
 examples/pipeline/square/Makefile.windows          |    2 +-
 examples/pipeline/square/gen_input.cpp             |    2 +-
 examples/pipeline/square/index.html                |    2 +-
 examples/pipeline/square/square.cpp                |    2 +-
 examples/task/index.html                           |    2 +-
 examples/task/tree_sum/Makefile                    |    4 +-
 examples/task/tree_sum/Makefile.windows            |    2 +-
 .../task/tree_sum/OptimizedParallelSumTree.cpp     |    2 +-
 examples/task/tree_sum/SerialSumTree.cpp           |    2 +-
 examples/task/tree_sum/SimpleParallelSumTree.cpp   |    2 +-
 examples/task/tree_sum/TreeMaker.h                 |    2 +-
 examples/task/tree_sum/common.h                    |    2 +-
 examples/task/tree_sum/index.html                  |    2 +-
 examples/task/tree_sum/main.cpp                    |    2 +-
 examples/task_group/index.html                     |    2 +-
 examples/task_group/sudoku/Makefile                |    6 +-
 examples/task_group/sudoku/Makefile.windows        |    2 +-
 examples/task_group/sudoku/index.html              |    2 +-
 examples/task_group/sudoku/sudoku.cpp              |    2 +-
 examples/task_priority/fractal/Makefile            |   12 +-
 examples/task_priority/fractal/Makefile.windows    |    2 +-
 examples/task_priority/fractal/fractal.cpp         |    2 +-
 examples/task_priority/fractal/fractal.h           |    2 +-
 examples/task_priority/fractal/fractal_video.h     |    2 +-
 examples/task_priority/fractal/index.html          |    2 +-
 examples/task_priority/fractal/main.cpp            |    2 +-
 examples/task_priority/index.html                  |    2 +-
 examples/test_all/fibonacci/Fibonacci.cpp          |    2 +-
 examples/test_all/fibonacci/Makefile               |    2 +-
 examples/test_all/fibonacci/Makefile.windows       |    2 +-
 examples/test_all/fibonacci/index.html             |    2 +-
 examples/test_all/index.html                       |    2 +-
 include/index.html                                 |    2 +-
 include/serial/tbb/parallel_for.h                  |    4 +-
 include/serial/tbb/tbb_annotate.h                  |    2 +-
 include/tbb/aggregator.h                           |    2 +-
 include/tbb/aligned_space.h                        |    2 +-
 include/tbb/atomic.h                               |    2 +-
 include/tbb/blocked_range.h                        |    2 +-
 include/tbb/blocked_range2d.h                      |    2 +-
 include/tbb/blocked_range3d.h                      |    2 +-
 include/tbb/cache_aligned_allocator.h              |    8 +-
 include/tbb/combinable.h                           |    2 +-
 include/tbb/compat/condition_variable              |    2 +-
 include/tbb/compat/ppl.h                           |    2 +-
 include/tbb/compat/thread                          |    2 +-
 include/tbb/compat/tuple                           |    2 +-
 include/tbb/concurrent_hash_map.h                  |   24 +-
 include/tbb/concurrent_lru_cache.h                 |    2 +-
 include/tbb/concurrent_priority_queue.h            |    7 +-
 include/tbb/concurrent_queue.h                     |    2 +-
 include/tbb/concurrent_unordered_map.h             |    2 +-
 include/tbb/concurrent_unordered_set.h             |    2 +-
 include/tbb/concurrent_vector.h                    |    5 +-
 include/tbb/critical_section.h                     |    2 +-
 include/tbb/enumerable_thread_specific.h           |    2 +-
 include/tbb/flow_graph.h                           |  671 ++++++--
 include/tbb/index.html                             |    2 +-
 include/tbb/internal/_aggregator_impl.h            |    2 +-
 include/tbb/internal/_concurrent_queue_impl.h      |    2 +-
 include/tbb/internal/_concurrent_unordered_impl.h  |    2 +-
 include/tbb/internal/_flow_graph_impl.h            |   10 +-
 .../tbb/internal/_flow_graph_item_buffer_impl.h    |    2 +-
 include/tbb/internal/_flow_graph_join_impl.h       |  129 +-
 include/tbb/internal/_flow_graph_node_impl.h       |   85 +-
 include/tbb/internal/_flow_graph_or_impl.h         |    2 +-
 .../tbb/internal/_flow_graph_tagged_buffer_impl.h  |    2 +-
 include/tbb/internal/_flow_graph_trace_impl.h      |  213 +++
 include/tbb/internal/_flow_graph_types_impl.h      |    2 +-
 include/tbb/internal/_mutex_padding.h              |   38 +-
 include/tbb/internal/_tbb_strings.h                |   72 +
 include/tbb/internal/_tbb_windef.h                 |    2 +-
 include/tbb/internal/_x86_eliding_mutex_impl.h     |    6 +-
 include/tbb/internal/_x86_rtm_rw_mutex_impl.h      |  219 +++
 include/tbb/machine/gcc_armv7.h                    |    7 +-
 include/tbb/machine/gcc_generic.h                  |    2 +-
 include/tbb/machine/gcc_ia32_common.h              |    2 +-
 include/tbb/machine/gcc_itsx.h                     |   76 +-
 include/tbb/machine/ibm_aix51.h                    |    2 +-
 include/tbb/machine/icc_generic.h                  |    2 +-
 include/tbb/machine/linux_common.h                 |    2 +-
 include/tbb/machine/linux_ia32.h                   |   14 +-
 include/tbb/machine/linux_ia64.h                   |    2 +-
 include/tbb/machine/linux_intel64.h                |    2 +-
 include/tbb/machine/mac_ppc.h                      |    2 +-
 include/tbb/machine/macos_common.h                 |    2 +-
 include/tbb/machine/mic_common.h                   |    2 +-
 include/tbb/machine/msvc_armv7.h                   |    2 +-
 include/tbb/machine/msvc_ia32_common.h             |   25 +-
 include/tbb/machine/sunos_sparc.h                  |    2 +-
 include/tbb/machine/windows_api.h                  |    2 +-
 include/tbb/machine/windows_ia32.h                 |    2 +-
 include/tbb/machine/windows_intel64.h              |    2 +-
 include/tbb/machine/xbox360_ppc.h                  |    2 +-
 include/tbb/memory_pool.h                          |   14 +-
 include/tbb/mutex.h                                |    2 +-
 include/tbb/null_mutex.h                           |    2 +-
 include/tbb/null_rw_mutex.h                        |    2 +-
 include/tbb/parallel_do.h                          |    2 +-
 include/tbb/parallel_for.h                         |   72 +-
 include/tbb/parallel_for_each.h                    |    2 +-
 include/tbb/parallel_invoke.h                      |    2 +-
 include/tbb/parallel_reduce.h                      |   56 +-
 include/tbb/parallel_scan.h                        |    2 +-
 include/tbb/parallel_sort.h                        |    9 +-
 include/tbb/parallel_while.h                       |    2 +-
 include/tbb/partitioner.h                          |   74 +-
 include/tbb/pipeline.h                             |    2 +-
 include/tbb/queuing_mutex.h                        |    2 +-
 include/tbb/queuing_rw_mutex.h                     |    2 +-
 include/tbb/reader_writer_lock.h                   |    2 +-
 include/tbb/recursive_mutex.h                      |    2 +-
 include/tbb/runtime_loader.h                       |    2 +-
 include/tbb/scalable_allocator.h                   |   14 +-
 include/tbb/spin_mutex.h                           |    6 +-
 include/tbb/spin_rw_mutex.h                        |   49 +-
 include/tbb/task.h                                 |   24 +-
 include/tbb/task_arena.h                           |  120 +-
 include/tbb/task_group.h                           |   23 +-
 include/tbb/task_scheduler_init.h                  |    8 +-
 include/tbb/task_scheduler_observer.h              |   12 +-
 include/tbb/tbb.h                                  |    2 +-
 include/tbb/tbb_allocator.h                        |    8 +-
 include/tbb/tbb_config.h                           |   84 +-
 include/tbb/tbb_exception.h                        |    2 +-
 include/tbb/tbb_machine.h                          |   10 +-
 include/tbb/tbb_profiling.h                        |   75 +-
 include/tbb/tbb_stddef.h                           |    9 +-
 include/tbb/tbb_thread.h                           |    7 +-
 include/tbb/tbbmalloc_proxy.h                      |    2 +-
 include/tbb/tick_count.h                           |    2 +-
 index.html                                         |    2 +-
 jni/Android.mk                                     |    2 +-
 jni/Application.mk                                 |    2 +-
 src/Makefile                                       |   40 +-
 src/index.html                                     |    2 +-
 src/old/concurrent_queue_v2.cpp                    |    2 +-
 src/old/concurrent_queue_v2.h                      |    2 +-
 src/old/concurrent_vector_v2.cpp                   |    2 +-
 src/old/concurrent_vector_v2.h                     |    2 +-
 src/old/spin_rw_mutex_v2.cpp                       |    2 +-
 src/old/spin_rw_mutex_v2.h                         |    2 +-
 src/old/task_v2.cpp                                |    2 +-
 src/old/test_concurrent_queue_v2.cpp               |    2 +-
 src/old/test_concurrent_vector_v2.cpp              |    2 +-
 src/old/test_mutex_v2.cpp                          |    2 +-
 src/old/test_task_scheduler_observer_v3.cpp        |    2 +-
 src/perf/coarse_grained_raii_lru_cache.h           |    2 +-
 src/perf/cpq_pdes.cpp                              |    2 +-
 src/perf/cpq_throughput_test.cpp                   |    2 +-
 src/perf/fibonacci_impl_tbb.cpp                    |    2 +-
 src/perf/perf.cpp                                  |    6 +-
 src/perf/perf.h                                    |    2 +-
 src/perf/perf_sched.cpp                            |   10 +-
 src/perf/run_statistics.sh                         |    2 +-
 src/perf/statistics.cpp                            |    2 +-
 src/perf/statistics.h                              |    2 +-
 src/perf/statistics_xml.h                          |    2 +-
 src/perf/time_fibonacci_cutoff.cpp                 |    2 +-
 src/perf/time_framework.h                          |    2 +-
 src/perf/time_hash_map.cpp                         |    4 +-
 src/perf/time_hash_map_fill.cpp                    |    2 +-
 src/perf/time_hash_map_fill.html                   |    2 +-
 src/perf/time_locked_work.cpp                      |    2 +-
 src/perf/time_lru_cache_throughput.cpp             |    2 +-
 src/perf/time_sandbox.h                            |    2 +-
 src/perf/time_vector.cpp                           |    2 +-
 src/rml/client/index.html                          |    2 +-
 src/rml/client/library_assert.h                    |    2 +-
 src/rml/client/omp_dynamic_link.cpp                |    2 +-
 src/rml/client/omp_dynamic_link.h                  |    2 +-
 src/rml/client/rml_factory.h                       |    2 +-
 src/rml/client/rml_omp.cpp                         |    2 +-
 src/rml/client/rml_tbb.cpp                         |    2 +-
 src/rml/include/index.html                         |    2 +-
 src/rml/include/rml_base.h                         |    2 +-
 src/rml/include/rml_omp.h                          |    2 +-
 src/rml/include/rml_tbb.h                          |    2 +-
 src/rml/index.html                                 |    2 +-
 src/rml/perfor/omp_nested.cpp                      |    2 +-
 src/rml/perfor/omp_simple.cpp                      |    2 +-
 src/rml/perfor/tbb_multi_omp.cpp                   |    2 +-
 src/rml/perfor/tbb_simple.cpp                      |    2 +-
 src/rml/perfor/thread_level.h                      |    2 +-
 src/rml/server/index.html                          |    2 +-
 src/rml/server/irml.rc                             |    6 +-
 src/rml/server/job_automaton.h                     |    2 +-
 src/rml/server/lin-rml-export.def                  |    2 +-
 src/rml/server/rml_server.cpp                      |    2 +-
 src/rml/server/thread_monitor.h                    |    2 +-
 src/rml/server/wait_counter.h                      |    2 +-
 src/rml/server/win32-rml-export.def                |    2 +-
 src/rml/server/win64-rml-export.def                |    2 +-
 src/rml/test/rml_omp_stub.cpp                      |    9 +-
 src/rml/test/test_job_automaton.cpp                |    2 +-
 src/rml/test/test_rml_mixed.cpp                    |    9 +-
 src/rml/test/test_rml_omp.cpp                      |    9 +-
 src/rml/test/test_rml_omp_c_linkage.c              |    2 +-
 src/rml/test/test_rml_tbb.cpp                      |    2 +-
 src/rml/test/test_server.h                         |    2 +-
 src/rml/test/test_thread_monitor.cpp               |    2 +-
 src/tbb/arena.cpp                                  |   81 +-
 src/tbb/arena.h                                    |  107 +-
 src/tbb/cache_aligned_allocator.cpp                |    2 +-
 src/tbb/cilk-tbb-interop.h                         |    2 +-
 src/tbb/concurrent_hash_map.cpp                    |    2 +-
 src/tbb/concurrent_monitor.cpp                     |    2 +-
 src/tbb/concurrent_monitor.h                       |    2 +-
 src/tbb/concurrent_queue.cpp                       |    2 +-
 src/tbb/concurrent_vector.cpp                      |    2 +-
 src/tbb/condition_variable.cpp                     |    2 +-
 src/tbb/critical_section.cpp                       |    2 +-
 src/tbb/custom_scheduler.h                         |   43 +-
 src/tbb/dynamic_link.cpp                           |    7 +-
 src/tbb/dynamic_link.h                             |    7 +-
 src/tbb/governor.cpp                               |    5 +-
 src/tbb/governor.h                                 |   19 +-
 src/tbb/ia32-masm/atomic_support.asm               |    2 +-
 src/tbb/ia32-masm/itsx.asm                         |   42 +-
 src/tbb/ia32-masm/lock_byte.asm                    |    2 +-
 src/tbb/ia64-gas/atomic_support.s                  |    2 +-
 src/tbb/ia64-gas/ia64_misc.s                       |    2 +-
 src/tbb/ia64-gas/lock_byte.s                       |    2 +-
 src/tbb/ia64-gas/log2.s                            |    2 +-
 src/tbb/ia64-gas/pause.s                           |    2 +-
 src/tbb/ibm_aix51/atomic_support.c                 |    2 +-
 src/tbb/index.html                                 |    2 +-
 src/tbb/intel64-masm/atomic_support.asm            |    2 +-
 src/tbb/intel64-masm/intel64_misc.asm              |    2 +-
 src/tbb/intel64-masm/itsx.asm                      |   42 +-
 src/tbb/intrusive_list.h                           |    2 +-
 src/tbb/itt_notify.cpp                             |    5 +-
 src/tbb/itt_notify.h                               |    2 +-
 src/tbb/lin32-tbb-export.def                       |    2 +-
 src/tbb/lin32-tbb-export.lst                       |   31 +-
 src/tbb/lin64-tbb-export.def                       |    2 +-
 src/tbb/lin64-tbb-export.lst                       |   31 +-
 src/tbb/lin64ipf-tbb-export.def                    |    2 +-
 src/tbb/lin64ipf-tbb-export.lst                    |   14 +-
 src/tbb/mac32-tbb-export.def                       |    2 +-
 src/tbb/mac32-tbb-export.lst                       |   25 +-
 src/tbb/mac64-tbb-export.def                       |    2 +-
 src/tbb/mac64-tbb-export.lst                       |   25 +-
 src/tbb/mailbox.h                                  |   14 +-
 src/tbb/market.cpp                                 |   75 +-
 src/tbb/market.h                                   |    2 +-
 src/tbb/mutex.cpp                                  |    2 +-
 src/tbb/observer_proxy.cpp                         |    6 +-
 src/tbb/observer_proxy.h                           |    2 +-
 src/tbb/pipeline.cpp                               |    2 +-
 src/tbb/private_server.cpp                         |   25 +-
 src/tbb/queuing_mutex.cpp                          |    2 +-
 src/tbb/queuing_rw_mutex.cpp                       |    2 +-
 src/tbb/reader_writer_lock.cpp                     |    2 +-
 src/tbb/recursive_mutex.cpp                        |    2 +-
 src/tbb/scheduler.cpp                              |   42 +-
 src/tbb/scheduler.h                                |   21 +-
 src/tbb/scheduler_common.h                         |   16 +-
 src/tbb/scheduler_utility.h                        |    2 +-
 src/tbb/semaphore.cpp                              |    2 +-
 src/tbb/semaphore.h                                |    2 +-
 src/tbb/spin_mutex.cpp                             |    2 +-
 src/tbb/spin_rw_mutex.cpp                          |    2 +-
 src/tbb/task.cpp                                   |   14 +-
 src/tbb/task_group_context.cpp                     |   19 +-
 src/tbb/task_stream.h                              |   23 +-
 src/tbb/tbb_assert_impl.h                          |    2 +-
 src/tbb/tbb_main.cpp                               |  163 +-
 src/tbb/tbb_main.h                                 |    2 +-
 src/tbb/tbb_misc.cpp                               |   43 +-
 src/tbb/tbb_misc.h                                 |    6 +-
 src/tbb/tbb_misc_ex.cpp                            |    2 +-
 src/tbb/tbb_resource.rc                            |    6 +-
 src/tbb/tbb_statistics.cpp                         |    2 +-
 src/tbb/tbb_statistics.h                           |    2 +-
 src/tbb/tbb_thread.cpp                             |    2 +-
 src/tbb/tbb_version.h                              |    2 +-
 src/tbb/tls.h                                      |    2 +-
 src/tbb/tools_api/disable_warnings.h               |    2 +-
 src/tbb/tools_api/internal/ittnotify.h             |    2 +-
 src/tbb/tools_api/ittnotify.h                      |    4 +-
 src/tbb/tools_api/ittnotify_config.h               |    2 +-
 src/tbb/tools_api/ittnotify_static.c               |   73 +-
 src/tbb/tools_api/ittnotify_static.h               |    2 +-
 src/tbb/tools_api/ittnotify_types.h                |    2 +-
 src/tbb/tools_api/legacy/ittnotify.h               |    2 +-
 src/tbb/tools_api/prototype/ittnotify.h            |    2 +-
 src/tbb/win32-tbb-export.def                       |    2 +-
 src/tbb/win32-tbb-export.lst                       |   33 +-
 src/tbb/win64-gcc-tbb-export.def                   |    2 +-
 src/tbb/win64-gcc-tbb-export.lst                   |   14 +-
 src/tbb/win64-tbb-export.def                       |    2 +-
 src/tbb/win64-tbb-export.lst                       |   33 +-
 src/tbb/winrt-tbb-export.lst                       |   14 +-
 src/tbb/x86_rtm_rw_mutex.cpp                       |  281 ++++
 src/tbb/xbox360-tbb-export.def                     |    2 +-
 src/tbbmalloc/Customize.h                          |    2 +-
 src/tbbmalloc/MapMemory.h                          |    2 +-
 src/tbbmalloc/Statistics.h                         |    2 +-
 src/tbbmalloc/TypeDefinitions.h                    |    2 +-
 src/tbbmalloc/backend.cpp                          |  462 +++--
 src/tbbmalloc/backref.cpp                          |  133 +-
 src/tbbmalloc/frontend.cpp                         |  243 ++-
 src/tbbmalloc/large_objects.cpp                    |   55 +-
 src/tbbmalloc/lin32-proxy-export.def               |    2 +-
 src/tbbmalloc/lin32-tbbmalloc-export.def           |    2 +-
 src/tbbmalloc/lin64-proxy-export.def               |    2 +-
 src/tbbmalloc/lin64-tbbmalloc-export.def           |    2 +-
 src/tbbmalloc/lin64ipf-proxy-export.def            |    2 +-
 src/tbbmalloc/lin64ipf-tbbmalloc-export.def        |    2 +-
 src/tbbmalloc/mac32-tbbmalloc-export.def           |    2 +-
 src/tbbmalloc/mac64-tbbmalloc-export.def           |    2 +-
 src/tbbmalloc/proxy.cpp                            |   87 +-
 src/tbbmalloc/proxy.h                              |    3 +-
 src/tbbmalloc/tbb_function_replacement.cpp         |    2 +-
 src/tbbmalloc/tbb_function_replacement.h           |    2 +-
 src/tbbmalloc/tbbmalloc.cpp                        |    2 +-
 src/tbbmalloc/tbbmalloc.rc                         |    6 +-
 src/tbbmalloc/tbbmalloc_internal.h                 |  154 +-
 src/tbbmalloc/tbbmalloc_internal_api.h             |    2 +-
 src/tbbmalloc/win32-gcc-tbbmalloc-export.def       |    3 +-
 src/tbbmalloc/win32-tbbmalloc-export.def           |    3 +-
 src/tbbmalloc/win64-gcc-tbbmalloc-export.def       |    3 +-
 src/tbbmalloc/win64-tbbmalloc-export.def           |    3 +-
 src/tbbmalloc/xbox360-tbbmalloc-export.def         |    3 +-
 src/tbbproxy/tbbproxy-windows.asm                  |    2 +-
 src/tbbproxy/tbbproxy.cpp                          |    2 +-
 src/test/harness.h                                 |  131 +-
 src/test/harness_allocator.h                       |    2 +-
 src/test/harness_assert.h                          |    2 +-
 src/test/harness_bad_expr.h                        |    2 +-
 src/test/harness_barrier.h                         |    2 +-
 src/test/harness_checktype.h                       |    2 +-
 src/test/harness_concurrency.h                     |    2 +-
 src/test/harness_concurrency_tracker.h             |    2 +-
 src/test/harness_cpu.h                             |   39 +-
 src/test/harness_defs.h                            |   14 +-
 src/test/harness_dynamic_libs.h                    |    2 +-
 src/test/harness_eh.h                              |    2 +-
 src/test/harness_graph.h                           |    6 +-
 src/test/harness_inject_scheduler.h                |    2 +-
 src/test/harness_iterator.h                        |    2 +-
 src/test/harness_m128.h                            |    2 +-
 src/test/harness_memory.h                          |    2 +-
 src/test/harness_mic.h                             |    2 +-
 src/test/harness_report.h                          |    2 +-
 src/test/harness_runtime_loader.h                  |   45 +
 src/test/harness_task.h                            |    2 +-
 src/test/harness_tbb_independence.h                |   10 +-
 src/test/harness_test_cases_framework.h            |    2 +-
 src/test/harness_tsx.h                             |   42 +-
 src/test/test_ScalableAllocator.cpp                |    7 +-
 src/test/test_ScalableAllocator_STL.cpp            |    2 +-
 src/test/test_aggregator.cpp                       |    2 +-
 src/test/test_aligned_space.cpp                    |    2 +-
 src/test/test_allocator.h                          |   24 +-
 src/test/test_allocator_STL.h                      |    2 +-
 src/test/test_assembly.cpp                         |    2 +-
 src/test/test_atomic.cpp                           |    4 +-
 src/test/test_blocked_range.cpp                    |   30 +-
 src/test/test_blocked_range2d.cpp                  |    2 +-
 src/test/test_blocked_range3d.cpp                  |    2 +-
 src/test/test_broadcast_node.cpp                   |    4 +-
 src/test/test_buffer_node.cpp                      |    2 +-
 src/test/test_cache_aligned_allocator.cpp          |   12 +-
 src/test/test_cache_aligned_allocator_STL.cpp      |    2 +-
 src/test/test_cilk_common.h                        |    2 +-
 src/test/test_cilk_dynamic_load.cpp                |    2 +-
 src/test/test_cilk_interop.cpp                     |    2 +-
 src/test/test_combinable.cpp                       |    2 +-
 src/test/test_concurrent_hash_map.cpp              |   40 +-
 src/test/test_concurrent_lru_cache.cpp             |    2 +-
 src/test/test_concurrent_monitor.cpp               |    2 +-
 src/test/test_concurrent_priority_queue.cpp        |    4 +-
 src/test/test_concurrent_queue.cpp                 |    2 +-
 src/test/test_concurrent_queue.h                   |    2 +-
 src/test/test_concurrent_unordered.cpp             |   40 +-
 src/test/test_concurrent_vector.cpp                |   29 +-
 src/test/test_condition_variable.h                 |    2 +-
 src/test/test_continue_node.cpp                    |   52 +-
 src/test/test_critical_section.cpp                 |    2 +-
 src/test/test_dynamic_link.cpp                     |    2 +-
 src/test/test_eh_algorithms.cpp                    |  120 +-
 src/test/test_eh_flow_graph.cpp                    |   26 +-
 src/test/test_eh_tasks.cpp                         |    2 +-
 src/test/test_enumerable_thread_specific.cpp       |    2 +-
 src/test/test_examples_common_utility.cpp          |    2 +-
 src/test/test_fast_random.cpp                      |    4 +-
 src/test/test_flow_graph.cpp                       |    2 +-
 src/test/test_fp.cpp                               |    2 +-
 src/test/test_function_node.cpp                    |    2 +-
 src/test/test_halt.cpp                             |    2 +-
 src/test/test_handle_perror.cpp                    |    2 +-
 src/test/test_hw_concurrency.cpp                   |    2 +-
 src/test/test_initializer_list.h                   |   23 +-
 src/test/test_inits_loop.cpp                       |    2 +-
 src/test/test_intrusive_list.cpp                   |    2 +-
 src/test/test_ittnotify.cpp                        |    2 +-
 src/test/test_join_node.cpp                        |    2 +-
 src/test/test_lambda.cpp                           |    2 +-
 src/test/test_limiter_node.cpp                     |  163 +-
 src/test/test_malloc_atexit.cpp                    |    2 +-
 src/test/test_malloc_compliance.cpp                |   25 +-
 src/test/test_malloc_init_shutdown.cpp             |   11 +-
 src/test/test_malloc_lib_unload.cpp                |    3 +-
 src/test/test_malloc_overload.cpp                  |   40 +-
 src/test/test_malloc_pools.cpp                     |    3 +-
 src/test/test_malloc_pure_c.c                      |   23 +-
 src/test/test_malloc_regression.cpp                |    3 +-
 src/test/test_malloc_used_by_lib.cpp               |   10 +-
 src/test/test_malloc_whitebox.cpp                  |  135 +-
 src/test/test_model_plugin.cpp                     |    2 +-
 src/test/test_multifunction_node.cpp               |    2 +-
 src/test/test_mutex.cpp                            |   64 +-
 src/test/test_mutex_native_threads.cpp             |    2 +-
 src/test/test_openmp.cpp                           |    2 +-
 src/test/test_or_node.cpp                          |    2 +-
 src/test/test_overwrite_node.cpp                   |    2 +-
 src/test/test_parallel_do.cpp                      |    2 +-
 src/test/test_parallel_for.cpp                     |    7 +-
 src/test/test_parallel_for_each.cpp                |    2 +-
 src/test/test_parallel_for_vectorization.cpp       |   75 +
 src/test/test_parallel_invoke.cpp                  |    2 +-
 src/test/test_parallel_pipeline.cpp                |    2 +-
 src/test/test_parallel_reduce.cpp                  |   56 +-
 src/test/test_parallel_scan.cpp                    |    2 +-
 src/test/test_parallel_sort.cpp                    |    2 +-
 src/test/test_parallel_while.cpp                   |    2 +-
 src/test/test_pipeline.cpp                         |    2 +-
 src/test/test_pipeline_with_tbf.cpp                |    2 +-
 src/test/test_priority_queue_node.cpp              |    2 +-
 src/test/test_queue_node.cpp                       |    2 +-
 src/test/test_range_based_for.h                    |   66 +
 src/test/test_reader_writer_lock.cpp               |    2 +-
 src/test/test_runtime_loader.cpp                   |    2 +-
 src/test/test_rwm_upgrade_downgrade.cpp            |    2 +-
 src/test/test_semaphore.cpp                        |    2 +-
 src/test/test_sequencer_node.cpp                   |    2 +-
 src/test/test_source_node.cpp                      |    4 +-
 src/test/test_split_node.cpp                       |    2 +-
 src/test/test_static_assert.cpp                    |    2 +-
 src/test/test_std_thread.cpp                       |    2 +-
 src/test/test_task.cpp                             |    6 +-
 src/test/test_task_arena.cpp                       |   53 +-
 src/test/test_task_assertions.cpp                  |    2 +-
 src/test/test_task_auto_init.cpp                   |    2 +-
 src/test/test_task_enqueue.cpp                     |   15 +-
 src/test/test_task_group.cpp                       |   27 +-
 src/test/test_task_leaks.cpp                       |    6 +-
 src/test/test_task_priority.cpp                    |    6 +-
 src/test/test_task_scheduler_init.cpp              |    2 +-
 src/test/test_task_scheduler_observer.cpp          |    9 +-
 src/test/test_task_steal_limit.cpp                 |    2 +-
 src/test/test_tbb_condition_variable.cpp           |    2 +-
 src/test/test_tbb_fork.cpp                         |    2 +-
 src/test/test_tbb_header.cpp                       |    2 +-
 src/test/test_tbb_thread.cpp                       |    2 +-
 src/test/test_tbb_version.cpp                      |   14 +-
 src/test/test_thread.h                             |    2 +-
 src/test/test_tick_count.cpp                       |    2 +-
 src/test/test_tuple.cpp                            |    2 +-
 src/test/test_write_once_node.cpp                  |    2 +-
 src/test/test_yield.cpp                            |    2 +-
 1694 files changed, 116829 insertions(+), 25830 deletions(-)

diff --git a/CHANGES b/CHANGES
index 0479ff2..6a7d475 100644
--- a/CHANGES
+++ b/CHANGES
@@ -3,6 +3,91 @@ The list of most significant changes made over time in
 Intel(R) Threading Building Blocks (Intel(R) TBB).
 ------------------------------------------------------------------------
 
+Intel TBB 4.2 Update 3
+TBB_INTERFACE_VERSION == 7003
+
+- Added support for Microsoft* Visual Studio* 2013.
+- Improved Microsoft* PPL-compatible form of parallel_for for better 
+    support of auto-vectorization.
+- Added a new example for cancellation and reset in the flow graph:
+    Kohonen self-organizing map (examples/graph/som).
+- Various improvements in source code, tests, and makefiles.
+
+Bugs fixed:
+- Added dynamic replacement of _aligned_msize() previously missed.
+- Fixed task_group::run_and_wait() to throw invalid_multiple_scheduling
+    exception if the specified task handle is already scheduled.
+
+Open-source contributions integrated:
+
+- A fix for ARM* processors by Steve Capper.
+- Improvements in std::swap calls by Robert Maynard.
+
+------------------------------------------------------------------------
+Intel TBB 4.2 Update 2
+TBB_INTERFACE_VERSION == 7002
+
+Changes (w.r.t. Intel TBB 4.2 Update 1):
+
+- Enable C++11 features for Microsoft* Visual Studio* 2013 Preview.
+- Added a test for compatibility of TBB containers with C++11
+    range-based for loop.
+
+Changes affecting backward compatibility:
+
+- Internal layout changed for class tbb::flow::limiter_node.
+
+Bugs fixed:
+
+- When building for Intel(R) Xeon Phi(tm) coprocessor, TBB programs
+    no longer require explicit linking with librt and libpthread.
+
+Open-source contributions integrated:
+
+- Fixes for ARM* processors by Steve Capper, Leif Lindholm
+    and Steven Noonan.
+- Support for Clang on Linux by Raf Schietekat.
+- Typo correction in scheduler.cpp by Julien Schueller.
+
+------------------------------------------------------------------------
+Intel TBB 4.2 Update 1
+TBB_INTERFACE_VERSION == 7001
+
+Changes (w.r.t. Intel TBB 4.2):
+
+- Added project files for Microsoft* Visual Studio* 2010.
+- Initial support of Microsoft* Visual Studio* 2013 Preview.
+- Enable C++11 features available in Intel(R) C++ Compiler 14.0.
+- scalable_allocation_mode(TBBMALLOC_SET_SOFT_HEAP_LIMIT, <size>) can be
+    used to urge releasing memory from tbbmalloc internal buffers when
+    the given limit is exceeded.
+
+Community Preview Features:
+
+- Class task_arena no longer requires linking with a preview library,
+    though still remains a community preview feature.
+- The method task_arena::wait_until_empty() is removed.
+- The method task_arena::current_slot() now returns -1 if 
+    the task scheduler is not initialized in the thread.
+
+Changes affecting backward compatibility:
+
+- Because of changes in internal layout of graph nodes, the namespace
+    interface number of flow::graph has been incremented from 6 to 7.
+
+Bugs fixed:
+
+- Fixed a race in lazy initialization of task_arena.
+- Fixed flow::graph::reset() to prevent situations where tasks would be
+    spawned in the process of resetting the graph to its initial state.
+- Fixed decrement bug in limiter_node.
+- Fixed a race in arc deletion in the flow graph.
+
+Open-source contributions integrated:
+
+- Improved support for IBM* Blue Gene* by Raf Schietekat.
+
+------------------------------------------------------------------------
 Intel TBB 4.2
 TBB_INTERFACE_VERSION == 7000
 
@@ -471,7 +556,7 @@ Changes (w.r.t. Intel TBB 3.0 Update 4 commercial-aligned release):
 - Added Community Preview feature: graph.
 - Added automatic propagation of master thread FPU settings to
     TBB worker threads.
-- Added a public function to perform a sequentially consistent full 
+- Added a public function to perform a sequentially consistent full
     memory fence: tbb::atomic_fence() in tbb/atomic.h.
 
 Bugs fixed:
@@ -495,7 +580,7 @@ Changes (w.r.t. Intel TBB 3.0 Update 3 commercial-aligned release):
 - Added Community Preview feature: concurrent_priority_queue.
 - Fixed library loading to avoid possibility for remote code execution,
     see http://www.microsoft.com/technet/security/advisory/2269637.mspx.
-- Added support of more than 64 cores for appropriate Microsoft* 
+- Added support of more than 64 cores for appropriate Microsoft*
     Windows* versions. For more details, see 
     http://msdn.microsoft.com/en-us/library/dd405503.aspx.
 - Default number of worker threads is adjusted in accordance with 
@@ -503,13 +588,13 @@ Changes (w.r.t. Intel TBB 3.0 Update 3 commercial-aligned release):
 
 Bugs fixed:
 
-- Calls of scalable_* functions from inside the allocator library 
+- Calls of scalable_* functions from inside the allocator library
     caused issues if the functions were overridden by another module.
 - A crash occurred if methods run() and wait() were called concurrently
     for an empty tbb::task_group (1736).
-- The tachyon example exhibited build problems associated with 
+- The tachyon example exhibited build problems associated with
     bug 554339 on Microsoft* Visual Studio* 2010. Project files were
-    modified as a partial workaround to overcome the problem. See 
+    modified as a partial workaround to overcome the problem. See
     http://connect.microsoft.com/VisualStudio/feedback/details/554339.
 
 ------------------------------------------------------------------------
diff --git a/Makefile b/Makefile
index d2e34fb..00711b5 100644
--- a/Makefile
+++ b/Makefile
@@ -1,4 +1,4 @@
-# Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+# Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 #
 # This file is part of Threading Building Blocks.
 #
diff --git a/build/AIX.gcc.inc b/build/AIX.gcc.inc
index a5f610c..0e5b1c1 100644
--- a/build/AIX.gcc.inc
+++ b/build/AIX.gcc.inc
@@ -1,4 +1,4 @@
-# Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+# Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 #
 # This file is part of Threading Building Blocks.
 #
@@ -36,8 +36,6 @@ WARNING_KEY = -Wall
 DYLIB_KEY = -shared
 LIBDL = -ldl
 
-TBB_NOSTRICT = 1
-
 CPLUS = g++ 
 CONLY = gcc
 LIB_LINK_FLAGS = -shared
diff --git a/build/AIX.inc b/build/AIX.inc
index 7255de8..16d8949 100644
--- a/build/AIX.inc
+++ b/build/AIX.inc
@@ -1,4 +1,4 @@
-# Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+# Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 #
 # This file is part of Threading Building Blocks.
 #
@@ -47,7 +47,7 @@ RD?=rmdir
 MD?=mkdir -p
 NUL= /dev/null
 SLASH=/
-MAKE_VERSIONS=sh $(tbb_root)/build/version_info_aix.sh $(CPLUS) $(CPLUS_FLAGS) $(INCLUDES) >version_string.ver
+MAKE_VERSIONS=sh $(tbb_root)/build/version_info_aix.sh $(VERSION_FLAGS) >version_string.ver
 MAKE_TBBVARS=sh $(tbb_root)/build/generate_tbbvars.sh
 
 ifdef LIBPATH
@@ -71,6 +71,4 @@ MALLOC.DLL = libtbbmalloc$(DEBUG_SUFFIX).$(DLL)
 MALLOC.LIB = $(MALLOC.DLL)
 LINK_MALLOC.LIB = $(MALLOC.LIB)
 
-TBB_NOSTRICT=1
-
 TEST_LAUNCHER=sh $(tbb_root)/build/test_launcher.sh $(largs)
diff --git a/build/FreeBSD.gcc.inc b/build/FreeBSD.gcc.inc
index 2e280b3..b86e15f 100644
--- a/build/FreeBSD.gcc.inc
+++ b/build/FreeBSD.gcc.inc
@@ -1,4 +1,4 @@
-# Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+# Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 #
 # This file is part of Threading Building Blocks.
 #
@@ -35,8 +35,6 @@ WARNING_AS_ERROR_KEY = -Werror
 WARNING_KEY = -Wall
 DYLIB_KEY = -shared
 
-TBB_NOSTRICT = 1
-
 CPLUS = g++ 
 CONLY = gcc
 LIB_LINK_FLAGS = -shared
diff --git a/build/FreeBSD.inc b/build/FreeBSD.inc
index 2c1c66d..b95c0d6 100644
--- a/build/FreeBSD.inc
+++ b/build/FreeBSD.inc
@@ -1,4 +1,4 @@
-# Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+# Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 #
 # This file is part of Threading Building Blocks.
 #
@@ -54,7 +54,7 @@ RD?=rmdir
 MD?=mkdir -p
 NUL= /dev/null
 SLASH=/
-MAKE_VERSIONS=sh $(tbb_root)/build/version_info_linux.sh $(CPLUS) $(CPLUS_FLAGS) $(INCLUDES) >version_string.ver
+MAKE_VERSIONS=sh $(tbb_root)/build/version_info_linux.sh $(VERSION_FLAGS) >version_string.ver
 MAKE_TBBVARS=sh $(tbb_root)/build/generate_tbbvars.sh
 
 ifdef LD_LIBRARY_PATH
@@ -79,6 +79,4 @@ MALLOC.DLL = libtbbmalloc$(DEBUG_SUFFIX).$(DLL)
 MALLOC.LIB = $(MALLOC.DLL)
 LINK_MALLOC.LIB = $(MALLOC.LIB)
 
-TBB_NOSTRICT=1
-
 TEST_LAUNCHER=sh $(tbb_root)/build/test_launcher.sh $(largs)
diff --git a/build/Makefile.rml b/build/Makefile.rml
index 12268af..5b99769 100644
--- a/build/Makefile.rml
+++ b/build/Makefile.rml
@@ -1,4 +1,4 @@
-# Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+# Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 #
 # This file is part of Threading Building Blocks.
 #
@@ -128,7 +128,8 @@ rml: $(RML.DLL) $(RML_TBB_CLIENT.OBJ) $(RML_OMP_CLIENT.OBJ)
 add_debug=$(basename $(1))_debug$(suffix $(1))
 cross_suffix=$(if $(crosstest),$(if $(DEBUG_SUFFIX),$(subst _debug,,$(1)),$(call add_debug,$(1))),$(1))
 
-RML_TESTS = test_job_automaton.$(TEST_EXT) test_thread_monitor.$(TEST_EXT) test_rml_tbb.$(TEST_EXT) test_rml_omp.$(TEST_EXT) test_rml_mixed.$(TEST_EXT) test_rml_omp_c_linkage.$(TEST_EXT)
+RML_TESTS = test_job_automaton.$(TEST_EXT) test_thread_monitor.$(TEST_EXT)
+RML_CUSTOM_TESTS = test_rml_tbb.$(TEST_EXT) test_rml_omp.$(TEST_EXT) test_rml_mixed.$(TEST_EXT) test_rml_omp_c_linkage.$(TEST_EXT)
 
 test_rml_tbb.$(TEST_EXT): test_rml_tbb.$(OBJ) $(RML_TBB_CLIENT.OBJ) $(TBB_DEP_RML_TEST)
 	$(CPLUS) $(OUTPUT_KEY)$@ $(CPLUS_FLAGS) test_rml_tbb.$(OBJ) $(RML_TBB_CLIENT.OBJ) $(TBB_DEP_RML_TEST) $(LIBS) $(LINK_FLAGS)
@@ -145,11 +146,11 @@ rml_omp_stub.$(OBJ): rml_omp_stub.cpp
 test_rml_omp_c_linkage.$(TEST_EXT): test_rml_omp_c_linkage.$(OBJ) rml_omp_stub.$(OBJ) omp_dynamic_link.$(OBJ)
 	$(CONLY) $(C_FLAGS) $(OUTPUT_KEY)$@ test_rml_omp_c_linkage.$(OBJ) rml_omp_stub.$(OBJ) omp_dynamic_link.$(OBJ) $(LIBS) $(LINK_FLAGS)
 
-test_%.$(TEST_EXT): test_%.$(OBJ) $(TBB_DEP_NON_RML_TEST)
+$(RML_TESTS): %.$(TEST_EXT): %.$(OBJ) $(TBB_DEP_NON_RML_TEST)
 	$(CPLUS) $(OUTPUT_KEY)$@ $(CPLUS_FLAGS) $< $(TBB_DEP_NON_RML_TEST) $(LIBS) $(LINK_FLAGS)
 
 ### run_cmd is usually empty
-rml_test: $(call cross_suffix,$(RML.DLL)) $(TEST_PREREQUISITE) $(RML_TESTS)
+rml_test: $(call cross_suffix,$(RML.DLL)) $(TEST_PREREQUISITE) $(RML_TESTS) $(RML_CUSTOM_TESTS)
 	$(run_cmd) ./test_job_automaton.$(TEST_EXT) $(args)
 	$(run_cmd) ./test_thread_monitor.$(TEST_EXT) $(args)
 	$(run_cmd) ./test_rml_tbb.$(TEST_EXT) $(args)
diff --git a/build/Makefile.tbb b/build/Makefile.tbb
index 452882e..2db399f 100644
--- a/build/Makefile.tbb
+++ b/build/Makefile.tbb
@@ -1,4 +1,4 @@
-# Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+# Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 #
 # This file is part of Threading Building Blocks.
 #
@@ -36,7 +36,7 @@ DEBUG_SUFFIX=$(findstring _debug,_$(cfg))
 #------------------------------------------------------------
 # Define static pattern rules dealing with .cpp source files
 #------------------------------------------------------------
-$(warning CONFIG: cfg=$(cfg) arch=$(arch) compiler=$(compiler) os=$(tbb_os) runtime=$(runtime))
+$(warning CONFIG: cfg=$(cfg) arch=$(arch) compiler=$(compiler) target=$(target) runtime=$(runtime))
 
 default_tbb: $(TBB.DLL)
 .PHONY: default_tbb tbbvars clean
@@ -46,11 +46,6 @@ VPATH = $(tbb_root)/src/tbb/$(ASSEMBLY_SOURCE) $(tbb_root)/src/tbb $(tbb_root)/s
 
 CPLUS_FLAGS += $(PIC_KEY) $(DEFINE_KEY)__TBB_BUILD=1
 
-# A template to switch off strict-ansi for certain compilation units
-# ifeq (1,$(TBB_NOSTRICT))
-# KNOWN_NOSTRICT = <object-file-name>
-# endif
-
 # suppress warnings for build of itt_notify by GCC3
 ifneq (,$(findstring gcc_cc3., $(compiler)_$(runtime)))
 KNOWN_WARNINGS += itt_notify.$(OBJ)
@@ -68,6 +63,7 @@ TBB_CPLUS.OBJ = concurrent_hash_map.$(OBJ) \
 		queuing_rw_mutex.$(OBJ) \
 		reader_writer_lock.$(OBJ) \
 		spin_rw_mutex.$(OBJ) \
+		x86_rtm_rw_mutex.$(OBJ) \
 		spin_mutex.$(OBJ) \
 		critical_section.$(OBJ) \
 		mutex.$(OBJ) \
diff --git a/build/Makefile.tbbmalloc b/build/Makefile.tbbmalloc
index 3d317a9..cb222b3 100644
--- a/build/Makefile.tbbmalloc
+++ b/build/Makefile.tbbmalloc
@@ -1,4 +1,4 @@
-# Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+# Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 #
 # This file is part of Threading Building Blocks.
 #
@@ -30,8 +30,9 @@ default_malloc: malloc malloc_test
 tbb_root ?= $(TBBROOT)
 BUILDING_PHASE=1
 TEST_RESOURCE = $(MALLOC.RES)
+TESTFILE=tbbmalloc
 include $(tbb_root)/build/common.inc
-DEBUG_SUFFIX=$(findstring _debug,_$(cfg))
+DEBUG_SUFFIX=$(findstring _debug,$(call cross_cfg,_$(cfg)))
 
 MALLOC_ROOT ?= $(tbb_root)/src/tbbmalloc
 MALLOC_SOURCE_ROOT ?= $(MALLOC_ROOT)
@@ -41,8 +42,15 @@ VPATH += $(MALLOC_ROOT) $(MALLOC_SOURCE_ROOT)
 
 CPLUS_FLAGS += $(if $(crosstest),$(DEFINE_KEY)__TBBMALLOC_NO_IMPLICIT_LINKAGE=1)
 
+TEST_SUFFIXES=proxy
+TEST_PREREQUISITE+=$(MALLOC.LIB)
+LINK_FILES+=$(LINK_MALLOC.LIB)
 include $(tbb_root)/build/common_rules.inc
 
+ORIG_CPLUS_FLAGS:=$(CPLUS_FLAGS)
+ORIG_INCLUDES:=$(INCLUDES)
+ORIG_LINK_MALLOC.LIB:=$(LINK_MALLOC.LIB)
+
 #------------------------------------------------------
 # Define rules for making the TBBMalloc shared library.
 #------------------------------------------------------
@@ -52,7 +60,7 @@ MALLOC_CPLUS.OBJ = backend.$(OBJ) large_objects.$(OBJ) backref.$(OBJ)  tbbmalloc
 MALLOC.OBJ := $(MALLOC_CPLUS.OBJ) $(MALLOC_ASM.OBJ) itt_notify_malloc.$(OBJ) frontend.$(OBJ)
 PROXY.OBJ := proxy.$(OBJ) tbb_function_replacement.$(OBJ)
 M_CPLUS_FLAGS := $(subst $(WARNING_KEY),,$(M_CPLUS_FLAGS)) $(DEFINE_KEY)__TBBMALLOC_BUILD=1
-M_INCLUDES = $(INCLUDES) $(INCLUDE_KEY)$(MALLOC_ROOT) $(INCLUDE_KEY)$(MALLOC_SOURCE_ROOT)
+M_INCLUDES := $(INCLUDES) $(INCLUDE_KEY)$(MALLOC_ROOT) $(INCLUDE_KEY)$(MALLOC_SOURCE_ROOT)
 
 # Suppress superfluous warnings for TBBmalloc compilation
 $(MALLOC.OBJ): M_CPLUS_FLAGS += $(WARNING_SUPPRESS)
@@ -95,7 +103,7 @@ endif
 ifneq (,$(MALLOCPROXY.DLL))
 $(MALLOCPROXY.DLL): BUILDING_LIBRARY = $(MALLOCPROXY.DLL)
 $(MALLOCPROXY.DLL): $(PROXY.OBJ) $(MALLOCPROXY_NO_VERSION.DLL) $(MALLOC.DLL) $(MALLOC.RES)
-	$(LIB_LINK_CMD) $(LIB_OUTPUT_KEY)$(MALLOCPROXY.DLL) $(PROXY.OBJ) $(MALLOC.RES) $(LIB_LINK_LIBS) $(LINK_MALLOC_LIB) $(PROXY_LINK_FLAGS)
+	$(LIB_LINK_CMD) $(LIB_OUTPUT_KEY)$(MALLOCPROXY.DLL) $(PROXY.OBJ) $(MALLOC.RES) $(LIB_LINK_LIBS) $(LINK_MALLOC.LIB) $(PROXY_LINK_FLAGS)
 endif
 
 ifneq (,$(MALLOC_NO_VERSION.DLL))
@@ -124,84 +132,77 @@ malloc_proxy_dll: $(MALLOCPROXY.DLL)
 # Define rules for making the TBBMalloc unit tests
 #------------------------------------------------------
 
-add_debug=$(basename $(1))_debug$(suffix $(1))
-cross_suffix=$(if $(crosstest),$(if $(DEBUG_SUFFIX),$(subst _debug,,$(1)),$(call add_debug,$(1))),$(1))
-
+# --------- The list of TBBMalloc unit tests ----------
 MALLOC_MAIN_TESTS = test_ScalableAllocator.$(TEST_EXT) \
                     test_ScalableAllocator_STL.$(TEST_EXT) \
                     test_malloc_compliance.$(TEST_EXT) \
                     test_malloc_regression.$(TEST_EXT) \
                     test_malloc_init_shutdown.$(TEST_EXT) \
                     test_malloc_pools.$(TEST_EXT)
+MALLOC_TESTS = $(MALLOC_MAIN_TESTS) test_malloc_pure_c.$(TEST_EXT) test_malloc_whitebox.$(TEST_EXT) test_malloc_used_by_lib.$(TEST_EXT)
 MALLOC_OVERLOAD_TESTS =  test_malloc_overload.$(TEST_EXT) test_malloc_overload_proxy.$(TEST_EXT) test_malloc_atexit.$(TEST_EXT)
-
-MALLOC_LIB ?= $(call cross_suffix,$(MALLOC.LIB))
-MALLOC_PROXY_LIB ?= $(call cross_suffix,$(MALLOCPROXY.LIB))
-LINK_MALLOC_LIB ?= $(call cross_suffix,$(LINK_MALLOC.LIB))
-LINK_MALLOC_PROXY_LIB ?= $(call cross_suffix,$(LINK_MALLOCPROXY.LIB))
-
+ifneq (,$(MALLOCPROXY.DLL))
+MALLOC_TESTS += $(MALLOC_OVERLOAD_TESTS) test_malloc_lib_unload.$(TEST_EXT)
+endif
+# -----------------------------------------------------
+# ------------ Set test specific variables ------------
 ifeq (windows.gcc,$(tbb_os).$(compiler))
-test_malloc_overload.$(TEST_EXT): LIBS += $(MALLOC_PROXY_LIB)
+test_malloc_overload.$(TEST_EXT): LIBS += $(MALLOCPROXY.LIB)
 endif
 
 # on Ubuntu 11.10 linker called with --as-needed, so dependence on libtbbmalloc_proxy
 # is not created, and malloc overload via linking with -ltbbmalloc_proxy is not working.
 # Overcome with --no-as-needed.
 ifeq (linux.gcc,$(tbb_os).$(compiler))
-test_malloc_atexit.$(TEST_EXT): MALLOC_PROXY_LIB := -Wl,--no-as-needed $(MALLOC_PROXY_LIB)
-endif
-
-test_malloc_overload.$(TEST_EXT): test_malloc_overload.cpp
-	$(CPLUS) $(OUTPUT_KEY)$@ $(subst /MT,/MD,$(M_CPLUS_FLAGS)) $(M_INCLUDES) $< $(LIBDL) $(LIBS) $(LINK_FLAGS)
-test_malloc_overload_proxy.$(TEST_EXT): test_malloc_overload.cpp $(MALLOC_PROXY_LIB)
-	$(CPLUS) $(OUTPUT_KEY)$@ $(subst /MT,/MD,$(M_CPLUS_FLAGS)) $(M_INCLUDES) $< $(LIBDL) $(MALLOC_PROXY_LIB) $(LIBS) $(LINK_FLAGS)
-
-test_malloc_whitebox.$(TEST_EXT): test_malloc_whitebox.cpp $(MALLOC_ASM.OBJ) version_string.ver
-	$(CPLUS) $(OUTPUT_KEY)$@ $(M_CPLUS_FLAGS) $(M_INCLUDES) $(INCLUDE_KEY). $< $(MALLOC_ASM.OBJ) $(LIBS) $(LIBDL) $(LINK_FLAGS)
-
-test_malloc_lib_unload.$(TEST_EXT): test_malloc_lib_unload.cpp test_malloc_lib_unload_dll.$(DLL)
-	$(CPLUS) $(OUTPUT_KEY)$@ $(M_CPLUS_FLAGS) $(M_INCLUDES) $< $(LIBS) test_malloc_lib_unload_dll.$(LIBEXT)  $(LIBDL) $(LINK_FLAGS)
-
-# TODO: use generic rules
-test_malloc_used_by_lib.$(TEST_EXT): test_malloc_used_by_lib.cpp test_malloc_used_by_lib.$(DLL)
-	$(CPLUS) $(OUTPUT_KEY)$@ $(M_CPLUS_FLAGS) $(M_INCLUDES) $< $(LIBS) $(LIBDL) $(LINK_FLAGS)
-
-test_malloc_used_by_lib.$(DLL): test_malloc_used_by_lib.cpp $(MALLOC_LIB)
-	$(CPLUS) $(OUTPUT_KEY)$@ $(subst /MT,/LD,$(M_CPLUS_FLAGS)) $(PIC_KEY) $(M_INCLUDES) $(DEFINE_KEY)_USRDLL $< $(LINK_MALLOC_LIB) $(LINK_FLAGS) $(DYLIB_KEY)
-
-$(MALLOC_MAIN_TESTS): %.$(TEST_EXT): %.$(OBJ) $(MALLOC_LIB)
-	$(CPLUS) $(OUTPUT_KEY)$@ $(CPLUS_FLAGS) $< $(LINK_MALLOC_LIB) $(LIBS) $(LINK_FLAGS)
-
-MALLOC_C_TESTS = test_malloc_pure_c.$(TEST_EXT)
-
-$(MALLOC_C_TESTS): %.$(TEST_EXT): %.$(OBJ) $(MALLOC_LIB)
-	$(CPLUS) $(OUTPUT_KEY)$@ $(CPLUS_FLAGS) $< $(LINK_MALLOC_LIB) $(LIBS) $(LINK_FLAGS)
-
-# Rules for generating a test DLL
-%_dll.$(DLL): %_dll.$(OBJ)
-	$(LIB_LINK_CMD) $(OUTPUT_KEY)$@ $(CPLUS_FLAGS) $(PIC_KEY) $< $(LIBS) $(LIBDL) $(LINK_FLAGS) $(DYLIB_KEY)
-.PRECIOUS: %_dll.$(OBJ)
-
-test_malloc_atexit.$(TEST_EXT): test_malloc_atexit.$(OBJ) test_malloc_atexit_dll.$(DLL) $(MALLOC_LIB)
-	$(CPLUS) $(OUTPUT_KEY)$@ $(CPLUS_FLAGS) $< $(MALLOC_PROXY_LIB) $(LINK_MALLOC_LIB) test_malloc_atexit_dll.$(LIBEXT) $(LIBS) $(LINK_FLAGS)
-
-MALLOC_TESTS = $(MALLOC_MAIN_TESTS) $(MALLOC_C_TESTS) test_malloc_whitebox.$(TEST_EXT) test_malloc_used_by_lib.$(TEST_EXT)
-ifneq (,$(MALLOCPROXY.DLL))
-MALLOC_TESTS += $(MALLOC_OVERLOAD_TESTS) test_malloc_lib_unload.$(TEST_EXT)
+test_malloc_atexit.$(TEST_EXT): MALLOCPROXY.LIB := -Wl,--no-as-needed $(MALLOCPROXY.LIB)
 endif
 
+MALLOC_M_CPLUS_TESTS =    test_malloc_whitebox.$(TEST_EXT) test_malloc_lib_unload.$(TEST_EXT) \
+        test_malloc_used_by_lib.$(TEST_EXT)
+MALLOC_NO_LIB_TESTS =     test_malloc_whitebox.$(TEST_EXT) test_malloc_lib_unload.$(TEST_EXT) \
+        test_malloc_used_by_lib.$(TEST_EXT) test_malloc_overload.$(TEST_EXT) test_malloc_atexit_dll.$(DLL)
+MALLOC_LINK_PROXY_TESTS = test_malloc_overload_proxy.$(TEST_EXT) test_malloc_atexit.$(TEST_EXT)
+MALLOC_ADD_DLL_TESTS =    test_malloc_lib_unload.$(TEST_EXT) test_malloc_used_by_lib.$(TEST_EXT) \
+        test_malloc_atexit.$(TEST_EXT)
+
+$(MALLOC_M_CPLUS_TESTS): CPLUS_FLAGS=$(M_CPLUS_FLAGS)
+$(MALLOC_M_CPLUS_TESTS): INCLUDES=$(M_INCLUDES)
+$(MALLOC_NO_LIB_TESTS): LINK_MALLOC.LIB=
+$(MALLOC_NO_LIB_TESTS): LINK_FLAGS+=$(LIBDL)
+$(MALLOC_LINK_PROXY_TESTS): LINK_MALLOC.LIB=$(LINK_MALLOCPROXY.LIB)
+$(MALLOC_ADD_DLL_TESTS): %.$(TEST_EXT): %_dll.$(DLL)
+$(MALLOC_ADD_DLL_TESTS): TEST_LIBS+=$(@:.$(TEST_EXT)=_dll.$(LIBEXT))
+
+test_malloc_over%.$(TEST_EXT): CPLUS_FLAGS=$(subst /MT,/MD,$(M_CPLUS_FLAGS))
+test_malloc_over%.$(TEST_EXT): INCLUDES=$(M_INCLUDES)
+test_malloc_overload_proxy.$(TEST_EXT): LINK_FLAGS+=$(LIBDL)
+
+test_malloc_whitebox.$(TEST_EXT): $(MALLOC_ASM.OBJ) version_string.ver
+test_malloc_whitebox.$(TEST_EXT): INCLUDES+=$(INCLUDE_KEY).
+test_malloc_whitebox.$(TEST_EXT): LINK_FILES+=$(MALLOC_ASM.OBJ)
+
+# Some _dll targets need to restore variables since they are changed by parent
+# target-specific rule of its .exe targets
+test_malloc_lib_unload_dll.$(DLL): CPLUS_FLAGS=$(ORIG_CPLUS_FLAGS)
+test_malloc_lib_unload_dll.$(DLL): INCLUDES=$(ORIG_INCLUDES)
+
+test_malloc_used_by_lib_dll.$(DLL): CPLUS_FLAGS=$(subst /MT,/LD,$(M_CPLUS_FLAGS))
+test_malloc_used_by_lib_dll.$(DLL): LINK_FILES+=$(ORIG_LINK_MALLOC.LIB)
+test_malloc_used_by_lib_dll.$(DLL): LIBDL=
+# -----------------------------------------------------
+# ---- The list of TBBMalloc test running commands ----
 # run_cmd is usually empty
-malloc_test: $(call cross_suffix,$(MALLOC.DLL)) malloc_test_no_depends
+malloc_test: $(MALLOC.DLL) malloc_test_no_depends
 
 malloc_test_no_depends: $(TEST_PREREQUISITE) $(MALLOC_TESTS)
 	$(run_cmd) ./test_malloc_pools.$(TEST_EXT) $(args) 1:4
 ifneq (,$(MALLOCPROXY.DLL))
 	$(run_cmd) ./test_malloc_atexit.$(TEST_EXT) $(args)
 	$(run_cmd) $(TEST_LAUNCHER) ./test_malloc_lib_unload.$(TEST_EXT) $(args)
-	$(run_cmd) $(TEST_LAUNCHER) -l $(call cross_suffix,$(MALLOCPROXY.DLL)) ./test_malloc_overload.$(TEST_EXT) $(args)
+	$(run_cmd) $(TEST_LAUNCHER) -l $(MALLOCPROXY.DLL) ./test_malloc_overload.$(TEST_EXT) $(args)
 	$(run_cmd) $(TEST_LAUNCHER) ./test_malloc_overload_proxy.$(TEST_EXT) $(args)
 endif
-	$(run_cmd) ./test_malloc_used_by_lib.$(TEST_EXT)
+	$(run_cmd) $(TEST_LAUNCHER) ./test_malloc_used_by_lib.$(TEST_EXT)
 	$(run_cmd) ./test_malloc_whitebox.$(TEST_EXT) $(args) 1:4
 	$(run_cmd) $(TEST_LAUNCHER) -u ./test_malloc_compliance.$(TEST_EXT) $(args) 1:4
 	$(run_cmd) ./test_ScalableAllocator.$(TEST_EXT) $(args)
@@ -209,6 +210,7 @@ endif
 	$(run_cmd) ./test_malloc_regression.$(TEST_EXT) $(args)
 	$(run_cmd) ./test_malloc_init_shutdown.$(TEST_EXT) $(args)
 	$(run_cmd) ./test_malloc_pure_c.$(TEST_EXT) $(args)
+# -----------------------------------------------------
 
 #------------------------------------------------------
 # End of rules for making the TBBMalloc unit tests
diff --git a/build/Makefile.tbbproxy b/build/Makefile.tbbproxy
index c8ae845..fc08703 100644
--- a/build/Makefile.tbbproxy
+++ b/build/Makefile.tbbproxy
@@ -1,4 +1,4 @@
-# Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+# Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 #
 # This file is part of Threading Building Blocks.
 #
@@ -67,7 +67,7 @@ $(PROXY.LIB): $(PROXY.OBJ)
 
 .PRECIOUS : %.$(ASMEXT)
 tbbproxy-asm.$(ASMEXT) : tbbproxy-$(tbb_os).$(ASMEXT) $(TBB.LST) $(TBB-OBJECTS.LST)
-	$(CPLUS) $(PREPROC_ONLY) $< $(INCLUDES) $(CPLUS_FLAGS) > $@
+	$(CPLUS) $(PREPROC_ONLY) $< $(INCLUDES) $(CPLUS_FLAGS) $(DEFINE_KEY)__TBB_BUILD=1 > $@
 
 .PHONY: tbbproxy
 ifeq (windows,$(tbb_os))
diff --git a/build/Makefile.test b/build/Makefile.test
index 3c28e18..bd53898 100644
--- a/build/Makefile.test
+++ b/build/Makefile.test
@@ -1,4 +1,4 @@
-# Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+# Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 #
 # This file is part of Threading Building Blocks.
 #
@@ -34,6 +34,7 @@ default: test_tbb_plain test_tbb_openmp test_tbb_cilk test_tbb_old
 tbb_root ?= $(TBBROOT)
 BUILDING_PHASE=1
 TEST_RESOURCE = $(TBB.RES)
+TESTFILE=test
 include $(tbb_root)/build/common.inc
 DEBUG_SUFFIX=$(findstring _debug,$(call cross_cfg,_$(cfg)))
 
@@ -42,8 +43,10 @@ DEBUG_SUFFIX=$(findstring _debug,$(call cross_cfg,_$(cfg)))
 #------------------------------------------------------------
 
 VPATH = $(tbb_root)/src/tbb/$(ASSEMBLY_SOURCE) $(tbb_root)/src/tbb $(tbb_root)/src/rml/client $(tbb_root)/src/old $(tbb_root)/src/test $(tbb_root)/src/perf
-TEST_USES_TBB=1 # it can be set to 0 for individual tests that do not depend on TBB
-CPLUS_FLAGS += $(if $(crosstest),$(DEFINE_KEY)__TBB_NO_IMPLICIT_LINKAGE=1) $(DEFINE_KEY)TEST_USES_TBB=$(TEST_USES_TBB)
+CPLUS_FLAGS += $(if $(crosstest),$(DEFINE_KEY)__TBB_NO_IMPLICIT_LINKAGE=1) $(if $(LINK_TBB.LIB),$(DEFINE_KEY)TEST_USES_TBB=1)
+
+TEST_PREREQUISITE+=$(TBB.LIB)
+LINK_FILES+=$(LINK_TBB.LIB)
 
 ifdef use_proxy
     USE_PROXY_FLAG = $(DEFINE_KEY)HARNESS_USE_RUNTIME_LOADER
@@ -52,27 +55,11 @@ ifdef use_proxy
     LIBS += $(LIBDL)
 endif
 
+TEST_SUFFIXES=secondary compiler_builtins pic deprecated
 include $(tbb_root)/build/common_rules.inc
 
-#$(1) - is the binary name
-#$(2) - is the input obj files 
-#$(3) - extra libs to link with
-define make-test-binary 
-	$(CPLUS) $(OUTPUT_KEY)$(strip $1) $(CPLUS_FLAGS) $(2) $(LINK_TBB.LIB) $(LIBS) $(3) $(LINK_FLAGS)
-endef 
-
-# Rule for generating executable test
-%.$(TEST_EXT): %.$(OBJ) $(TBB.LIB) $(if $(use_proxy),$(LINK_TBB.LIB))
-	$(call make-test-binary,$@,$<,$(AUX_LIBS)) 
-
-# Rules for generating a test DLL
-%_dll.$(DLL): LINK_FLAGS += $(DYLIB_KEY)
-%_dll.$(DLL): CPLUS_FLAGS += $(PIC_KEY)
-%_dll.$(DLL): %_dll.$(OBJ) $(TBB.LIB)
-	$(call make-test-binary,$@,$<,)
-.PRECIOUS: %_dll.$(OBJ) %_dll.$(DLL)
-
 # Rules for the tests, which use TBB in a dynamically loadable library
+test_model_plugin.$(TEST_EXT): LINK_TBB.LIB =
 test_model_plugin.$(TEST_EXT): CPLUS_FLAGS := $(CPLUS_FLAGS:$(USE_PROXY_FLAG)=)
 test_model_plugin.$(TEST_EXT): LIBS += $(LIBDL)
 test_model_plugin.$(TEST_EXT): test_model_plugin_dll.$(DLL)
@@ -90,10 +77,10 @@ INCLUDES += $(INCLUDE_KEY).
 
 $(SCHEDULER_DIRECTLY_INCLUDED): WARNING_KEY += $(WARNING_SUPPRESS)
 $(SCHEDULER_DIRECTLY_INCLUDED): LIBS += $(LIBDL)
-#tbb.lib must not be linked to scheduler white box tests in order to not violate ODR 
-$(SCHEDULER_DIRECTLY_INCLUDED): LINK_TBB.LIB = 
-$(SCHEDULER_DIRECTLY_INCLUDED): %.$(TEST_EXT) : %.$(OBJ) $(SCHEDULER_DEPENDENCIES)
-	$(call make-test-binary,$@,$^,)
+#tbb.lib must not be linked to scheduler white box tests in order to not violate ODR
+$(SCHEDULER_DIRECTLY_INCLUDED): LINK_TBB.LIB =
+$(SCHEDULER_DIRECTLY_INCLUDED): LINK_FILES += $(SCHEDULER_DEPENDENCIES)
+$(SCHEDULER_DIRECTLY_INCLUDED): $(SCHEDULER_DEPENDENCIES)
 
 # Tests that use some features of C++11
 TEST_TBB_CPP11 = test_lambda.$(TEST_EXT) test_cache_aligned_allocator_STL.$(TEST_EXT)
@@ -101,7 +88,6 @@ TEST_TBB_CPP11 = test_lambda.$(TEST_EXT) test_cache_aligned_allocator_STL.$(TEST
 ifneq (0,$(cpp0x))
 # Made CPP11 tests use NOSTRICT flags because -strict-ansi combined with
 # -std=c++0x on ICC 13.0 results in a compile error when stdlib is included
-$(TEST_TBB_CPP11):  CPLUS_FLAGS += $(CPP11_FLAGS)
 $(TEST_TBB_CPP11):  CPLUS_FLAGS := $(CPLUS_FLAGS_NOSTRICT)
 endif
 
@@ -110,28 +96,21 @@ TWICE_LINKED_TESTS = test_tbb_header.$(TEST_EXT) \
                      test_concurrent_unordered.$(TEST_EXT)
 
 %_secondary.$(OBJ): CPLUS_FLAGS+=$(DEFINE_KEY)__TBB_TEST_SECONDARY=1
-#todo unify all the rules that change name of the obj file
-%_secondary.$(OBJ): %.cpp
-	$(call make-cxx-obj,$@,$<,)
 
 # Detecting "multiple definition" linker error using the test that covers the whole library
-$(TWICE_LINKED_TESTS): %.$(TEST_EXT): %.$(OBJ) %_secondary.$(OBJ) $(TBB.LIB)
-	$(call make-test-binary,$@, $*.$(OBJ) $*_secondary.$(OBJ),$(AUX_LIBS))	
+$(TWICE_LINKED_TESTS): %.$(TEST_EXT): %.$(OBJ) %_secondary.$(OBJ)
+$(TWICE_LINKED_TESTS): LINK_FILES+=$(@:.$(TEST_EXT)=_secondary.$(OBJ))
 
-# Checks that TBB atomics work correctly in position independent code
-test_atomic_pic.$(OBJ): CPLUS_FLAGS+=$(PIC_KEY)
-test_atomic_pic.$(OBJ): CPLUS_FLAGS+=$(DEFINE_KEY)__TBB_TEST_PIC=1
-test_atomic_pic.$(OBJ): test_atomic.cpp
-	$(call make-cxx-obj,$@,$<,)
+# Checks that TBB works correctly in position independent code
+%_pic.$(OBJ): CPLUS_FLAGS+=$(PIC_KEY)
+%_pic.$(OBJ): CPLUS_FLAGS+=$(DEFINE_KEY)__TBB_TEST_PIC=1
 
 # Test of generic gcc port and icc intrinsics port
+%_compiler_builtins.$(TEST_EXT): LINK_TBB.LIB =
 %_compiler_builtins.$(OBJ): CPLUS_FLAGS+=$(DEFINE_KEY)__TBB_TEST_BUILTINS=1
-%_compiler_builtins.$(OBJ): %.cpp
-	$(call make-cxx-obj,$@,$<,)
 
 # The test_dynamic_link test doesn't depend on the TBB library
 test_dynamic_link.$(TEST_EXT): LINK_TBB.LIB =
-test_dynamic_link.$(TEST_EXT): TEST_USES_TBB=0
 test_dynamic_link.$(TEST_EXT): LIBS += $(LIBDL)
 
 # The main list of TBB tests
@@ -219,6 +198,7 @@ TEST_TBB_PLAIN.EXE = test_assembly.$(TEST_EXT)   \
 	test_concurrent_lru_cache.$(TEST_EXT)        \
 	test_examples_common_utility.$(TEST_EXT)     \
 	test_dynamic_link.$(TEST_EXT)                \
+	test_parallel_for_vectorization.$(TEST_EXT)  \
 	test_tbb_version.$(TEST_EXT)                 # insert new files right above
 
 TEST_TBB_PLAIN.EXE += $(TEST_TBB_CPP11)
@@ -279,6 +259,7 @@ test_tbb_plain: $(TEST_PREREQUISITE) $(SCHEDULER_DIRECTLY_INCLUDED) $(TEST_TBB_P
 	$(run_cmd) ./test_blocked_range2d.$(TEST_EXT) $(args) 1:4
 	$(run_cmd) ./test_blocked_range3d.$(TEST_EXT) $(args) 1:4
 	$(run_cmd) ./test_parallel_for.$(TEST_EXT) $(args) 1:4
+	$(run_cmd) ./test_parallel_for_vectorization.$(TEST_EXT) $(args)
 	$(run_cmd) ./test_parallel_sort.$(TEST_EXT) $(args) 1:4
 	$(run_cmd) ./test_aligned_space.$(TEST_EXT) $(args)
 	$(run_cmd) ./test_parallel_reduce.$(TEST_EXT) $(args) 1:4
@@ -349,21 +330,13 @@ test_tbb_plain: $(TEST_PREREQUISITE) $(SCHEDULER_DIRECTLY_INCLUDED) $(TEST_TBB_P
 	$(run_cmd) ./test_aggregator.$(TEST_EXT) $(args)
 	$(run_cmd) ./test_concurrent_lru_cache.$(TEST_EXT) $(args)
 
+# For deprecated files, we don't mind warnings etc., thus compilation rules are most relaxed
 CPLUS_FLAGS_DEPRECATED = $(DEFINE_KEY)TBB_DEPRECATED=1 $(subst $(WARNING_KEY),,$(CPLUS_FLAGS)) $(WARNING_SUPPRESS) $(INCLUDE_KEY)$(tbb_root)/src/test
-
 TEST_TBB_OLD.OBJ = test_concurrent_vector_v2.$(OBJ) test_concurrent_queue_v2.$(OBJ) test_mutex_v2.$(OBJ) test_task_scheduler_observer_v3.$(OBJ) 
+TEST_TBB_DEPRECATED.OBJ = test_concurrent_queue_deprecated.$(OBJ) test_concurrent_vector_deprecated.$(OBJ)
 
-TEST_TBB_DEPRECATED.OBJ = test_concurrent_queue_deprecated.$(OBJ) \
-	test_concurrent_vector_deprecated.$(OBJ) \
-
-
-# For deprecated files, we don't mind warnings etc., thus compilation rules are most relaxed
 $(TEST_TBB_OLD.OBJ): CPLUS_FLAGS := $(CPLUS_FLAGS_DEPRECATED)
-
 %_deprecated.$(OBJ): CPLUS_FLAGS := $(CPLUS_FLAGS_DEPRECATED)
-%_deprecated.$(OBJ): %.cpp
-	$(call make-cxx-obj,$@, $<,)
-.PRECIOUS: %_deprecated.$(OBJ)
 
 TEST_TBB_OLD.EXE = $(subst .$(OBJ),.$(TEST_EXT),$(TEST_TBB_OLD.OBJ) $(TEST_TBB_DEPRECATED.OBJ))
 
@@ -392,9 +365,11 @@ time_%: time_%.$(TEST_EXT) $(TEST_PREREQUISITE)
 	$(run_cmd) ./$< $(args)
 
 
-perf_%: AUX_LIBS = perf_dll.$(LIBEXT)
-perf_%: perf_dll.$(DLL) perf_%.$(TEST_EXT)
-	$(run_cmd) ./$@.$(TEST_EXT) $(args)
+# for some reason, "perf_%.$(TEST_EXT): perf_dll.$(DLL)" does not work TODO: find out how to apply pattern here
+perf_sched.$(TEST_EXT): perf_dll.$(DLL)
+perf_%.$(TEST_EXT): TEST_LIBS = perf_dll.$(LIBEXT)
+perf_%: perf_%.$(TEST_EXT) $(TEST_PREREQUISITE)
+	$(run_cmd) ./$< $(args)
 
 clean_%:
 	$(RM) $*.$(OBJ) $*.exe $*.$(DLL) $*.$(LIBEXT) $*.res $*.map $*.ilk $*.pdb $*.exp $*.*manifest $*.tmp $*.d *.ver
diff --git a/build/SunOS.gcc.inc b/build/SunOS.gcc.inc
index 27ff9e4..b7d46ea 100644
--- a/build/SunOS.gcc.inc
+++ b/build/SunOS.gcc.inc
@@ -1,4 +1,4 @@
-# Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+# Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 #
 # This file is part of Threading Building Blocks.
 #
@@ -38,8 +38,6 @@ WARNING_SUPPRESS = -Wno-parentheses -Wno-non-virtual-dtor
 DYLIB_KEY = -shared
 LIBDL = -ldl
 
-TBB_NOSTRICT = 1
-
 CPLUS = g++ 
 CONLY = gcc
 LIB_LINK_FLAGS = -shared
diff --git a/build/SunOS.inc b/build/SunOS.inc
index 4f8cfae..f135e07 100644
--- a/build/SunOS.inc
+++ b/build/SunOS.inc
@@ -1,4 +1,4 @@
-# Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+# Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 #
 # This file is part of Threading Building Blocks.
 #
@@ -61,7 +61,7 @@ RD?=rmdir
 MD?=mkdir -p
 NUL= /dev/null
 SLASH=/
-MAKE_VERSIONS=bash $(tbb_root)/build/version_info_sunos.sh $(CPLUS) $(CPLUS_FLAGS) $(INCLUDES) >version_string.ver
+MAKE_VERSIONS=bash $(tbb_root)/build/version_info_sunos.sh $(VERSION_FLAGS) >version_string.ver
 MAKE_TBBVARS=bash $(tbb_root)/build/generate_tbbvars.sh
 
 ifdef LD_LIBRARY_PATH
@@ -88,6 +88,4 @@ LINK_MALLOC.LIB = $(MALLOC.LIB)
 
 MALLOCPROXY.DLL = libtbbmalloc_proxy$(DEBUG_SUFFIX).$(DLL)
 
-TBB_NOSTRICT=1
-
 TEST_LAUNCHER=sh $(tbb_root)/build/test_launcher.sh $(largs)
diff --git a/build/SunOS.suncc.inc b/build/SunOS.suncc.inc
index 8f4ed7a..66c6341 100644
--- a/build/SunOS.suncc.inc
+++ b/build/SunOS.suncc.inc
@@ -1,4 +1,4 @@
-# Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+# Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 #
 # This file is part of Threading Building Blocks.
 #
@@ -39,8 +39,6 @@ WARNING_AS_ERROR_KEY = Warning as error
 WARNING_SUPPRESS = -erroff=unassigned,attrskipunsup,badargtype2w,badbinaryopw,wbadasg,wvarhidemem,inlasmpnu
 tbb_strict=0
 
-TBB_NOSTRICT = 1
-
 CPLUS = CC
 CONLY = cc
 LIB_LINK_FLAGS = -G -R . -M$(tbb_root)/build/suncc.map.pause
diff --git a/build/android.gcc.inc b/build/android.gcc.inc
index dc46a29..1a792f4 100644
--- a/build/android.gcc.inc
+++ b/build/android.gcc.inc
@@ -1,4 +1,4 @@
-# Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+# Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 #
 # This file is part of Threading Building Blocks.
 #
@@ -41,8 +41,6 @@ DYLIB_KEY = -shared
 EXPORT_KEY = -Wl,--version-script,
 LIBDL = -ldl
 
-TBB_NOSTRICT = 1
-
 CPLUS = $(tbb_tool_prefix)g++
 CONLY = $(tbb_tool_prefix)gcc
 
diff --git a/build/android.inc b/build/android.inc
index 45650fe..50de4e7 100644
--- a/build/android.inc
+++ b/build/android.inc
@@ -1,4 +1,4 @@
-# Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+# Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 #
 # This file is part of Threading Building Blocks.
 #
diff --git a/build/android.linux.inc b/build/android.linux.inc
index 887b541..95ef9e1 100644
--- a/build/android.linux.inc
+++ b/build/android.linux.inc
@@ -1,4 +1,4 @@
-# Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+# Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 #
 # This file is part of Threading Building Blocks.
 #
@@ -50,7 +50,7 @@ endif
 export runtime:=$(target)_cc$(gcc_version)_NDK$(ndk_version)_version_$(target_os_version)
 
 AR = $(tbb_tool_prefix)ar
-MAKE_VERSIONS=sh $(tbb_root)/build/version_info_android.sh $(CPLUS) $(CPLUS_FLAGS) $(CXX_ONLY_FLAGS) $(INCLUDES) >version_string.ver
+MAKE_VERSIONS=sh $(tbb_root)/build/version_info_android.sh $(VERSION_FLAGS) >version_string.ver
 
 ####### Build settings ########################################################
 
diff --git a/build/android.linux.launcher.sh b/build/android.linux.launcher.sh
index 758c472..5e94e04 100644
--- a/build/android.linux.launcher.sh
+++ b/build/android.linux.launcher.sh
@@ -1,6 +1,6 @@
 #!/bin/sh
 #
-# Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+# Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 #
 # This file is part of Threading Building Blocks.
 #
@@ -41,19 +41,17 @@
 #                        the default directory used is "/data/local/tmp/$(basename $PWD)".
 # Note: Do not remove the redirections to '/dev/null' in the script, otherwise the nightly test system will fail.
 
-do_cleanup()
-{
-    adb pull $targetdir/events.txt events.txt > /dev/null 2>&1
+do_cleanup() #
+{ #
+    adb pull $targetdir/events.txt events.txt > /dev/null 2>&1 #
     # Remove target directory on the device
-    adb shell "rm -r ${targetdir}; mkdir -p ${targetdir}" > /dev/null 2>&1
-}
-
-do_trap_cleanup()
-{
-    do_cleanup
-    exit -1
-}
-
+    adb shell "rm -r ${targetdir}; mkdir -p ${targetdir}" > /dev/null 2>&1 #
+} #
+do_trap_cleanup() #
+{ #
+    do_cleanup #
+    exit -1 #
+} #
 while getopts  "qvsr:ul:" flag #
 do case $flag in #
     s )  # Stress testing mode
@@ -74,45 +72,32 @@ do case $flag in #
          verbose=1 ;; #
 esac done #
 shift `expr $OPTIND - 1` #
-[ -z "$OUTPUT" ] && OUTPUT='| sed -e "s/\\r$//"'
-[ $verbose ] || SUPPRESS='>/dev/null'
+[ -z "$OUTPUT" ] && OUTPUT='| sed -e "s/\\r$//"' #
+[ $verbose ] || SUPPRESS='>/dev/null' #
 # Collect the executable name
-exename=$(basename $1)
-shift
-
+exename=$(basename $1) #
+shift #
 # Prepare the target directory on the device
-currentdir=$(basename $PWD)
-targetdir=${ANDROID_TEST_DIRECTORY:-/data/local/tmp/$currentdir}
-do_cleanup
+currentdir=$(basename $PWD) #
+targetdir=${ANDROID_TEST_DIRECTORY:-/data/local/tmp/$currentdir} #
+do_cleanup #
 trap do_trap_cleanup INT  # if someone hits control-c, cleanup the device
-
 # Collect the list of files to transfer to the target device, starting with executable itself.
-fnamelist="$exename"
-
+fnamelist="$exename" #
 # Add the C++ standard library from the NDK, which is required for all tests on Android.
-if [ ! -z "${LIB_GNU_STL_ANDROID}" ]; then
-	fnamelist="$fnamelist ${LIB_GNU_STL_ANDROID}/libgnustl_shared.so"
-else
-	fnamelist="$fnamelist libgnustl_shared.so"
-fi
-
-# Make ldpreload list
-mallocfiles="$(/bin/ls libtbbmalloc* 2>/dev/null)"
-#TODO: any better workaround instead calling echo 
-#(without echo there is error: /system/bin/sh: libtbbmalloc_proxy.so: not found)
-[ -z "$mallocfiles" ] || ldpreload="$ldpreload `echo $mallocfiles`"
-[ -z "$ldpreload" ] || run_prefix="LD_PRELOAD='$ldpreload' $run_prefix"
-
+if [ ! -z "${LIB_GNU_STL_ANDROID}" ]; then #
+	fnamelist="$fnamelist ${LIB_GNU_STL_ANDROID}/libgnustl_shared.so" #
+else #
+	fnamelist="$fnamelist libgnustl_shared.so" #
+fi #
 # Find the TBB libraries and add them to the list.
 # Add TBB libraries from the current directory that contains libtbb* files
-files="$(/bin/ls libtbb* 2> /dev/null)"
-[ -z "$files" ] || fnamelist="$fnamelist $files"
-
+files="$(/bin/ls libtbb* 2> /dev/null)" #
+[ -z "$files" ] || fnamelist="$fnamelist $files" #
 # Add any libraries built for specific tests.
-exeroot=${exename%\.*}
-files="$(/bin/ls ${exeroot}*.so ${exeroot}*.so.* 2> /dev/null)"
-[ -z "$files" ] || fnamelist="$fnamelist $files"
-
+exeroot=${exename%\.*} #
+files="$(/bin/ls ${exeroot}*.so ${exeroot}*.so.* 2> /dev/null)" #
+[ -z "$files" ] || fnamelist="$fnamelist $files" #
 # TODO: Add extra libraries from the Intel(R) Compiler for certain tests
 # found=$(echo $exename | egrep 'test_malloc_atexit\|test_malloc_lib_unload' 2> /dev/null)
 # if [ ! -z $found ] ; then
@@ -122,54 +107,49 @@ files="$(/bin/ls ${exeroot}*.so ${exeroot}*.so.* 2> /dev/null)"
 # fi
 
 # Transfer collected executable and library files to the target device.
-transfers_ok=1
-for fullname in $fnamelist; do {
-    if [ -r $fullname ]; then {
+transfers_ok=1 #
+for fullname in $fnamelist; do { #
+    if [ -r $fullname ]; then { #
         # Transfer the executable and libraries to top-level target directory
-        [ $verbose ] && echo -n "Pushing $fullname: "
-        eval "adb push $fullname ${targetdir}/$(basename $fullname) $SUPPRESS 2>&1"
-    }; else {
-        echo "Error: required file ${currentdir}/${fullname} for test $exename not available for transfer."
-        transfers_ok=0
-    }; fi
-}; done
-
-if [ "${transfers_ok}" = "0" ]; then {
-    do_cleanup
-    exit -1
-}; fi
-
+        [ $verbose ] && echo -n "Pushing $fullname: " #
+        eval "adb push $fullname ${targetdir}/$(basename $fullname) $SUPPRESS 2>&1" #
+    }; else { #
+        echo "Error: required file ${currentdir}/${fullname} for test $exename not available for transfer." #
+        transfers_ok=0 #
+    }; fi #
+}; done #
+if [ "${transfers_ok}" = "0" ]; then { #
+    do_cleanup #
+    exit -1 #
+}; fi #
 # Transfer input files used by example codes by scanning the executable argument list.
-for fullname in "$@"; do {
-    if [ -r $fullname ]; then {
-        directory=$(dirname $fullname)
-        filename=$(basename $fullname)
+for fullname in "$@"; do { #
+    if [ -r $fullname ]; then { #
+        directory=$(dirname $fullname) #
+        filename=$(basename $fullname) #
         # strip leading "." from fullname if present
-        if [ "$directory" = "\." ]; then {
-            directory=""
-            fullname=$filename
-        }; fi
+        if [ "$directory" = "\." ]; then { #
+            directory="" #
+            fullname=$filename #
+        }; fi #
         # Create the target directory to hold input file if necessary
-        if [ ! -z $directory ]; then {
-            eval "adb shell 'mkdir $directory' $SUPPRESS 2>&1"
-        }; fi
+        if [ ! -z $directory ]; then { #
+            eval "adb shell 'mkdir $directory' $SUPPRESS 2>&1" #
+        }; fi #
         # Transfer the input file to corresponding directory on target device
-        [ $verbose ] && echo -n "Pushing $fullname: "
-        eval "adb push $fullname ${targetdir}/$fullname $SUPPRESS 2>&1"
-    }; fi
-}; done
-
-[ $verbose ] && echo Running $run_prefix ./$exename $*
-run_env="$run_env cd $targetdir; export LD_LIBRARY_PATH=."
-
+        [ $verbose ] && echo -n "Pushing $fullname: " #
+        eval "adb push $fullname ${targetdir}/$fullname $SUPPRESS 2>&1" #
+    }; fi #
+}; done #
+# Set LD_PRELOAD if necessary
+[ -z "$ldpreload" ] || run_prefix="LD_PRELOAD='$ldpreload' $run_prefix" #
+[ $verbose ] && echo Running $run_prefix ./$exename $* #
+run_env="$run_env cd $targetdir; export LD_LIBRARY_PATH=." #
 # The return_code file is the best way found to return the status of the test execution when using adb shell.
 eval 'adb shell "$run_env; $run_prefix ./$exename $* || echo -n \$? >error_code"' "${OUTPUT}" #
-
 # Capture the return code string and remove the trailing \r from the return_code file contents
-err=`adb shell "cat $targetdir/error_code 2>/dev/null"`
-[ -z $err ] || echo $exename: exited with error $err
-
-do_cleanup
-
+err=`adb shell "cat $targetdir/error_code 2>/dev/null"` #
+[ -z $err ] || echo $exename: exited with error $err #
+do_cleanup #
 # Return the exit code of the test.
-exit $err
+exit $err #
diff --git a/build/android.macos.inc b/build/android.macos.inc
index 51169a6..77ec306 100644
--- a/build/android.macos.inc
+++ b/build/android.macos.inc
@@ -1,4 +1,4 @@
-# Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+# Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 #
 # This file is part of Threading Building Blocks.
 #
@@ -50,7 +50,7 @@ endif
 export runtime:=$(target)_cc$(gcc_version)_NDK$(ndk_version)_version_$(target_os_version)
 
 AR = $(tbb_tool_prefix)ar
-MAKE_VERSIONS=sh $(tbb_root)/build/version_info_android.sh $(CPLUS) $(CPLUS_FLAGS) $(CXX_ONLY_FLAGS) $(INCLUDES) >version_string.ver
+MAKE_VERSIONS=sh $(tbb_root)/build/version_info_android.sh $(VERSION_FLAGS) >version_string.ver
 
 ####### Build settings ########################################################
 
diff --git a/build/android.windows.inc b/build/android.windows.inc
index a282f5c..b5f0a06 100644
--- a/build/android.windows.inc
+++ b/build/android.windows.inc
@@ -1,4 +1,4 @@
-# Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+# Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 #
 # This file is part of Threading Building Blocks.
 #
@@ -50,7 +50,7 @@ endif
 export runtime:=$(target)_cc$(gcc_version)_NDK$(ndk_version)_version_$(target_os_version)
 
 AR = $(tbb_tool_prefix)ar
-MAKE_VERSIONS = cmd /C cscript /nologo /E:jscript $(subst \,/,$(tbb_root))/build/version_info_windows.js $(CONLY) $(arch) $(subst \,/,"$(CPLUS) $(CPLUS_FLAGS)") > version_string.ver
+MAKE_VERSIONS = cmd /C cscript /nologo /E:jscript $(subst \,/,$(tbb_root))/build/version_info_windows.js $(CONLY) $(arch) $(subst \,/,"$(VERSION_FLAGS)") > version_string.ver
 
 ####### Build settings ########################################################
 
diff --git a/build/big_iron.inc b/build/big_iron.inc
index 5ab706f..952a2af 100644
--- a/build/big_iron.inc
+++ b/build/big_iron.inc
@@ -1,4 +1,4 @@
-# Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+# Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 #
 # This file is part of Threading Building Blocks.
 #
@@ -50,6 +50,9 @@
     LIB_LINK_LIBS =
     LIB_OUTPUT_KEY =
     ifeq ($(tbb_os),linux)
+        ifeq ($(compiler),clang)
+            LIBS = -pthread -ldl -lrt
+        endif
         ifeq ($(compiler),gcc)
             LIBS = -pthread -ldl -lrt
         endif
diff --git a/build/common.inc b/build/common.inc
index 8a0057b..ba2e08e 100644
--- a/build/common.inc
+++ b/build/common.inc
@@ -1,4 +1,4 @@
-# Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+# Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 #
 # This file is part of Threading Building Blocks.
 #
@@ -86,10 +86,10 @@ endif  #target
 # Support for running debug tests to release library and vice versa
 flip_cfg=$(subst _flipcfg,_release,$(subst _release,_debug,$(subst _debug,_flipcfg,$(1))))
 cross_cfg = $(if $(crosstest),$(call flip_cfg,$(1)),$(1))
+# Setting default configuration to release
+cfg?=release
 
 ifdef BUILDING_PHASE
- # Setting default configuration to release
- cfg?=release
  # No lambdas or other C++0x extensions by default for compilers that implement them as experimental features
  # TODO: it should become unnecessary when all relevant tests are "moved" to the TEST_TBB_CPP11 set
  lambdas ?= 0
@@ -128,12 +128,13 @@ ifndef BUILDING_PHASE
   work_dir:=$(work_dir)
   # assign new value for tbb_root if path is not absolute (the filter keeps only /* paths)
   ifeq ($(filter /% $(SLASH)%, $(subst :, ,$(tbb_root)) ),)
+   full_tbb_root:=$(CURDIR)/$(tbb_root)
    ifeq ($(origin_build_dir),undefined)
    #relative path are needed here as a workaround to support whitespaces in path
     override tbb_root:=../..
    else
-    override tbb_root:=$(CURDIR)/$(tbb_root)
-  endif
+    override tbb_root:=$(full_tbb_root)
+   endif
   export tbb_root
   endif
  endif # !BUILDING_PHASE
diff --git a/build/common_rules.inc b/build/common_rules.inc
index 3bee74b..ae59d6b 100644
--- a/build/common_rules.inc
+++ b/build/common_rules.inc
@@ -1,4 +1,4 @@
-# Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+# Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 #
 # This file is part of Threading Building Blocks.
 #
@@ -24,6 +24,7 @@
 # invalidate any other reasons why the executable file might be covered by
 # the GNU General Public License.
 
+
 ifeq ($(tbb_strict),1)
   ifeq ($(WARNING_AS_ERROR_KEY),)
     $(error WARNING_AS_ERROR_KEY is empty)
@@ -50,8 +51,6 @@ ifndef TEST_EXT
     TEST_EXT = exe
 endif
 
-.PRECIOUS: %.$(OBJ) %.$(TEST_EXT) %.res
-
 INCLUDES += $(INCLUDE_KEY)$(tbb_root)/src $(INCLUDE_KEY)$(tbb_root)/src/rml/include $(INCLUDE_KEY)$(tbb_root)/include
 
 CPLUS_FLAGS += $(WARNING_KEY) $(CXXFLAGS)
@@ -72,23 +71,46 @@ endif
 
 CONLY ?= $(CPLUS)
 
-#$(1) - is the obj name
-#$(2) - is the input cpp files 
-#$(3) - extra flags to compile with
-define make-cxx-obj 
-	$(CPLUS) $(OUTPUTOBJ_KEY)$(strip $1) $(COMPILE_ONLY) $(CPLUS_FLAGS) $(CXX_ONLY_FLAGS) $(CXX_WARN_SUPPRESS) $(INCLUDES) $3 $2
+# The most generic rules
+#$(1) - is the target pattern
+define make-cxx-obj
+$1: %.cpp
+	$$(CPLUS) $$(OUTPUTOBJ_KEY)$$@ $$(COMPILE_ONLY) $$(CPLUS_FLAGS) $$(CXX_ONLY_FLAGS) $$(CXX_WARN_SUPPRESS) $$(INCLUDES) $$<
 endef
 
-# The most generic rules
-%.$(OBJ): %.cpp
-	$(call make-cxx-obj,$@, $<, )
+TEST_AFFIXES_OBJS=$(addsuffix .$(OBJ),$(addprefix %_,$(TEST_SUFFIXES)) $(addsuffix _%,$(TEST_PREFIXES)))
+
+# Make will not process the same recipe for each test pattern (since the dependency on the same %.cpp)
+# thus the separated recipes should be provided
+$(foreach t,%.$(OBJ) $(TEST_AFFIXES_OBJS),$(eval $(call make-cxx-obj,$(t))))
+
+.PRECIOUS: %.$(OBJ) %.$(TEST_EXT) %.res $(TEST_AFFIXES_OBJS)
 
 # Rules for generating a test DLL
 %_dll.$(OBJ): %.cpp
 	$(CPLUS) $(COMPILE_ONLY) $(OUTPUTOBJ_KEY)$@ $(CPLUS_FLAGS) $(PIC_KEY) $(DEFINE_KEY)_USRDLL $(INCLUDES) $<
 
+#$(1) - is the binary name
+#$(2) - is the input obj files and libraries
+define make-test-binary
+	$(CPLUS) $(OUTPUT_KEY)$(strip $1) $(CPLUS_FLAGS) $(2) $(LIBS) $(LINK_FLAGS)
+endef 
+
+# LINK_FILES the list of options to link test specific files (libraries and object files)
+LINK_FILES+=$(TEST_LIBS)
+# Rule for generating executable test
+%.$(TEST_EXT): %.$(OBJ) $(TEST_LIBS) $(TEST_PREREQUISITE) $(if $(use_proxy),$(PROXY.LIB))
+	$(call make-test-binary,$@,$< $(LINK_FILES))
+
+# Rules for generating a test DLL
+%_dll.$(DLL): LINK_FLAGS += $(PIC_KEY) $(DYLIB_KEY)
+%_dll.$(DLL): TEST_LIBS := $(subst %_dll.$(DLL),,$(TEST_LIBS))
+%_dll.$(DLL): %_dll.$(OBJ)
+	$(call make-test-binary,$@,$< $(subst %_dll.$(DLL),,$(LINK_FILES)))
+.PRECIOUS: %_dll.$(OBJ) %_dll.$(DLL)
+
 %.$(OBJ): %.c
-	$(CONLY) $(COMPILE_ONLY) $(C_FLAGS) $(INCLUDES) $<
+	$(CONLY) $(COMPILE_ONLY) $(OUTPUTOBJ_KEY)$@ $(C_FLAGS) $(INCLUDES) $<
 
 %.$(OBJ): %.asm
 	$(ASM) $(ASM_FLAGS) $<
@@ -111,21 +133,11 @@ endef
 	$(CPLUS) -S $(CPLUS_FLAGS) $(CXX_ONLY_FLAGS) $(INCLUDES) $<
 
 # Customizations
-
-ifeq (1,$(TBB_NOSTRICT))
-# GNU 3.2.3 headers have a ISO syntax that is rejected by Intel compiler in -strict-ansi mode.
-# The OS X* uses gcc, so the list is empty for that platform.
-# The files below need the -strict-ansi flag downgraded to -ansi to compile
-
-$(KNOWN_NOSTRICT): %.$(OBJ): %.cpp
-	$(CPLUS) $(COMPILE_ONLY) $(CPLUS_FLAGS_NOSTRICT) $(CXX_ONLY_FLAGS) $(CXX_WARN_SUPPRESS) $(INCLUDES) $<
-endif
-
 $(KNOWN_WARNINGS): %.$(OBJ): %.cpp
 	$(CPLUS) $(COMPILE_ONLY) $(subst $(WARNING_KEY),,$(CPLUS_FLAGS)) $(CXX_ONLY_FLAGS) $(CXX_WARN_SUPPRESS) $(INCLUDES) $<
 
-tbb_misc.$(OBJ): tbb_misc.cpp version_string.ver
-	$(CPLUS) $(COMPILE_ONLY) $(CPLUS_FLAGS) $(CXX_ONLY_FLAGS) $(CXX_WARN_SUPPRESS) $(INCLUDE_KEY). $(INCLUDES) $<
+tbb_misc.$(OBJ): version_string.ver
+tbb_misc.$(OBJ): INCLUDES+=$(INCLUDE_KEY).
 
 tbb_misc.E: tbb_misc.cpp version_string.ver
 	$(CPLUS) $(CPLUS_FLAGS) $(CXX_ONLY_FLAGS) $(INCLUDE_KEY). $(INCLUDES) $(PREPROC_ONLY) $< >$@
@@ -133,6 +145,9 @@ tbb_misc.E: tbb_misc.cpp version_string.ver
 %.res: %.rc version_string.ver $(TBB.MANIFEST)
 	rc /Fo$@ $(INCLUDES) $(filter /D%,$(CPLUS_FLAGS)) $<
 
+# TODO: add $(LIB_LINK_LIBS) $(LIB_LINK_FLAGS) (in a separate line?) and remove useless $(INCLUDES)
+VERSION_FLAGS=$(CPLUS) $(CPLUS_FLAGS) $(CXX_ONLY_FLAGS) $(INCLUDES)
+
 ifneq (,$(TBB.MANIFEST))
 $(TBB.MANIFEST):
 	cmd /C "echo #include ^<stdio.h^> >tbbmanifest.c"
@@ -142,8 +157,9 @@ $(TBB.MANIFEST):
 version_string.ver: $(TBB.MANIFEST)
 	$(MAKE_VERSIONS)
 	cmd /C "echo #define TBB_MANIFEST 1 >> version_string.ver"
-
+# TODO: fix parallel build by writting to a temporary file and rename it when complete
 else
+# TODO: make version strings directly representative for all the libraries
 version_string.ver:
 	$(MAKE_VERSIONS)
 endif
diff --git a/build/detect.js b/build/detect.js
index 1f85edb..6484f29 100644
--- a/build/detect.js
+++ b/build/detect.js
@@ -1,4 +1,4 @@
-// Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+// Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 //
 // This file is part of Threading Building Blocks.
 //
@@ -106,6 +106,7 @@ function doWork() {
 			var vc90=/MSVCR90\.DLL/mgi;
 			var vc100=/MSVCR100\.DLL/mgi;
 			var vc110=/MSVCR110\.DLL/mgi;
+			var vc120=/MSVCR120\.DLL/mgi;
 			var psdk=/MSVCRT\.DLL/mgi;
 			if ( mapContext.match(vc71) ) {
 				WScript.Echo( "vc7.1" );
@@ -117,6 +118,8 @@ function doWork() {
 				WScript.Echo( "vc10" );
 			} else if ( mapContext.match(vc110) ) {
 				WScript.Echo( "vc11" );
+			} else if ( mapContext.match(vc120) ) {
+				WScript.Echo( "vc12" );
 			} else {
 				WScript.Echo( "unknown" );
 			}
diff --git a/build/generate_tbbvars.bat b/build/generate_tbbvars.bat
index d4e869c..e3f43b8 100644
--- a/build/generate_tbbvars.bat
+++ b/build/generate_tbbvars.bat
@@ -1,6 +1,6 @@
 @echo off
 REM
-REM Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+REM Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 REM
 REM This file is part of Threading Building Blocks.
 REM
diff --git a/build/generate_tbbvars.sh b/build/generate_tbbvars.sh
index 3a83feb..7ff9799 100644
--- a/build/generate_tbbvars.sh
+++ b/build/generate_tbbvars.sh
@@ -1,6 +1,6 @@
 #!/bin/bash
 #
-# Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+# Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 #
 # This file is part of Threading Building Blocks.
 #
@@ -73,8 +73,7 @@ else #
 endif #
 ${TBB_CUSTOM_VARS_CSH} #
 EOF
-
 # Workaround for copying Android* specific libgnustl_shared.so library to "."
-if [ ! -z "${LIB_GNU_STL_ANDROID}" ]; then
-	cp ${LIB_GNU_STL_ANDROID}/libgnustl_shared.so .
-fi
+if [ ! -z "${LIB_GNU_STL_ANDROID}" ]; then #
+	cp ${LIB_GNU_STL_ANDROID}/libgnustl_shared.so . #
+fi #
diff --git a/build/index.html b/build/index.html
index 97e9120..851d9a2 100644
--- a/build/index.html
+++ b/build/index.html
@@ -232,7 +232,7 @@ See the Makefile infrastructure files for examples.
 <HR>
 <A HREF="../index.html">Up to parent directory</A>
 <P></P>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <P></P>
 Intel and Itanium are registered trademarks or trademarks of Intel Corporation or its
 subsidiaries in the United States and other countries.
diff --git a/build/linux.clang.inc b/build/linux.clang.inc
new file mode 100644
index 0000000..935d3c7
--- /dev/null
+++ b/build/linux.clang.inc
@@ -0,0 +1,125 @@
+# Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
+#
+# This file is part of Threading Building Blocks.
+#
+# Threading Building Blocks is free software; you can redistribute it
+# and/or modify it under the terms of the GNU General Public License
+# version 2 as published by the Free Software Foundation.
+#
+# Threading Building Blocks is distributed in the hope that it will be
+# useful, but WITHOUT ANY WARRANTY; without even the implied warranty
+# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Threading Building Blocks; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+#
+# As a special exception, you may use this file as part of a free software
+# library without restriction.  Specifically, if other files instantiate
+# templates or use macros or inline functions from this file, or you compile
+# this file and link it with other files to produce an executable, this
+# file does not by itself cause the resulting executable to be covered by
+# the GNU General Public License.  This exception does not however
+# invalidate any other reasons why the executable file might be covered by
+# the GNU General Public License.
+
+COMPILE_ONLY = -c -MMD
+PREPROC_ONLY = -E -x c++
+INCLUDE_KEY = -I
+DEFINE_KEY = -D
+OUTPUT_KEY = -o #
+OUTPUTOBJ_KEY = -o #
+PIC_KEY = -fPIC
+WARNING_AS_ERROR_KEY = -Werror
+WARNING_KEY = -Wall
+TEST_WARNING_KEY = -Wextra -Wshadow -Wcast-qual -Woverloaded-virtual -Wnon-virtual-dtor
+WARNING_SUPPRESS = -Wno-parentheses -Wno-non-virtual-dtor
+DYLIB_KEY = -shared
+EXPORT_KEY = -Wl,--version-script,
+LIBDL = -ldl
+
+CPLUS = clang++
+CONLY = clang
+LIB_LINK_FLAGS = $(DYLIB_KEY) -Wl,-soname=$(BUILDING_LIBRARY)
+LIBS += -lpthread -lrt
+LINK_FLAGS = -Wl,-rpath-link=.
+C_FLAGS = $(CPLUS_FLAGS)
+
+ifeq ($(cfg), release)
+        CPLUS_FLAGS = $(ITT_NOTIFY) -g -O2 -DUSE_PTHREAD
+endif
+ifeq ($(cfg), debug)
+        CPLUS_FLAGS = -DTBB_USE_DEBUG $(ITT_NOTIFY) -g -O0 -DUSE_PTHREAD
+endif
+
+ifeq (libc++,$(stdlib))
+    CPLUS_FLAGS += -stdlib=libc++
+    LIB_LINK_FLAGS += -stdlib=libc++
+endif
+
+CPP11_FLAGS = -std=c++11 -D_TBB_CPP0X
+
+ifneq (00,$(lambdas)$(cpp0x))
+    CXX_ONLY_FLAGS += $(CPP11_FLAGS)
+endif
+
+TBB_ASM.OBJ=
+MALLOC_ASM.OBJ=
+
+ifeq (intel64,$(arch))
+    #TODO: Fix compilation error and put it back
+    #ITT_NOTIFY = -DDO_ITT_NOTIFY
+    CPLUS_FLAGS += -m64
+    LIB_LINK_FLAGS += -m64
+endif
+
+ifeq (ia32,$(arch))
+    ITT_NOTIFY = -DDO_ITT_NOTIFY
+    CPLUS_FLAGS += -m32 -march=pentium4
+    LIB_LINK_FLAGS += -m32
+endif
+
+ifeq (ppc64,$(arch))
+    CPLUS_FLAGS += -m64
+    LIB_LINK_FLAGS += -m64
+endif
+
+ifeq (ppc32,$(arch))
+    CPLUS_FLAGS += -m32
+    LIB_LINK_FLAGS += -m32
+endif
+
+ifeq (bg,$(arch))
+    CPLUS = bgclang++
+    CONLY = bgclang
+endif
+
+#------------------------------------------------------------------------------
+# Setting assembler data.
+#------------------------------------------------------------------------------
+ASM = as
+ifeq (intel64,$(arch))
+    ASM_FLAGS += --64
+endif
+ifeq (ia32,$(arch))
+    ASM_FLAGS += --32
+endif
+ifeq ($(cfg),debug)
+    ASM_FLAGS += -g
+endif
+
+ASSEMBLY_SOURCE=$(arch)-gas
+#------------------------------------------------------------------------------
+# End of setting assembler data.
+#------------------------------------------------------------------------------
+
+#------------------------------------------------------------------------------
+# Setting tbbmalloc data.
+#------------------------------------------------------------------------------
+
+M_CPLUS_FLAGS = $(CPLUS_FLAGS) -fno-rtti -fno-exceptions
+
+#------------------------------------------------------------------------------
+# End of setting tbbmalloc data.
+#------------------------------------------------------------------------------
diff --git a/build/linux.gcc.inc b/build/linux.gcc.inc
index ddecbb5..12e2fda 100644
--- a/build/linux.gcc.inc
+++ b/build/linux.gcc.inc
@@ -1,4 +1,4 @@
-# Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+# Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 #
 # This file is part of Threading Building Blocks.
 #
@@ -40,8 +40,6 @@ DYLIB_KEY = -shared
 EXPORT_KEY = -Wl,--version-script,
 LIBDL = -ldl
 
-TBB_NOSTRICT = 1
-
 CPLUS = g++
 CONLY = gcc
 LIB_LINK_FLAGS = $(DYLIB_KEY) -Wl,-soname=$(BUILDING_LIBRARY)
@@ -63,6 +61,11 @@ ifneq (,$(shell gcc -dumpversion | egrep  "^4\.4"))
     WARNING_SUPPRESS += -Wno-strict-aliasing
 endif
 
+# gcc 4.8 and later support TSX intrinsics, but require command line switch to enable them
+ifneq (,$(shell gcc -dumpversion | egrep  "^4\.[8-9]"))
+    ENABLE_RTM += -mrtm
+endif
+
 ifeq ($(cfg), release)
         CPLUS_FLAGS = $(ITT_NOTIFY) -g -O2 -DUSE_PTHREAD
 endif
@@ -84,13 +87,13 @@ endif
 
 ifeq (intel64,$(arch))
     ITT_NOTIFY = -DDO_ITT_NOTIFY
-    CPLUS_FLAGS += -m64
+    CPLUS_FLAGS += -m64 $(ENABLE_RTM)
     LIB_LINK_FLAGS += -m64
 endif
 
 ifeq (ia32,$(arch))
     ITT_NOTIFY = -DDO_ITT_NOTIFY
-    CPLUS_FLAGS += -m32 -march=pentium4
+    CPLUS_FLAGS += -m32 -march=pentium4 $(ENABLE_RTM)
     LIB_LINK_FLAGS += -m32
 endif
 
@@ -104,7 +107,7 @@ ifeq (ppc32,$(arch))
     LIB_LINK_FLAGS += -m32
 endif
 
-ifeq (bgp,$(arch))
+ifeq (bg,$(arch))
     CPLUS = mpicxx
     CONLY = mpicc
 endif
diff --git a/build/linux.icc.inc b/build/linux.icc.inc
index 224e3e4..66bb2f3 100644
--- a/build/linux.icc.inc
+++ b/build/linux.icc.inc
@@ -1,4 +1,4 @@
-# Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+# Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 #
 # This file is part of Threading Building Blocks.
 #
@@ -38,8 +38,6 @@ EXPORT_KEY = -Wl,--version-script,
 NOINTRINSIC_KEY = -fno-builtin
 LIBDL = -ldl
 
-TBB_NOSTRICT = 1
-
 CPLUS = icpc
 CONLY = icc
 
@@ -88,7 +86,7 @@ ifneq (,$(codecov))
 endif
 
 ifneq (00,$(lambdas)$(cpp0x))
-	CPLUS_FLAGS += $(CPP11_FLAGS)
+	CXX_ONLY_FLAGS += $(CPP11_FLAGS)
 endif
 
 #------------------------------------------------------------------------------
diff --git a/build/linux.inc b/build/linux.inc
index 7f95cf0..ed09768 100644
--- a/build/linux.inc
+++ b/build/linux.inc
@@ -1,4 +1,4 @@
-# Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+# Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 #
 # This file is part of Threading Building Blocks.
 #
@@ -56,8 +56,8 @@ ifndef arch
         ifeq ($(uname_m),sparc64)
                 export arch:=sparc
         endif
-        ifeq ($(uname_m),armv71)
-                export arch :=armv7
+        ifeq ($(uname_m),armv7l)
+                export arch:=armv7
         endif
         ifndef arch
                 export arch:=$(uname_m)
@@ -85,7 +85,7 @@ RD?=rmdir
 MD?=mkdir -p
 NUL= /dev/null
 SLASH=/
-MAKE_VERSIONS=sh $(tbb_root)/build/version_info_linux.sh $(CPLUS) $(CPLUS_FLAGS) $(INCLUDES) >version_string.ver
+MAKE_VERSIONS=sh $(tbb_root)/build/version_info_linux.sh $(VERSION_FLAGS) >version_string.ver
 MAKE_TBBVARS=sh $(tbb_root)/build/generate_tbbvars.sh
 
 ifdef LD_LIBRARY_PATH
@@ -143,6 +143,4 @@ RML.DEF = $(RML_SERVER_ROOT)/lin-rml-export.def
 RML.DLL = $(RML_NO_VERSION.DLL).1
 RML.LIB = $(RML_NO_VERSION.DLL)
 
-TBB_NOSTRICT=1
-
 TEST_LAUNCHER=sh $(tbb_root)/build/test_launcher.sh $(largs)
diff --git a/build/linux.xl.inc b/build/linux.xl.inc
index 5197382..a626764 100644
--- a/build/linux.xl.inc
+++ b/build/linux.xl.inc
@@ -1,4 +1,4 @@
-# Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+# Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 #
 # This file is part of Threading Building Blocks.
 #
@@ -42,8 +42,6 @@ DYLIB_KEY = -qmkshrobj
 EXPORT_KEY = -Wl,--version-script,
 LIBDL = -ldl
 
-TBB_NOSTRICT = 1
-
 CPLUS = xlc++_r
 CONLY = xlc_r
 LIB_LINK_FLAGS = $(DYLIB_KEY) -Wl,-soname=$(BUILDING_LIBRARY)
@@ -95,7 +93,7 @@ ifeq (ppc32,$(arch))
     LIB_LINK_FLAGS += -q32
 endif
 
-ifeq (bgp,$(arch))
+ifeq (bg,$(arch))
     CPLUS = bgxlC_r
     CONLY = bgxlc_r
 endif
diff --git a/build/macos.clang.inc b/build/macos.clang.inc
index cdb6f62..ca28be7 100644
--- a/build/macos.clang.inc
+++ b/build/macos.clang.inc
@@ -1,4 +1,4 @@
-# Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+# Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 #
 # This file is part of Threading Building Blocks.
 #
diff --git a/build/macos.gcc.inc b/build/macos.gcc.inc
index 56df839..4654124 100644
--- a/build/macos.gcc.inc
+++ b/build/macos.gcc.inc
@@ -1,4 +1,4 @@
-# Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+# Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 #
 # This file is part of Threading Building Blocks.
 #
diff --git a/build/macos.icc.inc b/build/macos.icc.inc
index bed86c5..4e48939 100644
--- a/build/macos.icc.inc
+++ b/build/macos.icc.inc
@@ -1,4 +1,4 @@
-# Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+# Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 #
 # This file is part of Threading Building Blocks.
 #
@@ -67,7 +67,7 @@ ifneq (,$(codecov))
 endif
 
 ifneq (00,$(lambdas)$(cpp0x))
-	CPLUS_FLAGS += $(CPP11_FLAGS)
+	CXX_ONLY_FLAGS += $(CPP11_FLAGS)
 endif
 
 # ICC 14.0 and higher support clang environment
diff --git a/build/macos.inc b/build/macos.inc
index 6123013..96cce4e 100644
--- a/build/macos.inc
+++ b/build/macos.inc
@@ -1,4 +1,4 @@
-# Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+# Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 #
 # This file is part of Threading Building Blocks.
 #
@@ -85,7 +85,7 @@ RD?=rmdir
 MD?=mkdir -p
 NUL= /dev/null
 SLASH=/
-MAKE_VERSIONS=sh $(tbb_root)/build/version_info_macos.sh $(CPLUS) $(CPLUS_FLAGS) $(INCLUDES) >version_string.ver
+MAKE_VERSIONS=sh $(tbb_root)/build/version_info_macos.sh $(VERSION_FLAGS) >version_string.ver
 MAKE_TBBVARS=sh $(tbb_root)/build/generate_tbbvars.sh DY
 
 ifdef DYLD_LIBRARY_PATH
@@ -114,6 +114,4 @@ MALLOC.DLL = libtbbmalloc$(DEBUG_SUFFIX).$(MALLOC_DLL)
 MALLOC.LIB = $(MALLOC.DLL)
 LINK_MALLOC.LIB = $(MALLOC.LIB)
 
-TBB_NOSTRICT=1
-
 TEST_LAUNCHER=sh $(tbb_root)/build/test_launcher.sh $(largs)
diff --git a/build/mic.icc.inc b/build/mic.icc.inc
index e63c833..cb3c891 100644
--- a/build/mic.icc.inc
+++ b/build/mic.icc.inc
@@ -1,4 +1,4 @@
-# Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+# Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 #
 # This file is part of Threading Building Blocks.
 #
@@ -33,13 +33,11 @@ OUTPUTOBJ_KEY = -o #
 PIC_KEY = -fPIC
 WARNING_AS_ERROR_KEY = -Werror
 WARNING_KEY = -w1
-DYLIB_KEY = -shared
+DYLIB_KEY = -shared -Wl,-soname=$@
 EXPORT_KEY = -Wl,--version-script,
 NOINTRINSIC_KEY = -fno-builtin
 LIBDL = -ldl
 
-TBB_NOSTRICT = 1
-
 CPLUS = icpc
 CONLY = icc
 
@@ -64,7 +62,7 @@ TBB_ASM.OBJ=
 MALLOC_ASM.OBJ=
 
 ifneq (00,$(lambdas)$(cpp0x))
-    CPLUS_FLAGS += $(CPP11_FLAGS)
+    CXX_ONLY_FLAGS += $(CPP11_FLAGS)
 endif
 
 CPLUS_FLAGS += -DHARNESS_INCOMPLETE_SOURCES=1 -D__TBB_MIC_NATIVE -DTBB_USE_EXCEPTIONS=0 -opt-streaming-stores never
@@ -72,9 +70,9 @@ CPLUS += -mmic
 CONLY += -mmic
 LINK_FLAGS = -Wl,-rpath-link=. -rdynamic
 # Tell the icc to not link against libcilk*. Otherwise icc tries to link and emits a warning message.
-LIB_LINK_LIBS += -no-intel-extensions
+LIB_LINK_FLAGS += -no-intel-extensions
 # Do not depend on libirc etc dynamic libs. It makes 'native' execution easier for the users.
-LIB_LINK_LIBS += -static-intel
+LIB_LINK_FLAGS += -static-intel
 
 #------------------------------------------------------------------------------
 # Setting tbbmalloc data.
diff --git a/build/mic.linux.inc b/build/mic.linux.inc
index 6cf5dbb..2919de7 100644
--- a/build/mic.linux.inc
+++ b/build/mic.linux.inc
@@ -1,4 +1,4 @@
-# Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+# Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 #
 # This file is part of Threading Building Blocks.
 #
@@ -30,10 +30,14 @@ endif
 
 ifneq ($(BUILDING_PHASE),1)
   # The same build prefix should be used in offload.inc
-  export tbb_build_prefix?=mic_icc$(CPF_SUFFIX)
+  ifeq (,$(tbb_build_prefix))
+    tbb_build_prefix=mic_icc$(CPF_SUFFIX)
+  endif
+  # For examples
+  mic_tbb_build_prefix=$(tbb_build_prefix)
 endif
 
-MAKE_VERSIONS=sh $(tbb_root)/build/version_info_linux.sh $(CPLUS) $(CPLUS_FLAGS) $(INCLUDES) >version_string.ver
+MAKE_VERSIONS=sh $(tbb_root)/build/version_info_linux.sh $(VERSION_FLAGS) >version_string.ver
 MAKE_TBBVARS=sh $(tbb_root)/build/generate_tbbvars.sh MIC_ MIC_
 def_prefix=lin64
 
diff --git a/build/mic.linux.launcher.sh b/build/mic.linux.launcher.sh
index 319d598..53a4b02 100644
--- a/build/mic.linux.launcher.sh
+++ b/build/mic.linux.launcher.sh
@@ -1,6 +1,6 @@
 #!/bin/bash
 #
-# Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+# Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 #
 # This file is part of Threading Building Blocks.
 #
@@ -61,62 +61,104 @@ do case $flag in #
 esac done #
 shift `expr $OPTIND - 1` #
 [ $verbose ] || SUPPRESS='>/dev/null' #
-
+#
 # Collect the executable name
 fexename="$1" #
 exename=`basename $1` #
 shift #
 #
-RSH="sudo ssh mic0" #
+: ${MICDEV:=mic0} #
+RSH="sudo ssh $MICDEV" #
 RCP="sudo scp" #
+currentdir=$PWD #
 #
 # Prepare the target directory on the device
-currentdir=`basename $PWD` #
-targetdir=${TEST_DIRECTORY:-/mic0fs/$USER/$currentdir} #
+targetdir="`$RSH mktemp -d /tmp/tbbtestXXXXXX 2>/dev/null`" #
+# Prepare the temporary directory on the host
+hostdir="`mktemp -d /tmp/tbbtestXXXXXX 2>/dev/null`" #
+#
+function copy_files { #
+    eval "cp $* $hostdir/ $SUPPRESS 2>/dev/null || exit \$?" #
+    eval "$RCP $hostdir/* $MICDEV:$targetdir/ $SUPPRESS 2>/dev/null || exit \$?" #
+    eval "rm $hostdir/* $SUPPRESS 2>/dev/null || exit \$?" #
+} # copy files
+#
+function clean_all() { #
+    eval "$RSH rm -fr $targetdir $SUPPRESS" ||: #
+    eval "rm -fr $hostdir $SUPPRESS" ||: #
+} # clean all temporary files
+#
+function kill_interrupt() { #
+    echo -e "\n*** Killing remote $exename ***" && $RSH "killall $exename" #
+    clean_all #
+} # kill target process
 #
-# Remove leftover target directory on the device
-eval "$RSH \"rm -r $targetdir; mkdir -p $targetdir\" $SUPPRESS 2>&1 || exit \$?" #
-eval "$RCP $fexename mic0:$targetdir/ $SUPPRESS || exit \$?" #
+trap 'clean_all' SIGINT SIGQUIT # trap keyboard interrupt (control-c)
 #
-# Collect the list of files to transfer to the target device, starting with executable itself.
-ldd_list+="libtbbmalloc*.so* `$RSH ldd $targetdir/$exename | grep = | cut -d= -f1 2>/dev/null`" #
+# Transfer the test executable file and its auxiliary libraries (named as {test}_dll.so) to the target device.
+copy_files $fexename `ls ${exename%\.*}*.so 2>/dev/null ||:` #
+#
+# Collect all dependencies of the test and its auxiliary libraries to transfer them to the target device.
+ldd_list+="libtbbmalloc*.so* libirml*.so* `$RSH ldd $targetdir/\* | grep = | cut -d= -f1 2>/dev/null`" #
 fnamelist="" #
 #
 # Find the libraries and add them to the list.
-# For example, go through MIC_LD_LIBRARY_PATH and add TBB libraries from the first 
+# For example, go through MIC_LD_LIBRARY_PATH and add TBB libraries from the first
 # directory that contains tbb files
 mic_dir_list=`echo .:$MIC_LD_LIBRARY_PATH | tr : " "` #
 for name in $ldd_list; do # adds the first matched name in specified dirs
-    fnamelist+="`find $mic_dir_list -name $name -a -readable -print -quit 2>/dev/null` " #
+    fnamelist+="`find $mic_dir_list -name $name -a -readable -print -quit 2>/dev/null` "||: #
 done #
 #
-# Add any libraries built for specific tests.
-exeroot=${exename%\.*} #
-fnamelist+=`ls ${exeroot}*.so ${exeroot}*.so.* 2>/dev/null`||: #
-#
+# Remove extra spaces.
+fnamelist=`echo $fnamelist` #
 # Transfer collected executable and library files to the target device.
-eval "$RCP $fnamelist mic0:$targetdir/ $SUPPRESS || exit \$?" #
+[ -n "$fnamelist" ] && copy_files $fnamelist
 #
 # Transfer input files used by example codes by scanning the executable argument list.
+argfiles= #
 for fullname in "$@"; do if [ -r $fullname ]; then { #
     directory=$(dirname $fullname) #
     filename=$(basename $fullname) #
-    # strip leading "." from fullname if present
+    # Strip leading "." from fullname if present
     [ "$directory" = "." ] && directory="" && fullname="$filename" #
     # Create the target directory to hold input file if necessary
-    [ ! -z "$directory" ] && $RSH "mkdir -p $targetdir/$directory" $SUPPRESS 2>&1 #
-    # Transfer the input file to corresponding directory on target device
-    eval "$RCP $fullname mic0:$targetdir/$fullname $SUPPRESS 2>&1 || exit \$?" #
+    [ -n "$directory" ] && eval $RSH "mkdir -p $targetdir/$directory" $SUPPRESS 2>&1 #
+    [ -n "$directory" ] && directory=$directory/
+    argfiles+="$directory$fullname " #
 }; fi; done #
+[ -n "$argfiles" ] && copy_files $argfiles #
+#
+# Get the list of transferred files
+testfiles="`$RSH find $targetdir/ -type f | tr '\n' ' ' 2>/dev/null`" #
 #
 args=$* #
 [ $verbose ] && echo Running ./$exename $args #
 # Run the test on the target device
-kill_interrupt() { #
-echo -e "\n*** Killing remote $exename ***" && $RSH "killall $exename" #
-} # kill target process
 trap 'kill_interrupt' SIGINT SIGQUIT # trap keyboard interrupt (control-c)
 trap - ERR #
 $RSH "cd $targetdir; export LD_LIBRARY_PATH=.:\$LD_LIBRARY_PATH; $run_prefix ./$exename $args" #
+#
+# Delete the test files and get the list of output files
+outfiles=`$RSH rm $testfiles 2>/dev/null; find $targetdir/ -type f 2>/dev/null` ||: #
+if [ -n "$outfiles" ]; then #
+    for outfile in $outfiles; do #
+        filename=$(basename $outfile) #
+        subdir=$(dirname $outfile) #
+        subdir="${subdir#$targetdir}" #
+        [ -n $subdir ] subdir=$subdir/ #
+        # Create directories on host
+        [ ! -d "$hostdir/$subdir" ] && mkdir -p "$hostdir/$subdir" #
+        [ ! -d "$currentdir/$subdir" ] && mkdir -p "$currentdir/$subdir" #
+        # Copy the output file to the temporary directory on host
+        eval "$RCP -r '$MICDEV:${outfile#}' '$hostdir/$subdir$filename' $SUPPRESS 2>&1 || exit \$?" #
+        # Copy the output file from the temporary directory to the current directory
+        eval "cp '$hostdir/$subdir$filename' '$currentdir/$subdir$filename' $SUPPRESS 2>&1 || exit \$?" #
+    done #
+fi #
+#
+# Clean up temporary directories
+clean_all
+#
 # Return the exit code of the test.
 exit $? #
diff --git a/build/mic.offload.inc b/build/mic.offload.inc
index c934fc9..9b29679 100644
--- a/build/mic.offload.inc
+++ b/build/mic.offload.inc
@@ -1,4 +1,4 @@
-# Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+# Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 #
 # This file is part of Threading Building Blocks.
 #
@@ -31,140 +31,87 @@ ifneq (icc,$(compiler))
   $(error Only Intel(R) Compiler is supported for MIC offload compilation)
 endif
 
-tbb_offload_build_prefix?=mic_offload_icc$(CPF_SUFFIX)
 # The same build prefix should be used in mic.linux.inc
-export tbb_mic_build_prefix?=mic_icc$(CPF_SUFFIX)
-initial_tbb_root:=$(tbb_root)
+mic_tbb_build_prefix=mic_icc$(CPF_SUFFIX)
+MIC_OFFLOAD_NATIVE_PATH?=../$(mic_tbb_build_prefix)_$(cfg)
 
-ifndef BUILDING_PHASE
-tbb_native_debug:
-	$(MAKE) tbb_debug target=mic compiler=icc offload= tbb_root=$(initial_tbb_root)
-tbb_native_release:
-	$(MAKE) tbb_release target=mic compiler=icc offload= tbb_root=$(initial_tbb_root)
-tbbmalloc_native_debug:
-	$(MAKE) tbbmalloc_debug target=mic compiler=icc offload= tbb_root=$(initial_tbb_root)
-tbbmalloc_native_release:
-	$(MAKE) tbbmalloc_release target=mic compiler=icc offload= tbb_root=$(initial_tbb_root)
-rml_native_debug:
-	$(MAKE) rml_debug target=mic compiler=icc offload= tbb_root=$(initial_tbb_root)
-rml_native_release:
-	$(MAKE) rml_release target=mic compiler=icc offload= tbb_root=$(initial_tbb_root)
-tbb_native:
-	$(MAKE) tbb target=mic compiler=icc offload= tbb_root=$(initial_tbb_root)
-tbbmalloc_native:
-	$(MAKE) tbbmalloc target=mic compiler=icc offload= tbb_root=$(initial_tbb_root)
-rml_native:
-	$(MAKE) rml target=mic compiler=icc offload= tbb_root=$(initial_tbb_root)
-tbb_host_debug:
-	$(MAKE) tbb_debug compiler=icc offload= tbb_root=$(initial_tbb_root)
-tbb_host_release:
-	$(MAKE) tbb_release compiler=icc offload= tbb_root=$(initial_tbb_root)
-tbbmalloc_host_debug:
-	$(MAKE) tbbmalloc_debug compiler=icc offload= tbb_root=$(initial_tbb_root)
-tbbmalloc_host_release:
-	$(MAKE) tbbmalloc_release compiler=icc offload= tbb_root=$(initial_tbb_root)
+ifdef BUILDING_PHASE
+  ifeq ($(BUILDING_PHASE),1)
+    # Tests
+    export MIC_OFFLOAD_NATIVE_PATH
+    LINK_TBB_NATIVE.LIB=$(MIC_OFFLOAD_NATIVE_PATH)/$(TBB.LIB)
+    LINK_TBB.LIB=-offload-option,mic,ld,"$(LINK_TBB_NATIVE.LIB)" $(TBB.LIB)
+    LINK_MALLOC_NATIVE.LIB=$(MIC_OFFLOAD_NATIVE_PATH)/$(MALLOC.DLL)
+    LINK_MALLOC.LIB=-offload-option,mic,ld,"$(LINK_MALLOC_NATIVE.LIB)" $(MALLOC.LIB)
+    LINK_MALLOCPROXY_NATIVE.LIB=$(MIC_OFFLOAD_NATIVE_PATH)/$(MALLOCPROXY.DLL)
+    LINK_MALLOCPROXY.LIB=-offload-option,mic,ld,"$(LINK_MALLOCPROXY_NATIVE.LIB)" $(MALLOCPROXY.LIB)
+    
+    # Export extensions for test_launcher
+    export DLL
+    export TEST_EXT=offload.exe
+    OBJ=offload.o
+    
+    # Do not use -Werror because it is too strict for the early offload compiler.
+    # Need to set anything because WARNING_AS_ERROR_KEY should not be empty.
+    # Treat #2426 as a warning. Print errors only.
+    tbb_strict=0
+    WARNING_AS_ERROR_KEY = Warning as error
+    WARNING_KEY = -diag-warning 2426 -w0
+    
+    CXX_MIC_STUFF = -offload-attribute-target=mic -D__TBB_MIC_OFFLOAD=1 -offload-option,mic,compiler,"-D__TBB_MIC_OFFLOAD=1 $(CXX_MIC_NATIVE_STUFF)"
+    CXX_MIC_NATIVE_STUFF = -DHARNESS_INCOMPLETE_SOURCES=1 -D__TBB_MIC_NATIVE -DTBB_USE_EXCEPTIONS=0 
+    CPLUS_FLAGS += $(CXX_MIC_STUFF)
+    
+    .PHONY: FORCE
+    FORCE:
+    
+    $(MIC_OFFLOAD_NATIVE_PATH)/%_dll.$(DLL): FORCE
+	@$(MAKE) --no-print-directory -C "$(MIC_OFFLOAD_NATIVE_PATH)" target=mic offload= -f$(tbb_root)/build/Makefile.$(TESTFILE) $*_dll.$(DLL)
+    %_dll.$(DLL): $(MIC_OFFLOAD_NATIVE_PATH)/%_dll.$(DLL) FORCE
+	@$(MAKE) --no-print-directory offload= -f$(tbb_root)/build/Makefile.$(TESTFILE) $*_dll.$(DLL)
+    
+    .PRECIOUS: $(MIC_OFFLOAD_NATIVE_PATH)/%_dll.$(DLL)
 
-# The work_dir variable can not be set via target-specific variable mechanism
-# since it will affect other targets on which the target depends.
-# So work_dir is set via eval function inside the recipe.
-prepare_test_offload_dir_debug: initial_tbb_build_dir:=$(tbb_build_dir)
-prepare_test_offload_dir_debug: tbb_host_debug tbbmalloc_host_debug tbb_native_debug tbbmalloc_native_debug
-	$(eval work_dir=$(initial_tbb_build_dir)$(SLASH)$(tbb_offload_build_prefix))
-	$(shell $(MD) "$(work_dir)_debug$(SLASH)mic" >$(NUL) 2>$(NUL))
-	$(shell $(CP) "$(initial_tbb_build_dir)$(SLASH)$(tbb_build_prefix)_debug$(SLASH)lib"* "$(work_dir)_debug" >$(NUL) 2>$(NUL))
-	$(shell $(CP) "$(initial_tbb_build_dir)$(SLASH)$(tbb_mic_build_prefix)_debug$(SLASH)lib"* "$(work_dir)_debug$(SLASH)mic" >$(NUL) 2>$(NUL))
-	$(eval export TEST_COMPILATION=1)
+    %.$(TEST_EXT): LINK_FILES+=-offload-option,mic,ld,"$(addprefix $(MIC_OFFLOAD_NATIVE_PATH)/,$(TEST_LIBS))"
+    
+    TEST_LAUNCHER=sh $(tbb_root)/build/test_launcher.sh $(largs)
 
-prepare_test_offload_dir_release: initial_tbb_build_dir:=$(tbb_build_dir)
-prepare_test_offload_dir_release: tbb_host_release tbbmalloc_host_release tbb_native_release tbbmalloc_native_release
-	$(eval work_dir=$(initial_tbb_build_dir)$(SLASH)$(tbb_offload_build_prefix))
-	$(shell $(MD) "$(work_dir)_release$(SLASH)mic" >$(NUL) 2>$(NUL))
-	$(shell $(CP) "$(initial_tbb_build_dir)$(SLASH)$(tbb_build_prefix)_release$(SLASH)lib"* "$(work_dir)_release" >$(NUL) 2>$(NUL))
-	$(shell $(CP) "$(initial_tbb_build_dir)$(SLASH)$(tbb_mic_build_prefix)_release$(SLASH)lib"* "$(work_dir)_release$(SLASH)mic" >$(NUL) 2>$(NUL))
-	$(eval export TEST_COMPILATION=1)
-
-prepare_test_offload_dir: initial_tbb_build_dir:=$(tbb_build_dir)
-prepare_test_offload_dir: tbb tbbmalloc tbb_native tbbmalloc_native
-	$(eval work_dir=$(initial_tbb_build_dir)$(SLASH)$(tbb_offload_build_prefix))
-	$(shell $(MD) "$(work_dir)_debug$(SLASH)mic" >$(NUL) 2>$(NUL))
-	$(shell $(MD) "$(work_dir)_release$(SLASH)mic" >$(NUL) 2>$(NUL))
-	$(shell $(CP) "$(initial_tbb_build_dir)$(SLASH)$(tbb_build_prefix)_debug$(SLASH)lib"* "$(work_dir)_debug" >$(NUL) 2>$(NUL))
-	$(shell $(CP) "$(initial_tbb_build_dir)$(SLASH)$(tbb_build_prefix)_release$(SLASH)lib"* "$(work_dir)_release" >$(NUL) 2>$(NUL))
-	$(shell $(CP) "$(initial_tbb_build_dir)$(SLASH)$(tbb_mic_build_prefix)_debug$(SLASH)lib"* "$(work_dir)_debug$(SLASH)mic" >$(NUL) 2>$(NUL))
-	$(shell $(CP) "$(initial_tbb_build_dir)$(SLASH)$(tbb_mic_build_prefix)_release$(SLASH)lib"* "$(work_dir)_release$(SLASH)mic" >$(NUL) 2>$(NUL))
-	$(eval export TEST_COMPILATION=1)
-
-test: prepare_test_offload_dir
-tbb_test_debug: prepare_test_offload_dir_debug
-tbb_test_release: prepare_test_offload_dir_release
-tbbmalloc_test_debug: prepare_test_offload_dir_debug
-tbbmalloc_test_release: prepare_test_offload_dir_release
-rml_test_debug: rml_native_debug prepare_test_offload_dir_debug
-rml_test_release: rml_native_release prepare_test_offload_dir_release
-
-debug_% test_% stress_% time_% perf_%:: work_dir:=$(tbb_build_dir)$(SLASH)$(tbb_offload_build_prefix)
-debug_% test_% stress_% time_% perf_%:: export TEST_COMPILATION=1
-
-clean: work_dir:=$(tbb_build_dir)$(SLASH)$(tbb_offload_build_prefix)
-# The _clean* targets begin with an underscore symbol to prevent a collision with the clean_% template
-clean: _clean_mic_subdir_debug _clean_mic_subdir_release _clean_host _clean_mic
-clean_release: work_dir:=$(tbb_build_dir)$(SLASH)$(tbb_offload_build_prefix)
-clean_release: _clean_mic_subdir_release _clean_host_release _clean_mic_release
-clean_debug: work_dir:=$(tbb_build_dir)$(SLASH)$(tbb_offload_build_prefix)
-clean_debug: _clean_mic_subdir_debug _clean_host_debug _clean_mic_debug
-clean_%:: work_dir:=$(tbb_build_dir)$(SLASH)$(tbb_offload_build_prefix)
-
-_clean_mic_subdir_debug:
-	$(shell $(RM) $(work_dir)_debug$(SLASH)mic/$(SLASH)*.* >$(NUL) 2>$(NUL))
-	$(shell $(RD) $(work_dir)_debug$(SLASH)mic >$(NUL) 2>$(NUL))
-_clean_mic_subdir_release:
-	$(shell $(RM) $(work_dir)_release$(SLASH)mic/$(SLASH)*.* >$(NUL) 2>$(NUL))
-	$(shell $(RD) $(work_dir)_release$(SLASH)mic >$(NUL) 2>$(NUL))
-_clean_host:
-	$(MAKE) clean tbb_root=$(initial_tbb_root) offload=
-_clean_mic:
-	$(MAKE) clean target=mic tbb_root=$(initial_tbb_root) offload=
-_clean_host_release:
-	$(MAKE) clean_release tbb_root=$(initial_tbb_root) offload=
-_clean_host_debug:
-	$(MAKE) clean_debug tbb_root=$(initial_tbb_root) offload=
-_clean_mic_release:
-	$(MAKE) clean_release target=mic tbb_root=$(initial_tbb_root) offload=
-_clean_mic_debug:
-	$(MAKE) clean_debug target=mic tbb_root=$(initial_tbb_root) offload=
-endif
-
-ifeq ($(TEST_COMPILATION),1)
-  ifdef MIC_LD_LIBRARY_PATH
-    export MIC_LD_LIBRARY_PATH := ./mic:$(MIC_LD_LIBRARY_PATH)
+    ifdef MIC_LD_LIBRARY_PATH
+      export MIC_LD_LIBRARY_PATH := $(MIC_OFFLOAD_NATIVE_PATH):$(MIC_LD_LIBRARY_PATH)
+    else
+      export MIC_LD_LIBRARY_PATH := $(MIC_OFFLOAD_NATIVE_PATH)
+    endif
   else
-    export MIC_LD_LIBRARY_PATH := ./mic
+    # Examples
+    export UI = con
+    export x64 = 64
   endif
-  LINK_TBB.LIB=-offload-option,mic,ld,"./mic/$(TBB.LIB)" $(TBB.LIB)
-  LINK_MALLOC_LIB=-offload-option,mic,ld,"./mic/$(MALLOC.DLL)" $(MALLOC.DLL)
-  LINK_MALLOC_PROXY_LIB=-offload-option,mic,ld,"./mic/$(MALLOCPROXY.DLL)" $(MALLOCPROXY.DLL)
-  LINK_FLAGS =
-  LIB_LINK_FLAGS += $(DYLIB_KEY)
-  # Do not use -Werror because it is too strict for the early offload compiler.
-  # Need to set anything because WARNING_AS_ERROR_KEY should not be empty.
-  # Treat #2426 as a warning. Print errors only.
-  tbb_strict=0
-  WARNING_AS_ERROR_KEY = Warning as error
-  WARNING_KEY = -diag-warning 2426 -w0
-  # Enable mic-specific stuff.
-  CXX_MIC_STUFF = -offload-attribute-target=mic -D__TBB_MIC_OFFLOAD=1 \
-          -offload-option,mic,compiler,"-D__TBB_MIC_OFFLOAD=1 -DHARNESS_INCOMPLETE_SOURCES=1 -D__TBB_MIC_NATIVE -DTBB_USE_EXCEPTIONS=0"
-  CPLUS_FLAGS += $(CXX_MIC_STUFF)
-  export OFFLOAD_EXECUTION = 1
-  # Workaround to skip the RML tests in the offload mode
-  TBB_DEP_NON_RML_TEST =
-  TBB_DEP_RML_TEST =
-  RML_TBB_CLIENT.OBJ = 
-  RML_OMP_CLIENT.OBJ =
+else
+  # Libraries
+  LIB_TARGETS = tbb tbbmalloc tbbproxy rml
+  addsuffixes = $(foreach suff,$(1),$(addsuffix $(suff),$(2)))
+  
+  .PHONY: $(call addsuffixes, _debug _release _debug_mic _release_mic,$(LIB_TARGETS))
+  
+  # The dependence on *_debug and *_release targets unifies the offload support
+  # for top-level Makefile and src/Makefile
+  $(LIB_TARGETS): %: %_release %_debug
+  
+  # "override offload=" suppresses the "offload" variable value for nested makes
+  $(LIB_TARGETS) $(call addsuffixes, _debug _release,$(LIB_TARGETS)): override offload=
+  # Apply overriding for library builds
+  export offload
+  export tbb_build_prefix
+  # Add the dependency on target libraries
+  $(call addsuffixes, _debug _release,$(LIB_TARGETS)): %: %_mic
+  
+  # tbb_build_prefix should be overriden since we want to restart make in "clear" enviroment
+  $(call addsuffixes, _debug_mic _release_mic,$(LIB_TARGETS)): override tbb_build_prefix=
+  $(call addsuffixes, _debug_mic _release_mic,$(LIB_TARGETS)): %_mic:
+	@$(MAKE) --no-print-directory -C "$(full_tbb_root)/src" $* target=mic tbb_root=..
+  
+  mic_clean: override tbb_build_prefix=
+  mic_clean:
+	@$(MAKE) --no-print-directory -C "$(full_tbb_root)/src" clean offload= target=mic tbb_root=..
+  clean: mic_clean
 endif
-
-# detects whether examples are being built.
-ifeq ($(BUILDING_PHASE),0)
-  export UI = con
-  export x64 = 64
-endif # examples
diff --git a/build/test_launcher.bat b/build/test_launcher.bat
index 06903c4..f443f9d 100644
--- a/build/test_launcher.bat
+++ b/build/test_launcher.bat
@@ -1,6 +1,6 @@
 @echo off
 REM
-REM Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+REM Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 REM
 REM This file is part of Threading Building Blocks.
 REM
diff --git a/build/test_launcher.sh b/build/test_launcher.sh
index 52552f0..92ea4ff 100644
--- a/build/test_launcher.sh
+++ b/build/test_launcher.sh
@@ -1,6 +1,6 @@
 #!/bin/sh
 #
-# Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+# Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 #
 # This file is part of Threading Building Blocks.
 #
@@ -55,23 +55,26 @@ do case $flag in #
          verbose=1 ;; #
 esac done #
 shift `expr $OPTIND - 1` #
-if [ $OFFLOAD_EXECUTION ] ; then #
-    if [ -z $MIC_CARD ] ; then #
-        MIC_CARD=mic0 #
+if [ $MIC_OFFLOAD_NATIVE_PATH ] ; then #
+    LIB_NAME=${1/%.$TEST_EXT/_dll.$DLL} #
+    if [ -f "$MIC_OFFLOAD_NATIVE_PATH/$LIB_NAME" ]; then #
+       [ -z "$MIC_CARD" ] && MIC_CARD=mic0 #
+        TMPDIR_HOST=`mktemp -d /tmp/tbbtestXXXXXX` #
+        TMPDIR_MIC=`sudo ssh $MIC_CARD mktemp -d /tmp/tbbtestXXXXXX` #
+        sudo ssh $MIC_CARD "chmod +x $TMPDIR_MIC" #
+        # Test specific library may depend on libtbbmalloc*
+        cp "$MIC_OFFLOAD_NATIVE_PATH/$LIB_NAME" "$MIC_OFFLOAD_NATIVE_PATH"/libtbbmalloc* "$TMPDIR_HOST" >/dev/null 2>/dev/null #
+        sudo scp "$TMPDIR_HOST"/* $MIC_CARD:"$TMPDIR_MIC" >/dev/null 2>/dev/null #
+
+        LD_LIBRARY_PATH=$TMPDIR_MIC:$LD_LIBRARY_PATH #
+        export LD_LIBRARY_PATH #
     fi #
-    TMPDIR_HOST=$(mktemp -d /tmp/libtbbmallocXXXXXX) #
-    TMPDIR_MIC=$(sudo ssh $MIC_CARD mktemp -d /tmp/libtbbmallocXXXXXX) #
-    sudo ssh $MIC_CARD "chmod +x $TMPDIR_MIC" #
-    cp "./mic/libtbbmalloc"* "$TMPDIR_HOST" >/dev/null 2>/dev/null #
-    sudo scp "$TMPDIR_HOST"/* $MIC_CARD:"$TMPDIR_MIC" >/dev/null 2>/dev/null #
-    LD_LIBRARY_PATH=$TMPDIR_MIC:$LD_LIBRARY_PATH #
-    export LD_LIBRARY_PATH #
 fi #
-stressed() { echo Doing stress testing. Press Ctrl-C to terminate
+stressed() { echo Doing stress testing. Press Ctrl-C to terminate #
     while :; do $*; done;#
 } #
 repeated() { #
-    for i in $(seq 1 $repeat); do echo $i of $repeat:; $*; done;#
+    i=0; while [ "$i" -lt $repeat ]; do i=`expr $i + 1`; echo $i of $repeat:; $*; done #
 } #
 # Run the command line passed via parameters
 [ $verbose ] && echo Running $run_prefix $* #
@@ -79,8 +82,8 @@ export LD_PRELOAD #
 exec 4>&1 # extracting exit code of the first command in pipeline needs duplicated stdout
 # custom redirection needs eval, otherwise shell cannot parse it
 err=`eval '( $run_prefix $* || echo \$? >&3; )' ${OUTPUT} 3>&1 >&4` #
-[ -z $err ] || echo $1: exited with error $err
-if [ $OFFLOAD_EXECUTION ] ; then #
+[ -z "$err" ] || echo $1: exited with error $err #
+if [ $MIC_OFFLOAD_NATIVE_PATH ] ; then #
     sudo ssh $MIC_CARD rm -fr "$TMPDIR_MIC" >/dev/null 2>/dev/null #
     rm -fr "$TMPDIR_HOST" >/dev/null 2>/dev/null #
 fi #
diff --git a/build/version_info_aix.sh b/build/version_info_aix.sh
index da90d40..246d06b 100644
--- a/build/version_info_aix.sh
+++ b/build/version_info_aix.sh
@@ -1,6 +1,6 @@
 #!/bin/sh
 #
-# Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+# Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 #
 # This file is part of Threading Building Blocks.
 #
diff --git a/build/version_info_android.sh b/build/version_info_android.sh
index c4440a9..637136f 100644
--- a/build/version_info_android.sh
+++ b/build/version_info_android.sh
@@ -1,6 +1,6 @@
 #!/bin/sh
 #
-# Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+# Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 #
 # This file is part of Threading Building Blocks.
 #
diff --git a/build/version_info_linux.sh b/build/version_info_linux.sh
index c00143c..5498001 100644
--- a/build/version_info_linux.sh
+++ b/build/version_info_linux.sh
@@ -1,6 +1,6 @@
 #!/bin/sh
 #
-# Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+# Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 #
 # This file is part of Threading Building Blocks.
 #
diff --git a/build/version_info_macos.sh b/build/version_info_macos.sh
index 5970aad..0481695 100644
--- a/build/version_info_macos.sh
+++ b/build/version_info_macos.sh
@@ -1,6 +1,6 @@
 #!/bin/sh
 #
-# Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+# Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 #
 # This file is part of Threading Building Blocks.
 #
@@ -31,7 +31,7 @@ echo "#define __TBB_VERSION_STRINGS(N) \\"
 echo '#N": BUILD_HOST'"\t\t"`hostname -s`" ("`arch`")"'" ENDL \'
 echo '#N": BUILD_OS'"\t\t"`sw_vers -productName`" version "`sw_vers -productVersion`'" ENDL \'
 echo '#N": BUILD_KERNEL'"\t"`uname -v`'" ENDL \'
-echo '#N": BUILD_GCC'"\t\t"`gcc -v </dev/null 2>&1 | grep 'version'`'" ENDL \'
+echo '#N": BUILD_GCC'"\t\t"`gcc -v </dev/null 2>&1 | grep 'version '`'" ENDL \'
 [ -z "$COMPILER_VERSION" ] || echo '#N": BUILD_COMPILER'"\t"$COMPILER_VERSION'" ENDL \'
 echo '#N": BUILD_TARGET'"\t$arch on $runtime"'" ENDL \'
 echo '#N": BUILD_COMMAND'"\t"$*'" ENDL \'
diff --git a/build/version_info_sunos.sh b/build/version_info_sunos.sh
index 00dc2eb..e19ea34 100644
--- a/build/version_info_sunos.sh
+++ b/build/version_info_sunos.sh
@@ -1,6 +1,6 @@
 #!/bin/sh
 #
-# Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+# Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 #
 # This file is part of Threading Building Blocks.
 #
diff --git a/build/version_info_windows.js b/build/version_info_windows.js
index 3ed16b2..b33c38c 100644
--- a/build/version_info_windows.js
+++ b/build/version_info_windows.js
@@ -1,4 +1,4 @@
-// Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+// Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 //
 // This file is part of Threading Building Blocks.
 //
diff --git a/build/vs2008/index.html b/build/vs2008/index.html
new file mode 100644
index 0000000..d4a3747
--- /dev/null
+++ b/build/vs2008/index.html
@@ -0,0 +1,30 @@
+<HTML>
+<BODY>
+
+<H2>Overview</H2>
+This directory contains the visual studio* 2008 solution to build Intel® Threading Building Blocks.
+
+
+<H2>Files</H2>
+<DL>
+<DT><A HREF="makefile.sln">makefile.sln</A>
+<DD>Solution file.
+<DT><A HREF="tbb.vcproj">tbb.vcproj</A>
+<DD>Library project file.
+<DT><A HREF="tbbmalloc.vcproj">tbbmalloc.vcproj</A>
+<DD>Scalable allocator library project file. Allocator sources are expected to be located in <A HREF="../../src/tbbmalloc">../../src/tbbmalloc</A> folder.
+<DT><A HREF="tbbmalloc_proxy.vcproj">tbbmalloc_proxy.vcproj</A>
+<DD>Standard allocator replacement project file. 
+</DL>
+
+<HR>
+<A HREF="../index.html">Up to parent directory</A>
+<P></P>
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
+<P></P>
+Intel is a registered trademark or trademark of Intel Corporation
+or its subsidiaries in the United States and other countries.
+<p></p>
+* Other names and brands may be claimed as the property of others.
+</BODY>
+</HTML>
diff --git a/build/vsproject/makefile.sln b/build/vs2008/makefile.sln
similarity index 100%
rename from build/vsproject/makefile.sln
rename to build/vs2008/makefile.sln
diff --git a/build/vsproject/tbb.vcproj b/build/vs2008/tbb.vcproj
similarity index 100%
rename from build/vsproject/tbb.vcproj
rename to build/vs2008/tbb.vcproj
diff --git a/build/vsproject/tbbmalloc.vcproj b/build/vs2008/tbbmalloc.vcproj
similarity index 100%
rename from build/vsproject/tbbmalloc.vcproj
rename to build/vs2008/tbbmalloc.vcproj
diff --git a/build/vsproject/tbbmalloc_proxy.vcproj b/build/vs2008/tbbmalloc_proxy.vcproj
similarity index 100%
rename from build/vsproject/tbbmalloc_proxy.vcproj
rename to build/vs2008/tbbmalloc_proxy.vcproj
diff --git a/build/vsproject/version_string.ver b/build/vs2008/version_string.ver
similarity index 100%
copy from build/vsproject/version_string.ver
copy to build/vs2008/version_string.ver
diff --git a/build/vs2010/index.html b/build/vs2010/index.html
new file mode 100644
index 0000000..1bcbc7e
--- /dev/null
+++ b/build/vs2010/index.html
@@ -0,0 +1,30 @@
+<HTML>
+<BODY>
+
+<H2>Overview</H2>
+This directory contains the visual studio* 2010 solution to build Intel&reg Threading Building Blocks.
+
+
+<H2>Files</H2>
+<DL>
+<DT><A HREF="makefile.sln">makefile.sln</A>
+<DD>Solution file.
+<DT><A HREF="tbb.vcxproj">tbb.vcxproj</A>
+<DD>Library project file.
+<DT><A HREF="tbbmalloc.vcxproj">tbbmalloc.vcxproj</A>
+<DD>Scalable allocator library project file. Allocator sources are expected to be located in <A HREF="../../src/tbbmalloc">../../src/tbbmalloc</A> folder.
+<DT><A HREF="tbbmalloc_proxy.vcxproj">tbbmalloc_proxy.vcxproj</A>
+<DD>Standard allocator replacement project file. 
+</DL>
+
+<HR>
+<A HREF="../index.html">Up to parent directory</A>
+<P></P>
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
+<P></P>
+Intel is a registered trademark or trademark of Intel Corporation
+or its subsidiaries in the United States and other countries.
+<p></p>
+* Other names and brands may be claimed as the property of others.
+</BODY>
+</HTML>
diff --git a/build/vs2010/makefile.sln b/build/vs2010/makefile.sln
new file mode 100644
index 0000000..1174098
--- /dev/null
+++ b/build/vs2010/makefile.sln
@@ -0,0 +1,78 @@
+Microsoft Visual Studio Solution File, Format Version 11.00
+# Visual Studio 2010
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{8898CE0B-0BFB-45AE-AA71-83735ED2510D}"
+	ProjectSection(SolutionItems) = preProject
+		index.html = index.html
+	EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tbb", "tbb.vcxproj", "{F62787DD-1327-448B-9818-030062BCFAA5}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tbbmalloc", "tbbmalloc.vcxproj", "{B15F131E-328A-4D42-ADC2-9FF4CA6306D8}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tbbmalloc_proxy", "tbbmalloc_proxy.vcxproj", "{02F61511-D5B6-46E6-B4BB-DEAA96E6BCC7}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|Win32 = Debug|Win32
+		Debug|x64 = Debug|x64
+		Debug-MT|Win32 = Debug-MT|Win32
+		Debug-MT|x64 = Debug-MT|x64
+		Release|Win32 = Release|Win32
+		Release|x64 = Release|x64
+		Release-MT|Win32 = Release-MT|Win32
+		Release-MT|x64 = Release-MT|x64
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{F62787DD-1327-448B-9818-030062BCFAA5}.Debug|Win32.ActiveCfg = Debug|Win32
+		{F62787DD-1327-448B-9818-030062BCFAA5}.Debug|Win32.Build.0 = Debug|Win32
+		{F62787DD-1327-448B-9818-030062BCFAA5}.Debug|x64.ActiveCfg = Debug|x64
+		{F62787DD-1327-448B-9818-030062BCFAA5}.Debug|x64.Build.0 = Debug|x64
+		{F62787DD-1327-448B-9818-030062BCFAA5}.Debug-MT|Win32.ActiveCfg = Debug-MT|Win32
+		{F62787DD-1327-448B-9818-030062BCFAA5}.Debug-MT|Win32.Build.0 = Debug-MT|Win32
+		{F62787DD-1327-448B-9818-030062BCFAA5}.Debug-MT|x64.ActiveCfg = Debug-MT|x64
+		{F62787DD-1327-448B-9818-030062BCFAA5}.Debug-MT|x64.Build.0 = Debug-MT|x64
+		{F62787DD-1327-448B-9818-030062BCFAA5}.Release|Win32.ActiveCfg = Release|Win32
+		{F62787DD-1327-448B-9818-030062BCFAA5}.Release|Win32.Build.0 = Release|Win32
+		{F62787DD-1327-448B-9818-030062BCFAA5}.Release|x64.ActiveCfg = Release|x64
+		{F62787DD-1327-448B-9818-030062BCFAA5}.Release|x64.Build.0 = Release|x64
+		{F62787DD-1327-448B-9818-030062BCFAA5}.Release-MT|Win32.ActiveCfg = Release-MT|Win32
+		{F62787DD-1327-448B-9818-030062BCFAA5}.Release-MT|Win32.Build.0 = Release-MT|Win32
+		{F62787DD-1327-448B-9818-030062BCFAA5}.Release-MT|x64.ActiveCfg = Release-MT|x64
+		{F62787DD-1327-448B-9818-030062BCFAA5}.Release-MT|x64.Build.0 = Release-MT|x64
+		{B15F131E-328A-4D42-ADC2-9FF4CA6306D8}.Debug|Win32.ActiveCfg = Debug|Win32
+		{B15F131E-328A-4D42-ADC2-9FF4CA6306D8}.Debug|Win32.Build.0 = Debug|Win32
+		{B15F131E-328A-4D42-ADC2-9FF4CA6306D8}.Debug|x64.ActiveCfg = Debug|x64
+		{B15F131E-328A-4D42-ADC2-9FF4CA6306D8}.Debug|x64.Build.0 = Debug|x64
+		{B15F131E-328A-4D42-ADC2-9FF4CA6306D8}.Debug-MT|Win32.ActiveCfg = Debug-MT|Win32
+		{B15F131E-328A-4D42-ADC2-9FF4CA6306D8}.Debug-MT|Win32.Build.0 = Debug-MT|Win32
+		{B15F131E-328A-4D42-ADC2-9FF4CA6306D8}.Debug-MT|x64.ActiveCfg = Debug-MT|x64
+		{B15F131E-328A-4D42-ADC2-9FF4CA6306D8}.Debug-MT|x64.Build.0 = Debug-MT|x64
+		{B15F131E-328A-4D42-ADC2-9FF4CA6306D8}.Release|Win32.ActiveCfg = Release|Win32
+		{B15F131E-328A-4D42-ADC2-9FF4CA6306D8}.Release|Win32.Build.0 = Release|Win32
+		{B15F131E-328A-4D42-ADC2-9FF4CA6306D8}.Release|x64.ActiveCfg = Release|x64
+		{B15F131E-328A-4D42-ADC2-9FF4CA6306D8}.Release|x64.Build.0 = Release|x64
+		{B15F131E-328A-4D42-ADC2-9FF4CA6306D8}.Release-MT|Win32.ActiveCfg = Release-MT|Win32
+		{B15F131E-328A-4D42-ADC2-9FF4CA6306D8}.Release-MT|Win32.Build.0 = Release-MT|Win32
+		{B15F131E-328A-4D42-ADC2-9FF4CA6306D8}.Release-MT|x64.ActiveCfg = Release-MT|x64
+		{B15F131E-328A-4D42-ADC2-9FF4CA6306D8}.Release-MT|x64.Build.0 = Release-MT|x64
+		{02F61511-D5B6-46E6-B4BB-DEAA96E6BCC7}.Debug|Win32.ActiveCfg = Debug|Win32
+		{02F61511-D5B6-46E6-B4BB-DEAA96E6BCC7}.Debug|Win32.Build.0 = Debug|Win32
+		{02F61511-D5B6-46E6-B4BB-DEAA96E6BCC7}.Debug|x64.ActiveCfg = Debug|x64
+		{02F61511-D5B6-46E6-B4BB-DEAA96E6BCC7}.Debug|x64.Build.0 = Debug|x64
+		{02F61511-D5B6-46E6-B4BB-DEAA96E6BCC7}.Debug-MT|Win32.ActiveCfg = Debug-MT|Win32
+		{02F61511-D5B6-46E6-B4BB-DEAA96E6BCC7}.Debug-MT|Win32.Build.0 = Debug-MT|Win32
+		{02F61511-D5B6-46E6-B4BB-DEAA96E6BCC7}.Debug-MT|x64.ActiveCfg = Debug-MT|x64
+		{02F61511-D5B6-46E6-B4BB-DEAA96E6BCC7}.Debug-MT|x64.Build.0 = Debug-MT|x64
+		{02F61511-D5B6-46E6-B4BB-DEAA96E6BCC7}.Release|Win32.ActiveCfg = Release|Win32
+		{02F61511-D5B6-46E6-B4BB-DEAA96E6BCC7}.Release|Win32.Build.0 = Release|Win32
+		{02F61511-D5B6-46E6-B4BB-DEAA96E6BCC7}.Release|x64.ActiveCfg = Release|x64
+		{02F61511-D5B6-46E6-B4BB-DEAA96E6BCC7}.Release|x64.Build.0 = Release|x64
+		{02F61511-D5B6-46E6-B4BB-DEAA96E6BCC7}.Release-MT|Win32.ActiveCfg = Release-MT|Win32
+		{02F61511-D5B6-46E6-B4BB-DEAA96E6BCC7}.Release-MT|Win32.Build.0 = Release-MT|Win32
+		{02F61511-D5B6-46E6-B4BB-DEAA96E6BCC7}.Release-MT|x64.ActiveCfg = Release-MT|x64
+		{02F61511-D5B6-46E6-B4BB-DEAA96E6BCC7}.Release-MT|x64.Build.0 = Release-MT|x64
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+EndGlobal
diff --git a/build/vs2010/tbb.vcxproj b/build/vs2010/tbb.vcxproj
new file mode 100644
index 0000000..a74a554
--- /dev/null
+++ b/build/vs2010/tbb.vcxproj
@@ -0,0 +1,711 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="Debug-MT|Win32">
+      <Configuration>Debug-MT</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug-MT|x64">
+      <Configuration>Debug-MT</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug|Win32">
+      <Configuration>Debug</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug|x64">
+      <Configuration>Debug</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release-MT|Win32">
+      <Configuration>Release-MT</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release-MT|x64">
+      <Configuration>Release-MT</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|Win32">
+      <Configuration>Release</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{F62787DD-1327-448B-9818-030062BCFAA5}</ProjectGuid>
+    <RootNamespace>tbb</RootNamespace>
+    <Keyword>Win32Proj</Keyword>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-MT|Win32'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <CharacterSet>NotSet</CharacterSet>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug-MT|Win32'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <CharacterSet>NotSet</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <CharacterSet>NotSet</CharacterSet>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <CharacterSet>NotSet</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-MT|x64'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <CharacterSet>NotSet</CharacterSet>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug-MT|x64'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <CharacterSet>NotSet</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <CharacterSet>NotSet</CharacterSet>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <CharacterSet>NotSet</CharacterSet>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <ImportGroup Label="ExtensionSettings">
+    <Import Project="$(VCTargetsPath)\BuildCustomizations\masm.props" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release-MT|Win32'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug-MT|Win32'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release-MT|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug-MT|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros" />
+  <PropertyGroup>
+    <_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)ia32\$(Configuration)\</OutDir>
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)ia32\$(Configuration)\</IntDir>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</LinkIncremental>
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)intel64\$(Configuration)\</OutDir>
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)intel64\$(Configuration)\</IntDir>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</LinkIncremental>
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)ia32\$(Configuration)\</OutDir>
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)ia32\$(Configuration)\</IntDir>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)intel64\$(Configuration)\</OutDir>
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)intel64\$(Configuration)\</IntDir>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug-MT|Win32'">$(SolutionDir)ia32\$(Configuration)\</OutDir>
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug-MT|Win32'">$(SolutionDir)ia32\$(Configuration)\</IntDir>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug-MT|Win32'">false</LinkIncremental>
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug-MT|x64'">$(SolutionDir)intel64\$(Configuration)\</OutDir>
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug-MT|x64'">$(SolutionDir)intel64\$(Configuration)\</IntDir>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug-MT|x64'">false</LinkIncremental>
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release-MT|Win32'">$(SolutionDir)ia32\$(Configuration)\</OutDir>
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release-MT|Win32'">$(SolutionDir)ia32\$(Configuration)\</IntDir>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release-MT|Win32'">false</LinkIncremental>
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release-MT|x64'">$(SolutionDir)intel64\$(Configuration)\</OutDir>
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release-MT|x64'">$(SolutionDir)intel64\$(Configuration)\</IntDir>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release-MT|x64'">false</LinkIncremental>
+    <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug-MT|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
+    <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug-MT|Win32'" />
+    <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug-MT|Win32'" />
+    <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug-MT|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
+    <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug-MT|x64'" />
+    <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug-MT|x64'" />
+    <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
+    <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
+    <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
+    <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
+    <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
+    <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
+    <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release-MT|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
+    <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release-MT|Win32'" />
+    <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release-MT|Win32'" />
+    <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release-MT|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
+    <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release-MT|x64'" />
+    <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release-MT|x64'" />
+    <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
+    <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
+    <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
+    <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
+    <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
+    <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
+    <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectName)_debug</TargetName>
+    <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug-MT|Win32'">$(ProjectName)_debug</TargetName>
+    <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(ProjectName)_debug</TargetName>
+    <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug-MT|x64'">$(ProjectName)_debug</TargetName>
+  </PropertyGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <ClCompile>
+      <AdditionalOptions>  /c /MDd /Od /Ob0 /Zi /EHsc /GR /Zc:forScope /Zc:wchar_t /DTBB_USE_DEBUG /D__TBB_LIB_NAME=tbb_debug.lib /DDO_ITT_NOTIFY /GS /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0502 /D__TBB_BUILD=1 /W4 /WX /I../../src /I../../src/rml/include /I../../include</AdditionalOptions>
+      <Optimization>Disabled</Optimization>
+      <AdditionalIncludeDirectories>.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <MinimalRebuild>true</MinimalRebuild>
+      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level4</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+    </ClCompile>
+    <Link>
+      <AdditionalOptions>/DLL /MAP /DEBUG /fixed:no /INCREMENTAL:NO  /DEF:"$(IntDir)tbb.def" %(AdditionalOptions)</AdditionalOptions>
+      <OutputFile>$(OutDir)tbb_debug.dll</OutputFile>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <SubSystem>Windows</SubSystem>
+      <RandomizedBaseAddress>false</RandomizedBaseAddress>
+      <DataExecutionPrevention>
+      </DataExecutionPrevention>
+      <TargetMachine>MachineX86</TargetMachine>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <Midl>
+      <TargetEnvironment>X64</TargetEnvironment>
+    </Midl>
+    <ClCompile>
+      <AdditionalOptions>  /c /MDd /Od /Ob0 /Zi /EHsc /GR /Zc:forScope /Zc:wchar_t /DTBB_USE_DEBUG /D__TBB_LIB_NAME=tbb_debug.lib /DDO_ITT_NOTIFY /GS /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0502 /D__TBB_BUILD=1 /W4 /WX /I../../src /I../../src/rml/include /I../../include</AdditionalOptions>
+      <Optimization>Disabled</Optimization>
+      <AdditionalIncludeDirectories>.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <MinimalRebuild>true</MinimalRebuild>
+      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+      <BufferSecurityCheck>false</BufferSecurityCheck>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level4</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+      <ShowIncludes>false</ShowIncludes>
+    </ClCompile>
+    <Link>
+      <AdditionalOptions>/nologo /DLL /MAP /DEBUG /fixed:no /INCREMENTAL:NO  /DEF:"$(IntDir)tbb.def" %(AdditionalOptions)</AdditionalOptions>
+      <OutputFile>$(OutDir)tbb_debug.dll</OutputFile>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <SubSystem>Windows</SubSystem>
+      <RandomizedBaseAddress>false</RandomizedBaseAddress>
+      <DataExecutionPrevention>
+      </DataExecutionPrevention>
+      <TargetMachine>MachineX64</TargetMachine>
+      <ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <ClCompile>
+      <AdditionalOptions>  /c /MD /O2 /Zi /EHsc /GR /Zc:forScope /Zc:wchar_t /D__TBB_LIB_NAME=tbb.lib /DDO_ITT_NOTIFY /GS /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0502 /D__TBB_BUILD=1 /W4 /WX /I../../src /I../../src/rml/include /I../../include</AdditionalOptions>
+      <AdditionalIncludeDirectories>.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level4</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+    </ClCompile>
+    <Link>
+      <AdditionalOptions>/nologo /DLL /MAP /DEBUG /fixed:no /INCREMENTAL:NO  /DEF:"$(IntDir)tbb.def" %(AdditionalOptions)</AdditionalOptions>
+      <OutputFile>$(OutDir)tbb.dll</OutputFile>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <SubSystem>Windows</SubSystem>
+      <OptimizeReferences>true</OptimizeReferences>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <RandomizedBaseAddress>false</RandomizedBaseAddress>
+      <DataExecutionPrevention>
+      </DataExecutionPrevention>
+      <TargetMachine>MachineX86</TargetMachine>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <Midl>
+      <TargetEnvironment>X64</TargetEnvironment>
+    </Midl>
+    <ClCompile>
+      <AdditionalOptions>  /c /MD /O2 /Zi /EHsc /GR /Zc:forScope /Zc:wchar_t /D__TBB_LIB_NAME=tbb.lib /DDO_ITT_NOTIFY /GS /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0502 /D__TBB_BUILD=1 /W4 /WX /I../../src /I../../src/rml/include /I../../include</AdditionalOptions>
+      <AdditionalIncludeDirectories>.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+      <BufferSecurityCheck>false</BufferSecurityCheck>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level4</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+    </ClCompile>
+    <Link>
+      <AdditionalOptions>/nologo /DLL /MAP /DEBUG /fixed:no /INCREMENTAL:NO /DEF:"$(IntDir)tbb.def" %(AdditionalOptions)</AdditionalOptions>
+      <OutputFile>$(OutDir)tbb.dll</OutputFile>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <SubSystem>Windows</SubSystem>
+      <OptimizeReferences>true</OptimizeReferences>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <RandomizedBaseAddress>false</RandomizedBaseAddress>
+      <DataExecutionPrevention>
+      </DataExecutionPrevention>
+      <TargetMachine>MachineX64</TargetMachine>
+      <ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug-MT|Win32'">
+    <ClCompile>
+      <AdditionalOptions>  /c /MTd /Od /Ob0 /Zi /EHsc /GR /Zc:forScope /Zc:wchar_t /DTBB_USE_DEBUG /D__TBB_LIB_NAME=tbb_debug.lib /DDO_ITT_NOTIFY /GS /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0502 /D__TBB_BUILD=1 /W4 /WX /I../../src /I../../src/rml/include /I../../include</AdditionalOptions>
+      <Optimization>Disabled</Optimization>
+      <AdditionalIncludeDirectories>.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <MinimalRebuild>true</MinimalRebuild>
+      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level4</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+    </ClCompile>
+    <Link>
+      <AdditionalOptions>/DLL /MAP /DEBUG /fixed:no /INCREMENTAL:NO  /DEF:"$(IntDir)tbb.def" %(AdditionalOptions)</AdditionalOptions>
+      <OutputFile>$(OutDir)tbb_debug.dll</OutputFile>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <SubSystem>Windows</SubSystem>
+      <RandomizedBaseAddress>false</RandomizedBaseAddress>
+      <DataExecutionPrevention>
+      </DataExecutionPrevention>
+      <TargetMachine>MachineX86</TargetMachine>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug-MT|x64'">
+    <Midl>
+      <TargetEnvironment>X64</TargetEnvironment>
+    </Midl>
+    <ClCompile>
+      <AdditionalOptions>  /c /MTd /Od /Ob0 /Zi /EHsc /GR /Zc:forScope /Zc:wchar_t /DTBB_USE_DEBUG /D__TBB_LIB_NAME=tbb_debug.lib /DDO_ITT_NOTIFY /GS /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0502 /D__TBB_BUILD=1 /W4 /WX /I../../src /I../../src/rml/include /I../../include</AdditionalOptions>
+      <Optimization>Disabled</Optimization>
+      <AdditionalIncludeDirectories>.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <MinimalRebuild>true</MinimalRebuild>
+      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
+      <BufferSecurityCheck>false</BufferSecurityCheck>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level4</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+      <ShowIncludes>false</ShowIncludes>
+    </ClCompile>
+    <Link>
+      <AdditionalOptions>/nologo /DLL /MAP /DEBUG /fixed:no /INCREMENTAL:NO  /DEF:"$(IntDir)tbb.def" %(AdditionalOptions)</AdditionalOptions>
+      <OutputFile>$(OutDir)tbb_debug.dll</OutputFile>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <SubSystem>Windows</SubSystem>
+      <RandomizedBaseAddress>false</RandomizedBaseAddress>
+      <DataExecutionPrevention>
+      </DataExecutionPrevention>
+      <TargetMachine>MachineX64</TargetMachine>
+      <ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release-MT|Win32'">
+    <ClCompile>
+      <AdditionalOptions>  /c /MT /O2 /Zi /EHsc /GR /Zc:forScope /Zc:wchar_t /D__TBB_LIB_NAME=tbb.lib /DDO_ITT_NOTIFY /GS /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0502 /D__TBB_BUILD=1 /W4 /WX /I../../src /I../../src/rml/include /I../../include</AdditionalOptions>
+      <AdditionalIncludeDirectories>.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level4</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+    </ClCompile>
+    <Link>
+      <AdditionalOptions>/nologo /DLL /MAP /DEBUG /fixed:no /INCREMENTAL:NO  /DEF:"$(IntDir)tbb.def" %(AdditionalOptions)</AdditionalOptions>
+      <OutputFile>$(OutDir)tbb.dll</OutputFile>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <SubSystem>Windows</SubSystem>
+      <OptimizeReferences>true</OptimizeReferences>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <RandomizedBaseAddress>false</RandomizedBaseAddress>
+      <DataExecutionPrevention>
+      </DataExecutionPrevention>
+      <TargetMachine>MachineX86</TargetMachine>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release-MT|x64'">
+    <Midl>
+      <TargetEnvironment>X64</TargetEnvironment>
+    </Midl>
+    <ClCompile>
+      <AdditionalOptions>  /c /MT /O2 /Zi /EHsc /GR /Zc:forScope /Zc:wchar_t /D__TBB_LIB_NAME=tbb.lib /DDO_ITT_NOTIFY /GS /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0502 /D__TBB_BUILD=1 /W4 /WX /I../../src /I../../src/rml/include /I../../include</AdditionalOptions>
+      <AdditionalIncludeDirectories>.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
+      <BufferSecurityCheck>false</BufferSecurityCheck>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level4</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+    </ClCompile>
+    <Link>
+      <AdditionalOptions>/nologo /DLL /MAP /DEBUG /fixed:no /INCREMENTAL:NO /DEF:"$(IntDir)tbb.def" %(AdditionalOptions)</AdditionalOptions>
+      <OutputFile>$(OutDir)tbb.dll</OutputFile>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <SubSystem>Windows</SubSystem>
+      <OptimizeReferences>true</OptimizeReferences>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <RandomizedBaseAddress>false</RandomizedBaseAddress>
+      <DataExecutionPrevention>
+      </DataExecutionPrevention>
+      <TargetMachine>MachineX64</TargetMachine>
+      <ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+    <MASM Include="..\..\src\tbb\ia32-masm\atomic_support.asm">
+      <AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='Debug-MT|Win32'">/coff /Zi</AdditionalOptions>
+      <UseSafeExceptionHandlers Condition="'$(Configuration)|$(Platform)'=='Debug-MT|Win32'">true</UseSafeExceptionHandlers>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-MT|x64'">true</ExcludedFromBuild>
+      <AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">/coff /Zi</AdditionalOptions>
+      <UseSafeExceptionHandlers Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</UseSafeExceptionHandlers>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+      <AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='Release-MT|Win32'">/coff</AdditionalOptions>
+      <UseSafeExceptionHandlers Condition="'$(Configuration)|$(Platform)'=='Release-MT|Win32'">true</UseSafeExceptionHandlers>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-MT|x64'">true</ExcludedFromBuild>
+      <AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">/coff</AdditionalOptions>
+      <UseSafeExceptionHandlers Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</UseSafeExceptionHandlers>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+    </MASM>
+    <CustomBuild Include="..\..\src\tbb\intel64-masm\atomic_support.asm">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-MT|Win32'">true</ExcludedFromBuild>
+      <Message Condition="'$(Configuration)|$(Platform)'=='Debug-MT|x64'">building atomic_support.obj</Message>
+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug-MT|x64'">ml64 /Fo"intel64\Debug-MT\atomic_support.obj" /DUSE_FRAME_POINTER /DEM64T=1 /c /Zi ../../src/tbb/intel64-masm/atomic_support.asm
+</Command>
+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug-MT|x64'">intel64\Debug-MT\atomic_support.obj;%(Outputs)</Outputs>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">building atomic_support.obj</Message>
+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">ml64 /Fo"intel64\Debug\atomic_support.obj" /DUSE_FRAME_POINTER /DEM64T=1 /c /Zi ../../src/tbb/intel64-masm/atomic_support.asm
+</Command>
+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">intel64\Debug\atomic_support.obj;%(Outputs)</Outputs>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-MT|Win32'">true</ExcludedFromBuild>
+      <Message Condition="'$(Configuration)|$(Platform)'=='Release-MT|x64'">building atomic_support.obj</Message>
+      <Command Condition="'$(Configuration)|$(Platform)'=='Release-MT|x64'">ml64 /Fo"intel64\Release-MT\atomic_support.obj"  /DEM64T=1 /c /Zi ../../src/tbb/intel64-masm/atomic_support.asm
+</Command>
+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release-MT|x64'">intel64\Release-MT\atomic_support.obj;%(Outputs)</Outputs>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">building atomic_support.obj</Message>
+      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">ml64 /Fo"intel64\Release\atomic_support.obj"  /DEM64T=1 /c /Zi ../../src/tbb/intel64-masm/atomic_support.asm
+</Command>
+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">intel64\Release\atomic_support.obj;%(Outputs)</Outputs>
+    </CustomBuild>
+    <CustomBuild Include="..\..\src\tbb\intel64-masm\intel64_misc.asm">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-MT|Win32'">true</ExcludedFromBuild>
+      <Message Condition="'$(Configuration)|$(Platform)'=='Debug-MT|x64'">building intel64_misc.obj</Message>
+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug-MT|x64'">ml64 /Fo"intel64\Debug-MT\intel64_misc.obj" /DUSE_FRAME_POINTER /DEM64T=1 /c /Zi ../../src/tbb/intel64-masm/intel64_misc.asm
+</Command>
+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug-MT|x64'">intel64\Debug-MT\intel64_misc.obj;%(Outputs)</Outputs>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">building intel64_misc.obj</Message>
+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">ml64 /Fo"intel64\Debug\intel64_misc.obj" /DUSE_FRAME_POINTER /DEM64T=1 /c /Zi ../../src/tbb/intel64-masm/intel64_misc.asm
+</Command>
+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">intel64\Debug\intel64_misc.obj;%(Outputs)</Outputs>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-MT|Win32'">true</ExcludedFromBuild>
+      <Message Condition="'$(Configuration)|$(Platform)'=='Release-MT|x64'">building intel64_misc.obj</Message>
+      <Command Condition="'$(Configuration)|$(Platform)'=='Release-MT|x64'">ml64 /Fo"intel64\Release-MT\intel64_misc.obj"  /DEM64T=1 /c /Zi ../../src/tbb/intel64-masm/intel64_misc.asm
+</Command>
+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release-MT|x64'">intel64\Release-MT\intel64_misc.obj;%(Outputs)</Outputs>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">building intel64_misc.obj</Message>
+      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">ml64 /Fo"intel64\Release\intel64_misc.obj"  /DEM64T=1 /c /Zi ../../src/tbb/intel64-masm/intel64_misc.asm
+</Command>
+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">intel64\Release\intel64_misc.obj;%(Outputs)</Outputs>
+    </CustomBuild>
+    <MASM Include="..\..\src\tbb\ia32-masm\itsx.asm">
+      <AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='Debug-MT|Win32'">/coff /Zi</AdditionalOptions>
+      <UseSafeExceptionHandlers Condition="'$(Configuration)|$(Platform)'=='Debug-MT|Win32'">true</UseSafeExceptionHandlers>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-MT|x64'">true</ExcludedFromBuild>
+      <AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">/coff /Zi</AdditionalOptions>
+      <UseSafeExceptionHandlers Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</UseSafeExceptionHandlers>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+      <AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='Release-MT|Win32'">/coff</AdditionalOptions>
+      <UseSafeExceptionHandlers Condition="'$(Configuration)|$(Platform)'=='Release-MT|Win32'">true</UseSafeExceptionHandlers>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-MT|x64'">true</ExcludedFromBuild>
+      <AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">/coff</AdditionalOptions>
+      <UseSafeExceptionHandlers Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</UseSafeExceptionHandlers>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+    </MASM>
+    <CustomBuild Include="..\..\src\tbb\intel64-masm\itsx.asm">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-MT|Win32'">true</ExcludedFromBuild>
+      <Message Condition="'$(Configuration)|$(Platform)'=='Debug-MT|x64'">building itsx.obj</Message>
+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug-MT|x64'">ml64 /Fo"intel64\Debug-MT\itsx.obj" /DUSE_FRAME_POINTER /DEM64T=1 /c /Zi ../../src/tbb/intel64-masm/itsx.asm
+</Command>
+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug-MT|x64'">intel64\Debug-MT\itsx.obj;%(Outputs)</Outputs>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">building itsx.obj</Message>
+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">ml64 /Fo"intel64\Debug\itsx.obj" /DUSE_FRAME_POINTER /DEM64T=1 /c /Zi ../../src/tbb/intel64-masm/itsx.asm
+</Command>
+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">intel64\Debug\itsx.obj;%(Outputs)</Outputs>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-MT|Win32'">true</ExcludedFromBuild>
+      <Message Condition="'$(Configuration)|$(Platform)'=='Release-MT|x64'">building itsx.obj</Message>
+      <Command Condition="'$(Configuration)|$(Platform)'=='Release-MT|x64'">ml64 /Fo"intel64\Release-MT\itsx.obj"  /DEM64T=1 /c /Zi ../../src/tbb/intel64-masm/itsx.asm
+</Command>
+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release-MT|x64'">intel64\Release-MT\itsx.obj;%(Outputs)</Outputs>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">building itsx.obj</Message>
+      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">ml64 /Fo"intel64\Release\itsx.obj"  /DEM64T=1 /c /Zi ../../src/tbb/intel64-masm/itsx.asm
+</Command>
+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">intel64\Release\itsx.obj;%(Outputs)</Outputs>
+    </CustomBuild>
+    <MASM Include="..\..\src\tbb\ia32-masm\lock_byte.asm">
+      <AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='Debug-MT|Win32'">/coff /Zi</AdditionalOptions>
+      <UseSafeExceptionHandlers Condition="'$(Configuration)|$(Platform)'=='Debug-MT|Win32'">true</UseSafeExceptionHandlers>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-MT|x64'">true</ExcludedFromBuild>
+      <AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='Debug-MT|x64'">/coff /Zi</AdditionalOptions>
+      <AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">/coff /Zi</AdditionalOptions>
+      <UseSafeExceptionHandlers Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</UseSafeExceptionHandlers>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+      <AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">/coff /Zi</AdditionalOptions>
+      <AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='Release-MT|Win32'">/coff</AdditionalOptions>
+      <UseSafeExceptionHandlers Condition="'$(Configuration)|$(Platform)'=='Release-MT|Win32'">true</UseSafeExceptionHandlers>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-MT|x64'">true</ExcludedFromBuild>
+      <AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">/coff</AdditionalOptions>
+      <UseSafeExceptionHandlers Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</UseSafeExceptionHandlers>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+    </MASM>
+  </ItemGroup>
+  <ItemGroup>
+    <CustomBuild Include="..\..\src\tbb\win32-tbb-export.def">
+      <Message Condition="'$(Configuration)|$(Platform)'=='Debug-MT|Win32'">generating tbb.def file</Message>
+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug-MT|Win32'">cl /nologo /TC /EP ../../src/tbb/win32-tbb-export.def /DTBB_USE_DEBUG /DDO_ITT_NOTIFY /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0400 /D__TBB_BUILD=1 /I../../src /I../../include >"$(IntDir)tbb.def"
+</Command>
+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug-MT|Win32'">$(IntDir)tbb.def;%(Outputs)</Outputs>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-MT|x64'">true</ExcludedFromBuild>
+      <Message Condition="'$(Configuration)|$(Platform)'=='Debug-MT|x64'">generating tbb.def file</Message>
+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug-MT|x64'">cl /nologo /TC /EP ../../src/tbb/win32-tbb-export.def /DTBB_USE_DEBUG /DDO_ITT_NOTIFY /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0400 /D__TBB_BUILD=1 >"$(IntDir)tbb.def"
+</Command>
+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug-MT|x64'">$(IntDir)tbb.def;%(Outputs)</Outputs>
+      <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">generating tbb.def file</Message>
+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">cl /nologo /TC /EP ../../src/tbb/win32-tbb-export.def /DTBB_USE_DEBUG /DDO_ITT_NOTIFY /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0400 /D__TBB_BUILD=1 /I../../src /I../../include >"$(IntDir)tbb.def"
+</Command>
+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(IntDir)tbb.def;%(Outputs)</Outputs>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+      <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">generating tbb.def file</Message>
+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">cl /nologo /TC /EP ../../src/tbb/win32-tbb-export.def /DTBB_USE_DEBUG /DDO_ITT_NOTIFY /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0400 /D__TBB_BUILD=1 >"$(IntDir)tbb.def"
+</Command>
+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(IntDir)tbb.def;%(Outputs)</Outputs>
+      <Message Condition="'$(Configuration)|$(Platform)'=='Release-MT|Win32'">generating tbb.def file</Message>
+      <Command Condition="'$(Configuration)|$(Platform)'=='Release-MT|Win32'">cl /nologo /TC /EP ../../src/tbb/win32-tbb-export.def /DTBB_USE_DEBUG /DDO_ITT_NOTIFY /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0400 /D__TBB_BUILD=1 /I../../src /I../../include >"$(IntDir)tbb.def"
+</Command>
+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release-MT|Win32'">$(IntDir)tbb.def;%(Outputs)</Outputs>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-MT|x64'">true</ExcludedFromBuild>
+      <Message Condition="'$(Configuration)|$(Platform)'=='Release-MT|x64'">generating tbb.def file</Message>
+      <Command Condition="'$(Configuration)|$(Platform)'=='Release-MT|x64'">cl /nologo /TC /EP ../../src/tbb/win32-tbb-export.def /DTBB_USE_DEBUG /DDO_ITT_NOTIFY /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0400 /D__TBB_BUILD=1 >"$(IntDir)tbb.def"
+</Command>
+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release-MT|x64'">$(IntDir)tbb.def;%(Outputs)</Outputs>
+      <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">generating tbb.def file</Message>
+      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">cl /nologo /TC /EP ../../src/tbb/win32-tbb-export.def /DTBB_USE_DEBUG /DDO_ITT_NOTIFY /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0400 /D__TBB_BUILD=1 /I../../src /I../../include >"$(IntDir)tbb.def"
+</Command>
+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(IntDir)tbb.def;%(Outputs)</Outputs>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+      <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">generating tbb.def file</Message>
+      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">cl /nologo /TC /EP ../../src/tbb/win32-tbb-export.def /DTBB_USE_DEBUG /DDO_ITT_NOTIFY /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0400 /D__TBB_BUILD=1 >"$(IntDir)tbb.def"
+</Command>
+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(IntDir)tbb.def;%(Outputs)</Outputs>
+    </CustomBuild>
+    <CustomBuild Include="..\..\src\tbb\win64-tbb-export.def">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-MT|Win32'">true</ExcludedFromBuild>
+      <Message Condition="'$(Configuration)|$(Platform)'=='Debug-MT|Win32'">generating tbb.def file</Message>
+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug-MT|Win32'">cl /nologo /TC /EP ../../src/tbb/win64-tbb-export.def /DTBB_USE_DEBUG /DDO_ITT_NOTIFY /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0400 /D__TBB_BUILD=1 >"$(IntDir)tbb.def"
+</Command>
+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug-MT|Win32'">$(IntDir)tbb.def;%(Outputs)</Outputs>
+      <Message Condition="'$(Configuration)|$(Platform)'=='Debug-MT|x64'">generating tbb.def file</Message>
+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug-MT|x64'">cl /nologo /TC /EP ../../src/tbb/win64-tbb-export.def /DTBB_USE_DEBUG /DDO_ITT_NOTIFY /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0400 /D__TBB_BUILD=1 /I../../src /I../../include >"$(IntDir)tbb.def"
+</Command>
+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug-MT|x64'">$(IntDir)tbb.def;%(Outputs)</Outputs>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">generating tbb.def file</Message>
+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">cl /nologo /TC /EP ../../src/tbb/win64-tbb-export.def /DTBB_USE_DEBUG /DDO_ITT_NOTIFY /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0400 /D__TBB_BUILD=1 >"$(IntDir)tbb.def"
+</Command>
+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(IntDir)tbb.def;%(Outputs)</Outputs>
+      <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">generating tbb.def file</Message>
+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">cl /nologo /TC /EP ../../src/tbb/win64-tbb-export.def /DTBB_USE_DEBUG /DDO_ITT_NOTIFY /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0400 /D__TBB_BUILD=1 /I../../src /I../../include >"$(IntDir)tbb.def"
+</Command>
+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(IntDir)tbb.def;%(Outputs)</Outputs>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-MT|Win32'">true</ExcludedFromBuild>
+      <Message Condition="'$(Configuration)|$(Platform)'=='Release-MT|Win32'">generating tbb.def file</Message>
+      <Command Condition="'$(Configuration)|$(Platform)'=='Release-MT|Win32'">cl /nologo /TC /EP ../../src/tbb/win64-tbb-export.def /DTBB_USE_DEBUG /DDO_ITT_NOTIFY /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0400 /D__TBB_BUILD=1 >"$(IntDir)tbb.def"
+</Command>
+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release-MT|Win32'">$(IntDir)tbb.def;%(Outputs)</Outputs>
+      <Message Condition="'$(Configuration)|$(Platform)'=='Release-MT|x64'">generating tbb.def file</Message>
+      <Command Condition="'$(Configuration)|$(Platform)'=='Release-MT|x64'">cl /nologo /TC /EP ../../src/tbb/win64-tbb-export.def /DTBB_USE_DEBUG /DDO_ITT_NOTIFY /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0400 /D__TBB_BUILD=1 /I../../src /I../../include >"$(IntDir)tbb.def"
+</Command>
+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release-MT|x64'">$(IntDir)tbb.def;%(Outputs)</Outputs>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">generating tbb.def file</Message>
+      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">cl /nologo /TC /EP ../../src/tbb/win64-tbb-export.def /DTBB_USE_DEBUG /DDO_ITT_NOTIFY /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0400 /D__TBB_BUILD=1 >"$(IntDir)tbb.def"
+</Command>
+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(IntDir)tbb.def;%(Outputs)</Outputs>
+      <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">generating tbb.def file</Message>
+      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">cl /nologo /TC /EP ../../src/tbb/win64-tbb-export.def /DTBB_USE_DEBUG /DDO_ITT_NOTIFY /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0400 /D__TBB_BUILD=1 /I../../src /I../../include >"$(IntDir)tbb.def"
+</Command>
+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(IntDir)tbb.def;%(Outputs)</Outputs>
+    </CustomBuild>
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="..\..\src\tbb\concurrent_hash_map.cpp" />
+    <ClCompile Include="..\..\src\tbb\concurrent_queue.cpp" />
+    <ClCompile Include="..\..\src\tbb\concurrent_vector.cpp" />
+    <ClCompile Include="..\..\src\tbb\dynamic_link.cpp" />
+    <ClCompile Include="..\..\src\tbb\itt_notify.cpp" />
+    <ClCompile Include="..\..\src\tbb\cache_aligned_allocator.cpp" />
+    <ClCompile Include="..\..\src\tbb\pipeline.cpp" />
+    <ClCompile Include="..\..\src\tbb\queuing_mutex.cpp" />
+    <ClCompile Include="..\..\src\tbb\queuing_rw_mutex.cpp" />
+    <ClCompile Include="..\..\src\tbb\reader_writer_lock.cpp" />
+    <ClCompile Include="..\..\src\tbb\spin_rw_mutex.cpp" />
+    <ClCompile Include="..\..\src\tbb\spin_mutex.cpp" />
+    <ClCompile Include="..\..\src\tbb\critical_section.cpp" />
+    <ClCompile Include="..\..\src\tbb\mutex.cpp" />
+    <ClCompile Include="..\..\src\tbb\recursive_mutex.cpp" />
+    <ClCompile Include="..\..\src\tbb\condition_variable.cpp" />
+    <ClCompile Include="..\..\src\tbb\tbb_thread.cpp" />
+    <ClCompile Include="..\..\src\tbb\concurrent_monitor.cpp" />
+    <ClCompile Include="..\..\src\tbb\semaphore.cpp" />
+    <ClCompile Include="..\..\src\tbb\private_server.cpp" />
+    <ClCompile Include="..\..\src\rml\client\rml_tbb.cpp" />
+    <ClCompile Include="..\..\src\tbb\tbb_misc.cpp" />
+    <ClCompile Include="..\..\src\tbb\tbb_misc_ex.cpp" />
+    <ClCompile Include="..\..\src\tbb\task.cpp" />
+    <ClCompile Include="..\..\src\tbb\task_group_context.cpp" />
+    <ClCompile Include="..\..\src\tbb\governor.cpp" />
+    <ClCompile Include="..\..\src\tbb\market.cpp" />
+    <ClCompile Include="..\..\src\tbb\arena.cpp" />
+    <ClCompile Include="..\..\src\tbb\scheduler.cpp" />
+    <ClCompile Include="..\..\src\tbb\observer_proxy.cpp" />
+    <ClCompile Include="..\..\src\tbb\tbb_statistics.cpp" />
+    <ClCompile Include="..\..\src\tbb\tbb_main.cpp" />
+    <ClCompile Include="..\..\src\old\concurrent_vector_v2.cpp" />
+    <ClCompile Include="..\..\src\old\concurrent_queue_v2.cpp" />
+    <ClCompile Include="..\..\src\old\spin_rw_mutex_v2.cpp" />
+    <ClCompile Include="..\..\src\old\task_v2.cpp" />
+  </ItemGroup>
+  <ItemGroup>
+    <ClInclude Include="..\..\include\tbb\internal\_concurrent_queue_impl.h" />
+    <ClInclude Include="..\..\include\tbb\_tbb_windef.h" />
+    <ClInclude Include="..\..\include\tbb\aligned_space.h" />
+    <ClInclude Include="..\..\include\tbb\atomic.h" />
+    <ClInclude Include="..\..\include\tbb\blocked_range.h" />
+    <ClInclude Include="..\..\include\tbb\blocked_range2d.h" />
+    <ClInclude Include="..\..\include\tbb\blocked_range3d.h" />
+    <ClInclude Include="..\..\include\tbb\cache_aligned_allocator.h" />
+    <ClInclude Include="..\..\include\tbb\combinable.h" />
+    <ClInclude Include="..\..\include\tbb\concurrent_hash_map.h" />
+    <ClInclude Include="..\..\src\tbb\concurrent_monitor.h" />
+    <ClInclude Include="..\..\include\tbb\concurrent_priority_queue.h" />
+    <ClInclude Include="..\..\include\tbb\concurrent_queue.h" />
+    <ClInclude Include="..\..\src\old\concurrent_queue_v2.h" />
+    <ClInclude Include="..\..\include\tbb\concurrent_vector.h" />
+    <ClInclude Include="..\..\src\old\concurrent_vector_v2.h" />
+    <ClInclude Include="..\..\include\tbb\critical_section.h" />
+    <ClInclude Include="..\..\src\tbb\dynamic_link.h" />
+    <ClInclude Include="..\..\include\tbb\enumerable_thread_specific.h" />
+    <ClInclude Include="..\..\src\tbb\gate.h" />
+    <ClInclude Include="..\..\src\test\harness.h" />
+    <ClInclude Include="..\..\src\test\harness_allocator.h" />
+    <ClInclude Include="..\..\src\test\harness_assert.h" />
+    <ClInclude Include="..\..\src\test\harness_bad_expr.h" />
+    <ClInclude Include="..\..\src\test\harness_barrier.h" />
+    <ClInclude Include="..\..\src\test\harness_concurrency_tracker.h" />
+    <ClInclude Include="..\..\src\test\harness_cpu.h" />
+    <ClInclude Include="..\..\src\test\harness_eh.h" />
+    <ClInclude Include="..\..\src\test\harness_iterator.h" />
+    <ClInclude Include="..\..\src\test\harness_m128.h" />
+    <ClInclude Include="..\..\src\test\harness_memory.h" />
+    <ClInclude Include="..\..\src\test\harness_report.h" />
+    <ClInclude Include="..\..\include\tbb\machine\ibm_aix51.h" />
+    <ClInclude Include="..\..\src\tbb\itt_notify.h" />
+    <ClInclude Include="..\..\include\tbb\machine\linux_common.h" />
+    <ClInclude Include="..\..\include\tbb\machine\linux_ia32.h" />
+    <ClInclude Include="..\..\include\tbb\machine\linux_ia64.h" />
+    <ClInclude Include="..\..\include\tbb\machine\linux_intel64.h" />
+    <ClInclude Include="..\..\include\tbb\machine\mac_ppc.h" />
+    <ClInclude Include="..\..\include\tbb\mutex.h" />
+    <ClInclude Include="..\..\include\tbb\null_mutex.h" />
+    <ClInclude Include="..\..\include\tbb\null_rw_mutex.h" />
+    <ClInclude Include="..\..\include\tbb\parallel_do.h" />
+    <ClInclude Include="..\..\include\tbb\parallel_for.h" />
+    <ClInclude Include="..\..\include\tbb\parallel_for_each.h" />
+    <ClInclude Include="..\..\include\tbb\parallel_invoke.h" />
+    <ClInclude Include="..\..\include\tbb\parallel_reduce.h" />
+    <ClInclude Include="..\..\include\tbb\parallel_scan.h" />
+    <ClInclude Include="..\..\include\tbb\parallel_sort.h" />
+    <ClInclude Include="..\..\include\tbb\parallel_while.h" />
+    <ClInclude Include="..\..\include\tbb\partitioner.h" />
+    <ClInclude Include="..\..\include\tbb\pipeline.h" />
+    <ClInclude Include="..\..\include\tbb\compat\ppl.h" />
+    <ClInclude Include="..\..\include\tbb\queuing_mutex.h" />
+    <ClInclude Include="..\..\include\tbb\queuing_rw_mutex.h" />
+    <ClInclude Include="..\..\include\tbb\reader_writer_lock.h" />
+    <ClInclude Include="..\..\include\tbb\recursive_mutex.h" />
+    <ClInclude Include="..\..\include\tbb\scalable_allocator.h" />
+    <ClInclude Include="..\..\src\tbb\semaphore.h" />
+    <ClInclude Include="..\..\include\tbb\spin_mutex.h" />
+    <ClInclude Include="..\..\include\tbb\spin_rw_mutex.h" />
+    <ClInclude Include="..\..\src\old\spin_rw_mutex_v2.h" />
+    <ClInclude Include="..\..\include\tbb\task.h" />
+    <ClInclude Include="..\..\include\tbb\task_group.h" />
+    <ClInclude Include="..\..\include\tbb\task_scheduler_init.h" />
+    <ClInclude Include="..\..\include\tbb\task_scheduler_observer.h" />
+    <ClInclude Include="..\..\include\tbb\tbb.h" />
+    <ClInclude Include="..\..\include\tbb\tbb_allocator.h" />
+    <ClInclude Include="..\..\src\tbb\tbb_assert_impl.h" />
+    <ClInclude Include="..\..\include\tbb\tbb_config.h" />
+    <ClInclude Include="..\..\include\tbb\tbb_exception.h" />
+    <ClInclude Include="..\..\include\tbb\tbb_machine.h" />
+    <ClInclude Include="..\..\src\tbb\tbb_misc.h" />
+    <ClInclude Include="..\..\include\tbb\tbb_profiling.h" />
+    <ClInclude Include="..\..\include\tbb\tbb_stddef.h" />
+    <ClInclude Include="..\..\include\tbb\tbb_thread.h" />
+    <ClInclude Include="..\..\src\tbb\tbb_version.h" />
+    <ClInclude Include="..\..\include\tbb\tbbmalloc_proxy.h" />
+    <ClInclude Include="..\..\src\test\test_allocator.h" />
+    <ClInclude Include="..\..\src\test\test_allocator_STL.h" />
+    <ClInclude Include="..\..\include\tbb\tick_count.h" />
+    <ClInclude Include="..\..\src\tbb\tls.h" />
+    <ClInclude Include="..\..\include\tbb\machine\windows_ia32.h" />
+    <ClInclude Include="..\..\include\tbb\machine\windows_intel64.h" />
+  </ItemGroup>
+  <ItemGroup>
+    <ResourceCompile Include="..\..\src\tbb\tbb_resource.rc">
+      <AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='Debug-MT|Win32'">/I../../src /I../../include /DDO_ITT_NOTIFY /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0400 %(AdditionalOptions)</AdditionalOptions>
+      <AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='Debug-MT|x64'">/I../../src /I../../include /DDO_ITT_NOTIFY /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0400 %(AdditionalOptions)</AdditionalOptions>
+      <AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">/I../../src /I../../include /DDO_ITT_NOTIFY /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0400 %(AdditionalOptions)</AdditionalOptions>
+      <AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">/I../../src /I../../include /DDO_ITT_NOTIFY /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0400 %(AdditionalOptions)</AdditionalOptions>
+      <AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='Release-MT|Win32'">/I../../src /I../../include /DDO_ITT_NOTIFY /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0400 %(AdditionalOptions)</AdditionalOptions>
+      <AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='Release-MT|x64'">/I../../src /I../../include /DDO_ITT_NOTIFY /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0400 %(AdditionalOptions)</AdditionalOptions>
+      <AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">/I../../src /I../../include /DDO_ITT_NOTIFY /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0400 %(AdditionalOptions)</AdditionalOptions>
+      <AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">/I../../src /I../../include /DDO_ITT_NOTIFY /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0400 %(AdditionalOptions)</AdditionalOptions>
+    </ResourceCompile>
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+    <Import Project="$(VCTargetsPath)\BuildCustomizations\masm.targets" />
+  </ImportGroup>
+</Project>
\ No newline at end of file
diff --git a/build/vs2010/tbbmalloc.vcxproj b/build/vs2010/tbbmalloc.vcxproj
new file mode 100644
index 0000000..a379e6a
--- /dev/null
+++ b/build/vs2010/tbbmalloc.vcxproj
@@ -0,0 +1,584 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="Debug-MT|Win32">
+      <Configuration>Debug-MT</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug-MT|x64">
+      <Configuration>Debug-MT</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug|Win32">
+      <Configuration>Debug</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug|x64">
+      <Configuration>Debug</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release-MT|Win32">
+      <Configuration>Release-MT</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release-MT|x64">
+      <Configuration>Release-MT</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|Win32">
+      <Configuration>Release</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{B15F131E-328A-4D42-ADC2-9FF4CA6306D8}</ProjectGuid>
+    <RootNamespace>tbbmalloc</RootNamespace>
+    <Keyword>Win32Proj</Keyword>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-MT|Win32'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <CharacterSet>NotSet</CharacterSet>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug-MT|Win32'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <CharacterSet>NotSet</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <CharacterSet>NotSet</CharacterSet>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <CharacterSet>NotSet</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-MT|x64'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <CharacterSet>NotSet</CharacterSet>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug-MT|x64'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <CharacterSet>NotSet</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <CharacterSet>NotSet</CharacterSet>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <CharacterSet>NotSet</CharacterSet>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <ImportGroup Label="ExtensionSettings">
+    <Import Project="$(VCTargetsPath)\BuildCustomizations\masm.props" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release-MT|Win32'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug-MT|Win32'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release-MT|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug-MT|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros" />
+  <PropertyGroup>
+    <_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)ia32\$(Configuration)\</OutDir>
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)ia32\$(Configuration)\</IntDir>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</LinkIncremental>
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)intel64\$(Configuration)\</OutDir>
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)intel64\$(Configuration)\</IntDir>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</LinkIncremental>
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)ia32\$(Configuration)\</OutDir>
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)ia32\$(Configuration)\</IntDir>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)intel64\$(Configuration)\</OutDir>
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)intel64\$(Configuration)\</IntDir>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug-MT|Win32'">$(SolutionDir)ia32\$(Configuration)\</OutDir>
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug-MT|Win32'">$(SolutionDir)ia32\$(Configuration)\</IntDir>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug-MT|Win32'">false</LinkIncremental>
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug-MT|x64'">$(SolutionDir)intel64\$(Configuration)\</OutDir>
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug-MT|x64'">$(SolutionDir)intel64\$(Configuration)\</IntDir>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug-MT|x64'">false</LinkIncremental>
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release-MT|Win32'">$(SolutionDir)ia32\$(Configuration)\</OutDir>
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release-MT|Win32'">$(SolutionDir)ia32\$(Configuration)\</IntDir>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release-MT|Win32'">false</LinkIncremental>
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release-MT|x64'">$(SolutionDir)intel64\$(Configuration)\</OutDir>
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release-MT|x64'">$(SolutionDir)intel64\$(Configuration)\</IntDir>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release-MT|x64'">false</LinkIncremental>
+    <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug-MT|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
+    <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug-MT|Win32'" />
+    <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug-MT|Win32'" />
+    <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug-MT|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
+    <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug-MT|x64'" />
+    <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug-MT|x64'" />
+    <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
+    <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
+    <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
+    <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
+    <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
+    <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
+    <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release-MT|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
+    <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release-MT|Win32'" />
+    <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release-MT|Win32'" />
+    <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release-MT|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
+    <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release-MT|x64'" />
+    <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release-MT|x64'" />
+    <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
+    <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
+    <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
+    <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
+    <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
+    <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
+    <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectName)_debug</TargetName>
+    <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug-MT|Win32'">$(ProjectName)_debug</TargetName>
+    <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(ProjectName)_debug</TargetName>
+    <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug-MT|x64'">$(ProjectName)_debug</TargetName>
+  </PropertyGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <ClCompile>
+      <AdditionalOptions> /c /MDd /Od /Ob0 /Zi /EHs- /Zc:forScope /Zc:wchar_t /DTBB_USE_DEBUG /D__TBB_LIB_NAME=tbb_debug.lib /DDO_ITT_NOTIFY /GS /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0502 /D__TBBMALLOC_BUILD=1 /I../../src /I../../src/rml/include /I../../include /I../../src/tbbmalloc /I../../src/tbbmalloc /I.</AdditionalOptions>
+      <Optimization>Disabled</Optimization>
+      <AdditionalIncludeDirectories>.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <MinimalRebuild>true</MinimalRebuild>
+      <ExceptionHandling>
+      </ExceptionHandling>
+      <BasicRuntimeChecks>Default</BasicRuntimeChecks>
+      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level4</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+    </ClCompile>
+    <Link>
+      <AdditionalOptions>/DLL /MAP /DEBUG /fixed:no /INCREMENTAL:NO  /DEF:"$(IntDir)tbbmalloc.def" %(AdditionalOptions)</AdditionalOptions>
+      <OutputFile>$(OutDir)tbbmalloc_debug.dll</OutputFile>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <SubSystem>Windows</SubSystem>
+      <RandomizedBaseAddress>false</RandomizedBaseAddress>
+      <DataExecutionPrevention>
+      </DataExecutionPrevention>
+      <TargetMachine>MachineX86</TargetMachine>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <Midl>
+      <TargetEnvironment>X64</TargetEnvironment>
+    </Midl>
+    <ClCompile>
+      <AdditionalOptions> /c /MDd /Od /Ob0 /Zi /EHs- /Zc:forScope /Zc:wchar_t /DTBB_USE_DEBUG /D__TBB_LIB_NAME=tbb_debug.lib /DDO_ITT_NOTIFY /GS /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0502 /D__TBBMALLOC_BUILD=1 /I../../src /I../../src/rml/include /I../../include /I../../src/tbbmalloc /I../../src/tbbmalloc /I.</AdditionalOptions>
+      <Optimization>Disabled</Optimization>
+      <AdditionalIncludeDirectories>.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <MinimalRebuild>false</MinimalRebuild>
+      <ExceptionHandling>
+      </ExceptionHandling>
+      <BasicRuntimeChecks>Default</BasicRuntimeChecks>
+      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+      <BufferSecurityCheck>false</BufferSecurityCheck>
+      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level4</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+      <ShowIncludes>false</ShowIncludes>
+    </ClCompile>
+    <Link>
+      <AdditionalOptions>/nologo /DLL /MAP /DEBUG /fixed:no /INCREMENTAL:NO  /DEF:"$(IntDir)tbbmalloc.def" %(AdditionalOptions)</AdditionalOptions>
+      <OutputFile>$(OutDir)tbbmalloc_debug.dll</OutputFile>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <SubSystem>Windows</SubSystem>
+      <RandomizedBaseAddress>false</RandomizedBaseAddress>
+      <DataExecutionPrevention>
+      </DataExecutionPrevention>
+      <TargetMachine>MachineX64</TargetMachine>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <ClCompile>
+      <AdditionalOptions> /c /MD /O2 /Zi /EHs- /Zc:forScope /Zc:wchar_t /D__TBB_LIB_NAME=tbb.lib /DDO_ITT_NOTIFY /GS /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0502 /D__TBBMALLOC_BUILD=1 /I../../src /I../../src/rml/include /I../../include /I../../src/tbbmalloc /I../../src/tbbmalloc /I.</AdditionalOptions>
+      <AdditionalIncludeDirectories>.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <ExceptionHandling>
+      </ExceptionHandling>
+      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level4</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+    </ClCompile>
+    <Link>
+      <AdditionalOptions>/nologo /DLL /MAP /DEBUG /fixed:no /INCREMENTAL:NO  /DEF:"$(IntDir)tbbmalloc.def" %(AdditionalOptions)</AdditionalOptions>
+      <OutputFile>$(OutDir)tbbmalloc.dll</OutputFile>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <SubSystem>Windows</SubSystem>
+      <OptimizeReferences>true</OptimizeReferences>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <RandomizedBaseAddress>false</RandomizedBaseAddress>
+      <DataExecutionPrevention>
+      </DataExecutionPrevention>
+      <TargetMachine>MachineX86</TargetMachine>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <Midl>
+      <TargetEnvironment>X64</TargetEnvironment>
+    </Midl>
+    <ClCompile>
+      <AdditionalOptions> /c /MD /O2 /Zi /EHs- /Zc:forScope /Zc:wchar_t /D__TBB_LIB_NAME=tbb.lib /DDO_ITT_NOTIFY /GS /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0502 /D__TBBMALLOC_BUILD=1 /I../../src /I../../src/rml/include /I../../include /I../../src/tbbmalloc /I../../src/tbbmalloc /I.</AdditionalOptions>
+      <AdditionalIncludeDirectories>.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <ExceptionHandling>
+      </ExceptionHandling>
+      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+      <BufferSecurityCheck>false</BufferSecurityCheck>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level4</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+    </ClCompile>
+    <Link>
+      <AdditionalOptions>/nologo /DLL /MAP /DEBUG /fixed:no /INCREMENTAL:NO /DEF:"$(IntDir)tbbmalloc.def" %(AdditionalOptions)</AdditionalOptions>
+      <OutputFile>$(OutDir)tbbmalloc.dll</OutputFile>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <SubSystem>Windows</SubSystem>
+      <OptimizeReferences>true</OptimizeReferences>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <RandomizedBaseAddress>false</RandomizedBaseAddress>
+      <DataExecutionPrevention>
+      </DataExecutionPrevention>
+      <TargetMachine>MachineX64</TargetMachine>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug-MT|Win32'">
+    <ClCompile>
+      <AdditionalOptions> /c /MTd /Od /Ob0 /Zi /EHs- /Zc:forScope /Zc:wchar_t /DTBB_USE_DEBUG /D__TBB_LIB_NAME=tbb_debug.lib /DDO_ITT_NOTIFY /GS /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0502 /D__TBBMALLOC_BUILD=1 /I../../src /I../../src/rml/include /I../../include /I../../src/tbbmalloc /I../../src/tbbmalloc /I.</AdditionalOptions>
+      <Optimization>Disabled</Optimization>
+      <AdditionalIncludeDirectories>.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <MinimalRebuild>true</MinimalRebuild>
+      <ExceptionHandling>
+      </ExceptionHandling>
+      <BasicRuntimeChecks>Default</BasicRuntimeChecks>
+      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level4</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+    </ClCompile>
+    <Link>
+      <AdditionalOptions>/DLL /MAP /DEBUG /fixed:no /INCREMENTAL:NO  /DEF:"$(IntDir)tbbmalloc.def" %(AdditionalOptions)</AdditionalOptions>
+      <OutputFile>$(OutDir)tbbmalloc_debug.dll</OutputFile>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <SubSystem>Windows</SubSystem>
+      <RandomizedBaseAddress>false</RandomizedBaseAddress>
+      <DataExecutionPrevention>
+      </DataExecutionPrevention>
+      <TargetMachine>MachineX86</TargetMachine>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug-MT|x64'">
+    <Midl>
+      <TargetEnvironment>X64</TargetEnvironment>
+    </Midl>
+    <ClCompile>
+      <AdditionalOptions> /c /MTd /Od /Ob0 /Zi /EHs- /Zc:forScope /Zc:wchar_t /DTBB_USE_DEBUG /D__TBB_LIB_NAME=tbb_debug.lib /DDO_ITT_NOTIFY /GS /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0502 /D__TBBMALLOC_BUILD=1 /I../../src /I../../src/rml/include /I../../include /I../../src/tbbmalloc /I../../src/tbbmalloc /I.</AdditionalOptions>
+      <Optimization>Disabled</Optimization>
+      <AdditionalIncludeDirectories>.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <MinimalRebuild>false</MinimalRebuild>
+      <ExceptionHandling>
+      </ExceptionHandling>
+      <BasicRuntimeChecks>Default</BasicRuntimeChecks>
+      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
+      <BufferSecurityCheck>false</BufferSecurityCheck>
+      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level4</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+      <ShowIncludes>false</ShowIncludes>
+    </ClCompile>
+    <Link>
+      <AdditionalOptions>/nologo /DLL /MAP /DEBUG /fixed:no /INCREMENTAL:NO  /DEF:"$(IntDir)tbbmalloc.def" %(AdditionalOptions)</AdditionalOptions>
+      <OutputFile>$(OutDir)tbbmalloc_debug.dll</OutputFile>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <SubSystem>Windows</SubSystem>
+      <RandomizedBaseAddress>false</RandomizedBaseAddress>
+      <DataExecutionPrevention>
+      </DataExecutionPrevention>
+      <TargetMachine>MachineX64</TargetMachine>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release-MT|Win32'">
+    <ClCompile>
+      <AdditionalOptions> /c /MT /O2 /Zi /EHs- /Zc:forScope /Zc:wchar_t /D__TBB_LIB_NAME=tbb.lib /DDO_ITT_NOTIFY /GS /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0502 /D__TBBMALLOC_BUILD=1 /I../../src /I../../src/rml/include /I../../include /I../../src/tbbmalloc /I../../src/tbbmalloc /I.</AdditionalOptions>
+      <AdditionalIncludeDirectories>.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <ExceptionHandling>
+      </ExceptionHandling>
+      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level4</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+    </ClCompile>
+    <Link>
+      <AdditionalOptions>/nologo /DLL /MAP /DEBUG /fixed:no /INCREMENTAL:NO  /DEF:"$(IntDir)tbbmalloc.def" %(AdditionalOptions)</AdditionalOptions>
+      <OutputFile>$(OutDir)tbbmalloc.dll</OutputFile>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <SubSystem>Windows</SubSystem>
+      <OptimizeReferences>true</OptimizeReferences>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <RandomizedBaseAddress>false</RandomizedBaseAddress>
+      <DataExecutionPrevention>
+      </DataExecutionPrevention>
+      <TargetMachine>MachineX86</TargetMachine>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release-MT|x64'">
+    <Midl>
+      <TargetEnvironment>X64</TargetEnvironment>
+    </Midl>
+    <ClCompile>
+      <AdditionalOptions> /c /MT /O2 /Zi /EHs- /Zc:forScope /Zc:wchar_t /D__TBB_LIB_NAME=tbb.lib /DDO_ITT_NOTIFY /GS /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0502 /D__TBBMALLOC_BUILD=1 /I../../src /I../../src/rml/include /I../../include /I../../src/tbbmalloc /I../../src/tbbmalloc /I.</AdditionalOptions>
+      <AdditionalIncludeDirectories>.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <ExceptionHandling>
+      </ExceptionHandling>
+      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
+      <BufferSecurityCheck>false</BufferSecurityCheck>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level4</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+    </ClCompile>
+    <Link>
+      <AdditionalOptions>/nologo /DLL /MAP /DEBUG /fixed:no /INCREMENTAL:NO /DEF:"$(IntDir)tbbmalloc.def" %(AdditionalOptions)</AdditionalOptions>
+      <OutputFile>$(OutDir)tbbmalloc.dll</OutputFile>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <SubSystem>Windows</SubSystem>
+      <OptimizeReferences>true</OptimizeReferences>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <RandomizedBaseAddress>false</RandomizedBaseAddress>
+      <DataExecutionPrevention>
+      </DataExecutionPrevention>
+      <TargetMachine>MachineX64</TargetMachine>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+    <CustomBuild Include="..\..\src\tbb\intel64-masm\atomic_support.asm">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-MT|Win32'">true</ExcludedFromBuild>
+      <Message Condition="'$(Configuration)|$(Platform)'=='Debug-MT|x64'">building atomic_support.obj</Message>
+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug-MT|x64'">ml64 /Fo"intel64\Debug-MT\atomic_support.obj" /DUSE_FRAME_POINTER /DEM64T=1 /c /Zi ../../src/tbb/intel64-masm/atomic_support.asm
+</Command>
+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug-MT|x64'">intel64\Debug-MT\atomic_support.obj;%(Outputs)</Outputs>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">building atomic_support.obj</Message>
+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">ml64 /Fo"intel64\Debug\atomic_support.obj" /DUSE_FRAME_POINTER /DEM64T=1 /c /Zi ../../src/tbb/intel64-masm/atomic_support.asm
+</Command>
+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">intel64\Debug\atomic_support.obj;%(Outputs)</Outputs>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-MT|Win32'">true</ExcludedFromBuild>
+      <Message Condition="'$(Configuration)|$(Platform)'=='Release-MT|x64'">building atomic_support.obj</Message>
+      <Command Condition="'$(Configuration)|$(Platform)'=='Release-MT|x64'">ml64 /Fo"intel64\Release-MT\atomic_support.obj"  /DEM64T=1 /c /Zi ../../src/tbb/intel64-masm/atomic_support.asm
+</Command>
+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release-MT|x64'">intel64\Release-MT\atomic_support.obj;%(Outputs)</Outputs>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">building atomic_support.obj</Message>
+      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">ml64 /Fo"intel64\Release\atomic_support.obj"  /DEM64T=1 /c /Zi ../../src/tbb/intel64-masm/atomic_support.asm
+</Command>
+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">intel64\Release\atomic_support.obj;%(Outputs)</Outputs>
+    </CustomBuild>
+  </ItemGroup>
+  <ItemGroup>
+    <CustomBuild Include="..\..\src\tbbmalloc\win32-tbbmalloc-export.def">
+      <Message Condition="'$(Configuration)|$(Platform)'=='Debug-MT|Win32'">generating tbbmalloc.def file</Message>
+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug-MT|Win32'">cl /nologo /TC /EP ../../src/tbbmalloc/win32-tbbmalloc-export.def /DTBB_USE_DEBUG /DDO_ITT_NOTIFY /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0400 /D__TBBMALLOC_BUILD=1 >"$(IntDir)tbbmalloc.def"
+</Command>
+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug-MT|Win32'">$(IntDir)tbbmalloc.def;%(Outputs)</Outputs>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-MT|x64'">true</ExcludedFromBuild>
+      <Message Condition="'$(Configuration)|$(Platform)'=='Debug-MT|x64'">generating tbbmalloc.def file</Message>
+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug-MT|x64'">cl /nologo /TC /EP ../../src/tbbmalloc/win32-tbbmalloc-export.def /DTBB_USE_DEBUG /DDO_ITT_NOTIFY /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0400 /D__TBBMALLOC_BUILD=1 >"$(IntDir)tbbmalloc.def"
+</Command>
+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug-MT|x64'">$(IntDir)tbbmalloc.def;%(Outputs)</Outputs>
+      <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">generating tbbmalloc.def file</Message>
+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">cl /nologo /TC /EP ../../src/tbbmalloc/win32-tbbmalloc-export.def /DTBB_USE_DEBUG /DDO_ITT_NOTIFY /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0400 /D__TBBMALLOC_BUILD=1 >"$(IntDir)tbbmalloc.def"
+</Command>
+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(IntDir)tbbmalloc.def;%(Outputs)</Outputs>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+      <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">generating tbbmalloc.def file</Message>
+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">cl /nologo /TC /EP ../../src/tbbmalloc/win32-tbbmalloc-export.def /DTBB_USE_DEBUG /DDO_ITT_NOTIFY /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0400 /D__TBBMALLOC_BUILD=1 >"$(IntDir)tbbmalloc.def"
+</Command>
+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(IntDir)tbbmalloc.def;%(Outputs)</Outputs>
+      <Message Condition="'$(Configuration)|$(Platform)'=='Release-MT|Win32'">generating tbbmalloc.def file</Message>
+      <Command Condition="'$(Configuration)|$(Platform)'=='Release-MT|Win32'">cl /nologo /TC /EP ../../src/tbbmalloc/win32-tbbmalloc-export.def /DTBB_USE_DEBUG /DDO_ITT_NOTIFY /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0400 /D__TBBMALLOC_BUILD=1 >"$(IntDir)tbbmalloc.def"
+</Command>
+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release-MT|Win32'">$(IntDir)tbbmalloc.def;%(Outputs)</Outputs>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-MT|x64'">true</ExcludedFromBuild>
+      <Message Condition="'$(Configuration)|$(Platform)'=='Release-MT|x64'">generating tbbmalloc.def file</Message>
+      <Command Condition="'$(Configuration)|$(Platform)'=='Release-MT|x64'">cl /nologo /TC /EP ../../src/tbb/win32-tbbmalloc-export.def /DTBB_USE_DEBUG /DDO_ITT_NOTIFY /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0400 /D__TBBMALLOC_BUILD=1 >"$(IntDir)tbbmalloc.def"
+</Command>
+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release-MT|x64'">$(IntDir)tbbmalloc.def;%(Outputs)</Outputs>
+      <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">generating tbbmalloc.def file</Message>
+      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">cl /nologo /TC /EP ../../src/tbbmalloc/win32-tbbmalloc-export.def /DTBB_USE_DEBUG /DDO_ITT_NOTIFY /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0400 /D__TBBMALLOC_BUILD=1 >"$(IntDir)tbbmalloc.def"
+</Command>
+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(IntDir)tbbmalloc.def;%(Outputs)</Outputs>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+      <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">generating tbbmalloc.def file</Message>
+      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">cl /nologo /TC /EP ../../src/tbb/win32-tbbmalloc-export.def /DTBB_USE_DEBUG /DDO_ITT_NOTIFY /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0400 /D__TBBMALLOC_BUILD=1 >"$(IntDir)tbbmalloc.def"
+</Command>
+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(IntDir)tbbmalloc.def;%(Outputs)</Outputs>
+    </CustomBuild>
+    <CustomBuild Include="..\..\src\tbbmalloc\win64-tbbmalloc-export.def">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-MT|Win32'">true</ExcludedFromBuild>
+      <Message Condition="'$(Configuration)|$(Platform)'=='Debug-MT|Win32'">generating tbbmalloc.def file</Message>
+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug-MT|Win32'">cl /nologo /TC /EP ../../src/tbb/win64-tbbmalloc-export.def /DTBB_USE_DEBUG /DDO_ITT_NOTIFY /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0400 /D__TBBMALLOC_BUILD=1 >"$(IntDir)tbbmalloc.def"
+</Command>
+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug-MT|Win32'">$(IntDir)tbbmalloc.def;%(Outputs)</Outputs>
+      <Message Condition="'$(Configuration)|$(Platform)'=='Debug-MT|x64'">generating tbbmalloc.def file</Message>
+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug-MT|x64'">cl /nologo /TC /EP ../../src/tbbmalloc/win64-tbbmalloc-export.def /DTBB_USE_DEBUG /DDO_ITT_NOTIFY /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0400 /D__TBBMALLOC_BUILD=1 >"$(IntDir)tbbmalloc.def"
+</Command>
+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug-MT|x64'">$(IntDir)tbbmalloc.def;%(Outputs)</Outputs>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">generating tbbmalloc.def file</Message>
+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">cl /nologo /TC /EP ../../src/tbb/win64-tbbmalloc-export.def /DTBB_USE_DEBUG /DDO_ITT_NOTIFY /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0400 /D__TBBMALLOC_BUILD=1 >"$(IntDir)tbbmalloc.def"
+</Command>
+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(IntDir)tbbmalloc.def;%(Outputs)</Outputs>
+      <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">generating tbbmalloc.def file</Message>
+      <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">cl /nologo /TC /EP ../../src/tbbmalloc/win64-tbbmalloc-export.def /DTBB_USE_DEBUG /DDO_ITT_NOTIFY /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0400 /D__TBBMALLOC_BUILD=1 >"$(IntDir)tbbmalloc.def"
+</Command>
+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(IntDir)tbbmalloc.def;%(Outputs)</Outputs>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-MT|Win32'">true</ExcludedFromBuild>
+      <Message Condition="'$(Configuration)|$(Platform)'=='Release-MT|Win32'">generating tbbmalloc.def file</Message>
+      <Command Condition="'$(Configuration)|$(Platform)'=='Release-MT|Win32'">cl /nologo /TC /EP ../../src/tbb/win64-tbbmalloc-export.def /DTBB_USE_DEBUG /DDO_ITT_NOTIFY /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0400 /D__TBBMALLOC_BUILD=1 >"$(IntDir)tbbmalloc.def"
+</Command>
+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release-MT|Win32'">$(IntDir)tbbmalloc.def;%(Outputs)</Outputs>
+      <Message Condition="'$(Configuration)|$(Platform)'=='Release-MT|x64'">generating tbbmalloc.def file</Message>
+      <Command Condition="'$(Configuration)|$(Platform)'=='Release-MT|x64'">cl /nologo /TC /EP ../../src/tbbmalloc/win64-tbbmalloc-export.def /DTBB_USE_DEBUG /DDO_ITT_NOTIFY /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0400 /D__TBBMALLOC_BUILD=1 >"$(IntDir)tbbmalloc.def"
+</Command>
+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release-MT|x64'">$(IntDir)tbbmalloc.def;%(Outputs)</Outputs>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">generating tbbmalloc.def file</Message>
+      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">cl /nologo /TC /EP ../../src/tbb/win64-tbbmalloc-export.def /DTBB_USE_DEBUG /DDO_ITT_NOTIFY /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0400 /D__TBBMALLOC_BUILD=1 >"$(IntDir)tbbmalloc.def"
+</Command>
+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(IntDir)tbbmalloc.def;%(Outputs)</Outputs>
+      <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">generating tbbmalloc.def file</Message>
+      <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">cl /nologo /TC /EP ../../src/tbbmalloc/win64-tbbmalloc-export.def /DTBB_USE_DEBUG /DDO_ITT_NOTIFY /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0400 /D__TBBMALLOC_BUILD=1 >"$(IntDir)tbbmalloc.def"
+</Command>
+      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(IntDir)tbbmalloc.def;%(Outputs)</Outputs>
+    </CustomBuild>
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="..\..\src\tbbmalloc\backend.cpp" />
+    <ClCompile Include="..\..\src\tbbmalloc\large_objects.cpp" />
+    <ClCompile Include="..\..\src\tbbmalloc\backref.cpp" />
+    <ClCompile Include="..\..\src\tbbmalloc\tbbmalloc.cpp" />
+    <ClCompile Include="..\..\src\tbb\itt_notify.cpp" />
+    <ClCompile Include="..\..\src\tbbmalloc\frontend.cpp" />
+  </ItemGroup>
+  <ItemGroup>
+    <ClInclude Include="..\..\include\tbb\internal\_concurrent_queue_impl.h" />
+    <ClInclude Include="..\..\include\tbb\_tbb_windef.h" />
+    <ClInclude Include="..\..\include\tbb\aligned_space.h" />
+    <ClInclude Include="..\..\include\tbb\atomic.h" />
+    <ClInclude Include="..\..\include\tbb\blocked_range.h" />
+    <ClInclude Include="..\..\include\tbb\blocked_range2d.h" />
+    <ClInclude Include="..\..\include\tbb\blocked_range3d.h" />
+    <ClInclude Include="..\..\include\tbb\cache_aligned_allocator.h" />
+    <ClInclude Include="..\..\include\tbb\combinable.h" />
+    <ClInclude Include="..\..\include\tbb\concurrent_hash_map.h" />
+    <ClInclude Include="..\..\include\tbb\concurrent_queue.h" />
+    <ClInclude Include="..\..\include\tbb\concurrent_vector.h" />
+    <ClInclude Include="..\..\include\tbb\critical_section.h" />
+    <ClInclude Include="..\..\src\tbbmalloc\Customize.h" />
+    <ClInclude Include="..\..\include\tbb\enumerable_thread_specific.h" />
+    <ClInclude Include="..\..\src\tbbmalloc\LifoList.h" />
+    <ClInclude Include="..\..\src\tbbmalloc\MapMemory.h" />
+    <ClInclude Include="..\..\include\tbb\mutex.h" />
+    <ClInclude Include="..\..\include\tbb\null_mutex.h" />
+    <ClInclude Include="..\..\include\tbb\null_rw_mutex.h" />
+    <ClInclude Include="..\..\include\tbb\parallel_do.h" />
+    <ClInclude Include="..\..\include\tbb\parallel_for.h" />
+    <ClInclude Include="..\..\include\tbb\parallel_for_each.h" />
+    <ClInclude Include="..\..\include\tbb\parallel_invoke.h" />
+    <ClInclude Include="..\..\include\tbb\parallel_reduce.h" />
+    <ClInclude Include="..\..\include\tbb\parallel_scan.h" />
+    <ClInclude Include="..\..\include\tbb\parallel_sort.h" />
+    <ClInclude Include="..\..\include\tbb\parallel_while.h" />
+    <ClInclude Include="..\..\include\tbb\partitioner.h" />
+    <ClInclude Include="..\..\include\tbb\pipeline.h" />
+    <ClInclude Include="..\..\src\tbbmalloc\proxy.h" />
+    <ClInclude Include="..\..\include\tbb\queuing_mutex.h" />
+    <ClInclude Include="..\..\include\tbb\queuing_rw_mutex.h" />
+    <ClInclude Include="..\..\include\tbb\recursive_mutex.h" />
+    <ClInclude Include="..\..\include\tbb\scalable_allocator.h" />
+    <ClInclude Include="..\..\include\tbb\spin_mutex.h" />
+    <ClInclude Include="..\..\include\tbb\spin_rw_mutex.h" />
+    <ClInclude Include="..\..\src\tbbmalloc\Statistics.h" />
+    <ClInclude Include="..\..\include\tbb\task.h" />
+    <ClInclude Include="..\..\include\tbb\task_group.h" />
+    <ClInclude Include="..\..\include\tbb\task_scheduler_init.h" />
+    <ClInclude Include="..\..\include\tbb\task_scheduler_observer.h" />
+    <ClInclude Include="..\..\include\tbb\tbb.h" />
+    <ClInclude Include="..\..\include\tbb\tbb_allocator.h" />
+    <ClInclude Include="..\..\include\tbb\tbb_config.h" />
+    <ClInclude Include="..\..\include\tbb\tbb_exception.h" />
+    <ClInclude Include="..\..\src\tbbmalloc\tbb_function_replacement.h" />
+    <ClInclude Include="..\..\include\tbb\tbb_machine.h" />
+    <ClInclude Include="..\..\include\tbb\tbb_profiling.h" />
+    <ClInclude Include="..\..\include\tbb\tbb_stddef.h" />
+    <ClInclude Include="..\..\include\tbb\tbb_thread.h" />
+    <ClInclude Include="..\..\include\tbb\tbb_version.h" />
+    <ClInclude Include="..\..\include\tbb\tbbmalloc_proxy.h" />
+    <ClInclude Include="..\..\include\tbb\tick_count.h" />
+    <ClInclude Include="..\..\src\tbbmalloc\TypeDefinitions.h" />
+    <ClInclude Include="..\..\include\tbb\machine\windows_ia32.h" />
+    <ClInclude Include="..\..\include\tbb\machine\windows_intel64.h" />
+  </ItemGroup>
+  <ItemGroup>
+    <ResourceCompile Include="..\..\src\tbbmalloc\tbbmalloc.rc">
+      <AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='Debug-MT|Win32'">/I../../src /I../../include /DDO_ITT_NOTIFY /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0400 %(AdditionalOptions)</AdditionalOptions>
+      <AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='Debug-MT|x64'">/I../../src /I../../include /DDO_ITT_NOTIFY /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0400 %(AdditionalOptions)</AdditionalOptions>
+      <AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">/I../../src /I../../include /DDO_ITT_NOTIFY /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0400 %(AdditionalOptions)</AdditionalOptions>
+      <AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">/I../../src /I../../include /DDO_ITT_NOTIFY /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0400 %(AdditionalOptions)</AdditionalOptions>
+      <AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='Release-MT|Win32'">/I../../src /I../../include /DDO_ITT_NOTIFY /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0400 %(AdditionalOptions)</AdditionalOptions>
+      <AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='Release-MT|x64'">/I../../src /I../../include /DDO_ITT_NOTIFY /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0400 %(AdditionalOptions)</AdditionalOptions>
+      <AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">/I../../src /I../../include /DDO_ITT_NOTIFY /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0400 %(AdditionalOptions)</AdditionalOptions>
+      <AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">/I../../src /I../../include /DDO_ITT_NOTIFY /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0400 %(AdditionalOptions)</AdditionalOptions>
+    </ResourceCompile>
+  </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="tbb.vcxproj">
+      <Project>{f62787dd-1327-448b-9818-030062bcfaa5}</Project>
+      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+    </ProjectReference>
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+    <Import Project="$(VCTargetsPath)\BuildCustomizations\masm.targets" />
+  </ImportGroup>
+</Project>
\ No newline at end of file
diff --git a/build/vs2010/tbbmalloc_proxy.vcxproj b/build/vs2010/tbbmalloc_proxy.vcxproj
new file mode 100644
index 0000000..621e67e
--- /dev/null
+++ b/build/vs2010/tbbmalloc_proxy.vcxproj
@@ -0,0 +1,421 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="Debug-MT|Win32">
+      <Configuration>Debug-MT</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug-MT|x64">
+      <Configuration>Debug-MT</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug|Win32">
+      <Configuration>Debug</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug|x64">
+      <Configuration>Debug</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release-MT|Win32">
+      <Configuration>Release-MT</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release-MT|x64">
+      <Configuration>Release-MT</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|Win32">
+      <Configuration>Release</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{02F61511-D5B6-46E6-B4BB-DEAA96E6BCC7}</ProjectGuid>
+    <RootNamespace>tbbmalloc_proxy</RootNamespace>
+    <Keyword>Win32Proj</Keyword>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-MT|Win32'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <CharacterSet>NotSet</CharacterSet>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug-MT|Win32'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <CharacterSet>NotSet</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <CharacterSet>NotSet</CharacterSet>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <CharacterSet>NotSet</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-MT|x64'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <CharacterSet>NotSet</CharacterSet>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug-MT|x64'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <CharacterSet>NotSet</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <CharacterSet>NotSet</CharacterSet>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <CharacterSet>NotSet</CharacterSet>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <ImportGroup Label="ExtensionSettings">
+    <Import Project="$(VCTargetsPath)\BuildCustomizations\masm.props" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release-MT|Win32'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug-MT|Win32'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release-MT|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug-MT|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros" />
+  <PropertyGroup>
+    <_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)ia32\$(Configuration)\</OutDir>
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)ia32\$(Configuration)\</IntDir>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</LinkIncremental>
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)intel64\$(Configuration)\</OutDir>
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)intel64\$(Configuration)\</IntDir>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</LinkIncremental>
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)ia32\$(Configuration)\</OutDir>
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)ia32\$(Configuration)\</IntDir>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)intel64\$(Configuration)\</OutDir>
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)intel64\$(Configuration)\</IntDir>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug-MT|Win32'">$(SolutionDir)ia32\$(Configuration)\</OutDir>
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug-MT|Win32'">$(SolutionDir)ia32\$(Configuration)\</IntDir>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug-MT|Win32'">false</LinkIncremental>
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug-MT|x64'">$(SolutionDir)intel64\$(Configuration)\</OutDir>
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug-MT|x64'">$(SolutionDir)intel64\$(Configuration)\</IntDir>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug-MT|x64'">false</LinkIncremental>
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release-MT|Win32'">$(SolutionDir)ia32\$(Configuration)\</OutDir>
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release-MT|Win32'">$(SolutionDir)ia32\$(Configuration)\</IntDir>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release-MT|Win32'">false</LinkIncremental>
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release-MT|x64'">$(SolutionDir)intel64\$(Configuration)\</OutDir>
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release-MT|x64'">$(SolutionDir)intel64\$(Configuration)\</IntDir>
+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release-MT|x64'">false</LinkIncremental>
+    <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug-MT|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
+    <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug-MT|Win32'" />
+    <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug-MT|Win32'" />
+    <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug-MT|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
+    <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug-MT|x64'" />
+    <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug-MT|x64'" />
+    <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
+    <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
+    <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
+    <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
+    <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
+    <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
+    <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release-MT|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
+    <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release-MT|Win32'" />
+    <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release-MT|Win32'" />
+    <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release-MT|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
+    <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release-MT|x64'" />
+    <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release-MT|x64'" />
+    <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
+    <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
+    <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
+    <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
+    <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
+    <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
+    <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectName)_debug</TargetName>
+    <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug-MT|Win32'">$(ProjectName)_debug</TargetName>
+    <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(ProjectName)_debug</TargetName>
+    <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug-MT|x64'">$(ProjectName)_debug</TargetName>
+  </PropertyGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <ClCompile>
+      <AdditionalOptions> /c /MDd /Od /Ob0 /Zi /EHsc /GR /Zc:forScope /Zc:wchar_t /DTBB_USE_DEBUG /D__TBB_LIB_NAME=tbb_debug.lib /DDO_ITT_NOTIFY /GS /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0502 /W4 /WX /D__TBBMALLOC_BUILD=1 /I../../src /I../../src/rml/include /I../../include /I../../src/tbbmalloc /I../../src/tbbmalloc</AdditionalOptions>
+      <Optimization>Disabled</Optimization>
+      <AdditionalIncludeDirectories>.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <MinimalRebuild>true</MinimalRebuild>
+      <ExceptionHandling>Sync</ExceptionHandling>
+      <BasicRuntimeChecks>Default</BasicRuntimeChecks>
+      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level4</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+    </ClCompile>
+    <Link>
+      <AdditionalOptions>/DLL /MAP /DEBUG /fixed:no /INCREMENTAL:NO  %(AdditionalOptions)</AdditionalOptions>
+      <OutputFile>$(OutDir)tbbmalloc_proxy_debug.dll</OutputFile>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <SubSystem>Windows</SubSystem>
+      <RandomizedBaseAddress>false</RandomizedBaseAddress>
+      <DataExecutionPrevention>
+      </DataExecutionPrevention>
+      <TargetMachine>MachineX86</TargetMachine>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <Midl>
+      <TargetEnvironment>X64</TargetEnvironment>
+    </Midl>
+    <ClCompile>
+      <AdditionalOptions> /c /MDd /Od /Ob0 /Zi /EHsc /GR /Zc:forScope /Zc:wchar_t /DTBB_USE_DEBUG /D__TBB_LIB_NAME=tbb_debug.lib /DDO_ITT_NOTIFY /GS /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0502 /W4 /WX /D__TBBMALLOC_BUILD=1 /I../../src /I../../src/rml/include /I../../include /I../../src/tbbmalloc /I../../src/tbbmalloc</AdditionalOptions>
+      <Optimization>Disabled</Optimization>
+      <AdditionalIncludeDirectories>.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <MinimalRebuild>false</MinimalRebuild>
+      <ExceptionHandling>
+      </ExceptionHandling>
+      <BasicRuntimeChecks>Default</BasicRuntimeChecks>
+      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+      <BufferSecurityCheck>false</BufferSecurityCheck>
+      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level4</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+      <ShowIncludes>false</ShowIncludes>
+    </ClCompile>
+    <Link>
+      <AdditionalOptions>/nologo /DLL /MAP /DEBUG /fixed:no /INCREMENTAL:NO %(AdditionalOptions)</AdditionalOptions>
+      <OutputFile>$(OutDir)tbbmalloc_proxy_debug.dll</OutputFile>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <SubSystem>Windows</SubSystem>
+      <RandomizedBaseAddress>false</RandomizedBaseAddress>
+      <DataExecutionPrevention>
+      </DataExecutionPrevention>
+      <TargetMachine>MachineX64</TargetMachine>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <ClCompile>
+      <AdditionalOptions> /c /MD /O2 /Zi /EHsc /GR /Zc:forScope /Zc:wchar_t /D__TBB_LIB_NAME=tbb.lib /DDO_ITT_NOTIFY /GS /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0502 /W4 /WX /D__TBBMALLOC_BUILD=1 /I../../src /I../../src/rml/include /I../../include /I../../src/tbbmalloc /I../../src/tbbmalloc</AdditionalOptions>
+      <AdditionalIncludeDirectories>.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <ExceptionHandling>
+      </ExceptionHandling>
+      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level4</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+    </ClCompile>
+    <Link>
+      <AdditionalOptions>/nologo /DLL /MAP /DEBUG /fixed:no /INCREMENTAL:NO   %(AdditionalOptions)</AdditionalOptions>
+      <OutputFile>$(OutDir)tbbmalloc_proxy.dll</OutputFile>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <SubSystem>Windows</SubSystem>
+      <OptimizeReferences>true</OptimizeReferences>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <RandomizedBaseAddress>false</RandomizedBaseAddress>
+      <DataExecutionPrevention>
+      </DataExecutionPrevention>
+      <TargetMachine>MachineX86</TargetMachine>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <Midl>
+      <TargetEnvironment>X64</TargetEnvironment>
+    </Midl>
+    <ClCompile>
+      <AdditionalOptions> /c /MD /O2 /Zi /EHsc /GR /Zc:forScope /Zc:wchar_t /D__TBB_LIB_NAME=tbb.lib /DDO_ITT_NOTIFY /GS /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0502 /W4 /WX /D__TBBMALLOC_BUILD=1 /I../../src /I../../src/rml/include /I../../include /I../../src/tbbmalloc /I../../src/tbbmalloc</AdditionalOptions>
+      <AdditionalIncludeDirectories>.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <ExceptionHandling>
+      </ExceptionHandling>
+      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+      <BufferSecurityCheck>false</BufferSecurityCheck>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level4</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+    </ClCompile>
+    <Link>
+      <AdditionalOptions>/nologo /DLL /MAP /DEBUG /fixed:no /INCREMENTAL:NO %(AdditionalOptions)</AdditionalOptions>
+      <OutputFile>$(OutDir)tbbmalloc_proxy.dll</OutputFile>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <SubSystem>Windows</SubSystem>
+      <OptimizeReferences>true</OptimizeReferences>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <RandomizedBaseAddress>false</RandomizedBaseAddress>
+      <DataExecutionPrevention>
+      </DataExecutionPrevention>
+      <TargetMachine>MachineX64</TargetMachine>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug-MT|Win32'">
+    <ClCompile>
+      <AdditionalOptions> /c /MTd /Od /Ob0 /Zi /EHsc /GR /Zc:forScope /Zc:wchar_t /DTBB_USE_DEBUG /D__TBB_LIB_NAME=tbb_debug.lib /DDO_ITT_NOTIFY /GS /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0502 /W4 /WX /D__TBBMALLOC_BUILD=1 /I../../src /I../../src/rml/include /I../../include /I../../src/tbbmalloc /I../../src/tbbmalloc</AdditionalOptions>
+      <Optimization>Disabled</Optimization>
+      <AdditionalIncludeDirectories>.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <MinimalRebuild>true</MinimalRebuild>
+      <ExceptionHandling>Sync</ExceptionHandling>
+      <BasicRuntimeChecks>Default</BasicRuntimeChecks>
+      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level4</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+    </ClCompile>
+    <Link>
+      <AdditionalOptions>/DLL /MAP /DEBUG /fixed:no /INCREMENTAL:NO  %(AdditionalOptions)</AdditionalOptions>
+      <OutputFile>$(OutDir)tbbmalloc_proxy_debug.dll</OutputFile>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <SubSystem>Windows</SubSystem>
+      <RandomizedBaseAddress>false</RandomizedBaseAddress>
+      <DataExecutionPrevention>
+      </DataExecutionPrevention>
+      <TargetMachine>MachineX86</TargetMachine>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug-MT|x64'">
+    <Midl>
+      <TargetEnvironment>X64</TargetEnvironment>
+    </Midl>
+    <ClCompile>
+      <AdditionalOptions> /c /MTd /Od /Ob0 /Zi /EHsc /GR /Zc:forScope /Zc:wchar_t /DTBB_USE_DEBUG /D__TBB_LIB_NAME=tbb_debug.lib /DDO_ITT_NOTIFY /GS /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0502 /W4 /WX /D__TBBMALLOC_BUILD=1 /I../../src /I../../src/rml/include /I../../include /I../../src/tbbmalloc /I../../src/tbbmalloc</AdditionalOptions>
+      <Optimization>Disabled</Optimization>
+      <AdditionalIncludeDirectories>.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <MinimalRebuild>false</MinimalRebuild>
+      <ExceptionHandling>
+      </ExceptionHandling>
+      <BasicRuntimeChecks>Default</BasicRuntimeChecks>
+      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
+      <BufferSecurityCheck>false</BufferSecurityCheck>
+      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level4</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+      <ShowIncludes>false</ShowIncludes>
+    </ClCompile>
+    <Link>
+      <AdditionalOptions>/nologo /DLL /MAP /DEBUG /fixed:no /INCREMENTAL:NO %(AdditionalOptions)</AdditionalOptions>
+      <OutputFile>$(OutDir)tbbmalloc_proxy_debug.dll</OutputFile>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <SubSystem>Windows</SubSystem>
+      <RandomizedBaseAddress>false</RandomizedBaseAddress>
+      <DataExecutionPrevention>
+      </DataExecutionPrevention>
+      <TargetMachine>MachineX64</TargetMachine>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release-MT|Win32'">
+    <ClCompile>
+      <AdditionalOptions> /c /MT /O2 /Zi /EHsc /GR /Zc:forScope /Zc:wchar_t /D__TBB_LIB_NAME=tbb.lib /DDO_ITT_NOTIFY /GS /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0502 /W4 /WX /D__TBBMALLOC_BUILD=1 /I../../src /I../../src/rml/include /I../../include /I../../src/tbbmalloc /I../../src/tbbmalloc</AdditionalOptions>
+      <AdditionalIncludeDirectories>.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <ExceptionHandling>
+      </ExceptionHandling>
+      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level4</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+    </ClCompile>
+    <Link>
+      <AdditionalOptions>/nologo /DLL /MAP /DEBUG /fixed:no /INCREMENTAL:NO   %(AdditionalOptions)</AdditionalOptions>
+      <OutputFile>$(OutDir)tbbmalloc_proxy.dll</OutputFile>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <SubSystem>Windows</SubSystem>
+      <OptimizeReferences>true</OptimizeReferences>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <RandomizedBaseAddress>false</RandomizedBaseAddress>
+      <DataExecutionPrevention>
+      </DataExecutionPrevention>
+      <TargetMachine>MachineX86</TargetMachine>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release-MT|x64'">
+    <Midl>
+      <TargetEnvironment>X64</TargetEnvironment>
+    </Midl>
+    <ClCompile>
+      <AdditionalOptions> /c /MT /O2 /Zi /EHsc /GR /Zc:forScope /Zc:wchar_t /D__TBB_LIB_NAME=tbb.lib /DDO_ITT_NOTIFY /GS /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0502 /W4 /WX /D__TBBMALLOC_BUILD=1 /I../../src /I../../src/rml/include /I../../include /I../../src/tbbmalloc /I../../src/tbbmalloc</AdditionalOptions>
+      <AdditionalIncludeDirectories>.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <ExceptionHandling>
+      </ExceptionHandling>
+      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
+      <BufferSecurityCheck>false</BufferSecurityCheck>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level4</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+    </ClCompile>
+    <Link>
+      <AdditionalOptions>/nologo /DLL /MAP /DEBUG /fixed:no /INCREMENTAL:NO %(AdditionalOptions)</AdditionalOptions>
+      <OutputFile>$(OutDir)tbbmalloc_proxy.dll</OutputFile>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <SubSystem>Windows</SubSystem>
+      <OptimizeReferences>true</OptimizeReferences>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <RandomizedBaseAddress>false</RandomizedBaseAddress>
+      <DataExecutionPrevention>
+      </DataExecutionPrevention>
+      <TargetMachine>MachineX64</TargetMachine>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+  </ItemGroup>
+  <ItemGroup>
+    <ClInclude Include="..\..\src\tbbmalloc\tbb_function_replacement.h" />
+    <ClInclude Include="..\..\include\tbb\tbbmalloc_proxy.h" />
+  </ItemGroup>
+  <ItemGroup>
+    <ResourceCompile Include="..\..\src\tbbmalloc\tbbmalloc.rc">
+      <AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='Debug-MT|Win32'">/I../../src /I../../include /DDO_ITT_NOTIFY /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0400 %(AdditionalOptions)</AdditionalOptions>
+      <AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='Debug-MT|x64'">/I../../src /I../../include /DDO_ITT_NOTIFY /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0400 %(AdditionalOptions)</AdditionalOptions>
+      <AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">/I../../src /I../../include /DDO_ITT_NOTIFY /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0400 %(AdditionalOptions)</AdditionalOptions>
+      <AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">/I../../src /I../../include /DDO_ITT_NOTIFY /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0400 %(AdditionalOptions)</AdditionalOptions>
+      <AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='Release-MT|Win32'">/I../../src /I../../include /DDO_ITT_NOTIFY /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0400 %(AdditionalOptions)</AdditionalOptions>
+      <AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='Release-MT|x64'">/I../../src /I../../include /DDO_ITT_NOTIFY /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0400 %(AdditionalOptions)</AdditionalOptions>
+      <AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">/I../../src /I../../include /DDO_ITT_NOTIFY /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0400 %(AdditionalOptions)</AdditionalOptions>
+      <AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">/I../../src /I../../include /DDO_ITT_NOTIFY /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0400 %(AdditionalOptions)</AdditionalOptions>
+    </ResourceCompile>
+    <ClCompile Include="..\..\src\tbbmalloc\proxy.cpp" />
+    <ClCompile Include="..\..\src\tbbmalloc\tbb_function_replacement.cpp" />
+  </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="tbbmalloc.vcxproj">
+      <Project>{b15f131e-328a-4d42-adc2-9ff4ca6306d8}</Project>
+      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+    </ProjectReference>
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+    <Import Project="$(VCTargetsPath)\BuildCustomizations\masm.targets" />
+  </ImportGroup>
+</Project>
\ No newline at end of file
diff --git a/build/vsproject/version_string.ver b/build/vs2010/version_string.ver
similarity index 100%
rename from build/vsproject/version_string.ver
rename to build/vs2010/version_string.ver
diff --git a/build/vsproject/index.html b/build/vsproject/index.html
deleted file mode 100644
index 162a28b..0000000
--- a/build/vsproject/index.html
+++ /dev/null
@@ -1,30 +0,0 @@
-<HTML>
-<BODY>
-
-<H2>Overview</H2>
-This directory contains the visual studio* 2008 solution to build Intel&reg Threading Building Blocks.
-
-
-<H2>Files</H2>
-<DL>
-<DT><A HREF="makefile.sln">makefile.sln</A>
-<DD>Solution file.
-<DT><A HREF="tbb.vcproj">tbb.vcproj</A>
-<DD>Library project file.
-<DT><A HREF="tbbmalloc.vcproj">tbbmalloc.vcproj</A>
-<DD>Scalable allocator library project file. Allocator sources are expected to be located in <A HREF="../../src/tbbmalloc">../../src/tbbmalloc</A> folder.
-<DT><A HREF="tbbmalloc_proxy.vcproj">tbbmalloc_proxy.vcproj</A>
-<DD>Standard allocator replacement project file. 
-</DL>
-
-<HR>
-<A HREF="../index.html">Up to parent directory</A>
-<P></P>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
-<P></P>
-Intel is a registered trademark or trademark of Intel Corporation
-or its subsidiaries in the United States and other countries.
-<p></p>
-* Other names and brands may be claimed as the property of others.
-</BODY>
-</HTML>
diff --git a/build/windows.cl.inc b/build/windows.cl.inc
index 0918d5e..4b28e04 100644
--- a/build/windows.cl.inc
+++ b/build/windows.cl.inc
@@ -1,4 +1,4 @@
-# Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+# Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 #
 # This file is part of Threading Building Blocks.
 #
diff --git a/build/windows.gcc.inc b/build/windows.gcc.inc
index 8b498aa..8516f9d 100644
--- a/build/windows.gcc.inc
+++ b/build/windows.gcc.inc
@@ -1,4 +1,4 @@
-# Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+# Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 #
 # This file is part of Threading Building Blocks.
 #
diff --git a/build/windows.icl.inc b/build/windows.icl.inc
index 5110b21..30137a1 100644
--- a/build/windows.icl.inc
+++ b/build/windows.icl.inc
@@ -1,4 +1,4 @@
-# Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+# Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 #
 # This file is part of Threading Building Blocks.
 #
@@ -111,7 +111,7 @@ endif
 C_FLAGS = $(CPLUS_FLAGS)
 
 ifneq (00,$(lambdas)$(cpp0x))
-    CPLUS_FLAGS += $(CPP11_FLAGS)
+    CXX_ONLY_FLAGS += $(CPP11_FLAGS)
 endif
 
 VCVERSION:=$(runtime)
@@ -132,6 +132,9 @@ ifeq ($(VCCOMPAT_FLAG),)
         VCCOMPAT_FLAG := $(if $(findstring vc11, $(VCVERSION)),/Qvc11)
 endif
 ifeq ($(VCCOMPAT_FLAG),)
+        VCCOMPAT_FLAG := $(if $(findstring vc12, $(VCVERSION)),/Qvc12)
+endif
+ifeq ($(VCCOMPAT_FLAG),)
         $(error VC version not detected correctly: $(VCVERSION) )
 endif
 export VCCOMPAT_FLAG
diff --git a/build/windows.inc b/build/windows.inc
index 013f4f5..e7d469f 100644
--- a/build/windows.inc
+++ b/build/windows.inc
@@ -1,4 +1,4 @@
-# Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+# Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 #
 # This file is part of Threading Building Blocks.
 #
@@ -78,9 +78,10 @@ TBB.DEF = $(TBB.LST:.lst=.def)
 TBB.DLL = tbb$(CPF_SUFFIX)$(DEBUG_SUFFIX).$(DLL)
 TBB.LIB = tbb$(CPF_SUFFIX)$(DEBUG_SUFFIX).$(LIBEXT)
 TBB.RES = tbb_resource.res
-# On Windows, we use #pragma comment to set the proper TBB lib to link with
-# But for cross-configuration testing, need to link explicitly
-LINK_TBB.LIB = $(if $(crosstest),$(TBB.LIB))
+# On Windows, we use #pragma comment to set the proper TBB lib to link with.
+# But for cross-configuration testing, need to link explicitly.
+# Tests use this variable to detect dependency on TBB binary, so have to be non-empty. 
+LINK_TBB.LIB = $(if $(crosstest),$(TBB.LIB),$(DEFINE_KEY)__TBB_IMPLICITLY_LINKED)
 TBB.MANIFEST =
 ifneq ($(filter vc8 vc9,$(runtime)),)
     TBB.MANIFEST = tbbmanifest.exe.manifest
@@ -110,7 +111,7 @@ ifneq ($(filter vc8 vc9,$(runtime)),)
 RML.MANIFEST = tbbmanifest.exe.manifest
 endif
 
-MAKE_VERSIONS = cmd /C cscript /nologo /E:jscript $(subst \,/,$(tbb_root))/build/version_info_windows.js $(compiler) $(arch) $(subst \,/,"$(CPLUS) $(CPLUS_FLAGS)") > version_string.ver
+MAKE_VERSIONS = cmd /C cscript /nologo /E:jscript $(subst \,/,$(tbb_root))/build/version_info_windows.js $(compiler) $(arch) $(subst \,/,"$(VERSION_FLAGS)") > version_string.ver
 MAKE_TBBVARS  = cmd /C "$(subst /,\,$(tbb_root))\build\generate_tbbvars.bat"
 
 TEST_LAUNCHER = $(subst /,\,$(tbb_root))\build\test_launcher.bat $(largs)
diff --git a/build/xbox360.cl.inc b/build/xbox360.cl.inc
index 358fc1e..aa7a931 100644
--- a/build/xbox360.cl.inc
+++ b/build/xbox360.cl.inc
@@ -1,4 +1,4 @@
-# Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+# Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 #
 # This file is part of Threading Building Blocks.
 #
diff --git a/build/xbox360.inc b/build/xbox360.inc
index d381ba2..321ec63 100644
--- a/build/xbox360.inc
+++ b/build/xbox360.inc
@@ -1,4 +1,4 @@
-# Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+# Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 #
 # This file is part of Threading Building Blocks.
 #
@@ -76,5 +76,5 @@ MALLOC.LIB = tbbmalloc$(DEBUG_SUFFIX).$(LIBEXT)
 LINK_MALLOC.LIB =
 MALLOC.RES =
 
-MAKE_VERSIONS = cmd /C cscript /nologo /E:jscript $(subst \,/,$(tbb_root))/build/version_info_windows.js $(compiler) $(arch) $(subst \,/,"$(CPLUS) $(CPLUS_FLAGS) $(INCLUDES)") > version_string.ver
+MAKE_VERSIONS = cmd /C cscript /nologo /E:jscript $(subst \,/,$(tbb_root))/build/version_info_windows.js $(compiler) $(arch) $(subst \,/,"$(VERSION_FLAGS)") > version_string.ver
 MAKE_TBBVARS  = cmd /C "$(subst /,\,$(tbb_root))\build\generate_tbbvars.bat"
diff --git a/doc/Release_Notes.txt b/doc/Release_Notes.txt
index 0586105..7190c0d 100644
--- a/doc/Release_Notes.txt
+++ b/doc/Release_Notes.txt
@@ -51,7 +51,7 @@ Software - Recommended
 Software - Supported Operating Systems
 
     Systems with Microsoft* Windows* operating systems
-	Microsoft* Windows* 8
+	Microsoft* Windows* 8, 8.1
 	Microsoft* Windows* 7 SP1
 	Microsoft* Windows* Server 2012
 	Microsoft* Windows* Server 2008 SP2
@@ -70,12 +70,7 @@ Software - Supported Operating Systems
 Software - Supported Compilers
 
     Intel(R) C++ Composer XE 2011 SP1 and higher
-    Microsoft* Visual C++ 11.0 (Microsoft* Visual Studio* 2012,
-	Windows* OS only)
-    Microsoft* Visual C++ 10.0 (Microsoft* Visual Studio* 2010,
-	Windows* OS only)
-    Microsoft* Visual C++ 9.0 (Microsoft* Visual Studio* 2008,
-	Windows* OS only)
+    Microsoft* Visual Studio* 2008 and higher (Windows* OS only)
     For each supported Linux* operating system, the standard gcc
 	version provided with that operating system is supported,
 	including gcc 4.1 through 4.7
@@ -131,15 +126,19 @@ Library Issues
 	debug libraries; not doing so may cause run-time failures.  See
 	the Tutorial in the product "doc" sub-directory for more details
 	on debug vs. release libraries.
-    
+
     - If open source verion installed to the system folders like /usr/lib64
 	on Linux OS examples may fail to link because sometimes gcc
 	searches for folders in the different order than expected.
 	-L command line	linker option needs to be used to set the right
 	location. This does not affect a program execution.
-    
+
+    - Running applications linked with Intel(R) Threading Building Blocks
+        version 4.0 U5 or higher under Intel(R) Graphics Performance
+        Analyzers is not supported.
+
 ------------------------------------------------------------------------
-Copyright (C) 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright (C) 2005-2014 Intel Corporation.  All Rights Reserved.
 
 Intel, Xeon and Pentium are registered trademarks or trademarks of
 Intel Corporation or its subsidiaries in the United States and other countries.
diff --git a/doc/help/NavScript.js b/doc/help/NavScript.js
new file mode 100755
index 0000000..f5fa703
--- /dev/null
+++ b/doc/help/NavScript.js
@@ -0,0 +1,58 @@
+//*==============================================================================
+//*    Helpware NavScript.js 1.01
+//*      Copyright (c) 2008, Robert Chandler, The Helpware Group
+//*      http://helpware.net/FAR/
+//*      support at helpware.net
+//*    Descriptions:
+//*      Adds a Open Navigation link at page top if nav is currently not open
+//*       or inside a CHM.
+//*    Usage: Anyone may use and modify this file. If you modify it then
+//*       please change its name and acknowledge my work in your (c) statement.
+//*       Email me your changes if you think that others could benefit too.
+//*==============================================================================
+//*  10-June-2008: 1.00 RWC - Original Version
+//*  11-July-2008: 1.01 RWC - Now detects if inside CHM Help file. IsInsideChm()
+//*
+
+function GetTest() {
+   alert( window.location );
+}
+
+function WriteOpenNavLink(navLink) {
+  var ss = '<div style="font-family: Verdana; font-size: 80%;color: #333333; margin:0px 0px 0px 0px; padding:0px 0px 0px 0px;">'
+          +'<a href="'+navLink+'" style="padding:0px 5px 0px 5px;">< Table Of Contents</a>'
+          +'</div>';
+  document.write(ss);
+}
+
+function IsNavOpen() {
+  if ((top.right == null) || (top.right == undefined) || (top.right.location == null) || (top.right.location == undefined) || (typeof(top.right.location.href) != "string") || (top.right.location.href == ""))
+    return false;  //no nav found
+  else
+    return true;  //nav found
+}
+
+function IsInsideChm() {   //returns true if current file is inside a CHM Help File
+  var ra = /::/;
+  return (location.href.search(ra) > 0); //If found then then we are in a CHM
+  }
+
+// pass in the directory level. 0 = if this HTML is same level as hh_goto.hh; 1 = of one level down etc
+function WriteNavLink(aDirLevel) {
+  if ((!IsNavOpen()) && (!IsInsideChm()))
+  {
+    var prefix = "";
+    for (var n=0; n < aDirLevel; n++)
+      prefix = prefix + "../";
+
+    //find last back slash in path
+    var x = location.href.lastIndexOf("/");       // get last splash of "path/dir/name.htm"
+    for (var n=0; n < aDirLevel; n++)
+      x = location.href.lastIndexOf("/", x-1);    // get 2nd last slash etc
+    var curFileName = location.href.substr(x+1);
+
+    var navLink = prefix + "hh_goto.htm#" + curFileName
+    WriteOpenNavLink(navLink);
+  }
+}
+
diff --git a/doc/help/Resources/NavScript.js b/doc/help/Resources/NavScript.js
new file mode 100755
index 0000000..699c54d
--- /dev/null
+++ b/doc/help/Resources/NavScript.js
@@ -0,0 +1,61 @@
+//*==============================================================================
+//*    Helpware NavScript.js 1.01
+//*      Copyright (c) 2008, Robert Chandler, The Helpware Group
+//*      http://helpware.net/FAR/
+//*      support at helpware.net
+//*    Descriptions:
+//*      Adds a Open Navigation link at page top if nav is currently not open
+//*       or inside a CHM.
+//*    Usage: Anyone may use and modify this file. If you modify it then
+//*       please change its name and acknowledge my work in your (c) statement.
+//*       Email me your changes if you think that others could benefit too.
+//*==============================================================================
+//*  10-June-2008: 1.00 RWC - Original Version
+//*  11-July-2008: 1.01 RWC - Now detects if inside CHM Help file. IsInsideChm()
+//*
+
+function GetTest() {
+   alert( window.location );
+}
+
+function WriteOpenNavLink(navLink) {
+  var ss = '<div style="font-family: Verdana; font-size: 80%;color: #333333; margin:0px 0px 0px 0px; padding:0px 0px 0px 0px;">'
+          +'<a href="'+navLink+'" style="padding:0px 5px 0px 5px;">< Table Of Contents</a>'
+          +'</div>';
+  document.write(ss);
+}
+
+function IsNavOpen() {
+  if ((top.right == null) || (top.right == undefined) || (top.right.location == null) || (top.right.location == undefined) || (typeof(top.right.location.href) != "string") || (top.right.location.href == ""))
+    return false;  //no nav found
+  else
+    return true;  //nav found
+}
+
+function IsInsideChm() {   //returns true if current file is inside a CHM Help File
+  var ra = /::/;
+  return (location.href.search(ra) > 0); //If found then then we are in a CHM
+  }
+
+// pass in the directory level. 0 = if this HTML is same level as hh_goto.hh; 1 = of one level down etc
+function WriteNavLink(aDirLevel) {
+  if ((!IsNavOpen()) && (!IsInsideChm()))
+  {
+    var prefix = "";
+    for (var n=0; n < aDirLevel; n++)
+      prefix = prefix + "../";
+
+    //find last back slash in path
+    var x = location.href.lastIndexOf("/");       // get last splash of "path/dir/name.htm"
+    for (var n=0; n < aDirLevel; n++)
+      x = location.href.lastIndexOf("/", x-1);    // get 2nd last slash etc
+    var curFileName = location.href.substr(x+1);
+
+    var navLink = prefix + "hh_goto.htm#" + curFileName
+    WriteOpenNavLink(navLink);
+  }
+}
+
+
+
+
diff --git a/doc/help/Resources/ssgid_scripts.js b/doc/help/Resources/ssgid_scripts.js
new file mode 100755
index 0000000..dffec08
--- /dev/null
+++ b/doc/help/Resources/ssgid_scripts.js
@@ -0,0 +1,19 @@
+var popupWindow = null;
+function popUp(URL) {
+    popupWindow = window.open(URL,'name','titlebar=no,toolbar=no,status=no,location=no,menubar=no,resizable=yes,scrollbars=yes,height=550,width=500');
+  
+   if(popupWindow && window.focus) {
+      popupWindow.focus();
+    }
+
+    var el = window.event;
+    el.returnValue = false;
+    el.cancelBubble = true;
+}
+var day = null;
+var id = null;
+function TestpopUp(URL) {
+day = new Date();
+id = day.getTime();
+eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=1,width=500,height=550,left = 470');");
+}
diff --git a/doc/help/delta.gif b/doc/help/delta.gif
new file mode 100755
index 0000000..30f2959
Binary files /dev/null and b/doc/help/delta.gif differ
diff --git a/doc/help/deltaend.gif b/doc/help/deltaend.gif
new file mode 100755
index 0000000..55e32fb
Binary files /dev/null and b/doc/help/deltaend.gif differ
diff --git a/doc/help/hh_goto.htm b/doc/help/hh_goto.htm
new file mode 100755
index 0000000..3825ceb
--- /dev/null
+++ b/doc/help/hh_goto.htm
@@ -0,0 +1,39 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
+<!-- saved from url=(0014)about:internet -->
+<html>
+<head>
+  <title>Redirect Page</title>
+  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+
+<script type="text/javascript">
+<!--
+  var Param = window.location.hash.substring(1);
+  var URL="index.htm";
+  if (Param != "")
+    URL = URL + "#" + Param;
+  window.location.replace(URL);
+//-->
+</script>
+
+<style type="text/css">
+body { font-family: Verdana; }
+</style>
+
+</head>
+<body>
+
+<h3>Page Loader</h3>
+
+<p>If there is a security warning at the top of the page please click it and select "Allow blocked content".</p>
+
+<p>If redirection does not occur click this link:
+<script type="text/javascript">
+<!--
+  document.write('<a href="'+ URL +'">'+ URL +'</a>')
+//-->
+</script>
+</p>
+
+</body>
+</html>
+
diff --git a/doc/help/hh_index.htm b/doc/help/hh_index.htm
new file mode 100755
index 0000000..63ae842
--- /dev/null
+++ b/doc/help/hh_index.htm
@@ -0,0 +1,531 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
+<!-- saved from url=(0014)about:internet -->
+<html>
+<head>
+  <script type="text/javascript">
+  <!--
+
+  if (parent.location.href == self.location.href)
+    window.location.href = "index.htm#+hh_index.htm";
+
+  function CloseNav() {
+    if ((top.right.location == null) || (top.right.location == undefined) || (typeof(top.right.location.href) != "string") || (top.right.location.href == ""))
+      top.location="main/title.htm";
+    else
+      top.location=top.right.location;
+  }
+  function IndexListOnChange() { //Listbox select -> Put selected text into Entry field
+    var iSelect = document.getElementById("indexcontainer").selectedIndex;
+    var text = document.getElementById("indexcontainer").item(iSelect).text;
+    //Remove leading spaces -     %A0 -- Finding it hard to remove Non-breaking space. JScript does not see %A0 as White space
+    text = escape(text);    text = text.replace(/^(%A0)+/g, "");
+    text = unescape(text);  text = text.replace(/^\s+/g, "");
+    document.getElementById("IndexEntry").value = text;
+  }
+  function IndexEntryOnKeyUp() { //text typed -> select closest listbox entry 
+    var oList = document.getElementById("indexcontainer"); 
+    var ListLen = oList.length; 
+    var iCurSel = oList.selectedIndex; 
+    var text = document.getElementById("IndexEntry").value.toUpperCase(); 
+    var TextLen = text.length; 
+    for (var i = 0; i < ListLen; i++) { 
+      var listitem = oList.item(i).text.substr(0, TextLen).toUpperCase(); 
+      if (listitem == text) { 
+        if (i != iCurSel) { 
+          var iPos = i + oList.size - 1; 
+          if(ListLen > iPos) 
+            oList.selectedIndex = iPos; 
+          else 
+            oList.selectedIndex = ListLen-1; 
+          oList.selectedIndex = i; 
+        } 
+        break; 
+      } 
+    } 
+    return(true); //do not gobble keypress 
+  } 
+  function OpenSelected() {  //open selected list item
+    var iSelect = document.getElementById("indexcontainer").selectedIndex;
+    if (iSelect >= 0) {
+      var URL = document.getElementById("indexcontainer").item(iSelect).value;
+      if (URL.length > 0) top.right.location = URL;  //right pane has name "right"
+    }
+  }
+  function KeyDownEvent(event) {
+    if ((event.which && event.which==13) || (event.keyCode && event.keyCode==13)) {
+      OpenSelected();
+      IndexListOnChange();  //update entry field to list box selected text
+      return(false);        //gobble text
+      } else return(true);
+  }
+
+  function GetFrameWidth() { 
+    var x = 300; 
+    if (self.innerHeight) // all except Explorer 
+	x = self.innerWidth; 
+    else if (document.documentElement && document.documentElement.clientHeight) // Explorer 6 Strict Mode 
+	x = document.documentElement.clientWidth; 
+    else if (document.body) // other Explorers 
+	x = document.body.clientWidth; 
+    return(x); 
+  } 
+
+  function GetFrameHeight() { 
+    var y = 400; 
+    if (self.innerHeight) // all except Explorer 
+      y = self.innerHeight; 
+    else if (document.documentElement && document.documentElement.clientWidth) // Explorer 6 Strict Mode 
+      y = document.documentElement.clientHeight; 
+    else if (document.body) // other Explorers 
+      y = document.body.clientHeight; 
+    return(y); 
+  } 
+
+  function resizeIndex() {
+    var indexDiv = document.getElementById("indexcontainer");
+    var xTop = indexDiv.offsetTop;
+    var DivFooter = document.getElementById("DivFooter");
+    if ((DivFooter != null) && (DivFooter != undefined))
+        xTop = xTop + DivFooter.offsetHeight;
+
+    var WW = GetFrameWidth() - 10; //working with 5px each side 
+    indexDiv.style.width = WW.toString() + "px"; 
+    var HH = GetFrameHeight() -  xTop; 
+    if (HH > 0) 
+      indexDiv.style.height = HH.toString() + "px"; 
+  }
+  function OnLoadCode() {
+    window.onresize=resizeIndex;
+    resizeIndex();
+  }
+  -->
+  </script>
+
+
+<title>Index</title>
+<meta http-equiv="content-type" content="text/html; charset=utf-8">
+
+  <style type="text/css">
+  .docstyle
+  {
+    font-size: 80%;
+    font-family: arial,verdana,sans-serif;
+  }
+  </style>
+
+</head>
+
+<body id="docBody" style="color: Black; margin: 5px 0px 0px 0px;" onload="OnLoadCode()">
+
+
+<div style="display: inline; white-space: nowrap; margin: 0px 0px 0px 5px;">
+<input
+ TYPE="button" VALUE="Contents" ONCLICK="javascript:location='hh_toc.htm';"
+ NAME="HelpTopics"><input
+ TYPE="button" VALUE="Index" ONCLICK="javascript:location='hh_index.htm';"
+ NAME="Index"><input
+ TYPE="button" VALUE="Search" ONCLICK="javascript:location='hh_search.htm';"
+ NAME="Search">
+</div>
+
+
+  <div style="margin: 11px 0px 0px 0px; padding: 0px 5px 0px 5px;">
+     <input type="text" id="IndexEntry" class="docstyle"
+       style="width:100%;"
+       onkeydown="javascript:return(KeyDownEvent(event));"
+       onkeyup="javascript:return(IndexEntryOnKeyUp());">
+  </div>
+
+<div style="margin: 5px 0px 0px 0px; padding: 0px 5px 0px 5px;">
+<select id="indexcontainer" name="IndexListbox" class="docstyle"
+  style="width:200; height:200;"
+  size="500"
+  onchange="javascript:IndexListOnChange();"
+  onclick="javascript:OpenSelected();return(true);"
+  onkeydown="javascript:return(KeyDownEvent(event));">
+<option value="reference/task_scheduler/task_scheduler_init_cls/task_scheduler_init_1.htm">~task_scheduler_init</option>
+<option value="reference/containers_overview/concurrent_vector/access.htm">Access</option>
+<option value="tbb_userguide/Advanced_Example.htm">Advanced 			 Example</option>
+<option value="tbb_userguide/Advanced_Idiom_Waiting_on_an_Element.htm">Advanced Idiom: Waiting on an 			 Element</option>
+<option value="tbb_userguide/Advanced_Topic_Other_Kinds_of_Iteration_Spaces.htm">Advanced Topic: Other Kinds of Iteration 			 Spaces</option>
+<option value="reference/task_scheduler/affinity.htm">Affinity</option>
+<option value="reference/algorithms/partitioners/affinity_partitioner.htm">affinity_partitioner</option>
+<option value="tbb_userguide/Design_Patterns/Agglomeration.htm">Agglomeration</option>
+<option value="reference/appendices/community_preview_features/aggregator_cls.htm">aggregator Class</option>
+<option value="reference/appendices/community_preview_features/aggregator_cls/basic_interface.htm">aggregator Class Basic Interface</option>
+<option value="reference/appendices/community_preview_features/aggregator_cls/expert_interface.htm">aggregator Class Expert Interface</option>
+<option value="reference/algorithms.htm">Algorithms</option>
+<option value="reference/memory_allocation/aligned_space_cls.htm">aligned 			 space</option>
+<option value="">allocator</option>
+<option value="reference/memory_allocation/scalable_allocator_cls.htm">   scalable_allocator Template Class</option>
+<option value="reference/memory_allocation/zero_allocator.htm">   zero_allocator</option>
+<option value="reference/memory_allocation/aligned_space_cls.htm">   aligned_space Template Class</option>
+<option value="reference/memory_allocation/tbb_allocator_cls.htm">   tbb_allocator Template Class</option>
+<option value="reference/memory_allocation/cache_aligned_allocator_cls.htm">   cache_aligned_allocator Template Class</option>
+<option value="reference/environment/version_information.htm">ALLOCATOR</option>
+<option value="reference/memory_allocation/allocator_concept.htm">Allocator Concept</option>
+<option value="tbb_userguide/appendix_A.htm">Appendix A Costs of Time 			 Slicing</option>
+<option value="tbb_userguide/appendix_B.htm">Appendix B Mixing With Other Threading Packages</option>
+<option value="tbb_userguide/Atomic_Operations.htm">Atomic 			 Operations</option>
+<option value="reference/synchronization/atomic_cls.htm">atomic Template 			 Class</option>
+<option value="tbb_userguide/Why_atomic_T_Has_No_Constructors.htm">atomic<T> 			 constructors</option>
+<option value="reference/algorithms/partitioners/auto_partitioner_cls.htm">auto_partitioner 			 Class</option>
+<option value="tbb_userguide/Automatic_Chunking.htm">Automatic 			 Chunking</option>
+<option value="tbb_userguide/Automically_Replacing_malloc.htm">Automatically Replacing malloc and Other C/C++ 			 Functions for Dynamic Memory Allocation</option>
+<option value="tbb_userguide/Bandwidth_and_Cache_Affinity.htm">Bandwidth and Cache 			 Affinity</option>
+<option value="main/Benefits.htm">Benefits</option>
+<option value="reference/algorithms/range_concept/blocked_range_cls.htm">blocked_range Template 			 Class</option>
+<option value="reference/algorithms/range_concept/blocked_range2d_cls.htm">blocked_range2d Template 			 Class</option>
+<option value="reference/algorithms/range_concept/blocked_range3d_cls.htm">blocked_range3d Template Class</option>
+<option value="reference/flow_graph/body_objects.htm">Body Objects</option>
+<option value="reference/flow_graph/broadcast_node_cls.htm">broadcast_node Template 			 Class</option>
+<option value="">Bucket 			 Interface</option>
+<option value="reference/containers_overview/concurrent_unordered_map_cls/bucket_interface_map_cls.htm">   Bucket Interface</option>
+<option value="reference/containers_overview/concurrent_unordered_set_cls/bucket_interface_set_cls.htm">   Bucket Interface</option>
+<option value="reference/flow_graph/buffer_node_cls.htm">buffer_node Class</option>
+<option value="reference/memory_allocation/scalable_allocator_cls/c_interface_to_scalable_allocator.htm">C Interface to Scalable 			 Allocator</option>
+<option value="reference/environment/feature_macros.htm">C++11 			 Support</option>
+<option value="reference/synchronization/c_11_synchronization.htm">C++11 Synchronization</option>
+<option value="reference/memory_allocation/cache_aligned_allocator_cls.htm">cache aligned allocator</option>
+<option value="reference/task_scheduler/cancellation.htm">Cancellation</option>
+<option value="tbb_userguide/Cancellation_and_Nested_Parallelism.htm">Cancellation and Nested 			 Parallelism</option>
+<option value="tbb_userguide/Cancellation_Without_An_Exception.htm">Cancellation Without An 			 Exception</option>
+<option value="">Capacity</option>
+<option value="reference/containers_overview/concurrent_hash_map_cls/capacity_map_cls.htm">   Capacity</option>
+<option value="reference/containers_overview/concurrent_vector/capacity_vector.htm">   Capacity</option>
+<option value="reference/exceptions/captured_exception.htm">captured_exception</option>
+<option value="reference/task_scheduler/catalog_of_recommended_task_patterns.htm">Catalog of Recommended task Patterns</option>
+<option value="reference/thread_local_storage/combinable_cls.htm">combinable Template 			 Class</option>
+<option value="reference/thread_local_storage/enumerable_thread_specific_cls/combining.htm">Combining</option>
+<option value="reference/appendices/community_preview_features.htm">Community Preview Features</option>
+<option value="tbb_userguide/Design_Patterns/Compare_and_Swap_Loop.htm">Compare and Swap 			 Loop</option>
+<option value="reference/appendices.htm">compatibility</option>
+<option value="reference/appendices/compatibility_features.htm">Compatibility 			 Features</option>
+<option value="reference/containers_overview/concurrent_hash_map_cls/concurrent_access.htm">Concurrent 			 Access</option>
+<option value="reference/containers_overview/concurrent_vector/concurrent_growth.htm">Concurrent 			 Growth</option>
+<option value="">Concurrent 			 Operations</option>
+<option value="reference/thread_local_storage/flattened2d_cls/concurrent_operations.htm">   Concurrent Operations</option>
+<option value="reference/thread_local_storage/enumerable_thread_specific_cls/concurrent_operations1.htm">   Concurrent Operations</option>
+<option value="tbb_userguide/Concurrent_Queue_Classes.htm">Concurrent Queue Classes</option>
+<option value="reference/containers_overview/concurrent_bounded_queue_cls.htm">concurrent_bounded_queue Template 			 Class</option>
+<option value="tbb_userguide/concurrent_hash_map.htm">concurrent_hash_map</option>
+<option value="reference/containers_overview/concurrent_hash_map_cls.htm">concurrent_hash_map Template 			 Class</option>
+<option value="reference/appendices/community_preview_features/concurrent_lru_cache_cls.htm">concurrent_lru_cache Template 			 Class</option>
+<option value="reference/containers_overview/concurrent_priority_queue_cls.htm">concurrent_priority_queue Template 			 Class</option>
+<option value="reference/containers_overview/concurrent_queue_cls.htm">concurrent_queue Template 			 Class</option>
+<option value="reference/containers_overview/concurrent_unordered_map_cls.htm">concurrent_unordered_map</option>
+<option value="reference/containers_overview/concurrent_unordered_map_cls.htm">concurrent_unordered_multimap</option>
+<option value="reference/containers_overview/concurrent_unordered_set_cls.htm">concurrent_unordered_multiset</option>
+<option value="reference/containers_overview/concurrent_unordered_set_cls.htm">concurrent_unordered_set</option>
+<option value="">concurrent_vector</option>
+<option value="tbb_userguide/concurrent_vector.htm">   concurrent_vector</option>
+<option value="reference/containers_overview/concurrent_vector.htm">   concurrent_vector</option>
+<option value="">Construct, Destroy, 			 Copy</option>
+<option value="reference/containers_overview/concurrent_unordered_set_cls/construct_destroy_copy_set_cls.htm">   Construct, Destroy, Copy</option>
+<option value="reference/containers_overview/concurrent_unordered_map_cls/construct_destroy_copy_map_cls.htm">   Construct, Destroy, Copy</option>
+<option value="reference/containers_overview/concurrent_vector/construction_copy_and_assignment.htm">Construction, Copy, and 			 Assignment</option>
+<option value="">constructors</option>
+<option value="tbb_userguide/Why_atomic_T_Has_No_Constructors.htm">   Why atomic<T> Has No Constructors in C++03 mode</option>
+<option value="tbb_userguide/Why_atomic_T_Has_No_Constructors.htm">   atomic<T></option>
+<option value="reference/containers_overview/container_range_concept.htm">Container Range 			 Concept</option>
+<option value="tbb_userguide/Containers.htm">Containers</option>
+<option value="tbb_userguide/Continuation_Passing.htm">Continuation 			 Passing</option>
+<option value="reference/flow_graph/continue_msg_cls.htm">continue_msg Class</option>
+<option value="reference/flow_graph/continue_node_cls.htm">continue_node Template 			 Class</option>
+<option value="reference/flow_graph/continue_receiver_cls.htm">continue_receiver 			 Class</option>
+<option value="tbb_userguide/Controlling_Chunking.htm">Controlling Chunking  		</option>
+<option value="tbb_userguide/Cook_Until_Done_parallel_do.htm">Cook Until Done: 			 parallel_do</option>
+<option value="reference/flow_graph/copy_body_func.htm">copy_body Template 			 Function</option>
+<option value="reference/synchronization/ppl_compatibility/critical_section.htm">critical_section</option>
+<option value="tbb_userguide/Debug_Versus_Release_Libraries.htm">Debug Versus Release 			 Libraries</option>
+<option value="reference/appendices/compatibility_features/debugging_macros.htm">Debugging Macros</option>
+<option value="reference/flow_graph/dependency_flow_graph_example.htm">Dependency Flow Graph 			 Example</option>
+<option value="tbb_userguide/Design_Patterns/Divide_and_Conquer.htm">Divide and Conquer</option>
+<option value="reference/environment/version_information.htm">DO_ITT_NOTIFY</option>
+<option value="tbb_userguide/Automically_Replacing_malloc.htm">dynamic memory 			 allocation</option>
+<option value="tbb_userguide/Design_Patterns/Elementwise.htm">Elementwise</option>
+<option value="tbb_userguide/Empty_Tasks.htm">Empty Tasks</option>
+<option value="reference/task_scheduler/empty_task_cls.htm">empty_task Class</option>
+<option value="reference/appendices/community_preview_features/enabling_a_community_preview_feature.htm">Enabling a Community Preview Feature</option>
+<option value="reference/environment/enabling_debugging_features.htm">Enabling Debugging Features</option>
+<option value="reference/thread_local_storage/enumerable_thread_specific_cls.htm">enumerable_thread_specific Template Class</option>
+<option value="reference/environment.htm">Environment</option>
+<option value="reference/appendices/community_preview_features/run_time_loader/runtime_loader_cls/error_code_load.htm">error_code load(char const * path[],int min_ver = 			 TBB_INTERFACE_VERSION, int max_ver = INT_MAX)</option>
+<option value="reference/exceptions.htm">Exceptions</option>
+<option value="tbb_userguide/Exceptions_and_Cancellation.htm">Exceptions and 			 Cancellation</option>
+<option value="reference/task_scheduler/explicit_task_destruction.htm">Explicit task 			 Destruction</option>
+<option value="reference/environment/feature_macros.htm">Feature macros</option>
+<option value="tbb_userguide/Design_Patterns/Fenced_Data_Transfer.htm">Fenced Data 			 Transfer</option>
+<option value="reference/algorithms/pipeline_cls/filter_cls.htm">filter Class</option>
+<option value="reference/appendices/community_preview_features/scalable_memory_pools/fixed_pool_cls.htm">fixed_pool Class</option>
+<option value="reference/thread_local_storage/flattened2d_cls.htm">flattened2d Template Class</option>
+<option value="">Flow Graph</option>
+<option value="reference/appendices/community_preview_features/flow_graph_features.htm">   Flow Graph</option>
+<option value="reference/flow_graph.htm">   Flow Graph</option>
+<option value="reference/algorithms/parallel_pipeline_func/flow_control_cls.htm">flow_control Class</option>
+<option value="reference/flow_graph/flow_tuple.htm">flow::tuple</option>
+<option value="reference/flow_graph/func_node_cls.htm">function_node Template 			 Class</option>
+<option value="tbb_userguide/General_Acyclic_Graphs_of_Tasks.htm">General Acyclic Graphs of 			 Tasks</option>
+<option value="reference/general_conventions.htm">General Conventions</option>
+<option value="tbb_userguide/Design_Patterns/General_References.htm">General References</option>
+<option value="reference/containers_overview/concurrent_hash_map_cls/global_funcs.htm">Global 			 Functions</option>
+<option value="reference/flow_graph/graph_cls.htm">graph Class</option>
+<option value="reference/flow_graph/graph_node_cls.htm">graph_node Class</option>
+<option value="tbb_userguide/Design_Patterns/GUI_Thread.htm">GUI Thread</option>
+<option value="reference/appendices/community_preview_features/concurrent_lru_cache_cls/handle_object_cls.htm">handle_object 			 class</option>
+<option value="">Hash 			 policy</option>
+<option value="reference/containers_overview/concurrent_unordered_map_cls/hash_policy_map_cls.htm">   Hash Policy</option>
+<option value="reference/containers_overview/concurrent_unordered_set_cls/hash_policy_set_cls.htm">   Hash Policy</option>
+<option value="main/help_support.htm">Help</option>
+<option value="tbb_userguide/How_Task_Scheduling_Works.htm">How Task Scheduling 			 Works</option>
+<option value="reference/general_conventions/identifiers.htm">Identifiers</option>
+<option value="tbb_userguide/Initializing_and_Terminating_the_Library.htm">Initializing and Terminating the 			 Library</option>
+<option value="reference/flow_graph/input_port_func.htm">input_port Template 			 Function</option>
+<option value="tbb_userguide/Integration_Plug-In_for_Microsoft_Visual_Studio_Projects.htm">Integration Plug-In for Microsoft Visual Studio* Projects</option>
+<option value="">Intel® Thread Building Blocks  			</option>
+<option value="reference/introducing.htm">   Introducing Intel® Threading Building Blocks</option>
+<option value="main/introducing.htm">   Introducing Intel® Threading Building Blocks</option>
+<option value="">   Overview</option>
+<option value="reference/introducing.htm">      Introducing Intel® Threading Building Blocks</option>
+<option value="main/introducing.htm">      Introducing Intel® Threading Building Blocks</option>
+<option value="reference/appendices/compatibility_features/interface_for_concurrent_vector.htm">Interface for 			 concurrent_vector</option>
+<option value="reference/appendices/compatibility_features/interface_for_cls_task.htm">Interface for class 			 task</option>
+<option value="reference/appendices/compatibility_features/interface_for_constructing_a_pipeline_filter.htm">Interface for constructing a pipeline 			 filter</option>
+<option value="reference/task_groups/is_current_task_group_canceling_func.htm">is_current_task_group_canceling Function</option>
+<option value="tbb_userguide/Iterating_Over_a_Concurrent_Queue_for_Debugging.htm">Iterating Over a Concurrent Queue for Debugging</option>
+<option value="">Iterators</option>
+<option value="reference/containers_overview/concurrent_hash_map_cls/iterators_hash_map_cls.htm">   Iterators</option>
+<option value="reference/containers_overview/concurrent_unordered_map_cls/container_iterators_map_cls.htm">   Iterators</option>
+<option value="reference/thread_local_storage/flattened2d_cls/iterators_2d_cls.htm">   Iterators</option>
+<option value="reference/thread_local_storage/enumerable_thread_specific_cls/iterators_specific_cls.htm">   Iterators</option>
+<option value="reference/containers_overview/concurrent_vector/iterators_vector.htm">   Iterators</option>
+<option value="reference/containers_overview/concurrent_unordered_set_cls/container_iterators_set_cls.htm">   Iterators</option>
+<option value="reference/flow_graph/join_node_cls.htm">join_node Template 			 Class</option>
+<option value="reference/appendices.htm">known issues</option>
+<option value="reference/appendices/known_issues.htm">Known Issues</option>
+<option value="tbb_userguide/Lambda_Expressions.htm">Lambda 			 Expressions</option>
+<option value="tbb_userguide/Design_Patterns/Lazy_Initialization.htm">Lazy 			 Initialization</option>
+<option value="reference/flow_graph/limiter_node_cls.htm">limiter_node Template 			 Class</option>
+<option value="tbb_userguide/Linux_OS.htm">Linux* OS</option>
+<option value="tbb_userguide/Linux_C_Dynamic_Memory_Interface_Replacement.htm">Linux* OS C/C++ Dynamic Memory Interface Replacement</option>
+<option value="tbb_userguide/Design_Patterns/Local_Serializer.htm">Local Serializer</option>
+<option value="tbb_userguide/Lock_Pathologies.htm">Lock 			 Pathologies</option>
+<option value="reference/synchronization/mutexes/hardware_transactional_locking.htm">Lock Elision</option>
+<option value="">Lookup</option>
+<option value="reference/containers_overview/concurrent_unordered_set_cls/lookup_set_cls.htm">   Lookup</option>
+<option value="reference/containers_overview/concurrent_unordered_map_cls/lookup_map_cls.htm">   Lookup</option>
+<option value="reference/flow_graph/make_edge_func.htm">make_edge Template Function</option>
+<option value="reference/task_groups/make_task_func.htm">make_task Template Function</option>
+<option value="tbb_userguide/Automically_Replacing_malloc.htm">malloc</option>
+<option value="tbb_userguide/Memory_Consistency.htm">Memory 			 Consistency</option>
+<option value="">Memory Allocation</option>
+<option value="reference/memory_allocation.htm">   Memory Allocation</option>
+<option value="tbb_userguide/Memory_Allocation.htm">   Memory Allocation</option>
+<option value="reference/appendices/community_preview_features/scalable_memory_pools/memory_pool_cls.htm">memory_pool Template 			 Class</option>
+<option value="reference/appendices/community_preview_features/scalable_memory_pools/memory_pool_allocator_cls.htm">memory_pool_allocator Template 			 Class</option>
+<option value="reference/flow_graph/message_flow_graph_example.htm">Message Flow Graph 			 Example</option>
+<option value="reference/flow_graph/message_passing_protocol.htm">Message Passing Protocol</option>
+<option value="tbb_userguide/Microsoft_Visual_Studio_Code_Examples.htm">Microsoft Visual Studio* Code 			 Examples</option>
+<option value="">Modifiers</option>
+<option value="reference/containers_overview/concurrent_unordered_map_cls/modifiers_map_cls.htm">   Modifiers</option>
+<option value="reference/containers_overview/concurrent_unordered_set_cls/modifiers_set_cls.htm">   Modifiers</option>
+<option value="tbb_userguide/More_on_HashCompare.htm">More on HashCompare</option>
+<option value="reference/exceptions/movable_exception.htm">movable_exception</option>
+<option value="reference/flow_graph/multifunc_node_cls.htm">multifunction_node Template 			 Class</option>
+<option value="reference/synchronization/mutexes/mutex_concept.htm">Mutex 			 Concept</option>
+<option value="tbb_userguide/Mutex_Flavors.htm">Mutex 			 Flavors</option>
+<option value="reference/synchronization/mutexes.htm">Mutexes</option>
+<option value="tbb_userguide/Mutual_Exclusion.htm">Mutual 			 Exclusion</option>
+<option value="reference/general_conventions/namespaces.htm">Namespaces</option>
+<option value="tbb_userguide/Non-Linear_Pipelines.htm">Non-Linear Pipelines</option>
+<option value="tbb_userguide/Design_Patterns/Non-Preemptive_Priorities.htm">Non-Preemptive 			 Priorities</option>
+<option value="main/notation.htm">Notation</option>
+<option value="reference/synchronization/mutexes/null_mutex_cls.htm">null_mutex Class</option>
+<option value="reference/synchronization/mutexes/null_rw_mutex_cls.htm">null_rw_mutex Class</option>
+<option value="">Observers</option>
+<option value="reference/containers_overview/concurrent_unordered_map_cls/observers_map_cls.htm">   Observers</option>
+<option value="reference/containers_overview/concurrent_unordered_set_cls/observers_set_cls.htm">   Observers</option>
+<option value="tbb_userguide/Design_Patterns/Odd-Even_Communication.htm">Odd-Even 			 Communication</option>
+<option value="tbb_userguide/Open_Source_Version.htm">Open Source 			 Version</option>
+<option value="reference/appendices/community_preview_features/flow_graph/or_node_cls.htm">or_node Template 			 Class</option>
+<option value="tbb_userguide/OS_X_Systems.htm">OS X* 			 Systems</option>
+<option value="reference/flow_graph/overwrite_node_cls.htm">overwrite_node Template 			 Class</option>
+<option value="tbb_userguide/Package_Contents.htm">Package 			 Contents</option>
+<option value="">Parallel 			 Iteration</option>
+<option value="reference/containers_overview/concurrent_vector/parallel_iteration.htm">   Parallel Iteration</option>
+<option value="reference/containers_overview/concurrent_unordered_set_cls/parallel_iteration_set_cls.htm">   Parallel Iteration</option>
+<option value="reference/containers_overview/concurrent_unordered_map_cls/parallel_iteration_map_cls.htm">   Parallel Iteration</option>
+<option value="reference/thread_local_storage/enumerable_thread_specific_cls/parallel_literation_specific_cls.htm">   Parallel Iteration</option>
+<option value="reference/containers_overview/concurrent_hash_map_cls/parallel_iteration_container.htm">   Parallel Iteration</option>
+<option value="reference/algorithms/parallel_deterministic_reduce_func.htm">parallel_ deterministic _reduce Template 			 Function</option>
+<option value="reference/algorithms/parallel_do_func.htm">parallel_do Template 			 Function</option>
+<option value="tbb_userguide/parallel_for.htm">parallel_for</option>
+<option value="reference/algorithms/parallel_for_func.htm">parallel_for Template Function</option>
+<option value="reference/algorithms/parallel_for_each_func.htm">parallel_for_each Template Function</option>
+<option value="reference/algorithms/parallel_invoke_func.htm">parallel_invoke Template Function</option>
+<option value="tbb_userguide/parallel_reduce.htm">parallel_reduce</option>
+<option value="reference/algorithms/parallel_reduce_func.htm">parallel_reduce Template Function</option>
+<option value="reference/algorithms/parallel_scan_func.htm">parallel_scan Template Function</option>
+<option value="reference/algorithms/parallel_sort_func.htm">parallel_sort Template Function</option>
+<option value="reference/appendices/compatibility_features/parallel_while_cls.htm">parallel_while Template 			 Class</option>
+<option value="tbb_userguide/Parallelizing_Complex_Loops.htm">Parallelizing Complex 			 Loops</option>
+<option value="tbb_userguide/Parallelizing_Simple_Loops.htm">Parallelizing Simple 			 Loops</option>
+<option value="tbb_userguide/Partitioner_Summary.htm">Partitioner 			 Summary</option>
+<option value="reference/algorithms/partitioners.htm">Partitioners</option>
+<option value="reference/algorithms/pipeline_cls.htm">pipeline Class</option>
+<option value="">PPL Compatibility</option>
+<option value="reference/synchronization/ppl_compatibility_synch.htm">   PPL Compatibility</option>
+<option value="reference/appendices/ppl_compatibility.htm">   PPL Compatibility</option>
+<option value="reference/flow_graph/primary_components.htm">Primary Components</option>
+<option value="reference/task_scheduler/priorities.htm">Priority</option>
+<option value="reference/flow_graph/priority_queue_node_cls.htm">priority_queue_node Template 			 Class</option>
+<option value="reference/flow_graph/queue_node_cls.htm">queue_node Template 			 Class</option>
+<option value="reference/synchronization/mutexes/queuing_mutex_cls.htm">queuing_mutex Class</option>
+<option value="reference/synchronization/mutexes/queuing_rw_mutex_cls.htm">queuing_rw_mutex Class</option>
+<option value="">Range Concept</option>
+<option value="reference/algorithms/range_concept.htm">   Range Concept</option>
+<option value="reference/algorithms/parallel_pipeline_func.htm">   parallel_pipeline Function</option>
+<option value="tbb_userguide/Reader_Writer_Mutexes.htm">Reader Writer 			 Mutexes</option>
+<option value="reference/synchronization/ppl_compatibility/reader_writer_lock_cls.htm">reader_writer_lock Class</option>
+<option value="reference/synchronization/mutexes/readerwritermutex_concept.htm">ReaderWriterMutex 			 Concept</option>
+<option value="reference/flow_graph/receiver_cls.htm">receiver Template 			 Class</option>
+<option value="tbb_userguide/Recursive_Chain_Reaction_.htm">Recursive Chain Reaction  		</option>
+<option value="reference/synchronization/mutexes/recursive_mutex_cls.htm">recursive_mutex Class</option>
+<option value="tbb_userguide/Recycling.htm">Recycling</option>
+<option value="reference/task_scheduler/recycling_tasks.htm">Recycling 			 Tasks</option>
+<option value="tbb_userguide/Design_Patterns/Reduction.htm">Reduction</option>
+<option value="tbb_userguide/Design_Patterns/Reference_Counting.htm">Reference Counting</option>
+<option value="tbb_userguide/References.htm">References</option>
+<option value="reference/flow_graph/remove_edge_func.htm">remove_edge Template Function</option>
+<option value="reference/appendices/community_preview_features/run_time_loader.htm">Run-time loader</option>
+<option value="reference/appendices/community_preview_features/run_time_loader/runtime_loader_cls.htm">runtime_loader 			 Class</option>
+<option value="tbb_userguide/Scalable_Memory_Allocator.htm">Scalable Memory 			 Allocator</option>
+<option value="reference/appendices/community_preview_features/scalable_memory_pools.htm">Scalable Memory 			 Pools</option>
+<option value="reference/memory_allocation/scalable_allocator_cls.htm">scalable_allocator</option>
+<option value="tbb_userguide/Scheduler_Bypass.htm">Scheduler 			 Bypass</option>
+<option value="reference/task_scheduler/scheduling_algorithm.htm">Scheduling 			 Algorithm</option>
+<option value="reference/flow_graph/sender_cls.htm">sender Template 			 Class</option>
+<option value="reference/flow_graph/sequencer_node_cls.htm">sequencer_node Template 			 Class</option>
+<option value="reference/appendices/community_preview_features/serial_subset.htm">Serial subset</option>
+<option value="tbb_userguide/Simple_Example_Fibonacci_Numbers.htm">Simple Example: Fibonacci 			 Numbers</option>
+<option value="reference/algorithms/partitioners/simple_partitioner_cls.htm">simple_partitioner 			 Class</option>
+<option value="">Size and 			 Capacity</option>
+<option value="reference/containers_overview/concurrent_unordered_set_cls/size_and_capacity_set_cls.htm">   Size and Capacity</option>
+<option value="reference/containers_overview/concurrent_unordered_map_cls/size_and_capacity_map_cls.htm">   Size and capacity</option>
+<option value="reference/flow_graph/source_node_cls.htm">source_node Class</option>
+<option value="reference/exceptions/specific_exceptions.htm">Specific 			 Exceptions</option>
+<option value="reference/synchronization/mutexes/hardware_transactional_locking.htm">Speculative Locking</option>
+<option value="reference/synchronization/mutexes/speculative_spin_mutex_cls.htm">speculative_spin_mutex Class</option>
+<option value="reference/synchronization/mutexes/speculative_spin_rw_mutex_cls.htm">speculative_spin_rw_mutex Class</option>
+<option value="reference/synchronization/mutexes/spin_mutex_cls.htm">spin_mutex Class</option>
+<option value="reference/synchronization/mutexes/spin_rw_mutex_cls.htm">spin_rw_mutex Class</option>
+<option value="reference/algorithms/splittable_concept/split_cls.htm">split Class</option>
+<option value="reference/flow_graph/split_node_cls.htm">split_node Template 			 Class</option>
+<option value="reference/algorithms/splittable_concept.htm">Splittable Concept</option>
+<option value="reference/task_groups/structured_task_group_cls.htm">structured_task_group Class</option>
+<option value="tbb_userguide/Summary_of_Containers.htm">Summary of Containers</option>
+<option value="tbb_userguide/Summary_of_Loops_and_Pipelines.htm">Summary of Loops and Pipelines</option>
+<option value="main/help_support.htm">Support</option>
+<option value="">Synchronization</option>
+<option value="reference/task_scheduler/synchronization.htm">   Synchronization</option>
+<option value="reference/synchronization.htm">   Synchronization</option>
+<option value="reference/task_scheduler/task_allocation.htm">task 			 Allocation</option>
+<option value="reference/task_scheduler/task_context.htm">task 			 Context</option>
+<option value="reference/task_scheduler/task_debugging.htm">task 			 Debugging</option>
+<option value="reference/task_groups.htm">Task 			 Groups</option>
+<option value="reference/task_scheduler.htm">Task 			 Scheduler</option>
+<option value="reference/task_scheduler/task_cls.htm">task Class</option>
+<option value="reference/task_scheduler/task_cls/task_derivation.htm">task Derivation</option>
+<option value="tbb_userguide/Task_Scheduler_Summary.htm">Task Scheduler Summary</option>
+<option value="reference/appendices/community_preview_features/task_arena_cls.htm">task_arena Class</option>
+<option value="reference/task_groups/task_group_cls.htm">task_group Class</option>
+<option value="">task_group_context</option>
+<option value="reference/task_scheduler/task_group_context.htm">   task_group_context</option>
+<option value="reference/task_scheduler/task_group_context/task_group_context.htm">   task_group_context Members</option>
+<option value="reference/task_groups/task_group_status_enum.htm">task_group_status Enum</option>
+<option value="reference/task_groups/task_handle_cls.htm">task_handle Template Class</option>
+<option value="reference/task_scheduler/task_list_cls.htm">task_list 			 Class</option>
+<option value="reference/task_scheduler/task_scheduler_init_cls/task_scheduler_init.htm">task_scheduler_init</option>
+<option value="reference/task_scheduler/task_scheduler_init_cls.htm">task_scheduler_init 			 Class</option>
+<option value="">task_scheduler_observer</option>
+<option value="reference/task_scheduler/task_scheduler_observer.htm">   task_scheduler_observer</option>
+<option value="reference/task_scheduler/task_scheduler_observer/task_scheduler_observer_member.htm">   task_scheduler_observer Members</option>
+<option value="reference/appendices/community_preview_features/task_arena_cls/task_scheduler_observer_ext_cls.htm">task_scheduler_observer Class 			 extensions</option>
+<option value="tbb_userguide/Task-Based_Programming.htm">Task-Based 			 Programming</option>
+<option value="reference/general_conventions/namespaces.htm">tbb</option>
+<option value="reference/memory_allocation/tbb_allocator_cls.htm">tbb_allocator</option>
+<option value="reference/environment/version_information.htm">TBB_COMPATIBLE_INTERFACE_VERSION</option>
+<option value="">TBB_DEPRECATED</option>
+<option value="reference/environment/feature_macros.htm">   Feature macros</option>
+<option value="reference/general_conventions/namespaces.htm">   Namespaces</option>
+<option value="reference/exceptions/tbb_exception.htm">tbb_exception</option>
+<option value="reference/containers_overview/concurrent_hash_map_cls/tbb_hash_compare_cls.htm">tbb_hash_compare Class</option>
+<option value="reference/environment/version_information.htm">TBB_INTERFACE_VERSION</option>
+<option value="reference/environment/version_information.htm">TBB_INTERFACE_VERSION_MAJOR</option>
+<option value="reference/environment/version_information.htm">TBB_INTERFACE_VERSION/1000</option>
+<option value="reference/appendices/compatibility_features/tbb_thread_cls.htm">tbb_thread Class</option>
+<option value="">TBB_USE_ASSERT</option>
+<option value="reference/environment/enabling_debugging_features.htm">   Enabling Debugging Features</option>
+<option value="reference/environment/version_information.htm">   Version Information</option>
+<option value="reference/environment/feature_macros.htm">TBB_USE_CAPTURED_EXCEPTION</option>
+<option value="reference/environment/enabling_debugging_features.htm">TBB_USE_DEBUG</option>
+<option value="reference/environment/feature_macros.htm">TBB_USE_EXCEPTIONS</option>
+<option value="reference/environment/enabling_debugging_features.htm">TBB_USE_PERFORMANCE_WARNINGS</option>
+<option value="reference/environment/enabling_debugging_features.htm">TBB_USE_THREADING_TOOLS</option>
+<option value="reference/general_conventions/namespaces.htm">tbb::deprecated</option>
+<option value="reference/appendices/compatibility_features/tbb_deprecated_concurrent_queue_cls.htm">tbb::deprecated::concurrent_queue<T,Alloc> 			 Template Class</option>
+<option value="reference/general_conventions/namespaces.htm">tbb::interface</option>
+<option value="reference/general_conventions/namespaces.htm">tbb::interfacex</option>
+<option value="reference/general_conventions/namespaces.htm">tbb::internal</option>
+<option value="reference/appendices/community_preview_features/serial_subset/tbb_serial_parallel_for.htm">tbb::serial::parallel_for()</option>
+<option value="reference/general_conventions/namespaces.htm">tbb::strict_ppl</option>
+<option value="reference/memory_allocation/aligned_space_cls.htm">template class</option>
+<option value="reference/general_conventions/terminology.htm">Terminology</option>
+<option value="">TestMetaData</option>
+<option value="reference/threads/thread_cls/thread_cls_members.htm">   thread Class Members</option>
+<option value="reference/containers_overview/concurrent_hash_map_cls/concurrent_operations.htm">   Concurrent Operations</option>
+<option value="reference/task_groups/task_group_cls/task_group_cls_members.htm">   task_group Class Members</option>
+<option value="reference/timing/tick_count_cls/tick_count_cls_members.htm">   tick_count Class Members</option>
+<option value="reference/synchronization/mutexes/mutex_cls.htm">   mutex Class</option>
+<option value="tbb_userguide/The_Task_Scheduler.htm">The Task Scheduler</option>
+<option value="reference/threads/this_thread_namespace.htm">this_thread 			 Namespace</option>
+<option value="reference/threads/thread_cls.htm">thread Class</option>
+<option value="reference/thread_local_storage.htm">Thread Local 			 Storage</option>
+<option value="reference/general_conventions/thread_safety.htm">Thread Safety</option>
+<option value="reference/algorithms/pipeline_cls/thread_bound_filter_cls.htm">thread_bound_filter 			 Class</option>
+<option value="reference/threads/thread_id.htm">thread::id</option>
+<option value="reference/threads.htm">Threads</option>
+<option value="tbb_userguide/Throughput_of_pipeline.htm">Throughput of 			 pipeline</option>
+<option value="reference/timing/tick_count_cls.htm">tick_count Class</option>
+<option value="reference/timing/tick_count_cls/tick_count_interval_t_cls.htm">tick_count::interval_t 			 Class</option>
+<option value="">Timing</option>
+<option value="reference/timing.htm">   Timing</option>
+<option value="tbb_userguide/Timing.htm">   Timing</option>
+<option value="tbb_userguide/UpgradeDowngrade.htm">Upgrade/Downgrade</option>
+<option value="tbb_userguide/Useful_Task_Techniques.htm">Useful Task Techniques</option>
+<option value="tbb_userguide/Using_Circular_Buffers.htm">Using Circular 			 Buffers</option>
+<option value="reference/thread_local_storage/flattened2d_cls/utility_funcs.htm">Utility 			 Functions</option>
+<option value="reference/environment/version_information.htm">Version Information</option>
+<option value="tbb_userguide/Design_Patterns/Wavefront.htm">Wavefront</option>
+<option value="reference/appendices/community_preview_features/what_is_a_community_preview_feature.htm">What is a Community Preview 			 Feature?</option>
+<option value="tbb_userguide/When_Not_to_Use_Queues.htm">When Not to Use 			 Queues</option>
+<option value="tbb_userguide/When_Task-Based_Programming_Is_Inappropriate.htm">When Task-Based Programming Is Inappropriate</option>
+<option value="tbb_userguide/Which_Dynamic_Libraries_to_Use.htm">Which Dynamic Libraries to 			 Use</option>
+<option value="">Whole Container 			 Operations</option>
+<option value="reference/thread_local_storage/enumerable_thread_specific_cls/whole_container_operations_specific_cls.htm">   Whole Container Operations</option>
+<option value="reference/thread_local_storage/flattened2d_cls/whole_container_operations_2d_cls.htm">   Whole Container Operations</option>
+<option value="reference/containers_overview/concurrent_hash_map_cls/whole_table_operations.htm">Whole Table 			 Operations</option>
+<option value="reference/containers_overview/concurrent_vector/whole_vector_operations.htm">Whole Vector 			 Operations</option>
+<option value="">Windows* OS</option>
+<option value="reference/appendices/known_issues/windows_os.htm">   Windows* OS</option>
+<option value="tbb_userguide/Windows_OS.htm">   Windows* OS</option>
+<option value="tbb_userguide/Windows_C_Dynamic_Memory_Interface_Replacement.htm">Windows* OS C/C++ Dynamic Memory Interface Replacement</option>
+<option value="tbb_userguide/Working_on_the_Assembly_Line_pipeline.htm">Working on the Assembly Line: 			 pipeline</option>
+<option value="reference/flow_graph/write_once_node_cls.htm">write_once_node Template 			 Class</option>
+<option value="reference/memory_allocation/zero_allocator.htm">zero allocator</option>
+</select>
+</div>
+
+
+</body>
+</html>
diff --git a/doc/help/hh_search.htm b/doc/help/hh_search.htm
new file mode 100755
index 0000000..d1e0aec
--- /dev/null
+++ b/doc/help/hh_search.htm
@@ -0,0 +1,135 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
+<!-- saved from url=(0014)about:internet -->
+<html>
+<head>
+  <script type="text/javascript">
+  <!--
+
+  if (parent.location.href == self.location.href)
+    window.location.href = "index.htm#+hh_search.htm";
+
+  function CloseNav() {
+    if ((top.right.location == null) || (top.right.location == undefined) || (typeof(top.right.location.href) != "string") || (top.right.location.href == ""))
+      top.location="main/title.htm";
+    else
+      top.location=top.right.location;
+  }
+
+  function GetFrameWidth() { 
+    var x = 300; 
+    if (self.innerHeight) // all except Explorer 
+	x = self.innerWidth; 
+    else if (document.documentElement && document.documentElement.clientHeight) // Explorer 6 Strict Mode 
+	x = document.documentElement.clientWidth; 
+    else if (document.body) // other Explorers 
+	x = document.body.clientWidth; 
+    return(x); 
+  } 
+
+  function GetFrameHeight() { 
+    var y = 400; 
+    if (self.innerHeight) // all except Explorer 
+      y = self.innerHeight; 
+    else if (document.documentElement && document.documentElement.clientWidth) // Explorer 6 Strict Mode 
+      y = document.documentElement.clientHeight; 
+    else if (document.body) // other Explorers 
+      y = document.body.clientHeight; 
+    return(y); 
+  } 
+
+  function resizeSearch() {
+    var searchDiv = document.getElementById("searchcontainer");
+    var xTop = searchDiv.offsetTop;
+    var DivFooter = document.getElementById("DivFooter");
+    if ((DivFooter != null) && (DivFooter != undefined))
+        xTop = xTop + DivFooter.offsetHeight;
+    var WW = GetFrameWidth() - 10; //5px either side 
+    searchDiv.style.width = WW.toString() + "px"; 
+    var HH = GetFrameHeight() -  xTop; 
+    if (HH > 0) 
+      searchDiv.style.height = HH.toString() + "px"; 
+  }
+  function DocOnLoad() {
+    resizeSearch();
+    //Check for author: Is searchdata.js created?
+    if (typeof(SearchIndexes) == "undefined")
+      alert("Warning: Search database file not found \"searchdata.js\".");
+  }
+  -->
+  </script>
+
+<!-- BEGIN_SEARCH_SCRIPT -->
+<!-- Helpware Search data generated by FAR.EXE http://helpware.net/FAR/ -->
+<script type="text/javascript" src="searchdata.js"></script>
+<!-- Search Code to find words -->
+<script type="text/javascript" src="search.js"></script>
+<!-- END_SEARCH_SCRIPT -->
+
+  <style type="text/css">
+  .docstyle
+  {
+    font-size: 80%;
+    font-family: arial,verdana,sans-serif;
+  }
+  </style>
+
+</head>
+
+<body id="docBody" style="color: Black; margin:5px 0px 0px 0px;" onload="DocOnLoad()" onresize="resizeSearch()">
+
+<div style="display: inline; white-space: nowrap; margin: 0px 0px 0px 5px;">
+<input
+ TYPE="button" VALUE="Contents" ONCLICK="javascript:location='hh_toc.htm';"
+ NAME="HelpTopics"><input
+ TYPE="button" VALUE="Index" ONCLICK="javascript:location='hh_index.htm';"
+ NAME="Index"><input
+ TYPE="button" VALUE="Search" ONCLICK="javascript:location='hh_search.htm';"
+ NAME="Search">
+</div>
+
+
+
+<!-- BEGIN_SEARCH_FORM -->
+  <script type="text/javascript"> 
+  <!-- 
+  function SearchForWords() { 
+    DoSearch(document.getElementById("searchdata1").value, document.getElementById("searchdata2").value, document.getElementById("searchdata3").value, document.getElementById("searchdata4").checked, "right");} 
+  function KeyDownEvent(event) { 
+    if ((event.which && event.which==13) || (event.keyCode && event.keyCode==13)) { 
+      SearchForWords(); return(false); } else return(true); } 
+  function ResultList_KeyDownEvent(event) { 
+    if ((event.which && event.which==13) || (event.keyCode && event.keyCode==13)) { 
+      OpenResultListDoc(); return(false);} else return(true);} 
+  --> 
+  </script> 
+  <div style="margin: 11px 0px 0px 0px; padding: 0px 5px 0px 5px;"> 
+    <span class="docstyle">Topics containing any of these words:</span> 
+       <input type="text" id="searchdata1" class="docstyle" style="width:100%; margin: 0px 0px 5px 0px;" 
+       onKeyDown="javascript:return(KeyDownEvent(event));"><br> 
+    <span class="docstyle">Topics containing all of these words:</span> 
+       <input type="text" id="searchdata2" class="docstyle"  style="width:100%; margin: 0px 0px 5px 0px;" 
+       onKeyDown="javascript:return(KeyDownEvent(event));"><br> 
+    <span class="docstyle">Topics should not contain these words:</span> 
+       <input type="text" id="searchdata3" class="docstyle" style="width:100%; margin: 0px 0px 5px 0px;" 
+       onKeyDown="javascript:return(KeyDownEvent(event));"><br> 
+    <input type="checkbox" id="searchdata4" 
+       class="docstyle" value="1"><span class="docstyle">Partial word matching</span><br> 
+    <br><input type="button" class="docstyle" name="searchbutton" 
+       value="Search" style="width:150" onclick="javascript:SearchForWords();"> 
+  </div> 
+
+  <div style="margin: 5px 0px 0px 0px; padding: 0px 5px 0px 5px;"> 
+    <form name="searchform" style="margin: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;"> 
+      <select class="docstyle" id="searchcontainer" name="SearchResultList" 
+         style="width:200; height:200;" 
+         onkeydown="javascript:return(ResultList_KeyDownEvent(event));" 
+         onclick="javascript:OpenResultListDoc();return(true);" 
+         size="50"></select> 
+    </form> 
+  </div> 
+<!-- END_SEARCH_FORM -->
+
+
+
+</body>
+</html>
diff --git a/doc/help/hh_toc.htm b/doc/help/hh_toc.htm
new file mode 100755
index 0000000..25a0133
--- /dev/null
+++ b/doc/help/hh_toc.htm
@@ -0,0 +1,1640 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
+<!-- saved from url=(0014)about:internet -->
+<html>
+<head>
+
+  <title>Contents</title>
+  <link rel="stylesheet" type="text/css" href="tree.css">
+  <script src="tree.js" type="text/javascript">
+  </script>
+
+  <script type="text/javascript">
+  <!--
+
+  if (parent.location.href == self.location.href)
+    window.location.href = "index.htm";
+
+  function CloseNav() {
+    if ((top.right.location == null) || (top.right.location == undefined) || (typeof(top.right.location.href) != "string") || (top.right.location.href == ""))
+      top.location="main/title.htm";
+    else
+      top.location=top.right.location;
+  }
+
+  //Links to other domains normally wont work because of browser security 
+  function SyncDocUrl(showError) 
+  { 
+     if ((top.right.location != null) 
+     && (top.right.location != undefined) 
+     && (typeof(top.right.location.href) == "string") 
+     && (top.right.location.href != "") 
+     && (top.right.document != null) 
+     && (top.right.document != undefined)) 
+     { 
+        return top.right.document.URL; 
+     } 
+     else 
+     { 
+	if (showError) 
+          alert("Operation failed!\r\rCross frame communication is blocked. Please check your browser security settings or try another browser."); 
+        return ""; 
+     } 
+  } 
+  
+  // RWC: 2007-06-24 - Get absolute URL to current page
+  
+  function TrimURL(aref)  //Strip off leading protocol http:///
+  {
+    sRet = aref;
+    if ((sRet.substring(0, 7) == "http://") || (sRet.substring(0, 7) == "file://"))
+     	sRet = sRet.substring(7, sRet.length);
+    if (sRet.substring(0, 8) == "https://")
+     	sRet = sRet.substring(8, sRet.length);
+    if (sRet.substring(0, 1) == "/")
+     	sRet = sRet.substring(1, sRet.length);
+    //Scrub embedded codes
+    sRet = unescape(sRet);  //Converts %2520 -> %20  (under FireFox)
+    sRet = unescape(sRet);  //Converts %20 = " "
+    //all Unix slashes /
+    sRet = sRet.replace(/\\/g, "/");
+    return sRet;
+  }
+  
+function GetGotoURL()
+{
+   var topURL = top.location.href;  
+   if (topURL == undefined)      // undefined if frame communication is blocked
+      topURL = location.href;
+   var i = topURL.indexOf("#");  // trim off any bookmark
+   if (i > 0)
+      topURL = topURL.substr(0, i);
+   var baseURL = topURL.substr(0, topURL.lastIndexOf("/") + 1);   // "http://c:/base/start.htm" --> "http://c:/base/"
+   return baseURL + "hh_goto.htm";
+}
+
+function ShowUrlBox(rightURL)
+{
+   var gotoUrl = GetGotoURL();
+   var sBase = gotoUrl.substr(0, gotoUrl.lastIndexOf("/") + 1);   // "http://c:/base/goto.htm" --> "http://c:/base/"
+
+   rightURL = TrimURL(rightURL);     // "http://c:/base/" --> "c:/base/dir/page.htm"
+   sBase = TrimURL(sBase);           // "http://c:/base/" --> "c:/base/"
+   if (rightURL.indexOf(sBase) >= 0)
+      rightURL = rightURL.substr(sBase.length, rightURL.length); // "c:/base/dir/page.htm" --> "dir/page.htm" 
+
+   //create full goto full URL. The bookmark allows goto.htm to set the right frame. 
+   //Using hh_goto.htm works where hh_start.htm usually wont update.
+   var url=gotoUrl + "#"+ rightURL;
+
+   //Show URL in prompt and give option to goto the URL
+   url = prompt("Absolute address. Click OK to load this URL in the browser", url)
+   if (url != "" && url != null)
+     top.location.href= url;
+}
+
+function GetFullLink(){
+  if (SyncDocUrl(false) == "")  // Can't see the right frame -- Use the current TOC selection
+  {
+     var el = findLinkNode();
+     if (el != null && el != undefined)
+       ShowUrlBox(el.getAttribute('href'));
+     else
+       alert("Please select a Table of Contents item."); 
+     return;
+  }
+
+  var rightURL = SyncDocUrl(true);
+  if (rightURL != "")
+  {
+      ShowUrlBox(rightURL);
+  }
+}
+
+
+  function DoTocNext(fwd) { 
+    var aref = selectNext(fwd); 
+    if (aref != null && aref != undefined && aref != "") 
+       top.right.location = aref;
+  } 
+
+  function DoTocSync(showError) { 
+    var url = SyncDocUrl(showError); 
+    if (url != "") 
+       syncTree(url); 
+  } 
+
+  function OnLoadCode() {
+    window.onresize=resizeTree;
+    resizeTree();
+    DoTocSync(false);
+  }
+
+  function KeyDownEvent(event) {
+    if ((event.which && event.which==13) || (event.keyCode && event.keyCode==13)) {  // Return
+      var node = findLinkNode();
+      if (node != null && node != undefined && node != "") 
+      {
+        aref = node.getAttribute('href');
+        if (aref != null && aref != undefined && aref != "") 
+          top.right.location = aref;
+      }
+    }
+    else if ((event.which && event.which==40) || (event.keyCode && event.keyCode==40)) { //down arrow
+      selectNext(true);
+    }
+    else if ((event.which && event.which==38) || (event.keyCode && event.keyCode==38)) { //up arrow
+      selectNext(false);
+    }
+
+    return(true); //do not gobble keypress 
+  }
+  -->
+  </script>
+
+
+</head>
+
+<body id="docBody" style="color: Black; margin: 5px 0px 0px 0px;" 
+  onkeydown="javascript:return(KeyDownEvent(event));"
+  onload="OnLoadCode()" onselectstart="return false;">
+
+
+<div style="display: inline; white-space: nowrap; margin: 0px 0px 0px 5px;">
+<input
+ TYPE="button" VALUE="Contents" ONCLICK="javascript:location='hh_toc.htm';"
+ NAME="HelpTopics"><input
+ TYPE="button" VALUE="Index" ONCLICK="javascript:location='hh_index.htm';"
+ NAME="Index"><input
+ TYPE="button" VALUE="Search" ONCLICK="javascript:location='hh_search.htm';"
+ NAME="Search">
+</div>
+
+
+<div align="right" style="margin: 3 8 5 3;">
+   <span title="Get absolute address of current page"
+      style="cursor: pointer; font-size: 8pt; font-family: verdana,arial,sans-serif;"
+      onmouseover="this.style.textDecoration='underline'"
+      onmouseout="this.style.textDecoration='none'"
+      onclick="GetFullLink();">Get Link</span>
+|
+   <span title="Sync table of contents to current page"
+      style="cursor: pointer; font-size: 8pt; font-family: verdana,arial,sans-serif;"
+      onmouseover="this.style.textDecoration='underline'"
+      onmouseout="this.style.textDecoration='none'"
+      onclick="DoTocSync(true);">Sync TOC</span>
+|
+   <span title="Previous Page"
+      style="cursor: pointer; font-size: 8pt; font-family: verdana,arial,sans-serif;"
+      onmouseover="this.style.textDecoration='underline'"
+      onmouseout="this.style.textDecoration='none'"
+      onclick="DoTocNext(false);"><<</span>
+|
+   <span title="Next Page"
+      style="cursor: pointer; font-size: 8pt; font-family: verdana,arial,sans-serif;"
+      onmouseover="this.style.textDecoration='underline'"
+      onmouseout="this.style.textDecoration='none'"
+      onclick="DoTocNext(true);">>></span>
+</div>
+
+    <div id="tree" style="top: 35px; left: 0px;" class="treeDiv">
+      <div id="treeRoot" onselectstart="return false" ondragstart="return false">
+        <div class="treeNode">
+          <img src="treenodeplus.gif" class="treeLinkImage" onclick="expandCollapse(this.parentNode)" alt="">
+          <a href="main/title.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Intel® Threading Building Blocks Documenation</a>
+          <div class="treeSubnodesHidden">
+            <div class="treeNode">
+              <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+              <a href="main/legal_information.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Legal Information</a>
+            </div>
+            <div class="treeNode">
+              <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+              <a href="main/help_support.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Getting Help and Support</a>
+            </div>
+            <div class="treeNode">
+              <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+              <a href="main/introducing.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Introducing the Intel® Threading Building Blocks (Intel® TBB)</a>
+            </div>
+            <div class="treeNode">
+              <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+              <a href="main/Benefits.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Intel TBB Benefits</a>
+            </div>
+            <div class="treeNode">
+              <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+              <a href="main/notation.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Notational Conventions</a>
+            </div>
+            <div class="treeNode">
+              <img src="treenodeplus.gif" class="treeLinkImage" onclick="expandCollapse(this.parentNode)" alt="">
+              <a href="tbb_userguide/title.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Intel® Threading Building Blocks (Intel® TBB) User Guide</a>
+              <div class="treeSubnodesHidden">
+                <div class="treeNode">
+                  <img src="treenodeplus.gif" class="treeLinkImage" onclick="expandCollapse(this.parentNode)" alt="">
+                  <a href="tbb_userguide/Package_Contents.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Package Contents</a>
+                  <div class="treeSubnodesHidden">
+                    <div class="treeNode">
+                      <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                      <a href="tbb_userguide/Debug_Versus_Release_Libraries.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Debug Versus Release Libraries</a>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                      <a href="tbb_userguide/Scalable_Memory_Allocator.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Scalable Memory Allocator</a>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodeplus.gif" class="treeLinkImage" onclick="expandCollapse(this.parentNode)" alt="">
+                      <a href="tbb_userguide/Windows_OS.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Windows* OS</a>
+                      <div class="treeSubnodesHidden">
+                        <div class="treeNode">
+                          <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                          <a href="tbb_userguide/Microsoft_Visual_Studio_Code_Examples.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Microsoft Visual Studio* Code Examples</a>
+                        </div>
+                        <div class="treeNode">
+                          <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                          <a href="tbb_userguide/Integration_Plug-In_for_Microsoft_Visual_Studio_Projects.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Integration Plug-In for Microsoft Visual Studio* Projects</a>
+                        </div>
+                      </div>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                      <a href="tbb_userguide/Linux_OS.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Linux* OS</a>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                      <a href="tbb_userguide/OS_X_Systems.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">OS X* Systems</a>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                      <a href="tbb_userguide/Open_Source_Version.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Open Source Version</a>
+                    </div>
+                  </div>
+                </div>
+                <div class="treeNode">
+                  <img src="treenodeplus.gif" class="treeLinkImage" onclick="expandCollapse(this.parentNode)" alt="">
+                  <a href="tbb_userguide/Parallelizing_Simple_Loops.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Parallelizing Simple Loops</a>
+                  <div class="treeSubnodesHidden">
+                    <div class="treeNode">
+                      <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                      <a href="tbb_userguide/Initializing_and_Terminating_the_Library.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Initializing and Terminating the Library</a>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodeplus.gif" class="treeLinkImage" onclick="expandCollapse(this.parentNode)" alt="">
+                      <a href="tbb_userguide/parallel_for.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">parallel_for</a>
+                      <div class="treeSubnodesHidden">
+                        <div class="treeNode">
+                          <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                          <a href="tbb_userguide/Lambda_Expressions.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Lambda Expressions</a>
+                        </div>
+                        <div class="treeNode">
+                          <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                          <a href="tbb_userguide/Automatic_Chunking.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Automatic Chunking</a>
+                        </div>
+                        <div class="treeNode">
+                          <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                          <a href="tbb_userguide/Controlling_Chunking.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Controlling Chunking</a>
+                        </div>
+                        <div class="treeNode">
+                          <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                          <a href="tbb_userguide/Bandwidth_and_Cache_Affinity.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Bandwidth and Cache Affinity</a>
+                        </div>
+                        <div class="treeNode">
+                          <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                          <a href="tbb_userguide/Partitioner_Summary.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Partitioner Summary</a>
+                        </div>
+                      </div>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                      <a href="tbb_userguide/parallel_reduce.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">parallel_reduce</a>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                      <a href="tbb_userguide/Advanced_Example.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Advanced Example</a>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                      <a href="tbb_userguide/Advanced_Topic_Other_Kinds_of_Iteration_Spaces.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Advanced Topic: Other Kinds of Iteration Spaces</a>
+                    </div>
+                  </div>
+                </div>
+                <div class="treeNode">
+                  <img src="treenodeplus.gif" class="treeLinkImage" onclick="expandCollapse(this.parentNode)" alt="">
+                  <a href="tbb_userguide/Parallelizing_Complex_Loops.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Parallelizing Complex Loops</a>
+                  <div class="treeSubnodesHidden">
+                    <div class="treeNode">
+                      <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                      <a href="tbb_userguide/Cook_Until_Done_parallel_do.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Cook Until Done: parallel_do</a>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodeplus.gif" class="treeLinkImage" onclick="expandCollapse(this.parentNode)" alt="">
+                      <a href="tbb_userguide/Working_on_the_Assembly_Line_pipeline.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Working on the Assembly Line: pipeline</a>
+                      <div class="treeSubnodesHidden">
+                        <div class="treeNode">
+                          <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                          <a href="tbb_userguide/Using_Circular_Buffers.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Using Circular Buffers</a>
+                        </div>
+                        <div class="treeNode">
+                          <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                          <a href="tbb_userguide/Throughput_of_pipeline.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Throughput of pipeline</a>
+                        </div>
+                        <div class="treeNode">
+                          <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                          <a href="tbb_userguide/Non-Linear_Pipelines.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Non-Linear Pipelines</a>
+                        </div>
+                        <div class="treeNode">
+                          <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                          <a href="tbb_userguide/Summary_of_Loops_and_Pipelines.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Summary of Loops and Pipelines</a>
+                        </div>
+                      </div>
+                    </div>
+                  </div>
+                </div>
+                <div class="treeNode">
+                  <img src="treenodeplus.gif" class="treeLinkImage" onclick="expandCollapse(this.parentNode)" alt="">
+                  <a href="tbb_userguide/Exceptions_and_Cancellation.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Exceptions and Cancellation</a>
+                  <div class="treeSubnodesHidden">
+                    <div class="treeNode">
+                      <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                      <a href="tbb_userguide/Cancellation_Without_An_Exception.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Cancellation Without An Exception</a>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                      <a href="tbb_userguide/Cancellation_and_Nested_Parallelism.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Cancellation and Nested Parallelism</a>
+                    </div>
+                  </div>
+                </div>
+                <div class="treeNode">
+                  <img src="treenodeplus.gif" class="treeLinkImage" onclick="expandCollapse(this.parentNode)" alt="">
+                  <a href="tbb_userguide/Containers.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Containers</a>
+                  <div class="treeSubnodesHidden">
+                    <div class="treeNode">
+                      <img src="treenodeplus.gif" class="treeLinkImage" onclick="expandCollapse(this.parentNode)" alt="">
+                      <a href="tbb_userguide/concurrent_hash_map.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">concurrent_hash_map</a>
+                      <div class="treeSubnodesHidden">
+                        <div class="treeNode">
+                          <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                          <a href="tbb_userguide/More_on_HashCompare.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">More on HashCompare</a>
+                        </div>
+                      </div>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodeplus.gif" class="treeLinkImage" onclick="expandCollapse(this.parentNode)" alt="">
+                      <a href="tbb_userguide/concurrent_vector.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">concurrent_vector</a>
+                      <div class="treeSubnodesHidden">
+                        <div class="treeNode">
+                          <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                          <a href="tbb_userguide/Advanced_Idiom_Waiting_on_an_Element.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Advanced Idiom: Waiting on an Element</a>
+                        </div>
+                      </div>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodeplus.gif" class="treeLinkImage" onclick="expandCollapse(this.parentNode)" alt="">
+                      <a href="tbb_userguide/Concurrent_Queue_Classes.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Concurrent Queue Classes</a>
+                      <div class="treeSubnodesHidden">
+                        <div class="treeNode">
+                          <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                          <a href="tbb_userguide/Iterating_Over_a_Concurrent_Queue_for_Debugging.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Iterating Over a Concurrent Queue for Debugging</a>
+                        </div>
+                        <div class="treeNode">
+                          <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                          <a href="tbb_userguide/When_Not_to_Use_Queues.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">When Not to Use Queues</a>
+                        </div>
+                      </div>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                      <a href="tbb_userguide/Summary_of_Containers.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Summary of Containers</a>
+                    </div>
+                  </div>
+                </div>
+                <div class="treeNode">
+                  <img src="treenodeplus.gif" class="treeLinkImage" onclick="expandCollapse(this.parentNode)" alt="">
+                  <a href="tbb_userguide/Mutual_Exclusion.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Mutual Exclusion</a>
+                  <div class="treeSubnodesHidden">
+                    <div class="treeNode">
+                      <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                      <a href="tbb_userguide/Mutex_Flavors.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Mutex Flavors</a>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                      <a href="tbb_userguide/Reader_Writer_Mutexes.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Reader Writer Mutexes</a>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                      <a href="tbb_userguide/UpgradeDowngrade.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Upgrade/Downgrade</a>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                      <a href="tbb_userguide/Lock_Pathologies.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Lock Pathologies</a>
+                    </div>
+                  </div>
+                </div>
+                <div class="treeNode">
+                  <img src="treenodeplus.gif" class="treeLinkImage" onclick="expandCollapse(this.parentNode)" alt="">
+                  <a href="tbb_userguide/Atomic_Operations.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Atomic Operations</a>
+                  <div class="treeSubnodesHidden">
+                    <div class="treeNode">
+                      <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                      <a href="tbb_userguide/Why_atomic_T_Has_No_Constructors.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Why atomic<T> Has No Constructors</a>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                      <a href="tbb_userguide/Memory_Consistency.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Memory Consistency</a>
+                    </div>
+                  </div>
+                </div>
+                <div class="treeNode">
+                  <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                  <a href="tbb_userguide/Timing.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Timing</a>
+                </div>
+                <div class="treeNode">
+                  <img src="treenodeplus.gif" class="treeLinkImage" onclick="expandCollapse(this.parentNode)" alt="">
+                  <a href="tbb_userguide/Memory_Allocation.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Memory Allocation</a>
+                  <div class="treeSubnodesHidden">
+                    <div class="treeNode">
+                      <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                      <a href="tbb_userguide/Which_Dynamic_Libraries_to_Use.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Which Dynamic Libraries to Use</a>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodeplus.gif" class="treeLinkImage" onclick="expandCollapse(this.parentNode)" alt="">
+                      <a href="tbb_userguide/Automically_Replacing_malloc.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Automatically Replacing malloc and Other C/C++ Functions for Dynamic Memory Allocation</a>
+                      <div class="treeSubnodesHidden">
+                        <div class="treeNode">
+                          <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                          <a href="tbb_userguide/Linux_C_Dynamic_Memory_Interface_Replacement.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Linux* OS C/C++ Dynamic Memory Interface Replacement</a>
+                        </div>
+                        <div class="treeNode">
+                          <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                          <a href="tbb_userguide/Windows_C_Dynamic_Memory_Interface_Replacement.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Windows* OS C/C++ Dynamic Memory Interface Replacement</a>
+                        </div>
+                      </div>
+                    </div>
+                  </div>
+                </div>
+                <div class="treeNode">
+                  <img src="treenodeplus.gif" class="treeLinkImage" onclick="expandCollapse(this.parentNode)" alt="">
+                  <a href="tbb_userguide/The_Task_Scheduler.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">The Task Scheduler</a>
+                  <div class="treeSubnodesHidden">
+                    <div class="treeNode">
+                      <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                      <a href="tbb_userguide/Task-Based_Programming.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Task-Based Programming</a>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                      <a href="tbb_userguide/When_Task-Based_Programming_Is_Inappropriate.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">When Task-Based Programming Is Inappropriate</a>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                      <a href="tbb_userguide/Simple_Example_Fibonacci_Numbers.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Simple Example: Fibonacci Numbers</a>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                      <a href="tbb_userguide/How_Task_Scheduling_Works.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">How Task Scheduling Works</a>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodeplus.gif" class="treeLinkImage" onclick="expandCollapse(this.parentNode)" alt="">
+                      <a href="tbb_userguide/Useful_Task_Techniques.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Useful Task Techniques</a>
+                      <div class="treeSubnodesHidden">
+                        <div class="treeNode">
+                          <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                          <a href="tbb_userguide/Recursive_Chain_Reaction_.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Recursive Chain Reaction</a>
+                        </div>
+                        <div class="treeNode">
+                          <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                          <a href="tbb_userguide/Continuation_Passing.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Continuation Passing</a>
+                        </div>
+                        <div class="treeNode">
+                          <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                          <a href="tbb_userguide/Scheduler_Bypass.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Scheduler Bypass</a>
+                        </div>
+                        <div class="treeNode">
+                          <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                          <a href="tbb_userguide/Recycling.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Recycling</a>
+                        </div>
+                        <div class="treeNode">
+                          <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                          <a href="tbb_userguide/Empty_Tasks.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Empty Tasks</a>
+                        </div>
+                      </div>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                      <a href="tbb_userguide/General_Acyclic_Graphs_of_Tasks.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">General Acyclic Graphs of Tasks</a>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                      <a href="tbb_userguide/Task_Scheduler_Summary.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Task Scheduler Summary</a>
+                    </div>
+                  </div>
+                </div>
+                <div class="treeNode">
+                  <img src="treenodeplus.gif" class="treeLinkImage" onclick="expandCollapse(this.parentNode)" alt="">
+                  <a href="tbb_userguide/Design_Patterns/Design_Patterns.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Design Patterns</a>
+                  <div class="treeSubnodesHidden">
+                    <div class="treeNode">
+                      <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                      <a href="tbb_userguide/Design_Patterns/Agglomeration.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Agglomeration</a>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                      <a href="tbb_userguide/Design_Patterns/Elementwise.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Elementwise</a>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                      <a href="tbb_userguide/Design_Patterns/Odd-Even_Communication.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Odd-Even Communication</a>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                      <a href="tbb_userguide/Design_Patterns/Wavefront.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Wavefront</a>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                      <a href="tbb_userguide/Design_Patterns/Reduction.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Reduction</a>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                      <a href="tbb_userguide/Design_Patterns/Divide_and_Conquer.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Divide and Conquer</a>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                      <a href="tbb_userguide/Design_Patterns/GUI_Thread.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">GUI Thread</a>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                      <a href="tbb_userguide/Design_Patterns/Non-Preemptive_Priorities.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Non-Preemptive Priorities</a>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                      <a href="tbb_userguide/Design_Patterns/Local_Serializer.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Local Serializer</a>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                      <a href="tbb_userguide/Design_Patterns/Fenced_Data_Transfer.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Fenced Data Transfer</a>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                      <a href="tbb_userguide/Design_Patterns/Lazy_Initialization.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Lazy Initialization</a>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                      <a href="tbb_userguide/Design_Patterns/Reference_Counting.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Reference Counting</a>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                      <a href="tbb_userguide/Design_Patterns/Compare_and_Swap_Loop.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Compare and Swap Loop</a>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                      <a href="tbb_userguide/Design_Patterns/General_References.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">General References</a>
+                    </div>
+                  </div>
+                </div>
+                <div class="treeNode">
+                  <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                  <a href="tbb_userguide/appendix_A.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Appendix A Costs of Time Slicing</a>
+                </div>
+                <div class="treeNode">
+                  <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                  <a href="tbb_userguide/appendix_B.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Appendix B Mixing With Other Threading Packages</a>
+                </div>
+                <div class="treeNode">
+                  <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                  <a href="tbb_userguide/References.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">References</a>
+                </div>
+              </div>
+            </div>
+            <div class="treeNode">
+              <img src="treenodeplus.gif" class="treeLinkImage" onclick="expandCollapse(this.parentNode)" alt="">
+              <a href="reference/reference.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Intel® Threading Building Blocks Reference Manual</a>
+              <div class="treeSubnodesHidden">
+                <div class="treeNode">
+                  <img src="treenodeplus.gif" class="treeLinkImage" onclick="expandCollapse(this.parentNode)" alt="">
+                  <a href="reference/general_conventions.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">General Conventions</a>
+                  <div class="treeSubnodesHidden">
+                    <div class="treeNode">
+                      <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                      <a href="reference/general_conventions/terminology.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Terminology</a>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                      <a href="reference/general_conventions/identifiers.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Identifiers</a>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                      <a href="reference/general_conventions/namespaces.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Namespaces</a>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                      <a href="reference/general_conventions/thread_safety.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Thread Safety</a>
+                    </div>
+                  </div>
+                </div>
+                <div class="treeNode">
+                  <img src="treenodeplus.gif" class="treeLinkImage" onclick="expandCollapse(this.parentNode)" alt="">
+                  <a href="reference/environment.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Environment</a>
+                  <div class="treeSubnodesHidden">
+                    <div class="treeNode">
+                      <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                      <a href="reference/environment/version_information.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Version Information</a>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                      <a href="reference/environment/enabling_debugging_features.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Enabling Debugging Features</a>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                      <a href="reference/environment/feature_macros.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Feature Macros</a>
+                    </div>
+                  </div>
+                </div>
+                <div class="treeNode">
+                  <img src="treenodeplus.gif" class="treeLinkImage" onclick="expandCollapse(this.parentNode)" alt="">
+                  <a href="reference/algorithms.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Algorithms</a>
+                  <div class="treeSubnodesHidden">
+                    <div class="treeNode">
+                      <img src="treenodeplus.gif" class="treeLinkImage" onclick="expandCollapse(this.parentNode)" alt="">
+                      <a href="reference/algorithms/splittable_concept.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Splittable Concept</a>
+                      <div class="treeSubnodesHidden">
+                        <div class="treeNode">
+                          <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                          <a href="reference/algorithms/splittable_concept/split_cls.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">split Class</a>
+                        </div>
+                      </div>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodeplus.gif" class="treeLinkImage" onclick="expandCollapse(this.parentNode)" alt="">
+                      <a href="reference/algorithms/range_concept.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Range Concept</a>
+                      <div class="treeSubnodesHidden">
+                        <div class="treeNode">
+                          <img src="treenodeplus.gif" class="treeLinkImage" onclick="expandCollapse(this.parentNode)" alt="">
+                          <a href="reference/algorithms/range_concept/blocked_range_cls.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">blocked_range Template Class</a>
+                          <div class="treeSubnodesHidden">
+                            <div class="treeNode">
+                              <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                              <a href="reference/algorithms/range_concept/blocked_range_cls/blocked_range.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">blocked_range( Value begin, Value end, size_t grainsize=1 )</a>
+                            </div>
+                            <div class="treeNode">
+                              <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                              <a href="reference/algorithms/range_concept/blocked_range_cls/blocked_range_1.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">blocked_range( blocked_range& range, split )</a>
+                            </div>
+                          </div>
+                        </div>
+                        <div class="treeNode">
+                          <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                          <a href="reference/algorithms/range_concept/blocked_range2d_cls.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">blocked_range2d Template Class</a>
+                        </div>
+                        <div class="treeNode">
+                          <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                          <a href="reference/algorithms/range_concept/blocked_range3d_cls.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">blocked_range3d Template Class</a>
+                        </div>
+                      </div>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodeplus.gif" class="treeLinkImage" onclick="expandCollapse(this.parentNode)" alt="">
+                      <a href="reference/algorithms/partitioners.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Partitioners</a>
+                      <div class="treeSubnodesHidden">
+                        <div class="treeNode">
+                          <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                          <a href="reference/algorithms/partitioners/auto_partitioner_cls.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">auto_partitioner Class</a>
+                        </div>
+                        <div class="treeNode">
+                          <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                          <a href="reference/algorithms/partitioners/affinity_partitioner.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">affinity_partitioner</a>
+                        </div>
+                        <div class="treeNode">
+                          <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                          <a href="reference/algorithms/partitioners/simple_partitioner_cls.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">simple_partitioner Class</a>
+                        </div>
+                      </div>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                      <a href="reference/algorithms/parallel_for_func.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">parallel_for Template Function</a>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                      <a href="reference/algorithms/parallel_reduce_func.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">parallel_reduce Template Function</a>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                      <a href="reference/algorithms/parallel_deterministic_reduce_func.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">parallel_deterministic_reduce Template Function</a>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodeplus.gif" class="treeLinkImage" onclick="expandCollapse(this.parentNode)" alt="">
+                      <a href="reference/algorithms/parallel_scan_func.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">parallel_scan Template Function</a>
+                      <div class="treeSubnodesHidden">
+                        <div class="treeNode">
+                          <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                          <a href="reference/algorithms/parallel_scan_func/pre_scan_tag_and_final_scan_tag_clses.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">pre_scan_tag and final_scan_tag Classes</a>
+                        </div>
+                      </div>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodeplus.gif" class="treeLinkImage" onclick="expandCollapse(this.parentNode)" alt="">
+                      <a href="reference/algorithms/parallel_do_func.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">parallel_do Template Function</a>
+                      <div class="treeSubnodesHidden">
+                        <div class="treeNode">
+                          <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                          <a href="reference/algorithms/parallel_do_func/parallel_do_feeder_cls.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">parallel_do_feeder class</a>
+                        </div>
+                      </div>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                      <a href="reference/algorithms/parallel_for_each_func.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">parallel_for_each Template Function</a>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodeplus.gif" class="treeLinkImage" onclick="expandCollapse(this.parentNode)" alt="">
+                      <a href="reference/algorithms/pipeline_cls.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">pipeline Class</a>
+                      <div class="treeSubnodesHidden">
+                        <div class="treeNode">
+                          <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                          <a href="reference/algorithms/pipeline_cls/filter_cls.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">filter Class</a>
+                        </div>
+                        <div class="treeNode">
+                          <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                          <a href="reference/algorithms/pipeline_cls/thread_bound_filter_cls.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">thread_bound_filter Class</a>
+                        </div>
+                      </div>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodeplus.gif" class="treeLinkImage" onclick="expandCollapse(this.parentNode)" alt="">
+                      <a href="reference/algorithms/parallel_pipeline_func.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">parallel_pipeline Function</a>
+                      <div class="treeSubnodesHidden">
+                        <div class="treeNode">
+                          <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                          <a href="reference/algorithms/parallel_pipeline_func/filter_t_cls.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">filter_t Template Class</a>
+                        </div>
+                        <div class="treeNode">
+                          <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                          <a href="reference/algorithms/parallel_pipeline_func/flow_control_cls.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">flow_control Class</a>
+                        </div>
+                      </div>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                      <a href="reference/algorithms/parallel_sort_func.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">parallel_sort Template Function</a>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                      <a href="reference/algorithms/parallel_invoke_func.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">parallel_invoke Template Function</a>
+                    </div>
+                  </div>
+                </div>
+                <div class="treeNode">
+                  <img src="treenodeplus.gif" class="treeLinkImage" onclick="expandCollapse(this.parentNode)" alt="">
+                  <a href="reference/containers_overview.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Containers</a>
+                  <div class="treeSubnodesHidden">
+                    <div class="treeNode">
+                      <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                      <a href="reference/containers_overview/container_range_concept.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Container Range Concepts</a>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodeplus.gif" class="treeLinkImage" onclick="expandCollapse(this.parentNode)" alt="">
+                      <a href="reference/containers_overview/concurrent_unordered_map_cls.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">concurrent_unordered_map and concurrent_unordered_multimap Template Classes</a>
+                      <div class="treeSubnodesHidden">
+                        <div class="treeNode">
+                          <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                          <a href="reference/containers_overview/concurrent_unordered_map_cls/construct_destroy_copy_map_cls.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Construct, Destroy, Copy</a>
+                        </div>
+                        <div class="treeNode">
+                          <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                          <a href="reference/containers_overview/concurrent_unordered_map_cls/size_and_capacity_map_cls.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Size and Capacity</a>
+                        </div>
+                        <div class="treeNode">
+                          <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                          <a href="reference/containers_overview/concurrent_unordered_map_cls/container_iterators_map_cls.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Iterators</a>
+                        </div>
+                        <div class="treeNode">
+                          <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                          <a href="reference/containers_overview/concurrent_unordered_map_cls/modifiers_map_cls.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Modifiers</a>
+                        </div>
+                        <div class="treeNode">
+                          <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                          <a href="reference/containers_overview/concurrent_unordered_map_cls/observers_map_cls.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Observers</a>
+                        </div>
+                        <div class="treeNode">
+                          <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                          <a href="reference/containers_overview/concurrent_unordered_map_cls/lookup_map_cls.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Lookup</a>
+                        </div>
+                        <div class="treeNode">
+                          <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                          <a href="reference/containers_overview/concurrent_unordered_map_cls/parallel_iteration_map_cls.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Parallel Iteration</a>
+                        </div>
+                        <div class="treeNode">
+                          <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                          <a href="reference/containers_overview/concurrent_unordered_map_cls/bucket_interface_map_cls.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Bucket Interface</a>
+                        </div>
+                        <div class="treeNode">
+                          <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                          <a href="reference/containers_overview/concurrent_unordered_map_cls/hash_policy_map_cls.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Hash Policy</a>
+                        </div>
+                      </div>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodeplus.gif" class="treeLinkImage" onclick="expandCollapse(this.parentNode)" alt="">
+                      <a href="reference/containers_overview/concurrent_unordered_set_cls.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">concurrent_unordered_set and concurrent_unordered_multiset Template Classes</a>
+                      <div class="treeSubnodesHidden">
+                        <div class="treeNode">
+                          <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                          <a href="reference/containers_overview/concurrent_unordered_set_cls/construct_destroy_copy_set_cls.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Construct, Destroy, Copy</a>
+                        </div>
+                        <div class="treeNode">
+                          <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                          <a href="reference/containers_overview/concurrent_unordered_set_cls/size_and_capacity_set_cls.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Size and Capacity</a>
+                        </div>
+                        <div class="treeNode">
+                          <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                          <a href="reference/containers_overview/concurrent_unordered_set_cls/container_iterators_set_cls.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Iterators</a>
+                        </div>
+                        <div class="treeNode">
+                          <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                          <a href="reference/containers_overview/concurrent_unordered_set_cls/modifiers_set_cls.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Modifiers</a>
+                        </div>
+                        <div class="treeNode">
+                          <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                          <a href="reference/containers_overview/concurrent_unordered_set_cls/observers_set_cls.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Observers</a>
+                        </div>
+                        <div class="treeNode">
+                          <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                          <a href="reference/containers_overview/concurrent_unordered_set_cls/lookup_set_cls.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Lookup</a>
+                        </div>
+                        <div class="treeNode">
+                          <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                          <a href="reference/containers_overview/concurrent_unordered_set_cls/parallel_iteration_set_cls.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Parallel Iteration</a>
+                        </div>
+                        <div class="treeNode">
+                          <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                          <a href="reference/containers_overview/concurrent_unordered_set_cls/bucket_interface_set_cls.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Bucket Interface</a>
+                        </div>
+                        <div class="treeNode">
+                          <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                          <a href="reference/containers_overview/concurrent_unordered_set_cls/hash_policy_set_cls.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Hash Policy</a>
+                        </div>
+                      </div>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodeplus.gif" class="treeLinkImage" onclick="expandCollapse(this.parentNode)" alt="">
+                      <a href="reference/containers_overview/concurrent_hash_map_cls.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">concurrent_hash_map Template Class</a>
+                      <div class="treeSubnodesHidden">
+                        <div class="treeNode">
+                          <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                          <a href="reference/containers_overview/concurrent_hash_map_cls/whole_table_operations.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Whole Table Operations</a>
+                        </div>
+                        <div class="treeNode">
+                          <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                          <a href="reference/containers_overview/concurrent_hash_map_cls/concurrent_access.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Concurrent Access</a>
+                        </div>
+                        <div class="treeNode">
+                          <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                          <a href="reference/containers_overview/concurrent_hash_map_cls/concurrent_operations.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Concurrent Operations</a>
+                        </div>
+                        <div class="treeNode">
+                          <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                          <a href="reference/containers_overview/concurrent_hash_map_cls/parallel_iteration_container.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Parallel Iteration</a>
+                        </div>
+                        <div class="treeNode">
+                          <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                          <a href="reference/containers_overview/concurrent_hash_map_cls/capacity_map_cls.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Capacity</a>
+                        </div>
+                        <div class="treeNode">
+                          <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                          <a href="reference/containers_overview/concurrent_hash_map_cls/iterators_hash_map_cls.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Iterators</a>
+                        </div>
+                        <div class="treeNode">
+                          <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                          <a href="reference/containers_overview/concurrent_hash_map_cls/global_funcs.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Global Functions</a>
+                        </div>
+                        <div class="treeNode">
+                          <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                          <a href="reference/containers_overview/concurrent_hash_map_cls/tbb_hash_compare_cls.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">tbb_hash_compare Class</a>
+                        </div>
+                      </div>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                      <a href="reference/containers_overview/concurrent_queue_cls.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">concurrent_queue Template Class</a>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                      <a href="reference/containers_overview/concurrent_bounded_queue_cls.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">concurrent_bounded_queue Template Class</a>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                      <a href="reference/containers_overview/concurrent_priority_queue_cls.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">concurrent_priority_queue Template Class</a>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodeplus.gif" class="treeLinkImage" onclick="expandCollapse(this.parentNode)" alt="">
+                      <a href="reference/containers_overview/concurrent_vector.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">concurrent_vector</a>
+                      <div class="treeSubnodesHidden">
+                        <div class="treeNode">
+                          <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                          <a href="reference/containers_overview/concurrent_vector/construction_copy_and_assignment.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Construction, Copy, and Assignment</a>
+                        </div>
+                        <div class="treeNode">
+                          <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                          <a href="reference/containers_overview/concurrent_vector/whole_vector_operations.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Whole Vector Operations</a>
+                        </div>
+                        <div class="treeNode">
+                          <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                          <a href="reference/containers_overview/concurrent_vector/concurrent_growth.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Concurrent Growth</a>
+                        </div>
+                        <div class="treeNode">
+                          <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                          <a href="reference/containers_overview/concurrent_vector/access.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Access</a>
+                        </div>
+                        <div class="treeNode">
+                          <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                          <a href="reference/containers_overview/concurrent_vector/parallel_iteration.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Parallel Iteration</a>
+                        </div>
+                        <div class="treeNode">
+                          <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                          <a href="reference/containers_overview/concurrent_vector/capacity_vector.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Capacity</a>
+                        </div>
+                        <div class="treeNode">
+                          <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                          <a href="reference/containers_overview/concurrent_vector/iterators_vector.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Iterators</a>
+                        </div>
+                      </div>
+                    </div>
+                  </div>
+                </div>
+                <div class="treeNode">
+                  <img src="treenodeplus.gif" class="treeLinkImage" onclick="expandCollapse(this.parentNode)" alt="">
+                  <a href="reference/flow_graph.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Flow Graph</a>
+                  <div class="treeSubnodesHidden">
+                    <div class="treeNode">
+                      <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                      <a href="reference/flow_graph/primary_components.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Primary Components</a>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                      <a href="reference/flow_graph/message_passing_protocol.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Message Passing Protocol</a>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                      <a href="reference/flow_graph/body_objects.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Body Objects</a>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                      <a href="reference/flow_graph/flow_tuple.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">flow::tuple Template Class</a>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                      <a href="reference/flow_graph/dependency_flow_graph_example.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Dependency Flow Graph Example</a>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                      <a href="reference/flow_graph/message_flow_graph_example.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Message Flow Graph Example</a>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                      <a href="reference/flow_graph/graph_cls.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">graph Class</a>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                      <a href="reference/flow_graph/sender_cls.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">sender Template Class</a>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                      <a href="reference/flow_graph/receiver_cls.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">receiver Template Class</a>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                      <a href="reference/flow_graph/continue_msg_cls.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">continue_msg Class</a>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                      <a href="reference/flow_graph/continue_receiver_cls.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">continue_receiver Class</a>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                      <a href="reference/flow_graph/graph_node_cls.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">graph_node Class</a>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                      <a href="reference/flow_graph/continue_node_cls.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">continue_node Template Class</a>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                      <a href="reference/flow_graph/func_node_cls.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">function_node Template Class</a>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                      <a href="reference/flow_graph/source_node_cls.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">source_node Class</a>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                      <a href="reference/flow_graph/multifunc_node_cls.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">multifunction_node Template Class</a>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                      <a href="reference/flow_graph/overwrite_node_cls.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">overwrite_node Template Class</a>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                      <a href="reference/flow_graph/write_once_node_cls.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">write_once_node Template Class</a>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                      <a href="reference/flow_graph/broadcast_node_cls.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">broadcast_node Template Class</a>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                      <a href="reference/flow_graph/buffer_node_cls.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">buffer_node Class</a>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                      <a href="reference/flow_graph/queue_node_cls.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">queue_node Template Class</a>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                      <a href="reference/flow_graph/priority_queue_node_cls.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">priority_queue_node Template Class</a>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                      <a href="reference/flow_graph/sequencer_node_cls.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">sequencer_node Template Class</a>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                      <a href="reference/flow_graph/limiter_node_cls.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">limiter_node Template Class</a>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                      <a href="reference/flow_graph/join_node_cls.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">join_node Template Class</a>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                      <a href="reference/flow_graph/split_node_cls.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">split_node Template Class</a>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                      <a href="reference/flow_graph/input_port_func.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">input_port Template Function</a>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                      <a href="reference/flow_graph/make_edge_func.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">make_edge Template Function</a>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                      <a href="reference/flow_graph/remove_edge_func.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">remove_edge Template Function</a>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                      <a href="reference/flow_graph/copy_body_func.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">copy_body Template Function</a>
+                    </div>
+                  </div>
+                </div>
+                <div class="treeNode">
+                  <img src="treenodeplus.gif" class="treeLinkImage" onclick="expandCollapse(this.parentNode)" alt="">
+                  <a href="reference/thread_local_storage.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Thread Local Storage</a>
+                  <div class="treeSubnodesHidden">
+                    <div class="treeNode">
+                      <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                      <a href="reference/thread_local_storage/combinable_cls.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">combinable Template Class</a>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodeplus.gif" class="treeLinkImage" onclick="expandCollapse(this.parentNode)" alt="">
+                      <a href="reference/thread_local_storage/enumerable_thread_specific_cls.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">enumerable_thread_specific Template Class</a>
+                      <div class="treeSubnodesHidden">
+                        <div class="treeNode">
+                          <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                          <a href="reference/thread_local_storage/enumerable_thread_specific_cls/whole_container_operations_specific_cls.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Whole Container Operations</a>
+                        </div>
+                        <div class="treeNode">
+                          <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                          <a href="reference/thread_local_storage/enumerable_thread_specific_cls/concurrent_operations1.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Concurrent Operations</a>
+                        </div>
+                        <div class="treeNode">
+                          <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                          <a href="reference/thread_local_storage/enumerable_thread_specific_cls/combining.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Combining</a>
+                        </div>
+                        <div class="treeNode">
+                          <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                          <a href="reference/thread_local_storage/enumerable_thread_specific_cls/parallel_literation_specific_cls.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Parallel Iteration</a>
+                        </div>
+                        <div class="treeNode">
+                          <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                          <a href="reference/thread_local_storage/enumerable_thread_specific_cls/iterators_specific_cls.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Iterators</a>
+                        </div>
+                      </div>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodeplus.gif" class="treeLinkImage" onclick="expandCollapse(this.parentNode)" alt="">
+                      <a href="reference/thread_local_storage/flattened2d_cls.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">flattened2d Template Class</a>
+                      <div class="treeSubnodesHidden">
+                        <div class="treeNode">
+                          <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                          <a href="reference/thread_local_storage/flattened2d_cls/whole_container_operations_2d_cls.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Whole Container Operations</a>
+                        </div>
+                        <div class="treeNode">
+                          <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                          <a href="reference/thread_local_storage/flattened2d_cls/concurrent_operations.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Concurrent Operations</a>
+                        </div>
+                        <div class="treeNode">
+                          <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                          <a href="reference/thread_local_storage/flattened2d_cls/iterators_2d_cls.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Iterators</a>
+                        </div>
+                        <div class="treeNode">
+                          <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                          <a href="reference/thread_local_storage/flattened2d_cls/utility_funcs.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Utility Functions</a>
+                        </div>
+                      </div>
+                    </div>
+                  </div>
+                </div>
+                <div class="treeNode">
+                  <img src="treenodeplus.gif" class="treeLinkImage" onclick="expandCollapse(this.parentNode)" alt="">
+                  <a href="reference/memory_allocation.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Memory Allocation</a>
+                  <div class="treeSubnodesHidden">
+                    <div class="treeNode">
+                      <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                      <a href="reference/memory_allocation/allocator_concept.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Allocator Concept</a>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                      <a href="reference/memory_allocation/tbb_allocator_cls.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">tbb_allocator Template Class</a>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodeplus.gif" class="treeLinkImage" onclick="expandCollapse(this.parentNode)" alt="">
+                      <a href="reference/memory_allocation/scalable_allocator_cls.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">scalable allocator Template Class</a>
+                      <div class="treeSubnodesHidden">
+                        <div class="treeNode">
+                          <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                          <a href="reference/memory_allocation/scalable_allocator_cls/c_interface_to_scalable_allocator.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">C Interface to Scalable Allocator</a>
+                        </div>
+                      </div>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                      <a href="reference/memory_allocation/cache_aligned_allocator_cls.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">cache_aligned_allocator Template Class</a>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                      <a href="reference/memory_allocation/zero_allocator.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">zero_allocator</a>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                      <a href="reference/memory_allocation/aligned_space_cls.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">aligned_space Template Class</a>
+                    </div>
+                  </div>
+                </div>
+                <div class="treeNode">
+                  <img src="treenodeplus.gif" class="treeLinkImage" onclick="expandCollapse(this.parentNode)" alt="">
+                  <a href="reference/synchronization.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Synchronization</a>
+                  <div class="treeSubnodesHidden">
+                    <div class="treeNode">
+                      <img src="treenodeplus.gif" class="treeLinkImage" onclick="expandCollapse(this.parentNode)" alt="">
+                      <a href="reference/synchronization/mutexes.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Mutexes</a>
+                      <div class="treeSubnodesHidden">
+                        <div class="treeNode">
+                          <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                          <a href="reference/synchronization/mutexes/mutex_concept.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Mutex Concept</a>
+                        </div>
+                        <div class="treeNode">
+                          <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                          <a href="reference/synchronization/mutexes/hardware_transactional_locking.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Speculative locking (Transactional Lock Elision)</a>
+                        </div>
+                        <div class="treeNode">
+                          <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                          <a href="reference/synchronization/mutexes/mutex_cls.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">mutex Class</a>
+                        </div>
+                        <div class="treeNode">
+                          <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                          <a href="reference/synchronization/mutexes/recursive_mutex_cls.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">recursive_mutex Class</a>
+                        </div>
+                        <div class="treeNode">
+                          <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                          <a href="reference/synchronization/mutexes/spin_mutex_cls.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">spin_mutex Class</a>
+                        </div>
+                        <div class="treeNode">
+                          <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                          <a href="reference/synchronization/mutexes/speculative_spin_mutex_cls.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">speculative_spin_mutex Class</a>
+                        </div>
+                        <div class="treeNode">
+                          <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                          <a href="reference/synchronization/mutexes/queuing_mutex_cls.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">queuing_mutex Class</a>
+                        </div>
+                        <div class="treeNode">
+                          <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                          <a href="reference/synchronization/mutexes/readerwritermutex_concept.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">ReaderWriterMutex Concept</a>
+                        </div>
+                        <div class="treeNode">
+                          <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                          <a href="reference/synchronization/mutexes/spin_rw_mutex_cls.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">spin_rw_mutex Class</a>
+                        </div>
+                        <div class="treeNode">
+                          <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                          <a href="reference/synchronization/mutexes/queuing_rw_mutex_cls.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">queuing_rw_mutex Class</a>
+                        </div>
+                        <div class="treeNode">
+                          <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                          <a href="reference/synchronization/mutexes/null_mutex_cls.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">null_mutex Class</a>
+                        </div>
+                        <div class="treeNode">
+                          <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                          <a href="reference/synchronization/mutexes/null_rw_mutex_cls.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">null_rw_mutex Class</a>
+                        </div>
+                      </div>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                      <a href="reference/synchronization/atomic_cls.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">atomic Template Class</a>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodeplus.gif" class="treeLinkImage" onclick="expandCollapse(this.parentNode)" alt="">
+                      <a href="reference/synchronization/ppl_compatibility_synch.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">PPL Compatibility</a>
+                      <div class="treeSubnodesHidden">
+                        <div class="treeNode">
+                          <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                          <a href="reference/synchronization/ppl_compatibility/critical_section.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">critical_section</a>
+                        </div>
+                        <div class="treeNode">
+                          <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                          <a href="reference/synchronization/ppl_compatibility/reader_writer_lock_cls.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">reader_writer_lock Class</a>
+                        </div>
+                      </div>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                      <a href="reference/synchronization/c_11_synchronization.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">C++11 Synchronization</a>
+                    </div>
+                  </div>
+                </div>
+                <div class="treeNode">
+                  <img src="treenodeplus.gif" class="treeLinkImage" onclick="expandCollapse(this.parentNode)" alt="">
+                  <a href="reference/timing.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Timing</a>
+                  <div class="treeSubnodesHidden">
+                    <div class="treeNode">
+                      <img src="treenodeplus.gif" class="treeLinkImage" onclick="expandCollapse(this.parentNode)" alt="">
+                      <a href="reference/timing/tick_count_cls.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">tick_count Class</a>
+                      <div class="treeSubnodesHidden">
+                        <div class="treeNode">
+                          <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                          <a href="reference/timing/tick_count_cls/tick_count_cls_members.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">tick_count Members</a>
+                        </div>
+                        <div class="treeNode">
+                          <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                          <a href="reference/timing/tick_count_cls/tick_count_interval_t_cls.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">tick_count::interval_t Class</a>
+                        </div>
+                      </div>
+                    </div>
+                  </div>
+                </div>
+                <div class="treeNode">
+                  <img src="treenodeplus.gif" class="treeLinkImage" onclick="expandCollapse(this.parentNode)" alt="">
+                  <a href="reference/task_groups.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Task Groups</a>
+                  <div class="treeSubnodesHidden">
+                    <div class="treeNode">
+                      <img src="treenodeplus.gif" class="treeLinkImage" onclick="expandCollapse(this.parentNode)" alt="">
+                      <a href="reference/task_groups/task_group_cls.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">task_group Class</a>
+                      <div class="treeSubnodesHidden">
+                        <div class="treeNode">
+                          <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                          <a href="reference/task_groups/task_group_cls/task_group_cls_members.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Task Groups</a>
+                        </div>
+                      </div>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                      <a href="reference/task_groups/task_group_status_enum.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">task_group_status Enum</a>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                      <a href="reference/task_groups/task_handle_cls.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">task_handle Template Class</a>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                      <a href="reference/task_groups/make_task_func.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">make_task Template Function</a>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                      <a href="reference/task_groups/structured_task_group_cls.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">structured_task_group Class</a>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                      <a href="reference/task_groups/is_current_task_group_canceling_func.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">is_current_task_group_canceling Function</a>
+                    </div>
+                  </div>
+                </div>
+                <div class="treeNode">
+                  <img src="treenodeplus.gif" class="treeLinkImage" onclick="expandCollapse(this.parentNode)" alt="">
+                  <a href="reference/task_scheduler.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Task Scheduler</a>
+                  <div class="treeSubnodesHidden">
+                    <div class="treeNode">
+                      <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                      <a href="reference/task_scheduler/scheduling_algorithm.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Scheduling Algorithm</a>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodeplus.gif" class="treeLinkImage" onclick="expandCollapse(this.parentNode)" alt="">
+                      <a href="reference/task_scheduler/task_scheduler_init_cls.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">task_scheduler_init Class</a>
+                      <div class="treeSubnodesHidden">
+                        <div class="treeNode">
+                          <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                          <a href="reference/task_scheduler/task_scheduler_init_cls/task_scheduler_init.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">task_scheduler_init max_threads</a>
+                        </div>
+                        <div class="treeNode">
+                          <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                          <a href="reference/task_scheduler/task_scheduler_init_cls/task_scheduler_init_1.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">task_scheduler_init</a>
+                        </div>
+                      </div>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodeplus.gif" class="treeLinkImage" onclick="expandCollapse(this.parentNode)" alt="">
+                      <a href="reference/task_scheduler/task_cls.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">task Class</a>
+                      <div class="treeSubnodesHidden">
+                        <div class="treeNode">
+                          <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                          <a href="reference/task_scheduler/task_cls/task_derivation.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">task Derivation</a>
+                        </div>
+                      </div>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                      <a href="reference/task_scheduler/task_allocation.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">task Allocation</a>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                      <a href="reference/task_scheduler/explicit_task_destruction.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Explicit task Destruction</a>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                      <a href="reference/task_scheduler/recycling_tasks.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Recycling Tasks</a>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                      <a href="reference/task_scheduler/synchronization.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Synchronization</a>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                      <a href="reference/task_scheduler/task_context.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">task Context</a>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                      <a href="reference/task_scheduler/cancellation.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Cancellation</a>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                      <a href="reference/task_scheduler/priorities.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Priority</a>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                      <a href="reference/task_scheduler/affinity.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Affinity</a>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                      <a href="reference/task_scheduler/task_debugging.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">task Debugging</a>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                      <a href="reference/task_scheduler/empty_task_cls.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">empty_task Class</a>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                      <a href="reference/task_scheduler/task_list_cls.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">task_list Class</a>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodeplus.gif" class="treeLinkImage" onclick="expandCollapse(this.parentNode)" alt="">
+                      <a href="reference/task_scheduler/task_group_context.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">task_group_context</a>
+                      <div class="treeSubnodesHidden">
+                        <div class="treeNode">
+                          <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                          <a href="reference/task_scheduler/task_group_context/task_group_context.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">task_group_context members</a>
+                        </div>
+                      </div>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodeplus.gif" class="treeLinkImage" onclick="expandCollapse(this.parentNode)" alt="">
+                      <a href="reference/task_scheduler/task_scheduler_observer.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">task_scheduler_observer</a>
+                      <div class="treeSubnodesHidden">
+                        <div class="treeNode">
+                          <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                          <a href="reference/task_scheduler/task_scheduler_observer/task_scheduler_observer_member.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">task_scheduler_observer Member</a>
+                        </div>
+                      </div>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                      <a href="reference/task_scheduler/catalog_of_recommended_task_patterns.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Catalog of Recommended task Patterns</a>
+                    </div>
+                  </div>
+                </div>
+                <div class="treeNode">
+                  <img src="treenodeplus.gif" class="treeLinkImage" onclick="expandCollapse(this.parentNode)" alt="">
+                  <a href="reference/exceptions.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Exceptions</a>
+                  <div class="treeSubnodesHidden">
+                    <div class="treeNode">
+                      <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                      <a href="reference/exceptions/tbb_exception.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">tbb_exception</a>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                      <a href="reference/exceptions/captured_exception.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">captured_exception</a>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                      <a href="reference/exceptions/movable_exception.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">movable_exception ExceptionData</a>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                      <a href="reference/exceptions/specific_exceptions.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Specific Exceptions</a>
+                    </div>
+                  </div>
+                </div>
+                <div class="treeNode">
+                  <img src="treenodeplus.gif" class="treeLinkImage" onclick="expandCollapse(this.parentNode)" alt="">
+                  <a href="reference/threads.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Threads</a>
+                  <div class="treeSubnodesHidden">
+                    <div class="treeNode">
+                      <img src="treenodeplus.gif" class="treeLinkImage" onclick="expandCollapse(this.parentNode)" alt="">
+                      <a href="reference/threads/thread_cls.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">thread Class</a>
+                      <div class="treeSubnodesHidden">
+                        <div class="treeNode">
+                          <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                          <a href="reference/threads/thread_cls/thread_cls_members.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">thread Class members</a>
+                        </div>
+                      </div>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                      <a href="reference/threads/thread_id.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">thread::id</a>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                      <a href="reference/threads/this_thread_namespace.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">this_thread Namespace</a>
+                    </div>
+                  </div>
+                </div>
+                <div class="treeNode">
+                  <img src="treenodeplus.gif" class="treeLinkImage" onclick="expandCollapse(this.parentNode)" alt="">
+                  <a href="reference/appendices.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Appendices</a>
+                  <div class="treeSubnodesHidden">
+                    <div class="treeNode">
+                      <img src="treenodeplus.gif" class="treeLinkImage" onclick="expandCollapse(this.parentNode)" alt="">
+                      <a href="reference/appendices/compatibility_features.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Compatibility Features</a>
+                      <div class="treeSubnodesHidden">
+                        <div class="treeNode">
+                          <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                          <a href="reference/appendices/compatibility_features/parallel_while_cls.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">parallel_while Template Class</a>
+                        </div>
+                        <div class="treeNode">
+                          <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                          <a href="reference/appendices/compatibility_features/interface_for_constructing_a_pipeline_filter.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Interface for constructing a pipeline filter</a>
+                        </div>
+                        <div class="treeNode">
+                          <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                          <a href="reference/appendices/compatibility_features/debugging_macros.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Debugging Macros</a>
+                        </div>
+                        <div class="treeNode">
+                          <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                          <a href="reference/appendices/compatibility_features/tbb_deprecated_concurrent_queue_cls.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">tbb::deprecated::concurrent_queue<T,Alloc> Template Class</a>
+                        </div>
+                        <div class="treeNode">
+                          <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                          <a href="reference/appendices/compatibility_features/task_enqueuing_flow_graph.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Task Enqueuing Flow Graph</a>
+                        </div>
+                        <div class="treeNode">
+                          <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                          <a href="reference/appendices/compatibility_features/interface_for_concurrent_vector.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Interface for concurrent_vector</a>
+                        </div>
+                        <div class="treeNode">
+                          <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                          <a href="reference/appendices/compatibility_features/interface_for_cls_task.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Interface for class task</a>
+                        </div>
+                        <div class="treeNode">
+                          <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                          <a href="reference/appendices/compatibility_features/tbb_thread_cls.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">tbb_thread Class</a>
+                        </div>
+                      </div>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                      <a href="reference/appendices/ppl_compatibility.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">PPL Compatibility</a>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodeplus.gif" class="treeLinkImage" onclick="expandCollapse(this.parentNode)" alt="">
+                      <a href="reference/appendices/known_issues.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Known Issues</a>
+                      <div class="treeSubnodesHidden">
+                        <div class="treeNode">
+                          <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                          <a href="reference/appendices/known_issues/windows_os.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Windows* OS</a>
+                        </div>
+                      </div>
+                    </div>
+                    <div class="treeNode">
+                      <img src="treenodeplus.gif" class="treeLinkImage" onclick="expandCollapse(this.parentNode)" alt="">
+                      <a href="reference/appendices/community_preview_features.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Community Preview Features</a>
+                      <div class="treeSubnodesHidden">
+                        <div class="treeNode">
+                          <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                          <a href="reference/appendices/community_preview_features/what_is_a_community_preview_feature.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">What is a Community Preview Feature?</a>
+                        </div>
+                        <div class="treeNode">
+                          <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                          <a href="reference/appendices/community_preview_features/enabling_a_community_preview_feature.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Enabling a Community Preview Feature</a>
+                        </div>
+                        <div class="treeNode">
+                          <img src="treenodeplus.gif" class="treeLinkImage" onclick="expandCollapse(this.parentNode)" alt="">
+                          <a href="reference/appendices/community_preview_features/flow_graph_features.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Flow Graph</a>
+                          <div class="treeSubnodesHidden">
+                            <div class="treeNode">
+                              <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                              <a href="reference/appendices/community_preview_features/flow_graph/or_node_cls.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">or_node Template Class</a>
+                            </div>
+                          </div>
+                        </div>
+                        <div class="treeNode">
+                          <img src="treenodeplus.gif" class="treeLinkImage" onclick="expandCollapse(this.parentNode)" alt="">
+                          <a href="reference/appendices/community_preview_features/run_time_loader.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Run-time loader</a>
+                          <div class="treeSubnodesHidden">
+                            <div class="treeNode">
+                              <img src="treenodeplus.gif" class="treeLinkImage" onclick="expandCollapse(this.parentNode)" alt="">
+                              <a href="reference/appendices/community_preview_features/run_time_loader/runtime_loader_cls.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">runtime_loader Class</a>
+                              <div class="treeSubnodesHidden">
+                                <div class="treeNode">
+                                  <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                                  <a href="reference/appendices/community_preview_features/run_time_loader/runtime_loader_cls/error_code_load.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">error_code load(char const * path[],int min_ver = TBB_INTERFACE_VERSION, int max_ver = INT_MAX)</a>
+                                </div>
+                              </div>
+                            </div>
+                          </div>
+                        </div>
+                        <div class="treeNode">
+                          <img src="treenodeplus.gif" class="treeLinkImage" onclick="expandCollapse(this.parentNode)" alt="">
+                          <a href="reference/appendices/community_preview_features/scalable_memory_pools.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Scalable Memory Pools</a>
+                          <div class="treeSubnodesHidden">
+                            <div class="treeNode">
+                              <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                              <a href="reference/appendices/community_preview_features/scalable_memory_pools/memory_pool_cls.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">memory_pool Template Class</a>
+                            </div>
+                            <div class="treeNode">
+                              <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                              <a href="reference/appendices/community_preview_features/scalable_memory_pools/fixed_pool_cls.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">fixed_pool Class</a>
+                            </div>
+                            <div class="treeNode">
+                              <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                              <a href="reference/appendices/community_preview_features/scalable_memory_pools/memory_pool_allocator_cls.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">memory_pool_allocator Template Class</a>
+                            </div>
+                          </div>
+                        </div>
+                        <div class="treeNode">
+                          <img src="treenodeplus.gif" class="treeLinkImage" onclick="expandCollapse(this.parentNode)" alt="">
+                          <a href="reference/appendices/community_preview_features/serial_subset.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">Serial subset</a>
+                          <div class="treeSubnodesHidden">
+                            <div class="treeNode">
+                              <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                              <a href="reference/appendices/community_preview_features/serial_subset/tbb_serial_parallel_for.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">tbb::serial::parallel_for()</a>
+                            </div>
+                          </div>
+                        </div>
+                        <div class="treeNode">
+                          <img src="treenodeplus.gif" class="treeLinkImage" onclick="expandCollapse(this.parentNode)" alt="">
+                          <a href="reference/appendices/community_preview_features/concurrent_lru_cache_cls.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">concurrent_lru_cache Template Class</a>
+                          <div class="treeSubnodesHidden">
+                            <div class="treeNode">
+                              <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                              <a href="reference/appendices/community_preview_features/concurrent_lru_cache_cls/handle_object_cls.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">handle_object class</a>
+                            </div>
+                          </div>
+                        </div>
+                        <div class="treeNode">
+                          <img src="treenodeplus.gif" class="treeLinkImage" onclick="expandCollapse(this.parentNode)" alt="">
+                          <a href="reference/appendices/community_preview_features/aggregator_cls.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">aggregator Class</a>
+                          <div class="treeSubnodesHidden">
+                            <div class="treeNode">
+                              <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                              <a href="reference/appendices/community_preview_features/aggregator_cls/basic_interface.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">aggregator Class Basic Interface</a>
+                            </div>
+                            <div class="treeNode">
+                              <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                              <a href="reference/appendices/community_preview_features/aggregator_cls/expert_interface.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">aggregator Class Expert Interface</a>
+                            </div>
+                          </div>
+                        </div>
+                        <div class="treeNode">
+                          <img src="treenodeplus.gif" class="treeLinkImage" onclick="expandCollapse(this.parentNode)" alt="">
+                          <a href="reference/appendices/community_preview_features/task_arena_cls.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">task_arena Class</a>
+                          <div class="treeSubnodesHidden">
+                            <div class="treeNode">
+                              <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                              <a href="reference/appendices/community_preview_features/task_arena_cls/task_scheduler_observer_ext_cls.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">task_scheduler_observer Class extensions</a>
+                            </div>
+                          </div>
+                        </div>
+                        <div class="treeNode">
+                          <img src="treenodedot.gif" class="treeNoLinkImage" alt="">
+                          <a href="reference/synchronization/mutexes/speculative_spin_rw_mutex_cls.htm" target="right" class="treeUnselected" onclick="clickAnchor(this)">speculative_spin_rw_mutex Class</a>
+                        </div>
+                      </div>
+                    </div>
+                  </div>
+                </div>
+              </div>
+            </div>
+          </div>
+        </div>
+      </div>
+
+    </div>
+
+
+
+</body>
+</html>
diff --git a/doc/help/index.htm b/doc/help/index.htm
new file mode 100755
index 0000000..d35170f
--- /dev/null
+++ b/doc/help/index.htm
@@ -0,0 +1,43 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Frameset//EN">
+<!-- saved from url=(0014)about:internet -->
+<html>
+<head>
+  <title>Intel® Threading Building Blocks Documentation</title>
+  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+</head>
+
+<script type="text/javascript" language="javascript">
+<!--
+
+// ensure page is not loaded inside another frame
+if (top.location != self.location) {top.location = self.location;} 
+
+
+//-- eg. hh_start.htm#index2.htm                -- sets the content frame only
+//-- eg. hh_start.htm#index2.htm+hh_search.htm  -- sets the content and nav frame
+//-- eg. hh_start.htm#+hh_search.htm            -- sets the nav frame only
+var LFile="hh_toc.htm";
+var RFile="main/title.htm";
+var Param=window.location.hash.substring(1);
+var Params=Param.split("+");
+if (Param != "") {
+  if ((Params.length == 2) && (Params[1] != "")) LFile=Params[1];
+  if (Params[0] != "") RFile=Params[0];
+}
+
+//debug line
+//alert('LFile='+ LFile + ', RFile='+RFile);
+
+document.write('<frameset cols="263,100%" frameborder="1" border="3" framespacing="3">');
+document.write('  <frame src="'+LFile+'" name="left" scrolling="no" frameborder="1" />');
+document.write('  <frame src="'+RFile+'" name="right" scrolling="auto" frameborder="1" />');
+document.write('    <noframes>');
+document.write('      <body>');
+document.write('      <p>This page uses frames, but your browser does not support frames.</p>');
+document.write('      </body>');
+document.write('    </noframes>');
+document.write('</frameset>');
+
+//-->
+</script>
+</html>
diff --git a/doc/help/intel_css_styles.css b/doc/help/intel_css_styles.css
new file mode 100755
index 0000000..f6fe56c
--- /dev/null
+++ b/doc/help/intel_css_styles.css
@@ -0,0 +1,1020 @@
+/* ================================================= */
+/* ====== Windows CSS Styles ======================= */
+/* ====== styles_w.css ============================= */
+
+/* ------------------------------------------------- */
+/* Default body style */
+body {
+	color:#333333;
+	background-color:#ffffff;
+	font-family: Verdana, Arial, sans-serif;
+	font-size: 10pt;
+	margin-left: 30px;
+}
+
+/* ------------------------------------------------- */
+/* Help 3 body style overriding default MSHV behavior */
+
+body.OH_VSIP_body {
+	
+	margin-left: 30px;
+	
+	}
+	
+DIV.OH_outerContent
+{  
+  border:0px none #FFFFFF; 
+}
+
+
+/* ------------------------------------------------- */
+/* Title headings styles */
+h1 {
+	color: #0860a8;
+	font-size: 15pt;
+	font-weight: normal;
+	padding-bottom: 1px;	
+	margin-left: 0pt;
+	margin-bottom: 0px;
+	border-bottom: 1px solid #0860A8; 
+}
+
+h1.firsttitle { 
+    font-weight:normal; 
+    border-bottom:0 none; 
+    margin-left:0; 
+}
+h2 {
+	color: #0860a8;
+	font-weight: lighter;
+	margin-top: 5pt;
+	margin-bottom: 0;
+	font-size: 13pt;
+}
+/*h2 { 
+	color: #0860a8;
+	font-weight: lighter;
+	padding-left:30px; 
+	margin-top:5pt; 
+	margin-bottom:0; 
+	font-size:13pt;
+}*/
+h3 {
+	color: #333333;
+	font-weight: bold;
+	margin-top: 5pt;
+	margin-bottom: 0;
+	font-size: 10.5pt;
+}
+/*h3 { 
+	color: #333333;
+	font-weight:bold; 
+	padding-left:30px; 
+	margin-top:5pt; 
+	margin-bottom:0; 
+	font-size:10.5pt;
+}*/
+
+h4 { 
+	color: #333333;
+	color: #0860a8;
+	margin-bottom:0.75em; 
+	padding-left:0px;
+	/*padding-left:15px;*/
+	font-size: 10.0pt;
+ }
+.relinfo { 
+	padding-left:30px; 
+/*	color: #333333;*/
+}
+caption { 
+    font-size:10pt; 
+    font-weight: bold; 
+}
+.figcap { 
+    margin-left:24px;
+    font-size:10pt; 
+    font-weight: bold; 
+    text-align:center;
+}
+.sectiontitle { 
+	padding-left:0px;
+	/*padding-left:30px;*/ 
+}
+.linklist { 
+	padding-left:0px;
+	/*padding-left:30px;*/ 
+}
+/* ------------------------------------------------- */
+/* Link styles */
+a:link { 
+	color: #0860a8;
+	text-decoration: none;
+/*	color:#0033ff;*/
+}
+a:active { 
+	color: #0860a8;
+	text-decoration: underline;
+/*	color:#000000;	*/
+}
+a:visited { 
+	color:#0860a8;
+	text-decoration: none;
+/*	color:#9900cc;*/
+}
+a:hover { 
+	color:#000000; 
+	background-color:#ffffcc;
+}
+.familylinks { 
+     margin-top:1em; 
+ }
+a.start { 
+	font-size: 18pt;
+	text-decoration: underline;
+}
+a:active.start { 
+	color: #0860a8;
+	text-decoration: underline;
+}
+a:visited.start { 
+	color:#0860a8;
+	text-decoration: underline;
+}
+a.underlined { 
+	text-decoration: underline;
+}
+a:active.underlined { 
+	color: #0860a8;
+	text-decoration: underline;
+}
+a:visited.underlined { 
+	color:#0860a8;
+	text-decoration: underline;
+}
+/* ------------------------------------------------- */
+/* Paragraph styles */
+.shortdesc {
+	font-size: inherit;
+	/*font-size: 12pt;*/
+   /*font-style: italic;*/
+	padding-left: inherit;
+	line-height : 16pt;	
+	margin-top: 0px;	
+	margin-bottom: 0.5em;	
+}
+p { 
+	font-size: inherit;
+	margin-left:0px;  
+	/*margin-left:30px; */
+	/*line-height:120%;*/
+	line-height:150%;
+	margin-top:0; 
+	/*margin-bottom:5pt;*/
+	margin-bottom:10px;
+}
+.p { 
+	font-size:inherit; 
+	margin-left:0px; 
+	/*margin-left:30px; */
+/*	line-height:130%; */
+	line-height:170%; 
+	margin-top:0; 
+	margin-bottom:5pt;
+	padding-left:0pt; 
+}
+
+/* ------------------------------------------------- */
+/* Table styles */
+table { 
+	margin-bottom:5pt; 
+	border-collapse:collapse; 
+	margin-left:0px; 
+	/*margin-left:30px;*/  
+	margin-top:0.3em; 
+	font-size:10pt;
+}
+tr { 
+	vertical-align:top;
+}	
+th, th h3{ 
+	padding:4px; 
+	text-align:left; 
+	background-color: #555555; 
+	font-weight:bold; 
+	margin-top:0; 
+	margin-bottom:0; 
+	color: #FFFFFF; 
+	font-size:11pt;	
+}
+th { 
+	border:1px #bababa solid;
+	/*padding:0;*/
+	padding-top: 0px; 
+	padding-bottom: 0px; 
+	padding-right: 3px; 
+	padding-left: 3px; 
+}
+
+td { 
+	border: 1px #bababa solid; 
+/*	border:1px #ff9900 solid; */
+	vertical-align:top; 
+	font-size:inherit;
+	margin-bottom:0;
+}
+td, td p{ 
+	margin-top:0; 
+	margin-left:0;
+	/*padding: 5px; */
+	text-align:left; 
+	font-size:inherit; 
+	line-height: 120%;
+/*	line-height:130%;*/
+}
+td p {
+	margin-bottom:0;
+	padding-top: 5px; 
+	padding-bottom: 5px; 
+	padding-right: 5px; 
+	padding-left: 1px; 
+}
+.noborder { 
+	border:0px none;
+}
+.noborder1stcol { 
+	border:0px none;
+	padding-left: 0pt;
+}
+td ol { 
+	font-size:inherit;
+	margin-left:28px; 
+}
+td ul { 
+	font-size:inherit;
+	margin-left:24px; 
+}
+.DefListTbl {
+   width: 90%;
+	margin-left: -3pt;
+}
+.syntaxdiagramtbl {
+	 margin-left: -3pt;
+}
+.sdtbl {  
+}
+.sdrow {  
+}
+.sdtblp {  
+	border:0px none;
+	font-size:inherit;
+	line-height: 120%;
+	margin-bottom:0;
+	padding-bottom: 0px; 
+	padding-top: 5px; 
+	padding-left: 0px; 
+	padding-right: 5px; 
+	vertical-align:top; 
+}
+
+.idepara {  
+	border:0px none;
+	font-size:inherit;
+	line-height: 120%;
+	margin-bottom:0;
+	padding-bottom: 0px; 
+	padding-top: 5px; 
+	padding-left: 0px; 
+	padding-right: 5px; 
+	vertical-align:top; 
+}
+.ide_para {  
+	border:0px none;
+	font-size:inherit;
+	line-height: 120%;
+	margin-bottom:0;
+	padding-bottom: 0px; 
+	padding-top: 5px; 
+	padding-left: 0px; 
+	padding-right: 5px; 
+	vertical-align:top; 
+}
+/* ------------------------------------------------- */
+/* Note styles */
+div.Note{
+	margin-top:0px;
+	margin-left:15px;
+	margin-bottom:10px;
+	padding-left:10px;
+	padding-right:5px;
+	padding-bottom:5px;
+	
+	background-color: #E2E7EB;
+	max-width:600px;
+	box-shadow:2px 3px 3px 1px #CCCCCC;
+}
+dd div.Note {
+	margin-top:10px;
+}
+
+h3.NoteTipHead {
+	color: #0860a8;
+	padding-top: 5px;
+	text-transform: uppercase;
+}
+h3.NoteTipHead img {
+	vertical-align: middle;
+}
+P.Note { 
+	/*margin-top:0;
+	margin-left:25px;
+	margin-bottom:0pt;*/
+	margin-top:0;
+	margin-left:15px;
+	padding-left:10px;
+	padding-right:5px;
+	padding-bottom:5px;
+	margin-bottom:0pt;
+	background-color: #E2E7EB;
+	max-width:600px;	
+
+}
+
+/* ------------------------------------------------- */
+blockquote { 
+	margin-top:0; 
+	margin-bottom:0;
+}
+HR { 
+	/*color:#ff9900; */
+	color: #0860A8;
+	border:0; 
+	background:#ff9900;
+	height:1px; 
+	margin-left:0;
+}
+/* ------------------------------------------------- */
+/* List styles */
+.simple    {
+	list-style: none;
+}
+ul { 
+	/*margin-left: 24px; */
+	margin-bottom: 1em; 
+	/*padding-left:24px; */
+	font-size: inherit; 
+	line-height: 100%; 
+	/*line-height:130%;*/ 
+	list-style-image:url();
+	margin-top: 0px; 
+
+}
+ol { 
+	font-size:inherit;
+	line-height: 100%; 
+	/*line-height:130%; */
+	list-style-type:decimal;
+	/*margin-left:24px; */
+	margin-bottom:1em; 
+	margin-top:0px; 
+	/*padding-left:30px; */
+}
+ol.num { 
+	font-size:inherit; 
+	line-height: 100%; 
+	/*line-height:130%; */
+	list-style-type: decimal;
+	/*margin-left:24px; */
+	margin-bottom:1em; 
+	margin-top:0px; 
+	/*padding-left:30px; */
+}
+ol.abc { 
+	font-size:inherit; 
+	line-height: 100%; 
+	/*line-height:130%; */
+	list-style-type: lower-alpha;
+/*	list-style-type: upper-alpha;*/
+	/*margin-left:24px; */
+	margin-bottom:1em; 
+	margin-top:0px; 
+	/*padding-left:30px; */
+}
+ol.ABC { 
+	font-size:inherit; 
+	line-height: 100%; 
+	/*line-height:130%; */
+	list-style-type: upper-alpha;
+	/*margin-left:24px; */
+	margin-bottom:1em; 
+	margin-top:0px; 
+	/*padding-left:30px; */
+}
+ol.roman { 
+	font-size:inherit; 
+	line-height: 100%; 
+	/*line-height:130%; */
+	list-style-type: lower-roman;
+	/*margin-left:24px; */
+	margin-bottom:1em; 
+	margin-top:0px; 
+	/*padding-left:30px; */
+}
+ol.Roman { 
+	font-size:inherit; 
+	line-height: 100%; 
+	/*line-height:130%; */
+	list-style-type: upper-roman;
+	/*margin-left:24px; */
+	margin-bottom:1em; 
+	margin-top:0px; 
+	/*padding-left:30px; */
+}
+ol ol { 
+	/*margin-left:0px; */
+	margin-left:24px; 
+	list-style:lower-alpha; 
+	margin-bottom:0em; 
+	font-size:inherit;
+}
+ul ol { 
+	/*margin-left:0px; */
+	margin-left:24px; 
+	list-style-image:url();
+	list-style-type:decimal; 
+	margin-bottom:0em; 
+	font-size:inherit;
+}
+ul ul { 
+	font-size:inherit;
+	margin-bottom:0px; 
+	/*margin-left:0px; */
+	margin-left:18px; 
+	/*list-style-image:url(); 
+	list-style:circle;*/
+}
+/*ul li p, ol ul li p, ol ul li {
+}*/
+ul ul li p {
+	list-style: url();
+}
+
+ol ul { 
+	font-size:inherit;
+	margin-bottom:0px; 
+	margin-left:18px; 
+	/*list-style:circle; */
+}
+.dash {
+	list-style: url("../Resources/ndash.gif");
+}
+.dashpara { 
+	margin-left:10pt; 
+}
+dd ul, dd p ul { 
+	list-style: url();
+	/*margin-left: 12pt;*/
+}
+dd ul { 
+	margin-left:16px; 
+	font-size:inherit;
+}
+dd ol { 
+	margin-left:24px; 
+	font-size:inherit;
+}
+/*ul li ul li, ul li p ul li {
+	list-style-image:url("Resources/ndash.gif"); */
+	/*list-style: url();*/
+/*}*/
+/*ul li ul li p, ul li p ul li p {
+	list-style-image:url("Resources/ndash.gif"); */
+	/*list-style: url();*/
+/*}*/
+li { 
+	font-size:inherit;
+	line-height:130%; 
+	margin-top:0px; 
+}
+li p, ol p, ul p { 
+	margin-bottom:0.2em; 
+	margin-top:0.2em; 
+	margin-left:0; 
+	padding-left:0; 
+	font-size:inherit;
+}
+li table, td table, dd table { 
+	margin-left:0;
+}
+indent li p { 
+	margin-bottom:0.2em; 
+	margin-top:0.2em; 
+	margin-left:-2em;
+}
+P.Preformatted, pre {
+ 	background-color:#eeeeee;
+	font-size:inherit; 
+	font-family:"Courier New", Courier, monospace; 
+	line-height: 110%;
+	margin-bottom:0; 
+	margin-left:0px; 
+	/*margin-left:30px;*/  
+	margin-top:0; 		
+	x-text-tab-stops:repeat 1in; 
+}
+
+td P.Preformatted, pre { 
+	background-color:#eeeeee;
+	font-size:10pt; 
+	/*font-size:inherit; */
+	font-family:"Courier New", Courier, monospace; 
+	/*line-height:90%;*/ // reduced line height by 50%.
+	margin-bottom:0; 
+	margin-left:0px; // reduced the left margin for the this new pseudo-class.
+	margin-top:0; 
+	x-text-tab-stops:repeat 1in; 
+}
+
+div.nobullet { 
+	margin-left:10pt; 
+ }
+/*p.nobullet { 
+	margin-bottom:0.2em; 
+	margin-top:0.2em; 
+	padding-left:0; 
+	font-size:inherit;
+	background-color: red;
+}*/
+
+ul.ullinks { 
+	margin-left: 0px;
+	margin-bottom: 1em; 
+	/*padding-left:24px; */
+	font-size: inherit; 
+	line-height: 100%; 
+	/*line-height:130%;*/ 
+	/*list-style-image:url(); */
+	margin-top: 0px; 
+	margin-left: 16px;
+}
+/*.ulchildlink {
+	list-style: url();
+}*/
+
+*/
+/* ------------------------------------------------- */
+/* Definition list */
+dl { 
+	font-size:inherit; 
+	margin-bottom:0px; 
+	margin-left:0px;
+	margin-top:0px; 
+}	
+dt { 
+/*	font-weight:bold; */
+	margin-left:0em; 
+	margin-top:0em;
+   margin-bottom:0em; 
+   width:100px;
+}
+.dlterm { 
+	/*font-weight:bold; */
+	margin-left:0em; 
+	margin-top:0em;
+   margin-bottom:0em; 
+   width:100px; 
+}
+dd {
+	font-size:inherit; 
+	margin-left:0px; 
+   position:relative; 
+  	top:-13pt;
+   left:110px;  
+   width:70%; 
+   line-height:14pt;
+   margin-top:0em;
+   margin-bottom:-10pt;
+}
+/*.biblio {
+	color: blue;
+}*/
+dd.biblio {
+	/*color: blue;*/
+	font-size:inherit; 
+	margin-left:0px; 
+   position:relative; 
+    top:-14pt; 
+    left:140px; 
+    width:60%; 
+    line-height:14pt;
+    margin-top:0em;
+    margin-bottom:0em; 
+}
+.DefListTbl {
+   width: 90%;
+}
+table.argTbl {
+   width: 75%;
+/*	padding-left:30px; 
+	margin-left:24px; */
+}
+.dlsyntax { 
+	/*margin-left:24px;*/
+	margin-left:0px; 
+/*	margin-bottom:1em; */
+	/*padding-left:5px;*/
+	padding-left:0px;  
+/*	padding-left:30px; */
+	font-size:inherit; 
+	margin-top:-1px; 
+	line-height:150%; 
+}	
+.dtsyntax  { 
+   margin-bottom:-1.125em; 
+	margin-left:0em; 
+	margin-top:0em;
+   width:100px; }
+.ddsyntax  { 
+	 font-size:inherit; 
+ 	 margin-left:0px; 
+    position:relative; 
+    top:-4pt; 
+    left:110px; 
+    width:70%; 
+    line-height:14pt;
+    margin-bottom:-1em; 
+}
+.dlsyntaxpara {
+/*	margin-left:24px; */
+	margin-left:0px;
+	margin-bottom:1em; 
+	/*padding-left:30px; */
+	font-size:inherit; 
+	/*margin-top:-1px; */
+	/*margin-top:1em; */
+	line-height:150%; 
+}
+.syntaxnote { 
+	margin-left:0px; 
+	/*margin-left:30px;*/  
+	/*margin-bottom:1em; */
+	padding-left:0px; 
+	font-size:inherit; 
+	margin-top:-5px; 
+	line-height:150%; 
+ }
+.syntaxnote-orig { 
+	margin-left:135px; 
+	margin-bottom:1em; 
+	padding-left:30px; 
+	font-size:inherit; 
+	margin-top:-1px; 
+	line-height:150%; 
+ }
+/* "dl" style for ""ReturnValues" */
+.dlretval { 
+	margin-left:24px; 
+	margin-bottom:2em; 
+	padding-left:30px; 
+	font-size:inherit;
+	margin-top:-1px; 
+	line-height:150%; 
+   width: 90%;
+}	
+/* "dt" style for ""ReturnValues" */
+.dtretval  { 
+    margin-left:0em; 
+    margin-top:0em;
+    margin-bottom:-1.25em; 
+    width:400px; 
+}
+/* "dd" style for ""ReturnValues" */
+.ddretval  { 
+    /*color: blue;*/
+	 font-size:inherit; 
+ 	 margin-left:0px; 
+    position:relative; 
+    top:-4pt; 
+    left:300px; 
+/*    width:60%;*/ 
+/*    line-height:14pt;*/
+    margin-bottom:0;
+/*    margin-bottom:-1em;*/
+}
+dd p {
+	margin-bottom:0em; 
+	margin-top:0em; 
+	margin-left:0; 
+	padding-left:0; 
+	font-size:inherit;
+}
+dd dl { 
+	margin-left:0px;
+}
+/* ------------------------------------------------- */
+/* Inline Styles */
+SPAN.Big { 
+	font-weight:bold; 
+	font-size:105%;
+}
+SPAN.Code, .Code { 
+    font-family:"Courier New", Courier, monospace;
+}
+.code { 
+        background-color: #F5F5F5; 
+        font-family: "Courier New" , Courier, monospace;
+        font-size: 10pt; 
+        line-height: 118%; 
+        margin-top:0.0em; 
+        margin-bottom:0.0em;
+        /*padding-left:30px; */
+        padding-left:0px; 
+        white-space: pre;
+}
+code { 
+       background-color: #F5F5F5; 
+       font-family:"Courier New" , Courier, monospace;
+       font-size: 10pt; 
+       line-height: 118%; 
+       margin-top:0.0em; 
+       margin-bottom:0.0em;
+       /*padding-left:30px; */
+       padding-left:0px; 
+       white-space: pre;
+}
+strong { 
+    font-size: inherit; 
+ }
+sup, sub { vertical-align: 0;
+           position: relative; }
+
+sub{
+  top: 0.8ex;
+}
+sup{
+    bottom: 1ex;
+}
+/*sub {
+    font-family:Arial, Symbol, monospace;
+	 font-size: 80%;
+    vertical-align: bottom;
+ }
+sup {
+    font-family:Arial, Symbol, monospace;
+	 font-size: 80%;
+    vertical-align: top;
+ }*/
+tt { 
+    font-family: "Courier New" , Courier, monospace;  
+}
+.b {
+    font-weight: bold; 
+}
+.boldspan {
+    font-weight: bold; 
+}
+.bgcolorgray { 
+    background-color:#999999;
+ }
+.bi {
+    font-style: italic;
+    font-weight: bold; 
+}
+.bt {
+    font-family:times;  
+    font-weight: bold; 
+}
+.codeph { 
+    font-family:"Courier New" , Courier, monospace;  
+}
+.delim { 
+    font-family:"Courier New" , Courier, monospace;  
+}
+.eq { 
+    margin-bottom:1em; 
+	/*margin-left:30px; */
+ }
+.eqsymbol { 
+    /*font-family:"Courier New" , Courier, monospace;  */
+    /*font-family:Tahoma, sans-serif;*/
+    font-family:'Times New Roman', sans-serif;
+    font-size: 12pt;
+}
+
+ }
+.imagecenter {
+    text-align: center; 
+}
+.tfootnote {
+    font-size:8pt; 
+}
+.italic {
+    font-style: italic;
+}
+.keyword { 
+    font-family:"Courier New" , Courier, monospace;  
+    font-weight: normal; 
+}
+.keywordb { 
+    font-family:"Courier New" , Courier, monospace;  
+    font-weight: bold; 
+}
+.keywordtt { 
+    font-family:"Courier New" , Courier, monospace;  
+    font-weight: normal; 
+}
+.keywordbt { 
+    font-family:"Courier New" , Courier, monospace;  
+    font-weight: bold; 
+}
+.keywordit { 
+    font-family:"Courier New" , Courier, monospace;  
+    font-style: italic;
+    font-weight: inherit; 
+}
+.keywordbi { 
+    font-family:"Courier New" , Courier, monospace;  
+    font-weight: bold; 
+    font-style: italic;
+}
+.keywordn { 
+    font-family:"Courier New" , Courier, monospace;  
+    font-style: normal;
+    font-weight: normal; 
+}
+h1 .keyword, h2 .keyword, h3 .keyword { 
+    font-family:"Courier New" , Courier, monospace;  
+    font-weight: bold; 
+}
+.kwd { 
+    font-family:"Courier New" , Courier, monospace;  
+}
+.option { 
+    font-family:"Courier New" , Courier, monospace;  
+}
+.optionb { 
+    font-family:"Courier New" , Courier, monospace;  
+    font-weight: bold; 
+}
+.optiontt { 
+    font-family:"Courier New" , Courier, monospace;  
+    font-weight: normal; 
+}
+.optionbt { 
+    font-family:"Courier New" , Courier, monospace;  
+    font-weight: bold; 
+}
+.optionit { 
+    font-family:"Courier New" , Courier, monospace;  
+    font-style: italic;
+    font-weight: inherit; 
+}
+.optionbi { 
+    font-family:"Courier New" , Courier, monospace;  
+    font-weight: bold; 
+    font-style: italic;
+}
+.optionn { 
+    font-family:"Courier New" , Courier, monospace;  
+    font-style: normal;
+    font-weight: normal; 
+}
+.oper { 
+    font-family:"Courier New" , Courier, monospace;  
+}
+.parmname {
+    font-style: italic;
+    font-family:"Courier New" , Courier, monospace;  
+	font-weight: normal;
+}
+.parmnameb { 
+    font-family:"Courier New" , Courier, monospace;  
+	font-style: italic;
+    font-weight: bold; 
+}
+.parmnamett { 
+    font-family:"Courier New" , Courier, monospace;  
+	font-style: normal;
+    font-weight: normal; 
+}
+.parmnamebt { 
+    font-family:"Courier New" , Courier, monospace;  
+	font-style: normal;
+    font-weight: bold; 
+}
+.parmnamen { 
+    font-family:"Courier New" , Courier, monospace;  
+    font-style: normal;
+    font-weight: normal; 
+}
+.sep { 
+    font-family:"Courier New" , Courier, monospace;  
+}
+.tenpt { 
+    font-size:8pt; 
+ }
+.tt { 
+    font-family:"Courier New" , Courier, monospace;  
+}
+.var {
+    font-style: italic;
+    font-family:"Courier New" , Courier, monospace;  
+}
+.equation { 
+    font-style: italic;
+    font-family:"Times New Roman" , monospace;  
+}
+.varname {
+    font-style: italic;
+    font-family:"Courier New" , monospace;  
+}
+.varnameb { 
+    font-family:"Courier New" , monospace;  
+    font-style: italic;
+    font-weight: bold; 
+}
+.varnamebo { 
+    font-family:"Courier New" , monospace;  
+    font-style: italic;
+    font-weight: bold; 
+	text-decoration: overline
+}
+.varnamebt { 
+    font-family:"Courier New" , monospace;  
+    font-style: normal;
+    font-weight: bold; 
+}
+.varnamebu { 
+    font-family:"Courier New" , monospace;  
+    font-style: italic;
+    font-weight: bold; 
+	text-decoration: underline
+}
+.varnamett { 
+    font-family:"Courier New" , monospace;  
+    font-style: normal;
+    font-weight: normal; 
+}
+
+.varnamen { 
+    font-family:"Courier New" , monospace;  
+    font-style: normal;
+    font-weight: normal; 
+}
+.overline { 
+	text-decoration: overline
+}
+.underline { 
+	text-decoration: underline
+}
+.filepath {
+    font-style: normal; /* MKL */
+    /* font-style: italic;*/ /* Compiler */
+    font-family:"Courier New" , Courier, monospace;  
+}
+
+/*.uicontrol {
+    font-style: italic;
+    font-family:"Courier New" , Courier, monospace;  
+}*/
+/*.Fortran95 {*/
+.NonStdFortran {
+   /*color: teal;*/
+   /*color: #007783;*/
+   color: green;
+}
+
+.h3titleblue {
+	color: #0860a8;
+   font-weight: lighter;
+	margin-top: 5pt;
+	margin-bottom: 0;
+   font-size: 13pt;
+}
+
+.Context_StepsIntro {
+   font-weight: bold;
+}
+
+.docfeedback {
+	margin-top: 15px;
+	margin-left: 0pt;
+	margin-bottom: 0px;
+	border-top: 1px solid #cccccc;
+	font-weight: bold;
+}
+
+.noBgrnd {
+	background-image: none;
+}
+.dropPara {
+	float: left;
+}
+
+
+.RevUpdate {
+   /*color: red; */
+   background-color: #FFFF99;
+   font-weight: normal;
+   line-height:120%;
+}
\ No newline at end of file
diff --git a/doc/help/main/Benefits.htm b/doc/help/main/Benefits.htm
new file mode 100755
index 0000000..942c65a
--- /dev/null
+++ b/doc/help/main/Benefits.htm
@@ -0,0 +1,164 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="Intel® Threading Building Blocks Benefits">
+<meta name="DC.subject" content="Benefits">
+<meta name="keywords" content="Benefits">
+<meta name="DC.Relation" scheme="URI" content="../main/title.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="tutorial_Benefits">
+<link rel="stylesheet" type="text/css" href="../intel_css_styles.css">
+<title>Intel® Threading Building Blocks Benefits</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="tutorial_Benefits">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(1);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="tutorial_Benefits"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Intel® Threading Building Blocks Benefits</h1>
+ 
+   
+  <div> 
+	 <p> Intel® Threading Building Blocks (Intel® TBB) is a library that helps
+		you leverage multi-core performance without having to be a threading expert.
+		Typically you can improve performance for multi-core processors by implementing
+		the key points explained in the early sections of the User Guide. As your
+		expertise grows, you may want to dive into more complex subjects that are
+		covered in advanced sections. 
+	 </p>
+ 
+	 <p>There are a variety of approaches to parallel programming, ranging from
+		using platform-dependent threading primitives to exotic new languages. The
+		advantage of Intel® Threading Building Blocks is that it works at a higher
+		level than raw threads, yet does not require exotic languages or compilers. You
+		can use it with any compiler supporting ISO C++. The library differs from
+		typical threading packages in the following ways: 
+	 </p>
+ 
+	 <ul type="disc"> 
+		<li> 
+		  <p><strong>Intel® Threading Building Blocks enables you to specify 
+				<em>logical paralleism</em> instead of threads</strong>. Most threading
+			 packages require you to specify threads. Programming directly in terms of
+			 threads can be tedious and lead to inefficient programs, because threads are
+			 low-level, heavy constructs that are close to the hardware. Direct programming
+			 with threads forces you to efficiently map logical tasks onto threads. In
+			 contrast, the Intel® Threading Building Blocks run-time library automatically
+			 maps logical parallelism onto threads in a way that makes efficient use of
+			 processor resources. 
+		  </p>
+ 
+		</li>
+ 
+		<li> 
+		  <p><strong>Intel® Threading Building Blocks targets 
+				<em>threading for performance</em></strong>. Most general-purpose
+			 threading packages support many different kinds of threading, such as threading
+			 for asynchronous events in graphical user interfaces. As a result,
+			 general-purpose packages tend to be low-level tools that provide a foundation,
+			 not a solution. Instead, Intel® Threading Building Blocks focuses on the
+			 particular goal of parallelizing computationally intensive work, delivering
+			 higher-level, simpler solutions. 
+		  </p>
+ 
+		</li>
+ 
+		<li> 
+		  <p><strong>Intel® Threading Building Blocks is 
+				<em>compatible</em> with other threading packages.</strong> Because the
+			 library is not designed to address all threading problems, it can coexist
+			 seamlessly with other threading packages. 
+		  </p>
+ 
+		</li>
+ 
+		<li> 
+		  <p><strong>Intel® Threading Building Blocks emphasizes 
+				<em>scalable, data parallel programming</em></strong>. Breaking a program
+			 up into separate functional blocks, and assigning a separate thread to each
+			 block is a solution that typically does not scale well since typically the
+			 number of functional blocks is fixed. In contrast, Intel® Threading Building
+			 Blocks emphasizes 
+			 <em>data-parallel</em> programming, enabling multiple threads to work
+			 on different parts of a collection. Data-parallel programming scales well to
+			 larger numbers of processors by dividing the collection into smaller pieces.
+			 With data-parallel programming, program performance increases as you add
+			 processors. 
+		  </p>
+ 
+		</li>
+ 
+		<li> 
+		  <p><strong>Intel® Threading Building Blocks relies on 
+				<em>generic programming</em></strong>. Traditional libraries specify
+			 interfaces in terms of specific types or base classes. Instead, Intel®
+			 Threading Building Blocks uses generic programming. The essence of generic
+			 programming is writing the best possible algorithms with the fewest
+			 constraints. The C++ Standard Template Library (STL) is a good example of
+			 generic programming in which the interfaces are specified by 
+			 <em>requirements</em> on types. For example, C++ STL has a template
+			 function 
+			 <samp class="codeph">sort</samp> that sorts a sequence abstractly defined in
+			 terms of iterators on the sequence. The requirements on the iterators are: 
+		  </p>
+ 
+		  <ul type="disc"> 
+			 <li> 
+				<p>Provide random access 
+				</p>
+ 
+			 </li>
+ 
+			 <li> 
+				<p>The expression 
+				  <samp class="codeph">*i<*j</samp> is true if the item pointed to by
+				  iterator 
+				  <samp class="codeph">i</samp> should precede the item pointed to by iterator
+				  
+				  <samp class="codeph">j</samp>, and false otherwise. 
+				</p>
+ 
+			 </li>
+ 
+			 <li> 
+				<p>The expression 
+				  <samp class="codeph">swap(*i,*j)</samp> swaps two elements. 
+				</p>
+ 
+			 </li>
+ 
+		  </ul>
+ 
+		</li>
+ 
+	 </ul>
+ 
+	 <p>Specification in terms of requirements on types enables the template to
+		sort many different representations of sequences, such as vectors and deques.
+		Similarly, the Intel® Threading Building Blocks templates specify requirements
+		on types, not particular types, and thus adapt to different data
+		representations. Generic programming enables Intel® Threading Building Blocks
+		to deliver high performance algorithms with broad applicability. 
+	 </p>
+ 
+  </div>
+ 
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../main/title.htm">Intel® Threading Building Blocks Documentation</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/main/Resources/back.GIF b/doc/help/main/Resources/back.GIF
new file mode 100755
index 0000000..787eb7d
Binary files /dev/null and b/doc/help/main/Resources/back.GIF differ
diff --git a/doc/help/main/Resources/forward.GIF b/doc/help/main/Resources/forward.GIF
new file mode 100755
index 0000000..19cb7fb
Binary files /dev/null and b/doc/help/main/Resources/forward.GIF differ
diff --git a/doc/help/main/Resources/hpc_header.jpg b/doc/help/main/Resources/hpc_header.jpg
new file mode 100755
index 0000000..6d6a53a
Binary files /dev/null and b/doc/help/main/Resources/hpc_header.jpg differ
diff --git a/doc/help/main/Resources/sync.GIF b/doc/help/main/Resources/sync.GIF
new file mode 100755
index 0000000..da29078
Binary files /dev/null and b/doc/help/main/Resources/sync.GIF differ
diff --git a/doc/help/main/help_support.htm b/doc/help/main/help_support.htm
new file mode 100755
index 0000000..7df0db3
--- /dev/null
+++ b/doc/help/main/help_support.htm
@@ -0,0 +1,161 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="Getting Help and Support">
+<meta name="DC.subject" content="Support, Help">
+<meta name="keywords" content="Support, Help">
+<meta name="DC.Relation" scheme="URI" content="../main/title.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="notation">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../intel_css_styles.css">
+<title>Getting Help and Support</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="notation">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(1);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="notation"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Getting Help and Support</h1>
+ 
+   
+  <div> 
+	 <p>The online version of the Intel® Threading Building
+		Blocks (Intel® TBB) documentation integrates into the Microsoft Visual Studio*
+		IDE help system. 
+	 </p>
+ 
+	 <div class="section"><h2 class="sectiontitle">Getting Help</h2> 
+		 
+		<p>In the Visual Studio IDE, you can browse and search for topics in
+		  different ways: 
+		</p>
+ 
+		<ul type="disc"> 
+		  <li>Use 
+			 <b class="uicontrol">Help > Contents</b> to browse through topics by
+			 functional domains. 
+		  </li>
+ 
+		  <li>Use 
+			 <b class="uicontrol">Help > Index</b> to access an index to all
+			 topics. Either type the word you are looking for or scroll through the list. 
+		  </li>
+ 
+		  <li>Click 
+			 <b class="uicontrol">Help > Search</b> to perform a full text
+			 search. 
+		  </li>
+ 
+		</ul>
+ 
+		<p>To navigate between topics, use the navigation buttons available in
+		  the Document Explorer toolbar or from the topic pop-up menu: 
+		</p>
+ 
+		<p> 
+		<ul type="disc"> 
+		  <li>Click the Back 
+			 <img height="23" width="21" src="Resources/back.GIF"> button to return to the
+			 previously viewed topic. 
+		  </li>
+ 
+		  <li>Click the Forward 
+			 <img height="23" width="21" src="Resources/forward.GIF"> button to go to the following topic. 
+		  </li>
+ 
+		</ul>
+ 
+		</p>
+ 
+		<p><strong>Accessing Help in Visual Studio* 2010 IDE</strong> 
+		</p>
+ 
+		<p>To access the Intel TBB documentation in Visual Studio* 2010 IDE: 
+		</p>
+ 
+		<p> 
+		<ol> 
+		  <li>Configure the IDE to use local help (once). To do this, go to 
+			 <strong>Help > Manage Help Settings</strong> and check 
+			 <strong>I want to use online help</strong>. 
+		  </li>
+ 
+		  <li>Use the 
+			 <strong>Help > View Help</strong> menu item to view a list of available help
+			 collections and open the Intel TBB documentation. 
+		  </li>
+ 
+		</ol>
+ 
+		</p>
+ 
+		<p><strong>Using Intel Search Filters</strong> 
+		</p>
+ 
+		<p>With Visual Studio* 2008, you can include Intel documentation in all
+		  search results by checking the 'Intel' search filter box for the 
+		  <strong>Language</strong>, 
+		  <strong>Technology</strong>, and 
+		  <strong>Content Type</strong> categories. You must check the Intel search box for
+		  all three categories to include Intel documentation in your searches.
+		  Unchecking all three Intel search boxes excludes Intel documentation from
+		  search results. The Intel search filters work in combination with other search
+		  options for each category. 
+		</p>
+ 
+		<p><strong>Locating Intel Topics</strong> 
+		</p>
+ 
+		<p>To display Intel documentation in Visual Studio 2008, select 
+		  <strong>Contents</strong> from the Visual Studio 
+		  <strong>Help</strong> menu. Then, select 
+		  <strong>Intel</strong> in the choices under 
+		  <strong>Filtered by</strong>. In navigating the Intel documentation, you may want
+		  to know where the topic you are reading is located in the table of contents
+		  (TOC). Click the Sync with Table of Contents 
+		  <img height="22" width="24" src="Resources/sync.GIF"> button on the Visual Studio toolbar to find where the
+		  topic is located in the TOC. You can also use Sync with Table of Contents with
+		  Intel topics in search results or with the context-sensitive help topics to
+		  locate them in the Intel documentation TOC. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Getting Technical Support</h2> 
+		 
+		<p>If you did not register your Intel® software product during
+		  installation, please do so now at the Intel® Software Development Products
+		  Registration Center. Registration entitles you to free technical support,
+		  product updates and upgrades for the duration of the support term. 
+		</p>
+ 
+		<p>For general information about Intel technical support, product
+		  updates, user forums, FAQs, tips and tricks and other support questions, go to:
+		  
+		  <a href="http://www.intel.com/software/products/support/" target="_blank">http://www.intel.com/software/products/support/</a>. 
+		</p>
+ 
+	 </div>
+ 
+  </div>
+ 
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../main/title.htm">Intel® Threading Building Blocks Documentation</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/main/introducing.htm b/doc/help/main/introducing.htm
new file mode 100755
index 0000000..36a0f42
--- /dev/null
+++ b/doc/help/main/introducing.htm
@@ -0,0 +1,107 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="Introducing Intel® Threading Building Blocks">
+<meta name="DC.subject" content="Intel® Thread Building Blocks, Overview">
+<meta name="keywords" content="Intel® Thread Building Blocks, Overview">
+<meta name="DC.Relation" scheme="URI" content="../main/title.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="introducing">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../intel_css_styles.css">
+<title>Introducing Intel® Threading Building Blocks</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="introducing">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(1);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="introducing"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Introducing Intel® Threading Building Blocks</h1>
+ 
+   
+  <div> 
+	 <p>Intel® Threading Building Blocks (Intel® TBB) is a
+		library that supports scalable parallel programming using standard ISO C++
+		code. It does not require special languages or compilers. It is designed to
+		promote scalable data parallel programming. Additionally, it fully supports
+		nested parallelism, so you can build larger parallel components from smaller
+		parallel components. To use the library, you specify tasks, not threads, and
+		let the library map tasks onto threads in an efficient manner. 
+	 </p>
+ 
+	 <p>Many of the library interfaces employ generic
+		programming, in which interfaces are defined by requirements on types and not
+		specific types. The C++ Standard Template Library (STL) is an example of
+		generic programming. Generic programming enables Intel® TBB to be flexible yet
+		efficient. The generic interfaces enable you to customize components to your
+		specific needs. 
+	 </p>
+ 
+	 <p>The net result is that Intel® TBB enables you to
+		specify parallelism far more conveniently than using raw threads, and at the
+		same time can improve performance. 
+	 </p>
+ 
+	 <p> 
+	 
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"> 
+		   
+		  <thead align="left">
+			 <tr>
+				<th class="cellrowborder" align="left" valign="top" width="100%" id="d608e50">
+				  <p>Optimization Notice
+				  </p>
+
+				</th>
+
+			 </tr>
+</thead>
+ 
+		  <tbody> 
+			 <tr> 
+				<td class="bgcolor(#ccecff)" bgcolor="#ccecff" valign="top" width="100%" headers="d608e50 ">
+				  Intel's compilers may or may not optimize to the same degree for non-Intel
+				  microprocessors for optimizations that are not unique to Intel microprocessors.
+				  These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other
+				  optimizations. Intel does not guarantee the availability, functionality, or
+				  effectiveness of any optimization on microprocessors not manufactured by Intel.
+				  Microprocessor-dependent optimizations in this product are intended for use
+				  with Intel microprocessors. Certain optimizations not specific to Intel
+				  microarchitecture are reserved for Intel microprocessors. Please refer to the
+				  applicable product User and Reference Guides for more information regarding the
+				  specific instruction sets covered by this notice. 
+				  <p>Notice revision #20110804 
+				  </p>
+
+				</td>
+ 
+			 </tr>
+ 
+		  </tbody>
+ 
+		</table>
+</div>
+ 
+	 </p>
+ 
+  </div>
+ 
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../main/title.htm">Intel® Threading Building Blocks Documentation</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/main/legal_information.htm b/doc/help/main/legal_information.htm
new file mode 100755
index 0000000..86ba08b
--- /dev/null
+++ b/doc/help/main/legal_information.htm
@@ -0,0 +1,107 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="Legal Information">
+<meta name="DC.Relation" scheme="URI" content="../main/title.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="legal_information">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../intel_css_styles.css">
+<title>Legal Information</title>
+</head>
+<body id="legal_information">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(1);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="legal_information"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Legal Information</h1>
+ 
+  <div> 
+	 <p> INFORMATION IN THIS DOCUMENT IS PROVIDED IN
+		CONNECTION WITH INTEL® PRODUCTS. NO LICENSE, EXPRESS OR IMPLIED, BY ESTOPPEL
+		OR OTHERWISE, TO ANY INTELLECTUAL PROPERTY RIGHTS IS GRANTED BY THIS DOCUMENT.
+		EXCEPT AS PROVIDED IN INTEL'S TERMS AND CONDITIONS OF SALE FOR SUCH PRODUCTS,
+		INTEL ASSUMES NO LIABILITY WHATSOEVER, AND INTEL DISCLAIMS ANY EXPRESS OR
+		IMPLIED WARRANTY, RELATING TO SALE AND/OR USE OF INTEL PRODUCTS INCLUDING
+		LIABILITY OR WARRANTIES RELATING TO FITNESS FOR A PARTICULAR PURPOSE,
+		MERCHANTABILITY, OR INFRINGEMENT OF ANY PATENT, COPYRIGHT OR OTHER INTELLECTUAL
+		PROPERTY RIGHT. 
+	 </p>
+ 
+	 <p> A "Mission Critical Application" is any application
+		in which failure of the Intel Product could result, directly or indirectly, in
+		personal injury or death. SHOULD YOU PURCHASE OR USE INTEL'S PRODUCTS FOR ANY
+		SUCH MISSION CRITICAL APPLICATION, YOU SHALL INDEMNIFY AND HOLD INTEL AND ITS
+		SUBSIDIARIES, SUBCONTRACTORS AND AFFILIATES, AND THE DIRECTORS, OFFICERS, AND
+		EMPLOYEES OF EACH, HARMLESS AGAINST ALL CLAIMS COSTS, DAMAGES, AND EXPENSES AND
+		REASONABLE ATTORNEYS' FEES ARISING OUT OF, DIRECTLY OR INDIRECTLY, ANY CLAIM OF
+		PRODUCT LIABILITY, PERSONAL INJURY, OR DEATH ARISING IN ANY WAY OUT OF SUCH
+		MISSION CRITICAL APPLICATION, WHETHER OR NOT INTEL OR ITS SUBCONTRACTOR WAS
+		NEGLIGENT IN THE DESIGN, MANUFACTURE, OR WARNING OF THE INTEL PRODUCT OR ANY OF
+		ITS PARTS. 
+	 </p>
+ 
+	 <p> Intel may make changes to specifications and product
+		descriptions at any time, without notice. Designers must not rely on the
+		absence or characteristics of any features or instructions marked "reserved" or
+		"undefined." Intel reserves these for future definition and shall have no
+		responsibility whatsoever for conflicts or incompatibilities arising from
+		future changes to them. The information here is subject to change without
+		notice. Do not finalize a design with this information. 
+	 </p>
+ 
+	 <p> The products described in this document may contain
+		design defects or errors known as errata which may cause the product to deviate
+		from published specifications. Current characterized errata are available on
+		request. 
+	 </p>
+ 
+	 <p>Contact your local Intel sales office or your
+		distributor to obtain the latest specifications and before placing your product
+		order. 
+	 </p>
+ 
+	 <p>Copies of documents which have an order number and
+		are referenced in this document, or other Intel literature, may be obtained by
+		calling 1-800-548-4725, or go to: http://www.intel.com/design/literature.htm. 
+	 </p>
+ 
+	 <p> BlueMoon, BunnyPeople, Celeron, Celeron Inside,
+		Centrino, Centrino Inside, Cilk, Core Inside, E-GOLD, Flexpipe, i960, Intel,
+		the Intel logo, Intel AppUp, Intel Atom, Intel Atom Inside, Intel CoFluent,
+		Intel Core, Intel Inside, Intel Insider, the Intel Inside logo, Intel NetBurst,
+		Intel NetMerge, Intel NetStructure, Intel SingleDriver, Intel SpeedStep, Intel
+		Sponsors of Tomorrow., the Intel Sponsors of Tomorrow. logo, Intel StrataFlash,
+		Intel vPro, Intel Xeon Phi, Intel XScale, InTru, the InTru logo, the InTru
+		Inside logo, InTru soundmark, Itanium, Itanium Inside, MCS, MMX, Pentium,
+		Pentium Inside, Puma, skoool, the skoool logo, SMARTi, Sound Mark, Stay With
+		It, The Creators Project, The Journey Inside, Thunderbolt, Ultrabook, vPro
+		Inside, VTune, Xeon, Xeon Inside, X-GOLD, XMM, X-PMU and XPOSYS are trademarks
+		of Intel Corporation in the U.S. and/or other countries. 
+	 </p>
+ 
+	 <p>* Other names and brands may be claimed as the
+		property of others. 
+	 </p>
+ 
+	 <p>Microsoft, Windows, and the Windows logo are trademarks, or registered
+		trademarks of Microsoft Corporation in the United States and/or other
+		countries. 
+	 </p>
+ 
+	 <p>Copyright © 2005 - 2014, Intel Corporation. All
+		rights reserved. 
+	 </p>
+ 
+  </div>
+ 
+
+
+</body>
+</html>
diff --git a/doc/help/main/notation.htm b/doc/help/main/notation.htm
new file mode 100755
index 0000000..6e1df44
--- /dev/null
+++ b/doc/help/main/notation.htm
@@ -0,0 +1,397 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="Notational Conventions">
+<meta name="DC.subject" content="Notation">
+<meta name="keywords" content="Notation">
+<meta name="DC.Relation" scheme="URI" content="../main/title.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="notation">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../intel_css_styles.css">
+<title>Notational Conventions</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="notation">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(1);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="notation"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Notational Conventions</h1>
+ 
+   
+  <div> 
+	 <p>The following conventions may be used in this
+		document. 
+	 </p>
+ 
+	 
+<div class="tablenoborder"><a name="GUID-0641CB7E-7712-4703-B217-383F9F40A04C"><!-- --></a><table cellpadding="4" summary="" id="GUID-0641CB7E-7712-4703-B217-383F9F40A04C" width="100%" frame="border" border="1" cellspacing="0" rules="all"> 
+		  <thead align="left"> 
+			 <tr> 
+				<th class="cellrowborder" valign="top" width="18.281535648994517%" id="d819e41"> 
+				  <p>Convention 
+				  </p>
+ 
+				</th>
+ 
+				<th class="cellrowborder" valign="top" width="36.74588665447898%" id="d819e47"> 
+				  <p>Explanation 
+				  </p>
+ 
+				</th>
+ 
+				<th class="cellrowborder" valign="top" width="44.972577696526514%" id="d819e53"> 
+				  <p>Example 
+				  </p>
+ 
+				</th>
+ 
+			 </tr>
+</thead>
+ 
+		  <tbody> 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="18.281535648994517%" headers="d819e41 "> 
+				  <p><em>Italic</em> 
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="36.74588665447898%" headers="d819e47 "> 
+				  <p>Used for introducing new terms, denotation
+					 of terms, placeholders, or titles of manuals. 
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="44.972577696526514%" headers="d819e53 "> 
+				  <p>The filename consists of the 
+					 <em>basename</em> and the 
+					 <br><em>extension</em>. 
+				  </p>
+ 
+				  <p>For more information, refer to the 
+					 <em>Intel® Linker Manual</em>. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="18.281535648994517%" headers="d819e41 "> 
+				  <p><samp class="codeph">Monospace 
+					 </samp> 
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="36.74588665447898%" headers="d819e47 "> 
+				  <p>Indicates directory paths and filenames,
+					 commands and command line 
+				  </p>
+ 
+				  <p>options, function names, methods, classes,
+					 data structures in body text, source code. 
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="44.972577696526514%" headers="d819e53 "> 
+				  <p><samp class="codeph">ippsapi.h 
+					 </samp> 
+				  </p>
+ 
+				  <p><samp class="codeph">\alt\include 
+					 </samp> 
+				  </p>
+ 
+				  <p>Use the 
+				  <span class="option">okCreateObjs()</span> function to... 
+				  </p>
+ 
+				  <p><samp class="codeph">printf("hello, world\n"); 
+					 </samp> 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="18.281535648994517%" headers="d819e41 "> 
+				  <p><samp class="codeph">Monospace 
+						<em>italic</em></samp> 
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="36.74588665447898%" headers="d819e47 "> 
+				  <p>Indicates source code placeholders. 
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="44.972577696526514%" headers="d819e53 "> 
+				  <p>blocked_range<<em>Type</em>> 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="18.281535648994517%" headers="d819e41 "> 
+				  <p><samp class="codeph">Monospace 
+						<strong>bold</strong> 
+					 </samp> 
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="36.74588665447898%" headers="d819e47 "> 
+				  <p>Emphasizes parts of source code. 
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="44.972577696526514%" headers="d819e53 "> 
+				  <p><samp class="codeph">x = ( h > 0 ? 
+						<strong>sizeof(m)</strong> : 0xF ) + min; 
+					 </samp> 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="18.281535648994517%" headers="d819e41 "> 
+				  <p>[ ] 
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="36.74588665447898%" headers="d819e47 "> 
+				  <p>Items enclosed in brackets are optional. 
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="44.972577696526514%" headers="d819e53 "> 
+				  <p>Fa[c] 
+				  </p>
+ 
+				  <p>Indicates 
+				  <span class="option">Fa</span> or 
+				  <span class="option">Fac</span>. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="18.281535648994517%" headers="d819e41 "> 
+				  <p>{ | } 
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="36.74588665447898%" headers="d819e47 "> 
+				  <p>Braces and vertical bars indicate the
+					 choice of one item from a selection of two or more items. 
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="44.972577696526514%" headers="d819e53 "> 
+				  <p>X{K | W | P} 
+				  </p>
+ 
+				  <p>Indicates 
+				  <span class="option">XK</span>, 
+				  <span class="option">XW</span>, or 
+				  <span class="option">XP</span>. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="18.281535648994517%" headers="d819e41 "> 
+				  <p>"[" "]" "{"<br>" }" "|" 
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="36.74588665447898%" headers="d819e47 "> 
+				  <p>Writing a metacharacter in quotation marks
+					 negates the syntactical meaning stated above; 
+					 <br>the character is
+					 taken as a literal. 
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="44.972577696526514%" headers="d819e53 "> 
+				  <p>"[" X "]" [ Y ] 
+				  </p>
+ 
+				  <p>Denotes the letter X enclosed in brackets,
+					 optionally followed by the letter Y. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="18.281535648994517%" headers="d819e41 "> 
+				  <p>... 
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="36.74588665447898%" headers="d819e47 "> 
+				  <p>The ellipsis indicates that the previous
+					 item can be repeated several times. 
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="44.972577696526514%" headers="d819e53 "> 
+				  <p><var>filename</var> ... 
+				  </p>
+ 
+				  <p>Indicates that one or more filenames can be
+					 specified. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="18.281535648994517%" headers="d819e41 "> 
+				  <p>,... 
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="36.74588665447898%" headers="d819e47 "> 
+				  <p>The ellipsis preceded by a comma indicates
+					 that the previous item can be repeated several times, 
+					 <br>separated by
+					 commas. 
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="44.972577696526514%" headers="d819e53 "> 
+				  <p><var>word</var> ,... 
+				  </p>
+ 
+				  <p>Indicates that one or more words can be
+					 specified. If more than one word is specified, the words are comma-separated. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+		  </tbody>
+ 
+		</table>
+</div>
+ 
+	 <div class="section"> 
+		<p>Class members are summarized by informal class
+		  declarations that describe the class as it seems to clients, not how it is
+		  actually implemented. For example, here is an informal declaration of class 
+		  <samp class="codeph">Foo</samp>: 
+		</p>
+ 
+		<pre>class Foo {
+public:
+	int x();
+	int y;
+	~Foo();
+};
+</pre> 
+		<p>The actual implementation might look like: 
+		</p>
+ 
+		<pre>namespace internal {
+	class FooBase  {
+	protected:
+		int x();
+	};
+
+	class Foo_v3: protected FooBase {
+	private:
+		int internal_stuff;
+	public:
+		using FooBase::x;
+		int y;
+	};
+}
+
+typedef internal::Foo_v3 Foo;</pre> 
+		<p>The example shows two cases where the actual
+		  implementation departs from the informal declaration: 
+		</p>
+ 
+		<ul type="disc"> 
+		  <li> 
+			 <p><samp class="codeph">Foo</samp> is actually a typedef to 
+				<samp class="codeph">Foo_v3</samp>. 
+			 </p>
+ 
+		  </li>
+ 
+		  <li> 
+			 <p>Method 
+				<samp class="codeph">x()</samp> is inherited from a protected base class. 
+			 </p>
+ 
+		  </li>
+ 
+		  <li> 
+			 <p>The destructor is an implicit method generated
+				by the compiler. 
+			 </p>
+ 
+		  </li>
+ 
+		</ul>
+ 
+		<p>The informal declarations are intended to show you
+		  what you need to know to use the class without the distraction of irrelevant
+		  clutter particular to the implementation. 
+		</p>
+ 
+	 </div>
+ 
+  </div>
+ 
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../main/title.htm">Intel® Threading Building Blocks Documentation</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/main/title.htm b/doc/help/main/title.htm
new file mode 100755
index 0000000..fbbf300
--- /dev/null
+++ b/doc/help/main/title.htm
@@ -0,0 +1,51 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="Intel® Threading Building Blocks Documentation">
+<meta name="DC.Relation" scheme="URI" content="../main/legal_information.htm">
+<meta name="DC.Relation" scheme="URI" content="../main/help_support.htm">
+<meta name="DC.Relation" scheme="URI" content="../main/introducing.htm">
+<meta name="DC.Relation" scheme="URI" content="../main/Benefits.htm">
+<meta name="DC.Relation" scheme="URI" content="../main/notation.htm">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/title.htm">
+<meta name="DC.Relation" scheme="URI" content="../reference/reference.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="reference">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../intel_css_styles.css">
+<title>Intel® Threading Building Blocks Documentation</title>
+</head>
+<body class="no-rel-links" id="reference">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(1);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="reference"><!-- --></a>
+
+ 
+  <h1 class="firsttitle"> 
+	 <br><a name="image_F4CD264A91964937B2F5D11A649804BA"><!-- --></a><img id="image_F4CD264A91964937B2F5D11A649804BA" src="Resources/hpc_header.jpg" height="161" width="300"><br> Intel® Threading Building Blocks Documentation</h1>
+ 
+  <div> 
+	 <p>Document number: 327304-006US 
+	 </p>
+ 
+	 <p>Intel® Threading Building Blocks - 4.2 update 2
+	 </p>
+ 
+	 <p><a href="legal_information.htm#legal_information" class="underlined">Legal
+		  Information</a> 
+	 </p>
+ 
+	 <p><a href="../reference/introducing.htm" class="start">Start Here</a> 
+	 </p>
+ 
+  </div>
+ 
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/reference/Resources/06000005.png b/doc/help/reference/Resources/06000005.png
new file mode 100755
index 0000000..7dbbd2c
Binary files /dev/null and b/doc/help/reference/Resources/06000005.png differ
diff --git a/doc/help/reference/Resources/06000007.png b/doc/help/reference/Resources/06000007.png
new file mode 100755
index 0000000..c1b00c1
Binary files /dev/null and b/doc/help/reference/Resources/06000007.png differ
diff --git a/doc/help/reference/Resources/06000008.png b/doc/help/reference/Resources/06000008.png
new file mode 100755
index 0000000..3377597
Binary files /dev/null and b/doc/help/reference/Resources/06000008.png differ
diff --git a/doc/help/reference/Resources/06000009.png b/doc/help/reference/Resources/06000009.png
new file mode 100755
index 0000000..60e48f4
Binary files /dev/null and b/doc/help/reference/Resources/06000009.png differ
diff --git a/doc/help/reference/Resources/0600000A.png b/doc/help/reference/Resources/0600000A.png
new file mode 100755
index 0000000..5636ef3
Binary files /dev/null and b/doc/help/reference/Resources/0600000A.png differ
diff --git a/doc/help/reference/Resources/0600000B.png b/doc/help/reference/Resources/0600000B.png
new file mode 100755
index 0000000..6f0114e
Binary files /dev/null and b/doc/help/reference/Resources/0600000B.png differ
diff --git a/doc/help/reference/Resources/0600000C.png b/doc/help/reference/Resources/0600000C.png
new file mode 100755
index 0000000..6f85ddb
Binary files /dev/null and b/doc/help/reference/Resources/0600000C.png differ
diff --git a/doc/help/reference/Resources/0600000D.png b/doc/help/reference/Resources/0600000D.png
new file mode 100755
index 0000000..b33975b
Binary files /dev/null and b/doc/help/reference/Resources/0600000D.png differ
diff --git a/doc/help/reference/Resources/0600000E.png b/doc/help/reference/Resources/0600000E.png
new file mode 100755
index 0000000..84b2ab6
Binary files /dev/null and b/doc/help/reference/Resources/0600000E.png differ
diff --git a/doc/help/reference/Resources/0600000F.png b/doc/help/reference/Resources/0600000F.png
new file mode 100755
index 0000000..5b75563
Binary files /dev/null and b/doc/help/reference/Resources/0600000F.png differ
diff --git a/doc/help/reference/Resources/08000006.png b/doc/help/reference/Resources/08000006.png
new file mode 100755
index 0000000..abf06da
Binary files /dev/null and b/doc/help/reference/Resources/08000006.png differ
diff --git a/doc/help/reference/Resources/dep_graph.jpg b/doc/help/reference/Resources/dep_graph.jpg
new file mode 100755
index 0000000..818157e
Binary files /dev/null and b/doc/help/reference/Resources/dep_graph.jpg differ
diff --git a/doc/help/reference/Resources/flow-graph.jpg b/doc/help/reference/Resources/flow-graph.jpg
new file mode 100755
index 0000000..e132912
Binary files /dev/null and b/doc/help/reference/Resources/flow-graph.jpg differ
diff --git a/doc/help/reference/Resources/hpc_header.jpg b/doc/help/reference/Resources/hpc_header.jpg
new file mode 100755
index 0000000..6d6a53a
Binary files /dev/null and b/doc/help/reference/Resources/hpc_header.jpg differ
diff --git a/doc/help/reference/Resources/message_flow_graph.jpg b/doc/help/reference/Resources/message_flow_graph.jpg
new file mode 100755
index 0000000..4a292ee
Binary files /dev/null and b/doc/help/reference/Resources/message_flow_graph.jpg differ
diff --git a/doc/help/reference/Resources/non_consq_rng.jpg b/doc/help/reference/Resources/non_consq_rng.jpg
new file mode 100755
index 0000000..00eda94
Binary files /dev/null and b/doc/help/reference/Resources/non_consq_rng.jpg differ
diff --git a/doc/help/reference/Resources/parll_red.jpg b/doc/help/reference/Resources/parll_red.jpg
new file mode 100755
index 0000000..b566896
Binary files /dev/null and b/doc/help/reference/Resources/parll_red.jpg differ
diff --git a/doc/help/reference/Resources/parll_scan.jpg b/doc/help/reference/Resources/parll_scan.jpg
new file mode 100755
index 0000000..4195a84
Binary files /dev/null and b/doc/help/reference/Resources/parll_scan.jpg differ
diff --git a/doc/help/reference/Resources/reference-latest-19.jpg b/doc/help/reference/Resources/reference-latest-19.jpg
new file mode 100755
index 0000000..60684ad
Binary files /dev/null and b/doc/help/reference/Resources/reference-latest-19.jpg differ
diff --git a/doc/help/reference/algorithms.htm b/doc/help/reference/algorithms.htm
new file mode 100755
index 0000000..972b487
--- /dev/null
+++ b/doc/help/reference/algorithms.htm
@@ -0,0 +1,106 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="Algorithms">
+<meta name="DC.subject" content="Algorithms">
+<meta name="keywords" content="Algorithms">
+<meta name="DC.Relation" scheme="URI" content="../reference/reference.htm">
+<meta name="DC.Relation" scheme="URI" content="../reference/algorithms/splittable_concept.htm">
+<meta name="DC.Relation" scheme="URI" content="../reference/algorithms/range_concept.htm">
+<meta name="DC.Relation" scheme="URI" content="../reference/algorithms/partitioners.htm">
+<meta name="DC.Relation" scheme="URI" content="../reference/algorithms/parallel_for_func.htm">
+<meta name="DC.Relation" scheme="URI" content="../reference/algorithms/parallel_reduce_func.htm">
+<meta name="DC.Relation" scheme="URI" content="../reference/algorithms/parallel_deterministic_reduce_func.htm">
+<meta name="DC.Relation" scheme="URI" content="../reference/algorithms/parallel_scan_func.htm">
+<meta name="DC.Relation" scheme="URI" content="../reference/algorithms/parallel_do_func.htm">
+<meta name="DC.Relation" scheme="URI" content="../reference/algorithms/parallel_for_each_func.htm">
+<meta name="DC.Relation" scheme="URI" content="../reference/algorithms/pipeline_cls.htm">
+<meta name="DC.Relation" scheme="URI" content="../reference/algorithms/parallel_pipeline_func.htm">
+<meta name="DC.Relation" scheme="URI" content="../reference/algorithms/parallel_sort_func.htm">
+<meta name="DC.Relation" scheme="URI" content="../reference/algorithms/parallel_invoke_func.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="algorithms">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../intel_css_styles.css">
+<title>Algorithms</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="algorithms">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(1);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="algorithms"><!-- --></a>
+
+
+    <h1 class="topictitle1">Algorithms</h1>
+
+     
+    <div> 
+        <p>Most parallel algorithms provided by Intel®
+            Threading Building Blocks (Intel® TBB) are generic. They operate on all
+            types that model the necessary concepts. Parallel algorithms may be nested. For
+            example, the body of a <samp class="codeph">parallel_for</samp> can invoke another <samp class="codeph">parallel_for</samp>. 
+        </p>
+ 
+        <div class="Note"><h3 class="NoteTipHead">
+					Caution</h3> 
+            <p> When the body of an outer parallel algorithm invokes another parallel
+                algorithm, it may cause the outer body to be re-entered for a different
+                iteration of the outer algorithm. 
+            </p>
+ 
+            <p>For example, if the outer body holds a global lock while calling an
+                inner parallel algorithm, the body will deadlock if the re-entrant invocation
+                attempts to acquire the same global lock. This ill-formed example is a special
+                case of a general rule that code should not hold a lock while calling code
+                written by another author. 
+            </p>
+ 
+        </div> 
+    </div>
+ 
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../reference/reference.htm">Intel® Threading Building Blocks Reference Manual</a></div>
+</div>
+<div>
+<ul class="ullinks">
+<li class="ulchildlink"><a href="../reference/algorithms/splittable_concept.htm">Splittable Concept</a><br>
+</li>
+<li class="ulchildlink"><a href="../reference/algorithms/range_concept.htm">Range Concept</a><br>
+</li>
+<li class="ulchildlink"><a href="../reference/algorithms/partitioners.htm">Partitioners</a><br>
+</li>
+<li class="ulchildlink"><a href="../reference/algorithms/parallel_for_func.htm">parallel_for Template Function</a><br>
+</li>
+<li class="ulchildlink"><a href="../reference/algorithms/parallel_reduce_func.htm">parallel_reduce Template Function</a><br>
+</li>
+<li class="ulchildlink"><a href="../reference/algorithms/parallel_deterministic_reduce_func.htm">parallel_deterministic_reduce Template Function</a><br>
+</li>
+<li class="ulchildlink"><a href="../reference/algorithms/parallel_scan_func.htm">parallel_scan Template Function</a><br>
+</li>
+<li class="ulchildlink"><a href="../reference/algorithms/parallel_do_func.htm">parallel_do Template Function</a><br>
+</li>
+<li class="ulchildlink"><a href="../reference/algorithms/parallel_for_each_func.htm">parallel_for_each Template Function</a><br>
+</li>
+<li class="ulchildlink"><a href="../reference/algorithms/pipeline_cls.htm">pipeline Class</a><br>
+</li>
+<li class="ulchildlink"><a href="../reference/algorithms/parallel_pipeline_func.htm">parallel_pipeline Function</a><br>
+</li>
+<li class="ulchildlink"><a href="../reference/algorithms/parallel_sort_func.htm">parallel_sort Template Function</a><br>
+</li>
+<li class="ulchildlink"><a href="../reference/algorithms/parallel_invoke_func.htm">parallel_invoke Template Function</a><br>
+</li>
+</ul>
+</div>
+
+</body>
+</html>
diff --git a/doc/help/reference/algorithms/parallel_deterministic_reduce_func.htm b/doc/help/reference/algorithms/parallel_deterministic_reduce_func.htm
new file mode 100755
index 0000000..0470f9c
--- /dev/null
+++ b/doc/help/reference/algorithms/parallel_deterministic_reduce_func.htm
@@ -0,0 +1,190 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="parallel_deterministic_reduce Template Function">
+<meta name="DC.subject" content="parallel_ deterministic _reduce Template Function">
+<meta name="keywords" content="parallel_ deterministic _reduce Template Function">
+<meta name="DC.Relation" scheme="URI" content="../../reference/algorithms.htm">
+<meta name="DC.Relation" scheme="URI" content="partitioners/simple_partitioner_cls.htm#simple_partitioner_cls">
+<meta name="DC.Relation" scheme="URI" content="parallel_reduce_func.htm#parallel_reduce_func">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="parallel_deterministic_reduce_func">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../intel_css_styles.css">
+<title>parallel_deterministic_reduce Template Function</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="parallel_deterministic_reduce_func">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(2);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="parallel_deterministic_reduce_func"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">parallel_deterministic_reduce Template
+	 Function</h1>
+ 
+   
+  <div> 
+	 <div class="section"><h2 class="sectiontitle">Summary</h2> 
+		 
+		<p>Computes reduction over a range, with deterministic
+		  split/join behavior. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Syntax</h2> 
+		 
+		<pre>template<typename Range, typename Value,
+           typename Func, typename Reduction>
+           Value parallel_deterministic_reduce( const Range& range,
+           const Value& identity, const Func& func,
+           const Reduction& reduction,
+           <var>[,</var> task_group_context& group<var>]</var> );
+ 
+template<typename Range, typename Body>
+           void parallel_deterministic_reduce( const Range& range,
+           const Body& body
+           <var>[,</var> task_group_context& group<var>]</var> );</pre> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Header</h2> 
+		 
+		<pre>#include "tbb/parallel_reduce.h"</pre> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Description</h2> 
+		 
+		<p>The 
+		  <samp class="codeph">parallel_deterministic_reduce</samp> template
+		  is very similar to the 
+		  <samp class="codeph">parallel_reduce</samp>
+		  template. It also has the functional and imperative forms and has similar
+		  requirements for Func and Reduction. 
+		</p>
+ 
+		<p>Unlike 
+		  <samp class="codeph">parallel_reduce</samp>, 
+		  <samp class="codeph">parallel_deterministic_reduce</samp> has
+		  deterministic behavior with regard to splits of both Body and Range and joins
+		  of the bodies. For the functional form, Func is applied to a deterministic set
+		  of Ranges, and Reduction merges partial results in a deterministic order. To
+		  achieve that, 
+		  <samp class="codeph">parallel_deterministic_reduce</samp> always
+		  uses a 
+		  <samp class="codeph">simple_partitioner</samp>
+		  because other partitioners react to random work stealing behavior. Therefore,
+		  the template declaration does not have a partitioner argument. 
+		</p>
+ 
+		<p><samp class="codeph">parallel_deterministic_reduce</samp> always
+		  invokes the Body splitting constructor for each range split. 
+		</p>
+ 
+		<div class="fignone" id="fig18"><a name="fig18"><!-- --></a><span class="figcap">Execution of
+			 parallel_deterministic_reduce over
+			 blocked_range<int>(0,20,5)</span> 
+		  <br><div class="imageleft"><img src="../Resources/reference-latest-19.jpg" height="135" width="403" align="left"></div><br> 
+		</div>
+ 
+		<p>As a result, 
+		  <samp class="codeph">parallel_deterministic_reduce</samp>
+		  recursively splits a range until it is no longer divisible, and creates a new
+		  body (by calling Body splitting constructor) for each new subrange. Like 
+		  <samp class="codeph">parallel_reduce</samp>, for
+		  each body split the method 
+		  <samp class="codeph">join</samp> is invoked in order to merge the results from the
+		  bodies. The figure above shows the execution of 
+		  <samp class="codeph">parallel_deterministic_reduce</samp> over a
+		  sample range, with the slash marks (/) denoting where new instances of the body
+		  were created. 
+		</p>
+ 
+		<p>Therefore for given arguments, 
+		  <samp class="codeph">parallel_
+			 deterministic_reduce</samp> executes the same set of split and join
+		  operations no matter how many threads participate in execution and how tasks
+		  are mapped to the threads. If the user-provided functions are also
+		  deterministic (i.e. different runs with the same input result in the same
+		  output), then multiple calls to 
+		  <samp class="codeph">parallel_deterministic_reduce</samp> will
+		  produce the same result. Note however that the result might differ from that
+		  obtained with an equivalent sequential (linear) algorithm. 
+		</p>
+ 
+		<div class="Note"><h3 class="NoteTipHead">
+					Caution</h3> 
+		  <p>Since 
+			 <samp class="codeph">simple_partitioner</samp>
+			 is always used, be careful to specify an appropriate grainsize. 
+		  </p>
+ 
+		</div> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Complexity</h2> 
+		 
+		<p>If the range and body take O(1) space, and the
+		  range splits into nearly equal pieces, then the space complexity is O(P
+		  log(N)), where N is the size of the range and P is the number of threads. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Example</h2> 
+		 
+		<p>The example from 
+		  <samp class="codeph">parallel_reduce</samp>
+		  section can be easily modified to use 
+		  <samp class="codeph">parallel_deterministic_reduce</samp>. It is
+		  sufficient torename 
+		  <samp class="codeph">parallel_reduce</samp> to 
+		  <samp class="codeph">parallel_deterministic_reduce</samp>; a
+		  partitioner, if any, should be removed to prevent compilation error. A grain
+		  size may need to be specified for blocked_range if performance suffered. 
+		</p>
+ 
+		<pre>#include <numeric>
+#include <functional>
+#include "tbb/parallel_reduce.h"
+#include "tbb/blocked_range.h"
+using namespace tbb;
+
+float ParallelSum( float array[], size_t n ) {
+    size_t grain_size = 1000;
+    return parallel_deterministic_reduce( 
+        blocked_range<float*>( array, array+n, grain_size[ ),
+        0.f,
+        [](const blocked_range<float*>& r, float value)->float {
+            return std::accumulate(r.begin(),r.end(),value);
+        },
+        std::plus<float>());
+}</pre> 
+	 </div>
+ 
+  </div>
+ 
+  
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../reference/algorithms.htm">Algorithms</a></div>
+</div>
+<div class="See Also">
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="partitioners/simple_partitioner_cls.htm#simple_partitioner_cls">simple_partitioner Class 
+		  </a></div>
+<div><a href="parallel_reduce_func.htm#parallel_reduce_func">parallel_reduce Template Function 
+		  </a></div></div>
+</div>
+
+</body>
+</html>
diff --git a/doc/help/reference/algorithms/parallel_do_func.htm b/doc/help/reference/algorithms/parallel_do_func.htm
new file mode 100755
index 0000000..9493679
--- /dev/null
+++ b/doc/help/reference/algorithms/parallel_do_func.htm
@@ -0,0 +1,244 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="parallel_do Template Function">
+<meta name="DC.subject" content="parallel_do Template Function">
+<meta name="keywords" content="parallel_do Template Function">
+<meta name="DC.Relation" scheme="URI" content="../../reference/algorithms.htm">
+<meta name="DC.Relation" scheme="URI" content="../../reference/algorithms/parallel_do_func/parallel_do_feeder_cls.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="parallel_do_func">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../intel_css_styles.css">
+<title>parallel_do Template Function</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="parallel_do_func">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(2);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="parallel_do_func"><!-- --></a>
+
+
+  <h1 class="topictitle1">parallel_do Template Function</h1>
+ 
+   
+  <div> 
+	 <div class="section"><h2 class="sectiontitle">Summary</h2>
+		 Template function that processes work items in
+		parallel. 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Header</h2>
+		 
+		<p> 
+		  <pre> #include "tbb/parallel_do.h"</pre> 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Syntax</h2>
+		 
+		<pre>template<typename InputIterator, typename Body> 
+void parallel_do( InputIterator first, InputIterator last,
+                 Body body[, task_group_context& group] );
+</pre>
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Description</h2>
+		 
+		<p>A 
+		  <samp class="codeph">parallel_do(<em>first,last,body</em>)</samp> applies a function
+		  object body over the half-open interval [<em>first,last</em>). Items may be
+		  processed in parallel. Additional work items can be added by body if it has a
+		  second argument of type<samp class="codeph"> parallel_do_feeder</samp>. The function
+		  terminates when<samp class="codeph"> body(x)</samp> returns for all items x that were in
+		  the input sequence or added to it by method 
+		  <samp class="codeph">parallel_do_feeder::add</samp>.
+		</p>
+
+		<p>The requirements for input iterators are specified in Section 24.1 of
+		  the ISO C++ standard. The table below shows the requirements on type Body. 
+		</p>
+
+		
+<div class="tablenoborder"><table cellpadding="4" summary="" width="100%" frame="hsides" border="1" rules="all"><caption><span class="tablecap">parallel_do Requirements for Body B and its
+		  Argument Type T</span></caption> 
+		  <thead align="left"> 
+			 <tr> 
+				<th class="cellrowborder" valign="top" id="d2552e96"> 
+				  <p>Pseudo-Signature 
+				  </p>
+ 
+				</th>
+ 
+				<th class="row-nocellborder" valign="top" id="d2552e102"> 
+				  <p>Semantics 
+				  </p>
+ 
+				</th>
+ 
+			 </tr>
+</thead>
+ 
+		  <tbody> 
+			 <tr valign="top"> 
+				<td class="cellrowborder" valign="top" headers="d2552e96 "> 
+				  <pre>B::operator()(
+<em>cv-qualifiers</em> T& item,
+ parallel_do_feeder<T>& feeder
+ ) const
+OR
+ B::operator()(<em>cv-qualifiers</em> T&
+item ) const
+ </pre>
+				</td>
+ 
+				<td class="row-nocellborder" valign="top" headers="d2552e102 "> 
+				  <p>Process item. Template<samp class="codeph"> parallel_do</samp> may
+					 concurrently invoke operator() for the same 
+					 <samp class="codeph">this</samp> but different 
+					 <samp class="codeph">item</samp>.
+				  </p>
+
+				  <p> The signature with feeder permits additional work items to be
+					 added.
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr valign="top"> 
+				<td class="cellrowborder" valign="top" headers="d2552e96 "> 
+				  <p><samp class="codeph"> T( const T& ) 
+					 </samp> 
+				  </p>
+ 
+				</td>
+ 
+				<td class="row-nocellborder" valign="top" headers="d2552e102 "> 
+				  <p> Copy a work item.
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr valign="top"> 
+				<td class="cellrowborder" valign="top" headers="d2552e96 "> 
+				  <p><samp class="codeph"> ~T::T()</samp> 
+				  </p>
+ 
+				</td>
+ 
+				<td class="row-nocellborder" valign="top" headers="d2552e102 "> 
+				  <p> Destroy a work item.
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+		  </tbody>
+ 
+		</table>
+</div>
+ 
+		<p>For example, a unary function object, as defined in Section 20.3 of
+		  the C++ standard, models the requirements for B. 
+		</p>
+
+		<div class="Note"><h3 class="NoteTipHead">
+					Caution</h3>
+		  <p>Defining both the one-argument and two-argument forms of 
+			 <samp class="codeph">operator()</samp> is not permitted.
+		  </p>
+
+		</div>
+		<div class="Note"><h3 class="NoteTipHead">
+					Note</h3>
+		  <p>The parallelism in 
+			 <samp class="codeph">parallel_do</samp> is not scalable if all of the items come
+			 from an input stream that does not have random access. To achieve scaling, do
+			 one of the following:
+		  </p>
+
+		  <ul type="disc">
+			 <li>
+				<p>Use random access iterators to specify the input stream. 
+				</p>
+
+			 </li>
+
+			 <li>
+				<p>Design your algorithm such that the body often adds more than
+				  one piece of work.
+				</p>
+
+			 </li>
+
+			 <li>
+				<p>Use<samp class="codeph"> parallel_for</samp> instead. 
+				</p>
+
+			 </li>
+
+		  </ul>
+
+		</div>
+		<p>To achieve speedup, the grainsize of 
+		  <samp class="codeph">B::operator()</samp> needs to be on the order of at least
+		  ~100,000 clock cycles. Otherwise, the internal overheads of 
+		  <samp class="codeph">parallel_do</samp> swamp the useful work.
+		</p>
+
+		<p>The algorithm can be passed a 
+		  <samp class="codeph">task_group_context</samp> object so that its tasks are
+		  executed in this group. By default the algorithm is executed in a bound group
+		  of its own.
+		</p>
+
+		<p><strong>Example</strong>
+		</p>
+
+		<p>The following code sketches a body with the
+		  two-argument form of 
+		  <samp class="codeph">operator(</samp>).
+		</p>
+
+		<pre>struct MyBody {
+    void operator()(item_t item, 
+                    parallel_do_feeder<item_t>& feeder ) {
+        for each new piece of work implied by item do {
+            item_t new_item = initializer;
+            feeder.add(new_item);
+        }
+    } 
+};
+</pre>
+	 </div>
+ 
+  </div>
+ 
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../reference/algorithms.htm">Algorithms</a></div>
+</div>
+<div>
+<ul class="ullinks">
+<li class="ulchildlink"><a href="../../reference/algorithms/parallel_do_func/parallel_do_feeder_cls.htm">parallel_do_feeder<item> class</a><br>
+</li>
+</ul>
+</div>
+
+</body>
+</html>
diff --git a/doc/help/reference/algorithms/parallel_do_func/parallel_do_feeder_cls.htm b/doc/help/reference/algorithms/parallel_do_func/parallel_do_feeder_cls.htm
new file mode 100755
index 0000000..2ea526c
--- /dev/null
+++ b/doc/help/reference/algorithms/parallel_do_func/parallel_do_feeder_cls.htm
@@ -0,0 +1,126 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="parallel_do_feeder<item> class">
+<meta name="DC.Relation" scheme="URI" content="../../../reference/algorithms/parallel_do_func.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="parallel_do_feeder_cls">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../../intel_css_styles.css">
+<title>parallel_do_feeder<item> class</title>
+</head>
+<body id="parallel_do_feeder_cls">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(3);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="parallel_do_feeder_cls"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">parallel_do_feeder<item> class</h1>
+ 
+  <div> 
+	 <div class="section"><h2 class="sectiontitle">Summary</h2> 
+		 Inlet into which additional work items for a 
+		<samp class="codeph">parallel_do</samp> can be fed. 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Header</h2> 
+		 
+		<pre>#include "tbb/parallel_do.h" </pre> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Syntax</h2> 
+		 
+		<pre>template<typename Item> 
+class parallel_do_feeder;
+</pre> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Description</h2> 
+		 
+		<p>A 
+		  <samp class="codeph">parallel_do_feeder</samp> enables the body of a 
+		  <samp class="codeph">parallel_do</samp> to add more work items. 
+		</p>
+ 
+		<p>Only class<samp class="codeph"> parallel_do</samp> can create or destroy a 
+		  <samp class="codeph">parallel_do_feeder</samp>. The only operation other code can
+		  perform on a 
+		  <samp class="codeph">parallel_do_feeder</samp> is to invoke method 
+		  <samp class="codeph">parallel_do_feeder::add</samp>. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Members</h2> 
+		 
+		<pre>namespace tbb {
+    template<typename Item>
+    struct parallel_do_feeder {
+        void add( const Item& item );
+    };
+}
+</pre> 
+	 </div>
+ 
+	 <div class="section"><!--no heading--><h2 class="sectiontitle"> </h2> 
+		
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"><span class="tabledesc">The following table provides additional information on the member
+			 of this template class. 
+		  </span><thead align="left"> 
+				<tr> 
+				  <th class="cellrowborder" valign="top" width="33.89830508474576%" id="d3084e91">Member 
+				  </th>
+ 
+				  <th class="cellrowborder" valign="top" width="66.10169491525423%" id="d3084e94">Description 
+				  </th>
+ 
+				</tr>
+</thead>
+ 
+			 <tbody> 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d3084e91 "><span class="keyword">void add( const Item& item
+						)()</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d3084e94 "> 
+					 <p><strong>Requirements</strong>: Must be called from
+						a call to 
+						<em>body</em> .<samp class="codeph">operator()</samp> created by 
+						<samp class="codeph">parallel_do</samp>. Otherwise, the termination
+						semantics of method 
+						<samp class="codeph">operator()</samp> are undefined. 
+					 </p>
+ 
+					 <p> 
+						<strong>Effects</strong>: Adds item to collection of work items to be
+						processed. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+			 </tbody>
+ 
+		  </table>
+</div>
+ 
+		 
+	 </div>
+ 
+  </div>
+
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../../reference/algorithms/parallel_do_func.htm">parallel_do Template Function</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/reference/algorithms/parallel_for_each_func.htm b/doc/help/reference/algorithms/parallel_for_each_func.htm
new file mode 100755
index 0000000..e49e0cf
--- /dev/null
+++ b/doc/help/reference/algorithms/parallel_for_each_func.htm
@@ -0,0 +1,66 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="parallel_for_each Template Function">
+<meta name="DC.subject" content="parallel_for_each Template Function">
+<meta name="keywords" content="parallel_for_each Template Function">
+<meta name="DC.Relation" scheme="URI" content="../../reference/algorithms.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="parallel_for_each_func">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../intel_css_styles.css">
+<title>parallel_for_each Template Function</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="parallel_for_each_func">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(2);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="parallel_for_each_func"><!-- --></a>
+
+
+<h1 class="topictitle1">parallel_for_each Template Function</h1>
+
+  
+
+<div>
+ <div class="section"><h2 class="sectiontitle">Summary</h2> Parallel variant of <samp class="codeph">std::for_each</samp>. </div>
+
+ <div class="section"><h2 class="sectiontitle">Header</h2> 
+<pre>#include "tbb/parallel_for_each.h"</pre>
+ </div>
+
+ <div class="section"><h2 class="sectiontitle">Syntax</h2> 
+<pre>template<typename InputIterator, typename Func> 
+void parallel_for_each (InputIterator first, InputIterator last, 
+                        const Func& f
+                        [, task_group_context& group]);
+</pre></div>
+
+ <div class="section"><h2 class="sectiontitle">Description</h2> <p>A <samp class="codeph">parallel_for_each(<em>first,last,f</em>)</samp>applies<samp class="codeph"><em> f </em></samp>to
+    the result of dereferencing every iterator in the range [<em>first,last</em>), possibly in
+    parallel. It is provided for PPL compatibility and equivalent to
+      <samp class="codeph">parallel_do(<em>first,last,f</em>)</samp> without "feeder" functionality.</p>
+<p>If the <samp class="codeph">group</samp> argument is specified, the algorithm's tasks are executed in this
+    group. By default the algorithm is executed in a bound group of its own.</p>
+</div>
+
+
+</div>
+
+ 
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../reference/algorithms.htm">Algorithms</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/reference/algorithms/parallel_for_func.htm b/doc/help/reference/algorithms/parallel_for_func.htm
new file mode 100755
index 0000000..04dacea
--- /dev/null
+++ b/doc/help/reference/algorithms/parallel_for_func.htm
@@ -0,0 +1,296 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="parallel_for Template Function">
+<meta name="DC.subject" content="parallel_for Template Function">
+<meta name="keywords" content="parallel_for Template Function">
+<meta name="DC.Relation" scheme="URI" content="../../reference/algorithms.htm">
+<meta name="DC.Relation" scheme="URI" content="../task_scheduler/task_scheduler_init_cls.htm">
+<meta name="DC.Relation" scheme="URI" content="../task_scheduler/task_group_context/task_group_context.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="parallel_for_func">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../intel_css_styles.css">
+<title>parallel_for Template Function</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="parallel_for_func">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(2);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="parallel_for_func"><!-- --></a>
+
+
+<h1 class="topictitle1">parallel_for Template Function</h1>
+
+     
+<div>
+    <div class="section"><h2 class="sectiontitle">Summary</h2> 
+         
+        <p>Template function that performs parallel iteration over a range of values.</p>
+
+    </div>
+
+    
+    <div class="section"><h2 class="sectiontitle">Header</h2> 
+         
+        <pre> #include "tbb/parallel_for.h"</pre>
+    </div>
+
+    <div class="section"><h2 class="sectiontitle">Syntax</h2> 
+         
+<pre>template<typename Index, typename Func>
+Func parallel_for( Index first, Index_type last, const Func& f
+                   [, partitioner[, task_group_context& group]] );
+
+template<typename Index, typename Func>
+Func parallel_for( Index first, Index_type last, 
+                   Index step, const Func& f
+                   [, partitioner[, task_group_context& group]] );
+
+template<typename Range, typename Body> 
+void parallel_for( const Range& range, const Body& body, 
+                   [, partitioner[, task_group_context& group]] );
+</pre></div>
+
+    <div class="section"><h2 class="sectiontitle">Description</h2> 
+         <p>A <samp class="codeph">parallel_for(first,last,step,f)</samp> represents parallel execution of the
+                loop:</p>
+<pre>for( auto i=first; i<last; i+=step ) f(i);</pre><p>The index type must be an integral type. The loop must not wrap around. The step value must be
+                positive. If omitted, it is implicitly 1. There is no guarantee that the iterations
+                run in parallel. Deadlock may occur if a lesser iteration waits for a greater
+                iteration. The partitioning strategy is
+                <samp class="codeph">auto_partitioner</samp> when the parameter is not specified.</p>
+<p>A <samp class="codeph">parallel_for(range,body,partitioner)</samp> provides a more general form of parallel
+                iteration. It represents parallel execution of <samp class="codeph">body</samp> over each value
+                in range. The optional <samp class="codeph">partitioner</samp> specifies a partitioning
+                strategy. Type <samp class="codeph">Range</samp> must model the Range concept . The body must
+                model the requirements in the following table. </p>
+
+<div class="tablenoborder"><table cellpadding="4" summary="" width="100%" frame="hsides" border="1" rules="all"><caption><span class="tablecap">Requirements for parallel_for Body</span></caption> 
+			 <thead align="left"> 
+				<tr> 
+				  <th class="cellrowborder" valign="top" id="d3575e97"> 
+					 <p>Pseudo-Signature 
+					 </p>
+ 
+				  </th>
+ 
+				  <th class="row-nocellborder" valign="top" id="d3575e103"> 
+					 <p>Semantics 
+					 </p>
+ 
+				  </th>
+ 
+				</tr>
+</thead>
+ 
+			 <tbody> 
+				<tr valign="top"> 
+				  <td class="cellrowborder" valign="top" headers="d3575e97 "> 
+					 <p><samp class="codeph"> Body::Body( const Body& )</samp> 
+					 </p>
+ 
+				  </td>
+ 
+				  <td class="row-nocellborder" valign="top" headers="d3575e103 "> 
+					 <p> Copy constructor. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr valign="top"> 
+				  <td class="cellrowborder" valign="top" headers="d3575e97 "> 
+					 <p><samp class="codeph"> Body::~Body()</samp> 
+					 </p>
+ 
+				  </td>
+ 
+				  <td class="row-nocellborder" valign="top" headers="d3575e103 "> 
+					 <p> Destructor. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr valign="top"> 
+				  <td class="cellrowborder" valign="top" headers="d3575e97 "> 
+					 <p><samp class="codeph">    void Body::operator()( Range& range ) const</samp> 
+					 </p>
+ 
+				  </td>
+ 
+				  <td class="row-nocellborder" valign="top" headers="d3575e103 "> 
+					   <p> Apply body to range.</p>
+
+ 
+				  </td>
+ 
+				</tr>
+ 
+	
+			 </tbody>
+ 
+		  </table>
+</div>
+ 
+<p>A <samp class="codeph">parallel_for</samp> recursively splits the range into subranges to the point such
+                that <samp class="codeph">is_divisible()</samp> is false for each subrange, and makes copies of
+                the body for each of these subranges. For each such body/subrange pair, it invokes
+                    <samp class="codeph">Body::operator()</samp>. The invocations are interleaved with the
+                recursive splitting, in order to minimize space overhead and efficiently use cache. </p>
+<p>Some of the copies of the range and body may be destroyed after <samp class="codeph">parallel_for</samp>
+                returns. This late destruction is not an issue in typical usage, but is something to
+                be aware of when looking at execution traces or writing range or body objects with
+                complex side effects.</p>
+<p>When worker threads are available, <samp class="codeph">parallel_for</samp> executes iterations is
+                non-deterministic order. Do not rely upon any particular execution order for
+                correctness. However, for efficiency, do expect <samp class="codeph">parallel_for</samp> to
+                tend towards operating on consecutive runs of values. </p>
+<p>When no worker threads are available, <samp class="codeph">parallel_for</samp> executes iterations from left
+                to right in the following sense. Imagine drawing a binary tree that represents the
+                recursive splitting. Each non-leaf node represents splitting a subrange r by
+                invoking the splitting constructor <samp class="codeph">Range(r,split())</samp>. The left child
+                represents the updated value of <samp class="codeph">r</samp>. The right child represents the
+                newly constructed object. Each leaf in the tree represents an indivisible subrange.
+                The method <samp class="codeph">Body::operator()</samp> is invoked on each leaf subrange, from
+                left to right.</p>
+<p>All overloads can be passed a <samp class="codeph">task_group_context</samp> object so that the algorithm’s
+                tasks are executed in this group. By default the algorithm is executed in a bound
+                group of its own.</p>
+<p><strong>Complexity</strong></p>
+<p>If the range and body take O(1) space, and the range splits into nearly equal pieces, then the space complexity is O(P log(N)), where N is the size of the range and P is the number of threads.</p>
+
+        </div>
+
+
+    <div class="section"><h2 class="sectiontitle">Example</h2> 
+         
+<p>This example defines a routine <samp class="codeph">ParallelAverage</samp> that sets
+                    <samp class="codeph">output[i]</samp> to the average of<samp class="codeph"> input[i-1]</samp>,
+    <samp class="codeph">input[i]</samp>, and<samp class="codeph"> input[i+1]</samp>, for 1 <= i< n.</p>
+<p><pre>#include "tbb/parallel_for.h"
+#include "tbb/blocked_range.h"
+
+using namespace tbb;
+
+struct Average {
+    const float* input;
+    float* output;
+    void operator()( const blocked_range<int>& range ) const {
+        for( int i=range.begin(); i!=range.end(); ++i )
+            output[i] = (input[i-1]+input[i]+input[i+1])*(1/3.f);
+    }
+};
+
+// Note: Reads input[0..n] and writes output[1..n-1]. 
+void ParallelAverage( float* output, const float* input, size_t n ) {
+    Average avg;
+    avg.input = input;
+    avg.output = output;
+    parallel_for( blocked_range<int>( 1, n ), avg );
+    }</pre></p>
+
+    </div>
+
+    <div class="section"><h2 class="sectiontitle">Example</h2> 
+         
+         <p>This example is more complex and requires familiarity with STL. It shows the power of
+                <samp class="codeph">parallel_for</samp> beyond flat iteration spaces. The code performs a parallel
+                merge of two sorted sequences. It works for any sequence with a random-access
+                iterator. The algorithm (Akl 1987) works recursively as follows:</p>
+<ol><li>If the sequences are too short for effective use of parallelism, do a sequential merge. Otherwise perform steps 2-6.</li>
+<li>Swap the sequences if necessary, so that the first sequence [begin1,end1) is at least as long as the second sequence [begin2,end2).</li>
+<li>Set m1 to the middle position in [begin1,end1). Call the item at that location key. </li>
+<li>Set m2 to where <em>key</em> would fall in [begin2,end2).</li>
+<li>	Merge [begin1,m1) and [begin2,m2) to create the first part of the merged sequence.</li>
+<li>Merge [m1,end1) and [m2,end2) to create the second part of the merged sequence.</li>
+</ol>
+<p>The Intel® Threading Building Blocks implementation of this algorithm uses the range object to
+                perform most of the steps. Predicate <samp class="codeph">is_divisible</samp> performs the test
+                in step 1, and step 2. The splitting constructor does steps 3-6. The body object
+                does the sequential merges.</p>
+<p><pre>#include "tbb/parallel_for.h"
+#include <algorithm>
+
+using namespace tbb;
+
+template<typename Iterator>
+struct ParallelMergeRange {
+    static size_t grainsize;
+    Iterator begin1, end1; // [begin1,end1) is 1st sequence to be merged
+    Iterator begin2, end2; // [begin2,end2) is 2nd sequence to be merged
+    Iterator out;               // where to put merged sequence    
+    bool empty()   const {return (end1-begin1)+(end2-begin2)==0;}
+    bool is_divisible() const {
+        return std::min( end1-begin1, end2-begin2 ) > grainsize;
+    }
+    ParallelMergeRange( ParallelMergeRange& r, split ) {
+        if( r.end1-r.begin1 < r.end2-r.begin2 ) {
+            std::swap(r.begin1,r.begin2);
+            std::swap(r.end1,r.end2);
+        }
+        Iterator m1 = r.begin1 + (r.end1-r.begin1)/2;
+        Iterator m2 = std::lower_bound( r.begin2, r.end2, *m1 );
+        begin1 = m1;
+        begin2 = m2;
+        end1 = r.end1;
+        end2 = r.end2;
+        out = r.out + (m1-r.begin1) + (m2-r.begin2);
+        r.end1 = m1;
+        r.end2 = m2;
+    }
+    ParallelMergeRange( Iterator begin1_, Iterator end1_, 
+                        Iterator begin2_, Iterator end2_, 
+                        Iterator out_ ) :
+        begin1(begin1_), end1(end1_), 
+        begin2(begin2_), end2(end2_), out(out_)
+    {}
+};
+
+template<typename Iterator>
+size_t ParallelMergeRange<Iterator>::grainsize = 1000;
+
+template<typename Iterator>
+struct ParallelMergeBody {
+    void operator()( ParallelMergeRange<Iterator>& r ) const {
+        std::merge( r.begin1, r.end1, r.begin2, r.end2, r.out );
+    }
+};
+
+template<typename Iterator>
+void ParallelMerge( Iterator begin1, Iterator end1, Iterator begin2, Iterator end2, Iterator out ) {
+    parallel_for(     
+       ParallelMergeRange<Iterator>(begin1,end1,begin2,end2,out),
+       ParallelMergeBody<Iterator>(),
+       simple_partitioner() 
+    );
+}
+</pre></p>
+<p>Because the algorithm moves many locations, it tends to be bandwidth limited. Speedup varies, depending upon the system.</p>
+</div>
+</div>
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../reference/algorithms.htm">Algorithms</a></div>
+</div>
+<div class="See Also">
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="../task_scheduler/task_scheduler_init_cls.htm">task_scheduler_init Class</a></div>
+<div><a href="../task_scheduler/task_group_context/task_group_context.htm">Bound groups (task_group_context Class)</a></div></div>
+</div>
+ 
+</body>
+</html>
diff --git a/doc/help/reference/algorithms/parallel_invoke_func.htm b/doc/help/reference/algorithms/parallel_invoke_func.htm
new file mode 100755
index 0000000..e97283c
--- /dev/null
+++ b/doc/help/reference/algorithms/parallel_invoke_func.htm
@@ -0,0 +1,107 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="parallel_invoke Template Function">
+<meta name="DC.subject" content="parallel_invoke Template Function">
+<meta name="keywords" content="parallel_invoke Template Function">
+<meta name="DC.Relation" scheme="URI" content="../../reference/algorithms.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="parallel_invoke_func">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../intel_css_styles.css">
+<title>parallel_invoke Template Function</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="parallel_invoke_func">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(2);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="parallel_invoke_func"><!-- --></a>
+
+
+<h1 class="topictitle1">parallel_invoke Template Function</h1>
+
+  
+<div>
+ <div class="section"><h2 class="sectiontitle">Summary</h2> Template function that evaluates several functions in parallel. </div>
+
+ <div class="section"><h2 class="sectiontitle">Header</h2> 
+<pre>#include "tbb/parallel_invoke.h"</pre>
+ </div>
+
+ <div class="section"><h2 class="sectiontitle">Syntax</h2> 
+<pre>template<typename Func0, typename Func1>
+void parallel_invoke(const Func0& f0, const Func1& f1);
+
+template<typename Func0, typename Func1, typename Func2>
+void parallel_invoke(const Func0& f0, const Func1& f1, const Func2& f2);
+template<typename Func0, typename Func1, ..., typename Func9>
+void parallel_invoke(const Func0& f0, const Func1& f1, ..., const Func9& f9);
+</pre><div class="Note"><h3 class="NoteTipHead">
+					Note</h3><p>When support for C++11 rvalue references become prevalent, the formal parameters may change to rvalue references.</p>
+</div></div>
+
+ <div class="section"><h2 class="sectiontitle">Description</h2> <p>The expression parallel_invoke(f<sub>0</sub>,f<sub>1</sub>,...,f<sub>k</sub>) evaluates
+     f<sub>0</sub>(), f<sub>1</sub>(), ..., f<sub>k</sub>() possibly in parallel. There can be from 2
+    to 10 arguments. Each argument must have a type for which <samp class="codeph">operator()</samp> is
+    defined. Typically the arguments are either function objects or pointers to functions. Return
+    values are ignored.</p>
+</div>
+
+  <div class="section"><h2 class="sectiontitle">Example</h2> <p>The following example evaluates <samp class="codeph">f(), g(),</samp> and
+     <samp class="codeph">h()</samp> in parallel. Notice how <samp class="codeph">g</samp> and <samp class="codeph">h</samp> are
+    function objects that can hold local state.</p>
+<pre>#include "tbb/parallel_invoke.h"
+
+using namespace tbb;
+
+void f();
+extern void bar(int);
+
+class MyFunctor {
+    int arg;
+public:
+    MyFunctor(int a) : arg(a) {}
+    void operator()() const {bar(arg);}
+};
+
+void RunFunctionsInParallel() {
+    MyFunctor g(2);
+    MyFunctor h(3);
+    tbb::parallel_invoke(f, g, h );
+}
+  </pre>
+  </div>
+
+  <div class="section"><h2 class="sectiontitle">Example with Lambda Expressions</h2> <p>Here is the previous example rewritten with C++11 lambda expressions, which generate function objects.</p>
+<pre>#include "tbb/parallel_invoke.h"
+
+using namespace tbb;
+
+void f();
+extern void bar(int);
+
+void RunFunctionsInParallel() {
+    tbb::parallel_invoke(f, []{bar(2);}, []{bar(3);} );
+}
+  </pre>
+  </div>
+
+</div>
+
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../reference/algorithms.htm">Algorithms</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/reference/algorithms/parallel_pipeline_func.htm b/doc/help/reference/algorithms/parallel_pipeline_func.htm
new file mode 100755
index 0000000..d07135a
--- /dev/null
+++ b/doc/help/reference/algorithms/parallel_pipeline_func.htm
@@ -0,0 +1,139 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="parallel_pipeline Function">
+<meta name="DC.subject" content="Range Concept">
+<meta name="keywords" content="Range Concept">
+<meta name="DC.Relation" scheme="URI" content="../../reference/algorithms.htm">
+<meta name="DC.Relation" scheme="URI" content="../../reference/algorithms/parallel_pipeline_func/filter_t_cls.htm">
+<meta name="DC.Relation" scheme="URI" content="../../reference/algorithms/parallel_pipeline_func/flow_control_cls.htm">
+<meta name="DC.Relation" scheme="URI" content="pipeline_cls.htm">
+<meta name="DC.Relation" scheme="URI" content="../task_scheduler/task_group_context.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="parallel_pipeline_func">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../intel_css_styles.css">
+<title>parallel_pipeline Function</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="parallel_pipeline_func">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(2);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="parallel_pipeline_func"><!-- --></a>
+
+
+<h1 class="topictitle1">parallel_pipeline Function</h1>
+
+     
+
+<div>
+    <div class="section"><h2 class="sectiontitle">Summary</h2> Strongly typed interface for pipelined execution. </div>
+
+    <div class="section"><h2 class="sectiontitle">Header</h2> 
+<pre>#include "tbb/pipeline.h"</pre>
+ </div>
+
+ <div class="section"><h2 class="sectiontitle">Syntax</h2> 
+<pre>void parallel_pipeline( size_t max_number_of_live_tokens, 
+                        const filter_t<void,void>& filter_chain
+                        [, task_group_context& group] );
+</pre></div>
+
+ <div class="section"><h2 class="sectiontitle">Description</h2>
+            <p> Function <samp class="codeph">parallel_pipeline</samp> is a strongly typed lambda-friendly
+                interface for building and running pipelines. The pipeline has characteristics
+                similar to class <samp class="codeph">pipeline</samp>, except that the stages of the pipeline
+                are specified via functors instead of class derivation.</p>
+
+            <p>To build and run a pipeline from functors <em>g</em><sub>0</sub>, <em>g</em><sub>1</sub>, 
+	    <em>g</em><sub>2</sub>, ..., <em>g</em><sub>n</sub>, write:</p>
+
+            <pre>parallel_pipeline( max_number_of_live_tokens, 
+                   make_filter<void,I1>(mode0,g0) &
+                   make_filter<I1,I2>(mode1,g1) &
+                   make_filter<I2,I3>(mode2,g2) &
+                   ... 
+                   make_filter<In,void>(moden,gn) );
+</pre><p>In
+                general, functor <em>g</em><sub>i</sub> should define its <samp class="codeph">operator()</samp> to map objects of type
+                    <em>I</em><sub>i</sub> to objects of type <em>I</em><sub>i+1</sub>. Functor <em>g</em><sub>0</sub> is a special case, because it notifies the pipeline when the end of the
+                input stream is reached. Functor <em>g</em><sub>0</sub> must be defined such that for a flow_control object <em>fc</em>, the
+                expression <em>g</em><sub>0</sub> (<em>fc</em> ) either returns the next value in the input stream, or if
+                at the end of the input stream, invokes <em>fc.</em>stop() and returns a dummy
+                value.</p>
+ The value <em>max_number_of_live_tokens</em> has the same meaning as it
+            does for <samp class="codeph">pipeline::run</samp>. <p> If the group argument is specified,
+                pipeline's tasks are executed in this group. By default the algorithm is executed in
+                a bound group of its own. </p>
+</div>
+
+    <div class="section"><h2 class="sectiontitle">Example</h2>
+     <p> The following example uses <samp class="codeph">parallel_pipeline</samp> compute
+                the root-mean-square of a sequence defined by [ <em>first</em> , <em>last</em> ). The
+                example is only for demonstrating syntactic mechanics. It is not as a practical way
+                to do the calculation because parallel overhead would be vastly higher than useful
+                work. Operator & requires that the output type of its first
+                    <samp class="codeph">filter_t</samp> argument matches the input type of its second
+                    <samp class="codeph">filter_t</samp> argument.</p>
+<pre>float RootMeanSquare( float* first, float* last ) {
+    float sum=0;
+    parallel_pipeline( /*max_number_of_live_token=*/16,       
+        make_filter<void,float*>(
+            filter::serial,
+            [&](flow_control& fc)-> float*{
+                if( first<last ) {
+                    return first++;
+                 } else {
+                    fc.stop();
+                    return NULL;
+                }
+            }    
+        ) &
+        make_filter<float*,float>(
+            filter::parallel,
+            [](float* p){return (*p)*(*p);} 
+        ) &
+        make_filter<float,void>(
+            filter::serial,
+            [&](float x) {sum+=x;}
+        )
+    );
+    return sqrt(sum);
+}
+     </pre><p>See the Intel® Threading Building Blocks Tutorial for a non-trivial example
+                of <samp class="codeph">parallel_pipeline</samp>.</p>
+
+     </div>
+
+
+</div>
+
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../reference/algorithms.htm">Algorithms</a></div>
+</div>
+<div class="See Also">
+<ul class="ullinks">
+<li class="ulchildlink"><a href="../../reference/algorithms/parallel_pipeline_func/filter_t_cls.htm">filter_t Template Class</a><br>
+</li>
+<li class="ulchildlink"><a href="../../reference/algorithms/parallel_pipeline_func/flow_control_cls.htm">flow_control Class</a><br>
+</li>
+</ul>
+
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="pipeline_cls.htm">pipeline Class 
+		  </a></div>
+<div><a href="../task_scheduler/task_group_context.htm">task_group_context</a></div></div>
+</div>
+</body>
+</html>
diff --git a/doc/help/reference/algorithms/parallel_pipeline_func/filter_t_cls.htm b/doc/help/reference/algorithms/parallel_pipeline_func/filter_t_cls.htm
new file mode 100755
index 0000000..8898fd1
--- /dev/null
+++ b/doc/help/reference/algorithms/parallel_pipeline_func/filter_t_cls.htm
@@ -0,0 +1,269 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="filter_t Template Class">
+<meta name="DC.Relation" scheme="URI" content="../../../reference/algorithms/parallel_pipeline_func.htm">
+<meta name="DC.Relation" scheme="URI" content="../pipeline_cls/filter_cls.htm#filter_cls">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="filter_t_cls">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../../intel_css_styles.css">
+<title>filter_t Template Class</title>
+</head>
+<body id="filter_t_cls">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(3);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="filter_t_cls"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">filter_t Template Class</h1>
+ 
+  <div> 
+	 <div class="section"><h2 class="sectiontitle">Summary</h2> 
+		 A filter or composite filter used in conjunction
+		with function 
+		<samp class="codeph">parallel_pipeline</samp>. 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Header</h2> 
+		 
+		<pre> #include "tbb/pipeline.h"</pre> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Syntax</h2> 
+		 
+		<pre>template<typename T, typename U> class filter_t;
+template<typename T, typename U, typename Func>
+filter_t<T,U> make_filter( filter::mode mode, const Func& f );
+template<typename T, typename V, typename U>
+filter_t<T,U> operator&( const filter_t<T,V>& left, 
+                         const filter_t<V,U>& right );
+</pre> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Description</h2> 
+		 
+		<p> A<samp class="codeph"> filter_t</samp> is a strongly typed filter that specifies
+		  its input and output types. A<samp class="codeph"> filter_t 
+		  </samp>can be constructed from a functor or by composing of two 
+		  <samp class="codeph">filter_t 
+		  </samp>objects with 
+		  <samp class="codeph">operator&</samp> . The same<samp class="codeph"> filter_t 
+		  </samp>object can be shared by multiple<samp class="codeph"> & 
+		  </samp>expressions. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Members</h2> 
+		 
+		<pre>namespace tbb {
+    template<typename T, typename U>
+    class filter_t {
+    public:
+        filter_t();
+        filter_t( const filter_t<T,U>& rhs );
+        template<typename Func>
+        filter_t( filter::mode mode, const Func& func );
+        void operator=( const filter_t<T,U>& rhs );
+        ~filter_t();
+        void clear();
+    };
+
+    template<typename T, typename U, typename Func>
+    filter_t<T,U> make_filter( filter::mode mode, const Func& f );
+    template<typename T, typename V, typename U>
+    filter_t<T,U> operator&( const filter_t<T,V>& left, 
+                             const filter_t<V,U>& right );
+}
+</pre> 
+		
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"><span class="tabledesc">The following table provides additional information on the
+			 members of this template class. 
+		  </span><thead align="left"> 
+				<tr> 
+				  <th class="cellrowborder" valign="top" width="33.89830508474576%" id="d4861e85">Member 
+				  </th>
+ 
+				  <th class="cellrowborder" valign="top" width="66.10169491525423%" id="d4861e88">Description 
+				  </th>
+ 
+				</tr>
+</thead>
+ 
+			 <tbody> 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d4861e85 "><span class="keyword">filter _t()</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d4861e88 "> 
+					 <p> Construct an undefined filter. 
+					 </p>
+ 
+					 <div class="Note"><h3 class="NoteTipHead">
+					Caution</h3> 
+						<p>The effect of using an undefined filter by 
+						  <samp class="codeph">operator&</samp> or 
+						  <samp class="codeph">parallel_pipeline</samp> is undefined. 
+						</p>
+ 
+					 </div> 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d4861e85 "><span class="keyword">filter_t( const
+						filter_t<T,U>& rhs )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d4861e88 "> 
+					 <p> Construct a copy of 
+						<em>rhs</em>. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d4861e85 "><span class="keyword">template<typename Func>
+						filter_t( filter::mode mode, const Func& f )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d4861e88 "> 
+					 <p>Construct a 
+						<samp class="codeph">filter_t</samp> that uses a copy of functor 
+						<samp class="codeph"><em>f</em></samp> to map an input value 
+						<em>t</em> of type 
+						<em>T</em> to an output value 
+						<em>u</em> of type 
+						<em>U</em>. 
+					 </p>
+ 
+					 <div class="Note"><h3 class="NoteTipHead">
+					Note</h3> 
+						<p>When parallel_pipeline uses the 
+						  <samp class="codeph">filter_t</samp>, it computes 
+						  <em>u</em> by evaluating 
+						  <samp class="codeph"><em>f</em>(<em>t</em>)</samp>, unless 
+						  <em>T</em> is 
+						  <samp class="codeph">void</samp>. In the void case 
+						  <em>u</em> is computed by the expression 
+						  <em>u</em>=<samp class="codeph"><em>f</em>(<em>fc</em>)</samp>, where 
+						  <samp class="codeph"><em>fc</em></samp> is of type flow_control. 
+						</p>
+ 
+					 </div> 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d4861e85 "><span class="keyword">void operator=( const
+						filter_t<T,U>& rhs )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d4861e88 ">
+					 <p>Update 
+						<samp class="codeph">*this</samp> to use the functor associated with 
+						<em>rhs</em>. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d4861e85 "><span class="keyword">~filter_t()</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d4861e88 ">
+					 <p>Destroy the 
+						<samp class="codeph">filter_t</samp>. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d4861e85 "><span class="keyword">void clear()</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d4861e88 ">
+					 <p> Set 
+						<samp class="codeph">*this</samp> to an undefined filter. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d4861e85 "><span class="keyword">template<typename T, typename
+						U, typename Func> filter_t<T,U> make_filter(filter::mode mode, const
+						Func& f)</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d4861e88 ">
+					 <p><strong>Returns</strong>: 
+						<samp class="codeph">filter_t<T,U>(mode,f)</samp> 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d4861e85 "><span class="keyword">template<typename T, typename
+						V, typename U> filter_t<T,U> operator& (const
+						filter_t<T,V>& left, const filter_t<V,U>& right)</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d4861e88 ">
+					 <p><strong>Requires</strong>: The output type of 
+						<em>left</em> must match the input type of 
+						<em>right</em>. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: A<samp class="codeph"> filter_t</samp> representing the
+						composition of filters 
+						<em>left</em> and 
+						<em>right</em>. The composition behaves as if the output value
+						of 
+						<em>left</em> becomes the input value of 
+						<em>right</em>. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+			 </tbody>
+ 
+		  </table>
+</div>
+ 
+	 </div>
+ 
+  </div>
+ 
+  
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../../reference/algorithms/parallel_pipeline_func.htm">parallel_pipeline Function</a></div>
+</div>
+<div class="See Also">
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="../pipeline_cls/filter_cls.htm#filter_cls">filter Class 
+		  </a></div></div>
+</div>
+
+</body>
+</html>
diff --git a/doc/help/reference/algorithms/parallel_pipeline_func/flow_control_cls.htm b/doc/help/reference/algorithms/parallel_pipeline_func/flow_control_cls.htm
new file mode 100755
index 0000000..10e1916
--- /dev/null
+++ b/doc/help/reference/algorithms/parallel_pipeline_func/flow_control_cls.htm
@@ -0,0 +1,73 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="flow_control Class">
+<meta name="DC.subject" content="flow_control Class">
+<meta name="keywords" content="flow_control Class">
+<meta name="DC.Relation" scheme="URI" content="../../../reference/algorithms/parallel_pipeline_func.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="flow_control_cls">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../../intel_css_styles.css">
+<title>flow_control Class</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="flow_control_cls">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(3);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="flow_control_cls"><!-- --></a>
+
+
+<h1 class="topictitle1">flow_control Class</h1>
+
+  
+ 
+<div>
+ <div class="section"><h2 class="sectiontitle">Summary</h2>Enables the first filter in a composite filter to indicate when the
+   end of input has been reached. </div>
+
+ <div class="section"><h2 class="sectiontitle">Header</h2>  <pre>#include "tbb/pipeline.h" </pre></div>
+
+ <div class="section"><h2 class="sectiontitle">Syntax</h2> 
+<pre>class flow_control;</pre>
+</div>
+
+ <div class="section"><h2 class="sectiontitle">Description</h2> <p> Template function <samp class="codeph">parallel_pipeline </samp>passes a <samp class="codeph">flow_control </samp>object<samp class="codeph">
+     <em>fc</em></samp> to the input functor of a <samp class="codeph">filter_t</samp>. When the input functor
+    reaches the end of its input, it should invoke <samp class="codeph"><em>fc</em>.stop()</samp> and return a
+    dummy value. </p>
+
+
+
+</div>
+
+
+ <div class="section"><h2 class="sectiontitle">Members</h2> 
+<pre>namespace tbb {
+    class flow_control {
+    public:
+        void stop();
+    };
+}
+</pre></div>
+
+</div>
+
+
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../../reference/algorithms/parallel_pipeline_func.htm">parallel_pipeline Function</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/reference/algorithms/parallel_reduce_func.htm b/doc/help/reference/algorithms/parallel_reduce_func.htm
new file mode 100755
index 0000000..a30b960
--- /dev/null
+++ b/doc/help/reference/algorithms/parallel_reduce_func.htm
@@ -0,0 +1,428 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="parallel_reduce Template Function">
+<meta name="DC.subject" content="parallel_reduce Template Function">
+<meta name="keywords" content="parallel_reduce Template Function">
+<meta name="DC.Relation" scheme="URI" content="../../reference/algorithms.htm">
+<meta name="DC.Relation" scheme="URI" content="../task_scheduler/task_scheduler_init_cls.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="parallel_reduce_func">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../intel_css_styles.css">
+<title>parallel_reduce Template Function</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="parallel_reduce_func">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(2);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="parallel_reduce_func"><!-- --></a>
+
+
+<h1 class="topictitle1">parallel_reduce Template Function</h1>
+
+     
+<div>
+    <div class="section"><h2 class="sectiontitle">Summary</h2> 
+         
+        <p>Computes reduction over a range.</p>
+
+    </div>
+
+    <div class="section"><h2 class="sectiontitle">Header</h2> 
+         
+<pre> #include "tbb/parallel_reduce.h"</pre>
+    </div>
+
+    <div class="section"><h2 class="sectiontitle">Syntax</h2> 
+            
+<pre>
+template<typename Range, typename Value, 
+         typename Func, typename Reduction>
+Value parallel_reduce( const Range& range, const Value& identity,
+                     const Func& func, const Reduction& reduction,
+                     [, partitioner[, task_group_context& group]] );
+
+template<typename Range, typename Body> 
+void parallel_reduce( const Range& range, const Body& body
+                      [, partitioner[, task_group_context& group]] );
+</pre><p>where the optional <samp class="codeph">partitioner</samp> declares any of the partitioners as shown in column 1 of the Partitioners table in the Partitioners section.</p>
+
+    </div>
+
+    <div class="section"><h2 class="sectiontitle">Description</h2>
+            
+            <p>The <samp class="codeph">parallel_reduce</samp> template has two forms. The functional form is
+                designed to be easy to use in conjunction with lambda expressions. The imperative
+                form is designed to minimize copying of data. </p>
+<p>The functional form<samp class="codeph">
+                    parallel_reduce(range,identity,func,reduction)</samp> performs a parallel
+                reduction by applying <em>func</em> to subranges in range and reducing the results
+                using binary operator <em>reduction</em>. It returns the result of the reduction.
+                Parameter <em>func</em> and <em>reduction</em> can be lambda expressions. The table below
+                summarizes the type requirements on the types of <em>identity</em>, <em>func</em>, and
+                <em>reduction</em>.</p>
+
+<div class="tablenoborder"><table cellpadding="4" summary="" width="100%" frame="hsides" border="1" rules="all"><caption><span class="tablecap">Requirements for Func and Reduction</span></caption>
+                    
+                    
+                    <thead align="left">
+                        <tr>
+                            <th class="cellrowborder" valign="top" id="d5924e111">
+                                <p>Pseudo-Signature </p>
+
+                            </th>
+
+                            <th class="row-nocellborder" valign="top" id="d5924e117">
+                                <p>Semantics </p>
+
+                            </th>
+
+                        </tr>
+
+                    </thead>
+
+                    <tbody>
+                        <tr valign="top">
+                            <td class="cellrowborder" valign="top" headers="d5924e111 ">
+                                <p><samp class="codeph"> Value Identity;</samp>
+                                </p>
+
+                            </td>
+
+                            <td class="row-nocellborder" valign="top" headers="d5924e117 ">
+                                <p> Left identity element for
+                                        <samp class="codeph">Func::operator()</samp>.</p>
+
+                            </td>
+
+                        </tr>
+
+                        <tr valign="top">
+                            <td class="cellrowborder" valign="top" headers="d5924e111 ">
+                                <p><samp class="codeph"> Value Func::operator()(const
+                                        Range& range, const Value& x) </samp>
+                                </p>
+
+                            </td>
+
+                            <td class="row-nocellborder" valign="top" headers="d5924e117 ">
+                                <p> Accumulate result for subrange, starting with
+                                    initial value <samp class="codeph">x</samp>.</p>
+
+                            </td>
+
+                        </tr>
+
+                        <tr valign="top">
+                            <td class="cellrowborder" valign="top" headers="d5924e111 ">
+                                <p><samp class="codeph">Value Reduction::operator()(const
+                                        Value& x, const Value& y); </samp>
+                                </p>
+
+                            </td>
+
+                            <td class="row-nocellborder" valign="top" headers="d5924e117 ">
+                                <p> Combine results<samp class="codeph"> x</samp> and
+                                        <samp class="codeph">y</samp>.</p>
+
+                            </td>
+
+                        </tr>
+
+                    </tbody>
+
+                </table>
+</div>
+
+            <p>The imperative form
+                        <samp class="codeph">parallel_reduce(<em>range</em>,<em>body</em>)</samp> performs parallel
+                reduction of <em>body</em> over each value in <em>range</em>. Type
+                    <samp class="codeph">Range</samp> must model the Range concept. The body must model the
+                requirements shown in the table below.</p>
+
+<div class="tablenoborder"><table cellpadding="4" summary="" width="100%" frame="hsides" border="1" rules="all"><caption><span class="tablecap">Requirements for parallel_reduce
+                    Body</span></caption>
+                    
+                    
+                    <thead align="left">
+                        <tr>
+                            <th class="cellrowborder" valign="top" id="d5924e228">
+                                <p>Pseudo-Signature </p>
+
+                            </th>
+
+                            <th class="row-nocellborder" valign="top" id="d5924e234">
+                                <p>Semantics </p>
+
+                            </th>
+
+                        </tr>
+
+                    </thead>
+
+                    <tbody>
+                        <tr valign="top">
+                            <td class="cellrowborder" valign="top" headers="d5924e228 ">
+                                <p><samp class="codeph"> Body::Body( Body&, split
+                                        );</samp>
+                                </p>
+
+                            </td>
+
+                            <td class="row-nocellborder" valign="top" headers="d5924e234 ">
+                                <p>Splitting constructor. Must be able to run concurrently with
+                                        <samp class="codeph">operator()</samp> and method
+                                    <samp class="codeph">join</samp>.</p>
+
+                            </td>
+
+                        </tr>
+
+                        <tr valign="top">
+                            <td class="cellrowborder" valign="top" headers="d5924e228 ">
+                                <p><samp class="codeph"> Body::~Body()</samp>
+                                </p>
+
+                            </td>
+
+                            <td class="row-nocellborder" valign="top" headers="d5924e234 ">
+                                <p> Destructor.</p>
+
+                            </td>
+
+                        </tr>
+
+                        <tr valign="top">
+                            <td class="cellrowborder" valign="top" headers="d5924e228 ">
+                                <p><samp class="codeph"> void Body::operator()(const
+                                        Range& range); </samp>
+                                </p>
+
+                            </td>
+
+                            <td class="row-nocellborder" valign="top" headers="d5924e234 ">
+                                <p> Accumulate result for subrange.</p>
+
+                            </td>
+
+                        </tr>
+
+                        <tr valign="top">
+                            <td class="cellrowborder" valign="top" headers="d5924e228 ">
+                                <p><samp class="codeph"> void Body::join( Body& rhs );
+                                    </samp>
+                                </p>
+
+                            </td>
+
+                            <td class="row-nocellborder" valign="top" headers="d5924e234 ">
+                                <p> Join results. The result in rhs should be merged into the result
+                                    of <samp class="codeph">this</samp>.</p>
+
+                            </td>
+
+                        </tr>
+
+                    </tbody>
+
+                </table>
+</div>
+
+            <p>A <samp class="codeph">parallel_reduce</samp> recursively splits the range into subranges to the
+                point such that <samp class="codeph">is_divisible()</samp> is false for each subrange.
+                    A<samp class="codeph"> parallel_reduce</samp> uses the splitting constructor to make one or
+                more copies of the body for each thread. It may copy a body while the body’s
+                    <samp class="codeph">operator() </samp>or method join runs concurrently. You are
+                responsible for ensuring the safety of such concurrency. In typical usage, the
+                safety requires no extra effort.</p>
+<p>When worker threads are available,
+                    <samp class="codeph">parallel_reduce</samp> invokes the splitting constructor for the body.
+                For each such split of the body, it invokes method join in order to merge the
+                results from the bodies. Define join to update this to represent the accumulated
+                result for this and rhs. The reduction operation should be associative, but does not
+                have to be commutative. For a noncommutative operation op,
+                        "<samp class="codeph"><em>left</em>.join(<em>right</em>)</samp>" should update <em>left</em>
+                to be the result of <em>left</em>
+                <em>op</em>
+                <em>right</em>.</p>
+<p>A body is split only if the range is split, but the converse is
+                not necessarily so. The figure below diagrams a sample execution of
+                    <samp class="codeph">parallel_reduce</samp>. The root represents the original body b0 being
+                applied to the half-open interval [0,20). The range is recursively split at each
+                level into two subranges. The grain size for the example is 5, which yields four
+                leaf ranges. The slash marks (/) denote where copies (b<sub>1</sub> and
+                    b<sub>2</sub>) of the body were created by the body splitting constructor.
+                Bodies b<sub>0</sub> and b<sub>1</sub> each evaluate one leaf. Body b<sub>2</sub>
+                evaluates leaf [10,15) and [15,20), in that order. On the way back up the tree,
+                    <samp class="codeph">parallel_reduce</samp> invokes b<sub>0</sub>.join(b<sub>1</sub>) and
+                    b<sub>0</sub>.join(b<sub>2</sub>) to merge the results of the leaves. </p>
+<p><strong>Execution of parallel_reduce over
+                    blocked_range<int>(0,20,5)</strong></p>
+
+            <a name="image_5E29BE34010E45D982CC687AE7BA97D8"><!-- --></a><img id="image_5E29BE34010E45D982CC687AE7BA97D8" src="../Resources/parll_red.jpg"><p> The figure above shows only one
+                possible execution. Other valid executions include splitting b<sub> 2</sub> into
+                    b<sub> 2</sub> and b<sub> 3</sub>, or doing no splitting at all. With no
+                splitting, b<sub> 0</sub> evaluates each leaf in left to right order, with no calls
+                to <samp class="codeph">join</samp>. A given body always evaluates one or more subranges in
+                left to right order. For example, in the figure above, body b<sub> 2</sub> is guaranteed to
+                evaluate [10,15) before [15,20). You may rely on the left to right property for a
+                given instance of a body. However, you t must neither rely on a particular choice of
+                body splitting nor on the subranges processed by a given body object being
+                consecutive. <samp class="codeph">parallel_reduce</samp> makes the choice of body splitting
+                nondeterministically.</p>
+<p><strong>Example where Body b<sub>0</sub> processes
+                non-consecutive subranges.</strong></p>
+
+            <a name="image_F63A9E8F7D5743878142989C0D8A9143"><!-- --></a><img id="image_F63A9E8F7D5743878142989C0D8A9143" src="../Resources/non_consq_rng.jpg"><p>The subranges evaluated by a given body are not
+                consecutive if there is an intervening <samp class="codeph">join</samp>. The joined information
+                represents processing of a gap between evaluated subranges. The figure above shows such an
+                example. The body b<sub>0</sub> performs the following sequence of operations:
+                </p>
+<ol>
+                <li>b<sub>0</sub>( [0,5) )</li>
+
+                <li>b<sub>0</sub>.<samp class="codeph">join</samp>()( b<sub>1</sub> ) where b<sub>1</sub> has
+                    already processed [5,10)</li>
+
+                <li>b<sub>0</sub>( [10,15) )</li>
+
+                <li>b<sub>0</sub>( [15,20) )</li>
+
+            </ol>
+<p>In other words, body b<sub>0</sub> gathers information about all the leaf
+                subranges in left to right order, either by directly processing each leaf, or by a
+                join operation on a body that gathered information about one or more leaves in a
+                similar way. When no worker threads are available, <samp class="codeph">parallel_reduce</samp>
+                executes sequentially from left to right in the same sense as for
+                    <samp class="codeph">parallel_for</samp> . Sequential execution never invokes the splitting
+                constructor or method join.</p>
+<p>All overloads can be passed a<samp class="codeph">
+                    task_group_context</samp> object so that the algorithm’s tasks are executed in
+                this group. By default the algorithm is executed in a bound group of its
+                    own.</p>
+<p><strong>Complexity</strong></p>
+<p>If the range and body take O(1) space, and
+                the range splits into nearly equal pieces, then the space complexity is O(P log(N)),
+                where N is the size of the range and P is the number of threads.</p>
+
+        </div>
+
+    <div class="section"><h2 class="sectiontitle">Example (Imperative Form)</h2> 
+         
+<p>The following code sums the values in an array.</p>
+
+        <p>
+            <pre>
+#include "tbb/parallel_reduce.h"
+#include "tbb/blocked_range.h"
+
+using namespace tbb;
+
+struct Sum {
+    float value;
+    Sum() : value(0) {}
+    Sum( Sum& s, split ) {value = 0;}
+    void operator()( const blocked_range<float*>& r ) {
+        float temp = value;
+        for( float* a=r.begin(); a!=r.end(); ++a ) {
+            temp += *a;
+        }
+        value = temp;
+    }
+    void join( Sum& rhs ) {value += rhs.value;}
+};
+
+float ParallelSum( float array[], size_t n ) {
+    Sum total;
+    parallel_reduce( blocked_range<float*>( array, array+n ), 
+                     total );
+    return total.value;
+}
+</pre></p>
+<p>The example generalizes to reduction for any associative
+operation <em>op</em> as follows:</p>
+
+<ul type="disc"><li> Replace
+occurrences of 0 with the identity element for <em>op</em>
+</li>
+<li> Replace
+occurrences of  += with <em>op</em>= or its logical
+equivalent.</li>
+<li> Change the name <samp class="codeph">Sum</samp> to something more appropriate for <em>op</em>.</li>
+</ul>
+<p>The operation may be noncommutative. For example, <em>op</em> could be matrix multiplication.</p>
+
+    </div>
+
+    <div class="section"><h2 class="sectiontitle">Example with Lambda Expressions</h2> 
+ 
+        <p>The following is analogous to the previous example, but written using
+                lambda expressions and the functional form of <samp class="codeph">parallel_reduce</samp>.</p>
+<p><pre>
+#include "tbb/parallel_reduce.h"
+#include "tbb/blocked_range.h"
+
+using namespace tbb;
+
+float ParallelSum( float array[], size_t n ) {
+    return parallel_reduce( 
+        blocked_range<float*>( array, array+n ), 
+        0.f, 
+        [](const blocked_range<float*>& r, float init)->float {
+            for( float* a=r.begin(); a!=r.end(); ++a ) 
+                init += *a;
+            return init;
+        },
+        []( float x, float y )->float {
+            return x+y;
+        }
+    );                    
+}
+</pre></p>
+<p>STL generalized numeric operations and functions objects can be used to write the example more compactly as follows:</p>
+
+<p><pre>
+#include <numeric>
+#include <functional>
+#include "tbb/parallel_reduce.h"
+#include "tbb/blocked_range.h"
+
+using namespace tbb;
+
+float ParallelSum( float array[], size_t n ) {
+    return parallel_reduce(
+        blocked_range<float*>( array, array+n ),
+        0.f,
+        [](const blocked_range<float*>& r, float value)->float {
+            return std::accumulate(r.begin(),r.end(),value);
+        },
+        std::plus<float>()
+    );
+}
+</pre></p>
+
+</div>
+</div>
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../reference/algorithms.htm">Algorithms</a></div>
+</div>
+<div class="See Also">
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="../task_scheduler/task_scheduler_init_cls.htm">task_scheduler_init 
+		  class</a></div></div>
+</div>
+ 
+</body>
+</html>
diff --git a/doc/help/reference/algorithms/parallel_scan_func.htm b/doc/help/reference/algorithms/parallel_scan_func.htm
new file mode 100755
index 0000000..1fa7803
--- /dev/null
+++ b/doc/help/reference/algorithms/parallel_scan_func.htm
@@ -0,0 +1,329 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="parallel_scan Template Function">
+<meta name="DC.subject" content="parallel_scan Template Function">
+<meta name="keywords" content="parallel_scan Template Function">
+<meta name="DC.Relation" scheme="URI" content="../../reference/algorithms.htm">
+<meta name="DC.Relation" scheme="URI" content="../../reference/algorithms/parallel_scan_func/pre_scan_tag_and_final_scan_tag_clses.htm">
+<meta name="DC.Relation" scheme="URI" content="parallel_scan_func/pre_scan_tag_and_final_scan_tag_clses.htm#pre_scan_tag_and_final_scan_tag_clses">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="parallel_scan_func">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../intel_css_styles.css">
+<title>parallel_scan Template Function</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="parallel_scan_func">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(2);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="parallel_scan_func"><!-- --></a>
+
+
+<h1 class="topictitle1">parallel_scan Template Function</h1>
+
+  
+ <div>
+  <div class="section"><h2 class="sectiontitle">Summary</h2> Template function that computes parallel prefix. </div>
+
+  <div class="section"><h2 class="sectiontitle">Header</h2> 
+<pre>#include "tbb/parallel_scan.h"</pre>
+ </div>
+
+ <div class="section"><h2 class="sectiontitle">Syntax</h2> <pre>
+template<typename Range, typename Body> 
+void parallel_scan( const Range& range, Body& body );
+
+template<typename Range, typename Body> 
+void parallel_scan( const Range& range, Body& body, const auto_partitioner& );
+
+template<typename Range, typename Body> 
+void parallel_scan( const Range& range, Body& body, const simple_partitioner& );
+</pre>
+</div>
+
+ <div class="section"><h2 class="sectiontitle">Description</h2><p>A <samp class="codeph">parallel_scan</samp>(<em>range</em>,<em>body</em>)
+    computes a parallel prefix, also known as parallel scan. This computation is an advanced concept
+    in parallel computing that is sometimes useful in scenarios that appear to have inherently
+    serial dependences.</p>
+<p>A mathematical definition of the parallel prefix is as follows. Let
+    × be an associative operation with left-identity element id<sub>×</sub>. 
+    The parallel prefix of × over a sequence <em>z</em><sub>0</sub>, <em>z</em><sub>1</sub>, ...<em>z</em><sub>n-1</sub> 
+    is a sequence <em>y</em><sub>0</sub>, <em>y</em><sub>1</sub>, <em>y</em><sub>2</sub>, ...<em>y</em><sub>n-1</sub> 
+    where:</p>
+<ul type="disc"> <li> y<sub>0</sub> = id<sub>×</sub> × z<sub>0</sub>
+    </li>
+
+    <li> y<sub>i</sub> = y<sub>i-1</sub> × z<sub>i</sub>
+    </li>
+
+   </ul>
+<p>For example, if × is addition, the parallel prefix corresponds a running sum. A
+    serial implementation of parallel prefix
+    is:</p>
+<pre>
+T temp = id<sub>×</sub>;
+for( int i=1; i<=n; ++i ) {
+    temp = temp × z[i];
+    y[i] = temp;
+}
+</pre><p>Parallel
+    prefix performs this in parallel by reassociating the application of × and using two
+    passes. It may invoke × up to twice as many times as the serial prefix algorithm. Given
+    the right grain size and sufficient hardware threads, it can out perform the serial prefix
+    because even though it does more work, it can distribute the work across more than one hardware
+    thread.</p>
+<div class="Note"><h3 class="NoteTipHead">
+					Tip</h3>
+    <p> Because <samp class="codeph">parallel_scan</samp> needs two passes, systems with only two hardware
+     threads tend to exhibit small speedup. <samp class="codeph">parallel_scan</samp> is best considered a
+     glimpse of a technique for future systems with more than two cores. It is nonetheless of
+     interest because it shows how a problem that appears inherently sequential can be
+     parallelized.</p>
+
+    <p>The template <samp class="codeph">parallel_scan<Range,Body></samp> implements parallel prefix
+     generically. It requires the signatures described in the table below.</p>
+
+   </div>
+<div class="tablenoborder"><table cellpadding="4" summary="" width="100%" frame="hsides" border="1" rules="all"><caption><span class="tablecap">parallel_scan Requirements</span></caption>
+     
+     
+     <thead align="left">
+      <tr>
+       <th class="cellrowborder" valign="top" width="50.24875621890548%" id="d7237e170">
+        <p>Pseudo-Signature </p>
+
+       </th>
+
+       <th class="row-nocellborder" valign="top" width="49.75124378109454%" id="d7237e176">
+        <p>Semantics </p>
+
+       </th>
+
+      </tr>
+
+     </thead>
+
+     <tbody>
+      <tr valign="top">
+       <td class="cellrowborder" valign="top" width="50.24875621890548%" headers="d7237e170 ">
+        <p><samp class="codeph">void Body::operator()( const Range& r, pre_scan_tag )
+         </samp>
+        </p>
+
+       </td>
+
+       <td class="row-nocellborder" valign="top" width="49.75124378109454%" headers="d7237e176 ">
+        <p> Accumulate summary for range <samp class="codeph">r</samp> . </p>
+
+       </td>
+
+      </tr>
+
+      <tr valign="top">
+       <td class="cellrowborder" valign="top" width="50.24875621890548%" headers="d7237e170 ">
+        <p><samp class="codeph">void Body::operator()( const Range& r, final_scan_tag )
+         </samp>
+        </p>
+
+       </td>
+
+       <td class="row-nocellborder" valign="top" width="49.75124378109454%" headers="d7237e176 ">
+        <p> Compute scan result and summary for range<samp class="codeph"> r</samp>.</p>
+
+       </td>
+
+      </tr>
+
+      <tr valign="top">
+       <td class="cellrowborder" valign="top" width="50.24875621890548%" headers="d7237e170 ">
+        <p><samp class="codeph">Body::Body( Body& b, split )</samp>
+        </p>
+
+       </td>
+
+       <td class="row-nocellborder" valign="top" width="49.75124378109454%" headers="d7237e176 ">
+        <p>Split <samp class="codeph">b</samp> so that <samp class="codeph">this</samp> and <samp class="codeph">b</samp> can
+         accumulate summaries separately. Body <samp class="codeph">*this</samp> is object <samp class="codeph">a</samp> in the table row
+         below.</p>
+
+       </td>
+
+      </tr>
+
+      <tr valign="top">
+       <td class="cellrowborder" valign="top" width="50.24875621890548%" headers="d7237e170 ">
+        <p><samp class="codeph"> void Body::reverse_join( Body& a )</samp>
+        </p>
+
+       </td>
+
+       <td class="row-nocellborder" valign="top" width="49.75124378109454%" headers="d7237e176 ">
+        <p> Merge summary accumulated by <samp class="codeph">a</samp> into summary accumulated by
+          <samp class="codeph">this</samp>, where <samp class="codeph">this</samp> was created earlier from <samp class="codeph">a</samp> by <samp class="codeph">a</samp>'s
+         splitting constructor. Body <samp class="codeph">*this</samp> is object <samp class="codeph">b</samp> in the table row above.</p>
+
+       </td>
+
+      </tr>
+
+      <tr valign="top">
+       <td class="cellrowborder" valign="top" width="50.24875621890548%" headers="d7237e170 ">
+        <p><samp class="codeph"> void Body::assign( Body& b )</samp></p>
+
+       </td>
+
+       <td class="row-nocellborder" valign="top" width="49.75124378109454%" headers="d7237e176 ">
+        <p>Assign summary of <samp class="codeph">b</samp> to <samp class="codeph">this</samp>.</p>
+
+       </td>
+
+      </tr>
+
+     </tbody>
+
+    </table>
+</div>
+<p>A summary contains enough information such that for two consecutive subranges <em>r</em>
+    and <em>s</em>:</p>
+<ul type="disc">
+    <li> If <em>r</em> has no preceding subrange, the scan result for <em>s</em> can be computed from
+     knowing <em>s</em> and the summary for <em>r</em>.</li>
+
+    <li> A summary of <em>r</em> concatenated with <em>s</em> can be computed from the summaries of <em>r</em>
+     and <em>s</em>.</li>
+
+   </ul>
+<p>For example, if computing a running sum of an array, the summary for a range <em>r</em> is
+    the sum of the array elements corresponding to <em>r</em>.</p>
+<p>The figure below shows one way that
+     <samp class="codeph">parallel_scan</samp> might compute the running sum of an array containing the
+    integers 1-16. Time flows downwards in the diagram. Each color denotes a separate <samp class="codeph">Body</samp> object.
+    Summaries are shown in brackets.</p>
+<ol>
+    <li> The first two steps split the original blue body into the pink and yellow bodies. Each body
+     operates on a quarter of the input array in parallel. The last quarter is processed later in
+     step 5.</li>
+
+    <li> The blue body computes the final scan and summary for 1-4. The pink and yellow bodies
+     compute their summaries by prescanning 5-8 and 9-12 respectively. </li>
+
+    <li> The pink body computes its summary for 1-8 by performing a reverse_join with the blue body. </li>
+
+    <li> The yellow body computes its summary for 1-12 by performing a reverse_join with the pink
+     body. </li>
+
+    <li> The blue, pink, and yellow bodies compute final scans and summaries for portions of the
+     array. </li>
+
+    <li> The yellow summary is assigned to the blue body. The pink and yellow bodies are destroyed.
+    </li>
+
+   </ol>
+<p>Note that two quarters of the array were not prescanned. The
+     <samp class="codeph">parallel_scan</samp> template makes an effort to avoid prescanning where possible, to
+    improve performance when there are only a few or no extra worker threads. If no other workers
+    are available, <samp class="codeph">parallel_scan</samp> processes the subranges without any pre_scans, by processing the
+    subranges from left to right using final scans. That's why final scans must compute a summary as
+    well as the final scan result. The summary might be needed to process the next subrange if no
+    worker thread has prescanned it yet.</p>
+<p><strong>Example Execution of
+     parallel_scan</strong></p>
+<img src="../Resources/parll_scan.jpg"><p>The following code demonstrates how the
+    signatures could be implemented to use <samp class="codeph">parallel_scan</samp> to compute the same result as the earlier
+    sequential example involving ×.
+    </p>
+<pre>
+using namespace tbb;
+
+class Body {
+    T sum;
+    T* const y;
+    const T* const z;
+public:
+    Body( T y_[], const T z_[] ) : sum(id<sub>×</sub>), z(z_), y(y_) {}
+    T get_sum() const {return sum;}
+
+    template<typename Tag>
+    void operator()( const blocked_range<int>& r, Tag ) {
+        T temp = sum;
+        for( int i=r.begin(); i<r.end(); ++i ) {
+            temp = temp × z[i];
+            if( Tag::is_final_scan() )
+                y[i] = temp;
+        }
+        sum = temp;
+    }
+    Body( Body& b, split ) : z(b.z), y(b.y), sum(id<sub>×</sub>) {}
+    void reverse_join( Body& a ) { sum = a.sum ןƒ… sum;}
+    void assign( Body& b ) {sum = b.sum;}
+};
+
+float DoParallelScan( T y[], const T z[], int n ) {
+    Body body(y,z);
+    parallel_scan( blocked_range<int>(0,n), body );
+    return body.get_sum();
+}
+</pre><p>The
+    definition of <samp class="codeph">operator()</samp> demonstrates typical patterns when using
+     <samp class="codeph">parallel_scan</samp>.</p>
+<ul type="disc">
+    <li> A single template defines both versions. Doing so is not required, but usually saves coding
+     effort, because the two versions are usually similar. The library defines static method
+      <samp class="codeph">is_final_scan(</samp>) to enable differentiation between the versions.</li>
+
+      <li> The prescan variant computes the × reduction, but does not update
+      <samp class="codeph">y</samp>. The prescan is used by <samp class="codeph">parallel_scan</samp> to generate
+     look-ahead partial reductions.</li>
+
+      <li> The final scan variant computes the × reduction and updates
+      <samp class="codeph">y</samp>.</li>
+
+   </ul>
+<p>The operation <samp class="codeph">reverse_join</samp> is similar to the operation
+     <samp class="codeph">join</samp> used by <samp class="codeph">parallel_reduce</samp>, except that the arguments are
+    reversed. That is, <samp class="codeph">this</samp> is the <em>right</em> argument of ×.
+    Template function <samp class="codeph">parallel_scan</samp> decides if and when to generate parallel work.
+    It is thus crucial that × is associative and that the methods of Body faithfully represent it.
+    Operations such as floating-point addition that are somewhat associative can be used, with the
+    understanding that the results may be rounded differently depending upon the association used by
+     <samp class="codeph">parallel_scan</samp>. The reassociation may differ between runs even on the same
+    machine. However, if there are no worker threads available, execution associates identically to
+    the serial form shown at the beginning of this section.</p>
+<p>If you change the example to use a
+     <samp class="codeph">simple_partitioner</samp>, be sure to provide a grainsize. The code below shows the
+    how to do this for a grainsize of
+   1000:</p>
+<pre>parallel_scan(blocked_range<int>(0,n,1000), total, 
+                                     simple_partitioner() );
+</pre></div>
+
+
+</div>
+
+ 
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../reference/algorithms.htm">Algorithms</a></div>
+</div>
+<div class="See Also">
+<ul class="ullinks">
+<li class="ulchildlink"><a href="../../reference/algorithms/parallel_scan_func/pre_scan_tag_and_final_scan_tag_clses.htm">pre_scan_tag and final_scan_tag Classes</a><br>
+</li>
+</ul>
+
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="parallel_scan_func/pre_scan_tag_and_final_scan_tag_clses.htm#pre_scan_tag_and_final_scan_tag_clses">pre_scan_tag and final_scan_tag Classes</a> </div></div>
+</div> 
+
+</body>
+</html>
diff --git a/doc/help/reference/algorithms/parallel_scan_func/pre_scan_tag_and_final_scan_tag_clses.htm b/doc/help/reference/algorithms/parallel_scan_func/pre_scan_tag_and_final_scan_tag_clses.htm
new file mode 100755
index 0000000..231fba8
--- /dev/null
+++ b/doc/help/reference/algorithms/parallel_scan_func/pre_scan_tag_and_final_scan_tag_clses.htm
@@ -0,0 +1,121 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="pre_scan_tag and final_scan_tag Classes">
+<meta name="DC.Relation" scheme="URI" content="../../../reference/algorithms/parallel_scan_func.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="pre_scan_tag_and_final_scan_tag_clses">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../../intel_css_styles.css">
+<title>pre_scan_tag and final_scan_tag Classes</title>
+</head>
+<body id="pre_scan_tag_and_final_scan_tag_clses">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(3);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="pre_scan_tag_and_final_scan_tag_clses"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">pre_scan_tag and final_scan_tag Classes</h1>
+
+  
+  <div> 
+	 <div class="section"><h2 class="sectiontitle">Summary</h2> 
+		 Types that distinguish the phases of 
+		<samp class="codeph">parallel_scan</samp>. 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Header</h2> 
+		 
+		<p> 
+		  <pre> #include "tbb/parallel_scan.h"</pre> 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Syntax</h2> 
+		 
+		<pre>struct pre_scan_tag; 
+struct final_scan_tag;</pre> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Description</h2> 
+		 
+		<p>Types 
+		  <samp class="codeph">pre_scan_tag</samp> and 
+		  <samp class="codeph">final_scan_tag</samp> are dummy types used in conjunction
+		  with 
+		  <samp class="codeph">parallel_scan</samp>. See the example in the parallel_scan
+		  Template Function section for how they are used in the signature of 
+		  <samp class="codeph">operator()</samp>. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Members</h2> 
+		 
+		<pre>namespace tbb {
+
+    struct pre_scan_tag {
+        static bool is_final_scan();
+    };
+
+    struct final_scan_tag {
+        static bool is_final_scan();
+    };
+
+}
+</pre> 
+	 </div>
+ 
+	 <div class="section"> 
+		
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"><span class="tabledesc">The following table provides additional information on the member
+			 of this template class. 
+		  </span><thead align="left"> 
+				<tr> 
+				  <th class="cellrowborder" valign="top" width="33.89830508474576%" id="d8383e85">Member 
+				  </th>
+ 
+				  <th class="cellrowborder" valign="top" width="66.10169491525423%" id="d8383e88">Description 
+				  </th>
+ 
+				</tr>
+</thead>
+ 
+			 <tbody> 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d8383e85 "><span class="keyword">bool is_final_scan()</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d8383e88 "> 
+					 <p>True for a 
+						<samp class="codeph">final_scan_tag</samp>, otherwise false. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+			 </tbody>
+ 
+		  </table>
+</div>
+ 
+		 
+	 </div>
+ 
+  </div>
+
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../../reference/algorithms/parallel_scan_func.htm">parallel_scan Template Function</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/reference/algorithms/parallel_sort_func.htm b/doc/help/reference/algorithms/parallel_sort_func.htm
new file mode 100755
index 0000000..58be72c
--- /dev/null
+++ b/doc/help/reference/algorithms/parallel_sort_func.htm
@@ -0,0 +1,171 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="parallel_sort Template Function">
+<meta name="DC.subject" content="parallel_sort Template Function">
+<meta name="keywords" content="parallel_sort Template Function">
+<meta name="DC.Relation" scheme="URI" content="../../reference/algorithms.htm">
+<meta name="DC.Relation" scheme="URI" content="../task_scheduler/task_scheduler_init_cls.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="parallel_sort_func">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../intel_css_styles.css">
+<title>parallel_sort Template Function</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="parallel_sort_func">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(2);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="parallel_sort_func"><!-- --></a>
+
+
+<h1 class="topictitle1">parallel_sort Template Function</h1>
+
+  
+
+<div>
+ <div class="section"><h2 class="sectiontitle">Summary</h2> Sort a sequence. </div>
+
+ <div class="section"><h2 class="sectiontitle">Header</h2> 
+<pre>#include "tbb/parallel_sort.h"</pre>
+ </div>
+
+ <div class="section"><h2 class="sectiontitle">Syntax</h2> 
+<pre>template<typename RandomAccessIterator> 
+void parallel_sort(RandomAccessIterator begin, RandomAccessIterator end);
+
+template<typename RandomAccessIterator, typename Compare>
+void parallel_sort(RandomAccessIterator begin, 
+                   RandomAccessIterator end, 
+                   const Compare& comp );
+</pre></div>
+
+ <div class="section"><h2 class="sectiontitle">Description</h2> <p> Performs an <em>unstable</em> sort of sequence [<em>begin1</em>, <em>end1</em>). An unstable sort
+    might not preserve the relative ordering of elements with equal keys. The sort is deterministic;
+    sorting the same sequence will produce the same result each time. The requirements on the
+    iterator and sequence are the same as for<samp class="codeph"> std::sort</samp> . Specifically,
+     <samp class="codeph">RandomAccessIterator</samp> must be a random access iterator, and its value type
+     <em>T</em> must model the requirements in the table below.</p>
+
+		
+<div class="tablenoborder"><table cellpadding="4" summary="" width="100%" frame="hsides" border="1" rules="all"><caption><span class="tablecap">Requirements on Value Type T of RandomAccessIterator
+     for parallel_sort</span></caption> 
+			 <thead align="left"> 
+				<tr> 
+				  <th class="cellrowborder" valign="top" id="d8660e85"> 
+					 <p>Pseudo-Signature 
+					 </p>
+ 
+				  </th>
+ 
+				  <th class="row-nocellborder" valign="top" id="d8660e91"> 
+					 <p>Semantics 
+					 </p>
+ 
+				  </th>
+ 
+				</tr>
+</thead>
+ 
+			 <tbody> 
+				<tr valign="top"> 
+				  <td class="cellrowborder" valign="top" headers="d8660e85 "> 
+					 <p><samp class="codeph">  void swap( T& x, T& y )</samp> 
+					 </p>
+ 
+				  </td>
+ 
+				  <td class="row-nocellborder" valign="top" headers="d8660e91 "> 
+					 <p> Swap <samp class="codeph">x</samp> and <samp class="codeph">y</samp> .</p>
+
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr valign="top"> 
+				  <td class="cellrowborder" valign="top" headers="d8660e85 "> 
+					 <p><samp class="codeph">  bool Compare::operator()(
+const T& x, const T& y
+)</samp> 
+					  </p>
+
+ 
+				  </td>
+ 
+				  <td class="row-nocellborder" valign="top" headers="d8660e91 "> 
+					 <p> True if <samp class="codeph">x</samp> comes before <samp class="codeph">y</samp> ; false
+         otherwise.</p>
+
+ 
+				  </td>
+ 
+				</tr>
+ 
+			 </tbody>
+ 
+		  </table>
+</div>
+ 
+<p>A call <samp class="codeph">parallel_sort(i,j,comp)</samp> sorts the <samp class="codeph">sequence [i,j)</samp> using
+    the argument <samp class="codeph">comp</samp> to determine relative orderings. If
+     <samp class="codeph">comp(x,y)</samp> returns <samp class="codeph">true</samp> then <samp class="codeph">x</samp> appears before <samp class="codeph">y</samp> in the sorted
+    sequence.</p>
+
+<p>A call <samp class="codeph">parallel_sort(i,j)</samp> is equivalent to
+     <samp class="codeph">parallel_sort(i,j,std::less<T>)</samp>.</p>
+
+<p> <strong>Complexity</strong></p>
+
+<p><samp class="codeph"> parallel_sort</samp> is comparison sort with an average time complexity of <em>O(N
+     log (N))</em>, where <em>N</em> is the number of elements in the sequence. When
+    worker threads are available, <samp class="codeph">parallel_sort</samp> creates subtasks that may be
+    executed concurrently, leading to improved execution times.</p>
+
+<p><strong>Example</strong></p>
+<p>The following example shows two sorts. The sort of array <samp class="codeph">a</samp> uses the default
+    comparison, which sorts in ascending order. The sort of array <samp class="codeph">b</samp> sorts in descending order by
+    using <samp class="codeph">std::greater<float></samp> for comparison.</p>
+<pre>#include "tbb/parallel_sort.h"
+#include <math.h>
+
+using namespace tbb;
+
+const int N = 100000;
+float a[N];
+float b[N];
+
+void SortExample() {
+    for( int i = 0; i < N; i++ ) {
+       a[i] = sin((double)i);
+       b[i] = cos((double)i);
+    }
+    parallel_sort(a, a + N);
+    parallel_sort(b, b + N, std::greater<float>());
+}
+</pre></div>
+
+
+</div>
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../reference/algorithms.htm">Algorithms</a></div>
+</div>
+<div class="See Also">
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="../task_scheduler/task_scheduler_init_cls.htm">task_scheduler_init 
+		  class</a></div></div>
+</div>
+ 
+</body>
+</html>
diff --git a/doc/help/reference/algorithms/partitioners.htm b/doc/help/reference/algorithms/partitioners.htm
new file mode 100755
index 0000000..3acb0c3
--- /dev/null
+++ b/doc/help/reference/algorithms/partitioners.htm
@@ -0,0 +1,186 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="Partitioners">
+<meta name="DC.subject" content="Partitioners">
+<meta name="keywords" content="Partitioners">
+<meta name="DC.Relation" scheme="URI" content="../../reference/algorithms.htm">
+<meta name="DC.Relation" scheme="URI" content="../../reference/algorithms/partitioners/auto_partitioner_cls.htm">
+<meta name="DC.Relation" scheme="URI" content="../../reference/algorithms/partitioners/affinity_partitioner.htm">
+<meta name="DC.Relation" scheme="URI" content="../../reference/algorithms/partitioners/simple_partitioner_cls.htm">
+<meta name="DC.Relation" scheme="URI" content="parallel_for_func.htm#parallel_for_func">
+<meta name="DC.Relation" scheme="URI" content="parallel_reduce_func.htm#parallel_reduce_func">
+<meta name="DC.Relation" scheme="URI" content="parallel_scan_func.htm#parallel_scan_func">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="partitioners">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../intel_css_styles.css">
+<title>Partitioners</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="partitioners">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(2);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="partitioners"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Partitioners</h1>
+ 
+	 
+  <div> 
+	 <div class="section"><h2 class="sectiontitle">Summary</h2> 
+		 
+		<p>A partitioner specifies how a loop template should partition its work
+		  among threads. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle"> Description</h2> 
+		 
+		<p>The default behavior of the loop templates<samp class="codeph"> parallel_for</samp>,
+					<samp class="codeph">parallel_reduce</samp>, and <samp class="codeph">parallel_scan</samp> tries to
+				recursively split a range into enough parts to keep processors busy, not necessarily
+				splitting as finely as possible. An optional partitioner parameter enables other
+				behaviors to be specified, as shown in the table below. The first column of the table shows
+				how the formal parameter is declared in the loop templates. An<samp class="codeph">
+					affinity_partitioner</samp> is passed by non-const reference because it is
+				updated to remember where loop iterations run. </p>
+ 
+		<p> 
+		
+<div class="tablenoborder"><table cellpadding="4" summary="" width="100%" frame="hsides" border="1" rules="all"><caption><span class="tablecap">Partitioners</span></caption> 
+			 <thead align="left"> 
+				<tr> 
+				  <th class="cellrowborder" valign="top" id="d9145e71"> 
+					 <p> Partitioner 
+					 </p>
+ 
+				  </th>
+ 
+				  <th class="row-nocellborder" valign="top" id="d9145e77"> 
+					 <p> Loop Behavior 
+					 </p>
+ 
+				  </th>
+ 
+				</tr>
+</thead>
+ 
+			 <tbody> 
+				<tr valign="top"> 
+				  <td class="cellrowborder" valign="top" headers="d9145e71 "> 
+					 <p><samp class="codeph">const auto_partitioner&
+						  (default)</samp> 
+					 </p>
+ 
+					  
+						<div class="Note"><h3 class="NoteTipHead">
+					Note</h3><p>In Intel® Threading Building Blocks (Intel® TBB) 2.1, <samp class="codeph">simple_partitioner</samp> was the default. Intel®
+											TBB 2.2 changed the default to
+												<samp class="codeph">auto_partitioner</samp> to simplify common
+											usage of the loop templates. To get the old default,
+											compile with the preprocessor symbol
+												<samp class="codeph">TBB_DEPRECATED=1</samp>. </p>
+</div> 
+					  
+				  </td>
+ 
+				  <td class="row-nocellborder" valign="top" headers="d9145e77 "> 
+					 <p>Performs sufficient splitting to balance load, not necessarily splitting
+										as finely as <samp class="codeph">Range::is_divisible</samp> permits.
+										When used with classes such as
+											<samp class="codeph">blocked_range</samp>, the selection of an
+										appropriate grainsize is less important, and often
+										acceptable performance can be achieved with the default
+										grain size of 1. </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr valign="top"> 
+				  <td class="cellrowborder" valign="top" headers="d9145e71 "> 
+					 <p><samp class="codeph">affinity_partitioner&</samp> 
+					 </p>
+ 
+				  </td>
+ 
+				  <td class="row-nocellborder" valign="top" headers="d9145e77 "> 
+					 <p> Similar to <samp class="codeph">auto_partitioner</samp>, but improves cache
+										affinity by its choice of mapping subranges to worker
+										threads. It can improve performance significantly when a
+										loop is re-executed over the same data set, and the data set
+										fits in cache. </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr valign="top"> 
+				  <td class="cellrowborder" valign="top" headers="d9145e71 "> 
+					 <p><samp class="codeph">const simple_partitioner& 
+						</samp> 
+					 </p>
+ 
+				  </td>
+ 
+				  <td class="row-nocellborder" valign="top" headers="d9145e77 "> 
+					 <p>Recursively splits a range until it is no longer divisible. The
+											<samp class="codeph">Range::is_divisible</samp> function is wholly
+										responsible for deciding when recursive splitting halts.
+										When used with classes such as
+											<samp class="codeph">blocked_range</samp>, the selection of an
+										appropriate grainsize is critical to enabling concurrency
+										while limiting overheads (see the discussion in the blocked_range Template Class section). </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+			 </tbody>
+ 
+		  </table>
+</div>
+ 
+		</p>
+ 
+	 </div>
+ 
+  </div>
+ 
+  
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../reference/algorithms.htm">Algorithms</a></div>
+</div>
+<div class="See Also">
+<ul class="ullinks">
+<li class="ulchildlink"><a href="../../reference/algorithms/partitioners/auto_partitioner_cls.htm">auto_partitioner Class</a><br>
+</li>
+<li class="ulchildlink"><a href="../../reference/algorithms/partitioners/affinity_partitioner.htm">affinity_partitioner</a><br>
+</li>
+<li class="ulchildlink"><a href="../../reference/algorithms/partitioners/simple_partitioner_cls.htm">simple_partitioner Class</a><br>
+</li>
+</ul>
+
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="parallel_for_func.htm#parallel_for_func">parallel_for Template Function
+		  </a></div>
+<div><a href="parallel_reduce_func.htm#parallel_reduce_func">parallel_reduce Template Function
+		  </a></div>
+<div><a href="parallel_scan_func.htm#parallel_scan_func">parallel_scan Template Function
+		  </a></div></div>
+</div> 
+
+</body>
+</html>
diff --git a/doc/help/reference/algorithms/partitioners/affinity_partitioner.htm b/doc/help/reference/algorithms/partitioners/affinity_partitioner.htm
new file mode 100755
index 0000000..e23c752
--- /dev/null
+++ b/doc/help/reference/algorithms/partitioners/affinity_partitioner.htm
@@ -0,0 +1,224 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="affinity_partitioner">
+<meta name="DC.subject" content="affinity_partitioner">
+<meta name="keywords" content="affinity_partitioner">
+<meta name="DC.Relation" scheme="URI" content="../../../reference/algorithms/partitioners.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="affinity_partitioner">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../../intel_css_styles.css">
+<title>affinity_partitioner</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="affinity_partitioner">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(3);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="affinity_partitioner"><!-- --></a>
+
+
+  <h1 class="topictitle1">affinity_partitioner</h1>
+ 
+  
+  <div> 
+	 <div class="section"><h2 class="sectiontitle">Summary</h2> 
+		 
+		<p>Hint that loop iterations should be assigned to threads in a way that
+		  optimizes for cache affinity.
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Header</h2> 
+		
+		<pre>#include "tbb/partitioner.h"</pre> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Syntax</h2> 
+		
+		<pre> class affinity_partitioner;</pre>
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Description</h2> 
+		 
+		<p>An 
+		  <samp class="codeph">affinity_partitioner</samp> hints that execution of a loop
+		  template should assign iterations to the same processors as another execution
+		  of the loop (or another loop) with the same 
+		  <samp class="codeph">affinity_partitioner</samp> object.
+		</p>
+
+		<p>Unlike the other partitioners, it is important that the same 
+		  <samp class="codeph">affinity_partitioner</samp> object be passed to the loop
+		  templates to be optimized for affinity. The Tutorial section on "Bandwidth and
+		  Cache Affinity" discusses affinity effects in detail. 
+		</p>
+ 
+		<div class="Note"><h3 class="NoteTipHead">
+					Tip</h3>
+		  <p> The affinity_partitioner generally improves performance only when: 
+		  </p>
+
+		  <ul type="disc">
+			 <li>The computation does a few operations per data access.
+			 </li>
+
+			 <li>The data acted upon by the loop fits in cache.
+			 </li>
+
+			 <li> The loop, or a similar loop, is re-executed over the same data. 
+			 </li>
+
+			 <li>There are more than two hardware threads available.
+			 </li>
+
+		  </ul>
+
+		</div>
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Members</h2> 
+		
+		<pre>
+namespace tbb {
+    class affinity_partitioner {
+    public:
+        affinity_partitioner();
+        ~affinity_partitioner();
+    }
+}
+</pre> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Example</h2> 
+		
+		<p>The following example can benefit from cache
+		  affinity. The example simulates a one dimensional additive automaton.
+		</p>
+
+		<p> 
+		  <pre>
+#include "tbb/blocked_range.h"
+#include "tbb/parallel_for.h"
+#include "tbb/partitioner.h"
+
+using namespace tbb;
+
+const int N = 1000000;
+typedef unsigned char Cell;
+Cell Array[2][N];
+int FlipFlop;
+
+struct TimeStepOverSubrange {
+    void operator()( const blocked_range<int>& r ) const {
+        int j = r.end();
+        const Cell* x = Array[FlipFlop];
+        Cell* y = Array[!FlipFlop];
+        for( int i=r.begin(); i!=j; ++i ) 
+            y[i] = x[i]^x[i+1];
+    }
+};
+
+
+void DoAllTimeSteps( int m ) {
+    affinity_partitioner ap;
+    for( int k=0; k<m; ++k ) {
+        parallel_for( blocked_range<int>(0,N-1), 
+                      TimeStepOverSubrange(),
+                      ap );
+        FlipFlop ^= 1;
+    }
+}
+</pre>
+		</p>
+
+		<p>For each time step, the old state of the automaton is read from 
+		  <samp class="codeph">Array[FlipFlop]</samp>, and the new state is written into 
+		  <samp class="codeph">Array[!FlipFlop]</samp>. Then 
+		  <samp class="codeph">FlipFlop</samp> flips to make the new state become the old
+		  state. The aggregate size of both states is about 2 MByte, which fits in most
+		  modern processors' cache. Improvements ranging from 50%-200% have been observed
+		  for this example on 8 core machines, compared with using an 
+		  <samp class="codeph">auto_partitioner</samp> instead.
+		</p>
+
+		<p>The<samp class="codeph"> affinity_partitioner</samp> must live between loop
+		  iterations. The example accomplishes this by declaring it outside the loop that
+		  executes all iterations. An alternative would be to declare the 
+		  <samp class="codeph">affinity partitioner</samp> at the file scope, which works as
+		  long as 
+		  <samp class="codeph">DoAllTimeSteps</samp> itself is not invoked concurrently. The
+		  same instance of 
+		  <samp class="codeph">affinity_partitioner</samp> should not be passed to two
+		  parallel algorithm templates that are invoked concurrently. Use separate
+		  instances instead.
+		</p>
+ 
+	 </div>
+ 
+	 
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"><span class="tabledesc">The following table provides additional information on the members
+		  of this template class. 
+		</span><thead align="left"> 
+			 <tr> 
+				<th class="cellrowborder" valign="top" width="33.89830508474576%" id="d9558e163">Member 
+				</th>
+ 
+				<th class="cellrowborder" valign="top" width="66.10169491525423%" id="d9558e166">Description 
+				</th>
+ 
+			 </tr>
+</thead>
+ 
+		  <tbody> 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d9558e163 "><span class="keyword">affinity_partitioner()</span> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d9558e166 "> 
+				  <p> Construct an 
+					 <samp class="codeph">affinity_partitioner</samp>. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d9558e163 "><span class="keyword">~affinity_partitioner()</span> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d9558e166 "> 
+				  <p>Destroy this 
+					 <samp class="codeph">affinity_partitioner</samp>. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+		  </tbody>
+ 
+		</table>
+</div>
+ 
+  </div>
+ 
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../../reference/algorithms/partitioners.htm">Partitioners</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/reference/algorithms/partitioners/auto_partitioner_cls.htm b/doc/help/reference/algorithms/partitioners/auto_partitioner_cls.htm
new file mode 100755
index 0000000..6d6b247
--- /dev/null
+++ b/doc/help/reference/algorithms/partitioners/auto_partitioner_cls.htm
@@ -0,0 +1,156 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="auto_partitioner Class">
+<meta name="DC.subject" content="auto_partitioner Class">
+<meta name="keywords" content="auto_partitioner Class">
+<meta name="DC.Relation" scheme="URI" content="../../../reference/algorithms/partitioners.htm">
+<meta name="DC.Relation" scheme="URI" content="../../task_scheduler/task_scheduler_init_cls.htm#task_scheduler_init_cls">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="auto_partitioner_cls">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../../intel_css_styles.css">
+<title>auto_partitioner Class</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="auto_partitioner_cls">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(3);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="auto_partitioner_cls"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">auto_partitioner Class</h1>
+ 
+   
+  <div> 
+	 <div class="section"><h2 class="sectiontitle">Summary</h2> 
+		 
+		<p> Specify that a parallel loop should optimize its range subdivision
+		  based on work-stealing events. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Header</h2> 
+		 
+		<pre>#include "tbb/partitioner.h"</pre> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Syntax</h2> 
+		 
+		<pre>class auto_partitioner;</pre> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Description</h2> 
+		 
+		<p>A loop template with an 
+		  <samp class="codeph">auto_partitioner</samp> attempts to minimize range splitting
+		  while providing ample opportunities for work-stealing. 
+		</p>
+ 
+		<p>The range subdivision is initially limited to S subranges, where S is
+		  proportional to the number of threads specified by the 
+		  <samp class="codeph">task_scheduler_init</samp>. Each of these subranges is not
+		  divided further unless it is stolen by an idle thread. If stolen, it is further
+		  subdivided to create additional subranges. Thus a loop template with an 
+		  <samp class="codeph">auto_partitioner</samp> creates additional subranges only
+		  when necessary to balance load. 
+		</p>
+ 
+		<div class="Note"><h3 class="NoteTipHead">
+					Tip</h3> 
+		  <p> When using 
+			 <samp class="codeph">auto_partitioner</samp> and a 
+			 <samp class="codeph">blocked_range</samp> for a parallel loop, the body may be
+			 passed a subrange larger than the 
+			 <samp class="codeph">blocked_range</samp>'s grainsize. Therefore do not assume
+			 that the grainsize is an upper bound on the size of the subrange. Use a<samp class="codeph">
+				simple_partitioner</samp> if an upper bound is required. 
+		  </p>
+ 
+		</div> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Members</h2> 
+		 
+		<pre> 
+namespace tbb {
+    class auto_partitioner {
+    public:
+        auto_partitioner();
+        ~auto_partitioner();
+    }
+}
+</pre> 
+		
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"><span class="tabledesc">The following table provides additional information on the
+			 members of this template class. 
+		  </span><thead align="left"> 
+				<tr> 
+				  <th class="cellrowborder" valign="top" width="33.89830508474576%" id="d10004e113">Member 
+				  </th>
+ 
+				  <th class="cellrowborder" valign="top" width="66.10169491525423%" id="d10004e116">Description 
+				  </th>
+ 
+				</tr>
+</thead>
+ 
+			 <tbody> 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d10004e113 "><span class="keyword">auto_partitioner()</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d10004e116 "> 
+					 <p> Construct an 
+						<samp class="codeph">auto_partitioner</samp>. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d10004e113 "><span class="keyword">~auto_partitioner()</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d10004e116 "> 
+					 <p>Destroy this 
+						<samp class="codeph">auto_partitioner</samp>. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+			 </tbody>
+ 
+		  </table>
+</div>
+ 
+	 </div>
+ 
+  </div>
+ 
+  
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../../reference/algorithms/partitioners.htm">Partitioners</a></div>
+</div>
+<div class="See Also">
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="../../task_scheduler/task_scheduler_init_cls.htm#task_scheduler_init_cls">task_scheduler_init Class
+		  </a></div></div>
+</div> 
+
+</body>
+</html>
diff --git a/doc/help/reference/algorithms/partitioners/simple_partitioner_cls.htm b/doc/help/reference/algorithms/partitioners/simple_partitioner_cls.htm
new file mode 100755
index 0000000..8e9f994
--- /dev/null
+++ b/doc/help/reference/algorithms/partitioners/simple_partitioner_cls.htm
@@ -0,0 +1,149 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="simple_partitioner Class">
+<meta name="DC.subject" content="simple_partitioner Class">
+<meta name="keywords" content="simple_partitioner Class">
+<meta name="DC.Relation" scheme="URI" content="../../../reference/algorithms/partitioners.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="simple_partitioner_cls">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../../intel_css_styles.css">
+<title>simple_partitioner Class</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="simple_partitioner_cls">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(3);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="simple_partitioner_cls"><!-- --></a>
+
+
+  <h1 class="topictitle1">simple_partitioner Class</h1>
+ 
+   
+  <div>
+	 <div class="section"><h2 class="sectiontitle">Summary</h2> 
+		 
+		<p>Specify that a parallel loop should recursively split its range until
+		  it cannot be subdivided further.
+		</p>
+ 
+	 </div>
+
+	 <div class="section"><h2 class="sectiontitle">Header</h2> 
+		 
+		<pre>#include "tbb/partitioner.h"</pre>
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Syntax</h2> 
+		 
+		<pre>class simple_partitioner;</pre>
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Description</h2> 
+		 
+		<p>A 
+		  <samp class="codeph">simple_partitioner</samp> specifies that a loop template
+		  should recursively divide its range until for each subrange 
+		  <em>r</em>, the condition 
+		  <samp class="codeph">!r.is_divisible()</samp> holds. This is the default behavior
+		  of the loop templates that take a range argument.
+		</p>
+ 
+		<div class="Note"><h3 class="NoteTipHead">
+					Tip</h3>
+		  <p>When using 
+			 <samp class="codeph">simple_partitioner</samp> and a 
+			 <samp class="codeph">blocked_range</samp> for a parallel loop, be careful to
+			 specify an appropriate grainsize for the 
+			 <samp class="codeph"></samp>blocked_range. The default grainsize is 1, which may make
+			 the subranges much too small for efficient execution.
+		  </p>
+
+		</div>
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Members</h2> 
+		 
+		<pre> 
+namespace tbb {
+    class simple_partitioner {
+    public:
+        simple_partitioner();
+        ~simple_partitioner();
+    }
+}
+</pre> 
+	 </div>
+
+	 <div class="section">
+		
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"><span class="tabledesc">The following table provides additional information on the
+			 members of this template class. 
+		  </span><thead align="left"> 
+				<tr> 
+				  <th class="cellrowborder" valign="top" width="33.89830508474576%" id="d10360e110">Member 
+				  </th>
+ 
+				  <th class="cellrowborder" valign="top" width="66.10169491525423%" id="d10360e113">Description 
+				  </th>
+ 
+				</tr>
+</thead>
+ 
+			 <tbody> 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d10360e110 "><span class="keyword">simle_partitioner()</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d10360e113 "> 
+					 <p> Construct an 
+						<samp class="codeph">simple_partitioner</samp>. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d10360e110 "><span class="keyword">~simple_partitioner()</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d10360e113 "> 
+					 <p>Destroy this 
+						<samp class="codeph">simple_partitioner</samp>. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+			 </tbody>
+ 
+		  </table>
+</div>
+
+	 </div>
+
+	 <div class="section">
+	 </div>
+ 
+  </div>
+ 
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../../reference/algorithms/partitioners.htm">Partitioners</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/reference/algorithms/pipeline_cls.htm b/doc/help/reference/algorithms/pipeline_cls.htm
new file mode 100755
index 0000000..a31533d
--- /dev/null
+++ b/doc/help/reference/algorithms/pipeline_cls.htm
@@ -0,0 +1,274 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="pipeline Class">
+<meta name="DC.subject" content="pipeline Class">
+<meta name="keywords" content="pipeline Class">
+<meta name="DC.Relation" scheme="URI" content="../../reference/algorithms.htm">
+<meta name="DC.Relation" scheme="URI" content="../../reference/algorithms/pipeline_cls/filter_cls.htm">
+<meta name="DC.Relation" scheme="URI" content="../../reference/algorithms/pipeline_cls/thread_bound_filter_cls.htm">
+<meta name="DC.Relation" scheme="URI" content="../task_scheduler/task_scheduler_init_cls.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="pipeline_cls">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../intel_css_styles.css">
+<title>pipeline Class</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="pipeline_cls">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(2);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="pipeline_cls"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">pipeline Class</h1>
+ 
+   
+  <div> 
+	 <div class="section"><h2 class="sectiontitle">Summary</h2> 
+		 Class that performs pipelined execution. 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Header</h2> 
+		 
+		<pre>#include "tbb/pipeline.h"</pre> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Syntax</h2> 
+		 
+		<pre>class pipeline; </pre> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Description</h2> 
+		 
+		<p>A 
+		  <samp class="codeph">pipeline</samp> represents pipelined application of a series
+		  of filters to a stream of items. Each filter operates in a particular mode:
+		  parallel, serial in-order, or serial out-of-order (MacDonald 2004). 
+		</p>
+ 
+		<p>A 
+		  <samp class="codeph">pipeline</samp> contains one or more filters, denoted here as
+		  
+		  <em>f<sub>i</sub></em> , where 
+		  <em>i</em> denotes the position of the filter in the pipeline. The
+		  pipeline starts with filter 
+		  <em>f</em><sub>0</sub>, followed by 
+		  <em>f</em><sub>1</sub>, 
+		  <em>f</em><sub>2</sub>, etc. The following steps describe how to use
+		  class pipeline. 
+		</p>
+ 
+		<ol> 
+		  <li>Derive each class 
+			 <em>f<sub>i</sub></em> from 
+			 <span class="keyword">filter</span>. The constructor for 
+			 <em>f<sub>i</sub></em> specifies its mode as a parameter to the
+			 constructor for base class 
+			 <span class="keyword">filter</span> 
+		  </li>
+ 
+		  <li>Override virtual method 
+			 <span class="keyword">filter::operator()</span> to perform the filter's action
+			 on the item, and return a pointer to the item to be processed by the next
+			 filter. The first filter 
+			 <em>f</em><sub>0</sub> generates the stream. It should return NULL if
+			 there are no more items in the stream. The return value for the last filter is
+			 ignored. 
+		  </li>
+ 
+		  <li>Create an instance of class 
+			 <span class="keyword">pipeline</span>. 
+		  </li>
+ 
+		  <li>Create instances of the filters 
+			 <em>f<sub>i</sub></em> and add them to the pipeline, in order from
+			 first to last. An instance of a filter can be added at most once to a pipeline.
+			 A filter should never be a member of more than one pipeline at a time. 
+		  </li>
+ 
+		  <li>Call method 
+			 <span class="keyword">pipeline::run</span> . The parameter 
+			 <samp class="codeph">max_number_of_live_tokens</samp> puts an upper bound on the
+			 number of stages that will be run concurrently. Higher values may increase
+			 concurrency at the expense of more memory consumption from having more items in
+			 flight. See the Tutorial, in the section on class 
+			 <span class="keyword">pipeline</span>, for more about effective use of 
+			 <samp class="codeph">max_number_of_live_tokens</samp>. 
+		  </li>
+ 
+		</ol>
+ 
+		<div class="Note"><h3 class="NoteTipHead">
+					Tip</h3> 
+		  <p> Given sufficient processors and tokens, the throughput of the
+			 pipeline is limited to the throughput of the slowest serial filter. 
+		  </p>
+ 
+		</div> 
+		<div class="Note"><h3 class="NoteTipHead">
+					Note</h3> 
+		  <p>Function 
+			 <samp class="codeph">parallel_pipeline</samp> provides a strongly typed
+			 lambda-friendly way to build and run pipelines. 
+		  </p>
+ 
+		</div> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Members</h2> 
+		 
+		<pre>namespace tbb {
+    class pipeline {
+     public:
+        pipeline();
+        ~pipeline();
+        void add_filter( filter& f );
+        void run( size_t max_number_of_live_tokens <em>[,</em> task_group_context& group<em> ]</em> );
+        void clear();
+    };
+}</pre> 
+		<div class="Note"><h3 class="NoteTipHead">
+					Note</h3> 
+		  <p>Though the current implementation declares the destructor virtual,
+			 do not rely on this detail. The virtual nature is deprecated and may disappear
+			 in future versions of Intel® Threading Building Blocks (Intel® TBB). 
+		  </p>
+ 
+		</div> 
+		
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"><span class="tabledesc">The following table provides additional information on the
+			 members of this template class. 
+		  </span><thead align="left"> 
+				<tr> 
+				  <th class="cellrowborder" valign="top" width="33.89830508474576%" id="d10716e203">Member 
+				  </th>
+ 
+				  <th class="cellrowborder" valign="top" width="66.10169491525423%" id="d10716e206">Description 
+				  </th>
+ 
+				</tr>
+</thead>
+ 
+			 <tbody> 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d10716e203 "><span class="keyword">pipeline()</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d10716e206 "> 
+					 <p> Constructs pipeline with no filters. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d10716e203 "><span class="keyword">~pipeline()</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d10716e206 "> 
+					 <p>Removes all filters from the pipeline and
+						destroys the pipeline. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d10716e203 "><span class="keyword">void add_filter( filter& f
+						)</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d10716e206 "> 
+					 <p> Appends filter 
+						<samp class="codeph"><em>f</em></samp> to sequence of filters in the
+						pipeline. The filter 
+						<samp class="codeph"><em>f</em></samp> must not already be in a pipeline. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d10716e203 "><span class="keyword">void run( size_t
+						max_number_of_live_tokens[, task_group_context& group] ) 
+					 </span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d10716e206 "> 
+					 <p> Runs the pipeline until the first filter returns NULL and
+						each subsequent filter has processed all items from its predecessor. The number
+						of items processed in parallel depends upon the structure of the pipeline and
+						number of available threads. At most 
+						<samp class="codeph">max_number_of_live_tokens</samp> are in flight at
+						any given time. 
+					 </p>
+ 
+					 <p> A pipeline can be run multiple times. It is safe to add
+						stages between runs. Concurrent invocations of run on the same instance of
+						pipeline are prohibited. 
+					 </p>
+ 
+					 <p> If the 
+						<samp class="codeph">group</samp> argument is specified, pipeline’s
+						tasks are executed in this group. By default the algorithm is executed in a
+						bound group of its own. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d10716e203 "><span class="keyword">void clear()</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d10716e206 "> 
+					 <p> Removes all filters from the pipeline. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+			 </tbody>
+ 
+		  </table>
+</div>
+ 
+	 </div>
+ 
+  </div>
+ 
+  
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../reference/algorithms.htm">Algorithms</a></div>
+</div>
+<div class="See Also">
+<ul class="ullinks">
+<li class="ulchildlink"><a href="../../reference/algorithms/pipeline_cls/filter_cls.htm">filter Class</a><br>
+</li>
+<li class="ulchildlink"><a href="../../reference/algorithms/pipeline_cls/thread_bound_filter_cls.htm">thread_bound_filter Class</a><br>
+</li>
+</ul>
+
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="../task_scheduler/task_scheduler_init_cls.htm">task_scheduler_init class 
+		  </a></div></div>
+</div>
+
+</body>
+</html>
diff --git a/doc/help/reference/algorithms/pipeline_cls/filter_cls.htm b/doc/help/reference/algorithms/pipeline_cls/filter_cls.htm
new file mode 100755
index 0000000..ee00f62
--- /dev/null
+++ b/doc/help/reference/algorithms/pipeline_cls/filter_cls.htm
@@ -0,0 +1,287 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="filter Class">
+<meta name="DC.subject" content="filter Class">
+<meta name="keywords" content="filter Class">
+<meta name="DC.Relation" scheme="URI" content="../../../reference/algorithms/pipeline_cls.htm">
+<meta name="DC.Relation" scheme="URI" content="../../appendices/compatibility_features.htm#compatibility_features">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="filter_cls">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../../intel_css_styles.css">
+<title>filter Class</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="filter_cls">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(3);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="filter_cls"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">filter Class</h1>
+ 
+   
+  <div> 
+	 <div class="section"><h2 class="sectiontitle">Summary</h2> 
+		 Abstract base class that represents a filter in a
+		pipeline. 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Header</h2> 
+		 
+		<pre>#include "tbb/pipeline.h" </pre> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Syntax</h2> 
+		 
+		<pre>class filter;</pre> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Description</h2> 
+		 
+		<p>A 
+		  <samp class="codeph">filter</samp> represents a filter in a 
+		  <samp class="codeph">pipeline</samp>(0).There are three modes of filters: 
+		</p>
+ 
+		<ul type="disc"> 
+		  <li> A 
+			 <samp class="codeph">parallel</samp> filter can process multiple items in
+			 parallel and in no particular order. 
+		  </li>
+ 
+		  <li> A 
+			 <samp class="codeph">serial_out_of_order</samp> filter processes items one at a
+			 time, and in no particular order. 
+		  </li>
+ 
+		  <li> A 
+			 <samp class="codeph">serial_in_order</samp> filter processes items one at a
+			 time. All 
+			 <samp class="codeph">serial_in_order</samp> filters in a pipeline process items
+			 in the same order. 
+		  </li>
+ 
+		</ul>
+ 
+		<p>The mode of 
+		  <samp class="codeph">filter</samp> is specified by an argument to the constructor.
+		  Parallel filters are preferred when practical because they permit parallel
+		  speedup. If a filter must be serial, the out of order variant is preferred when
+		  practical because it puts less contraints on processing order. 
+		</p>
+ 
+		<p> Class 
+		  <samp class="codeph">filter</samp> should only be used in conjunction with class 
+		  <samp class="codeph">pipeline</samp>(0). 
+		</p>
+ 
+		<div class="Note"><h3 class="NoteTipHead">
+					Tip</h3> 
+		  <p><strong> 
+				<em> 
+				</em></strong> Use a 
+			 <samp class="codeph">serial_in_order</samp> input filter if there are any
+			 subsequent 
+			 <samp class="codeph">serial_in_order</samp> stages that should process items in
+			 their input order. 
+		  </p>
+ 
+		</div> 
+		<div class="Note"><h3 class="NoteTipHead">
+					Caution</h3> 
+		  <p><strong> 
+				<em> 
+				</em></strong>Intel® Threading Building Blocks (Intel® TBB) 2.0 and prior treated parallel input stages as
+			 serial. Later versions of Intel® TBB can execute a parallel input stage in
+			 parallel, so if you specify such a stage, ensure that its 
+			 <samp class="codeph">operator()</samp> is thread safe. 
+		  </p>
+ 
+		</div> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Members</h2> 
+		 
+		<pre>namespace tbb {
+    class filter {
+    public:
+        enum mode {
+            parallel = <em>implementation-defined</em>,
+            serial_in_order = <em>implementation-defined</em>,
+            serial_out_of_order = <em>implementation-defined</em>
+        };
+        bool is_serial() const;
+        bool is_ordered() const;
+        virtual void* operator()( void* item ) = 0;
+        virtual void finalize( void* item ) {}
+        virtual ~filter();
+    protected:
+        filter( mode );
+    };
+} 
+</pre> 
+		
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"><span class="tabledesc">The following table provides additional information on the
+			 members of this template class. 
+		  </span><thead align="left"> 
+				<tr> 
+				  <th class="cellrowborder" valign="top" width="33.89830508474576%" id="d11466e164">Member 
+				  </th>
+ 
+				  <th class="cellrowborder" valign="top" width="66.10169491525423%" id="d11466e167">Description 
+				  </th>
+ 
+				</tr>
+</thead>
+ 
+			 <tbody> 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d11466e164 "><span class="keyword"> filter( mode filter_mode
+						)</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d11466e167 "> 
+					 <p>Constructs a filter of the specified
+						mode. 
+					 </p>
+ 
+					 <div class="Note"><h3 class="NoteTipHead">
+					Note</h3> 
+						<p>Intel® TBB 2.1 and prior had a similar constructor with a
+						  bool argument 
+						  <samp class="codeph">is_serial</samp>. That constructor exists but is
+						  deprecated (see Compatibility Features in the Appendices). 
+						</p>
+ 
+					 </div> 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d11466e164 "><span class="keyword">~filter()</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d11466e167 "> 
+					 <p>Destroys the filter. If the filter is in
+						a 
+						<samp class="codeph">pipeline</samp>, it is automatically removed from
+						that pipeline. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d11466e164 "><span class="keyword"> bool is_serial() const</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d11466e167 "> 
+					 <p><strong>Returns</strong>: False if filter mode is 
+						<samp class="codeph">parallel</samp>; true otherwise. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d11466e164 "><span class="keyword">bool is_ordered() const</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d11466e167 "> 
+					 <p><strong>Returns</strong>: True if filter mode is 
+						<samp class="codeph">serial_in_order</samp>, false otherwise. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d11466e164 "><span class="keyword">virtual void* operator()( void *
+						item )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d11466e167 "> 
+					 <p>The derived filter should override this
+						method to process an item and return a pointer to an item to be processed by
+						the next 
+						<samp class="codeph">filter</samp>. The item parameter is NULL for the
+						first filter in the pipeline. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: The first filter in a 
+						<samp class="codeph">pipeline</samp> should return NULL if there are no
+						more items to process. The result of the last filter in a pipeline is ignored. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d11466e164 "><span class="keyword">virtual void finalize( void * item
+						)</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d11466e167 "> 
+					 <p>A pipeline can be cancelled by user
+						demand or because of an exception. When a pipeline is cancelled, there may be
+						items returned by a filter's operator() that have not yet been processed by the
+						next filter. When a pipeline is cancelled, the next filter invokes 
+						<samp class="codeph">finalize()</samp> on each item instead of 
+						<samp class="codeph">operator()</samp>. In contrast to 
+						<samp class="codeph">operator()</samp>, method 
+						<samp class="codeph">finalize()</samp> does not return an item for
+						further processing. A derived filter should override 
+						<samp class="codeph">finalize()</samp> to perform proper cleanup for an
+						item. A pipeline will not invoke any further methods on the item. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: The default definition
+						has no effect. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+			 </tbody>
+
+		  </table>
+</div>
+ 
+	 </div>
+ 
+	 <div class="section"> 
+		 
+	 </div>
+ 
+  </div>
+ 
+  
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../../reference/algorithms/pipeline_cls.htm">pipeline Class</a></div>
+</div>
+<div class="See Also">
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="../../appendices/compatibility_features.htm#compatibility_features">Compatibility Features 
+		  </a></div></div>
+</div>
+
+</body>
+</html>
diff --git a/doc/help/reference/algorithms/pipeline_cls/thread_bound_filter_cls.htm b/doc/help/reference/algorithms/pipeline_cls/thread_bound_filter_cls.htm
new file mode 100755
index 0000000..fdc096a
--- /dev/null
+++ b/doc/help/reference/algorithms/pipeline_cls/thread_bound_filter_cls.htm
@@ -0,0 +1,339 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="thread_bound_filter Class">
+<meta name="DC.subject" content="thread_bound_filter Class">
+<meta name="keywords" content="thread_bound_filter Class">
+<meta name="DC.Relation" scheme="URI" content="../../../reference/algorithms/pipeline_cls.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="thread_bound_filter_cls">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../../intel_css_styles.css">
+<title>thread_bound_filter Class</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="thread_bound_filter_cls">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(3);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="thread_bound_filter_cls"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">thread_bound_filter Class</h1>
+ 
+   
+  <div> 
+	 <div class="section"><h2 class="sectiontitle">Summary</h2> 
+		 Abstract base class that represents a filter in a
+		pipeline that a thread must service explicitly. 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Header</h2> 
+		 
+		<pre>#include "tbb/pipeline.h" </pre> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Syntax</h2> 
+		 
+		<pre> class thread_bound_filter;</pre> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Description</h2> 
+		 
+		<p>A 
+		  <samp class="codeph">thread_bound_filter</samp> is a special kind of 
+		  <samp class="codeph">filter</samp> that is explicitly serviced by a particular
+		  thread. It is useful when a filter must be executed by a particular thread. 
+		</p>
+ 
+		<div class="Note"><h3 class="NoteTipHead">
+					Caution</h3> 
+		  <p>Use 
+			 <samp class="codeph">thread_bound_filter</samp> only if you need a filter to be
+			 executed on a particular thread. The thread that services a 
+			 <samp class="codeph">thread_bound_filter</samp> must not be the thread that
+			 calls 
+			 <samp class="codeph">pipeline::run()</samp>. 
+		  </p>
+ 
+		</div> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Members</h2> 
+		 
+		<pre>namespace tbb {
+    class thread_bound_filter: public filter {
+    protected:
+        thread_bound_filter(mode filter_mode);
+    public:
+        enum result_type {
+            success,
+            item_not_available,
+            end_of_stream
+        };
+        result_type try_process_item();
+        result_type process_item();
+    };
+} 
+
+</pre> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Example</h2> 
+		 
+		<p>The example below shows a pipeline with two filters
+		  where the second filter is a<samp class="codeph"> thread_bound_filter</samp> serviced by
+		  the main thread. 
+		</p>
+ 
+		<pre>#include <iostream>
+#include "tbb/pipeline.h"
+#include "tbb/compat/thread"
+#include "tbb/task_scheduler_init.h"
+
+using namespace tbb;
+
+char InputString[] = "abcdefg\n";
+
+class InputFilter: public filter {
+    char* my_ptr;
+public:
+    void* operator()(void*) {
+        if (*my_ptr)
+            return my_ptr++;
+        else
+            return NULL;
+    }
+    InputFilter() : 
+        filter( serial_in_order ), my_ptr(InputString) 
+    {}
+};
+
+class OutputFilter: public thread_bound_filter {
+public:
+    void* operator()(void* item) {
+        std::cout << *(char*)item;
+        return NULL;
+    }
+    OutputFilter() : thread_bound_filter(serial_in_order) {}
+};
+
+void RunPipeline(pipeline* p) {
+    p->run(8);
+}
+
+int main() {
+    // Construct the pipeline
+    InputFilter f;
+    OutputFilter g;
+    pipeline p;
+    p.add_filter(f);
+    p.add_filter(g);
+
+    // Another thread initiates execution of the pipeline
+    std::thread t(RunPipeline,&p);
+
+    // Process the thread_bound_filter with the current thread.
+    while (g.process_item()!=thread_bound_filter::end_of_stream)
+        continue;
+
+    // Wait for pipeline to finish on the other thread.
+    t.join();    
+    return 0;
+}
+</pre> 
+		<p>The main thread does the following after
+		  constructing the pipeline: 
+		</p>
+ 
+		<ul type="disc"> 
+		  <li>Start the pipeline on another thread. 
+		  </li>
+ 
+		  <li>Service the<samp class="codeph"> thread_bound_filter</samp> until it reaches 
+			 <samp class="codeph">end_of_stream</samp>. 
+		  </li>
+ 
+		  <li>Wait for the other thread to finish. 
+		  </li>
+ 
+		</ul>
+ 
+		<p>The pipeline is run on a separate thread because the main thread is
+		  responsible for servicing the 
+		  <samp class="codeph">thread_bound_filter</samp> 
+		  <samp class="codeph">g</samp>. The roles of the two threads can be reversed. A
+		  single thread cannot do both roles. 
+		</p>
+ 
+		
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"><span class="tabledesc">The following table provides additional information on the
+			 members of this template class. 
+		  </span><thead align="left"> 
+				<tr> 
+				  <th class="cellrowborder" valign="top" width="29.940119760479046%" id="d12241e148">Member 
+				  </th>
+ 
+				  <th class="cellrowborder" valign="top" width="70.05988023952095%" id="d12241e151">Description 
+				  </th>
+ 
+				</tr>
+</thead>
+ 
+			 <tbody> 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="29.940119760479046%" headers="d12241e148 "><span class="keyword">thread_bound_filter(mode
+						filter_mode)()</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="70.05988023952095%" headers="d12241e151 "> 
+					 <p>Constructs a filter of the specified mode. The pipeline
+						Class section describes the modes. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="29.940119760479046%" headers="d12241e148 "><span class="keyword">result_type
+						try_process_item()</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="70.05988023952095%" headers="d12241e151 "> 
+					 <p>If an item is available and it can be processed without
+						exceeding the token limit, process the item with 
+						<samp class="codeph">filter::operator()</samp>. The return values are
+						detailed in the following table.
+					 </p>
+ 
+					 <p> 
+					 
+<div class="tablenoborder"><table cellpadding="4" summary="" width="100%" frame="hsides" border="1" rules="all"> 
+						  <thead align="left"> 
+							 <tr> 
+								<th class="cellrowborder" valign="top" id="d12241e198"> 
+								  <p>Return Value 
+								  </p>
+ 
+								</th>
+ 
+								<th class="row-nocellborder" valign="top" id="d12241e204"> 
+								  <p> Description 
+								  </p>
+ 
+								</th>
+ 
+							 </tr>
+</thead>
+ 
+						  <tbody> 
+							 <tr valign="top"> 
+								<td class="cellrowborder" valign="top" headers="d12241e198 ">success 
+								</td>
+ 
+								<td class="row-nocellborder" valign="top" headers="d12241e204 "> 
+								  <p>Applied 
+									 <samp class="codeph">filter::operator()</samp> to one item. 
+								  </p>
+ 
+								</td>
+ 
+							 </tr>
+ 
+							 <tr valign="top"> 
+								<td class="cellrowborder" valign="top" headers="d12241e198 "> 
+								  <p>item_not_available 
+								  </p>
+ 
+								</td>
+ 
+								<td class="row-nocellborder" valign="top" headers="d12241e204 "> 
+								  <p> No item is currently available
+									 to process, or the token limit would be exceeded. 
+								  </p>
+ 
+								</td>
+ 
+							 </tr>
+ 
+							 <tr valign="top"> 
+								<td class="cellrowborder" valign="top" headers="d12241e198 "> 
+								  <p>end_of_stream 
+								  </p>
+ 
+								</td>
+ 
+								<td class="row-nocellborder" valign="top" headers="d12241e204 "> 
+								  <p>No more items will ever arrive
+									 at this filter. 
+								  </p>
+ 
+								</td>
+ 
+							 </tr>
+ 
+						  </tbody>
+ 
+						</table>
+</div>
+ 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="29.940119760479046%" headers="d12241e148 "> 
+					 <span class="keyword">result_type process_item()</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="70.05988023952095%" headers="d12241e151 "> 
+					 <p> Like 
+						<samp class="codeph">try_process_item</samp>, but waits until it can
+						process an item or the end of the stream is reached. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: Either 
+						<samp class="codeph">success</samp> or 
+						<samp class="codeph">end_of_stream</samp>. See the table above for
+						details. 
+					 </p>
+ 
+					 <div class="Note"><h3 class="NoteTipHead">
+					Caution</h3> 
+						<p>The current implementation spin waits until it can process
+						  an item or reaches the end of the stream. 
+						</p>
+ 
+					 </div> 
+				  </td>
+ 
+				</tr>
+ 
+			 </tbody>
+ 
+		  </table>
+</div>
+ 
+	 </div>
+ 
+  </div>
+
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../../reference/algorithms/pipeline_cls.htm">pipeline Class</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/reference/algorithms/range_concept.htm b/doc/help/reference/algorithms/range_concept.htm
new file mode 100755
index 0000000..4237d8a
--- /dev/null
+++ b/doc/help/reference/algorithms/range_concept.htm
@@ -0,0 +1,267 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="Range Concept">
+<meta name="DC.subject" content="Range Concept">
+<meta name="keywords" content="Range Concept">
+<meta name="DC.Relation" scheme="URI" content="../../reference/algorithms.htm">
+<meta name="DC.Relation" scheme="URI" content="../../reference/algorithms/range_concept/blocked_range_cls.htm">
+<meta name="DC.Relation" scheme="URI" content="../../reference/algorithms/range_concept/blocked_range2d_cls.htm">
+<meta name="DC.Relation" scheme="URI" content="../../reference/algorithms/range_concept/blocked_range3d_cls.htm">
+<meta name="DC.Relation" scheme="URI" content="parallel_for_func.htm#parallel_for_func">
+<meta name="DC.Relation" scheme="URI" content="parallel_reduce_func.htm#parallel_reduce_func">
+<meta name="DC.Relation" scheme="URI" content="parallel_scan_func.htm#parallel_scan_func">
+<meta name="DC.Relation" scheme="URI" content="../containers_overview/container_range_concept.htm#container_range_concept">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="range_concept">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../intel_css_styles.css">
+<title>Range Concept</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="range_concept">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(2);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="range_concept"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Range Concept</h1>
+ 
+   
+  <div> 
+	 <div class="section"><h2 class="sectiontitle">Summary</h2> 
+		 
+		<p>Requirements for type representing a recursively divisible set of
+		  values. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Requirements</h2> 
+		 
+		<p>The following table lists the requirements for a
+		  Range type 
+		  <samp class="codeph">R</samp>. 
+		</p>
+ 
+		
+<div class="tablenoborder"><a name="tbl8"><!-- --></a><table cellpadding="4" summary="" id="tbl8" width="100%" frame="hsides" border="1" rules="all"><caption><span class="tablecap">Range Concept</span></caption> 
+		  <thead align="left"> 
+			 <tr> 
+				<th class="cellrowborder" valign="top" id="d12945e60"> 
+				  <p>Pseudo-Signature 
+				  </p>
+ 
+				</th>
+ 
+				<th class="row-nocellborder" valign="top" id="d12945e66"> 
+				  <p>Semantics 
+				  </p>
+ 
+				</th>
+ 
+			 </tr>
+</thead>
+ 
+		  <tbody> 
+			 <tr valign="top"> 
+				<td class="cellrowborder" valign="top" headers="d12945e60 "> 
+				  <p><samp class="codeph"> R::R( const R& )</samp> 
+				  </p>
+ 
+				</td>
+ 
+				<td class="row-nocellborder" valign="top" headers="d12945e66 "> 
+				  <p> Copy constructor. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr valign="top"> 
+				<td class="cellrowborder" valign="top" headers="d12945e60 "> 
+				  <p><samp class="codeph"> R::~R()</samp> 
+				  </p>
+ 
+				</td>
+ 
+				<td class="row-nocellborder" valign="top" headers="d12945e66 "> 
+				  <p> Destructor. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr valign="top"> 
+				<td class="cellrowborder" valign="top" headers="d12945e60 "> 
+				  <p><samp class="codeph"> bool R::empty() const</samp> 
+				  </p>
+ 
+				</td>
+ 
+				<td class="row-nocellborder" valign="top" headers="d12945e66 "> 
+				  <p> True if range is empty. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr valign="top"> 
+				<td class="cellrowborder" valign="top" headers="d12945e60 "> 
+				  <p><samp class="codeph"> bool R::is_divisible()
+						const</samp> 
+				  </p>
+ 
+				</td>
+ 
+				<td class="row-nocellborder" valign="top" headers="d12945e66 "> 
+				  <p> True if range can be partitioned into two
+					 subranges. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr valign="top"> 
+				<td class="cellrowborder" valign="top" headers="d12945e60 "> 
+				  <p><samp class="codeph"> R::R( R& r, split )</samp> 
+				  </p>
+ 
+				</td>
+ 
+				<td class="row-nocellborder" valign="top" headers="d12945e66 "> 
+				  <p> Split 
+					 <samp class="codeph">r</samp> into two subranges. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+		  </tbody>
+ 
+		</table>
+</div>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle"> Description</h2> 
+		 
+		<p>A Range can be recursively subdivided into two parts. It is
+		  recommended that the division be into nearly equal parts, but it is not
+		  required. Splitting as evenly as possible typically yields the best
+		  parallelism. Ideally, a range is recursively splittable until the parts
+		  represent portions of work that are more efficient to execute serially rather
+		  than split further. The amount of work represented by a Range typically depends
+		  upon higher level context, hence a typical type that models a Range should
+		  provide a way to control the degree of splitting. For example, the template
+		  class 
+		  <samp class="codeph">blocked_range</samp> has a 
+		  <em>grainsize</em> parameter that specifies the biggest range considered
+		  indivisible. 
+		</p>
+ 
+		<p>The constructor that implements splitting is called a 
+		  <em>splitting constructor</em>. If the set of values has a sense of
+		  direction, then by convention the splitting constructor should construct the
+		  second part of the range, and update the argument to be the first half.
+		  Following this convention causes the<samp class="codeph">parallel_for</samp>, 
+          <samp class="codeph">parallel_reduce</samp> and <samp class="codeph">parallel_scan</samp> algorithms, 
+          when running sequentially, to work across a range in the increasing order typical 
+          of an ordinary sequential loop. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle"> Example</h2> 
+		 
+		<p>The following code defines a type 
+		  <samp class="codeph">TrivialIntegerRange</samp> that models the Range concept. It
+		  represents a half-open interval [lower,upper) that is divisible down to a
+		  single integer. 
+		</p>
+ 
+		<pre> 
+struct TrivialIntegerRange {
+    int lower;
+    int upper;
+    bool empty() const {return lower==upper;}
+    bool is_divisible() const {return upper>lower+1;}
+    TrivialIntegerRange( TrivialIntegerRange& r, split ) {
+        int m = (r.lower+r.upper)/2;  
+        lower = m;
+        upper = r.upper;
+        r.upper = m;
+    }
+};
+</pre> 
+		<p> 
+		  <samp class="codeph">TrivialIntegerRange</samp> is for demonstration and not very
+		  practical, because it lacks a grainsize parameter. Use the library class 
+		  <samp class="codeph">blocked_range</samp> instead. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle"> Model Types</h2> 
+		 
+		<p>Type 
+		  <samp class="codeph">blocked_range</samp> models a one-dimensional range. 
+		</p>
+ 
+		<p>Type 
+		  <samp class="codeph">blocked_range2</samp>d models a two-dimensional range. 
+		</p>
+ 
+		<p>Type 
+		  <samp class="codeph">blocked_range3d</samp> models a three-dimensional range. 
+		</p>
+ 
+		<p>The Container Range Concept models a container as a range. 
+		</p>
+ 
+	 </div>
+ 
+  </div>
+ 
+  
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../reference/algorithms.htm">Algorithms</a></div>
+</div>
+<div class="See Also">
+<ul class="ullinks">
+<li class="ulchildlink"><a href="../../reference/algorithms/range_concept/blocked_range_cls.htm">blocked_range Template Class</a><br>
+</li>
+<li class="ulchildlink"><a href="../../reference/algorithms/range_concept/blocked_range2d_cls.htm">blocked_range2d Template Class</a><br>
+</li>
+<li class="ulchildlink"><a href="../../reference/algorithms/range_concept/blocked_range3d_cls.htm">blocked_range3d Template Class</a><br>
+</li>
+</ul>
+
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="parallel_for_func.htm#parallel_for_func">parallel_for Template Function 
+		  </a></div>
+<div><a href="parallel_reduce_func.htm#parallel_reduce_func">parallel_reduce Template Function 
+		  </a></div>
+<div><a href="parallel_scan_func.htm#parallel_scan_func">parallel_scan Template Function 
+		  </a></div>
+<div><a href="../containers_overview/container_range_concept.htm#container_range_concept">Container Range Concept 
+		  </a></div></div>
+</div> 
+
+</body>
+</html>
diff --git a/doc/help/reference/algorithms/range_concept/blocked_range2d_cls.htm b/doc/help/reference/algorithms/range_concept/blocked_range2d_cls.htm
new file mode 100755
index 0000000..70e12eb
--- /dev/null
+++ b/doc/help/reference/algorithms/range_concept/blocked_range2d_cls.htm
@@ -0,0 +1,365 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="blocked_range2d Template Class">
+<meta name="DC.subject" content="blocked_range2d Template Class">
+<meta name="keywords" content="blocked_range2d Template Class">
+<meta name="DC.Relation" scheme="URI" content="../../../reference/algorithms/range_concept.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="blocked_range2d_cls">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../../intel_css_styles.css">
+<title>blocked_range2d Template Class</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="blocked_range2d_cls">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(3);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="blocked_range2d_cls"><!-- --></a>
+
+
+  <h1 class="topictitle1">blocked_range2d Template Class</h1>
+ 
+   
+  <div> 
+	 <div class="section"><h2 class="sectiontitle">Summary</h2>
+		 Template class that represents recursively
+		divisible two-dimensional half-open interval. 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle"> Header</h2> 
+		 
+		<p>
+		  <pre>#include "tbb/blocked_range2d.h"</pre>
+		</p>
+
+	 </div>
+
+	 <div class="section"><h2 class="sectiontitle"> Syntax</h2> 
+		 
+		<pre>template<typename RowValue, typename ColValue> class blocked_range2d;</pre>
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle"> Description</h2> 
+		 
+		<p>A 
+		  <samp class="codeph">blocked_range2d<<em>RowValue</em> ,<em>ColValue</em>
+			 ></samp> represents a half-open two dimensional range<samp class="codeph"> [<em>i</em> 
+			 <sub>0</sub>,<em>j</em> 
+			 <sub>0</sub>)×[<em>i</em> 
+			 <sub>1</sub>,<em>j</em> 
+			 <sub>1</sub>)</samp>. Each axis of the range has its own splitting
+		  threshold. The 
+		  <em>RowValue</em> and 
+		  <em>ColValue</em> must meet the requirements in the table in the
+		  blocked_range Template Class section. A 
+		  <samp class="codeph">blocked_range</samp> is splittable if either axis is
+		  splittable. A<samp class="codeph"> blocked_range</samp> models the Range concept.
+		</p>
+
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle"> Members</h2> 
+		 
+		<pre> 
+namespace tbb {
+template<typename RowValue, typename ColValue=RowValue>
+    class blocked_range2d {
+    public:
+        // Types
+        typedef blocked_range<RowValue> row_range_type;
+        typedef blocked_range<ColValue> col_range_type;
+
+        // Constructors
+        blocked_range2d( 
+            RowValue row_begin, RowValue row_end, 
+            typename row_range_type::size_type row_grainsize,
+            ColValue col_begin, ColValue col_end, 
+            typename col_range_type::size_type col_grainsize);
+        blocked_range2d( RowValue row_begin, RowValue row_end, 
+                         ColValue col_begin, ColValue col_end);
+        blocked_range2d( blocked_range2d& r, split );
+
+        // Capacity
+        bool empty() const;
+
+        // Access
+        bool is_divisible() const;
+        const row_range_type& rows() const;
+        const col_range_type& cols() const;
+    };
+}
+</pre> 
+	 </div>
+
+	 <div class="section"><h2 class="sectiontitle"> Example</h2> 
+		 
+		<p>The code that follows shows a serial matrix
+		  multiply, and the corresponding parallel matrix multiply that uses a 
+		  <samp class="codeph">blocked_range2d</samp> to specify the iteration space.
+		</p>
+ 
+		<pre>
+const size_t L = 150;
+const size_t M = 225;
+const size_t N = 300;
+
+void SerialMatrixMultiply( float c[M][N], float a[M][L], float b[L][N] ) {
+    for( size_t i=0; i<M; ++i ) {
+        for( size_t j=0; j<N; ++j ) {
+            float sum = 0;
+            for( size_t k=0; k<L; ++k )
+                sum += a[i][k]*b[k][j];
+            c[i][j] = sum;
+        }
+    }
+}
+</pre> 
+		<pre>
+#include "tbb/parallel_for.h"
+#include "tbb/blocked_range2d.h"
+
+using namespace tbb;
+
+const size_t L = 150;
+const size_t M = 225;
+const size_t N = 300;
+
+class MatrixMultiplyBody2D {
+    float (*my_a)[L];
+    float (*my_b)[N];
+    float (*my_c)[N];
+public:
+    void operator()( const blocked_range2d<size_t>& r ) const {
+        float (*a)[L] = my_a;
+        float (*b)[N] = my_b;
+        float (*c)[N] = my_c;
+        for( size_t i=r.rows().begin(); i!=r.rows().end(); ++i ){
+            for( size_t j=r.cols().begin(); j!=r.cols().end(); ++j ) {
+                float sum = 0;
+                for( size_t k=0; k<L; ++k )
+                    sum += a[i][k]*b[k][j];
+                c[i][j] = sum;
+            }
+        }
+    }
+    MatrixMultiplyBody2D( float c[M][N], float a[M][L], float b[L][N] ) :
+        my_a(a), my_b(b), my_c(c)
+    {}
+};
+
+void ParallelMatrixMultiply(float c[M][N], float a[M][L], float b[L][N]){
+    parallel_for( blocked_range2d<size_t>(0, M, 16, 0, N, 32),     
+                  MatrixMultiplyBody2D(c,a,b) );
+}
+</pre> 
+		<p>The<samp class="codeph"> blocked_range2d</samp> enables the
+		  two outermost loops of the serial version to become parallel loops. The<samp class="codeph">
+			 parallel_for</samp> recursively splits the 
+		  <samp class="codeph">blocked_range2d 
+		  </samp>until the pieces are no larger than 16x32. It invokes 
+		  <samp class="codeph">MatrixMultiplyBody2D::operator(</samp>) on each piece.
+		</p>
+
+		<p>
+		
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"><span class="tabledesc">The following table provides additional information on the
+			 members of this template class. 
+		  </span><thead align="left"> 
+				<tr> 
+				  <th class="cellrowborder" valign="top" width="33.89830508474576%" id="d13569e170">Member 
+				  </th>
+ 
+				  <th class="cellrowborder" valign="top" width="66.10169491525423%" id="d13569e173">Description 
+				  </th>
+ 
+				</tr>
+</thead>
+ 
+			 <tbody> 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d13569e170 "><span class="keyword">row_range_type</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d13569e173 "> 
+					 <p> A 
+						<samp class="codeph">blocked_range<RowValue></samp>. That is, the
+						type of the row values. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d13569e170 "><span class="keyword">col_range_type</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d13569e173 "> 
+					 <p>A<samp class="codeph">
+						  blocked_range<ColValue></samp>. That is, the type of the column values.
+						
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+
+				<tr>
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d13569e170 "><span class="keyword">blocked_range2d<RowValue,ColValue>( RowValue
+						row_begin, RowValue row_end, typename row_range_type::size_type row_grainsize,
+						ColValue col_begin, ColValue col_end, typename col_range_type::size_type
+						col_grainsize )</span>
+				  </td>
+
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d13569e173 ">
+					 <p><strong>Effects: 
+						</strong> Constructs a 
+						<samp class="codeph">blocked_range2d</samp> representing a two
+						dimensional space of values. The space is the half-open Cartesian
+						product<samp class="codeph"> [ row_begin, row_end) x [ col_begin, col_end)</samp>, with
+						the given grain sizes for the rows and columns.
+					 </p>
+ 
+					 <p> 
+						<strong>Example: 
+						</strong> The statement 
+						<samp class="codeph">" blocked_range2d<char,int> r('a', 'z'+1, 3, 0,
+						  10, 2 );"</samp> constructs a two-dimensional space that contains all value
+						pairs of the form 
+						<samp class="codeph">(i, j)</samp>, where<samp class="codeph"> i 
+						</samp>ranges from 
+						<samp class="codeph">'a</samp>' to 
+						<samp class="codeph">'z</samp>' with a grain size of 3, and<samp class="codeph">
+						  j</samp> ranges from 0 to 9 with a grain size of 2.
+					 </p>
+
+				  </td>
+
+				</tr>
+
+				<tr>
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d13569e170 "><span class="keyword">blocked_range2d<RowValue,ColValue>( RowValue
+						row_begin, RowValue row_end, ColValue col_begin, ColValue col_end )</span>
+				  </td>
+
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d13569e173 ">Same as 
+					 <samp class="codeph">blocked_range2d(row_begin,row_end,1,col_begin,col_end,1)</samp>.
+				  </td>
+
+				</tr>
+
+				<tr>
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d13569e170 "><span class="keyword">blocked_range2d<RowValue,ColValue> (
+						blocked_range2d& range, split )</span>
+				  </td>
+
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d13569e173 ">Partitions range into two subranges. The
+					 newly constructed 
+					 <samp class="codeph">blocked_range2d</samp> is approximately the second
+					 half of the original 
+					 <samp class="codeph">range</samp>, and 
+					 <samp class="codeph">range</samp> is updated to be the remainder. Each
+					 subrange has the same grain size as the original 
+					 <samp class="codeph">range</samp>. The split is either by rows or columns.
+					 The choice of which axis to split is intended to cause, after repeated
+					 splitting, the subranges to approach the aspect ratio of the respective row and
+					 column grain sizes. For example, if the 
+					 <samp class="codeph">row_grainsize</samp> is twice 
+					 <samp class="codeph">col_grainsize</samp>, the subranges will tend towards
+					 having twice as many rows as columns.
+				  </td>
+
+				</tr>
+
+				<tr>
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d13569e170 "><span class="keyword">bool empty() const</span>
+				  </td>
+
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d13569e173 ">
+					 <p> Determines if range is empty. 
+					 </p>
+
+					 <p><strong>Returns: 
+						</strong> 
+						<samp class="codeph"> rows().empty()||cols().empty()</samp>
+					 </p>
+
+				  </td>
+
+				</tr>
+
+				<tr>
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d13569e170 "><span class="keyword">bool is_divisible()
+						const</span>
+				  </td>
+
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d13569e173 ">
+					 <p> Determines if range can be split into subranges..
+					 </p>
+
+					 <p><strong>Returns:</strong> 
+						<samp class="codeph">
+						  rows().is_divisible()||cols().is_divisible()</samp>
+					 </p>
+
+				  </td>
+
+				</tr>
+
+				<tr>
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d13569e170 "><span class="keyword">const row_range_type& rows()
+						const</span>
+				  </td>
+
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d13569e173 ">
+					 <p><strong>Returns: 
+						</strong> Range containing the rows of the value space.
+					 </p>
+
+				  </td>
+
+				</tr>
+
+				<tr>
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d13569e170 "><span class="keyword">const col_range_type& cols()
+						const</span>
+				  </td>
+
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d13569e173 ">
+					 <p><strong>Returns: 
+						</strong> Range containing the columns of the value space.
+					 </p>
+
+				  </td>
+
+				</tr>
+ 
+			 </tbody>
+ 
+		  </table>
+</div>
+
+		</p>
+ 
+	 </div>
+ 
+  </div>
+
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../../reference/algorithms/range_concept.htm">Range Concept</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/reference/algorithms/range_concept/blocked_range3d_cls.htm b/doc/help/reference/algorithms/range_concept/blocked_range3d_cls.htm
new file mode 100755
index 0000000..25ec216
--- /dev/null
+++ b/doc/help/reference/algorithms/range_concept/blocked_range3d_cls.htm
@@ -0,0 +1,103 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="blocked_range3d Template Class">
+<meta name="DC.subject" content="blocked_range3d Template Class">
+<meta name="keywords" content="blocked_range3d Template Class">
+<meta name="DC.Relation" scheme="URI" content="../../../reference/algorithms/range_concept.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="blocked_range3d_cls">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../../intel_css_styles.css">
+<title>blocked_range3d Template Class</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="blocked_range3d_cls">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(3);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="blocked_range3d_cls"><!-- --></a>
+
+
+<h1 class="topictitle1">blocked_range3d Template Class</h1>
+
+    
+<div>
+    <div class="section"><h2 class="sectiontitle">Summary</h2> Template class that represents recursively divisible three-dimensional half-open interval. </div>
+
+    <div class="section"><h2 class="sectiontitle">Header</h2> 
+         
+<p><pre>#include "tbb/blocked_range3d.h"</pre></p>
+
+</div>
+
+<div class="section"><h2 class="sectiontitle">Syntax</h2> 
+         
+        <pre>template<typename PageValue, typename RowValue, typename ColValue> class blocked_range3d;</pre>
+</div>
+
+
+<div class="section"><h2 class="sectiontitle">Description</h2> 
+     
+<p>A <samp class="codeph">blocked_range3d<<em>PageValue,RowValue</em>,<em>ColValue</em>></samp> is the three-dimensional extension of <samp class="codeph">blocked_range2d</samp>.</p>
+
+</div>
+
+
+<div class="section"><h2 class="sectiontitle">Members</h2> 
+         
+<pre>
+namespace tbb {
+template<typename PageValue, typename RowValue=PageValue, typename ColValue=RowValue>
+    class blocked_range3d {
+    public:
+        // Types
+        typedef blocked_range<PageValue> page_range_type;
+        typedef blocked_range<RowValue> row_range_type;
+        typedef blocked_range<ColValue> col_range_type;
+
+        // Constructors
+        blocked_range3d( 
+            PageValue page_begin, PageValue page_end,  
+            typename page_range_type::size_type page_grainsize,
+            RowValue row_begin, RowValue row_end, 
+            typename row_range_type::size_type row_grainsize,
+            ColValue col_begin, ColValue col_end, 
+            typename col_range_type::size_type col_grainsize);
+        blocked_range3d( PageValue page_begin, PageValue page_end,  
+                         RowValue row_begin, RowValue row_end, 
+                         ColValue col_begin, ColValue col_end);
+        blocked_range3d( blocked_range3d& r, split );
+
+        // Capacity
+        bool empty() const;
+
+        // Access
+        bool is_divisible() const;
+        const page_range_type& pages() const;
+        const row_range_type& rows() const;
+        const col_range_type& cols() const;
+    };
+}
+</pre>
+
+</div>
+
+</div>
+
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../../reference/algorithms/range_concept.htm">Range Concept</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/reference/algorithms/range_concept/blocked_range_cls.htm b/doc/help/reference/algorithms/range_concept/blocked_range_cls.htm
new file mode 100755
index 0000000..6b1d80c
--- /dev/null
+++ b/doc/help/reference/algorithms/range_concept/blocked_range_cls.htm
@@ -0,0 +1,520 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="blocked_range Template Class">
+<meta name="DC.subject" content="blocked_range Template Class">
+<meta name="keywords" content="blocked_range Template Class">
+<meta name="DC.Relation" scheme="URI" content="../../../reference/algorithms/range_concept.htm">
+<meta name="DC.Relation" scheme="URI" content="../../../reference/algorithms/range_concept/blocked_range_cls/blocked_range.htm">
+<meta name="DC.Relation" scheme="URI" content="../../../reference/algorithms/range_concept/blocked_range_cls/blocked_range_1.htm">
+<meta name="DC.Relation" scheme="URI" content="../parallel_for_func.htm#parallel_for_func">
+<meta name="DC.Relation" scheme="URI" content="../parallel_reduce_func.htm#parallel_reduce_func">
+<meta name="DC.Relation" scheme="URI" content="../parallel_scan_func.htm#parallel_scan_func">
+<meta name="DC.Relation" scheme="URI" content="../../environment/enabling_debugging_features.htm#enabling_debugging_features">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="blocked_range_cls">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../../intel_css_styles.css">
+<title>blocked_range Template Class</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="blocked_range_cls">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(3);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="blocked_range_cls"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">blocked_range Template Class</h1>
+ 
+   
+  <div> 
+	 <div class="section"><h2 class="sectiontitle">Summary</h2> 
+		 Template class for a recursively divisible
+		half-open interval. 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Header</h2> 
+		 
+		<p> 
+		  <pre>#include "tbb/blocked_range.h"</pre> 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Syntax</h2> 
+		 
+		<pre>template<typename Value> class blocked_range;</pre> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Description</h2> 
+		 
+		<p>A 
+		  <samp class="codeph">blocked_range<Value></samp> represents a half-open
+		  range [<em>i</em>,<em>j</em>) that can be recursively split. The types of 
+		  <em>i</em> and 
+		  <em>j</em> must model the requirements in the following table. In the
+		  table, type 
+		  <samp class="codeph">D</samp> is the type of the expression 
+		  <samp class="codeph">"j-i"</samp>. It can be any integral type that is convertible
+		  to 
+		  <samp class="codeph">size_t</samp>. Examples that model the Value requirements are
+		  integral types, pointers, and STL random-access iterators whose difference can
+		  be implicitly converted to a 
+		  <samp class="codeph">size_t</samp>. 
+		</p>
+ 
+		<p>A 
+		  <samp class="codeph">blocked_range</samp> models the Range concept. 
+		</p>
+ 
+		
+<div class="tablenoborder"><table cellpadding="4" summary="" width="100%" frame="hsides" border="1" rules="all"><caption><span class="tablecap">Value Concept for blocked_range</span></caption> 
+		  <thead align="left"> 
+			 <tr> 
+				<th class="cellrowborder" valign="top" id="d14709e109"> 
+				  <p>Pseudo-Signature 
+				  </p>
+ 
+				</th>
+ 
+				<th class="row-nocellborder" valign="top" id="d14709e115"> 
+				  <p>Semantics 
+				  </p>
+ 
+				</th>
+ 
+			 </tr>
+</thead>
+ 
+		  <tbody> 
+			 <tr valign="top"> 
+				<td class="cellrowborder" valign="top" headers="d14709e109 "> 
+				  <p><samp class="codeph"> Value::Value( const Value&
+						)</samp> 
+				  </p>
+ 
+				</td>
+ 
+				<td class="row-nocellborder" valign="top" headers="d14709e115 "> 
+				  <p> Copy constructor. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr valign="top"> 
+				<td class="cellrowborder" valign="top" headers="d14709e109 "> 
+				  <p><samp class="codeph"> Value::~Value()</samp> 
+				  </p>
+ 
+				</td>
+ 
+				<td class="row-nocellborder" valign="top" headers="d14709e115 "> 
+				  <p> Destructor. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr valign="top"> 
+				<td class="cellrowborder" valign="top" headers="d14709e109 "> 
+				  <p><samp class="codeph"> void operator=( const Value&
+						)</samp> 
+					 <div class="Note"><h3 class="NoteTipHead">
+					Note</h3> 
+						<p> The return type 
+						  <samp class="codeph">void</samp> in the pseudo-signature denotes that 
+						  <samp class="codeph">operator=</samp> is not required to return a
+						  value. The actual 
+						  <samp class="codeph">operator=</samp> can return a value, which will
+						  be ignored by 
+						  <samp class="codeph">blocked_range</samp> . 
+						</p>
+ 
+					 </div> 
+				  </p>
+ 
+				</td>
+ 
+				<td class="row-nocellborder" valign="top" headers="d14709e115 "> 
+				  <p> Assignment 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr valign="top"> 
+				<td class="cellrowborder" valign="top" headers="d14709e109 "> 
+				  <p><samp class="codeph"> bool operator<( const
+						Value& i, const Value& j )</samp> 
+				  </p>
+ 
+				</td>
+ 
+				<td class="row-nocellborder" valign="top" headers="d14709e115 "> 
+				  <p> Value 
+					 <em>i</em> precedes value<em> j</em>. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr valign="top"> 
+				<td class="cellrowborder" valign="top" headers="d14709e109 "> 
+				  <p><samp class="codeph"> D operator-( const Value& i,
+						const Value& j )</samp> 
+				  </p>
+ 
+				</td>
+ 
+				<td class="row-nocellborder" valign="top" headers="d14709e115 "> 
+				  <p> Number of values in range 
+					 <samp class="codeph">[i,j)</samp>. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr valign="top"> 
+				<td class="cellrowborder" valign="top" headers="d14709e109 "> 
+				  <p><samp class="codeph"> Value operator+( const Value&
+						i, D k )</samp> 
+				  </p>
+ 
+				</td>
+ 
+				<td class="row-nocellborder" valign="top" headers="d14709e115 "> 
+				  <p><em>k</em>th value after 
+					 <em>i</em>. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+		  </tbody>
+ 
+		</table>
+</div>
+ 
+		<p>A 
+		  <samp class="codeph">blocked_range<Value></samp> specifies a 
+		  <em>grainsize</em> of type 
+		  <samp class="codeph">size_t</samp>. A 
+		  <samp class="codeph">blocked_range</samp> is splittable into two subranges if the
+		  size of the range exceeds 
+		  <em>grain size</em>. The ideal grain size depends upon the context of the
+		  
+		  <samp class="codeph">blocked_range<Value></samp>, which is typically as the
+		  range argument to the loop templates 
+		  <samp class="codeph">parallel_for</samp>, 
+		  <samp class="codeph">parallel_reduce</samp>, or 
+		  <samp class="codeph">parallel_scan</samp>. A too small grainsize may cause
+		  scheduling overhead within the loop templates to swamp speedup gained from
+		  parallelism. A too large grainsize may unnecessarily limit parallelism. For
+		  example, if the grain size is so large that the range can be split only once,
+		  then the maximum possible parallelism is two. 
+		</p>
+ 
+		<p>Here is a suggested procedure for choosing 
+		  <em>grainsize</em>: 
+		</p>
+ 
+		<ol> 
+		  <li>Set the grainsize parameter to 10,000. This
+			 value is high enough to amortize scheduler overhead sufficiently for
+			 practically all loop bodies, but may be unnecessarily limit parallelism. 
+		  </li>
+ 
+		  <li>Run your algorithm on 
+			 <em>one</em> processor. 
+		  </li>
+ 
+		  <li>Start halving the grainsize parameter and see
+			 how much the algorithm slows down as the value decreases. 
+		  </li>
+ 
+		</ol>
+ 
+		<p>A slowdown of about 5-10% is a good setting for
+		  most purposes. 
+		</p>
+ 
+		<div class="Note"><h3 class="NoteTipHead">
+					Tip</h3> 
+		  <p>For a 
+			 <samp class="codeph">blocked_range [i,j)</samp> where<samp class="codeph"> j<i</samp>,
+			 not all methods have specified behavior. However, enough methods do have
+			 specified behavior that 
+			 <samp class="codeph">parallel_for</samp>, 
+			 <samp class="codeph">parallel_reduce</samp>, and 
+			 <samp class="codeph">parallel_scan</samp> iterate over the same iteration space
+			 as the serial loop 
+			 <samp class="codeph">for( Value index=i; index<j; ++index )...</samp>, even
+			 when 
+			 <samp class="codeph">j<i</samp>. If 
+			 <samp class="codeph">TBB_USE_ASSERT</samp> is nonzero, methods with unspecified
+			 behavior raise an assertion failure. 
+		  </p>
+ 
+		</div> 
+		<p><strong>Example</strong> 
+		</p>
+ 
+		<p>A 
+		  <samp class="codeph">blocked_range<Value></samp> typically appears as a
+		  range argument to a loop template. See the examples for 
+		  <samp class="codeph">parallel_for</samp>,<samp class="codeph"> parallel_reduce</samp>, and 
+		  <samp class="codeph">parallel_scan</samp>. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Members</h2> 
+		 
+		<pre> 
+namespace tbb {
+    template<typename Value>
+    class blocked_range {
+    public:
+        // types
+        typedef size_t size_type;
+        typedef Value const_iterator;
+
+        // constructors
+        blocked_range( Value begin, Value end, 
+                       size_type grainsize=1 );
+        blocked_range( blocked_range& r, split );
+
+        // capacity
+        size_type size() const;
+        bool empty() const;
+    
+        // access
+        size_type grainsize() const;
+        bool is_divisible() const;
+
+        // iterators
+        const_iterator begin() const;
+        const_iterator end() const;
+    };
+}
+</pre> 
+		
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"><span class="tabledesc">The following table provides additional information on the
+			 members of this template class.
+		  </span><thead align="left"> 
+				<tr> 
+				  <th class="cellrowborder" valign="top" width="33.89830508474576%" id="d14709e390">Member 
+				  </th>
+ 
+				  <th class="cellrowborder" valign="top" width="66.10169491525423%" id="d14709e393">Description 
+				  </th>
+ 
+				</tr>
+</thead>
+ 
+			 <tbody> 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d14709e390 "><span class="keyword">size_type 
+					 </span>
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d14709e393 "> 
+					 <p>The type for measuring the size of a 
+						<samp class="codeph">blocked_range</samp>. The type is always a 
+						<samp class="codeph">size_t</samp>. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d14709e390 "><span class="keyword">const_iterator</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d14709e393 ">The type of a value in the range. Despite
+					 its name, the type 
+					 <samp class="codeph">const_iterator</samp> is not necessarily an STL
+					 iterator; it merely needs to meet the Value requirements in the table above.
+					 However, it is convenient to call it 
+					 <samp class="codeph">const_iterator</samp> so that if it is a
+					 const_iterator, then the<samp class="codeph"> blocked_range</samp> behaves like a
+					 read-only STL container. 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d14709e390 "><span class="keyword">blocked_range( Value begin, Value
+						end, size_t grainsize=1 ) 
+					 </span>
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d14709e393 "><a href="blocked_range_cls/blocked_range.htm">More Info</a> 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d14709e390 "><span class="keyword">blocked_range( blocked_range&
+						range, split ) 
+					 </span>
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d14709e393 "><a href="blocked_range_cls/blocked_range_1.htm">More Info</a> 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d14709e390 "><span class="keyword">size_type size() const 
+					 </span>
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d14709e393 "> 
+					 <p><strong>Requirements</strong> :<samp class="codeph"> end()<begin()</samp> is
+						false. 
+					 </p>
+ 
+					 <p><strong>Effects</strong>: Determines size of range. 
+					 </p>
+ 
+					 <p><strong>Returns</strong> 
+					 </p>
+ 
+					 <p><samp class="codeph"> end()-begin()</samp> 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d14709e390 "><span class="keyword">bool empty() const 
+					 </span>
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d14709e393 "> 
+					 <p><strong>Effects</strong>: Determines if range is empty. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: 
+						<samp class="codeph">!(begin()<end())</samp> 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d14709e390 "><span class="keyword">size_type grainsize() const 
+					 </span>
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d14709e393 "> 
+					 <p><strong>Returns</strong>: Grain size of range. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d14709e390 "><span class="keyword">bool is_divisible() const 
+					 </span>
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d14709e393 "> 
+					 <p><strong>Requirements</strong>: 
+						<samp class="codeph"> !(end()<begin())</samp> 
+					 </p>
+ 
+					 <p><strong>Effects</strong>: Determines if range can be split into
+						subranges. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: True if 
+						<samp class="codeph">size()>grainsize();</samp> false otherwise. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d14709e390 "><span class="keyword">const_iterator begin()
+						const</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d14709e393 "> 
+					 <p><strong>Returns</strong>: Inclusive lower bound on range. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d14709e390 "><span class="keyword">const_iterator end() const 
+					 </span>
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d14709e393 "> 
+					 <p><strong>Returns</strong>: Exclusive upper bound on range. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+			 </tbody>
+ 
+		  </table>
+</div>
+ 
+	 </div>
+ 
+  </div>
+ 
+  
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../../reference/algorithms/range_concept.htm">Range Concept</a></div>
+</div>
+<div class="See Also">
+<ul class="ullinks">
+<li class="ulchildlink"><a href="../../../reference/algorithms/range_concept/blocked_range_cls/blocked_range.htm">blocked_range( Value begin, Value end, size_t grainsize=1 )</a><br>
+</li>
+<li class="ulchildlink"><a href="../../../reference/algorithms/range_concept/blocked_range_cls/blocked_range_1.htm">blocked_range( blocked_range& range, split )</a><br>
+</li>
+</ul>
+
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="../parallel_for_func.htm#parallel_for_func">parallel_for Template Function 
+		  </a></div>
+<div><a href="../parallel_reduce_func.htm#parallel_reduce_func">parallel_reduce Template Function 
+		  </a></div>
+<div><a href="../parallel_scan_func.htm#parallel_scan_func">parallel_scan Template Function 
+		  </a></div>
+<div><a href="../../environment/enabling_debugging_features.htm#enabling_debugging_features">TBB_USE_ASSERT Macro 
+		  </a></div></div>
+</div> 
+
+</body>
+</html>
diff --git a/doc/help/reference/algorithms/range_concept/blocked_range_cls/blocked_range.htm b/doc/help/reference/algorithms/range_concept/blocked_range_cls/blocked_range.htm
new file mode 100755
index 0000000..4f95cac
--- /dev/null
+++ b/doc/help/reference/algorithms/range_concept/blocked_range_cls/blocked_range.htm
@@ -0,0 +1,57 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="blocked_range( Value begin, Value end, size_t grainsize=1 )">
+<meta name="DC.Relation" scheme="URI" content="../../../../reference/algorithms/range_concept/blocked_range_cls.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="blocked_range">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../../../intel_css_styles.css">
+<title>blocked_range( Value begin, Value end, size_t grainsize=1 )</title>
+</head>
+<body id="blocked_range">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(4);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="blocked_range"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">blocked_range( Value begin, Value end, size_t grainsize=1 )</h1>
+ 
+  <div> 
+	 <div class="section"><h2 class="sectiontitle">Requirements</h2> 
+		 
+		<p>The parameter <samp class="codeph">grainsize</samp> must be positive. The debug version of the library
+				raises an assertion failure if this requirement is not met. </p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle"> Effects</h2> 
+		
+		<p>Constructs a <samp class="codeph">blocked_range</samp> representing the half-open interval <samp class="codeph">[
+					begin, end)</samp> with the given <samp class="codeph">grainsize</samp>. </p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle"> Example</h2> 
+		 
+		<p>The statement <samp class="codeph">" blocked_range<int> r( 5, 14, 2 );"</samp> constructs a range of
+				int that contains the values 5 through 13 inclusive, with a grainsize of 2.
+					Afterwards,<samp class="codeph"> r.begin()==5</samp> and <samp class="codeph">r.end()==14</samp>. </p>
+ 
+	 </div>
+ 
+  </div>
+ 
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../../../reference/algorithms/range_concept/blocked_range_cls.htm">blocked_range Template Class</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/reference/algorithms/range_concept/blocked_range_cls/blocked_range_1.htm b/doc/help/reference/algorithms/range_concept/blocked_range_cls/blocked_range_1.htm
new file mode 100755
index 0000000..efa2128
--- /dev/null
+++ b/doc/help/reference/algorithms/range_concept/blocked_range_cls/blocked_range_1.htm
@@ -0,0 +1,66 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="blocked_range( blocked_range& range, split )">
+<meta name="DC.Relation" scheme="URI" content="../../../../reference/algorithms/range_concept/blocked_range_cls.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="blocked_range_1">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../../../intel_css_styles.css">
+<title>blocked_range( blocked_range& range, split )</title>
+</head>
+<body id="blocked_range_1">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(4);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="blocked_range_1"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">blocked_range( blocked_range& range, split )</h1>
+ 
+  <div> 
+	 <div class="section"><h2 class="sectiontitle">Requirements</h2> 
+		 
+		<p>
+				<samp class="codeph">is_divisible()</samp> is true. </p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle"> Effects</h2> 
+		 
+		<p>Partitions <samp class="codeph">range</samp> into two subranges. The newly constructed<samp class="codeph">
+					blocked_range </samp>is approximately the second half of the original
+					<samp class="codeph">range</samp>, and <samp class="codeph">range</samp> is updated to be the
+				remainder. Each subrange has the same <samp class="codeph">grainsize</samp> as the original
+				range. </p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle"> Example</h2> 
+		 
+		<p>Let<samp class="codeph"> i</samp> and<samp class="codeph"> j</samp> be integers that define a half-open interval
+					<samp class="codeph">[ i, j)</samp> and let <samp class="codeph">g</samp> specifiy a grain size. The
+				statement <samp class="codeph">blocked_range<int> r(i,j,g)</samp> constructs a
+					<samp class="codeph">blocked_range<int></samp> that represents<samp class="codeph"> [ i,
+					j)</samp> with grain size<samp class="codeph"> g</samp>. Running the statement<samp class="codeph">
+					blocked_range<int> s(r,split);</samp> subsequently causes r to
+					represent<samp class="codeph"> [ i, i +( j - i)/2)</samp> and <samp class="codeph">s</samp> to
+					represent<samp class="codeph"> [ i +( j - i)/2, j)</samp>, both with grain size<samp class="codeph">
+					g</samp>. </p>
+ 
+	 </div>
+ 
+  </div>
+ 
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../../../reference/algorithms/range_concept/blocked_range_cls.htm">blocked_range Template Class</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/reference/algorithms/splittable_concept.htm b/doc/help/reference/algorithms/splittable_concept.htm
new file mode 100755
index 0000000..c10cf67
--- /dev/null
+++ b/doc/help/reference/algorithms/splittable_concept.htm
@@ -0,0 +1,180 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="Splittable Concept">
+<meta name="DC.subject" content="Splittable Concept">
+<meta name="keywords" content="Splittable Concept">
+<meta name="DC.Relation" scheme="URI" content="../../reference/algorithms.htm">
+<meta name="DC.Relation" scheme="URI" content="../../reference/algorithms/splittable_concept/split_cls.htm">
+<meta name="DC.Relation" scheme="URI" content="range_concept/blocked_range_cls.htm#blocked_range_cls">
+<meta name="DC.Relation" scheme="URI" content="range_concept/blocked_range2d_cls.htm#blocked_range2d_cls">
+<meta name="DC.Relation" scheme="URI" content="parallel_reduce_func.htm#parallel_reduce_func">
+<meta name="DC.Relation" scheme="URI" content="parallel_scan_func.htm#parallel_scan_func">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="splittable_concept">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../intel_css_styles.css">
+<title>Splittable Concept</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="splittable_concept">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(2);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="splittable_concept"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Splittable Concept</h1>
+ 
+   
+  <div> 
+	 <div class="section"><h2 class="sectiontitle">Summary</h2> 
+		 
+		<p>Requirements for a type whose instances can be split into two pieces. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Requirements</h2> 
+		 
+		<p>The following table lists the requirements for a
+		  splittable type 
+		  <samp class="codeph">X</samp> with instance 
+		  <samp class="codeph">x</samp>. 
+		</p>
+ 
+		
+<div class="tablenoborder"><a name="tbl7"><!-- --></a><table cellpadding="4" summary="" id="tbl7" width="100%" frame="hsides" border="1" rules="all"><caption><span class="tablecap">Splittable Concept</span></caption> 
+		   
+		   
+		  <thead align="left"> 
+			 <tr> 
+				<th class="cellrowborder" valign="top" width="NaN%" id="d16663e65"> 
+				  <p><strong>Pseudo-Signature 
+					 </strong>
+				  </p>
+ 
+				</th>
+ 
+				<th class="row-nocellborder" valign="top" width="NaN%" id="d16663e73"> 
+				  <p><strong>Semantics 
+					 </strong>
+				  </p>
+ 
+				</th>
+ 
+			 </tr>
+ 
+          </thead>
+
+		  <tbody> 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="NaN%" headers="d16663e65 "> 
+				  <p><samp class="codeph">X::X(X& x, Split)</samp> 
+				  </p>
+ 
+				</td>
+ 
+				<td class="row-nocellborder" valign="top" width="NaN%" headers="d16663e73 "> 
+				  <p>Split 
+					 <samp class="codeph">x</samp> into 
+					 <samp class="codeph">x</samp> and newly constructed object. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+		  </tbody>
+ 
+		</table>
+</div>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle"> Description</h2> 
+		 
+		<p>A type is splittable if it has a 
+		  <em>splitting constructor</em> that allows an instance to be split into
+		  two pieces. The splitting constructor takes as arguments a reference to the
+		  original object, and a dummy argument of type 
+		  <samp class="codeph">Split</samp>, which is defined by the library. The dummy
+		  argument distinguishes the splitting constructor from a copy constructor. After
+		  the constructor runs, 
+		  <samp class="codeph"><em>x</em></samp> and the newly constructed object should
+		  represent the two pieces of the original 
+		  <samp class="codeph"><em>x.</em></samp> The library uses splitting constructors in
+		  two contexts: 
+		</p>
+ 
+		<ul type="disc"> 
+		  <li> 
+			 <em>Partitioning</em> a range into two subranges that can be processed
+			 concurrently. 
+		  </li>
+ 
+		  <li> 
+			 <em>Forking</em> a body (function object) into two bodies that can run
+			 concurrently. 
+		  </li>
+ 
+		</ul>
+ 
+		<p>The following model types provide examples. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle"> Model Types</h2> 
+		 
+		<p> 
+		  <samp class="codeph">blocked_range</samp> and 
+		  <samp class="codeph">blocked_range2d</samp> represent splittable ranges. For each
+		  of these, splitting partitions the range into two subranges. See the 
+		  <samp class="codeph">blocked_range</samp> Template Class section for an example of
+		  the splitting constructor for 
+		  <samp class="codeph">blocked_range</samp>. 
+		</p>
+ 
+		<p>The bodies for 
+		  <samp class="codeph">parallel_reduce</samp> and 
+		  <samp class="codeph">parallel_scan</samp> must be splittable. For each of these,
+		  splitting results in two bodies that can be run concurrently. 
+		</p>
+ 
+	 </div>
+ 
+  </div>
+ 
+  
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../reference/algorithms.htm">Algorithms</a></div>
+</div>
+<div class="See Also">
+<ul class="ullinks">
+<li class="ulchildlink"><a href="../../reference/algorithms/splittable_concept/split_cls.htm">split Class</a><br>
+</li>
+</ul>
+
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="range_concept/blocked_range_cls.htm#blocked_range_cls">blocked_range Template Class 
+		  </a></div>
+<div><a href="range_concept/blocked_range2d_cls.htm#blocked_range2d_cls">blocked_range2d Template Class 
+		  </a></div>
+<div><a href="parallel_reduce_func.htm#parallel_reduce_func">parallel_reduce Template Function 
+		  </a></div>
+<div><a href="parallel_scan_func.htm#parallel_scan_func">parallel_scan Template Function 
+		  </a></div></div>
+</div> 
+
+</body>
+</html>
diff --git a/doc/help/reference/algorithms/splittable_concept/split_cls.htm b/doc/help/reference/algorithms/splittable_concept/split_cls.htm
new file mode 100755
index 0000000..d1b18dd
--- /dev/null
+++ b/doc/help/reference/algorithms/splittable_concept/split_cls.htm
@@ -0,0 +1,72 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="split Class">
+<meta name="DC.subject" content="split Class">
+<meta name="keywords" content="split Class">
+<meta name="DC.Relation" scheme="URI" content="../../../reference/algorithms/splittable_concept.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="split_cls">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../../intel_css_styles.css">
+<title>split Class</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="split_cls">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(3);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="split_cls"><!-- --></a>
+
+
+<h1 class="topictitle1">split Class</h1>
+
+     
+<div>
+<div class="section"><h2 class="sectiontitle">Summary</h2>
+        <p>Type for dummy argument of a splitting constructor.</p>
+</div>
+
+<div class="section"><h2 class="sectiontitle">Header</h2>
+     <p> <pre>#include "tbb/tbb_stddef.h"</pre></p>
+</div>
+
+    <div class="section"><h2 class="sectiontitle">Syntax</h2>
+        <pre>class split;</pre>
+</div>
+
+<div class="section"><h2 class="sectiontitle">Description</h2>
+    <p>An argument of type <samp class="codeph">split</samp> is used to distinguish a splitting constructor from a copy constructor.</p>
+
+
+</div>
+
+
+<div class="section"><h2 class="sectiontitle">Members</h2>
+<pre> 
+namespace tbb {
+    class split {
+    };
+}
+</pre>
+
+</div>
+
+</div>
+
+ 
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../../reference/algorithms/splittable_concept.htm">Splittable Concept</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/reference/appendices.htm b/doc/help/reference/appendices.htm
new file mode 100755
index 0000000..576a7b0
--- /dev/null
+++ b/doc/help/reference/appendices.htm
@@ -0,0 +1,56 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="Appendices">
+<meta name="DC.subject" content="known issues, compatibility">
+<meta name="keywords" content="known issues, compatibility">
+<meta name="DC.Relation" scheme="URI" content="../reference/reference.htm">
+<meta name="DC.Relation" scheme="URI" content="../reference/appendices/compatibility_features.htm">
+<meta name="DC.Relation" scheme="URI" content="../reference/appendices/ppl_compatibility.htm">
+<meta name="DC.Relation" scheme="URI" content="../reference/appendices/known_issues.htm">
+<meta name="DC.Relation" scheme="URI" content="../reference/appendices/community_preview_features.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="appendices">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../intel_css_styles.css">
+<title>Appendices</title>
+</head>
+<body id="appendices">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(1);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="appendices"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Appendices</h1>
+ 
+   
+  <div> 
+	 <p>This section describes the appendices related to this document. 
+	 </p>
+ 
+  </div>
+ 
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../reference/reference.htm">Intel® Threading Building Blocks Reference Manual</a></div>
+</div>
+<div>
+<ul class="ullinks">
+<li class="ulchildlink"><a href="../reference/appendices/compatibility_features.htm">Compatibility Features</a><br>
+</li>
+<li class="ulchildlink"><a href="../reference/appendices/ppl_compatibility.htm">PPL Compatibility</a><br>
+</li>
+<li class="ulchildlink"><a href="../reference/appendices/known_issues.htm">Known Issues</a><br>
+</li>
+<li class="ulchildlink"><a href="../reference/appendices/community_preview_features.htm">Community Preview Features</a><br>
+</li>
+</ul>
+</div>
+
+</body>
+</html>
diff --git a/doc/help/reference/appendices/community_preview_features.htm b/doc/help/reference/appendices/community_preview_features.htm
new file mode 100755
index 0000000..9f716ff
--- /dev/null
+++ b/doc/help/reference/appendices/community_preview_features.htm
@@ -0,0 +1,76 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="Community Preview Features">
+<meta name="DC.subject" content="Community Preview Features">
+<meta name="keywords" content="Community Preview Features">
+<meta name="DC.Relation" scheme="URI" content="../../reference/appendices.htm">
+<meta name="DC.Relation" scheme="URI" content="../../reference/appendices/community_preview_features/what_is_a_community_preview_feature.htm">
+<meta name="DC.Relation" scheme="URI" content="../../reference/appendices/community_preview_features/enabling_a_community_preview_feature.htm">
+<meta name="DC.Relation" scheme="URI" content="../../reference/appendices/community_preview_features/flow_graph_features.htm">
+<meta name="DC.Relation" scheme="URI" content="../../reference/appendices/community_preview_features/run_time_loader.htm">
+<meta name="DC.Relation" scheme="URI" content="../../reference/appendices/community_preview_features/scalable_memory_pools.htm">
+<meta name="DC.Relation" scheme="URI" content="../../reference/appendices/community_preview_features/serial_subset.htm">
+<meta name="DC.Relation" scheme="URI" content="../../reference/appendices/community_preview_features/concurrent_lru_cache_cls.htm">
+<meta name="DC.Relation" scheme="URI" content="../../reference/appendices/community_preview_features/aggregator_cls.htm">
+<meta name="DC.Relation" scheme="URI" content="../../reference/appendices/community_preview_features/task_arena_cls.htm">
+<meta name="DC.Relation" scheme="URI" content="../../reference/synchronization/mutexes/speculative_spin_rw_mutex_cls.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="community_preview_features">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../intel_css_styles.css">
+<title>Community Preview Features</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="community_preview_features">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(2);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="community_preview_features"><!-- --></a>
+
+
+<h1 class="topictitle1">Community Preview Features</h1>
+
+
+<div>
+<p>This section provides documentation for Community Preview (CP) features.</p>
+</div>
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../reference/appendices.htm">Appendices</a></div>
+</div>
+<div>
+<ul class="ullinks">
+<li class="ulchildlink"><a href="../../reference/appendices/community_preview_features/what_is_a_community_preview_feature.htm">What is a Community Preview Feature?</a><br>
+</li>
+<li class="ulchildlink"><a href="../../reference/appendices/community_preview_features/enabling_a_community_preview_feature.htm">Enabling a Community Preview Feature</a><br>
+</li>
+<li class="ulchildlink"><a href="../../reference/appendices/community_preview_features/flow_graph_features.htm">Flow Graph</a><br>
+</li>
+<li class="ulchildlink"><a href="../../reference/appendices/community_preview_features/run_time_loader.htm">Run-time loader</a><br>
+</li>
+<li class="ulchildlink"><a href="../../reference/appendices/community_preview_features/scalable_memory_pools.htm">Scalable Memory Pools</a><br>
+</li>
+<li class="ulchildlink"><a href="../../reference/appendices/community_preview_features/serial_subset.htm">Serial subset</a><br>
+</li>
+<li class="ulchildlink"><a href="../../reference/appendices/community_preview_features/concurrent_lru_cache_cls.htm">concurrent_lru_cache Template Class</a><br>
+</li>
+<li class="ulchildlink"><a href="../../reference/appendices/community_preview_features/aggregator_cls.htm">aggregator Class</a><br>
+</li>
+<li class="ulchildlink"><a href="../../reference/appendices/community_preview_features/task_arena_cls.htm">task_arena Class</a><br>
+</li>
+<li class="ulchildlink"><a href="../../reference/synchronization/mutexes/speculative_spin_rw_mutex_cls.htm">speculative_spin_rw_mutex Class (Community Preview Feature)</a><br>
+</li>
+</ul>
+</div>
+
+</body>
+</html>
diff --git a/doc/help/reference/appendices/community_preview_features/aggregator_cls.htm b/doc/help/reference/appendices/community_preview_features/aggregator_cls.htm
new file mode 100755
index 0000000..790b396
--- /dev/null
+++ b/doc/help/reference/appendices/community_preview_features/aggregator_cls.htm
@@ -0,0 +1,66 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="aggregator Class">
+<meta name="DC.subject" content="aggregator Class">
+<meta name="keywords" content="aggregator Class">
+<meta name="DC.Relation" scheme="URI" content="../../../reference/appendices/community_preview_features.htm">
+<meta name="DC.Relation" scheme="URI" content="../../../reference/appendices/community_preview_features/aggregator_cls/basic_interface.htm">
+<meta name="DC.Relation" scheme="URI" content="../../../reference/appendices/community_preview_features/aggregator_cls/expert_interface.htm">
+<meta name="DC.Relation" scheme="URI" content="../../synchronization/mutexes/mutex_concept.htm#mutex_concept">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="aggregator_cls">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../../intel_css_styles.css">
+<title>aggregator Class</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="aggregator_cls">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(3);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="aggregator_cls"><!-- --></a>
+
+
+  <h1 class="topictitle1">aggregator Class</h1>
+
+  
+  <div>
+	 <div class="section"><h2 class="sectiontitle">Summary</h2>
+		
+		<p> Class for mutual exclusion that does not model the
+		  Mutex Concept. 
+		</p>
+
+	 </div>
+
+  </div>
+ 
+  
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../../reference/appendices/community_preview_features.htm">Community Preview Features</a></div>
+</div>
+<div class="See Also">
+<ul class="ullinks">
+<li class="ulchildlink"><a href="../../../reference/appendices/community_preview_features/aggregator_cls/basic_interface.htm">aggregator Class Basic Interface</a><br>
+</li>
+<li class="ulchildlink"><a href="../../../reference/appendices/community_preview_features/aggregator_cls/expert_interface.htm">aggregator Class Expert Interface</a><br>
+</li>
+</ul>
+
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="../../synchronization/mutexes/mutex_concept.htm#mutex_concept">Mutex Concept
+		  </a></div></div>
+</div>
+
+</body>
+</html>
diff --git a/doc/help/reference/appendices/community_preview_features/aggregator_cls/basic_interface.htm b/doc/help/reference/appendices/community_preview_features/aggregator_cls/basic_interface.htm
new file mode 100755
index 0000000..91d6b4c
--- /dev/null
+++ b/doc/help/reference/appendices/community_preview_features/aggregator_cls/basic_interface.htm
@@ -0,0 +1,153 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="aggregator Class Basic Interface">
+<meta name="DC.subject" content="aggregator Class Basic Interface">
+<meta name="keywords" content="aggregator Class Basic Interface">
+<meta name="DC.Relation" scheme="URI" content="../../../../reference/appendices/community_preview_features/aggregator_cls.htm">
+<meta name="DC.Relation" scheme="URI" content="expert_interface.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="basic_interface">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../../../intel_css_styles.css">
+<title>aggregator Class Basic Interface</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="basic_interface">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(4);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="basic_interface"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">aggregator Class Basic Interface</h1>
+ 
+   
+  <div> 
+	 <div class="section"><h2 class="sectiontitle">Syntax</h2> 
+		 
+		<pre>class aggregator;</pre> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Header</h2> 
+		 
+		<pre>#define TBB_PREVIEW_AGGREGATOR 1
+#include "tbb/aggregator.h"</pre> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Description</h2> 
+		 
+		<p>An <samp class="codeph">aggregator</samp> is similar to a <samp class="codeph">mutex</samp> in that it allows for mutually 
+           exclusive execution of operations, however the interface is quite different.  In particular, operations 
+           (in the form of function bodies or lambda functions) are passed to an <samp class="codeph">aggregator</samp> for 
+           execution via an <samp class="codeph">execute</samp> method on the <samp class="codeph">aggregator</samp> object.  Operations 
+           passed to the same <samp class="codeph">aggregator</samp> object will be executed mutually exclusively.  
+           The <samp class="codeph">execute</samp> method returns after the function passed to it has completed execution.
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Members</h2> 
+		 
+		<pre>namespace tbb {
+  class aggregator {
+  public:
+    aggregator();
+    template<typename Body> 
+    void execute(const Body& b);
+  };
+}</pre> 
+		
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"><span class="tabledesc">The following table provides additional information on the
+			 members of this class. 
+		  </span>
+             <thead align="left"> 
+				<tr> 
+				  <th class="cellrowborder" valign="top" width="33.89830508474576%" id="d17477e97">Member 
+				  </th>
+ 
+				  <th class="cellrowborder" valign="top" width="66.10169491525423%" id="d17477e100">Description 
+				  </th>
+ 
+				</tr>
+
+             </thead>
+ 
+			 <tbody> 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d17477e97 "><span class="keyword">aggregator()</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d17477e100 "> 
+					 <p>Constructs an <span class="keyword">aggregator</span> object.
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d17477e97 "><span class="keyword">template<typename Body> void execute(const Body& b)</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d17477e100 "> 
+					 <p>Submits <samp class="codeph">b</samp> to <span class="keyword">aggregator</span> to be executed in a mutually 
+                     exclusive fashion.  Returns after <samp class="codeph">b</samp> has been executed.</p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+			 </tbody>
+ 
+		  </table>
+</div>
+ 
+  </div>
+ 
+  <div class="section"><h2 class="sectiontitle">Example</h2> 
+   
+  <p>The following example uses an <samp class="codeph">aggregator</samp> to safely operate on a non-concurrent <samp class="codeph">std::priority_queue</samp> container.</p>
+
+ <pre>typedef priority_queue<value_type, vector<value_type>, compare_type> pq_t;
+pq_t my_pq;
+aggregator my_aggregator;
+value_type elem = 42;
+
+// push elem onto the priority queue
+my_aggregator.execute( [&my_pq, &elem](){ my_pq.push(elem); } );
+
+// pop an elem from the priority queue
+bool result = false;
+my_aggregator.execute( [&my_pq, &elem, &result](){
+  if (!my_pq.empty()) {
+    result = true;
+    elem = my_pq.top();
+    my_pq.pop();
+  }
+} );</pre>
+  </div>
+ 
+  </div>
+ 
+  
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../../../reference/appendices/community_preview_features/aggregator_cls.htm">aggregator Class</a></div>
+</div>
+<div class="See Also">
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="expert_interface.htm">aggregator Class Expert Interface
+		  </a></div></div>
+</div>
+
+</body>
+</html>
diff --git a/doc/help/reference/appendices/community_preview_features/aggregator_cls/expert_interface.htm b/doc/help/reference/appendices/community_preview_features/aggregator_cls/expert_interface.htm
new file mode 100755
index 0000000..ab0a55f
--- /dev/null
+++ b/doc/help/reference/appendices/community_preview_features/aggregator_cls/expert_interface.htm
@@ -0,0 +1,275 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="aggregator Class Expert Interface">
+<meta name="DC.subject" content="aggregator Class Expert Interface">
+<meta name="keywords" content="aggregator Class Expert Interface">
+<meta name="DC.Relation" scheme="URI" content="../../../../reference/appendices/community_preview_features/aggregator_cls.htm">
+<meta name="DC.Relation" scheme="URI" content="basic_interface.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="expert_interface">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../../../intel_css_styles.css">
+<title>aggregator Class Expert Interface</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="expert_interface">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(4);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="expert_interface"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">aggregator Class Expert Interface</h1>
+ 
+   
+  <div> 
+	 <div class="section"><h2 class="sectiontitle">Syntax</h2> 
+		 
+		<pre>template<typename handler_type>
+class aggregator_ext;</pre> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Header</h2> 
+		 
+		<pre>#define TBB_PREVIEW_AGGREGATOR 1
+#include "tbb/aggregator.h"</pre> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Description</h2> 
+		 
+		<p>The extended <samp class="codeph">aggregator</samp> interface is provided for expert-level use of the <samp class="codeph">aggregator</samp>.  
+        It gives the user more control over the operations that are passed to the <samp class="codeph">aggregator</samp> and how those operations 
+        are handled by the <samp class="codeph">aggregator</samp>.  Specifically, instead of an <samp class="codeph">execute</samp> method to pass in a 
+        particular function, there is a <samp class="codeph">process</samp> method to which any sort of data (derived from <samp class="codeph">aggregator_operation</samp>, 
+        see below) can be passed.  In addition, the user must specify a custom function object that performs the operations specified 
+        by the data passed in through the <samp class="codeph">process</samp> method.
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Members</h2> 
+		 
+		<pre>namespace tbb {
+  class aggregator_operation {
+   public:
+    enum aggregator_operation_status {agg_waiting=0,agg_finished};
+    aggregator_operation();
+    void start();
+    void finish();
+    aggregator_operation* next();
+    void set_next(aggregator_operation* n);
+  };
+
+  template<typename handler_type>
+  class aggregator_ext {
+   public:
+    aggregator_ext(const handler_type& h);
+    void process(aggregator_operation *op);
+  };
+}</pre> 
+		
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"><span class="tabledesc">The following table provides additional information on the
+			 members of this class. 
+		  </span>
+             <thead align="left"> 
+				<tr> 
+				  <th class="cellrowborder" valign="top" width="33.89830508474576%" id="d17856e100">Member 
+				  </th>
+ 
+				  <th class="cellrowborder" valign="top" width="66.10169491525423%" id="d17856e103">Description 
+				  </th>
+ 
+				</tr>
+
+             </thead>
+ 
+			 <tbody> 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d17856e100 "><span class="keyword">aggregator_ext(const handler_type& h)</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d17856e103 "> 
+					 <p>Constructs an <span class="keyword">aggregator_ext</span> object that uses 
+                     handler <span class="keyword">h</span> to handle operations.</p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d17856e100 "><span class="keyword">void process(aggregator_operation* op)</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d17856e103 "> 
+					 <p>Submits data about an operation in <span class="keyword">op</span> to <span class="keyword">aggregator_ext</span> 
+                     to be executed in a mutually exclusive fashion.  Returns after <span class="keyword">op</span> has been handled.
+                     </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d17856e100 "><span class="keyword">aggregator_operation::aggregator_operation()</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d17856e103 "> 
+					 <p>Constructs a base <span class="keyword">aggregator_operation</span> object.</p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d17856e100 "><span class="keyword">void aggregator_operation::start()</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d17856e103 "> 
+					 <p>Prepares the <span class="keyword">aggregator_operation</span> object to be handled.</p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d17856e100 "><span class="keyword">void aggregator_operation::finish()</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d17856e103 "> 
+					 <p>Prepares the <span class="keyword">aggregator_operation</span> object to be released to its originating thread.</p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d17856e100 "><span class="keyword">aggregator_operation* aggregator_operation::next()</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d17856e103 "> 
+					 <p>The next <span class="keyword">aggregator_operation</span> following <span class="keyword">this</span>.
+                     </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d17856e100 "><span class="keyword">void aggregator_operation::set_next(aggregator_operation* n)</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d17856e103 "> 
+					 <p>Makes <span class="keyword">n</span> the next <span class="keyword">aggregator_operation</span> following <span class="keyword">this</span>.
+                     </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+			 </tbody>
+ 
+		  </table>
+</div>
+ 
+  </div>
+ 
+  <div class="section"><h2 class="sectiontitle">Example</h2> 
+   
+  <p>The following example again uses an <samp class="codeph">aggregator_ext</samp> to safely operate on a non-concurrent <samp class="codeph">std::priority_queue</samp> container.</p>
+
+ <pre>typedef priority_queue<value_type, vector<value_type>, compare_type> pq_t;
+pq_t my_pq;
+value_type elem = 42;
+
+// The operation data, derived from aggregator_node
+class op_data : public aggregator_node
+ public:
+  value_type* elem;
+  bool success, is_push;
+  op_data(value_type* e, bool push=false) : 
+    elem(e), success(false), is_push(push) {}
+};
+
+// A handler to pass in the aggregator_ext template
+class my_handler_t {
+  pq_t *pq;
+ public:
+  my_handler_t() {}
+  my_handler_t(pq_t *pq_) : pq(pq_) {}
+  void operator()(aggregator_node* op_list) {
+    op_data* tmp;
+    while (op_list) {
+      tmp = (op_data*)op_list;
+      op_list = op_list->next();
+      tmp->start();
+      if (tmp->is_push) pq->push(*(tmp->elem));
+      else {
+        if (!pq->empty()) {
+          tmp->success = true;
+          *(tmp->elem) = pq->top();
+          pq->pop();
+        }
+      }
+      tmp->finish();
+    }
+  }
+};
+
+// create the aggregator_ext and initialize with handler instance
+aggregator_ext<my_handler_t> my_aggregator(my_handler_t(my_pq));
+
+// push elem onto the priority queue
+op_data my_push_op(&elem, true);
+my_aggregator.process(&my_push_op);
+
+// pop an elem from the priority queue
+bool result;
+op_data my_pop_op(&elem);
+my_aggregator.process(&my_pop_op);
+result = my_pop_op.success;</pre>
+
+<p>There are several important things to note in this example.  Most importantly is the handler 
+algorithm, which must conform to what is shown above.  Specifically, the handler must receive a 
+linked list of <samp class="codeph">aggregator_nodes</samp>, and it must process all the nodes in the list.  The ordering of 
+this processing is up to the user, but all the nodes must be processed before the handler returns.  
+The <samp class="codeph">next</samp> and <samp class="codeph">set_next</samp> methods on <samp class="codeph">aggregator_node</samp> should be used 
+for all manipulations of nodes in the list.</p>
+
+
+<p>Further, to process an <samp class="codeph">aggregator_node</samp>, the user must first call the method <samp class="codeph">start</samp> on the node.  
+Then, the user can handle the operation associated with the node in whatever way necessary.  When 
+this is complete, the user must call the method <samp class="codeph">finish</samp> on the node.  The <samp class="codeph">finish</samp> method releases the 
+node to its originating thread, causing that thread's invocation of the <samp class="codeph">process</samp> method to return.</p>
+
+
+<p>The <samp class="codeph">handler</samp> function in the example above illustrates this process in the simplest fashion: 
+loop over the list handling each operation in turn, call <samp class="codeph">start</samp> before working with the information 
+contained in the node, call <samp class="codeph">finish</samp> when done with the node.</p>
+
+  </div>
+ 
+  </div>
+ 
+
+  
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../../../reference/appendices/community_preview_features/aggregator_cls.htm">aggregator Class</a></div>
+</div>
+<div class="See Also">
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="basic_interface.htm">aggregator Class Basic Interface
+		  </a></div></div>
+</div>
+
+</body>
+</html>
diff --git a/doc/help/reference/appendices/community_preview_features/concurrent_lru_cache_cls.htm b/doc/help/reference/appendices/community_preview_features/concurrent_lru_cache_cls.htm
new file mode 100755
index 0000000..e5492d7
--- /dev/null
+++ b/doc/help/reference/appendices/community_preview_features/concurrent_lru_cache_cls.htm
@@ -0,0 +1,226 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="concurrent_lru_cache Template Class">
+<meta name="DC.subject" content="concurrent_lru_cache Template Class">
+<meta name="keywords" content="concurrent_lru_cache Template Class">
+<meta name="DC.Relation" scheme="URI" content="../../../reference/appendices/community_preview_features.htm">
+<meta name="DC.Relation" scheme="URI" content="../../../reference/appendices/community_preview_features/concurrent_lru_cache_cls/handle_object_cls.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="concurrent_lru_cache_cls">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../../intel_css_styles.css">
+<title>concurrent_lru_cache Template Class</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="concurrent_lru_cache_cls">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(3);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="concurrent_lru_cache_cls"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">concurrent_lru_cache Template Class</h1>
+ 
+   
+  <div> 
+	 <div class="section"><h2 class="sectiontitle">Summary</h2> 
+		 
+		<p>Template class for Least Recently Used cache with
+		  concurrent operations. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Syntax</h2> 
+		 
+		<pre>template <typename key_type, typename value_type, typename value_functor_type = value_type (*)(key_type) >
+ class concurrent_lru_cache;</pre> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Header</h2> 
+		 
+		<pre>#define TBB_PREVIEW_CONCURRENT_LRU_CACHE 1
+ #include "tbb/concurrent_lru_cache.h"</pre> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Description</h2> 
+		 
+		<p>A 
+		  <span class="keyword">concurrent_lru_cache</span> container maps keys to values
+		  with the ability to limit the number of stored unused objects. There is at most
+		  one element in the container for each key. 
+		</p>
+ 
+		<p>The container permits multiple threads to
+		  concurrently retrieve items from it. 
+		</p>
+ 
+		<p>The container tracks the lifetime of retrieved
+		  items by returning a proxy object instead of a real value. 
+		</p>
+ 
+		<p>The container stores all the items that are
+		  currently in use and a limited number of unused items. Extra items are removed
+		  in a least recently used manner. 
+		</p>
+ 
+		<p>When no item is found for a key, the container
+		  calls the user provided function object to get a needed value and inserts it.
+		  The functor object must be thread safe. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Members</h2> 
+		 
+		<pre>namespace tbb {
+ template <typename key_type,
+ typename value_type,
+ typename value_functor_type = value_type (*)(key_type) >
+ class concurrent_lru_cache{
+ private:
+ class handle_object;
+ public:
+ typedef handle_object handle;
+ public:
+ concurrent_lru_cache(value_functor_type f,<u>std::size_t</u> number_of_lru_history_items);
+ handle_object operator()(key_type k);
+ private:
+ struct handle_move_t;
+ class handle_object {
+ public:
+ handle_object(handle_move_t m);
+ operator handle_move_t();
+ value_type& value();
+ ~handle_object();
+ friend handle_move_t move(handle_object& h);
+ private:
+ void operator=(handle_object&);
+ handle_object(handle_object &);
+ };
+<u>};</u>
+ }</pre> 
+		
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"><span class="tabledesc">The following table provides additional information on the
+			 members of this template class. 
+		  </span><thead align="left"> 
+				<tr> 
+				  <th class="cellrowborder" valign="top" width="33.89830508474576%" id="d18666e159">Member 
+				  </th>
+ 
+				  <th class="cellrowborder" valign="top" width="66.10169491525423%" id="d18666e162">Description 
+				  </th>
+ 
+				</tr>
+</thead>
+ 
+			 <tbody> 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d18666e159 "><span class="keyword"></span>concurrent_lru_cache(value_function_type f,<u>std::size_t</u> number_of_lru_history_items); 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d18666e162 "> 
+					 <p>Constructs an empty cache with a 
+						<samp class="codeph">number_of_lru_history_items</samp> maximum
+						number of stored unused objects, and 
+						<samp class="codeph">f</samp> function
+						object returning new values. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d18666e159 "><span class="keyword">handle_object operator[](key_type
+						k)</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d18666e162 "> 
+					 <p>Search the container for a pair with
+						given key. If the pair is not found, the user provided function object is
+						called to get the value and insert it into the container. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: 
+						<samp class="codeph">handle_object</samp> pointing to the matching
+						value. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d18666e159 "><span class="keyword">~ concurrent_lru_cache
+						()</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d18666e162 "> 
+					 <p>Destroys all items in the container, and
+						the container itself, so that it can no longer be used. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d18666e159 "><span class="keyword">handle_object class</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d18666e162 "><a href="concurrent_lru_cache_cls/handle_object_cls.htm">More Info</a> 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d18666e159 "><span class="keyword">handle_move_t class</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d18666e162 "> 
+					 <p>This is an instrumental class to allow
+						certain conversions that allow ownership transfer between instances of 
+						<samp class="codeph">handle_object</samp> objects. As well it
+						allows 
+						<samp class="codeph">handle_object</samp> objects to be passed to
+						and returned from functions. The class has no members other than holding a
+						reference to value object in LRU cache container and a pointer to the container
+						itself. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+			 </tbody>
+ 
+		  </table>
+</div>
+ 
+	 </div>
+ 
+  </div>
+
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../../reference/appendices/community_preview_features.htm">Community Preview Features</a></div>
+</div>
+<div>
+<ul class="ullinks">
+<li class="ulchildlink"><a href="../../../reference/appendices/community_preview_features/concurrent_lru_cache_cls/handle_object_cls.htm">handle_object class</a><br>
+</li>
+</ul>
+</div>
+
+</body>
+</html>
diff --git a/doc/help/reference/appendices/community_preview_features/concurrent_lru_cache_cls/handle_object_cls.htm b/doc/help/reference/appendices/community_preview_features/concurrent_lru_cache_cls/handle_object_cls.htm
new file mode 100755
index 0000000..ea30629
--- /dev/null
+++ b/doc/help/reference/appendices/community_preview_features/concurrent_lru_cache_cls/handle_object_cls.htm
@@ -0,0 +1,215 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="handle_object class">
+<meta name="DC.subject" content="handle_object class">
+<meta name="keywords" content="handle_object class">
+<meta name="DC.Relation" scheme="URI" content="../../../../reference/appendices/community_preview_features/concurrent_lru_cache_cls.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="handle_object_cls">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../../../intel_css_styles.css">
+<title>handle_object class</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="handle_object_cls">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(4);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="handle_object_cls"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">handle_object class</h1>
+ 
+   
+  <div> 
+	 <div class="section"><h2 class="sectiontitle">Summary</h2> 
+		 
+		<p>Class that provides read and write access to value
+		  in a 
+		  <samp class="codeph">concurrent_lru_cache</samp>. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Syntax</h2> 
+		 
+		<pre>template <typename key_type,
+ typename value_type,
+ typename value_functor_type = value_type (*)(key_type) >
+ class concurrent_lru_cache::handle_object {</pre> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Header</h2> 
+		 
+		<pre>#include "tbb/concurrent_lru_cache.h"</pre> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Description</h2> 
+		 
+		<p>A 
+		  <samp class="codeph">handle_object</samp> is a
+		  (smart handle) proxy object returned by the cache container allowing getting
+		  reference to the value. 
+		</p>
+ 
+		<p>Live object of this type prevents the container
+		  from erasing values while they are being used. 
+		</p>
+ 
+		<p>The 
+		  <samp class="codeph">handle_object</samp> does not
+		  have copy semantics; instead it only allows transfer of ownership i.e. it
+		  semantics is similar to one of 
+		  <samp class="codeph">std::auto_ptr</samp> or move
+		  semantics from C++11. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Members and free standing functions</h2> 
+		
+		
+		<pre>namespace tbb {
+ template <typename key_type,
+ typename value_type,
+ typename value_functor_type = value_type (*)(key_type) >
+ class concurrent_lru_cache::handle_object {
+ public:
+ handle_object(handle_move_t m);
+ operator handle_move_t();
+ value_type& value();
+ ~handle_object();
+ private:
+ void operator=(handle_object&);
+ handle_object(handle_object &);
+ };
+<u>};</u>
+ handle_move_t move(handle_object& h);
+ }</pre> 
+		
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"><span class="tabledesc">The following table provides additional information on the
+			 members of this template class. 
+		  </span><thead align="left"> 
+				<tr> 
+				  <th class="cellrowborder" valign="top" width="33.89830508474576%" id="d19211e139">Member 
+				  </th>
+ 
+				  <th class="cellrowborder" valign="top" width="66.10169491525423%" id="d19211e142">Description 
+				  </th>
+ 
+				</tr>
+</thead>
+ 
+			 <tbody> 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d19211e139 "><span class="keyword">handle_object(handle_move_t
+						m)</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d19211e142 "> 
+					 <p>Constructs an 
+						<samp class="codeph">handle_object</samp> object from a pointer or
+						from another 
+						<samp class="codeph">handle_object</samp> (through implicit
+						conversion to 
+						<samp class="codeph">handle_move_t</samp> object). 
+					 </p>
+ 
+					 <p>Since 
+						<samp class="codeph">handle_object</samp> objects owns a reference
+						to a value object of LRU cache, when a new 
+						<samp class="codeph">handle_object</samp> is constructed from
+						another 
+						<samp class="codeph">handle_object</samp>, the former owner
+						releases the reference ownership (i.e. no longer refers to any value) . 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d19211e139 "><span class="keyword">operator handle_move_t()</span>
+					 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d19211e142 "> 
+					 <p>This method should not be called
+						directly, instead use free standing 
+						<samp class="codeph">move</samp>
+						function. 
+					 </p>
+ 
+					 <p><strong>Effects</strong>: Transfer reference
+						ownership from 
+						<samp class="codeph">handle_object</samp> objects to temporary 
+						<samp class="codeph">handle_move_t</samp> object. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: 
+						<samp class="codeph">handle_move_t</samp> object pointing to the
+						same value object of LRU cache 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d19211e139 "><span class="keyword">value_type& value()</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d19211e142 "> 
+					 <p>Return a reference to value object of LRU
+						cache container. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: Reference to 
+						<samp class="codeph">value_type</samp>
+						object inside the LRU cache container. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d19211e139 "><span class="keyword">~handle_object()</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d19211e142 "> 
+					 <p>Release a reference to value object of
+						LRU cache container. It it was the last reference to the value object the
+						container is allowed to evict the value. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+			 </tbody>
+ 
+		  </table>
+</div>
+ 
+	 </div>
+ 
+  </div>
+
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../../../reference/appendices/community_preview_features/concurrent_lru_cache_cls.htm">concurrent_lru_cache Template Class</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/reference/appendices/community_preview_features/enabling_a_community_preview_feature.htm b/doc/help/reference/appendices/community_preview_features/enabling_a_community_preview_feature.htm
new file mode 100755
index 0000000..8d0270b
--- /dev/null
+++ b/doc/help/reference/appendices/community_preview_features/enabling_a_community_preview_feature.htm
@@ -0,0 +1,55 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="Enabling a Community Preview Feature">
+<meta name="DC.subject" content="Enabling a Community Preview Feature">
+<meta name="keywords" content="Enabling a Community Preview Feature">
+<meta name="DC.Relation" scheme="URI" content="../../../reference/appendices/community_preview_features.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="enabling_a_community_preview_feature">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../../intel_css_styles.css">
+<title>Enabling a Community Preview Feature</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="enabling_a_community_preview_feature">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(3);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="enabling_a_community_preview_feature"><!-- --></a>
+
+
+<h1 class="topictitle1">Enabling a Community Preview Feature</h1>
+
+
+<div>
+<p>A Community Preview feature may be defined completely in header files or it may require some additional support defined in a library.</p>
+
+<p>For a CP feature that is contained completely in header files, a feature-specific macro must be defined before inclusion of the header files.</p>
+
+<p>Example</p>
+<pre>#define TBB_PREVIEW_FOO 1
+ #include "tbb/foo.h"</pre>
+<p>If a CP feature requires support from a library, then an additional library must be linked with the application.</p>
+
+<p>The use of separate headers, feature-specific macros and separate libraries mitigates the impact of Community Preview features on other product features.</p>
+<div class="Note"><h3 class="NoteTipHead">
+					Note</h3>
+<p>Unless a CP feature is explicitly enabled using the above mechanisms, it will have no impact on the application.</p>
+</div></div>
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../../reference/appendices/community_preview_features.htm">Community Preview Features</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/reference/appendices/community_preview_features/flow_graph/or_node_cls.htm b/doc/help/reference/appendices/community_preview_features/flow_graph/or_node_cls.htm
new file mode 100755
index 0000000..741c9de
--- /dev/null
+++ b/doc/help/reference/appendices/community_preview_features/flow_graph/or_node_cls.htm
@@ -0,0 +1,382 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="or_node Template Class">
+<meta name="DC.subject" content="or_node Template Class">
+<meta name="keywords" content="or_node Template Class">
+<meta name="DC.Relation" scheme="URI" content="../../../../reference/appendices/community_preview_features/flow_graph_features.htm">
+<meta name="DC.Relation" scheme="URI" content="../../../flow_graph/message_passing_protocol.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="or_node_cls">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../../../intel_css_styles.css">
+<title>or_node Template Class</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="or_node_cls">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(4);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="or_node_cls"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">or_node Template Class</h1>
+ 
+   
+  <div> 
+	 <div class="section"><h2 class="sectiontitle">Summary</h2> 
+		 
+		<p>A node that broadcasts messages received at its
+		  input ports to all of its successors. Each input port p<sub>i</sub> is a 
+		  <samp class="codeph">receiver<T<sub>i</sub>></samp>. The messages are broadcast
+		  individually as they are received at each port. The output message type is a
+		  struct that contains an index number that identifies the port on which the
+		  message arrived and a tuple of the input types where the value is stored. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Syntax</h2> 
+		 
+		<pre>template<typename InputTuple>
+ class or_node;</pre> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Header</h2> 
+		 
+		<pre>#define TBB_PREVIEW_GRAPH_NODES 1
+ #include "tbb/flow_graph.h"</pre> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Description</h2> 
+		 
+		<p>An or_node is a 
+		  <samp class="codeph">graph_node</samp> and 
+		  <samp class="codeph">sender<
+			 or_node<InputTyple>::output_type ></samp>. It contains a tuple of
+		  input ports, each of which is a 
+		  <samp class="codeph">receiver<Ti></samp> for
+		  each of the 
+		  <samp class="codeph">T0 .. TN in
+			 InputTuple</samp>. It supports multiple input receivers with distinct types
+		  and broadcasts each received message to all of its successors. Unlike a 
+		  <samp class="codeph">join_node</samp>, each
+		  message is broadcast individually to all successors of the 
+		  <samp class="codeph">or_node</samp> as it arrives
+		  at an input port. The incoming messages are wrapped in a struct that contains
+		  the index of the port number on which the message arrived and a tuple of the
+		  input types where the received value is stored. 
+		</p>
+ 
+		<p>The function template 
+		  <samp class="codeph">input_port</samp> described
+		  in 6.19 simplifies the syntax for getting a reference to a specific input port.
+		  
+		</p>
+ 
+		<p>Rejection of messages by successors of the 
+		  <samp class="codeph">or_node</samp> is handled
+		  using the protocol in the Message Passing Protocol, see link below. The input
+		  ports never reject incoming messages. 
+		</p>
+ 
+		<p><samp class="codeph">InputTuple</samp> must be a 
+		  <samp class="codeph">flow::tuple<T0,T1,...></samp> where each
+		  element is copy-constructible and assignable. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Example</h2> 
+		 
+		<pre>#include<cstdio>
+#define TBB_PREVIEW_GRAPH_NODES 1
+#include "tbb/flow_graph.h"
+
+using namespace tbb::flow;
+
+int main() {
+  graph g;
+  function_node<int,int> f1( g, unlimited,
+                               [](const int &i) { return 2*i; } );
+  function_node<float,float> f2( g, unlimited,
+                               [](const float &f) { return f/2; } );
+
+  or_node< flow::tuple<int,float> > my_or_type;
+  my_or_type o(g);
+
+  function_node< my_or_type::output_type >
+    f3( g, unlimited,
+        []( const my_or_type::output_type &v ) {
+            if (v.indx == 0) {
+              printf("Received an int %d\n", 
+                     std::get<0>(v.result));
+            } else {
+              printf("Received a float %f\n", 
+                     std::get<1>(v.result));
+           }
+        }
+    );
+  make_edge( f1, input_port<0>(o) );
+  make_edge( f2, input_port<1>(o) );
+  make_edge( o, f3 );
+
+  f1.try_put( 3 );
+  f2.try_put( 3 );
+  g.wait_for_all();
+  return 0;
+ }</pre> 
+		<p>In the example above, three 
+		  <samp class="codeph">function_node</samp> objects
+		  are created: 
+		  <samp class="codeph">f1</samp> multiplies an int i
+		  by 2, 
+		  <samp class="codeph">f2</samp> divides a 
+		  <samp class="codeph">float f</samp> by 2, and 
+		  <samp class="codeph">f3</samp> prints the values
+		  from 
+		  <samp class="codeph">f1</samp> and 
+		  <samp class="codeph">f2</samp> as they arrive. The
+		  
+		  <samp class="codeph">or_node j</samp> wraps the
+		  output of 
+		  <samp class="codeph">f1</samp> and 
+		  <samp class="codeph">f2</samp> and forwards each
+		  result to 
+		  <samp class="codeph">f3</samp>. This example is
+		  purely a syntactic demonstration since there is very little work in the nodes. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Members</h2> 
+		 
+		<pre>namespace tbb {
+namespace flow {
+  template<typename InputTuple>
+  class or_node : public graph_node,
+  public sender<<var>impl-dependent-output-type</var> > {
+  public:
+    typedef struct { size_t indx; InputTuple result; } output_type;
+    typedef receiver<output_type> successor_type;
+    implementation-dependent-tuple input_ports_tuple_type;
+
+    or_node(graph &g);
+    or_node(const or_node &src);
+    input_ports_type &input_ports();
+    bool register_successor( successor_type &r );
+    bool remove_successor( successor_type &r );
+    bool try_get( output_type &v );
+    bool try_reserve( output_type & );
+    bool try_release( );
+    bool try_consume( );
+  };
+}
+}</pre> 
+		
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"><span class="tabledesc">The following table provides additional information on the
+			 members of this template class. 
+		  </span><thead align="left"> 
+				<tr> 
+				  <th class="cellrowborder" valign="top" width="33.89830508474576%" id="d19826e178">Member 
+				  </th>
+ 
+				  <th class="cellrowborder" valign="top" width="66.10169491525423%" id="d19826e181">Description 
+				  </th>
+ 
+				</tr>
+</thead>
+ 
+			 <tbody> 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d19826e178 "><span class="keyword">or_node(graph &g)</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d19826e181 ">
+					 <p>Constructs an 
+						<samp class="codeph">or_node</samp> that
+						belongs to the 
+						<samp class="codeph">graph g</samp>.
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d19826e178 "><span class="keyword">or_node( const or_node &src
+						)</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d19826e181 ">
+					 <p>Constructs an 
+						<samp class="codeph">or_node</samp>. The
+						list of predecessors, messages in the input ports, and successors are NOT
+						copied.
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d19826e178 "><span class="keyword">input_ports_type&
+						input_ports()</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d19826e181 ">
+					 <p><strong>Returns</strong>: A 
+						<samp class="codeph">flow::tuple</samp>
+						of receivers. Each element inherits from 
+						<samp class="codeph">tbb::receiver<T></samp> where T is the
+						type of message expected at that input. Each tuple element can be used like any
+						other 
+						<samp class="codeph">flow::receiver<T></samp>.
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d19826e178 "><span class="keyword">bool register_successor(
+						successor_type & r )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d19826e181 ">
+					 <p>Adds 
+						<samp class="codeph">r</samp> to the set
+						of successors.
+					 </p>
+
+					 <p><strong>Returns</strong>: 
+						<samp class="codeph">true</samp>.
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d19826e178 "><span class="keyword">bool remove_successor(
+						successor_type & r )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d19826e181 ">
+					 <p>Removes 
+						<samp class="codeph">r</samp> from the
+						set of successors.
+					 </p>
+
+					 <p><strong>Returns</strong>: 
+						<samp class="codeph">true</samp>.
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d19826e178 "><span class="keyword">bool try_get( output_type &v
+						)</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d19826e181 ">
+					 <p>An 
+						<samp class="codeph">or_node</samp>
+						contains no buffering and therefore does not support gets.
+					 </p>
+
+					 <p><strong>Returns</strong>: 
+						<samp class="codeph">false</samp>.
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr>
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d19826e178 "><span class="keyword">bool try_reserve( output_type &
+						)</span> 
+				  </td>
+
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d19826e181 ">
+					 <p>An 
+						<samp class="codeph">or_node</samp>
+						contains no buffering and therefore cannot be reserved.
+					 </p>
+
+					 <p><strong>Returns</strong>: 
+						<samp class="codeph">false</samp>.
+					 </p>
+
+				  </td>
+
+				</tr>
+
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d19826e178 "><span class="keyword">bool try_release( )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d19826e181 ">
+					 <p>An 
+						<samp class="codeph">or_node</samp>
+						contains no buffering and therefore cannot be reserved.
+					 </p>
+
+					 <p><strong>Returns</strong>: 
+						<samp class="codeph">false</samp>.
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d19826e178 "><span class="keyword">bool try_consume( )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d19826e181 ">
+					 <p>An 
+						<samp class="codeph">or_node</samp>
+						contains no buffering and therefore cannot be reserved.
+					 </p>
+
+					 <p><strong>Returns</strong>: 
+						<samp class="codeph">false</samp>.
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+			 </tbody>
+ 
+		  </table>
+</div>
+
+	 </div>
+ 
+  </div>
+ 
+  
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../../../reference/appendices/community_preview_features/flow_graph_features.htm">Flow Graph</a></div>
+</div>
+<div class="See Also">
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="../../../flow_graph/message_passing_protocol.htm">Message Passing Protocol 
+		  </a></div></div>
+</div>
+
+</body>
+</html>
diff --git a/doc/help/reference/appendices/community_preview_features/flow_graph_features.htm b/doc/help/reference/appendices/community_preview_features/flow_graph_features.htm
new file mode 100755
index 0000000..2a703e1
--- /dev/null
+++ b/doc/help/reference/appendices/community_preview_features/flow_graph_features.htm
@@ -0,0 +1,49 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="Flow Graph">
+<meta name="DC.subject" content="Flow Graph">
+<meta name="keywords" content="Flow Graph">
+<meta name="DC.Relation" scheme="URI" content="../../../reference/appendices/community_preview_features.htm">
+<meta name="DC.Relation" scheme="URI" content="../../../reference/appendices/community_preview_features/flow_graph/or_node_cls.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="flow_graph_features">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../../intel_css_styles.css">
+<title>Flow Graph</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="flow_graph_features">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(3);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="flow_graph_features"><!-- --></a>
+
+
+<h1 class="topictitle1">Flow Graph</h1>
+
+
+<div>
+<p>This section describes Flow Graph nodes that are available as Community Preview features.</p>
+</div>
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../../reference/appendices/community_preview_features.htm">Community Preview Features</a></div>
+</div>
+<div>
+<ul class="ullinks">
+<li class="ulchildlink"><a href="../../../reference/appendices/community_preview_features/flow_graph/or_node_cls.htm">or_node Template Class</a><br>
+</li>
+</ul>
+</div>
+
+</body>
+</html>
diff --git a/doc/help/reference/appendices/community_preview_features/run_time_loader.htm b/doc/help/reference/appendices/community_preview_features/run_time_loader.htm
new file mode 100755
index 0000000..e8b66a5
--- /dev/null
+++ b/doc/help/reference/appendices/community_preview_features/run_time_loader.htm
@@ -0,0 +1,133 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="Run-time loader">
+<meta name="DC.subject" content="Run-time loader">
+<meta name="keywords" content="Run-time loader">
+<meta name="DC.Relation" scheme="URI" content="../../../reference/appendices/community_preview_features.htm">
+<meta name="DC.Relation" scheme="URI" content="../../../reference/appendices/community_preview_features/run_time_loader/runtime_loader_cls.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="run_time_loader">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../../intel_css_styles.css">
+<title>Run-time loader</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="run_time_loader">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(3);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="run_time_loader"><!-- --></a>
+
+
+<h1 class="topictitle1">Run-time loader</h1>
+
+
+<div>
+<div class="section"><h2 class="sectiontitle">Summary</h2>
+
+<p>The run-time loader is a mechanism that provides additional run-time control over the version of the Intel® Threading Building Blocks (Intel® TBB) dynamic library used by an application, plug-in, or another library.</p>
+</div>
+
+<div class="section"><h2 class="sectiontitle">Header</h2>
+<pre>#define TBB_PREVIEW_RUNTIME_LOADER 1
+ #include "tbb/runtime_loader.h"</pre></div>
+
+<div class="section"><h2 class="sectiontitle">Library</h2>
+
+
+<div class="tablenoborder"><a name="tbl_library"><!-- --></a><table cellpadding="4" summary="" id="tbl_library" frame="border" border="1" cellspacing="0" rules="all">
+<thead align="left">
+<tr>
+<th class="cellrowborder" align="left" valign="top" width="20%" id="d20923e56">
+<p>OS</p>
+</th>
+
+<th class="cellrowborder" align="left" valign="top" width="40%" id="d20923e61">
+<p>Release build</p>
+</th>
+
+<th class="cellrowborder" align="left" valign="top" width="40%" id="d20923e66">
+<p>Debug build</p>
+</th>
+</tr>
+</thead>
+
+<tbody>
+<tr>
+<td class="cellrowborder" align="left" valign="top" width="20%" headers="d20923e56 ">
+<p>Windows</p>
+</td>
+
+<td class="cellrowborder" align="left" valign="top" width="40%" headers="d20923e61 ">
+<p>tbbproxy.lib</p>
+</td>
+
+<td class="cellrowborder" align="left" valign="top" width="40%" headers="d20923e66 ">
+<p>tbbproxy_debug.lib</p>
+</td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+
+<div class="section"><h2 class="sectiontitle">Description</h2>
+
+<p>The run-time loader consists of a class and a static library that can be linked with an application, library, or plug-in to provide better run-time control over the version of Intel® TBB used. The class allows loading a desired version of the dynamic library at run time with explicit list of directories for library search. The static library provides stubs for functions and methods to resolve link-time dependencies, which are then dynamically substituted with the proper functions  [...]
+
+<p>All instances of <samp class="codeph">class runtime loader</samp> in the same module (i.e. exe or dll) share certain global state. The most noticeable piece of this state is the loaded Intel® TBB library. The implications of that are:</p>
+
+<p>Only one Intel® TBB library per module can be loaded.</p>
+
+<p>If one <samp class="codeph">runtime_loader</samp> instance has already loaded a library, another one created by the same module will not load another one. If the loaded library is suitable for the second instance, both will use it cooperatively, otherwise an error will be reported (details below).</p>
+
+<p>If different versions of the library are requested by different modules, those can be loaded, but may result in processor oversubscription.</p>
+
+<p><samp class="codeph">runtime_loader</samp> objects are not thread-safe and may work incorrectly if used concurrently.</p>
+
+<ul type="disc">
+<li>
+<p>If an application or a library uses <samp class="codeph">runtime_loader</samp>, it should be linked with one of the above specified libraries instead of a normal Intel® TBB library.</p>
+</li>
+</ul>
+</div>
+
+<div class="section"><h2 class="sectiontitle">Example</h2>
+<pre>#define TBB_PREVIEW_RUNTIME_LOADER 1
+ #include "tbb/runtime_loader.h"
+ #include "tbb/parallel_for.h"
+ #include <iostream>
+ char const * path[] = { "c:\\myapp\\lib\\ia32", NULL };
+ int main() {
+ tbb::runtime_loader loader( path );
+ if( loader.status()!=tbb::runtime_loader::ec_ok )
+ return -1;
+ // The loader does not impact how the library is used
+ tbb::parallel_for(0, 10, ParallelForBody());
+ return 0;
+ }</pre>
+<p>In this example, the Intel® Threading Building Blocks (Intel®) library will be loaded from the c:\myapp\lib\ia32 directory. No explicit requirements for a version are specified, so the minimal suitable version is the version used to compile the example, and any higher version is suitable as well. If the library is successfully loaded, it can be used in the normal way.</p>
+</div>
+</div>
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../../reference/appendices/community_preview_features.htm">Community Preview Features</a></div>
+</div>
+<div>
+<ul class="ullinks">
+<li class="ulchildlink"><a href="../../../reference/appendices/community_preview_features/run_time_loader/runtime_loader_cls.htm">runtime_loader Class</a><br>
+</li>
+</ul>
+</div>
+
+</body>
+</html>
diff --git a/doc/help/reference/appendices/community_preview_features/run_time_loader/runtime_loader_cls.htm b/doc/help/reference/appendices/community_preview_features/run_time_loader/runtime_loader_cls.htm
new file mode 100755
index 0000000..db727fc
--- /dev/null
+++ b/doc/help/reference/appendices/community_preview_features/run_time_loader/runtime_loader_cls.htm
@@ -0,0 +1,198 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="runtime_loader Class">
+<meta name="DC.subject" content="runtime_loader Class">
+<meta name="keywords" content="runtime_loader Class">
+<meta name="DC.Relation" scheme="URI" content="../../../../reference/appendices/community_preview_features/run_time_loader.htm">
+<meta name="DC.Relation" scheme="URI" content="../../../../reference/appendices/community_preview_features/run_time_loader/runtime_loader_cls/error_code_load.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="runtime_loader_cls">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../../../intel_css_styles.css">
+<title>runtime_loader Class</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="runtime_loader_cls">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(4);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="runtime_loader_cls"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">runtime_loader Class</h1>
+ 
+   
+  <div> 
+	 <div class="section"><h2 class="sectiontitle">Summary</h2> 
+		 
+		<p>Class for run time control over the loading of an
+		  Intel® Threading Building Blocks dynamic library. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Syntax</h2> 
+		 
+		<pre>class runtime_loader;</pre> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Members</h2> 
+		 
+		<pre>namespace tbb {
+ class runtime_loader {
+ // Error codes.
+ enum error_code {
+ ec_ok, // No errors.
+ ec_bad_call, // Invalid function call.
+ ec_bad_arg, // Invalid argument passed.
+ ec_bad_lib, // Invalid library found.
+ ec_bad_ver, // The library found is not suitable.
+ ec_no_lib // No library found.
+ };
+ // Error mode constants.
+ enum error_mode {
+ em_status, // Save status of operation and continue.
+ em_throw, // Throw an exception of error_code type.
+ em_abort // Print message to stderr, and abort().
+ };
+ runtime_loader( error_mode mode = em_abort );
+ runtime_loader(
+ char const *path[],
+ // List of directories to search in.
+ int min_ver = TBB_INTERFACE_VERSION,
+ // Minimal suitable version
+ int max_ver = INT_MAX,
+ // Maximal suitable version
+ error_mode mode = em_abort
+ // Error mode for this instance.
+ );
+ ~runtime_loader();
+ error_code load(
+ char const * path[],
+ int min_ver = TBB_INTERFACE_VERSION,
+ int max_ver = INT_MAX
+ );
+ error_code status();
+ };
+ }</pre> 
+		
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"><span class="tabledesc">The following table provides additional information on the
+			 members of this class. 
+		  </span><thead align="left"> 
+				<tr> 
+				  <th class="cellrowborder" valign="top" width="33.89830508474576%" id="d21286e134">Member 
+				  </th>
+ 
+				  <th class="cellrowborder" valign="top" width="66.10169491525423%" id="d21286e137">Description 
+				  </th>
+ 
+				</tr>
+</thead>
+ 
+			 <tbody> 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d21286e134 "><span class="keyword">runtime_loader( error_mode mode =
+						em_abort )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d21286e137 "> 
+					 <p>Initialize 
+						<samp class="codeph">runtime_loader</samp> but do not load a
+						library. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d21286e134 "><span class="keyword">runtime_loader(char const *
+						path[], int min_ver = TBB_INTERFACE_VERSION, int max_ver = INT_MAX, error_mode
+						mode = em_abort )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d21286e137 "> 
+					 <p><strong>Requirements</strong>: The last element of 
+						<samp class="codeph">path[]</samp> must
+						be 
+						<samp class="codeph">NULL</samp>. 
+					 </p>
+ 
+					 <p><strong>Effects</strong>: Initialize 
+						<samp class="codeph">runtime_loader</samp> and load Intel® Threading Building Blocks (Intel® TBB) 
+						(<samp class="codeph">see load()</samp> for details). If 
+						<samp class="codeph">error mode</samp>
+						equals to em_status, the method 
+						<samp class="codeph">status()</samp> can
+						be used to check whether the library was loaded or not. If 
+						<samp class="codeph">error mode</samp>
+						equals to 
+						<samp class="codeph">em_throw</samp>, in
+						case of a failure an exception of type 
+						<samp class="codeph">error_code</samp>
+						will be thrown. If 
+						<samp class="codeph">error mode</samp>
+						equals to 
+						<samp class="codeph">em_abort</samp>, in
+						case of a failure a message will be printed to stderr, and execution aborted. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d21286e134 "><span class="keyword">error_code load(char const *
+						path[],int min_ver = TBB_INTERFACE_VERSION, int max_ver = INT_MAX)</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d21286e137 "><a href="runtime_loader_cls/error_code_load.htm">More Info</a> 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d21286e134 "><span class="keyword">error_code status()</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d21286e137 "> 
+					 <p><strong>Returns</strong>: If error mode is 
+						<samp class="codeph">em_status</samp>,
+						the function returns status of the last operation. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+			 </tbody>
+ 
+		  </table>
+</div>
+ 
+	 </div>
+ 
+  </div>
+
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../../../reference/appendices/community_preview_features/run_time_loader.htm">Run-time loader</a></div>
+</div>
+<div>
+<ul class="ullinks">
+<li class="ulchildlink"><a href="../../../../reference/appendices/community_preview_features/run_time_loader/runtime_loader_cls/error_code_load.htm">error_code load(char const * path[],int min_ver = TBB_INTERFACE_VERSION, int max_ver = INT_MAX)</a><br>
+</li>
+</ul>
+</div>
+
+</body>
+</html>
diff --git a/doc/help/reference/appendices/community_preview_features/run_time_loader/runtime_loader_cls/error_code_load.htm b/doc/help/reference/appendices/community_preview_features/run_time_loader/runtime_loader_cls/error_code_load.htm
new file mode 100755
index 0000000..ab8a261
--- /dev/null
+++ b/doc/help/reference/appendices/community_preview_features/run_time_loader/runtime_loader_cls/error_code_load.htm
@@ -0,0 +1,120 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="error_code load(char const * path[],int min_ver = TBB_INTERFACE_VERSION, int max_ver = INT_MAX)">
+<meta name="DC.subject" content="error_code load(char const * path[],int min_ver = TBB_INTERFACE_VERSION, int max_ver = INT_MAX)">
+<meta name="keywords" content="error_code load(char const * path[],int min_ver = TBB_INTERFACE_VERSION, int max_ver = INT_MAX)">
+<meta name="DC.Relation" scheme="URI" content="../../../../../reference/appendices/community_preview_features/run_time_loader/runtime_loader_cls.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="error_code_load">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../../../../intel_css_styles.css">
+<title>error_code load(char const * path[],int min_ver = TBB_INTERFACE_VERSION, int max_ver = INT_MAX)</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="error_code_load">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\..\..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(5);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="error_code_load"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">error_code load(char const * path[],int min_ver
+	 = TBB_INTERFACE_VERSION, int max_ver = INT_MAX)</h1>
+ 
+   
+  <div> 
+	 <div class="section"><h2 class="sectiontitle">Requirements</h2> 
+		 
+		<p>The last element of 
+		  <samp class="codeph">path[]</samp> must be 
+		  <samp class="codeph">NULL</samp>. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Effects</h2> 
+		 
+		<p>Load a suitable version of an Intel® Threading Building Blocks (Intel® TBB) dynamic
+		  library from one of the specified directories. 
+		</p>
+ 
+		<div class="Note"><h3 class="NoteTipHead">
+					Tip</h3> 
+		  <p>The method searches for a library in directories
+			 specified in the 
+			 <samp class="codeph">path[]</samp> array. When a
+			 library is found, it is loaded and its interface version (as returned by 
+			 <samp class="codeph">TBB_runtime_interface_version())</samp> is
+			 checked. If the version does not meet the requirements specified by 
+			 <samp class="codeph">min_ver</samp> and 
+			 <samp class="codeph">max_ver</samp>, the library
+			 is unloaded. The search continues in the next specified path, until a suitable
+			 version of the Intel® TBB library is found or the array of paths ends with 
+			 <samp class="codeph">NULL</samp>. It is
+			 recommended to use default values for 
+			 <samp class="codeph">min_ver</samp> and 
+			 <samp class="codeph">max_ver</samp>. 
+		  </p>
+ 
+		</div> 
+		<div class="Note"><h3 class="NoteTipHead">
+					Caution</h3> 
+		  <p>For security reasons, avoid using relative
+			 directory names such as current ("."), parent ("..") or any
+			 other relative directory (like "lib") when searching for a library.
+			 Use only absolute directory names (as shown in the example above); if
+			 necessary, construct absolute names at run time. Neglecting these rules may
+			 cause your program to execute 3-rd party malicious code. (See
+			 http://www.microsoft.com/technet/security/advisory/2269637.mspx for details.) 
+		  </p>
+ 
+		</div> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Returns</h2> 
+		 
+		<p><samp class="codeph">ec_ok</samp> - a suitable version was
+		  successfully loaded. 
+		</p>
+ 
+		<p><samp class="codeph">ec_bad_call</samp> - this runtime_loader
+		  instance has already been used to load a library. 
+		</p>
+ 
+		<p><samp class="codeph">ec_bad_lib</samp> - A library was found but
+		  it appears invalid. 
+		</p>
+ 
+		<p><samp class="codeph">ec_bad_arg</samp> - min_ver and/or max_ver is
+		  negative or zero, or min_ver > max_ver. 
+		</p>
+ 
+		<p><samp class="codeph">ec_bad_ver</samp> - unsuitable version has
+		  already been loaded by another instance. 
+		</p>
+ 
+		<p><samp class="codeph">ec_no_lib</samp> - No suitable version was
+		  found. 
+		</p>
+ 
+	 </div>
+ 
+  </div>
+ 
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../../../../reference/appendices/community_preview_features/run_time_loader/runtime_loader_cls.htm">runtime_loader Class</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/reference/appendices/community_preview_features/scalable_memory_pools.htm b/doc/help/reference/appendices/community_preview_features/scalable_memory_pools.htm
new file mode 100755
index 0000000..753cfc7
--- /dev/null
+++ b/doc/help/reference/appendices/community_preview_features/scalable_memory_pools.htm
@@ -0,0 +1,181 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="Scalable Memory Pools">
+<meta name="DC.subject" content="Scalable Memory Pools">
+<meta name="keywords" content="Scalable Memory Pools">
+<meta name="DC.Relation" scheme="URI" content="../../../reference/appendices/community_preview_features.htm">
+<meta name="DC.Relation" scheme="URI" content="../../../reference/appendices/community_preview_features/scalable_memory_pools/memory_pool_cls.htm">
+<meta name="DC.Relation" scheme="URI" content="../../../reference/appendices/community_preview_features/scalable_memory_pools/fixed_pool_cls.htm">
+<meta name="DC.Relation" scheme="URI" content="../../../reference/appendices/community_preview_features/scalable_memory_pools/memory_pool_allocator_cls.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="scalable_memory_pools">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../../intel_css_styles.css">
+<title>Scalable Memory Pools</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="scalable_memory_pools">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(3);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="scalable_memory_pools"><!-- --></a>
+
+
+  <h1 class="topictitle1">Scalable Memory Pools</h1>
+
+  
+  <div>
+	 <p>Memory pools allocate and free memory from a
+		specified region or underlying allocator providing thread-safe, scalable
+		operations. The following table summarizes the memory pool concept. Here, P
+		represents an instance of the memory pool class.
+	 </p>
+
+	 
+<div class="tablenoborder"><a name="tbl52"><!-- --></a><table cellpadding="4" summary="" id="tbl52" frame="border" border="1" cellspacing="0" rules="rows"><caption><span class="tablecap">Memory Pool Concept</span></caption>
+	 <thead align="left">
+		<tr>
+		  <th class="cellrowborder" align="center" valign="top" width="50%" id="d21966e40">
+			 <p>Pseudo-Signature
+			 </p>
+
+		  </th>
+
+		  <th class="cellrowborder" align="center" valign="top" width="50%" id="d21966e46">
+			 <p>Semantics
+			 </p>
+
+		  </th>
+
+		</tr>
+</thead>
+
+	 <tbody>
+		<tr>
+		  <td class="cellrowborder" align="left" valign="top" width="50%" headers="d21966e40 ">
+			 <p><samp class="codeph">~P()
+				  throw();</samp>
+			 </p>
+
+		  </td>
+
+		  <td class="cellrowborder" align="left" valign="top" width="50%" headers="d21966e46 ">
+			 <p>Destructor. Frees all the memory of allocated
+				objects.
+			 </p>
+
+		  </td>
+
+		</tr>
+
+		<tr>
+		  <td class="cellrowborder" align="left" valign="top" width="50%" headers="d21966e40 ">
+			 <p><samp class="codeph">void
+				  P::recycle();</samp>
+			 </p>
+
+		  </td>
+
+		  <td class="cellrowborder" align="left" valign="top" width="50%" headers="d21966e46 ">
+			 <p>Frees all the memory of allocated objects.
+			 </p>
+
+		  </td>
+
+		</tr>
+
+		<tr>
+		  <td class="cellrowborder" align="left" valign="top" width="50%" headers="d21966e40 ">
+			 <p><samp class="codeph">void*
+				  P::malloc(size_t n);</samp>
+			 </p>
+
+		  </td>
+
+		  <td class="cellrowborder" align="left" valign="top" width="50%" headers="d21966e46 ">
+			 <p>Returns pointer to 
+				<var>n</var> bytes
+				allocated from memory pool.
+			 </p>
+
+		  </td>
+
+		</tr>
+
+		<tr>
+		  <td class="cellrowborder" align="left" valign="top" width="50%" headers="d21966e40 ">
+			 <p><samp class="codeph">void
+				  P::free(void* ptr);</samp>
+			 </p>
+
+		  </td>
+
+		  <td class="cellrowborder" align="left" valign="top" width="50%" headers="d21966e46 ">
+			 <p>Frees memory object specified via 
+				<var>ptr</var>
+				pointer.
+			 </p>
+
+		  </td>
+
+		</tr>
+
+		<tr>
+		  <td class="cellrowborder" align="left" valign="top" width="50%" headers="d21966e40 ">
+			 <p><samp class="codeph">void*
+				  P::realloc(void* ptr, size_t n);</samp>
+			 </p>
+
+		  </td>
+
+		  <td class="cellrowborder" align="left" valign="top" width="50%" headers="d21966e46 ">
+			 <p>Reallocates memory object pointed by 
+				<var>ptr</var> to 
+				<var>n</var> bytes.
+			 </p>
+
+		  </td>
+
+		</tr>
+
+	 </tbody>
+
+  </table>
+</div>
+
+  <div class="section"><h2 class="sectiontitle">Model Types</h2>
+	 
+	 <p>Template class memory_pool and class fixed_pool model
+		the Memory Pool concept.
+	 </p>
+
+  </div>
+
+  </div>
+
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../../reference/appendices/community_preview_features.htm">Community Preview Features</a></div>
+</div>
+<div>
+<ul class="ullinks">
+<li class="ulchildlink"><a href="../../../reference/appendices/community_preview_features/scalable_memory_pools/memory_pool_cls.htm">memory_pool Template Class</a><br>
+</li>
+<li class="ulchildlink"><a href="../../../reference/appendices/community_preview_features/scalable_memory_pools/fixed_pool_cls.htm">fixed_pool Class</a><br>
+</li>
+<li class="ulchildlink"><a href="../../../reference/appendices/community_preview_features/scalable_memory_pools/memory_pool_allocator_cls.htm">memory_pool_allocator Template Class</a><br>
+</li>
+</ul>
+</div>
+
+</body>
+</html>
diff --git a/doc/help/reference/appendices/community_preview_features/scalable_memory_pools/fixed_pool_cls.htm b/doc/help/reference/appendices/community_preview_features/scalable_memory_pools/fixed_pool_cls.htm
new file mode 100755
index 0000000..e37b1bb
--- /dev/null
+++ b/doc/help/reference/appendices/community_preview_features/scalable_memory_pools/fixed_pool_cls.htm
@@ -0,0 +1,144 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="fixed_pool Class">
+<meta name="DC.subject" content="fixed_pool Class">
+<meta name="keywords" content="fixed_pool Class">
+<meta name="DC.Relation" scheme="URI" content="../../../../reference/appendices/community_preview_features/scalable_memory_pools.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="fixed_pool">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../../../intel_css_styles.css">
+<title>fixed_pool Class</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="fixed_pool">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(4);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="fixed_pool"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">fixed_pool Class</h1>
+ 
+   
+  <div> 
+	 <div class="section"><h2 class="sectiontitle">Summary</h2> 
+		 
+		<p>Template class for scalable memory allocation from
+		  a buffer of fixed size. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Syntax</h2> 
+		 
+		<pre>class fixed_pool;</pre> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Header</h2> 
+		 
+		<pre>#define TBB_PREVIEW_MEMORY_POOL 1
+ #include "tbb/memory_pool.h"</pre> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Description</h2> 
+		 
+		<p>A 
+		  <samp class="codeph">fixed_pool</samp> allocates
+		  and frees memory in a way that scales with the number of processors. All the
+		  memory available for the allocation is initially passed through arguments of
+		  the constructor. A 
+		  <samp class="codeph">fixed_pool</samp> models the
+		  Memory Pool concept described in Table 52. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Example</h2> 
+		 
+		<pre>#define TBB_PREVIEW_MEMORY_POOL 1
+ #include "tbb/memory_pool.h"
+ ...
+ char buf[1024*1024];
+ tbb::fixed_pool my_pool(buf, 1024*1024);
+ void* my_ptr = my_pool.malloc(10);
+ my_pool.free(my_ptr);}</pre> 
+		<p>The code above provides a simple example of
+		  allocation from a fixed pool. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Members</h2> 
+		 
+		<pre>namespace tbb {
+ class fixed_pool : no_copy {
+ public:
+ fixed_pool(void *buffer, size_t size) throw(std::bad_alloc);
+ ~fixed_pool();
+ void recycle();
+ void *malloc(size_t size);
+ void free(void* ptr);
+ void *realloc(void* ptr, size_t size);
+ };
+ }</pre> 
+		
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"><span class="tabledesc">The following table provides additional information on the member
+			 of this class. 
+		  </span><thead align="left"> 
+				<tr> 
+				  <th class="cellrowborder" valign="top" width="33.89830508474576%" id="d22425e133">Member 
+				  </th>
+ 
+				  <th class="cellrowborder" valign="top" width="66.10169491525423%" id="d22425e136">Description 
+				  </th>
+ 
+				</tr>
+</thead>
+ 
+			 <tbody> 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d22425e133 "><span class="keyword">fixed_pool(void *buffer, size_t
+						size)</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d22425e136 "> 
+					 <p>Constructs memory pool to manage the
+						memory pointed by buffer and of size. 
+					 </p>
+ 
+					 <p>Throws 
+						<samp class="codeph">bad_alloc</samp>
+						exception if runtime fails to construct an instance of the class. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+			 </tbody>
+ 
+		  </table>
+</div>
+ 
+	 </div>
+ 
+  </div>
+
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../../../reference/appendices/community_preview_features/scalable_memory_pools.htm">Scalable Memory Pools</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/reference/appendices/community_preview_features/scalable_memory_pools/memory_pool_allocator_cls.htm b/doc/help/reference/appendices/community_preview_features/scalable_memory_pools/memory_pool_allocator_cls.htm
new file mode 100755
index 0000000..1567b9c
--- /dev/null
+++ b/doc/help/reference/appendices/community_preview_features/scalable_memory_pools/memory_pool_allocator_cls.htm
@@ -0,0 +1,197 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="memory_pool_allocator Template Class">
+<meta name="DC.subject" content="memory_pool_allocator Template Class">
+<meta name="keywords" content="memory_pool_allocator Template Class">
+<meta name="DC.Relation" scheme="URI" content="../../../../reference/appendices/community_preview_features/scalable_memory_pools.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="memory_pool_allocator_cls">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../../../intel_css_styles.css">
+<title>memory_pool_allocator Template Class</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="memory_pool_allocator_cls">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(4);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="memory_pool_allocator_cls"><!-- --></a>
+
+
+  <h1 class="topictitle1">memory_pool_allocator Template Class</h1>
+
+  
+  <div>
+	 <div class="section"><h2 class="sectiontitle">Summary</h2>
+		
+		<p>Template class that provides the C++ allocator
+		  interface for memory pools.
+		</p>
+
+	 </div>
+
+	 <div class="section"><h2 class="sectiontitle">Syntax</h2>
+		
+		<pre>template<typename T> class memory_pool_allocator;</pre>
+	 </div>
+
+	 <div class="section"><h2 class="sectiontitle">Header</h2>
+		
+		<pre>#define TBB_PREVIEW_MEMORY_POOL 1
+ #include "tbb/memory_pool.h"</pre>
+	 </div>
+
+	 <div class="section"><h2 class="sectiontitle">Description</h2>
+		
+		<p>A 
+		  <samp class="codeph">memory_pool_allocator</samp>
+		  models the allocator requirements described in Table 29 except for default
+		  constructor which is excluded from the class. Instead, it provides a
+		  constructor, which links with an instance of 
+		  <samp class="codeph">memory_pool</samp> or 
+		  <samp class="codeph">fixed_pool</samp> classes,
+		  that actually allocates and deallocates memory. The class is mainly intended to
+		  enable memory pools within STL containers.
+		</p>
+
+	 </div>
+
+	 <div class="section"><h2 class="sectiontitle">Example</h2>
+		
+		<pre>#define TBB_PREVIEW_MEMORY_POOL 1
+ #include "tbb/memory_pool.h"
+ ...
+ typedef tbb::memory_pool_allocator<int>
+ pool_allocator_t;
+ std::list<int, pool_allocator_t>
+ my_list(pool_allocator_t( my_pool ));</pre>
+		<p>The code above provides a simple example of
+		  cnostruction of a container that uses a memory pool.
+		</p>
+
+	 </div>
+
+	 <div class="section"><h2 class="sectiontitle">Members</h2>
+		
+		<pre>namespace tbb {
+ template<typename T>
+ class memory_pool_allocator {
+ public:
+ typedef T value_type;
+ typedef value_type* pointer;
+ typedef const value_type* const_pointer;
+ typedef value_type& reference;
+ typedef const value_type& const_reference;
+ typedef size_t size_type;
+ typedef ptrdiff_t difference_type;
+ template<typename U> struct rebind {
+ typedef memory_pool_allocator<U> other;
+ };
+ memory_pool_allocator(memory_pool &pool) throw();
+ memory_pool_allocator(fixed_pool &pool) throw();
+ memory_pool_allocator(const memory_pool_allocator& src) throw();
+ template<typename U>
+ memory_pool_allocator(const memory_pool_allocator<U,P>& src) throw();
+ pointer address(reference x) const;
+ const_pointer address(const_reference x) const;
+ pointer allocate( size_type n, const void* hint=0);
+ void deallocate( pointer p, size_type );
+ size_type max_size() const throw();
+ void construct( pointer p, const T& value );
+ void destroy( pointer p );
+ };
+ template<>
+ class memory_pool_allocator<void> {
+ public:
+ typedef void* pointer;
+ typedef const void* const_pointer;
+ typedef void value_type;
+ template<typename U> struct rebind {
+ typedef memory_pool_allocator<U> other;
+ };
+ memory_pool_allocator(memory_pool &pool) throw();
+ memory_pool_allocator(fixed_pool &pool) throw();
+ memory_pool_allocator(const memory_pool_allocator& src) throw();
+ template<typename U>
+ memory_pool_allocator(const memory_pool_allocator<U>& src) throw();
+ };
+ template<typename T, typename U>
+ inline bool operator==( const memory_pool_allocator<T>& a,
+              const memory_pool_allocator<U>& b);
+ template<typename T, typename U>
+ inline bool operator!=( const memory_pool_allocator<T>& a,
+              const memory_pool_allocator<U>& b);
+ }</pre>
+		
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"><span class="tabledesc">The following table provides additional information on the
+			 members of this template class. 
+		  </span><thead align="left"> 
+				<tr> 
+				  <th class="cellrowborder" valign="top" width="33.89830508474576%" id="d22705e212">Member 
+				  </th>
+ 
+				  <th class="cellrowborder" valign="top" width="66.10169491525423%" id="d22705e215">Description 
+				  </th>
+ 
+				</tr>
+</thead>
+ 
+			 <tbody> 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d22705e212 "><span class="keyword">memory_pool_allocator(memory_pool
+						&pool)</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d22705e215 ">
+					 <p>Constructs memory pool allocator serviced
+						by 
+						<samp class="codeph">memory_pool</samp>
+						instance pool.
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d22705e212 "><span class="keyword">memory_pool_allocator(fixed_pool
+						&pool)</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d22705e215 ">
+					 <p>Constructs memory pool allocator serviced
+						by 
+						<samp class="codeph">fixed_pool</samp>
+						instance pool.
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+			 </tbody>
+ 
+		  </table>
+</div>
+
+	 </div>
+
+  </div>
+
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../../../reference/appendices/community_preview_features/scalable_memory_pools.htm">Scalable Memory Pools</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/reference/appendices/community_preview_features/scalable_memory_pools/memory_pool_cls.htm b/doc/help/reference/appendices/community_preview_features/scalable_memory_pools/memory_pool_cls.htm
new file mode 100755
index 0000000..a8cc5cb
--- /dev/null
+++ b/doc/help/reference/appendices/community_preview_features/scalable_memory_pools/memory_pool_cls.htm
@@ -0,0 +1,157 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="memory_pool Template Class">
+<meta name="DC.subject" content="memory_pool Template Class">
+<meta name="keywords" content="memory_pool Template Class">
+<meta name="DC.Relation" scheme="URI" content="../../../../reference/appendices/community_preview_features/scalable_memory_pools.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="memory_pool_cls">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../../../intel_css_styles.css">
+<title>memory_pool Template Class</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="memory_pool_cls">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(4);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="memory_pool_cls"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">memory_pool Template Class</h1>
+ 
+   
+  <div> 
+	 <div class="section"><h2 class="sectiontitle">Summary</h2> 
+		 
+		<p>Template class for scalable memory allocation from
+		  memory blocks provided by an underlying allocator. 
+		</p>
+ 
+		<div class="Note"><h3 class="NoteTipHead">
+					Caution</h3> 
+		  <p>If the underlying allocator refers to another
+			 scalable memory pool, the inner pool (or pools) must be destroyed before the
+			 outer pool is destroyed or recycled. 
+		  </p>
+ 
+		</div> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Syntax</h2> 
+		 
+		<pre>template <typename Alloc> class memory_pool;</pre> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Header</h2> 
+		 
+		<pre>#define TBB_PREVIEW_MEMORY_POOL 1
+ #include "tbb/memory_pool.h"</pre> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Description</h2> 
+		 
+		<p>A 
+		  <samp class="codeph">memory_pool</samp> allocates
+		  and frees memory in a way that scales with the number of processors. The memory
+		  is obtained as big chunks from an underlying allocator specified by the
+		  template argument. The latter must satisfy the subset of requirements described
+		  in Table 29 with 
+		  <samp class="codeph">allocate</samp>, 
+		  <samp class="codeph">deallocate</samp>, and 
+		  <samp class="codeph">value_type</samp> valid for 
+		  <samp class="codeph">sizeof(value_type)>0</samp>. A 
+		  <samp class="codeph">memory_pool</samp> models the
+		  Memory Pool concept described in Table 52. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Example</h2> 
+		 
+		<pre>#define TBB_PREVIEW_MEMORY_POOL 1
+ #include "tbb/memory_pool.h"
+ ...
+ tbb::memory_pool<std::allocator<char> > my_pool;
+ void* my_ptr = my_pool.malloc(10);
+ my_pool.free(my_ptr);</pre> 
+		<p>The code above provides a simple example of
+		  allocation from an extensible memory pool. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Members</h2> 
+		 
+		<pre>namespace tbb {
+ template <typename Alloc>
+ class memory_pool : no_copy {
+ public:
+ memory_pool(const Alloc &src = Alloc()) throw(std::bad_alloc);
+ ~memory_pool();
+ void recycle();
+ void *malloc(size_t size);
+ void free(void* ptr);
+ void *realloc(void* ptr, size_t size);
+ };
+ }</pre> 
+		
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"><span class="tabledesc">The following table provides additional information on the member
+			 of this template class. 
+		  </span><thead align="left"> 
+				<tr> 
+				  <th class="cellrowborder" valign="top" width="33.89830508474576%" id="d23045e152">Member 
+				  </th>
+ 
+				  <th class="cellrowborder" valign="top" width="66.10169491525423%" id="d23045e155">Description 
+				  </th>
+ 
+				</tr>
+</thead>
+ 
+			 <tbody> 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d23045e152 "><span class="keyword">memory_pool(const Alloc &src =
+						Alloc())</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d23045e155 "> 
+					 <p>Constructs memory pool with an instance
+						of underlying memory allocator of type 
+						<samp class="codeph">Alloc</samp> copied
+						from 
+						<samp class="codeph">src</samp>. Throws 
+						<samp class="codeph">bad_alloc</samp>
+						exception if runtime fails to construct an instance of the class. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+			 </tbody>
+ 
+		  </table>
+</div>
+ 
+	 </div>
+ 
+  </div>
+
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../../../reference/appendices/community_preview_features/scalable_memory_pools.htm">Scalable Memory Pools</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/reference/appendices/community_preview_features/serial_subset.htm b/doc/help/reference/appendices/community_preview_features/serial_subset.htm
new file mode 100755
index 0000000..1ddd9cd
--- /dev/null
+++ b/doc/help/reference/appendices/community_preview_features/serial_subset.htm
@@ -0,0 +1,52 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="Serial subset">
+<meta name="DC.subject" content="Serial subset">
+<meta name="keywords" content="Serial subset">
+<meta name="DC.Relation" scheme="URI" content="../../../reference/appendices/community_preview_features.htm">
+<meta name="DC.Relation" scheme="URI" content="../../../reference/appendices/community_preview_features/serial_subset/tbb_serial_parallel_for.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="serial_subset">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../../intel_css_styles.css">
+<title>Serial subset</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="serial_subset">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(3);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="serial_subset"><!-- --></a>
+
+
+<h1 class="topictitle1">Serial subset</h1>
+
+
+<div>
+<div class="section"><h2 class="sectiontitle">Summary</h2>
+
+<p>A subset of the parallel algorithms is provided for modeling serial execution. Currently only a serial version of <samp class="codeph">tbb::parallel_for()</samp> is available.</p>
+</div>
+</div>
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../../reference/appendices/community_preview_features.htm">Community Preview Features</a></div>
+</div>
+<div>
+<ul class="ullinks">
+<li class="ulchildlink"><a href="../../../reference/appendices/community_preview_features/serial_subset/tbb_serial_parallel_for.htm">tbb::serial::parallel_for()</a><br>
+</li>
+</ul>
+</div>
+
+</body>
+</html>
diff --git a/doc/help/reference/appendices/community_preview_features/serial_subset/tbb_serial_parallel_for.htm b/doc/help/reference/appendices/community_preview_features/serial_subset/tbb_serial_parallel_for.htm
new file mode 100755
index 0000000..869cb40
--- /dev/null
+++ b/doc/help/reference/appendices/community_preview_features/serial_subset/tbb_serial_parallel_for.htm
@@ -0,0 +1,102 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="tbb::serial::parallel_for()">
+<meta name="DC.subject" content="tbb::serial::parallel_for()">
+<meta name="keywords" content="tbb::serial::parallel_for()">
+<meta name="DC.Relation" scheme="URI" content="../../../../reference/appendices/community_preview_features/serial_subset.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="tbb_serial_parallel_for">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../../../intel_css_styles.css">
+<title>tbb::serial::parallel_for()</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="tbb_serial_parallel_for">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(4);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="tbb_serial_parallel_for"><!-- --></a>
+
+
+  <h1 class="topictitle1">tbb::serial::parallel_for()</h1>
+
+  
+  <div>
+	 <div class="section"><h2 class="sectiontitle">Header</h2>
+		
+		<p>#define TBB_PREVIEW_SERIAL_SUBSET 1
+		</p>
+
+		<p>#include "tbb/ parallel_for.h"
+		</p>
+
+	 </div>
+
+	 <div class="section"><h2 class="sectiontitle">Motivation</h2>
+		
+		<p>Sometimes it is useful, for example while
+		  debugging, to execute certain 
+		  <samp class="codeph">parallel_for()</samp>
+		  invocations serially while having other invocations of 
+		  <samp class="codeph">parallel_for()</samp>executed
+		  in parallel.
+		</p>
+
+	 </div>
+
+	 <div class="section"><h2 class="sectiontitle">Description</h2>
+		
+		<p>The 
+		  <samp class="codeph">tbb::serial::parallel_for</samp> function
+		  implements the 
+		  <samp class="codeph">tbb::parallel_for</samp> API
+		  using a serial implementation underneath. Users who want sequential execution
+		  of a certain 
+		  <samp class="codeph">parallel_for()</samp>
+		  invocation will need to define the 
+		  <samp class="codeph">TBB_PREVIEW_SERIAL_SUBSET</samp> macro before
+		  parallel_for.h and prefix the selected 
+		  <samp class="codeph">parallel_for()</samp> with 
+		  <samp class="codeph">tbb::serial::</samp>.
+		  Internally, the serial implementation uses the same principle of recursive
+		  decomposition, but instead of spawning tasks, it does recursion "for real",
+		  i.e. the body function calls itself twice with two halves of its original
+		  range.
+		</p>
+
+	 </div>
+
+	 <div class="section"><h2 class="sectiontitle">Example</h2>
+		
+		<pre>#define TBB_PREVIEW_SERIAL_SUBSET 1
+#include <tbb/parallel_for.h>
+#include <tbb/parallel_for.h>
+#include <tbb/parallel_for.h>
+Foo()
+{
+  // . . .
+  tbb::serial::parallel_for( . . . );
+  tbb::parallel_for( . . . );
+  // . . . 
+}</pre>
+	 </div>
+
+  </div>
+
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../../../reference/appendices/community_preview_features/serial_subset.htm">Serial subset</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/reference/appendices/community_preview_features/task_arena_cls.htm b/doc/help/reference/appendices/community_preview_features/task_arena_cls.htm
new file mode 100755
index 0000000..2d3d911
--- /dev/null
+++ b/doc/help/reference/appendices/community_preview_features/task_arena_cls.htm
@@ -0,0 +1,416 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="task_arena Class">
+<meta name="DC.subject" content="task_arena Class">
+<meta name="keywords" content="task_arena Class">
+<meta name="DC.Relation" scheme="URI" content="../../../reference/appendices/community_preview_features.htm">
+<meta name="DC.Relation" scheme="URI" content="../../../reference/appendices/community_preview_features/task_arena_cls/task_scheduler_observer_ext_cls.htm">
+<meta name="DC.Relation" scheme="URI" content="task_arena_cls/task_scheduler_observer_ext_cls.htm#task_scheduler_observer_ext_cls">
+<meta name="DC.Relation" scheme="URI" content="../../task_groups.htm#taskgroups">
+<meta name="DC.Relation" scheme="URI" content="../../task_scheduler/task_scheduler_init_cls.htm#task_scheduler_init_cls">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="task_arena_cls">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../../intel_css_styles.css">
+<title>task_arena Class</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="task_arena_cls">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(3);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="task_arena_cls"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">task_arena Class</h1>
+ 
+   
+  <div> 
+	 <div class="section"><h2 class="sectiontitle">Summary</h2> 
+		 
+		<p> Explicit, user-managed task scheduler arena
+		  representation. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Syntax</h2> 
+		 
+		<pre>class task_arena;</pre> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Header</h2> 
+		 
+		<pre>#define TBB_PREVIEW_TASK_ARENA 1
+#include “tbb/task_arena.h”</pre> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Description</h2> 
+		 
+		<p> A 
+		  <samp class="codeph">task_arena</samp> class represents an internal task scheduler
+		  object where a number of threads, limited by a maximal concurrency level, share
+		  and execute tasks. 
+		</p>
+ 
+		<p> The concurrency level of a 
+		  <samp class="codeph">task_arena</samp> is isolated and not affected by previous 
+		  <samp class="codeph">task_scheduler_init</samp> specifications. 
+		</p>
+ 
+		<p> 
+		  <div class="Note"><h3 class="NoteTipHead">
+					Note</h3>The total number of threads created for a process is limited by
+			 whichever is largest: the default number of threads for the machine or the
+			 value specified by the first 
+			 <samp class="codeph">task_scheduler_init</samp> object. Therefore the number of
+			 threads assigned to a task_arena will never exceed that maximum value,
+			 regardless of the concurrency level. 
+		  </div> 
+		</p>
+ 
+		<p> 
+		  <div class="Note"><h3 class="NoteTipHead">
+					Note</h3>A task_arena may get fewer workers and never get the specified
+			 number of threads, even if the specified concurrency level is lower than the
+			 allowed maximum. 
+		  </div> 
+		</p>
+ 
+		<p>A 
+		  <samp class="codeph">task_arena</samp> object keeps a reference to its internal
+		  representation, but does not fully control its lifetime. It cannot be destroyed
+		  until it contains tasks and/or other worker threads reference it. 
+		</p>
+ 
+		<p> 
+		  <div class="Note"><h3 class="NoteTipHead">
+					Note</h3>The 
+			 <samp class="codeph">task_arena</samp> constructors do not create the internal
+			 arena objects. They are created lazily on first use, or by explicit call
+			 to <samp class="codeph">task_arena::initialize</samp>.
+		  </div> 
+		</p>
+ 
+		<p> Each user thread that explicitly or implicitly creates a 
+		  <samp class="codeph">task_scheduler_init 
+		  </samp>object contains an implicit internal task arena object. The
+		  tasks spawned or enqueued in an arena cannot be executed in a different arena. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Members</h2> 
+		 
+		<pre>namespace tbb {
+class task_arena {
+public:
+    static const int automatic = <em>implementation-defined</em>;
+    static int current_slot();
+    task_arena(int max_concurrency = automatic, unsigned reserved_for_masters = 1);
+    task_arena(const task_arena &s);
+    ~task_arena();
+    void initialize();
+    void initialize(int max_concurrency, unsigned reserved_for_masters = 1);
+    void terminate();
+    bool is_active();
+    template<typename F> void enqueue( const F& f );
+    template<typename F> void enqueue( const F& f, priority_t p );
+    template<typename F> void execute(F& f);
+    template<typename F> void execute(const F& f);
+};
+}</pre> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Examples</h2> 
+		 
+		<p>The following example runs two 
+		  <samp class="codeph">parallel_for</samp> loops concurrently; one that is scalable
+		  and one that is not. The non-scalable loop is limited to at most 2 threads so
+		  that the majority of the threads can be saved for the more scalable loop.
+		  It uses <samp class="codeph">task_group</samp> to wait for a specific subset of tasks.
+		</p>
+ 
+		<pre>tbb::task_scheduler_init def_init; // Use the default number of threads
+tbb::task_arena limited(2);// no more than 2 threads in this arena
+tbb::task_group tg;
+
+limited.enqueue([&]{ // use at most 2 threads
+    tg.run([]{ // run in task group
+        tbb::parallel_for(1, N, unscalable_work());
+    });
+}); 
+
+// Run another job concurrently with the loop above
+// It can use the default number of threads:
+tbb::parallel_for(1, M, scalable_work());
+
+// Put the wait for the task group inside execute()
+// This will wait only for the tasks that are in
+// this task group.
+arena.execute([&]{ tg.wait(); });</pre> 
+	 </div>
+ 
+	 <div class="section"> 
+		
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"><span class="tabledesc"> 
+			 <p>The following table provides additional information on the members
+				of this template class. 
+			 </p>
+ 
+		  </span><thead align="left"> 
+				<tr> 
+				  <th class="cellrowborder" valign="top" width="33.89830508474576%" id="d23587e161">Member 
+				  </th>
+ 
+				  <th class="cellrowborder" valign="top" width="66.10169491525423%" id="d23587e164">Description 
+				  </th>
+ 
+				</tr>
+</thead>
+ 
+			 <tbody> 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d23587e161 "><samp class="codeph">task_arena(int max_concurrency = automatic,
+						unsigned reserved_for_masters = 1) 
+					 </samp> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d23587e164 "> 
+					 <p>Creates a <samp class="codeph">task_arena</samp>
+						 with certain concurrency limit and some portion of it reserved 
+						 for application threads.
+					 </p>
+ 
+					 <div class="Note"><h3 class="NoteTipHead">
+					Note</h3>For the community preview implementation of <samp class="codeph">task_arena</samp>,
+						 the only valid values for <samp class="codeph">reserved_for_masters</samp> are 0 and 1.
+					 </div>
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d23587e161 "> 
+					 <p><samp class="codeph">static const int
+						  automatic</samp> 
+					 </p>
+ 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d23587e164 "> 
+					 <p>When passed as <samp class="codeph">max_concurrency</samp>
+						to the above constructor, arena concurrency will be automatically set
+						based on the hardware configuration. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d23587e161 "><samp class="codeph">task_arena(const
+						task_arena&)</samp> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d23587e164 "> 
+					 <p>Copies settings from another 
+						<samp class="codeph">task_arena</samp> instance. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d23587e161 "><samp class="codeph">~task_arena()</samp> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d23587e164 "> 
+					 <p>Removes the reference to the internal
+						arena representation, and destroys the <samp class="codeph">task_arena()</samp> instance.
+						Not thread safe w.r.t. concurrent invocations of other methods. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d23587e161 ">
+						<samp class="codeph">void initialize();</samp>
+						<p></p>
+
+						<p><samp class="codeph">void initialize(int max_concurrency,
+							unsigned reserved_for_masters = 1);</samp>
+						</p>
+
+						<p></p>
+
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d23587e164 ">Performs actual initialization of internal
+					 arena representation. If arguments are specified, overrides previous concurrency settings.
+					 Has no effect when called on already initialized arena.
+					 <div class="Note"><h3 class="NoteTipHead">
+					Note</h3>After the call to <samp class="codeph">initialize</samp>, the arena concurrency
+						is fixed and cannot be changed.
+					 </div> 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d23587e161 "><samp class="codeph">void terminate()</samp>
+				  </td>
+
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d23587e164 ">Removes the reference to the internal arena representation
+					 without destroying the task_arena object, which can then be re-used.
+					 Not thread safe w.r.t. concurrent invocations of other methods.
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d23587e161 "><samp class="codeph">bool is_active()</samp>
+				  </td>
+
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d23587e164 ">Returns <samp class="codeph">true</samp> if the arena
+					 has been initialized, <samp class="codeph">false</samp> otherwise.
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d23587e161 "><samp class="codeph">template<F> void
+						enqueue(const F&)</samp> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d23587e164 "> 
+					 <p>Enqueues a task into the arena to process specified functor
+						and immediately returns. 
+					 </p>
+ 
+					 <div class="Note"><h3 class="NoteTipHead">
+					Note</h3>Does not require the calling thread to join the arena;
+						i.e. any number of threads outside of the arena can submit work to the arena
+						without blocking. 
+					 </div> 
+					 <div class="Note"><h3 class="NoteTipHead">
+					Caution</h3>There is no guarantee that tasks enqueued
+						in an arena execute concurrently with respect to any other arena’s tasks. 
+					 </div> 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d23587e161 "><samp class="codeph">template<F> void
+						enqueue(const F&, priority_t)</samp> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d23587e164 "> 
+					 <p>Enqueues a task with specified task priority. Is similar to 
+						<samp class="codeph">enqueue( const F& )</samp> in all other ways. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d23587e161 "><samp class="codeph">template<F> void
+						execute(F&)</samp> 
+					 <p> 
+					 </p>
+ 
+					 <p><samp class="codeph">template<F> void execute(const
+						  F&)</samp> 
+					 </p>
+ 
+					 <p> 
+					 </p>
+ 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d23587e164 "> 
+					 <p>If possible, the calling thread joins the arena and executes
+						the specified functor, then leaves the arena and returns to previous task
+						scheduler state. 
+					 </p>
+ 
+					 <p>If not possible to join, the call wraps the functor into a
+						task, enqueues it in the arena and waits on an OS kernel synchronization object
+						for task completion. 
+					 </p>
+ 
+					 <div class="Note"><h3 class="NoteTipHead">
+					Note</h3>Any number of threads outside of the arena can submit
+						work to the arena and be blocked. However, only the maximal number of threads
+						specified for the arena can participate in executing tasks. 
+					 </div> 
+					 <div class="Note"><h3 class="NoteTipHead">
+					Note</h3>May decrement the arena's demand for worker threads,
+						causing a worker to leave, and thereby freeing a slot for the calling thread. 
+					 </div> 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d23587e161 "><samp class="codeph">static int current_slot()</samp> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d23587e164 "> 
+					 <p><strong>Returns:</strong> The index of the slot that the calling
+						thread is assigned to in its current arena (if any).
+						If the thread is not initialized with TBB, returns -1.
+						This method can be used, for example, by a
+						<samp class="codeph">task_scheduler_observer</samp> to pin threads
+						entering an arena to specific hardware. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+			 </tbody>
+ 
+		  </table>
+</div>
+ 
+	 </div>
+ 
+  </div>
+ 
+  
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../../reference/appendices/community_preview_features.htm">Community Preview Features</a></div>
+</div>
+<div class="See Also">
+<ul class="ullinks">
+<li class="ulchildlink"><a href="../../../reference/appendices/community_preview_features/task_arena_cls/task_scheduler_observer_ext_cls.htm">task_scheduler_observer Class extensions</a><br>
+</li>
+</ul>
+
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="task_arena_cls/task_scheduler_observer_ext_cls.htm#task_scheduler_observer_ext_cls">task_scheduler_observer Class extensions
+		  </a></div>
+<div><a href="../../task_groups.htm#taskgroups">Task Groups
+		  </a></div>
+<div><a href="../../task_scheduler/task_scheduler_init_cls.htm#task_scheduler_init_cls">task_scheduler_init Class
+		  </a></div></div>
+</div>
+
+</body>
+</html>
diff --git a/doc/help/reference/appendices/community_preview_features/task_arena_cls/task_scheduler_observer_ext_cls.htm b/doc/help/reference/appendices/community_preview_features/task_arena_cls/task_scheduler_observer_ext_cls.htm
new file mode 100755
index 0000000..968130a
--- /dev/null
+++ b/doc/help/reference/appendices/community_preview_features/task_arena_cls/task_scheduler_observer_ext_cls.htm
@@ -0,0 +1,213 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="task_scheduler_observer Class extensions">
+<meta name="DC.subject" content="task_scheduler_observer Class extensions">
+<meta name="keywords" content="task_scheduler_observer Class extensions">
+<meta name="DC.Relation" scheme="URI" content="../../../../reference/appendices/community_preview_features/task_arena_cls.htm">
+<meta name="DC.Relation" scheme="URI" content="../../../task_scheduler/task_scheduler_observer.htm#task_scheduler_observer_member">
+<meta name="DC.Relation" scheme="URI" content="../../../task_scheduler/task_scheduler_init_cls.htm#task_scheduler_init_cls">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="task_scheduler_observer_ext_cls">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../../../intel_css_styles.css">
+<title>task_scheduler_observer Class extensions</title>
+</head>
+<body id="task_scheduler_observer_ext_cls">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(4);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="task_scheduler_observer_ext_cls"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">task_scheduler_observer Class
+	 extensions</h1>
+ 
+   
+  <div> 
+	 <div class="section"><h2 class="sectiontitle">Summary</h2> 
+		 
+		<p>The 
+		  <samp class="codeph">task_scheduler_observer 
+		  </samp>Class is extended to support local semantics and to observe
+		  when worker threads join and leave a task scheduler arena. Before these
+		  extensions, a 
+		  <samp class="codeph">task_scheduler_observer</samp> would only observe when a
+		  worker thread would join and exit the global task scheduler. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Syntax</h2> 
+		 
+		<pre>class task_scheduler_observer;</pre> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Header</h2> 
+		 
+		<p> 
+		  <pre>#define TBB_PREVIEW_LOCAL_OBSERVER 1
+#include "tbb/task_scheduler_observer.h"</pre> 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Members</h2> 
+		 
+		<pre>namespace tbb {
+  class task_scheduler_observer {
+  public:
+    task_scheduler_observer( bool local = false );
+
+    // See task_scheduler_observer for the methods
+    // not related to local observer ...
+
+#if TBB_PREVIEW_TASK_ARENA
+    task_scheduler_observer( task_arena & a)
+#endif
+
+    virtual bool on_scheduler_leaving() { return true; }
+  };
+}</pre> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Example</h2> 
+		 
+		<p>The following example sketches the code of an observer used to pin
+		  worker threads to hardware threads and to prevent workers from sleeping. 
+		</p>
+ 
+		<pre>class pinning_observer: public tbb::task_scheduler_observer {
+public:
+  affinity_mask_t m_mask; // HW affinity mask to be used with an arena
+  pinning_observer( affinity_mask_t mask ) : m_mask(mask) { }
+  pinning_observer( tbb::task_arena &a, affinity_mask_t mask )
+    : tbb::task_scheduler_observer(a), m_mask(mask) {
+    observe(true); // activate the observer
+  }
+  /*override*/ void on_scheduler_entry( bool worker ) {
+    set_thread_affinity(tbb::task_arena::current_slot(), m_mask); 
+  }
+  /*override*/ bool on_scheduler_leaving( ) {
+    // Return false to trap the thread in the arena
+    return /*bool*/ !is_more_work_available_soon();
+  }
+  /*override*/ void on_scheduler_exit( bool worker ) { }
+};</pre> 
+	 </div>
+ 
+	 <div class="section"> 
+		
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"><span class="tabledesc"> 
+			 <p>The following table provides additional information on the members
+				of this template class. 
+			 </p>
+ 
+		  </span><thead align="left"> 
+				<tr> 
+				  <th class="cellrowborder" valign="top" width="33.89830508474576%" id="d24630e92">Member 
+				  </th>
+ 
+				  <th class="cellrowborder" valign="top" width="66.10169491525423%" id="d24630e95">Description 
+				  </th>
+ 
+				</tr>
+</thead>
+ 
+			 <tbody> 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d24630e92 "><samp class="codeph">task_scheduler_observer( bool local
+						= false ) 
+					 </samp> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d24630e95 "> 
+					 <p>Constructs a 
+						<samp class="codeph">task_scheduler_observer</samp> object in an
+						inactive state (observation is disabled). If 
+						<samp class="codeph">local</samp> is 
+						<samp class="codeph">false</samp>, it does not differ from the global
+						semantics described for 
+						<samp class="codeph">task_scheduler_observer</samp>. If 
+						<samp class="codeph">local</samp> is true, and the observer has been
+						activated, the entry notifications is invoked only for threads in current arena.
+						Correspondently, a thread receives exit notifications when it leaves this arena.
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d24630e92 "><samp class="codeph">task_scheduler_observer( task_arena
+						& ) 
+					 </samp> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d24630e95 "> 
+					 <p>Constructs a 
+						<samp class="codeph">task_scheduler_observer</samp> object in the
+						inactive state (observation is disabled) tied to the specified 
+						<samp class="codeph">task_arena</samp>. It receives notifications related
+						only to this specified arena.
+					 </p>
+
+					 <div class="Note"><h3 class="NoteTipHead">
+					Note</h3>Invocation of observe(true) for such an object can force
+						initialization of the internal arena representation of the specified 
+						<samp class="codeph">task_arena</samp> object 
+					 </div> 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d24630e92 "><samp class="codeph">virtual bool on_scheduler_leaving()
+						
+					 </samp> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d24630e95 "> 
+					 <p>The callback is invoked in a worker
+						thread before it leaves an arena. If it returns false, the thread remains in
+						the arena trying to find more work.
+						It will not be called for master threads or if a worker thread
+						leaves the arena due to rebalancing, priority changes, etc. 
+					 </p>
+ 
+					 <div class="Note"><h3 class="NoteTipHead">
+					Note</h3>The application must be linked against the Community
+						Preview library for this method to take effect. 
+					 </div> 
+				  </td>
+ 
+				</tr>
+ 
+			 </tbody>
+ 
+		  </table>
+</div>
+ 
+	 </div>
+ 
+  </div>
+ 
+  
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../../../reference/appendices/community_preview_features/task_arena_cls.htm">task_arena Class</a></div>
+</div>
+<div class="See Also">
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="../../../task_scheduler/task_scheduler_observer.htm#task_scheduler_observer_member">task_scheduler_observer
+		  </a></div>
+<div><a href="../../../task_scheduler/task_scheduler_init_cls.htm#task_scheduler_init_cls">task_scheduler_init Class
+		  </a></div></div>
+</div>
+
+</body>
+</html>
diff --git a/doc/help/reference/appendices/community_preview_features/what_is_a_community_preview_feature.htm b/doc/help/reference/appendices/community_preview_features/what_is_a_community_preview_feature.htm
new file mode 100755
index 0000000..a2b95f3
--- /dev/null
+++ b/doc/help/reference/appendices/community_preview_features/what_is_a_community_preview_feature.htm
@@ -0,0 +1,93 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="What is a Community Preview Feature?">
+<meta name="DC.subject" content="What is a Community Preview Feature?">
+<meta name="keywords" content="What is a Community Preview Feature?">
+<meta name="DC.Relation" scheme="URI" content="../../../reference/appendices/community_preview_features.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="what_is_a_community_preview_feature">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../../intel_css_styles.css">
+<title>What is a Community Preview Feature?</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="what_is_a_community_preview_feature">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(3);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="what_is_a_community_preview_feature"><!-- --></a>
+
+
+  <h1 class="topictitle1">What is a Community Preview Feature?</h1>
+
+  
+  <div>
+	 <p>A Community Preview feature is a component of Intel®
+		Threading Building Blocks (Intel® TBB) that is being introduced to gain early
+		feedback from developers. Comments, questions and suggestions related to
+		Community Preview features are encouraged and should be submitted to the forums
+		at www.threadingbuildingblocks.org.
+	 </p>
+
+	 <p>The key properties of a CP feature are:
+	 </p>
+
+	 <ul type="disc">
+		<li>
+		  <p>It must be explicitly enabled. It is off by
+			 default.
+		  </p>
+
+		</li>
+
+		<li>
+		  <p>It is intended to have a high quality
+			 implementation.
+		  </p>
+
+		</li>
+
+		<li>
+		  <p>There is no guarantee of future existence or
+			 compatibility.
+		  </p>
+
+		</li>
+
+		<li>
+		  <p>It may have limited or no support in tools such
+			 as correctness analyzers, profilers and debuggers.
+		  </p>
+
+		</li>
+
+	 </ul>
+
+	 <div class="Note"><h3 class="NoteTipHead">
+					Caution</h3>
+		<p>A CP feature is subject to change in the future. It
+		  may be removed or radically altered in future releases of the library. Changes
+		  to a CP feature do NOT require the usual deprecation and deletion process.
+		  Using a CP feature in a production code base is therefore strongly discouraged.
+		</p>
+
+	 </div>
+  </div>
+
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../../reference/appendices/community_preview_features.htm">Community Preview Features</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/reference/appendices/compatibility_features.htm b/doc/help/reference/appendices/compatibility_features.htm
new file mode 100755
index 0000000..779d2e3
--- /dev/null
+++ b/doc/help/reference/appendices/compatibility_features.htm
@@ -0,0 +1,77 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="Compatibility Features">
+<meta name="DC.subject" content="Compatibility Features">
+<meta name="keywords" content="Compatibility Features">
+<meta name="DC.Relation" scheme="URI" content="../../reference/appendices.htm">
+<meta name="DC.Relation" scheme="URI" content="../../reference/appendices/compatibility_features/parallel_while_cls.htm">
+<meta name="DC.Relation" scheme="URI" content="../../reference/appendices/compatibility_features/interface_for_constructing_a_pipeline_filter.htm">
+<meta name="DC.Relation" scheme="URI" content="../../reference/appendices/compatibility_features/debugging_macros.htm">
+<meta name="DC.Relation" scheme="URI" content="../../reference/appendices/compatibility_features/tbb_deprecated_concurrent_queue_cls.htm">
+<meta name="DC.Relation" scheme="URI" content="../../reference/appendices/compatibility_features/task_enqueuing_flow_graph.htm">
+<meta name="DC.Relation" scheme="URI" content="../../reference/appendices/compatibility_features/interface_for_concurrent_vector.htm">
+<meta name="DC.Relation" scheme="URI" content="../../reference/appendices/compatibility_features/interface_for_cls_task.htm">
+<meta name="DC.Relation" scheme="URI" content="../../reference/appendices/compatibility_features/tbb_thread_cls.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="compatibility_features">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../intel_css_styles.css">
+<title>Compatibility Features</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="compatibility_features">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(2);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="compatibility_features"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Compatibility Features</h1>
+ 
+   
+  <div> 
+	 <p>This appendix describes features of Intel Threading
+		Building Blocks (Intel® TBB) that remain for compatibility with previous
+		versions. These features are deprecated and may disappear in future versions of
+		Intel® TBB. Some of these features are available only if the preprocessor
+		symbol TBB_DEPRECATED is non-zero. 
+	 </p>
+ 
+  </div>
+ 
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../reference/appendices.htm">Appendices</a></div>
+</div>
+<div>
+<ul class="ullinks">
+<li class="ulchildlink"><a href="../../reference/appendices/compatibility_features/parallel_while_cls.htm">parallel_while Template Class</a><br>
+</li>
+<li class="ulchildlink"><a href="../../reference/appendices/compatibility_features/interface_for_constructing_a_pipeline_filter.htm">Interface for constructing a pipeline filter</a><br>
+</li>
+<li class="ulchildlink"><a href="../../reference/appendices/compatibility_features/debugging_macros.htm">Debugging Macros</a><br>
+</li>
+<li class="ulchildlink"><a href="../../reference/appendices/compatibility_features/tbb_deprecated_concurrent_queue_cls.htm">tbb::deprecated::concurrent_queue<T,Alloc> Template Class</a><br>
+</li>
+<li class="ulchildlink"><a href="../../reference/appendices/compatibility_features/task_enqueuing_flow_graph.htm">Task Enqueuing Flow Graph</a><br>
+</li>
+<li class="ulchildlink"><a href="../../reference/appendices/compatibility_features/interface_for_concurrent_vector.htm">Interface for concurrent_vector</a><br>
+</li>
+<li class="ulchildlink"><a href="../../reference/appendices/compatibility_features/interface_for_cls_task.htm">Interface for class task</a><br>
+</li>
+<li class="ulchildlink"><a href="../../reference/appendices/compatibility_features/tbb_thread_cls.htm">tbb_thread Class</a><br>
+</li>
+</ul>
+</div>
+
+</body>
+</html>
diff --git a/doc/help/reference/appendices/compatibility_features/debugging_macros.htm b/doc/help/reference/appendices/compatibility_features/debugging_macros.htm
new file mode 100755
index 0000000..2ae6862
--- /dev/null
+++ b/doc/help/reference/appendices/compatibility_features/debugging_macros.htm
@@ -0,0 +1,131 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="Debugging Macros">
+<meta name="DC.subject" content="Debugging Macros">
+<meta name="keywords" content="Debugging Macros">
+<meta name="DC.Relation" scheme="URI" content="../../../reference/appendices/compatibility_features.htm">
+<meta name="DC.Relation" scheme="URI" content="../../environment/enabling_debugging_features.htm#enabling_debugging_features">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="debugging_macros">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../../intel_css_styles.css">
+<title>Debugging Macros</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="debugging_macros">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(3);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="debugging_macros"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Debugging Macros</h1>
+ 
+   
+  <div> 
+	 <p>The names of the debugging macros have changed as
+		shown in Table 45. If you define the old macros, the Intel® Threading Building Blocks (Intel® TBB) 
+        library sets each undefined new macro in a way that duplicates the behavior the old macro settings. 
+	 </p>
+ 
+	 <p>The old 
+		<span class="keyword">TBB_DO_ASSERT</span>
+		enabled assertions, full support for Intel® Threading Tools, and performance
+		warnings. These three distinct capabilities are now controlled by three
+		separate macros as described in Enabling Debugging Features. 
+	 </p>
+ 
+	 <div class="Note"><h3 class="NoteTipHead">
+					Tip</h3> 
+		<p>To enable all three capabilities with a single
+		  macro, define 
+		  <span class="keyword">TBB_USE_DEBUG</span>
+		  to be 1. If you had code under 
+		  <samp class="codeph">"#if TBB_DO_ASSERT"</samp>
+		  that should be conditionally included only when assertions are enabled, use 
+		  <samp class="codeph">"#if TBB_USE_ASSERT"</samp>
+		  instead. 
+		</p>
+ 
+	 </div> 
+	 
+<div class="tablenoborder"><a name="tbl45"><!-- --></a><table cellpadding="4" summary="" id="tbl45" frame="border" border="1" cellspacing="0" rules="all"><caption><span class="tablecap">Deprecated Macros</span></caption> 
+	 <thead align="left"> 
+		<tr> 
+		  <th class="cellrowborder" align="left" valign="top" width="45%" id="d25273e61"> 
+			 <p>Deprecated Macro 
+			 </p>
+ 
+		  </th>
+ 
+		  <th class="cellrowborder" align="left" valign="top" width="55.00000000000001%" id="d25273e67"> 
+			 <p>New Macro 
+			 </p>
+ 
+		  </th>
+ 
+		</tr>
+</thead>
+ 
+	 <tbody> 
+		<tr> 
+		  <td class="cellrowborder" align="left" valign="middle" width="45%" headers="d25273e61 "> 
+			 <p><span class="keyword">TBB_DO_ASSERT</span> 
+			 </p>
+ 
+		  </td>
+ 
+		  <td class="cellrowborder" valign="middle" width="55.00000000000001%" headers="d25273e67 "> 
+			 <p><span class="keyword">TBB_USE_DEBUG</span> or 
+				<samp class="codeph">TBB_USE_ASSERT</samp>,
+				depending on context. 
+			 </p>
+ 
+		  </td>
+ 
+		</tr>
+ 
+		<tr> 
+		  <td class="cellrowborder" align="left" valign="middle" width="45%" headers="d25273e61 "> 
+			 <p><samp class="codeph">TBB_DO_THREADING_TOOLS</samp> 
+			 </p>
+ 
+		  </td>
+ 
+		  <td class="cellrowborder" valign="middle" width="55.00000000000001%" headers="d25273e67 "> 
+			 <p><samp class="codeph">TBB_USE_THREADING_TOOLS</samp> 
+			 </p>
+ 
+		  </td>
+ 
+		</tr>
+ 
+	 </tbody>
+ 
+  </table>
+</div>
+ 
+  </div>
+ 
+  
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../../reference/appendices/compatibility_features.htm">Compatibility Features</a></div>
+</div>
+<div class="See Also">
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="../../environment/enabling_debugging_features.htm#enabling_debugging_features">Enabling Debugging Features
+		  </a></div></div>
+</div>
+
+</body>
+</html>
diff --git a/doc/help/reference/appendices/compatibility_features/interface_for_cls_task.htm b/doc/help/reference/appendices/compatibility_features/interface_for_cls_task.htm
new file mode 100755
index 0000000..98c54ef
--- /dev/null
+++ b/doc/help/reference/appendices/compatibility_features/interface_for_cls_task.htm
@@ -0,0 +1,120 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="Interface for class task">
+<meta name="DC.subject" content="Interface for class task">
+<meta name="keywords" content="Interface for class task">
+<meta name="DC.Relation" scheme="URI" content="../../../reference/appendices/compatibility_features.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="interface_for_cls_task">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../../intel_css_styles.css">
+<title>Interface for class task</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="interface_for_cls_task">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(3);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="interface_for_cls_task"><!-- --></a>
+
+
+  <h1 class="topictitle1">Interface for class task</h1>
+
+  
+  <div>
+	 <p>Some methods of class 
+		<samp class="codeph">task</samp> are deprecated
+		because they have obsolete or redundant functionality.
+	 </p>
+
+	 <div class="section"><h2 class="sectiontitle">Deprecated Members of class task</h2>
+		
+		<pre>namespace tbb {
+ class task {
+ public:
+ ...
+ void recycle_to_reexecute();
+ // task depth
+ typedef implementation-defined-signed-integral-type depth_type;
+ depth_type depth() const {return 0;}
+ void set_depth( depth_type new_depth ) {}
+ void add_to_depth( int delta ){}
+ ...
+ };
+ }</pre>
+	 </div>
+
+	 
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"><span class="tabledesc">The following table provides additional information on the members
+		  of this template class. 
+		</span><thead align="left"> 
+			 <tr> 
+				<th class="cellrowborder" valign="top" width="33.89830508474576%" id="d25551e75">Member 
+				</th>
+ 
+				<th class="cellrowborder" valign="top" width="66.10169491525423%" id="d25551e78">Description 
+				</th>
+ 
+			 </tr>
+</thead>
+ 
+		  <tbody> 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d25551e75 "><span class="keyword">void recycle
+					 _to_reexecute()</span> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d25551e78 ">
+				  <p>Intel® Threading Building Blocks (Intel® TBB) 3.0 deprecated method 
+					 <samp class="codeph">recycle_to_reexecute</samp> because it is
+					 redundant. Replace a call 
+					 <samp class="codeph"><var>t</var>->recycle_to_reexecute()</samp>with
+					 the following sequence:
+				  </p>
+
+				  <pre><var>t</var>->set_refcount(1);
+<var>t</var>->recycle_as_safe_continuation();</pre> 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d25551e75 "><span class="keyword">Depth interface for class
+					 task</span> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d25551e78 ">
+				  <p>Intel® TBB 2.2 eliminated the notion of
+					 task depth that was present in prior versions of Intel® TBB. The members of
+					 class task that related to depth have been retained under 
+					 <samp class="codeph">TBB_DEPRECATED</samp>, but do nothing.
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+		  </tbody>
+ 
+		</table>
+</div>
+
+  </div>
+
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../../reference/appendices/compatibility_features.htm">Compatibility Features</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/reference/appendices/compatibility_features/interface_for_concurrent_vector.htm b/doc/help/reference/appendices/compatibility_features/interface_for_concurrent_vector.htm
new file mode 100755
index 0000000..1a28bc1
--- /dev/null
+++ b/doc/help/reference/appendices/compatibility_features/interface_for_concurrent_vector.htm
@@ -0,0 +1,189 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="Interface for concurrent_vector">
+<meta name="DC.subject" content="Interface for concurrent_vector">
+<meta name="keywords" content="Interface for concurrent_vector">
+<meta name="DC.Relation" scheme="URI" content="../../../reference/appendices/compatibility_features.htm">
+<meta name="DC.Relation" scheme="URI" content="../../containers_overview/concurrent_vector/whole_vector_operations.htm">
+<meta name="DC.Relation" scheme="URI" content="../../containers_overview/concurrent_vector/concurrent_growth.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="interface_for_concurrent_vector">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../../intel_css_styles.css">
+<title>Interface for concurrent_vector</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="interface_for_concurrent_vector">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(3);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="interface_for_concurrent_vector"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Interface for concurrent_vector</h1>
+ 
+   
+  <div> 
+	 <p>The return type of methods 
+		<samp class="codeph">grow_by</samp> and 
+		<samp class="codeph">grow_to_at_least</samp> changed
+		in Intel® Threading Building Blocks (Intel® TBB) 2.2. Compile with the preprocessor symbol 
+		<samp class="codeph">TBB_DEPRECATED</samp> set to
+		nonzero to get the old methods. 
+	 </p>
+ 
+	 
+<div class="tablenoborder"><a name="tbl47"><!-- --></a><table cellpadding="4" summary="" id="tbl47" frame="border" border="1" cellspacing="0" rules="all"><caption><span class="tablecap">Change in Return Types</span></caption> 
+	 <thead align="left"> 
+		<tr> 
+		  <th class="cellrowborder" align="center" valign="top" width="50%" id="d25814e50"> 
+			 <p>Method 
+			 </p>
+ 
+		  </th>
+ 
+		  <th class="cellrowborder" align="center" valign="top" width="25%" id="d25814e56"> 
+			 <p>Deprecated Return Type 
+			 </p>
+ 
+		  </th>
+ 
+		  <th class="cellrowborder" align="center" valign="top" width="25%" id="d25814e62"> 
+			 <p>New Return Type 
+			 </p>
+ 
+		  </th>
+ 
+		</tr>
+</thead>
+ 
+	 <tbody> 
+		<tr> 
+		  <td class="cellrowborder" align="left" valign="top" width="50%" headers="d25814e50 "> 
+			 <p><samp class="codeph">grow_by</samp> See Concurrent Growth. 
+			 </p>
+ 
+		  </td>
+ 
+		  <td class="cellrowborder" align="left" valign="top" width="25%" headers="d25814e56 "> 
+			 <p><samp class="codeph">size_type</samp> 
+			 </p>
+ 
+		  </td>
+ 
+		  <td class="cellrowborder" align="left" valign="top" width="25%" headers="d25814e62 "> 
+			 <p><samp class="codeph">iterator</samp> 
+			 </p>
+ 
+		  </td>
+ 
+		</tr>
+ 
+		<tr> 
+		  <td class="cellrowborder" align="left" valign="top" width="50%" headers="d25814e50 "> 
+			 <p><samp class="codeph">grow_to_at_least</samp> See Concurrent
+				Growth. 
+			 </p>
+ 
+		  </td>
+ 
+		  <td class="cellrowborder" align="left" valign="top" width="25%" headers="d25814e56 "> 
+			 <p><samp class="codeph">void</samp> 
+			 </p>
+ 
+		  </td>
+ 
+		  <td class="cellrowborder" align="left" valign="top" width="25%" headers="d25814e62 "> 
+			 <p><samp class="codeph">iterator</samp> 
+			 </p>
+ 
+		  </td>
+ 
+		</tr>
+ 
+		<tr> 
+		  <td class="cellrowborder" align="left" valign="top" width="50%" headers="d25814e50 "> 
+			 <p><samp class="codeph">push_back</samp> See Concurrent Growth. 
+			 </p>
+ 
+		  </td>
+ 
+		  <td class="cellrowborder" align="left" valign="top" width="25%" headers="d25814e56 "> 
+			 <p><samp class="codeph">size_type</samp> 
+			 </p>
+ 
+		  </td>
+ 
+		  <td class="cellrowborder" align="left" valign="top" width="25%" headers="d25814e62 "> 
+			 <p><samp class="codeph">iterator</samp> 
+			 </p>
+ 
+		  </td>
+ 
+		</tr>
+ 
+	 </tbody>
+ 
+  </table>
+</div>
+ 
+  
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"><span class="tabledesc">The following table provides additional information on the members of
+		this template class. 
+	 </span><thead align="left"> 
+		  <tr> 
+			 <th class="cellrowborder" valign="top" width="33.89830508474576%" id="d25814e167">Member 
+			 </th>
+ 
+			 <th class="cellrowborder" valign="top" width="66.10169491525423%" id="d25814e170">Description 
+			 </th>
+ 
+		  </tr>
+</thead>
+ 
+		<tbody> 
+		  <tr> 
+			 <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d25814e167 "><span class="keyword">void compact()</span>. 
+			 </td>
+ 
+			 <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d25814e170 "> 
+				<p>Same as 
+				  <samp class="codeph">shrink_to_fit()</samp>
+				  See Whole Vector Operations. 
+				</p>
+ 
+			 </td>
+ 
+		  </tr>
+ 
+		</tbody>
+ 
+	 </table>
+</div>
+ 
+  </div>
+ 
+  
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../../reference/appendices/compatibility_features.htm">Compatibility Features</a></div>
+</div>
+<div class="See Also">
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="../../containers_overview/concurrent_vector/whole_vector_operations.htm">Whole Vector Operations 
+		  </a></div>
+<div><a href="../../containers_overview/concurrent_vector/concurrent_growth.htm">Concurrent Growth 
+		  </a></div></div>
+</div>
+
+</body>
+</html>
diff --git a/doc/help/reference/appendices/compatibility_features/interface_for_constructing_a_pipeline_filter.htm b/doc/help/reference/appendices/compatibility_features/interface_for_constructing_a_pipeline_filter.htm
new file mode 100755
index 0000000..8e44315
--- /dev/null
+++ b/doc/help/reference/appendices/compatibility_features/interface_for_constructing_a_pipeline_filter.htm
@@ -0,0 +1,108 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="Interface for constructing a pipeline filter">
+<meta name="DC.subject" content="Interface for constructing a pipeline filter">
+<meta name="keywords" content="Interface for constructing a pipeline filter">
+<meta name="DC.Relation" scheme="URI" content="../../../reference/appendices/compatibility_features.htm">
+<meta name="DC.Relation" scheme="URI" content="../../algorithms/pipeline_cls/filter_cls.htm#filter_cls">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="interface_for_constructing_a_pipeline_filter">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../../intel_css_styles.css">
+<title>Interface for constructing a pipeline filter</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="interface_for_constructing_a_pipeline_filter">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(3);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="interface_for_constructing_a_pipeline_filter"><!-- --></a>
+
+
+  <h1 class="topictitle1">Interface for constructing a pipeline
+	 filter</h1>
+
+  
+  <div>
+	 <p>The interface for constructing a filter evolved over
+		several releases of Intel® Threading Building Blocks (Intel® TBB).
+	 </p>
+
+	 
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"><span class="tabledesc">The following table describe obsolete aspects of the interface. 
+		</span><thead align="left"> 
+			 <tr> 
+				<th class="cellrowborder" valign="top" width="33.89830508474576%" id="d26363e39">Member 
+				</th>
+ 
+				<th class="cellrowborder" valign="top" width="66.10169491525423%" id="d26363e42">Description 
+				</th>
+ 
+			 </tr>
+</thead>
+ 
+		  <tbody> 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d26363e39 "><span class="keyword">filter::filter( bool is_serial
+					 )</span> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d26363e42 ">
+				  <p>Constructs a serial in-order filter if 
+					 <samp class="codeph">is_serial</samp> is
+					 true, or a parallel filter if 
+					 <samp class="codeph">is_serial</samp> is
+					 false. This deprecated constructor is superseded by the constructor 
+					 <samp class="codeph">filter( filter::mode
+						)</samp>
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d26363e39 "><span class="keyword">filter::serial</span> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d26363e42 ">
+				  <p>The filter mode value 
+					 <samp class="codeph">filter::serial</samp>
+					 is now named filter::serial_in_order. The new name distinguishes it more
+					 clearly from the mode 
+					 <samp class="codeph">filter::serial_out_of_order</samp>.
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+		  </tbody>
+ 
+		</table>
+</div>
+
+  </div>
+
+  
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../../reference/appendices/compatibility_features.htm">Compatibility Features</a></div>
+</div>
+<div class="See Also">
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="../../algorithms/pipeline_cls/filter_cls.htm#filter_cls">filter Class
+		  </a></div></div>
+</div>
+
+</body>
+</html>
diff --git a/doc/help/reference/appendices/compatibility_features/parallel_while_cls.htm b/doc/help/reference/appendices/compatibility_features/parallel_while_cls.htm
new file mode 100755
index 0000000..7ecb908
--- /dev/null
+++ b/doc/help/reference/appendices/compatibility_features/parallel_while_cls.htm
@@ -0,0 +1,350 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="parallel_while Template Class">
+<meta name="DC.subject" content="parallel_while Template Class">
+<meta name="keywords" content="parallel_while Template Class">
+<meta name="DC.Relation" scheme="URI" content="../../../reference/appendices/compatibility_features.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="parallel_while_cls">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../../intel_css_styles.css">
+<title>parallel_while Template Class</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="parallel_while_cls">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(3);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="parallel_while_cls"><!-- --></a>
+
+
+  <h1 class="topictitle1">parallel_while Template Class</h1>
+
+  
+  <div>
+	 <div class="section"><h2 class="sectiontitle">Summary</h2>
+		
+		<p>Template class that processes work items.
+		</p>
+
+		<div class="Note"><h3 class="NoteTipHead">
+					Tip</h3>
+		  <p>This class is deprecated. Use parallel_do (4.7)
+			 instead.
+		  </p>
+
+		</div>
+	 </div>
+
+	 <div class="section"><h2 class="sectiontitle">Syntax</h2>
+		
+		<pre>template<typename Body>
+ class parallel_while;</pre>
+	 </div>
+
+	 <div class="section"><h2 class="sectiontitle">Header</h2>
+		
+		<pre>#include "tbb/parallel_while.h"</pre>
+	 </div>
+
+	 <div class="section"><h2 class="sectiontitle">Description</h2>
+		
+		<p>A 
+		  <samp class="codeph">parallel_while<Body></samp> performs
+		  parallel iteration over items. The processing to be performed on each item is
+		  defined by a function object of type Body. The items are specified in two ways:
+		</p>
+
+		<ul type="disc">
+		  <li>
+			 <p>A stream of items.
+			 </p>
+
+		  </li>
+
+		  <li>
+			 <p>Additional items that are added while the
+				stream is being processed.
+			 </p>
+
+		  </li>
+
+		</ul>
+
+		<p><a href="#tbl44">Table 44</a> shows the
+		  requirements on the stream and body.
+		</p>
+
+		
+<div class="tablenoborder"><a name="tbl44"><!-- --></a><table cellpadding="4" summary="" id="tbl44" frame="border" border="1" cellspacing="0" rules="rows"><caption><span class="tablecap">Table 44: parallel_while Requirements for
+		  Stream S and Body B</span></caption>
+		  <thead align="left">
+			 <tr>
+				<th class="cellrowborder" align="left" valign="top" width="60%" id="d26597e104">
+				  <p>Pseudo-Signature
+				  </p>
+
+				</th>
+
+				<th class="cellrowborder" align="left" valign="top" width="40%" id="d26597e110">
+				  <p>Semantics
+				  </p>
+
+				</th>
+
+			 </tr>
+</thead>
+
+		  <tbody>
+			 <tr>
+				<td class="cellrowborder" align="left" valign="top" width="60%" headers="d26597e104 ">
+				  <p><samp class="codeph">bool S::pop_if_present( B::argument_type&
+						item )</samp>
+				  </p>
+
+				</td>
+
+				<td class="cellrowborder" align="left" valign="top" width="40%" headers="d26597e110 ">
+				  <p>Get next stream item. 
+					 <samp class="codeph">parallel_while</samp>
+					 does not concurrently invoke the method on the same this.
+				  </p>
+
+				</td>
+
+			 </tr>
+
+			 <tr>
+				<td class="cellrowborder" align="left" valign="top" width="60%" headers="d26597e104 ">
+				  <p><samp class="codeph">B::operator()( B::argument_type& item )
+						const</samp>
+				  </p>
+
+				</td>
+
+				<td class="cellrowborder" align="left" valign="top" width="40%" headers="d26597e110 ">
+				  <p>Process 
+					 <samp class="codeph">item.
+						parallel_while</samp> may concurrently invoke the operator for the same 
+					 <span class="keyword">this</span> but different 
+					 <span class="keyword">item</span>.
+				  </p>
+
+				</td>
+
+			 </tr>
+
+			 <tr>
+				<td class="cellrowborder" align="left" valign="top" width="60%" headers="d26597e104 ">
+				  <p><samp class="codeph">B::argument_type()</samp>
+				  </p>
+
+				</td>
+
+				<td class="cellrowborder" align="left" valign="top" width="40%" headers="d26597e110 ">
+				  <p>Default constructor.
+				  </p>
+
+				</td>
+
+			 </tr>
+
+			 <tr>
+				<td class="cellrowborder" align="left" valign="top" width="60%" headers="d26597e104 ">
+				  <p><samp class="codeph">B::argument_type( const B::argument_type&
+						)</samp>
+				  </p>
+
+				</td>
+
+				<td class="cellrowborder" align="left" valign="top" width="40%" headers="d26597e110 ">
+				  <p>Copy constructor.
+				  </p>
+
+				</td>
+
+			 </tr>
+
+			 <tr>
+				<td class="cellrowborder" align="left" valign="top" width="60%" headers="d26597e104 ">
+				  <p><samp class="codeph">~B::argument_type()</samp>
+				  </p>
+
+				</td>
+
+				<td class="cellrowborder" align="left" valign="top" width="40%" headers="d26597e110 ">
+				  <p>Destructor.
+				  </p>
+
+				</td>
+
+			 </tr>
+
+		  </tbody>
+
+		</table>
+</div>
+
+		<p>For example, a unary function object, as defined in
+		  Section 20.3 of the C++ standard, models the requirements for B. A 
+		  <samp class="codeph">concurrent_queue</samp> (5.5)
+		  models the requirements for S.
+		</p>
+
+		<div class="Note"><h3 class="NoteTipHead">
+					Tip</h3>
+		  <p>To achieve speedup, the 
+			 <samp class="codeph">grainsize of
+				B::operator()</samp> needs to be on the order of at least ~10,000
+			 instructions. Otherwise, the internal overheads of parallel_while swamp the
+			 useful work. The parallelism in 
+			 <samp class="codeph">parallel_while</samp> is
+			 not scalable if all the items come from the input stream. To achieve scaling,
+			 design your algorithm such that method add often adds more than one piece of
+			 work.
+		  </p>
+
+		</div>
+	 </div>
+
+	 <div class="section"><h2 class="sectiontitle">Members</h2>
+		
+		<pre>namespace tbb {
+ template<typename Body>
+ class parallel_while {
+ public:
+ parallel_while();
+ ~parallel_while();
+ typedef typename Body::argument_type value_type;
+ template<typename Stream>
+ void run( Stream& stream, const Body& body );
+ void add( const value_type& item );
+ };
+ }</pre>
+		
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"><span class="tabledesc">The following table provides additional information on the
+			 members of this template class. 
+		  </span><thead align="left"> 
+				<tr> 
+				  <th class="cellrowborder" valign="top" width="33.89830508474576%" id="d26597e281">Member 
+				  </th>
+ 
+				  <th class="cellrowborder" valign="top" width="66.10169491525423%" id="d26597e284">Description 
+				  </th>
+ 
+				</tr>
+</thead>
+ 
+			 <tbody> 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d26597e281 "><span class="keyword">parallel_while<Body>()</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d26597e284 ">
+					 <p>Constructs a 
+						<samp class="codeph">parallel_while</samp> that is not yet
+						running.
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d26597e281 "><span class="keyword">~parallel_while<Body>()</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d26597e284 ">
+					 <p>Destroys a 
+						<samp class="codeph">parallel_while</samp>.
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+
+				<tr>
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d26597e281 "><span class="keyword">Template <typename Stream>
+						void run( Stream& stream, const Body& body )</span> 
+				  </td>
+
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d26597e284 ">
+					 <p>Applies 
+						<var>body</var>
+						to each item in 
+						<var>stream</var> and any other items that
+						are added by method add. Terminates when both of the following conditions
+						become true:
+					 </p>
+
+					 <ul type="disc">
+						<li>
+						  <p><samp class="codeph">stream.pop_if_present</samp> returned false.
+						  </p>
+
+						</li>
+
+						<li>
+						  <p><samp class="codeph">body(x)</samp> returned for all items 
+							 <var>x</var> generated from the stream or
+							 method add.
+						  </p>
+
+						</li>
+
+					 </ul>
+
+				  </td>
+
+				</tr>
+
+				<tr>
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d26597e281 "><span class="keyword">void add( const value_type&
+						item )</span> 
+				  </td>
+
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d26597e284 ">
+					 <p><strong>Requirements</strong>: Must be called from
+						a call to 
+						<samp class="codeph"><var>body</var>.operator()</samp>
+						created by 
+						<samp class="codeph">parallel_while</samp>. Otherwise, the
+						termination semantics of method 
+						<span class="keyword">run</span>
+						are undefined.
+					 </p>
+ 
+					 <p><strong>Effects</strong>: Adds item to collection
+						of items to be processed.
+					 </p>
+
+				  </td>
+
+				</tr>
+ 
+			 </tbody>
+ 
+		  </table>
+</div>
+
+	 </div>
+
+  </div>
+
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../../reference/appendices/compatibility_features.htm">Compatibility Features</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/reference/appendices/compatibility_features/task_enqueuing_flow_graph.htm b/doc/help/reference/appendices/compatibility_features/task_enqueuing_flow_graph.htm
new file mode 100755
index 0000000..5d40807
--- /dev/null
+++ b/doc/help/reference/appendices/compatibility_features/task_enqueuing_flow_graph.htm
@@ -0,0 +1,63 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="Task Enqueuing Flow Graph">
+<meta name="DC.Relation" scheme="URI" content="../../../reference/appendices/compatibility_features.htm">
+<meta name="DC.Relation" scheme="URI" content="../../task_scheduler/scheduling_algorithm.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="task_enqueuing_flow_graph">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../../intel_css_styles.css">
+<title>Task Enqueuing Flow Graph</title>
+</head>
+<body id="task_enqueuing_flow_graph">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(3);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="task_enqueuing_flow_graph"><!-- --></a>
+
+
+  <h1 class="topictitle1">Task Enqueuing Flow Graph</h1>
+
+  <div>
+
+<p>
+The implementation of the flow graph that enqueues its tasks has been deprecated.  There are limitations on the
+nesting of calls to <span class="keyword">wait_for_all</span> on enqueued tasks.  These limitations restrict the composability
+of flow graphs, preventing their use in some interesting cases.  We therefore modified the flow graph to spawn tasks
+instead.  See the Scheduling Algorithm section for a discussion of the differences between enqueued and spawned tasks.
+</p>
+
+
+<p>
+To use the deprecated implementation that enqueues tasks, the preprocessor symbol <span class="keyword">TBB_DEPRECATED_FLOW_ENQUEUE</span>
+must be non-zero.</p>
+
+
+<p>
+If an application relies on the fire-and-forget nature of enqueued tasks, it may still be possible to avoid using 
+the deprecated implementation.  This might be done, for example, by enqueueing a task that in turn constructs
+and executes a spawning flow graph.  The outer enqueued task will be serviced even if there are no worker threads
+available, and any thread created to service it will then also be availble to execute tasks spawned by its flow
+graph.
+</p>
+
+</div>
+
+  
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../../reference/appendices/compatibility_features.htm">Compatibility Features</a></div>
+</div>
+<div class="See Also">
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="../../task_scheduler/scheduling_algorithm.htm">Scheduling Algorithm
+		  </a></div></div>
+</div>
+
+</body>
+</html>
diff --git a/doc/help/reference/appendices/compatibility_features/tbb_deprecated_concurrent_queue_cls.htm b/doc/help/reference/appendices/compatibility_features/tbb_deprecated_concurrent_queue_cls.htm
new file mode 100755
index 0000000..474501d
--- /dev/null
+++ b/doc/help/reference/appendices/compatibility_features/tbb_deprecated_concurrent_queue_cls.htm
@@ -0,0 +1,254 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="tbb::deprecated::concurrent_queue<T,Alloc> Template Class">
+<meta name="DC.subject" content="tbb::deprecated::concurrent_queue<T,Alloc> Template Class">
+<meta name="keywords" content="tbb::deprecated::concurrent_queue<T,Alloc> Template Class">
+<meta name="DC.Relation" scheme="URI" content="../../../reference/appendices/compatibility_features.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="tbb_deprecated_concurrent_queue_cls">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../../intel_css_styles.css">
+<title>tbb::deprecated::concurrent_queue<T,Alloc> Template Class</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="tbb_deprecated_concurrent_queue_cls">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(3);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="tbb_deprecated_concurrent_queue_cls"><!-- --></a>
+
+
+  <h1 class="topictitle1">tbb::deprecated::concurrent_queue<T,Alloc>
+	 Template Class</h1>
+
+  
+  <div>
+	 <div class="section"><h2 class="sectiontitle">Summary</h2>
+		
+		<p>Template class for queue with concurrent
+		  operations. This is the 
+		  <samp class="codeph">concurrent_queue</samp>
+		  supported in Intel® Threading Building Blocks (Intel® TBB) 2.1 and prior. New code should use the Intel® TBB 2.2
+		  unbounded 
+		  <samp class="codeph">concurrent_queue</samp> or 
+		  <samp class="codeph">concurrent_bounded_queue</samp>.
+		</p>
+
+	 </div>
+
+	 <div class="section"><h2 class="sectiontitle">Syntax</h2>
+		
+		<pre>template<typename T, typename Alloc=cache_aligned_allocator<T> > class concurrent_queue;</pre>
+	 </div>
+
+	 <div class="section"><h2 class="sectiontitle">Header</h2>
+		
+		<pre>#include "tbb/concurrent_queue.h"</pre>
+	 </div>
+
+	 <div class="section"><h2 class="sectiontitle">Description</h2>
+		
+		<p>A 
+		  <samp class="codeph">tbb::deprecated::concurrent_queue</samp> is a
+		  bounded first-in first-out data structure that permits multiple threads to
+		  concurrently push and pop items. The default bounds are large enough to make
+		  the queue practically unbounded, subject to memory limitations on the target
+		  machine.
+		</p>
+
+		<div class="Note"><h3 class="NoteTipHead">
+					Tip</h3>
+		  <p>Compile with 
+			 <samp class="codeph">TBB_DEPRECATED=1</samp> to
+			 inject 
+			 <samp class="codeph">tbb::deprecated::concurrent_queue</samp> into
+			 namespace 
+			 <samp class="codeph">tbb</samp>. Consider
+			 eventually migrating to the new queue classes.
+		  </p>
+
+		  <ul type="disc">
+			 <li>
+				<p>Use the new 
+				  <samp class="codeph">tbb::concurrent_queue</samp> if you need only
+				  the non-blocking operations (<samp class="codeph">push</samp> and 
+				  <samp class="codeph">try_pop</samp>) for
+				  modifying the queue.
+				</p>
+
+			 </li>
+
+			 <li>
+				<p>Otherwise use the new 
+				  <samp class="codeph">tbb::concurrent_bounded_queue</samp>. It
+				  supports both blocking operations (<samp class="codeph">push</samp> and 
+				  <samp class="codeph">try_pop</samp>) and
+				  non-blocking operations.
+				</p>
+
+			 </li>
+
+		  </ul>
+
+		</div>
+		<p>In both cases, use the new method names in the
+		  following table
+		</p>
+
+		
+<div class="tablenoborder"><a name="tbl46"><!-- --></a><table cellpadding="4" summary="" id="tbl46" frame="border" border="1" cellspacing="0" rules="all"><caption><span class="tablecap">Method Name Changes for Concurrent
+		  Queues</span></caption>
+		  <thead align="left">
+			 <tr>
+				<th class="cellrowborder" align="left" valign="top" width="50%" id="d27636e135">
+				  <p>Method in tbb::deprecated::concurrent_queue
+				  </p>
+
+				</th>
+
+				<th class="cellrowborder" align="left" valign="top" width="50%" id="d27636e141">
+				  <p>Equivalent method in tbb::concurrent_queue
+					 or tbb::concurrent_bounded_queue
+				  </p>
+
+				</th>
+
+			 </tr>
+</thead>
+
+		  <tbody>
+			 <tr>
+				<td class="cellrowborder" align="left" valign="top" width="50%" headers="d27636e135 ">
+				  <p><samp class="codeph">pop_if_present</samp>
+				  </p>
+
+				</td>
+
+				<td class="cellrowborder" align="left" valign="top" width="50%" headers="d27636e141 ">
+				  <p><samp class="codeph">try_pop</samp>
+				  </p>
+
+				</td>
+
+			 </tr>
+
+			 <tr>
+				<td class="cellrowborder" align="left" valign="top" width="50%" headers="d27636e135 ">
+				  <p><samp class="codeph">push_if_not_full</samp>
+				  </p>
+
+				</td>
+
+				<td class="cellrowborder" align="left" valign="top" width="50%" headers="d27636e141 ">
+				  <p><samp class="codeph">try_push</samp> (not available in 
+					 <samp class="codeph">tbb::concurrent_queue)</samp>
+				  </p>
+
+				</td>
+
+			 </tr>
+
+			 <tr>
+				<td class="cellrowborder" align="left" valign="top" width="50%" headers="d27636e135 ">
+				  <p><samp class="codeph">begin</samp>
+				  </p>
+
+				</td>
+
+				<td class="cellrowborder" align="left" valign="top" width="50%" headers="d27636e141 ">
+				  <p><samp class="codeph">unsafe_begin</samp>
+				  </p>
+
+				</td>
+
+			 </tr>
+
+			 <tr>
+				<td class="cellrowborder" align="left" valign="top" width="50%" headers="d27636e135 ">
+				  <p><samp class="codeph">end</samp>
+				  </p>
+
+				</td>
+
+				<td class="cellrowborder" align="left" valign="top" width="50%" headers="d27636e141 ">
+				  <p><samp class="codeph">unsafe_end</samp>
+				  </p>
+
+				</td>
+
+			 </tr>
+
+		  </tbody>
+
+		</table>
+</div>
+
+	 </div>
+
+	 <div class="section"><h2 class="sectiontitle">Members</h2>
+		
+		<pre>namespace tbb {
+ namespace deprecated {
+ template<typename T,
+ typename Alloc=cache_aligned_allocator<T> >
+ class concurrent_queue {
+ public:
+ // types
+ typedef T value_type;
+ typedef T& reference;
+ typedef const T& const_reference;
+ typedef std::ptrdiff_t size_type;
+ typedef std::ptrdiff_t difference_type;
+ concurrent_queue(const Alloc& a = Alloc());
+ concurrent_queue(const concurrent_queue& src,
+ const Alloc& a = Alloc());
+ template<typename InputIterator>
+ concurrent_queue(InputIterator first, InputIterator last,
+ const Alloc& a = Alloc());
+ ~concurrent_queue();
+ void push(const T& source);
+ bool push_if_not_full(const T& source);
+ void pop(T& destination);
+ bool pop_if_present(T& destination);
+ void clear();
+ size_type size() const;
+ bool empty() const;
+ size_t capacity() const;
+ void set_capacity(size_type capacity);
+ Alloc get_allocator() const;
+ typedef <var>implementation-defined</var> iterator;
+ typedef <var>implementation-defined</var> const_iterator;
+ // iterators (these are slow and intended only for debugging)
+ iterator begin();
+ iterator end();
+ const_iterator begin() const;
+ const_iterator end() const;
+ };
+ }
+ #if TBB_DEPRECATED
+ using deprecated::concurrent_queue;
+ #else
+ using strict_ppl::concurrent_queue;
+ #endif
+ }</pre>
+	 </div>
+
+  </div>
+
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../../reference/appendices/compatibility_features.htm">Compatibility Features</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/reference/appendices/compatibility_features/tbb_thread_cls.htm b/doc/help/reference/appendices/compatibility_features/tbb_thread_cls.htm
new file mode 100755
index 0000000..734280f
--- /dev/null
+++ b/doc/help/reference/appendices/compatibility_features/tbb_thread_cls.htm
@@ -0,0 +1,172 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="tbb_thread Class">
+<meta name="DC.subject" content="tbb_thread Class">
+<meta name="keywords" content="tbb_thread Class">
+<meta name="DC.Relation" scheme="URI" content="../../../reference/appendices/compatibility_features.htm">
+<meta name="DC.Relation" scheme="URI" content="../../general_conventions/namespaces.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="tbb_thread_cls">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../../intel_css_styles.css">
+<title>tbb_thread Class</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="tbb_thread_cls">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(3);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="tbb_thread_cls"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">tbb_thread Class</h1>
+ 
+   
+  <div> 
+	 <p>Intel® Threading Building Blocks (Intel® TBB) 3.0 introduces a header 
+		<samp class="codeph">tbb/compat/thread</samp> that
+		defines class 
+		<samp class="codeph">std::thread</samp>. Prior
+		versions had a header 
+		<span class="filepath">tbb/tbb_thread.h</span>
+		that defined class 
+		<samp class="codeph">tbb_thread</samp>. The old
+		header and names are still available, but deprecated in favor of the
+		replacements shown in Table 48. 
+	 </p>
+ 
+	 
+<div class="tablenoborder"><a name="tbl48"><!-- --></a><table cellpadding="4" summary="" id="tbl48" frame="border" border="1" cellspacing="0" rules="all"><caption><span class="tablecap">Table 48: Replacements for Deprecated
+	 Names</span></caption> 
+	 <thead align="left"> 
+		<tr> 
+		  <th class="cellrowborder" align="center" valign="top" width="20%" id="d28212e53"> 
+			 <p>Entity 
+			 </p>
+ 
+		  </th>
+ 
+		  <th class="cellrowborder" align="center" valign="top" width="40%" id="d28212e59"> 
+			 <p>Deprecated 
+			 </p>
+ 
+		  </th>
+ 
+		  <th class="cellrowborder" align="center" valign="top" width="40%" id="d28212e65"> 
+			 <p>Replacement 
+			 </p>
+ 
+		  </th>
+ 
+		</tr>
+</thead>
+ 
+	 <tbody> 
+		<tr> 
+		  <td class="cellrowborder" align="left" valign="top" width="20%" headers="d28212e53 "> 
+			 <p>Header 
+			 </p>
+ 
+		  </td>
+ 
+		  <td class="cellrowborder" align="left" valign="top" width="40%" headers="d28212e59 "> 
+			 <p><samp class="codeph">tbb/tbb_thread.h</samp> 
+			 </p>
+ 
+		  </td>
+ 
+		  <td class="cellrowborder" align="left" valign="top" width="40%" headers="d28212e65 "> 
+			 <p><samp class="codeph">tbb/compat/thread</samp> 
+			 </p>
+ 
+		  </td>
+ 
+		</tr>
+ 
+		<tr> 
+		  <td class="cellrowborder" rowspan="3" valign="middle" width="20%" headers="d28212e53 "> 
+			 <p>Identifiers 
+			 </p>
+ 
+		  </td>
+ 
+		  <td class="cellrowborder" align="left" valign="top" width="40%" headers="d28212e59 "> 
+			 <p><samp class="codeph">tbb::tbb_thread</samp> 
+			 </p>
+ 
+		  </td>
+ 
+		  <td class="cellrowborder" align="left" valign="top" width="40%" headers="d28212e65 "> 
+			 <p><samp class="codeph">std::thread</samp> 
+			 </p>
+ 
+		  </td>
+ 
+		</tr>
+ 
+		<tr> 
+		  <td class="cellrowborder" align="left" valign="top" width="40%" headers="d28212e59 "> 
+			 <p><samp class="codeph">tbb::this_tbb_thread</samp> 
+			 </p>
+ 
+		  </td>
+ 
+		  <td class="cellrowborder" align="left" valign="top" width="40%" headers="d28212e59 "> 
+			 <p><samp class="codeph">std::this_thread</samp> 
+			 </p>
+ 
+		  </td>
+ 
+		</tr>
+ 
+		<tr> 
+		  <td class="cellrowborder" align="left" valign="top" width="40%" headers="d28212e59 "> 
+			 <p><samp class="codeph">tbb::this_tbb_thread::sleep</samp> 
+			 </p>
+ 
+		  </td>
+ 
+		  <td class="cellrowborder" align="left" valign="top" width="40%" headers="d28212e59 "> 
+			 <p><samp class="codeph">std::this_tbb_thread::sleep_for</samp> 
+			 </p>
+ 
+		  </td>
+ 
+		</tr>
+ 
+	 </tbody>
+ 
+  </table>
+</div>
+ 
+  <p>Most of the changes reflect a change in the way that
+	 the library implements C++11 features (std namespace). The change from 
+	 <samp class="codeph">sleep</samp> to 
+	 <samp class="codeph">sleep_for</samp> reflects a
+	 change in the C++11 working draft. 
+  </p>
+ 
+  </div>
+ 
+  
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../../reference/appendices/compatibility_features.htm">Compatibility Features</a></div>
+</div>
+<div class="See Also">
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="../../general_conventions/namespaces.htm">std Namespace 
+		  </a></div></div>
+</div>
+
+</body>
+</html>
diff --git a/doc/help/reference/appendices/known_issues.htm b/doc/help/reference/appendices/known_issues.htm
new file mode 100755
index 0000000..1b51fc9
--- /dev/null
+++ b/doc/help/reference/appendices/known_issues.htm
@@ -0,0 +1,49 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="Known Issues">
+<meta name="DC.subject" content="Known Issues">
+<meta name="keywords" content="Known Issues">
+<meta name="DC.Relation" scheme="URI" content="../../reference/appendices.htm">
+<meta name="DC.Relation" scheme="URI" content="../../reference/appendices/known_issues/windows_os.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="known_issues">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../intel_css_styles.css">
+<title>Known Issues</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="known_issues">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(2);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="known_issues"><!-- --></a>
+
+
+<h1 class="topictitle1">Known Issues</h1>
+
+
+<div>
+<p>This section explains known issues with using Intel® Threading Building Blocks (Intel® TBB).</p>
+</div>
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../reference/appendices.htm">Appendices</a></div>
+</div>
+<div>
+<ul class="ullinks">
+<li class="ulchildlink"><a href="../../reference/appendices/known_issues/windows_os.htm">Windows* OS</a><br>
+</li>
+</ul>
+</div>
+
+</body>
+</html>
diff --git a/doc/help/reference/appendices/known_issues/windows_os.htm b/doc/help/reference/appendices/known_issues/windows_os.htm
new file mode 100755
index 0000000..7b232d0
--- /dev/null
+++ b/doc/help/reference/appendices/known_issues/windows_os.htm
@@ -0,0 +1,43 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="Windows* OS">
+<meta name="DC.subject" content="Windows* OS">
+<meta name="keywords" content="Windows* OS">
+<meta name="DC.Relation" scheme="URI" content="../../../reference/appendices/known_issues.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="windows_os">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../../intel_css_styles.css">
+<title>Windows* OS</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="windows_os">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(3);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="windows_os"><!-- --></a>
+
+
+<h1 class="topictitle1">Windows* OS</h1>
+
+
+<div>
+<p>Some Intel® Threading Building Blocks (Intel® TBB) header files necessarily include the header file <windows.h>, which by default defines the macros min and max, and consequently breaks the ISO C++ header files <samp class="codeph"><limits></samp> and <samp class="codeph"><algorithm></samp>. Defining the preprocessor symbol <samp class="codeph">NOMINMAX</samp> causes <samp class="codeph"><windows.h></samp> to not define the offending macros. Thus progra [...]
+</div>
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../../reference/appendices/known_issues.htm">Known Issues</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/reference/appendices/ppl_compatibility.htm b/doc/help/reference/appendices/ppl_compatibility.htm
new file mode 100755
index 0000000..a1dafbc
--- /dev/null
+++ b/doc/help/reference/appendices/ppl_compatibility.htm
@@ -0,0 +1,228 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="PPL Compatibility">
+<meta name="DC.subject" content="PPL Compatibility">
+<meta name="keywords" content="PPL Compatibility">
+<meta name="DC.Relation" scheme="URI" content="../../reference/appendices.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="ppl_compatibility">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../intel_css_styles.css">
+<title>PPL Compatibility</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="ppl_compatibility">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(2);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="ppl_compatibility"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">PPL Compatibility</h1>
+ 
+   
+  <div> 
+	 <p>Intel® Threading Building Blocks (Intel® TBB) 2.2
+		introduces features based on joint discussions between the Microsoft
+		Corporation and Intel Corporation. The features establish some degree of
+		compatibility between Intel® TBB and Microsoft Parallel Patterns Library (PPL)
+		development software. 
+	 </p>
+ 
+	 <p>Each feature appears in namespace 
+		<samp class="codeph">tbb</samp>. Each feature can be
+		injected into namespace Concurrency by including the file "<span class="filepath">tbb/compat/ppl.h</span>".
+		Following is the list of features: 
+	 </p>
+ 
+	 
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"><span class="tabledesc">The following table lists the features and provides links to
+		  additional information. 
+		</span><thead align="left"> 
+			 <tr> 
+				<th class="cellrowborder" valign="top" width="46.08294930875576%" id="d28812e48">Feature 
+				</th>
+ 
+				<th class="cellrowborder" valign="top" width="53.91705069124424%" id="d28812e51">Link 
+				</th>
+ 
+			 </tr>
+</thead>
+ 
+		  <tbody> 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="46.08294930875576%" headers="d28812e48 "><span class="keyword"></span>parallel_for(<var>first</var>,<var>last</var>,<var>f</var>) 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="53.91705069124424%" headers="d28812e51 "><a href="../algorithms/parallel_for_func.htm" class="underlined">parallel_for Template
+					 Function</a> 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="46.08294930875576%" headers="d28812e48 "><span class="keyword"></span>parallel_for(<var>first</var>,<var>last</var>,<var>step</var>,<var>f</var>) 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="53.91705069124424%" headers="d28812e51 "><a href="../algorithms/parallel_for_func.htm" class="underlined">parallel_for Template
+					 Function</a> 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="46.08294930875576%" headers="d28812e48 "><span class="keyword">parallel_for_each</span> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="53.91705069124424%" headers="d28812e51 "><a href="../algorithms/parallel_for_each_func.htm" class="underlined">parallel_for_each Template Function</a> 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="46.08294930875576%" headers="d28812e48 "><span class="keyword">parallel_invoke</span> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="53.91705069124424%" headers="d28812e51 "><a href="../algorithms/parallel_invoke_func.htm" class="underlined">parallel_invoke Template Function</a> 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="46.08294930875576%" headers="d28812e48 "><span class="keyword">critical_section</span> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="53.91705069124424%" headers="d28812e51 "><a href="../synchronization/ppl_compatibility/critical_section.htm" class="underlined">critical_section</a> 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="46.08294930875576%" headers="d28812e48 "><span class="keyword">reader_writer_lock</span> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="53.91705069124424%" headers="d28812e51 "><a href="../synchronization/ppl_compatibility/reader_writer_lock_cls.htm" class="underlined">reader_writer_lock Class</a> 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="46.08294930875576%" headers="d28812e48 "><span class="keyword">task_handle</span> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="53.91705069124424%" headers="d28812e51 "><a href="../task_groups/task_handle_cls.htm" class="underlined">task_handle Template
+					 Class</a> 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="46.08294930875576%" headers="d28812e48 "><span class="keyword">task_group_status</span> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="53.91705069124424%" headers="d28812e51 "><a href="../task_groups/task_group_status_enum.htm" class="underlined">task_group_status Enum</a> 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="46.08294930875576%" headers="d28812e48 "><span class="keyword">task_group</span> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="53.91705069124424%" headers="d28812e51 "><a href="../task_groups/task_group_cls.htm" class="underlined">task_group Class</a> 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="46.08294930875576%" headers="d28812e48 "><span class="keyword">make_task</span> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="53.91705069124424%" headers="d28812e51 "><a href="../task_groups/make_task_func.htm" class="underlined">make_task Template
+					 Function</a> 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="46.08294930875576%" headers="d28812e48 "><span class="keyword">structured_task_group</span> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="53.91705069124424%" headers="d28812e51 "><a href="../task_groups/structured_task_group_cls.htm" class="underlined">structured_task_group Class</a> 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="46.08294930875576%" headers="d28812e48 "><span class="keyword">is_current_task_group_cancelling</span> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="53.91705069124424%" headers="d28812e51 "><a href="../task_groups/is_current_task_group_canceling_func.htm" class="underlined">is_current_task_group_canceling Function</a> 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="46.08294930875576%" headers="d28812e48 "><span class="keyword">improper_lock</span> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="53.91705069124424%" headers="d28812e51 "><a href="../exceptions/specific_exceptions.htm" class="underlined">Specific Exceptions</a> 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="46.08294930875576%" headers="d28812e48 "><span class="keyword">invalid_multiple_scheduling</span> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="53.91705069124424%" headers="d28812e51 "><a href="../exceptions/specific_exceptions.htm" class="underlined">Specific Exceptions</a> 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="46.08294930875576%" headers="d28812e48 "><span class="keyword">missing_wait</span> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="53.91705069124424%" headers="d28812e51 "><a href="../exceptions/specific_exceptions.htm" class="underlined">Specific Exceptions</a> 
+				</td>
+ 
+			 </tr>
+ 
+		  </tbody>
+ 
+		</table>
+</div>
+ 
+	 <p>For 
+		<samp class="codeph">parallel_for</samp>, only the
+		variants listed in the table are injected into namespace Concurrency. 
+	 </p>
+ 
+	 <div class="Note"><h3 class="NoteTipHead">
+					Caution</h3> 
+		<p>Because of different environments and evolving
+		  specifications, the behavior of the features can differ between the Intel® TBB
+		  and PPL implementations. 
+		</p>
+ 
+	 </div> 
+  </div>
+
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../reference/appendices.htm">Appendices</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/reference/containers_overview.htm b/doc/help/reference/containers_overview.htm
new file mode 100755
index 0000000..49cdf49
--- /dev/null
+++ b/doc/help/reference/containers_overview.htm
@@ -0,0 +1,76 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="Containers Overview">
+<meta name="DC.Relation" scheme="URI" content="../reference/reference.htm">
+<meta name="DC.Relation" scheme="URI" content="../reference/containers_overview/container_range_concept.htm">
+<meta name="DC.Relation" scheme="URI" content="../reference/containers_overview/concurrent_unordered_map_cls.htm">
+<meta name="DC.Relation" scheme="URI" content="../reference/containers_overview/concurrent_unordered_set_cls.htm">
+<meta name="DC.Relation" scheme="URI" content="../reference/containers_overview/concurrent_hash_map_cls.htm">
+<meta name="DC.Relation" scheme="URI" content="../reference/containers_overview/concurrent_queue_cls.htm">
+<meta name="DC.Relation" scheme="URI" content="../reference/containers_overview/concurrent_bounded_queue_cls.htm">
+<meta name="DC.Relation" scheme="URI" content="../reference/containers_overview/concurrent_priority_queue_cls.htm">
+<meta name="DC.Relation" scheme="URI" content="../reference/containers_overview/concurrent_vector.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="container_ovrvw">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../intel_css_styles.css">
+<title>Containers Overview</title>
+</head>
+<body id="container_ovrvw">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(1);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="container_ovrvw"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Containers Overview</h1>
+ 
+  <div> 
+	 <div class="section"> 
+		<p>The container classes permit multiple threads to
+		  simultaneously invoke certain methods on the same container. 
+		</p>
+ 
+		<p>Like STL, Intel® Threading Building Blocks (Intel®
+		  TBB) containers are templated with respect to an 
+		  <samp class="codeph">allocator</samp> argument. Each container uses its 
+		  <samp class="codeph">allocator</samp> to allocate memory for user-visible items. A
+		  container may use a different allocator for strictly internal structures.
+		</p>
+ 
+	 </div>
+ 
+  </div>
+ 
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../reference/reference.htm">Intel® Threading Building Blocks Reference Manual</a></div>
+</div>
+<div>
+<ul class="ullinks">
+<li class="ulchildlink"><a href="../reference/containers_overview/container_range_concept.htm">Container Range Concept</a><br>
+</li>
+<li class="ulchildlink"><a href="../reference/containers_overview/concurrent_unordered_map_cls.htm">concurrent_unordered_map and concurrent_unordered_multimap Template Classes</a><br>
+</li>
+<li class="ulchildlink"><a href="../reference/containers_overview/concurrent_unordered_set_cls.htm">concurrent_unordered_set and concurrent_unordered_multiset Template Classes</a><br>
+</li>
+<li class="ulchildlink"><a href="../reference/containers_overview/concurrent_hash_map_cls.htm">concurrent_hash_map Template Class</a><br>
+</li>
+<li class="ulchildlink"><a href="../reference/containers_overview/concurrent_queue_cls.htm">concurrent_queue Template Class</a><br>
+</li>
+<li class="ulchildlink"><a href="../reference/containers_overview/concurrent_bounded_queue_cls.htm">concurrent_bounded_queue Template Class</a><br>
+</li>
+<li class="ulchildlink"><a href="../reference/containers_overview/concurrent_priority_queue_cls.htm">concurrent_priority_queue Template Class</a><br>
+</li>
+<li class="ulchildlink"><a href="../reference/containers_overview/concurrent_vector.htm">concurrent_vector</a><br>
+</li>
+</ul>
+</div>
+
+</body>
+</html>
diff --git a/doc/help/reference/containers_overview/concurrent_bounded_queue_cls.htm b/doc/help/reference/containers_overview/concurrent_bounded_queue_cls.htm
new file mode 100755
index 0000000..dcd38d4
--- /dev/null
+++ b/doc/help/reference/containers_overview/concurrent_bounded_queue_cls.htm
@@ -0,0 +1,343 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="concurrent_bounded_queue Template Class">
+<meta name="DC.subject" content="concurrent_bounded_queue Template Class">
+<meta name="keywords" content="concurrent_bounded_queue Template Class">
+<meta name="DC.Relation" scheme="URI" content="../../reference/containers_overview.htm">
+<meta name="DC.Relation" scheme="URI" content="concurrent_queue_cls.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="concurrent_bounded_queue_cls">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../intel_css_styles.css">
+<title>concurrent_bounded_queue Template Class</title>
+</head>
+<body id="concurrent_bounded_queue_cls">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(2);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="concurrent_bounded_queue_cls"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">concurrent_bounded_queue Template Class</h1>
+
+  
+   
+  <div> 
+	 <div class="section"><h2 class="sectiontitle">Summary</h2> 
+		 
+		<p>Template class for bounded dual queue with
+		  concurrent operations. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Syntax</h2> 
+		 
+		<pre>template<typename T, class Alloc=cache_aligned_allocator<T> >
+            class concurrent_bounded_queue;</pre> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Header</h2> 
+		 
+		<pre>#include "tbb/concurrent_queue.h"</pre> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Description</h2> 
+		 
+		<p>A 
+		  <samp class="codeph">concurrent_bounded_queue</samp> is similar to a 
+		  <samp class="codeph">concurrent_queue</samp> , but with the following differences:
+		  
+		</p>
+ 
+		<ul type="disc"> 
+		  <li> 
+			 <p>Adds the ability to specify a capacity. The
+				default capacity makes the queue practically unbounded. 
+			 </p>
+ 
+		  </li>
+ 
+		  <li> 
+			 <p>Changes the 
+				<samp class="codeph">push</samp> operation so that it waits until it can
+				complete without exceeding the capacity. 
+			 </p>
+ 
+		  </li>
+ 
+		  <li> 
+			 <p>Adds a waiting 
+				<samp class="codeph">pop</samp> operation that waits until it can pop an item.
+				
+			 </p>
+ 
+		  </li>
+ 
+		  <li> 
+			 <p>Changes the 
+				<samp class="codeph">size_type</samp> to a 
+				<em>signed</em> type. 
+			 </p>
+ 
+		  </li>
+ 
+		  <li> 
+			 <p>Changes the 
+				<samp class="codeph">size()</samp> operation to return the number of push
+				operations minus the number of pop operations. For example, if there are 3 pop
+				operations waiting on an empty queue, 
+				<samp class="codeph">size()</samp> returns -3. 
+			 </p>
+ 
+		  </li>
+ 
+		  <li> Adds an 
+			 <samp class="codeph">abort</samp> operation that causes any waiting 
+			 <samp class="codeph">push</samp> or 
+			 <samp class="codeph">pop</samp> operation to abort and throw an exception. 
+		  </li>
+ 
+		</ul>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Members</h2> 
+		 
+		<p>To aid comparison, the parts that differ from 
+		  <samp class="codeph">concurrent_queue</samp> are in bold and annotated. 
+		</p>
+ 
+		<pre>namespace tbb {
+           template<typename T, typename 
+                    Alloc=cache_aligned_allocator<T> >
+           class concurrent_bounded_queue {
+           public:
+               <em>// types</em>
+               typedef T value_type;
+               typedef T& reference;
+               typedef const T& const_reference;
+               typedef Alloc allocator_type;
+               <em>// size_type is signed type</em>
+               typedef std::ptrdiff_t size_type;
+               typedef std::ptrdiff_t difference_type;
+ 
+               explicit concurrent_bounded_queue(const allocator_type& a = allocator_type());
+               concurrent_bounded_queue( const concurrent_bounded_queue& src, const allocator_type& a = allocator_type());
+               template<typename InputIterator>
+               concurrent_bounded_queue( InputIterator begin, InputIterator end, const allocator_type& a = allocator_type());
+               ~concurrent_bounded_queue();
+ 
+               <em>// waits until it can push without exceeding capacity.</em>
+               void push( const T& source );
+               <em>// waits if *this is empty</em>
+               void pop( T& destination );
+  
+               <em>// skips push if it would exceed capacity.</em>
+               bool try_push( const T& source );
+               bool try_pop( T& destination );
+               void abort();
+				
+               void clear();
+ 
+               <em>// safe to call during concurrent modification, can return negative size.</em>
+               size_type size() const;
+               bool empty() const;
+               size_type capacity() const;
+               void set_capacity( size_type capacity );
+               allocator_type get_allocator() const;
+ 
+               typedef <em>implementation-defined</em> iterator;
+               typedef <em>implementation-defined</em> const_iterator;
+
+               <em>// iterators (these are slow an intended only for debugging)</em>
+               iterator unsafe_begin();
+               iterator unsafe_end();
+               const_iterator unsafe_begin() const;
+               const_iterator unsafe_end() const;
+        };
+    }</pre> 
+		<p> 
+		
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"><span class="tabledesc">Because 
+			 <samp class="codeph">concurrent_bounded_queue</samp> is similar to 
+			 <samp class="codeph">concurrent_queue</samp>, the following table describes only
+			 methods that differ. 
+		  </span><thead align="left"> 
+				<tr> 
+				  <th class="cellrowborder" valign="top" width="33.89830508474576%" id="d29901e185">Member 
+				  </th>
+ 
+				  <th class="cellrowborder" valign="top" width="66.10169491525423%" id="d29901e188">Description 
+				  </th>
+ 
+				</tr>
+</thead>
+ 
+			 <tbody> 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d29901e185 "><span class="keyword">void push( const T& source
+						)</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d29901e188 "> 
+					 <p> Waits until size()<capacity, and then pushes a copy of
+						source onto back of the queue. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d29901e185 "><span class="keyword">void pop( T& destination
+						)</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d29901e188 "> 
+					 <p>Waits until a value becomes available and pops it from the
+						queue. Assigns it to destination. Destroys the original value. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d29901e185 "><span class="keyword">void abort()</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d29901e188 "> 
+					 <p>Wakes up any threads that are waiting on the queue via the 
+						<samp class="codeph">push</samp> and 
+						<samp class="codeph">pop</samp> operations and raises the 
+						<samp class="codeph">tbb::user_abort</samp> exception on those threads.
+						This feature is unavailable if 
+						<samp class="codeph">TBB_USE_EXCEPTIONS</samp> is not set. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d29901e185 "><span class="keyword">bool try_push( const T& source
+						)</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d29901e188 "> 
+					 <p>If size()<capacity, pushes a copy of source onto back of
+						the queue. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: True if a copy was pushed; false otherwise. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d29901e185 "><span class="keyword">bool try_pop( T& destination
+						)</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d29901e188 "> 
+					 <p>If a value is available, pops it from the queue, assigns it
+						to destination, and destroys the original value. Otherwise does nothing. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: True if a value was popped; false otherwise.
+						
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d29901e185 "><span class="keyword">size_type size() const</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d29901e188 "> 
+					 <p><strong>Returns</strong>: Number of pushes minus number of pops. The
+						result is negative if there are pop operations waiting for corresponding
+						pushes. The result can exceed capacity() if the queue is full and there are
+						push operations waiting for corresponding pops. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d29901e185 "><span class="keyword">bool empty() const</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d29901e188 "> 
+					 <p><strong>Returns</strong>: 
+						<samp class="codeph">size()<=0</samp> 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d29901e185 "><span class="keyword">size_type capacity()
+						const</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d29901e188 "> 
+					 <p><strong>Returns</strong> 
+					 </p>
+ 
+					 <p>Maximum number of values that the queue can hold. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d29901e185 "><span class="keyword">void set_capacity( size_type
+						capacity )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d29901e188 "> 
+					 <p>Sets the maximum number of values that the queue can hold. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+			 </tbody>
+ 
+		  </table>
+</div>
+ 
+		</p>
+ 
+	 </div>
+ 
+  </div>
+ 
+  
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../reference/containers_overview.htm">Containers Overview</a></div>
+</div>
+<div class="See Also">
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="concurrent_queue_cls.htm">concurrent_queue 
+		  </a></div></div>
+</div> 
+
+</body>
+</html>
diff --git a/doc/help/reference/containers_overview/concurrent_hash_map_cls.htm b/doc/help/reference/containers_overview/concurrent_hash_map_cls.htm
new file mode 100755
index 0000000..fc3f7a0
--- /dev/null
+++ b/doc/help/reference/containers_overview/concurrent_hash_map_cls.htm
@@ -0,0 +1,385 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="concurrent_hash_map Template Class">
+<meta name="DC.subject" content="concurrent_hash_map Template Class">
+<meta name="keywords" content="concurrent_hash_map Template Class">
+<meta name="DC.Relation" scheme="URI" content="../../reference/containers_overview.htm">
+<meta name="DC.Relation" scheme="URI" content="../../reference/containers_overview/concurrent_hash_map_cls/whole_table_operations.htm">
+<meta name="DC.Relation" scheme="URI" content="../../reference/containers_overview/concurrent_hash_map_cls/concurrent_access.htm">
+<meta name="DC.Relation" scheme="URI" content="../../reference/containers_overview/concurrent_hash_map_cls/concurrent_operations.htm">
+<meta name="DC.Relation" scheme="URI" content="../../reference/containers_overview/concurrent_hash_map_cls/parallel_iteration_container.htm">
+<meta name="DC.Relation" scheme="URI" content="../../reference/containers_overview/concurrent_hash_map_cls/capacity_map_cls.htm">
+<meta name="DC.Relation" scheme="URI" content="../../reference/containers_overview/concurrent_hash_map_cls/iterators_hash_map_cls.htm">
+<meta name="DC.Relation" scheme="URI" content="../../reference/containers_overview/concurrent_hash_map_cls/global_funcs.htm">
+<meta name="DC.Relation" scheme="URI" content="../../reference/containers_overview/concurrent_hash_map_cls/tbb_hash_compare_cls.htm">
+<meta name="DC.Relation" scheme="URI" content="concurrent_hash_map_cls/concurrent_operations.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="concurrent_hash_map_cls">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../intel_css_styles.css">
+<title>concurrent_hash_map Template Class</title>
+</head>
+<body id="concurrent_hash_map_cls">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(2);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="concurrent_hash_map_cls"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">concurrent_hash_map Template Class</h1>
+ 
+   
+  <div> 
+	 <div class="section"><h2 class="sectiontitle">Summary</h2> 
+		 
+		<p>Template class for associative container with
+		  concurrent access. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Syntax</h2> 
+		 
+		<pre>template < typename Key, typename T, 
+         typename HashCompare=tbb_hash_compare<Key>, 
+         typename A=tbb_allocator<std::pair < Key, T> > >
+         class concurrent_hash_map;
+</pre> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Header</h2> 
+		 
+		<pre>#include "tbb/concurrent_hash_map.h"</pre> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Description</h2> 
+		 
+		<p>A 
+		  <samp class="codeph">concurrent_hash_map</samp> maps keys to values in a way that
+		  permits multiple threads to concurrently access values. The keys are unordered.
+		  There is at most one element in a 
+		  <samp class="codeph">concurrent_hash_map</samp> for each key. The key may have
+		  other elements in flight but not in the map, as described in Concurrent
+		  Operations. The interface resembles typical STL associative containers, but
+		  with some differences critical to supporting concurrent access. It meets the
+		  Container Requirements of the ISO C++ standard. Types 
+		  <samp class="codeph">Key</samp> and 
+		  <samp class="codeph">T</samp> must model the CopyConstructible concept. Type 
+		  <samp class="codeph">HashCompare</samp> specifies how keys are hashed and compared
+		  for equality. It must model the HashCompare concept in the table below. 
+		</p>
+ 
+		
+<div class="tablenoborder"><a name="tbl1"><!-- --></a><table cellpadding="4" summary="" id="tbl1" width="100%" frame="hsides" border="1" rules="all"><caption><span class="tablecap">HashCompare Concept</span></caption> 
+		   
+		   
+		  <thead align="left"> 
+			 <tr> 
+				<th class="cellrowborder" valign="top" width="NaN%" id="d30873e82"> 
+				  <p><strong>Pseudo-Signature</strong> 
+				  </p>
+ 
+				</th>
+ 
+				<th class="row-nocellborder" valign="top" width="NaN%" id="d30873e90"> 
+				  <p><strong>Semantics</strong> 
+				  </p>
+ 
+				</th>
+ 
+			 </tr>
+ 
+		  </thead>
+ 
+		  <tbody> 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="NaN%" headers="d30873e82 "> 
+				  <p><samp class="codeph">HashCompare::HashCompare( const
+						HashCompare& )</samp> 
+				  </p>
+ 
+				</td>
+ 
+				<td class="row-nocellborder" valign="top" width="NaN%" headers="d30873e90 "> 
+				  <p>Copy constructor. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="NaN%" headers="d30873e82 "> 
+				  <p><samp class="codeph">HashCompare::~HashCompare
+						()</samp> 
+				  </p>
+ 
+				</td>
+ 
+				<td class="row-nocellborder" valign="top" width="NaN%" headers="d30873e90 "> 
+				  <p>Destructor. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="NaN%" headers="d30873e82 "> 
+				  <p><samp class="codeph">bool HashCompare::equal( const
+						Key& j, const Key& k ) const 
+					 </samp> 
+				  </p>
+ 
+				</td>
+ 
+				<td class="row-nocellborder" valign="top" width="NaN%" headers="d30873e90 "> 
+				  <p>True if keys are equal. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="NaN%" headers="d30873e82 "> 
+				  <p><samp class="codeph">size_t HashCompare::hash( const
+						Key& k ) const 
+					 </samp> 
+				  </p>
+ 
+				</td>
+ 
+				<td class="row-nocellborder" valign="top" width="NaN%" headers="d30873e90 "> 
+				  <p>Hashcode for key. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+		  </tbody>
+ 
+		</table>
+</div>
+ 
+		<div class="Note"><h3 class="NoteTipHead">
+					Caution</h3> 
+		  <p>As for most hash tables, if two keys are equal,
+			 they must hash to the same hash code. That is for a given HashCompare h and any
+			 two keys 
+			 <samp class="codeph">j 
+			 </samp>and 
+			 <samp class="codeph">k</samp>, the following assertion must hold: 
+			 <samp class="codeph">"!h.equal(j,k) || h.hash(j)==h.hash(k)"</samp>. The
+			 importance of this property is the reason that 
+			 <samp class="codeph">concurrent_hash_map</samp> makes key equality and hashing
+			 function travel together in a single object instead of being separate objects.
+			 The hash code of a key must not change while the hash table is non-empty. 
+		  </p>
+ 
+		</div> 
+		<div class="Note"><h3 class="NoteTipHead">
+					Caution</h3> 
+		  <p>Good performance depends on having good
+			 pseudo-randomness in the low-order bits of the hash code. 
+		  </p>
+ 
+		</div> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Example</h2> 
+		 
+		<p>When keys are pointers, simply casting the pointer to a hash code may
+		  cause poor performance because the low-order bits of the hash code will be
+		  always zero if the pointer points to a type with alignment restrictions. A way
+		  to remove this bias is to divide the casted pointer by the size of the type, as
+		  indicated below in 
+		  <samp class="codeph"><span style="color:blue"><strong><em>bold italic
+					 font</em></strong></span></samp>. 
+		</p>
+ 
+		<pre>
+           size_t MyHashCompare::hash( Key* key ) const {
+            return reinterpret_cast<size_t>(key)<span style="color:blue"><strong><em>/sizeof(Key)</em></strong></span>;        
+           }   
+          </pre> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Members</h2> 
+		
+		<p> In the following synopsis, methods shown in 
+		  <samp class="codeph"><span style="color:blue"><strong>bold font</strong></span></samp>
+		  may be concurrently invoked.
+		</p>
+ 
+		<pre>
+        namespace tbb {
+    template<typename Key, typename T, typename HashCompare, 
+             typename Alloc=tbb_allocator<std::pair<Key,T> > >
+    class concurrent_hash_map {
+    public:
+        <em>// types</em>
+        typedef Key key_type;
+        typedef T mapped_type;
+        typedef std::pair<const Key,T> value_type;
+        typedef size_t size_type;
+        typedef ptrdiff_t difference_type;
+        typedef value_type* pointer;
+        typedef const value_type* const_pointer;
+        typedef value_type& reference;
+        typedef Alloc allocator_type;
+
+        <em>// whole-table operations</em>
+        concurrent_hash_map( 
+            const allocator_type& a=allocator_type() );
+        concurrent_hash_map( 
+            size_type n, 
+            const allocator_type &a = allocator_type() );
+        concurrent_hash_map( 
+            const concurrent_hash_map&, 
+            const allocator_type& a=allocator_type() );
+        template<typename InputIterator>
+            concurrent_hash_map(
+                InputIterator first, InputIterator last, 
+                const allocator_type& a = allocator_type())
+        <em>//C++11 specific</em> 
+        concurrent_hash_map(const std::initializer_list<value_type> &il, const allocator_type &a = allocator_type())
+        ~concurrent_hash_map();
+        concurrent_hash_map operator=(const concurrent_hash_map&);
+        <em>//C++11 specific</em> 
+        concurrent_hash_map operator=(const std::initializer_list<value_type> &il)
+        void rehash( size_type n=0 );
+        void clear();
+        allocator_type get_allocator() const;
+
+        <em>// concurrent access</em>
+        class const_accessor;
+        class accessor;
+
+        <em>// concurrent operations on a table</em>
+        bool <span style="color:blue"><strong>find</strong></span>( const_accessor& result, const Key& key ) const;
+        bool <span style="color:blue"><strong>find</strong></span>( accessor& result, const Key& key );
+        bool <span style="color:blue"><strong>insert</strong></span>( const_accessor& result, const Key& key );
+        bool <span style="color:blue"><strong>insert</strong></span>( accessor& result, const Key& key );
+        bool <span style="color:blue"><strong>insert</strong></span>( const_accessor& result, const value_type& value );
+        bool <span style="color:blue"><strong>insert</strong></span>( accessor& result, const value_type& value );
+        bool <span style="color:blue"><strong>insert</strong></span>( const value_type& value );
+        template<typename I> void insert( I first, I last );
+        bool <span style="color:blue"><strong>erase</strong></span>( const Key& key );
+        bool <span style="color:blue"><strong>erase</strong></span>( const_accessor& item_accessor );
+        bool <span style="color:blue"><strong>erase</strong></span>( accessor& item_accessor );
+
+        <em>// parallel iteration</em>
+        typedef <em>implementation-defined</em> range_type;
+        typedef <em>implementation-defined</em> const_range_type;
+        range_type range( size_t grainsize=1 );
+        const_range_type range( size_t grainsize=1 ) const;
+
+        <em>// capacity</em>
+        size_type size() const;
+        bool empty() const;
+        size_type max_size() const;
+        size_type bucket_count() const;
+
+        <em>// iterators</em>
+        typedef <em>implementation-defined</em> iterator;
+        typedef <em>implementation-defined</em> const_iterator;
+        iterator begin();
+        iterator end();
+        const_iterator begin() const;
+        const_iterator end() const;
+        std::pair<iterator, iterator> equal_range( const Key& key );
+        std::pair<const_iterator, const_iterator> 
+            equal_range( const Key& key ) const;
+    };
+
+    template<typename Key, typename T, typename HashCompare, 
+             typename A1, typename A2>
+    bool operator==(
+        const concurrent_hash_map<Key,T,HashCompare,A1> &a, 
+        const concurrent_hash_map<Key,T,HashCompare,A2> &b);
+
+    template<typename Key, typename T, typename HashCompare, 
+             typename A1, typename A2>
+    bool operator!=(const    
+        concurrent_hash_map<Key,T,HashCompare,A1> &a, 
+        const concurrent_hash_map<Key,T,HashCompare,A2> &b);
+
+    template<typename Key, typename T, typename HashCompare, 
+             typename A>
+    void swap(concurrent_hash_map<Key,T,HashCompare,A>& a,    
+              concurrent_hash_map<Key,T,HashCompare,A>& b)
+}
+</pre> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Exception Safety</h2> 
+		 The following
+		functions must not throw exceptions: 
+		<ul type="disc"> 
+		  <li>The hash function 
+		  </li>
+ 
+		  <li>The destructors for types 
+			 <samp class="codeph">Key</samp> and 
+			 <samp class="codeph">T</samp>. 
+		  </li>
+ 
+		</ul>
+ The following hold true: 
+		<ul type="disc"> 
+		  <li>If an exception happens during an insert operation, the operation
+			 has no effect. 
+		  </li>
+ 
+		  <li>If an exception happens during an assignment operation, the
+			 container may be in a state where only some of the items were assigned, and
+			 methods 
+			 <samp class="codeph">size()</samp> and 
+			 <samp class="codeph">empty()</samp> may return invalid answers. 
+		  </li>
+ 
+		</ul>
+ 
+	 </div>
+ 
+  </div>
+ 
+  
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../reference/containers_overview.htm">Containers Overview</a></div>
+</div>
+<div class="See Also">
+<ul class="ullinks">
+<li class="ulchildlink"><a href="../../reference/containers_overview/concurrent_hash_map_cls/whole_table_operations.htm">Whole Table Operations</a><br>
+</li>
+<li class="ulchildlink"><a href="../../reference/containers_overview/concurrent_hash_map_cls/concurrent_access.htm">Concurrent Access</a><br>
+</li>
+<li class="ulchildlink"><a href="../../reference/containers_overview/concurrent_hash_map_cls/concurrent_operations.htm">Concurrent Operations</a><br>
+</li>
+<li class="ulchildlink"><a href="../../reference/containers_overview/concurrent_hash_map_cls/parallel_iteration_container.htm">Parallel Iteration</a><br>
+</li>
+<li class="ulchildlink"><a href="../../reference/containers_overview/concurrent_hash_map_cls/capacity_map_cls.htm">Capacity</a><br>
+</li>
+<li class="ulchildlink"><a href="../../reference/containers_overview/concurrent_hash_map_cls/iterators_hash_map_cls.htm">Iterators</a><br>
+</li>
+<li class="ulchildlink"><a href="../../reference/containers_overview/concurrent_hash_map_cls/global_funcs.htm">Global Functions</a><br>
+</li>
+<li class="ulchildlink"><a href="../../reference/containers_overview/concurrent_hash_map_cls/tbb_hash_compare_cls.htm">tbb_hash_compare Class</a><br>
+</li>
+</ul>
+
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="concurrent_hash_map_cls/concurrent_operations.htm">Concurrent Operations 
+		  </a></div></div>
+</div> 
+
+</body>
+</html>
diff --git a/doc/help/reference/containers_overview/concurrent_hash_map_cls/capacity_map_cls.htm b/doc/help/reference/containers_overview/concurrent_hash_map_cls/capacity_map_cls.htm
new file mode 100755
index 0000000..d381ba3
--- /dev/null
+++ b/doc/help/reference/containers_overview/concurrent_hash_map_cls/capacity_map_cls.htm
@@ -0,0 +1,133 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="Capacity">
+<meta name="DC.subject" content="Capacity">
+<meta name="keywords" content="Capacity">
+<meta name="DC.Relation" scheme="URI" content="../../../reference/containers_overview/concurrent_hash_map_cls.htm">
+<meta name="DC.Relation" scheme="URI" content="../concurrent_unordered_map_cls/hash_policy_map_cls.htm#hash_policy_map_cls">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="capacity_map_cls">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../../intel_css_styles.css">
+<title>Capacity</title>
+</head>
+<body id="capacity_map_cls">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(3);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="capacity_map_cls"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Capacity</h1>
+ 
+   
+  <div> 
+	 
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"><span class="tabledesc">The following table provides additional information on the members
+		  of this template class. 
+		</span><thead align="left"> 
+			 <tr> 
+				<th class="cellrowborder" valign="top" width="33.89830508474576%" id="d31764e29">Member 
+				</th>
+ 
+				<th class="cellrowborder" valign="top" width="66.10169491525423%" id="d31764e32">Description 
+				</th>
+ 
+			 </tr>
+</thead>
+ 
+		  <tbody> 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d31764e29 "><span class="keyword">size_type size() const</span> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d31764e32 "> 
+				  <p><strong>Returns</strong>: Number of key-value pairs
+					 in the table. 
+				  </p>
+ 
+				  <div class="Note"><h3 class="NoteTipHead">
+					Note</h3> 
+					 <p>This method takes constant time, but is
+						slower than for most STL containers. 
+					 </p>
+ 
+				  </div> 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d31764e29 "><span class="keyword">bool empty() const</span> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d31764e32 "> 
+				  <p><strong>Returns</strong>: 
+					 <samp class="codeph">size()==0.</samp> 
+				  </p>
+ 
+				  <div class="Note"><h3 class="NoteTipHead">
+					Note</h3> 
+					 <p>This method takes constant time, but is
+						slower than for most STL containers. 
+					 </p>
+ 
+				  </div> 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d31764e29 "><span class="keyword">size_type max_size() const</span>
+				  
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d31764e32 "> 
+				  <p><strong>Returns</strong>: Inclusive upper bound on
+					 number of key-value pairs that the table can hold. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d31764e29 "><span class="keyword">size_type bucket_count()
+					 const</span> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d31764e32 "> 
+				  <p><strong>Returns</strong>: Current number of internal
+					 buckets. See method 
+					 <samp class="codeph">rehash</samp> for discussion of buckets. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+		  </tbody>
+ 
+		</table>
+</div>
+ 
+  </div>
+ 
+  
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../../reference/containers_overview/concurrent_hash_map_cls.htm">concurrent_hash_map Template Class</a></div>
+</div>
+<div class="See Also">
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="../concurrent_unordered_map_cls/hash_policy_map_cls.htm#hash_policy_map_cls">Hash Policy 
+		  </a></div></div>
+</div>
+
+</body>
+</html>
diff --git a/doc/help/reference/containers_overview/concurrent_hash_map_cls/concurrent_access.htm b/doc/help/reference/containers_overview/concurrent_hash_map_cls/concurrent_access.htm
new file mode 100755
index 0000000..6c692de
--- /dev/null
+++ b/doc/help/reference/containers_overview/concurrent_hash_map_cls/concurrent_access.htm
@@ -0,0 +1,413 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="Concurrent Access">
+<meta name="DC.subject" content="Concurrent Access">
+<meta name="keywords" content="Concurrent Access">
+<meta name="DC.Relation" scheme="URI" content="../../../reference/containers_overview/concurrent_hash_map_cls.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="concurrent_access">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../../intel_css_styles.css">
+<title>Concurrent Access</title>
+</head>
+<body id="concurrent_access">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(3);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="concurrent_access"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Concurrent Access</h1>
+ 
+   
+  <div> 
+	 <div class="section"> 
+		<p>Member classes 
+		  <samp class="codeph">const_accessor</samp> and 
+		  <samp class="codeph">accessor</samp> are called 
+		  <em>accessors</em>. Accessors allow multiple threads to concurrently
+		  access pairs in a shared 
+		  <samp class="codeph">concurrent_hash_map</samp>. An 
+		  <em>accessor</em> acts as a smart pointer to a pair in a 
+		  <samp class="codeph">concurrent_hash_map</samp>. It holds an implicit lock on a
+		  pair until the instance is destroyed or method 
+		  <samp class="codeph">release</samp> is called on the accessor. 
+		</p>
+ 
+		<p>Classes 
+		  <samp class="codeph">const_accessor</samp> and 
+		  <samp class="codeph">accessor</samp> differ in the kind of access that they
+		  permit. 
+		</p>
+ 
+		<p></p>
+ 
+		
+<div class="tablenoborder"><table cellpadding="4" summary="" width="100%" frame="hsides" border="1" rules="all"><caption><span class="tablecap">Differences Between const_accessor and
+		  accessor</span></caption> 
+		   
+		   
+		   
+		  <thead align="left"> 
+			 <tr> 
+				<th class="cellrowborder" valign="top" width="NaN%" id="d32112e72"> 
+				  <p>Class 
+				  </p>
+ 
+				</th>
+ 
+				<th class="cellrowborder" valign="top" width="NaN%" id="d32112e78"> 
+				  <p><samp class="codeph">value_type</samp> 
+				  </p>
+ 
+				</th>
+ 
+				<th class="row-nocellborder" valign="top" width="NaN%" id="d32112e86"> 
+				  <p>Implied Lock on 
+					 <samp class="codeph">pair</samp> 
+				  </p>
+ 
+				</th>
+ 
+			 </tr>
+ 
+		  </thead>
+ 
+		  <tbody> 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="NaN%" headers="d32112e72 "> 
+				  <p><samp class="codeph">const_accessor</samp> 
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="NaN%" headers="d32112e78 "> 
+				  <p><samp class="codeph">const std::pair<const
+						Key,T></samp> 
+				  </p>
+ 
+				</td>
+ 
+				<td class="row-nocellborder" valign="top" width="NaN%" headers="d32112e86 "> 
+				  <p>Reader lock – permits shared access with
+					 other readers. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="NaN%" headers="d32112e72 "> 
+				  <p><samp class="codeph">accessor</samp> 
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="NaN%" headers="d32112e78 "> 
+				  <p><samp class="codeph">std::pair<const
+						Key,T></samp> 
+				  </p>
+ 
+				</td>
+ 
+				<td class="row-nocellborder" valign="top" width="NaN%" headers="d32112e86 "> 
+				  <p>Writer lock – permits exclusive access by a
+					 thread. Blocks access by other threads. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+		  </tbody>
+ 
+		</table>
+</div>
+ 
+		<p>Accessors cannot be assigned or copy-constructed,
+		  because allowing such would greatly complicate the locking semantics. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle"><samp class="codeph">const_accessor</samp></h2> 
+		 
+		<p><strong>Summary</strong> 
+		</p>
+ 
+		<p>Provides read-only access to a pair in a 
+		  <samp class="codeph">concurrent_hash_map</samp>. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Syntax</h2> 
+		 
+		<pre>template<typename Key, typename T, typename HashCompare, typename A> 
+class concurrent_hash_map<Key,T,HashCompare,A>::const_accessor;</pre> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Header</h2> 
+		 
+		<pre>#include "tbb/concurrent_hash_map.h"</pre> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Description</h2> 
+		 
+		<p>A 
+		  <samp class="codeph">const_accessor</samp> permits read-only access to a key-value
+		  pair in a 
+		  <samp class="codeph">concurrent_hash_map</samp>. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Members</h2> 
+		 
+		<pre>namespace tbb {
+        template<typename Key, typename T, typename HashCompare, typename A>
+        class concurrent_hash_map<Key,T,HashCompare,A>::const_accessor {
+        public:
+            // types
+            typedef const std::pair<const Key,T> value_type;
+     
+            // construction and destruction
+            const_accessor();
+            ~const_accessor();
+            
+            // inspection
+            bool empty() const;
+            const value_type& operator*() const;
+            const value_type* operator->() const;
+     
+            // early release
+            void release();
+        }; 
+    }</pre> 
+		
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"><span class="tabledesc">The following table provides additional information on the
+			 members of this template class. 
+		  </span><thead align="left"> 
+				<tr> 
+				  <th class="cellrowborder" valign="top" width="33.89830508474576%" id="d32112e228">Member 
+				  </th>
+ 
+				  <th class="cellrowborder" valign="top" width="66.10169491525423%" id="d32112e231">Description 
+				  </th>
+ 
+				</tr>
+</thead>
+ 
+			 <tbody> 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d32112e228 "><span class="keyword">bool empty() const</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d32112e231 "> 
+					 <p><strong>Returns</strong>: True if instance points
+						to nothing; false if instance points to a key-value pair. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d32112e228 "><span class="keyword">void release()</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d32112e231 "> 
+					 <p>If 
+						<samp class="codeph">!empty()</samp>, releases the implied lock on the
+						pair, and sets instance to point to nothing. Otherwise does nothing. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d32112e228 "><span class="keyword">const value_type& operator*()
+						const</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d32112e231 "> 
+					 <p>Raises assertion failure if 
+						<samp class="codeph">empty()</samp> and 
+						<samp class="codeph">TBB_USE_ASSERT</samp> is defined as nonzero. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: Const reference to
+						key-value pair. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d32112e228 "><span class="keyword">const value_type* operator->()
+						const</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d32112e231 "> 
+					 <p><strong>Returns</strong>: 
+						<samp class="codeph">&operator*()</samp> 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d32112e228 "><span class="keyword">const_accessor()</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d32112e231 "> 
+					 <p>Constructs 
+						<samp class="codeph">const_accessor</samp> that points to nothing. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d32112e228 "><span class="keyword">~const_accessor</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d32112e231 "> 
+					 <p>If pointing to key-value pair, releases
+						the implied lock on the pair. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+			 </tbody>
+ 
+		  </table>
+</div>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle"><samp class="codeph">accessor</samp></h2> 
+		 
+		<p><strong>Summary</strong> 
+		</p>
+ 
+		<p> Class that provides read and write access to a
+		  pair in a 
+		  <samp class="codeph">concurrent_hash_map</samp>. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Syntax</h2>
+		
+		<pre> template<typename Key, typename T, typename HashCompare,
+    typename Alloc>
+ class concurrent_hash_map<Key,T,HashCompare,A>::accessor;</pre>
+	 </div>
+
+	 <div class="section"><h2 class="sectiontitle">Header</h2> 
+		 
+		<pre>#include "tbb/concurrent_hash_map.h"</pre> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Description</h2> 
+		 
+		<p>An 
+		  <samp class="codeph">accessor</samp> permits read and write access to a key-value
+		  pair in a 
+		  <samp class="codeph">concurrent_hash_map</samp>. It is derived from a 
+		  <samp class="codeph">const_accessor</samp>, and thus can be implicitly cast to a 
+		  <samp class="codeph">const_accessor</samp>. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Members</h2> 
+		 
+		<pre>namespace tbb {
+        template<typename Key, typename T, typename HashCompare, typename Alloc>
+        class concurrent_hash_map<Key,T,HashCompare,Alloc>::accessor:
+            concurrent_hash_map<Key,T,HashCompare,Alloc>::const_accessor {
+        public:
+            typedef std::pair<const Key,T> value_type;
+            value_type& operator*() const;
+            value_type* operator->() const;
+        };
+    }</pre> 
+		
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"><span class="tabledesc">The following table provides additional information on the
+			 members of this template class. 
+		  </span><thead align="left"> 
+				<tr> 
+				  <th class="cellrowborder" valign="top" width="33.89830508474576%" id="d32112e427">Member 
+				  </th>
+ 
+				  <th class="cellrowborder" valign="top" width="66.10169491525423%" id="d32112e430">Description 
+				  </th>
+ 
+				</tr>
+</thead>
+ 
+			 <tbody> 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d32112e427 "><span class="keyword">value_type& operator*()
+						const</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d32112e430 "> 
+					 <p>Raises assertion failure if 
+						<samp class="codeph">empty()</samp> and 
+						<samp class="codeph">TBB_USE_ASSERT</samp> is defined as non-zero. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: Reference to key-value
+						pair. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d32112e427 "><span class="keyword">value_type* operator->()
+						const</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d32112e430 "> 
+					 <p><strong>Returns</strong>: 
+						<samp class="codeph">&operator*()</samp> 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+			 </tbody>
+ 
+		  </table>
+</div>
+ 
+	 </div>
+ 
+  </div>
+ 
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../../reference/containers_overview/concurrent_hash_map_cls.htm">concurrent_hash_map Template Class</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/reference/containers_overview/concurrent_hash_map_cls/concurrent_operations.htm b/doc/help/reference/containers_overview/concurrent_hash_map_cls/concurrent_operations.htm
new file mode 100755
index 0000000..cf7dfe0
--- /dev/null
+++ b/doc/help/reference/containers_overview/concurrent_hash_map_cls/concurrent_operations.htm
@@ -0,0 +1,474 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="Concurrent Operations">
+<meta name="DC.subject" content="TestMetaData">
+<meta name="keywords" content="TestMetaData">
+<meta name="DC.Relation" scheme="URI" content="../../../reference/containers_overview/concurrent_hash_map_cls.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="concurrent_operations">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../../intel_css_styles.css">
+<title>Concurrent Operations</title>
+</head>
+<body id="concurrent_operations">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(3);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="concurrent_operations"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Concurrent Operations </h1>
+ 
+  
+  
+  <div>
+	 <div class="section">
+		<p>The operations 
+		  <samp class="codeph">count</samp>, 
+		  <samp class="codeph">find</samp>, 
+		  <samp class="codeph">insert</samp>, and 
+		  <samp class="codeph">erase</samp> are the only operations that may be concurrently
+		  invoked on the same 
+		  <samp class="codeph">concurrent_hash_map</samp>. These operations search the table
+		  for a key-value pair that matches a given key. The 
+		  <samp class="codeph">find</samp> and 
+		  <samp class="codeph">insert</samp> methods each have two variants. One takes a 
+		  <samp class="codeph">const_accessor</samp> argument and provides read-only access
+		  to the desired key-value pair. The other takes an accessor argument and
+		  provides write access. Additionally, 
+		  <samp class="codeph">insert</samp> has a variant without any accessor. 
+		</p>
+ 
+		<div class="Note"><h3 class="NoteTipHead">
+					Caution</h3>
+		  <p> The concurrent operations
+			 (<samp class="codeph">count</samp>, 
+			 <samp class="codeph">find</samp>, 
+			 <samp class="codeph">insert</samp>, and 
+			 <samp class="codeph">erase</samp>) invalidate any iterators pointing into the
+			 affected instance even with a 
+			 <samp class="codeph">const</samp> qualifier. It is unsafe to use these
+			 operations concurrently with any other operation. An exception to this rule is
+			 that 
+			 <samp class="codeph">count</samp> and 
+			 <samp class="codeph">find</samp> do not invalidate iterators if no insertions or
+			 erasures have occurred after the most recent call to method 
+			 <samp class="codeph">rehash</samp>.
+		  </p>
+
+		</div> 
+		<div class="Note"><h3 class="NoteTipHead">
+					Tip</h3>
+		  <p>In serial code, use the 
+			 <samp class="codeph">equal_range</samp> method instead of the 
+			 <samp class="codeph">find</samp> method for lookup, since 
+			 <samp class="codeph">equal_range</samp> is faster and does not invalidate
+			 iterators.
+		  </p>
+
+		</div> 
+		<div class="Note"><h3 class="NoteTipHead">
+					Tip</h3>
+		  <p>If the 
+			 <samp class="codeph">nonconst</samp> variant succeeds in finding the key, the
+			 consequent write access blocks any other thread from accessing the key until
+			 the accessor object is destroyed. Where possible, use the const variant to
+			 improve concurrency.
+		  </p>
+
+		</div> 
+		<p>Each map operation in this section returns true if
+		  the operation succeeds, false otherwise.
+		</p>
+ 
+		<div class="Note"><h3 class="NoteTipHead">
+					Caution</h3>
+		  <p>Though there can be at most one occurrence of a
+			 given key in the map, there may be other key-value pairs in flight with the
+			 same key. These arise from the semantics of the 
+			 <samp class="codeph">insert</samp> and 
+			 <samp class="codeph">erase</samp> methods. The 
+			 <samp class="codeph">insert</samp> methods can create and destroy a temporary
+			 key-value pair that is not inserted into a map. The erase methods remove a
+			 key-value pair from the map before destroying it, thus permitting another
+			 thread to construct a similar key before the old one is destroyed.
+		  </p>
+
+		</div> 
+		<div class="Note"><h3 class="NoteTipHead">
+					Tip</h3>
+		  <p>To guarantee that only one instance of a resource
+			 exists simultaneously for a given key, use the following technique:
+		  </p>
+ 
+		  <ul type="disc"> 
+			 <li>
+				<p>To construct the resource: Obtain an 
+				  <samp class="codeph">accessor</samp> to the key in the map before
+				  constructing the resource. 
+				</p>
+
+			 </li>
+ 
+			 <li>
+				<p>To destroy the resource: Obtain an 
+				  <samp class="codeph">accessor</samp> to the key, destroy the resource, and
+				  then erase the key using the accessor. 
+				</p>
+
+			 </li>
+ 
+		  </ul>
+
+		</div> 
+		<p>Below is a sketch of how this can be done. 
+		</p>
+
+		<pre>        extern tbb::concurrent_hash_map<Key,Resource,HashCompare> Map;
+ 
+    void ConstructResource( Key key ) {
+           accessor acc;
+           if( Map.insert(acc,key) ) {
+                   // Current thread inserted key and has exclusive access.
+                   <em>...construct the resource here...</em>
+           }
+           // Implicit destruction of acc releases lock
+    }
+  
+    void DestroyResource( Key key ) {
+           accessor acc;
+           if( Map.find(acc,key) ) {
+                   // Current thread found key and has exclusive access.
+                   <em>...destroy the resource here...</em>
+                   // Erase key using accessor.
+                   Map.erase(acc);
+           }
+    }</pre>
+		
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"><span class="tabledesc">The following table provides additional information on the
+			 members of this template class. 
+		  </span><thead align="left"> 
+				<tr> 
+				  <th class="cellrowborder" valign="top" width="33.89830508474576%" id="d33398e180">Member 
+				  </th>
+ 
+				  <th class="cellrowborder" valign="top" width="66.10169491525423%" id="d33398e183">Description 
+				  </th>
+ 
+				</tr>
+</thead>
+ 
+			 <tbody> 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d33398e180 "><span class="keyword">size_type count( const Key&
+						key ) const</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d33398e183 ">
+					 <div class="Note"><h3 class="NoteTipHead">
+					Caution</h3>
+						<p>This method may invalidate previously
+						  obtained iterators. In serial code, you can use 
+						  <samp class="codeph">equal_range</samp> that does not have such
+						  problems.
+						</p>
+
+					 </div>
+					 <p><strong>Returns</strong>: 1 if map contains key; 0
+						otherwise.
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d33398e180 "><span class="keyword">bool find( const_accessor&
+						result, const Key& key ) const</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d33398e183 ">
+					 <p>Searches table for pair with given key.
+						If key is found, sets result to provide read-only access to the matching pair.
+					 </p>
+
+					 <div class="Note"><h3 class="NoteTipHead">
+					Caution</h3>
+						<p>This method may invalidate previously
+						  obtained iterators. In serial code, you can use 
+						  <samp class="codeph">equal_range</samp> that does not have such
+						  problems.
+						</p>
+
+					 </div> 
+					 <p><strong>Returns</strong>: True if key was found;
+						false if key was not found.
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d33398e180 "><span class="keyword">bool find( accessor& result,
+						const Key& key )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d33398e183 ">
+					 <p>Searches table for pair with given key.
+						If key is found, sets result to provide write access to the matching pair 
+					 </p>
+
+					 <div class="Note"><h3 class="NoteTipHead">
+					Caution</h3>
+						<p>This method may invalidate previously
+						  obtained iterators. In serial code, you can use 
+						  <samp class="codeph">equal_range</samp> that does not have such
+						  problems.
+						</p>
+
+					 </div>
+					 <p><strong>Returns</strong>: True if key was found;
+						false if key was not found.
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d33398e180 "><span class="keyword">bool insert( const_accessor&
+						result, const Key& key )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d33398e183 ">
+					 <p>Searches table for pair with given key.
+						If not present, inserts new 
+						<samp class="codeph">pair(key,T())</samp> into the table. Sets 
+						<samp class="codeph"><em>result</em></samp> to provide read-only access to
+						the matching pair.
+					 </p>
+ 
+					 <p><strong>Returns</strong> True if new pair was
+						inserted; false if key was already in the map.
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d33398e180 "><span class="keyword">bool insert( accessor& result,
+						const Key& key )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d33398e183 ">
+					 <p>Searches table for pair with given key.
+						If not present, inserts new 
+						<samp class="codeph">pair(key,T())</samp> into the table. Sets 
+						<samp class="codeph"><em>result</em></samp> to provide write access to the
+						matching pair.
+					 </p>
+ 
+					 <p><strong>Returns</strong>: True if new pair was
+						inserted; false if key was already in the map.
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d33398e180 "><span class="keyword">bool insert( const_accessor&
+						result, const value_type& value )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d33398e183 ">
+					 <p>Searches table for pair with given key.
+						If not present, inserts new pair copy-constructed from 
+						<em>value</em> into the table. Sets 
+						<em>result</em> to provide read-only access to the matching
+						pair.
+					 </p>
+ 
+					 <p><strong>Returns</strong>: True if new pair was
+						inserted; false if key was already in the map.
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d33398e180 "><span class="keyword">bool insert( accessor& result,
+						const value_type& value )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d33398e183 ">
+					 <p>Searches table for pair with given key.
+						If not present, inserts new pair copy-constructed from 
+						<samp class="codeph"><em>value</em></samp> into the table. Sets 
+						<samp class="codeph"><em>result</em></samp> to provide write access to the
+						matching pair.
+					 </p>
+ 
+					 <p><strong>Returns</strong>
+					 </p>
+ 
+					 <p>True if new pair was inserted; false if
+						key was already in the map.
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d33398e180 "><span class="keyword">bool insert( const value_type&
+						value )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d33398e183 ">
+					 <p>Searches table for pair with given key.
+						If not present, inserts new pair copy-constructed from 
+						<samp class="codeph"><em>value</em></samp> into the table. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: True if new pair was
+						inserted; false if key was already in the map.
+					 </p>
+
+					 <div class="Note"><h3 class="NoteTipHead">
+					Tip</h3>
+						<p> If you do not need to access the data after insertion,
+						  use the form of insert that does not take an accessor; it may work faster and
+						  use fewer locks.
+						</p>
+
+					 </div> 
+				  </td>
+ 
+				</tr>
+
+				<tr>
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d33398e180 "><span class="keyword">template<typename
+						InputIterator> void insert( InputIterator first, InputIterator last
+						)</span> 
+				  </td>
+
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d33398e183 ">
+					 <p>For each pair 
+						<samp class="codeph"><em>p</em></samp> in the half-open interval
+						[<samp class="codeph"><em>first,last</em></samp>), does 
+						<samp class="codeph">insert(<em>p</em>)</samp>. The order of the
+						insertions, or whether they are done concurrently, is unspecified.
+					 </p>
+ 
+					 <div class="Note"><h3 class="NoteTipHead">
+					Caution</h3>
+						<p>The current implementation processes
+						  the insertions in order. Future implementations may do the insertions
+						  concurrently. If duplicate keys exist in [<samp class="codeph"><em>first,last</em></samp>),
+						  be careful to not depend on their insertion order.
+						</p>
+
+					 </div>
+				  </td>
+
+				</tr>
+
+				<tr>
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d33398e180 "><span class="keyword">bool erase( const Key& key
+						)</span> 
+				  </td>
+
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d33398e183 ">
+					 <p>Searches table for pair with given key.
+						Removes the matching pair if it exists. If there is an accessor pointing to the
+						pair, the pair is nonetheless removed from the table but its destruction is
+						deferred until all accessors stop pointing to it.
+					 </p>
+ 
+					 <p><strong>Returns</strong>: True if pair was removed
+						by the call; false if key was not found in the map.
+					 </p>
+
+				  </td>
+
+				</tr>
+
+				<tr>
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d33398e180 "><span class="keyword">bool erase( const_accessor&
+						item_accessor )</span> 
+				  </td>
+
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d33398e183 ">
+					 <p><strong>Requirements</strong>: 
+						<samp class="codeph"><em>item_accessor</em>.empty()==false</samp>
+					 </p>
+ 
+					 <p><strong>Effects</strong>
+					 </p>
+ 
+					 <p>Removes pair referenced by 
+						<samp class="codeph"><em>item_accessor</em></samp>.  If there is another <span class="keyword">const_accessor</span> 
+                        pointing to the <span class="keyword">pair</span>, the <span class="keyword">pair</span> is nonetheless 
+                        removed from the table but its destruction is deferred until all <span class="keyword">accessors</span> 
+                        stop pointing to it.  Concurrent insertion of the same key creates a new <span class="keyword">pair</span> 
+                        in the table, which can temporarily co-exist with the one being destroyed.
+					 </p>
+ 
+					 <p><strong>Returns</strong>: True if pair was removed
+						by this thread; false if pair was removed by another thread.
+					 </p>
+
+				  </td>
+
+				</tr>
+
+				<tr>
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d33398e180 "><span class="keyword">bool erase( accessor&
+						item_accessor )</span> 
+				  </td>
+
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d33398e183 ">
+					 <p><strong>Requirements</strong>: 
+						<samp class="codeph"><em>item_accessor</em>.empty()==false</samp>
+					 </p>
+ 
+					 <p><strong>Effects</strong> Removes pair referenced by
+						<samp class="codeph"><em>item_accessor</em></samp> from the table and destroys it. 
+                        Concurrent insertion of the same key creates a new <span class="keyword">pair</span> 
+                        in the table, which can temporarily co-exist with the one being destroyed.
+					 </p>
+ 
+					 <p><strong>Returns</strong>: True if pair was removed
+						by this thread; false if pair was removed by another thread.
+					 </p>
+
+				  </td>
+
+				</tr>
+ 
+			 </tbody>
+ 
+		  </table>
+</div>
+
+	 </div>
+ 
+  </div>
+ 
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../../reference/containers_overview/concurrent_hash_map_cls.htm">concurrent_hash_map Template Class</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/reference/containers_overview/concurrent_hash_map_cls/global_funcs.htm b/doc/help/reference/containers_overview/concurrent_hash_map_cls/global_funcs.htm
new file mode 100755
index 0000000..f89497c
--- /dev/null
+++ b/doc/help/reference/containers_overview/concurrent_hash_map_cls/global_funcs.htm
@@ -0,0 +1,114 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="Global Functions">
+<meta name="DC.subject" content="Global Functions">
+<meta name="keywords" content="Global Functions">
+<meta name="DC.Relation" scheme="URI" content="../../../reference/containers_overview/concurrent_hash_map_cls.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="global_funcs">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../../intel_css_styles.css">
+<title>Global Functions</title>
+</head>
+<body id="global_funcs">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(3);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="global_funcs"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Global Functions</h1>
+ 
+   
+  <div> 
+	 <div class="section"> 
+		<p>These functions in namespace 
+		  <samp class="codeph">tbb</samp> improve the STL compatibility of 
+		  <samp class="codeph">concurrent_hash_map</samp>. 
+		</p>
+ 
+		
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"><thead align="left"> 
+				<tr> 
+				  <th class="cellrowborder" valign="top" width="52.38095238095239%" id="d34799e37">Member 
+				  </th>
+ 
+				  <th class="cellrowborder" valign="top" width="47.61904761904761%" id="d34799e40">Description 
+				  </th>
+ 
+				</tr>
+</thead>
+ 
+			 <tbody> 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="52.38095238095239%" headers="d34799e37 "><span class="keyword">template<typename Key, typename
+						T, typename HashCompare, typename A1, typename A2> bool operator==( const
+						concurrent_hash_map<Key,T,HashCompare,A1>& a, const
+						concurrent_hash_map<Key,T,HashCompare,A2>& b);</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="47.61904761904761%" headers="d34799e40 "> 
+					 <p><strong>Returns</strong>: True if<samp class="codeph">a</samp>
+						and 
+						<samp class="codeph">b</samp> contain equal sets of keys and for each
+						pair<samp class="codeph"> (k,v<sub>1</sub>)<span>∈</span></samp>a and 
+						<samp class="codeph">(k,v<sub>2</sub>)<span>∈</span>b</samp>, the expression<samp class="codeph"> bool(v<sub>1</sub>==v<sub>2</sub>)</samp> is true. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="52.38095238095239%" headers="d34799e37 "><span class="keyword">template<typename Key, typename
+						T, typename HashCompare, typename A1, typename A2> bool operator!=(const
+						concurrent_hash_map<Key,T,HashCompare,A1> &a, const
+						concurrent_hash_map<Key,T,HashCompare,A2> &b);</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="47.61904761904761%" headers="d34799e40 "> 
+					 <p><strong>Returns</strong>: 
+						<samp class="codeph">!(a==b)</samp> 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="52.38095238095239%" headers="d34799e37 "><span class="keyword">template<typename Key, typename
+						T, typename HashCompare, typename A> void swap(concurrent_hash_map<Key,
+						T, HashCompare, A> &a, concurrent_hash_map<Key, T, HashCompare, A>
+						&b)</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="47.61904761904761%" headers="d34799e40 "> 
+					 <p><samp class="codeph">a.swap(b)</samp> 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+			 </tbody>
+ 
+		  </table>
+</div>
+ 
+	 </div>
+ 
+  </div>
+
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../../reference/containers_overview/concurrent_hash_map_cls.htm">concurrent_hash_map Template Class</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/reference/containers_overview/concurrent_hash_map_cls/iterators_hash_map_cls.htm b/doc/help/reference/containers_overview/concurrent_hash_map_cls/iterators_hash_map_cls.htm
new file mode 100755
index 0000000..bea213e
--- /dev/null
+++ b/doc/help/reference/containers_overview/concurrent_hash_map_cls/iterators_hash_map_cls.htm
@@ -0,0 +1,192 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="Iterators">
+<meta name="DC.subject" content="Iterators">
+<meta name="keywords" content="Iterators">
+<meta name="DC.Relation" scheme="URI" content="../../../reference/containers_overview/concurrent_hash_map_cls.htm">
+<meta name="DC.Relation" scheme="URI" content="../concurrent_unordered_map_cls.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="iterators_hash_map_cls">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../../intel_css_styles.css">
+<title>Iterators</title>
+</head>
+<body id="iterators_hash_map_cls">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(3);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="iterators_hash_map_cls"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Iterators</h1>
+ 
+   
+  <div> 
+	 <div class="section"> 
+		<p>Template class 
+		  <samp class="codeph">concurrent_hash_map</samp> supports forward iterators; that
+		  is, iterators that can advance only forwards across a table. Reverse iterators
+		  are not supported. Concurrent operations (<samp class="codeph">count</samp>, 
+		  <samp class="codeph">find</samp>, 
+		  <samp class="codeph">insert</samp>, and 
+		  <samp class="codeph">erase</samp>) invalidate any existing iterators that point
+		  into the table, An exception to this rule is that 
+		  <samp class="codeph">count</samp> and 
+		  <samp class="codeph">find</samp> do not invalidate iterators if no insertions or
+		  erasures have occurred after the most recent call to method 
+		  <samp class="codeph">rehash</samp>. 
+		</p>
+ 
+		<div class="Note"><h3 class="NoteTipHead">
+					Note</h3> 
+		  <p>Do not call concurrent operations, including 
+			 <samp class="codeph">count</samp> and 
+			 <samp class="codeph">find</samp> while iterating the table. Use 
+			 <samp class="codeph">concurrent_unordered_map</samp> if concurrent traversal and
+			 insertion are required. 
+		  </p>
+ 
+		</div> 
+		
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"><span class="tabledesc">The following table provides additional information on the
+			 members of this template class. 
+		  </span><thead align="left"> 
+				<tr> 
+				  <th class="cellrowborder" valign="top" width="33.89830508474576%" id="d35160e74">Member 
+				  </th>
+ 
+				  <th class="cellrowborder" valign="top" width="66.10169491525423%" id="d35160e77">Description 
+				  </th>
+ 
+				</tr>
+</thead>
+ 
+			 <tbody> 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d35160e74 "><span class="keyword">iterator begin()</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d35160e77 "> 
+					 <p><strong>Returns</strong>: 
+						<samp class="codeph">iterator</samp> pointing to beginning of key-value
+						sequence. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d35160e74 "><span class="keyword">iterator end()</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d35160e77 "> 
+					 <p><strong>Returns</strong> 
+					 </p>
+ 
+					 <p><samp class="codeph">iterator</samp> pointing to end
+						of key-value sequence. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d35160e74 "><span class="keyword">const_iterator begin()
+						const</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d35160e77 "> 
+					 <p><strong>Returns</strong>: 
+						<samp class="codeph">const_iterator</samp> pointing to the beginning of
+						key-value sequence. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d35160e74 "><span class="keyword">const_iterator end()
+						const</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d35160e77 "> 
+					 <p><strong>Returns</strong>: 
+						<samp class="codeph">const_iterator</samp> pointing to the end of
+						key-value sequence. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d35160e74 "><span class="keyword">std::pair<iterator,
+						iterator> equal_range( const Key& key );</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d35160e77 "> 
+					 <p><strong>Returns</strong>: Pair of iterators 
+						<samp class="codeph">(<em>i,j</em>)</samp> such that the half-open range 
+						<samp class="codeph">[<em>i,j</em>)</samp> contains all pairs in the map
+						(and only such pairs) with keys equal to 
+						<samp class="codeph">key</samp>. Because the map has no duplicate keys,
+						the half-open range is either empty or contains a single pair. 
+					 </p>
+
+					 <div class="Note"><h3 class="NoteTipHead">
+					Tip</h3> 
+						<p>This method is serial alternative to concurrent 
+						  <samp class="codeph">count</samp> and 
+						  <samp class="codeph">find</samp> methods. 
+						</p>
+ 
+					 </div> 
+				  </td>
+ 
+				</tr>
+
+				<tr>
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d35160e74 "><span class="keyword">std::pair<const_iterator,
+						const_iterator> equal_range( const Key& key ) const;</span>
+				  </td>
+
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d35160e77 ">
+					 <p>See 
+						<samp class="codeph">std::pair<iterator, iterator> equal_range(
+						  const Key& key )</samp>. 
+					 </p>
+ 
+				  </td>
+
+				</tr>
+ 
+			 </tbody>
+ 
+		  </table>
+</div>
+ 
+	 </div>
+ 
+  </div>
+ 
+  
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../../reference/containers_overview/concurrent_hash_map_cls.htm">concurrent_hash_map Template Class</a></div>
+</div>
+<div class="See Also">
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="../concurrent_unordered_map_cls.htm">concurrent_unordered_map 
+		  </a></div></div>
+</div> 
+
+</body>
+</html>
diff --git a/doc/help/reference/containers_overview/concurrent_hash_map_cls/parallel_iteration_container.htm b/doc/help/reference/containers_overview/concurrent_hash_map_cls/parallel_iteration_container.htm
new file mode 100755
index 0000000..7ccc580
--- /dev/null
+++ b/doc/help/reference/containers_overview/concurrent_hash_map_cls/parallel_iteration_container.htm
@@ -0,0 +1,121 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="Parallel Iteration">
+<meta name="DC.subject" content="Parallel Iteration">
+<meta name="keywords" content="Parallel Iteration">
+<meta name="DC.Relation" scheme="URI" content="../../../reference/containers_overview/concurrent_hash_map_cls.htm">
+<meta name="DC.Relation" scheme="URI" content="../concurrent_unordered_map_cls.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="parallel_literation_container">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../../intel_css_styles.css">
+<title>Parallel Iteration</title>
+</head>
+<body id="parallel_literation_container">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(3);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="parallel_literation_container"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Parallel Iteration</h1>
+ 
+  
+  <div>
+	 <div class="section">
+		<p>Types 
+		  <samp class="codeph">const_range_type</samp> and 
+		  <samp class="codeph">range_type</samp> model the Container Range concept. The
+		  types differ only in that the bounds for a 
+		  <samp class="codeph">const_range_type</samp> are of type 
+		  <samp class="codeph">const_iterator</samp>, whereas the bounds for a 
+		  <samp class="codeph">range_type</samp> are of type iterator.
+		</p>
+
+		<div class="Note"><h3 class="NoteTipHead">
+					Note</h3>
+		  <p>Do not call concurrent operations, including 
+			 <samp class="codeph">count</samp> and 
+			 <samp class="codeph">find</samp> while iterating the table. Use 
+			 <samp class="codeph">concurrent_unordered_map</samp> if concurrent traversal and
+			 insertion are required.
+		  </p>
+
+		</div>
+		
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"><span class="tabledesc">The following table provides additional information on the
+			 members of this template class. 
+		  </span><thead align="left"> 
+				<tr> 
+				  <th class="cellrowborder" valign="top" width="33.89830508474576%" id="d35770e64">Member 
+				  </th>
+ 
+				  <th class="cellrowborder" valign="top" width="66.10169491525423%" id="d35770e67">Description 
+				  </th>
+ 
+				</tr>
+</thead>
+ 
+			 <tbody> 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d35770e64 "><span class="keyword">const_range_type range( size_t
+						grainsize=1 ) const</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d35770e67 "> 
+					 <p>Constructs a 
+						<samp class="codeph">const_range_type</samp> representing all keys in
+						the table. The parameter 
+						<samp class="codeph">grainsize</samp> is in units of hash table buckets.
+						Each bucket typically has on average about one key-value pair.
+					 </p>
+ 
+					 <p><strong>Returns</strong>: 
+						<samp class="codeph">const_range_type</samp> object for the table. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d35770e64 "><span class="keyword">range_type range( size_t
+						grainsize=1 )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d35770e67 "> 
+					 <p><strong>Returns</strong>: 
+						<samp class="codeph">range_type</samp> object for the table.
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+			 </tbody>
+ 
+		  </table>
+</div>
+
+	 </div>
+ 
+  </div>
+ 
+  
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../../reference/containers_overview/concurrent_hash_map_cls.htm">concurrent_hash_map Template Class</a></div>
+</div>
+<div class="See Also">
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="../concurrent_unordered_map_cls.htm">concurrent_unordered_map
+		  </a></div></div>
+</div>
+
+</body>
+</html>
diff --git a/doc/help/reference/containers_overview/concurrent_hash_map_cls/tbb_hash_compare_cls.htm b/doc/help/reference/containers_overview/concurrent_hash_map_cls/tbb_hash_compare_cls.htm
new file mode 100755
index 0000000..826fa07
--- /dev/null
+++ b/doc/help/reference/containers_overview/concurrent_hash_map_cls/tbb_hash_compare_cls.htm
@@ -0,0 +1,105 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="tbb_hash_compare Class">
+<meta name="DC.subject" content="tbb_hash_compare Class">
+<meta name="keywords" content="tbb_hash_compare Class">
+<meta name="DC.Relation" scheme="URI" content="../../../reference/containers_overview/concurrent_hash_map_cls.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="tbb_hash_compare_cls">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../../intel_css_styles.css">
+<title>tbb_hash_compare Class</title>
+</head>
+<body id="tbb_hash_compare_cls">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(3);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="tbb_hash_compare_cls"><!-- --></a>
+
+
+    <h1 class="topictitle1">tbb_hash_compare Class</h1>
+
+    
+<div><div class="section"><h2 class="sectiontitle">Summary</h2>
+        
+            <p>Default <samp class="codeph">HashCompare</samp> for
+                    <samp class="codeph">concurrent_hash_map</samp>.</p>
+
+            </div>
+<div class="section"><h2 class="sectiontitle">Syntax</h2>
+            <p><pre>template<typename Key> struct tbb_hash_compare;</pre></p>
+
+            </div>
+<div class="section"><h2 class="sectiontitle">Header</h2>
+            <p><pre>#include "tbb/concurrent_hash_map.h"</pre></p>
+
+            </div>
+<div class="section"><h2 class="sectiontitle">Description</h2>
+            <p>A <samp class="codeph">tbb_hash_compare<Key></samp> is the default for
+                the <samp class="codeph">HashCompare</samp> argument of template class<samp class="codeph">
+                    concurrent_hash_map</samp>. The built-in definition relies on
+                    <samp class="codeph">operator==</samp> and <samp class="codeph">tbb_hasher</samp> as shown in the
+                Members description. For your own types, you can define a template specialization of
+                    <samp class="codeph">tbb_hash_compare</samp> or define an overload of
+                    <samp class="codeph">tbb_hasher</samp>.</p>
+
+                <p>There are built-in definitions of <samp class="codeph">tbb_hasher</samp> for the following Key types:</p>
+
+            <ul type="disc">
+                <li><p>Types that are convertible to a <samp class="codeph">size_t</samp> by <samp class="codeph">static_cast<T></samp></p>
+</li>
+
+                <li><p>Pointer types</p>
+</li>
+
+                <li><p><samp class="codeph">std::basic_string</samp></p>
+</li>
+
+                <li><p><samp class="codeph">std::pair<<em>K1,K2</em>></samp> where
+                            <samp class="codeph"><em>K1</em></samp> and <samp class="codeph"><em>K2</em></samp> are hashed
+                        using <samp class="codeph">tbb_hasher</samp>.</p>
+</li>
+
+            </ul>
+
+            </div>
+<div class="section"><h2 class="sectiontitle">Members</h2>
+<pre> namespace tbb {
+        template<typename Key>
+        struct tbb_hash_compare {
+            static size_t hash(const Key& a) {
+                return tbb_hasher(a);
+            }
+            static bool equal(const Key& a, const Key& b) {
+                return a==b;
+            }
+        };
+     
+        template<typename T> 
+        size_t tbb_hasher(const T&);
+     
+        template<typename T> 
+        size_t tbb_hasher(T*);
+     
+        template<typename T, typename Traits, typename Alloc>
+        size_t tbb_hasher(const std::basic_string<T, Traits,Alloc>&);
+     
+        template<typename T1, typename T2>
+        size_t tbb_hasher(const std::pair<T1,T2>& );
+            };</pre>
+            </div>
+</div>
+
+    
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../../reference/containers_overview/concurrent_hash_map_cls.htm">concurrent_hash_map Template Class</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/reference/containers_overview/concurrent_hash_map_cls/whole_table_operations.htm b/doc/help/reference/containers_overview/concurrent_hash_map_cls/whole_table_operations.htm
new file mode 100755
index 0000000..4110d25
--- /dev/null
+++ b/doc/help/reference/containers_overview/concurrent_hash_map_cls/whole_table_operations.htm
@@ -0,0 +1,300 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="Whole Table Operations">
+<meta name="DC.subject" content="Whole Table Operations">
+<meta name="keywords" content="Whole Table Operations">
+<meta name="DC.Relation" scheme="URI" content="../../../reference/containers_overview/concurrent_hash_map_cls.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="whole_table_operations">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../../intel_css_styles.css">
+<title>Whole Table Operations</title>
+</head>
+<body id="whole_table_operations">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(3);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="whole_table_operations"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Whole Table Operations</h1>
+ 
+  
+  <div> 
+	 <div class="section">
+		<p>These operations affect an entire table. Do not
+		  concurrently invoke them on the same table.
+		</p>
+
+		
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"><span class="tabledesc">The following table provides additional information on the
+			 members of this template class. 
+		  </span><thead align="left"> 
+				<tr> 
+				  <th class="cellrowborder" valign="top" width="33.89830508474576%" id="d36398e34">Member 
+				  </th>
+ 
+				  <th class="cellrowborder" valign="top" width="66.10169491525423%" id="d36398e37">Description 
+				  </th>
+ 
+				</tr>
+</thead>
+ 
+			 <tbody> 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d36398e34 "><span class="keyword">concurrent_hash_map( const
+						allocator_type& a = allocator_type()  )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d36398e37 ">
+					 <p>Constructs empty table.
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d36398e34 "><span class="keyword">concurrent_hash_map( size_type n,
+						const allocator_type& a = allocator_type() )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d36398e37 ">
+					 <p>Constructs empty table with preallocated
+						buckets for at least 
+						<samp class="codeph"><em>n</em></samp> items.
+					 </p>
+ 
+					 <div class="Note"><h3 class="NoteTipHead">
+					Note</h3>
+						<p>In general, thread contention for
+						  buckets is inversely related to the number of buckets. If memory consumption is
+						  not an issue and 
+						  <em>P</em> threads will be accessing the 
+						  <samp class="codeph">concurrent_hash_map</samp>, set 
+						  <samp class="codeph"><em>n</em>>=4P</samp>. 
+						</p>
+
+					 </div> 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d36398e34 "><span class="keyword">concurrent_hash_map( const
+						concurrent_hash_map& table, const allocator_type& a = allocator_type()
+						)</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d36398e37 ">
+					 <p>Copies a table. The table being copied
+						may have 
+						<samp class="codeph">const</samp> operations running on it concurrently.
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d36398e34 "><span class="keyword">template<typename 
+						InputIterator> concurrent_hash_map( InputIterator first, InputIterator
+						last,  const allocator_type& a = allocator_type() )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d36398e37 ">
+					 <p>Constructs table containing copies of
+						elements in the iterator half-open interval [<em>first,last</em>).
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+
+                <tr> 
+                  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d36398e34 "><span class="keyword">concurrent_hash_map(
+                        const std::initializer_list<value_type> &il
+                        , const allocator_type &a = allocator_type() )</span> 
+                  </td>
+ 
+                  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d36398e37 ">
+                     <p>C++11 specific; Equivalent to 
+                        <samp class="codeph">concurrent_hash_map(<em>il</em>.begin(), 
+                          <em>il</em>.end(), 
+                          <em>a</em>)</samp>.
+                     </p>
+ 
+                  </td>
+ 
+                </tr>
+ 
+				 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d36398e34 "><span class="keyword">~concurrent_hash_map()</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d36398e37 ">
+					 <p>Invokes 
+						<samp class="codeph">clear()</samp>. This method is not safe to execute
+						concurrently with other methods on the same 
+						<samp class="codeph">concurrent_hash_map</samp>.
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d36398e34 "><span class="keyword">concurrent_hash_map& operator=
+						( concurrent_hash_map& source )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d36398e37 ">
+					 <p>If source and destination
+						(<samp class="codeph">this</samp>) table are distinct, clears the destination table and
+						copies all key-value pairs from the source table to the destination table.
+						Otherwise, does nothing.
+					 </p>
+ 
+					 <p><strong>Returns</strong>
+					 </p>
+ 
+					 <p>Reference to the destination table.
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+
+                <tr> 
+                  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d36398e34 "><span class="keyword">concurrent_hash_map& operator=
+                        ( const std::initializer_list<value_type> &il )</span> 
+                  </td>
+ 
+                  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d36398e37 ">
+                     <p>C++11 specific; Sets 
+                        <samp class="codeph">*<em>this</em></samp> 
+                        to contain data from
+                        <samp class="codeph">il</samp>.
+                     </p>
+ 
+                     <p><strong>Returns</strong>
+                     </p>
+ 
+                     <p>Reference to the destination table.
+                     </p>
+ 
+                  </td>
+ 
+                </tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d36398e34 "><span class="keyword">void swap(
+						concurrent_hash_map& table )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d36398e37 ">
+					 <p>Swaps contents and allocators of 
+						<samp class="codeph">this</samp> and 
+						<samp class="codeph">table</samp>.
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d36398e34 "><span class="keyword">void rehash( size_type n=0
+						)</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d36398e37 ">
+					 <p>Internally, the table is partitioned into
+						buckets. Method 
+						<samp class="codeph">rehash</samp> reorgnizes these internal buckets in
+						a way that may improve performance of future lookups. Raises number of internal
+						buckets to 
+						<samp class="codeph"><em>n</em></samp> if 
+						<samp class="codeph"><em>n</em>>0</samp> and 
+						<samp class="codeph"><em>n</em></samp> exceeds the current number of
+						buckets.
+					 </p>
+ 
+					 <div class="Note"><h3 class="NoteTipHead">
+					Caution</h3>
+						<p>The current implementation never
+						  reduces the number of buckets. A future implementation might reduce the number
+						  of buckets if 
+						  <samp class="codeph"><em>n</em></samp> is less than the current number
+						  of buckets.
+						</p>
+
+					 </div> 
+					 <div class="Note"><h3 class="NoteTipHead">
+					Note</h3>
+						<p>The ratio of items to buckets affects
+						  time and space usage by a table. A high ratio saves space at the expense of
+						  time. A low ratio does the opposite. The default ratio is 0.5 to 1 items per
+						  bucket on average.
+						</p>
+
+					 </div> 
+				  </td>
+ 
+				</tr>
+
+				<tr>
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d36398e34 "><span class="keyword">void clear()</span>
+				  </td>
+
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d36398e37 ">
+					 <p>Erases all key-value pairs from the
+						table. Does not hash or compare any keys.
+					 </p>
+
+					 <p>If 
+						<samp class="codeph">TBB_USE_PERFORMANCE_WARNINGS</samp> is nonzero,
+						issues a performance warning if the randomness of the hashing is poor enough to
+						significantly impact performance. 
+					 </p>
+ 
+				  </td>
+
+				</tr>
+
+				<tr>
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d36398e34 "><span class="keyword">allocator_type get_allocator()
+						const</span>
+				  </td>
+
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d36398e37 ">
+					 <p><strong>Returns</strong>: Copy of allocator used to
+						construct table.
+					 </p>
+
+				  </td>
+
+				</tr>
+ 
+			 </tbody>
+ 
+		  </table>
+</div>
+
+	 </div>
+ 
+  </div>
+ 
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../../reference/containers_overview/concurrent_hash_map_cls.htm">concurrent_hash_map Template Class</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/reference/containers_overview/concurrent_priority_queue_cls.htm b/doc/help/reference/containers_overview/concurrent_priority_queue_cls.htm
new file mode 100755
index 0000000..9e99c21
--- /dev/null
+++ b/doc/help/reference/containers_overview/concurrent_priority_queue_cls.htm
@@ -0,0 +1,573 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="concurrent_priority_queue Template Class">
+<meta name="DC.subject" content="concurrent_priority_queue Template Class">
+<meta name="keywords" content="concurrent_priority_queue Template Class">
+<meta name="DC.Relation" scheme="URI" content="../../reference/containers_overview.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="concurrent_priority_queue_cls">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../intel_css_styles.css">
+<title>concurrent_priority_queue Template Class</title>
+</head>
+<body id="concurrent_priority_queue_cls">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(2);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="concurrent_priority_queue_cls"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">concurrent_priority_queue Template
+	 Class</h1>
+ 
+   
+  <div> 
+	 <div class="section"><h2 class="sectiontitle">Summary</h2> 
+		 
+		<p>Template class for priority queue with concurrent
+		  operations. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Syntax</h2> 
+		 
+		<p> 
+		  <pre>template<typename T, typename Alloc=cache_aligned_allocator<T> > class concurrent_priority_queue;</pre> 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Header</h2> 
+		 
+		<p> 
+		  <pre>#include "tbb/concurrent_priority_queue.h"</pre> 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Description</h2> 
+		 
+		<p>A 
+		  <samp class="codeph">concurrent_priority_queue</samp> is a container that permits
+		  multiple threads to concurrently push and pop items. Items are popped in
+		  priority order as determined by a template parameter. The capacity of the queue
+		  is unbounded, subject to memory limitations on the target machine. 
+		</p>
+ 
+		<p>The interface is similar to STL 
+		  <samp class="codeph">std::priority_queue</samp> except where it must differ to
+		  make concurrent modification safe. 
+		</p>
+ 
+		
+<div class="tablenoborder"><table cellpadding="4" summary="" width="100%" frame="hsides" border="1" rules="all"><caption><span class="tablecap">Differences Between STL queue and Intel®
+		  Threading Building Blocks concurrent_priority_queue</span></caption> 
+		   
+		   
+		   
+		  <thead align="left"> 
+			 <tr> 
+				<th class="cellrowborder" valign="top" width="NaN%" id="d37381e84"> 
+				  <p>Feature 
+				  </p>
+ 
+				</th>
+ 
+				<th class="cellrowborder" valign="top" width="NaN%" id="d37381e90"> 
+				  <p>STL std::priority_queue 
+				  </p>
+ 
+				</th>
+ 
+				<th class="row-nocellborder" valign="top" width="NaN%" id="d37381e96"> 
+				  <p>concurrent_priority_queue 
+				  </p>
+ 
+				</th>
+ 
+			 </tr>
+ 
+		  </thead>
+ 
+		  <tbody> 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="NaN%" headers="d37381e84 "> 
+				  <p>Choice of underlying container 
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="NaN%" headers="d37381e90 "> 
+				  <p>Sequence template parameter 
+				  </p>
+ 
+				</td>
+ 
+				<td class="row-nocellborder" valign="top" width="NaN%" headers="d37381e96 "> 
+				  <p>No choice of underlying container;
+					 allocator choice is provided instead 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="NaN%" headers="d37381e84 "> 
+				  <p>Access to highest priority item 
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="NaN%" headers="d37381e90 "> 
+				  <p><samp class="codeph">const value_type& top()
+						const</samp> 
+				  </p>
+ 
+				</td>
+ 
+				<td class="row-nocellborder" valign="top" width="NaN%" headers="d37381e96 "> 
+				  <p>Not available. Unsafe for concurrent
+					 container 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="NaN%" headers="d37381e84 "> 
+				  <p>Copy and pop item if present 
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="NaN%" headers="d37381e90 "> 
+				  <p><samp class="codeph">bool b=!q.empty(); if(b) {
+						x=q.top(); q.pop(); }</samp> 
+				  </p>
+ 
+				</td>
+ 
+				<td class="row-nocellborder" valign="top" width="NaN%" headers="d37381e96 "> 
+				  <p><samp class="codeph">bool b = q.try_pop(x);</samp> 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="NaN%" headers="d37381e84 "> 
+				  <p>Get number of items in queue 
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="NaN%" headers="d37381e90 "> 
+				  <p><samp class="codeph">size_type size() const</samp> 
+				  </p>
+ 
+				</td>
+ 
+				<td class="row-nocellborder" valign="top" width="NaN%" headers="d37381e96 "> 
+				  <p>Same, but may be inaccurate due to pending
+					 concurrent push or pop operations 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="NaN%" headers="d37381e84 "> 
+				  <p>Check if there are items in queue 
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="NaN%" headers="d37381e90 "> 
+				  <p><samp class="codeph">bool empty() const</samp> 
+				  </p>
+ 
+				</td>
+ 
+				<td class="row-nocellborder" valign="top" width="NaN%" headers="d37381e96 "> 
+				  <p>Same, but may be inaccurate due to pending concurrent push or
+					 pop operations 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+		  </tbody>
+ 
+		</table>
+</div>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Members</h2> 
+		 
+		<pre>namespace tbb {
+  template <typename T, typename Compare=std::less<T>,   
+            typename A=cache_aligned_allocator<T> >
+  class concurrent_priority_queue {
+    typedef T value_type;
+    typedef T& reference;
+    typedef const T& const_reference;
+    typedef size_t size_type;
+    typedef ptrdiff_t difference_type;
+    typedef A allocator_type;
+
+    //Constructors
+    concurrent_priority_queue(const allocator_type& a = allocator_type());  
+    concurrent_priority_queue(size_type init_capacity, const allocator_type& a = allocator_type());
+    template<typename InputIterator>
+    concurrent_priority_queue(InputIterator begin, InputIterator end, const allocator_type& a = allocator_type());
+    concurrent_priority_queue(const concurrent_priority_queue& src, const allocator_type& a = allocator_type());
+    //C++11 specific 
+    concurrent_priority_queue(const std::initializer_list<T> & il, const allocator_type &a = allocator_type());
+    
+    //Assignment
+    concurrent_priority_queue& operator=(const concurrent_priority_queue& src);
+    template<typename InputIterator>
+    void assign(InputIterator begin, InputIterator end);
+    //C++11 specific 
+    concurrent_priority_queue& operator=(const std::initializer_list<T> & il);
+    void assign(const std::initializer_list<T> & il);
+
+    void swap(concurrent_priority_queue& other);
+    
+    ~concurrent_priority_queue();
+
+    allocator_type get_allocator() const;
+    
+    bool empty() const;
+    size_type size() const;
+    
+    void push(const_reference elem);
+    bool try_pop(reference elem);
+    
+    void clear();
+  };
+}
+</pre> 
+		<div class="Note"><h3 class="NoteTipHead">
+					Note</h3> 
+		  <p>In Intel® Threading Building Blocks (Intel® TBB) 2.1, a 
+			 <samp class="codeph">concurrent_queue</samp> could be bounded. Intel® TBB 2.2
+			 moves this functionality to 
+			 <samp class="codeph">concurrent_bounded_queue</samp>. Compile with 
+			 <samp class="codeph">TBB_DEPRECATED=1</samp> to restore the old functionality,
+			 or (recommended) use 
+			 <samp class="codeph">concurrent_bounded_queue</samp> instead. 
+		  </p>
+ 
+		</div> 
+		
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"><span class="tabledesc">The following table provides additional information on the
+			 members of this template class. 
+		  </span><thead align="left"> 
+				<tr> 
+				  <th class="cellrowborder" valign="top" width="33.89830508474576%" id="d37381e263">Member 
+				  </th>
+ 
+				  <th class="cellrowborder" valign="top" width="66.10169491525423%" id="d37381e266">Description 
+				  </th>
+ 
+				</tr>
+</thead>
+ 
+			 <tbody> 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d37381e263 "><span class="keyword">concurrent_priority_queue(const
+						allocator_type& a = allocator_type())</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d37381e266 "> 
+					 <p>Constructs empty queue. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d37381e263 "><span class="keyword">concurrent_priority_queue(size_type init_capacity,
+						const allocator_type& a = allocator_type())</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d37381e266 "> 
+					 <p>Constructs an empty queue with an initial capacity. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d37381e263 "><span class="keyword">template <typename InputIterator> concurrent_priority_queue(InputIterator begin,
+						InputIterator end, const allocator_type& a = allocator_type())</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d37381e266 "> 
+					 <p>Constructs a queue containing copies of elements in the
+						iterator half-open interval 
+						<samp class="codeph">[begin, end)</samp>. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+                <tr> 
+                  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d37381e263 "><span class="keyword">concurrent_priority_queue(const std::initializer_list<T> & il,
+                     const allocator_type &a = allocator_type())</span> 
+                  </td>
+ 
+                  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d37381e266 "> 
+                     <p>C++11 specific; Equivalent to <samp class="codeph">concurrent_priority_queue(<em>il</em>.begin(), <em>il</em>.end(), <em>a</em>)</samp>. 
+                     </p>
+ 
+                  </td>
+ 
+                </tr>
+ 				
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d37381e263 "><span class="keyword">concurrent_priority_queue (const
+						concurrent_priority_queue& src, const allocator_type& a =
+						allocator_type())</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d37381e266 "> 
+					 <p>Constructs a copy of 
+						<samp class="codeph">src</samp>. This operation is not thread-safe and
+						may result in an error or an invalid copy of 
+						<samp class="codeph">src</samp> if another thread is concurrently
+						modifying 
+						<samp class="codeph">src.</samp> 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d37381e263 "><span class="keyword">concurrent_priority_queue&
+						operator=(const concurrent_priority_queue& src)</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d37381e266 "> 
+					 <p>Assign contents of 
+						<samp class="codeph">src</samp> to 
+						<samp class="codeph">*this</samp>. This operation is not thread-safe and
+						may result in an error or an invalid copy of 
+						<samp class="codeph">src</samp> if another thread is concurrently
+						modifying 
+						<samp class="codeph">src</samp>. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+                <tr> 
+                  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d37381e263 "><span class="keyword">concurrent_priority_queue&
+                        operator=(const std::initializer_list<T> & il)</span> 
+                  </td>
+ 
+                  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d37381e266 "> 
+                     <p>C++11 specific; Sets 
+                        <samp class="codeph">*<em>this</em></samp> 
+                        to contain data from
+                        <samp class="codeph">il</samp>. 
+                        <strong>Returns</strong>: reference to <samp class="codeph">*this</samp>.
+                     </p>
+ 
+                  </td>
+ 
+                </tr>
+
+                <tr> 
+                  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d37381e263 "><span class="keyword">template <typename InputIterator> void assign(InputIterator begin,
+                        InputIterator end, const allocator_type&)</span> 
+                  </td>
+ 
+                  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d37381e266 "> 
+                     <p>Assign contents of the
+                        iterator half-open interval 
+                        <samp class="codeph">[begin, end)</samp> to <samp class="codeph">*this</samp>. 
+                     </p>
+ 
+                  </td>
+ 
+                </tr>
+ 
+                <tr> 
+                  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d37381e263 "><span class="keyword">void assign(const std::initializer_list<T> & il)</span> 
+                  </td>
+ 
+                  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d37381e266 "> 
+                     <p>C++11 specific; Equivalent to <samp class="codeph">assign(<em>il</em>.begin(), <em>il</em>.end())</samp>. 
+                     </p>
+ 
+                  </td>
+ 
+                </tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d37381e263 "><span class="keyword">~concurrent_priority_queue()</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d37381e266 "> 
+					 <p>Destroys all items in the queue, and the container itself,
+						so that it can no longer be used. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d37381e263 "><span class="keyword">bool empty() const</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d37381e266 "> 
+					 <p><strong>Returns</strong>: 
+						<samp class="codeph">true</samp> if queue has no items; 
+						<samp class="codeph">false</samp> otherwise. May be inaccurate when
+						concurrent 
+						<samp class="codeph">push</samp> or 
+						<samp class="codeph">try_pop</samp> operations are pending. This
+						operation reads shared data and may trigger a race condition in race detection
+						tools when used concurrently. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d37381e263 "><span class="keyword">size_type size() const</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d37381e266 "> 
+					 <p><strong>Returns</strong>: Number of items in the queue. May be
+						inaccurate when concurrent 
+						<samp class="codeph">push</samp> or 
+						<samp class="codeph">try_pop</samp> operations are pending. This
+						operation reads shared data and may trigger a race condition in race detection
+						tools when used concurrently. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d37381e263 "><span class="keyword">void push(const_reference
+						elem)</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d37381e266 "> 
+					 <p>Pushes a copy of 
+						<samp class="codeph">elem</samp> into the queue. This operation is
+						thread-safe with other 
+						<samp class="codeph">push</samp> and 
+						<samp class="codeph">try_pop</samp> operations. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d37381e263 "><span class="keyword"> bool try_pop(reference
+						elem)</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d37381e266 "> 
+					 <p>If the queue is not empty, copies the highest priority item
+						from the queue and assigns it to 
+						<samp class="codeph">elem</samp>, and destroys the popped item in the
+						queue; otherwise, does nothing. This operation is thread-safe with other 
+						<samp class="codeph">push</samp> and 
+						<samp class="codeph">try_pop</samp> operations. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: 
+						<samp class="codeph">true</samp> if an item was popped; 
+						<samp class="codeph">false</samp> otherwise. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d37381e263 "><span class="keyword"> void clear()</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d37381e266 "> 
+					 <p>Clears the queue; results in 
+						<samp class="codeph">size()==0</samp>. This operation is not
+						thread-safe. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d37381e263 "><span class="keyword"> void
+						swap(concurrent_priority_queue& other)</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d37381e266 "> 
+					 <p>Swaps the queue contents with those of other. This operation
+						is not thread-safe. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d37381e263 "><span class="keyword"> allocator_type get_allocator()
+						const</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d37381e266 "> 
+					 <p><strong>Returns</strong>: Copy of allocator used to construct the
+						queue. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+			 </tbody>
+ 
+		  </table>
+</div>
+ 
+	 </div>
+ 
+  </div>
+ 
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../reference/containers_overview.htm">Containers Overview</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/reference/containers_overview/concurrent_queue_cls.htm b/doc/help/reference/containers_overview/concurrent_queue_cls.htm
new file mode 100755
index 0000000..0495bbe
--- /dev/null
+++ b/doc/help/reference/containers_overview/concurrent_queue_cls.htm
@@ -0,0 +1,572 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="concurrent_queue Template Class">
+<meta name="DC.subject" content="concurrent_queue Template Class">
+<meta name="keywords" content="concurrent_queue Template Class">
+<meta name="DC.Relation" scheme="URI" content="../../reference/containers_overview.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="concurrent_queue_cls">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../intel_css_styles.css">
+<title>concurrent_queue Template Class</title>
+</head>
+<body id="concurrent_queue_cls">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(2);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="concurrent_queue_cls"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">concurrent_queue Template Class</h1>
+ 
+   
+  <div> 
+	 <div class="section"><h2 class="sectiontitle">Summary</h2> 
+		 
+		<p>Template class for queue with concurrent
+		  operations. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Syntax</h2> 
+		 
+		<p> 
+		  <pre>template<typename T, typename Alloc=cache_aligned_allocator<T> > class concurrent_queue;</pre> 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Header</h2> 
+		 
+		<p> 
+		  <pre>#include "tbb/concurrent_queue.h"</pre> 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Description</h2> 
+		 
+		<p>A 
+		  <samp class="codeph">concurrent_queue</samp> is a first-in first-out data
+		  structure that permits multiple threads to concurrently push and pop items. Its
+		  capacity is unbounded, subject to memory limitations on the target machine. 
+		</p>
+ 
+		<p>The interface is similar to STL 
+		  <samp class="codeph">std::queue</samp> except where it must differ to make
+		  concurrent modification safe. 
+		</p>
+ 
+		<p> 
+		</p>
+ 
+		
+<div class="tablenoborder"><table cellpadding="4" summary="" width="100%" frame="hsides" border="1" rules="all"><caption><span class="tablecap">Differences Between STL queue and Intel®
+		  Threading Building Blocks concurrent_queue</span></caption> 
+		   
+		   
+		   
+		  <thead align="left"> 
+			 <tr> 
+				<th class="cellrowborder" valign="top" width="NaN%" id="d39293e87"> 
+				  <p><strong>Feature</strong> 
+				  </p>
+ 
+				</th>
+ 
+				<th class="cellrowborder" valign="top" width="NaN%" id="d39293e95"> 
+				  <p><strong>STL std::queue</strong> 
+				  </p>
+ 
+				</th>
+ 
+				<th class="row-nocellborder" valign="top" width="NaN%" id="d39293e103"> 
+				  <p><strong>concurrent_queue</strong> 
+				  </p>
+ 
+				</th>
+ 
+			 </tr>
+ 
+		  </thead>
+ 
+		  <tbody> 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="NaN%" headers="d39293e87 "> 
+				  <p>Access to front and back 
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="NaN%" headers="d39293e95 "> 
+				  <p>Methods 
+					 <samp class="codeph">front</samp> and 
+					 <samp class="codeph">back</samp> 
+				  </p>
+ 
+				</td>
+ 
+				<td class="row-nocellborder" valign="top" width="NaN%" headers="d39293e103 "> 
+				  <p>Not present. They would be unsafe while
+					 concurrent operations are in progress. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="NaN%" headers="d39293e87 "> 
+				  <p><samp class="codeph">size_type</samp> 
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="NaN%" headers="d39293e95 "> 
+				  <p>unsigned integral type 
+				  </p>
+ 
+				</td>
+ 
+				<td class="row-nocellborder" valign="top" width="NaN%" headers="d39293e103 "> 
+				  <p><samp class="codeph"><em>signed</em></samp> integral
+					 type 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="NaN%" headers="d39293e87 "> 
+				  <p><samp class="codeph">unsafe_size()</samp> 
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="NaN%" headers="d39293e95 "> 
+				  <p>Returns number of items in queue 
+				  </p>
+ 
+				</td>
+ 
+				<td class="row-nocellborder" valign="top" width="NaN%" headers="d39293e103 "> 
+				  <p>Returns number of items in queue. May
+					 return incorrect value if any 
+					 <samp class="codeph">push</samp> or 
+					 <samp class="codeph">try_pop</samp> operations are concurrently in flight.
+					 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="NaN%" headers="d39293e87 "> 
+				  <p>Copy and pop item unless queue q is empty. 
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="NaN%" headers="d39293e95 "> 
+				  <p>bool b=!q.empty(); 
+				  </p>
+ 
+				  <p>if(b) { 
+				  </p>
+ 
+				  <p>    x=q.front(); 
+				  </p>
+ 
+				  <p>    q.pop(); 
+				  </p>
+ 
+				  <p>} 
+				  </p>
+ 
+				</td>
+ 
+				<td class="row-nocellborder" valign="top" width="NaN%" headers="d39293e103 "> 
+				  <p>bool b = 
+					 <em>q</em>.try_pop (x) 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+		  </tbody>
+ 
+		</table>
+</div>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Members</h2> 
+		 
+		<pre>namespace tbb {
+                    template<typename T, 
+                 typename Alloc=cache_aligned_allocator<T> >
+        class concurrent_queue {
+        public:
+            <em>// types</em>
+            typedef T value_type;
+            typedef T& reference;
+            typedef const T& const_reference;
+            typedef std::ptrdiff_t size_type;
+            typedef std::ptrdiff_t difference_type;
+            typedef Alloc allocator_type;
+     
+            explicit concurrent_queue(const Alloc& a = Alloc ());
+            concurrent_queue(const concurrent_queue& src,
+                             const Alloc& a = Alloc());
+            template<typename InputIterator>
+            concurrent_queue(InputIterator first, InputIterator last,
+                             const Alloc& a = Alloc());
+            ~concurrent_queue();
+     
+            void push( const T& source );
+            bool try_pop T& destination );
+            void clear() ;
+     
+            size_type unsafe_size() const;
+            bool empty() const;
+            Alloc get_allocator() const;
+     
+            typedef implementation-defined iterator;
+            typedef implementation-defined const_iterator;
+     
+            // iterators (these are slow and intended only for debugging)
+            iterator unsafe_begin();
+            iterator unsafe_end();
+            const_iterator unsafe_begin() const;
+            const_iterator unsafe_end() const;
+        };
+    }</pre> 
+		<p>In Intel® Threading Building Blocks (Intel® TBB) 2.1, a 
+		  <samp class="codeph">concurrent_queue</samp> could be bounded. Intel® TBB 2.2
+		  moves this functionality to 
+		  <samp class="codeph">concurrent_bounded_queue</samp>. Compile with 
+		  <samp class="codeph">TBB_DEPRECATED=1</samp> to restore the old functionality, or
+		  (recommended) use 
+		  <samp class="codeph">concurrent_bounded_queue</samp> instead. 
+		</p>
+ 
+		
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"><span class="tabledesc">The following table provides additional information on the
+			 members of this template class. 
+		  </span><thead align="left"> 
+				<tr> 
+				  <th class="cellrowborder" valign="top" width="33.89830508474576%" id="d39293e275">Member 
+				  </th>
+ 
+				  <th class="cellrowborder" valign="top" width="66.10169491525423%" id="d39293e278">Description 
+				  </th>
+ 
+				</tr>
+</thead>
+ 
+			 <tbody> 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d39293e275 "><span class="keyword">concurrent_queue( const Alloc&
+						a = Alloc () )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d39293e278 "> 
+					 <p>Constructs empty queue. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d39293e275 "><span class="keyword">concurrent_queue( const
+						concurrent_queue& src, const Alloc& a = Alloc() )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d39293e278 "> 
+					 <p>Constructs a copy of 
+						<em>src</em>. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d39293e275 "><span class="keyword">template<typename
+						InputIterator> concurrent_queue( InputIterator first, InputIterator last,
+						const Alloc& a = Alloc() )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d39293e278 "> 
+					 <p>Constructs a queue containing copies of elements in the
+						iterator half-open interval [<em>first,last</em>). 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d39293e275 "><span class="keyword">~concurrent_queue()</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d39293e278 "> 
+					 <p>Destroys all items in the queue. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d39293e275 "><span class="keyword">void push( const T& source
+						)</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d39293e278 "> 
+					 <p>Pushes a copy of 
+						<samp class="codeph">source</samp> onto back of the queue. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d39293e275 "><span class="keyword">bool try_pop ( T& destination
+						)</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d39293e278 "> 
+					 <p>If value is available, pops it from the queue, assigns it to
+						destination, and destroys the original value. Otherwise does nothing. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: True if value was popped; false otherwise. 
+					 </p>
+ 
+					 <div class="Note"><h3 class="NoteTipHead">
+					Note</h3> 
+						<p><samp class="codeph">try_pop</samp> was called 
+						  <samp class="codeph">pop_if_present</samp> in Intel® TBB 2.1. Compile
+						  with 
+						  <samp class="codeph">TBB_DEPRECATED=1</samp> to use the old name. 
+						</p>
+ 
+					 </div> 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d39293e275 "><span class="keyword">void clear()</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d39293e278 "> 
+					 <p>Clears the queue. Afterwards 
+						<samp class="codeph">size()==0</samp>. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d39293e275 "><span class="keyword">size_type unsafe_size()
+						const</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d39293e278 "> 
+					 <p><strong>Returns</strong> 
+					 </p>
+ 
+					 <p>Number of items in the queue. If there are concurrent
+						modifications in flight, the value might not reflect the actual number of items
+						in the queue. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d39293e275 "><span class="keyword">bool empty() const</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d39293e278 "> 
+					 <p><strong>Returns</strong>: 
+						<samp class="codeph">true</samp> if queue has no items; false otherwise.
+						
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d39293e275 "><span class="keyword">Alloc get_allocator()
+						const</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d39293e278 "> 
+					 <p><strong>Returns</strong>: Copy of allocator used to construct the
+						queue. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+			 </tbody>
+ 
+		  </table>
+</div>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Iterators</h2> 
+		 
+		<p>A 
+		  <samp class="codeph">concurrent_queue</samp> provides limited iterator support
+		  that is intended solely to allow programmers to inspect a queue during
+		  debugging. It provides iterator and const_iterator types. Both follow the usual
+		  STL conventions for forward iterators. The iteration order is from least
+		  recently pushed to most recently pushed. Modifying a 
+		  <samp class="codeph">concurrent_queue</samp> invalidates any iterators that
+		  reference it. 
+		</p>
+ 
+		<div class="Note"><h3 class="NoteTipHead">
+					Caution</h3> 
+		  <p>The iterators are relatively slow. They should be used only for
+			 debugging. 
+		  </p>
+ 
+		</div> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Example</h2> 
+		 
+		<p>The following program builds a queue with the integers 0..9, and then
+		  dumps the queue to standard output. Its overall effect is to print 0 1 2 3 4 5
+		  6 7 8 9. 
+		</p>
+ 
+		<pre>#include "tbb/concurrent_queue.h"
+#include <iostream>
+ 
+using namespace std;
+using namespace tbb;
+ 
+int main() {
+    concurrent_queue<int> queue;
+    for( int i=0; i<10; ++i )
+        queue.push(i);
+    typedef concurrent_queue<int>::iterator iter;
+    for(iter i(queue.unsafe_begin()); i!=queue.unsafe_end(); ++i)
+        cout << *i << " ";
+    cout << endl;
+    return 0;
+ 
+}
+
+</pre> 
+		
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"><span class="tabledesc">The following table provides additional information on the
+			 members of this template class. 
+		  </span><thead align="left"> 
+				<tr> 
+				  <th class="cellrowborder" valign="top" width="33.89830508474576%" id="d39293e517">Member 
+				  </th>
+ 
+				  <th class="cellrowborder" valign="top" width="66.10169491525423%" id="d39293e520">Description 
+				  </th>
+ 
+				</tr>
+</thead>
+ 
+			 <tbody> 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d39293e517 "><span class="keyword">iterator unsafe_begin()</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d39293e520 "> 
+					 <p><strong>Returns</strong>: 
+						<samp class="codeph">iterator</samp> pointing to beginning of the queue.
+						
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d39293e517 "><span class="keyword">iterator unsafe_end()</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d39293e520 "> 
+					 <p><strong>Returns</strong>: 
+						<samp class="codeph">iterator</samp> pointing to end of the queue. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d39293e517 "><span class="keyword">const_iterator unsafe_begin()
+						const</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d39293e520 "> 
+					 <p><strong>Returns</strong>: 
+						<samp class="codeph">const_iterator</samp> with pointing to beginning of
+						the queue. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d39293e517 "><span class="keyword"></span><samp class="codeph">const_iterator</samp> unsafe_end()
+					 const 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d39293e520 "> 
+					 <p><strong>Returns</strong>: 
+						<samp class="codeph">const_iterator</samp> pointing to end of the queue.
+						
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+			 </tbody>
+ 
+		  </table>
+</div>
+ 
+	 </div>
+ 
+  </div>
+ 
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../reference/containers_overview.htm">Containers Overview</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/reference/containers_overview/concurrent_unordered_map_cls.htm b/doc/help/reference/containers_overview/concurrent_unordered_map_cls.htm
new file mode 100755
index 0000000..8c8dbfd
--- /dev/null
+++ b/doc/help/reference/containers_overview/concurrent_unordered_map_cls.htm
@@ -0,0 +1,472 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="concurrent_unordered_map and concurrent_unordered_multimap Template Classes">
+<meta name="DC.subject" content="concurrent_unordered_map, concurrent_unordered_multimap">
+<meta name="keywords" content="concurrent_unordered_map, concurrent_unordered_multimap">
+<meta name="DC.Relation" scheme="URI" content="../../reference/containers_overview.htm">
+<meta name="DC.Relation" scheme="URI" content="../../reference/containers_overview/concurrent_unordered_map_cls/construct_destroy_copy_map_cls.htm">
+<meta name="DC.Relation" scheme="URI" content="../../reference/containers_overview/concurrent_unordered_map_cls/size_and_capacity_map_cls.htm">
+<meta name="DC.Relation" scheme="URI" content="../../reference/containers_overview/concurrent_unordered_map_cls/container_iterators_map_cls.htm">
+<meta name="DC.Relation" scheme="URI" content="../../reference/containers_overview/concurrent_unordered_map_cls/modifiers_map_cls.htm">
+<meta name="DC.Relation" scheme="URI" content="../../reference/containers_overview/concurrent_unordered_map_cls/observers_map_cls.htm">
+<meta name="DC.Relation" scheme="URI" content="../../reference/containers_overview/concurrent_unordered_map_cls/lookup_map_cls.htm">
+<meta name="DC.Relation" scheme="URI" content="../../reference/containers_overview/concurrent_unordered_map_cls/parallel_iteration_map_cls.htm">
+<meta name="DC.Relation" scheme="URI" content="../../reference/containers_overview/concurrent_unordered_map_cls/bucket_interface_map_cls.htm">
+<meta name="DC.Relation" scheme="URI" content="../../reference/containers_overview/concurrent_unordered_map_cls/hash_policy_map_cls.htm">
+<meta name="DC.Relation" scheme="URI" content="concurrent_hash_map_cls.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="concurrent_unordered_map_cls">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../intel_css_styles.css">
+<title>concurrent_unordered_map and concurrent_unordered_multimap Template Classes</title>
+</head>
+<body id="concurrent_unordered_map_cls">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(2);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="concurrent_unordered_map_cls"><!-- --></a>
+
+ 
+  <h1 class="topictitle1"><samp class="codeph">concurrent_unordered_map</samp> and 
+	 <samp class="codeph">concurrent_unordered_multimap</samp> Template Classes</h1>
+ 
+   
+  <div> 
+	 <div class="section"><h2 class="sectiontitle">Summary</h2> 
+		 
+		<p>Template classes for associative containers that
+		  supports concurrent insertion and traversal. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Syntax</h2> 
+		 
+		<pre>template <typename Key, 
+         typename Element, 
+         typename Hasher = tbb_hash<Key>, 
+         typename Equality = std::equal_to<Key >, 
+         typename Allocator = tbb::tbb_allocator<std::pair<const Key, Element > > > 
+class concurrent_unordered_map;</pre> 
+		<pre>template <typename Key, 
+         typename Element, 
+         typename Hasher = tbb_hash<Key>, 
+         typename Equality = std::equal_to<Key >, 
+         typename Allocator = tbb::tbb_allocator<std::pair<const Key, Element > > > 
+class concurrent_unordered_multimap;</pre> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Header</h2> 
+		 
+		<pre>#include "tbb/concurrent_unordered_map.h"</pre> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Description</h2> 
+		 
+		<p><samp class="codeph">concurrent_unordered_map</samp> and 
+		  <samp class="codeph">concurrent_unordered_multimap</samp> support concurrent
+		  insertion and traversal, but not concurrent erasure. The interfaces have no
+		  visible locking. They may hold locks internally, but never while calling
+		  user-defined code. They have semantics similar to the C++11 
+		  <samp class="codeph">std::unordered_map</samp> and 
+		  <samp class="codeph">std::unordered_multimap</samp> respectively, except as
+		  follows: 
+		</p>
+ 
+		<ul type="disc"> 
+		  <li> 
+			 <p>Some methods requiring C++11 language features (such
+				as rvalue references and 
+				<samp class="codeph">std::initializer_list</samp>) are omitted. 
+			 </p>
+ 
+		  </li>
+ 
+		  <li> 
+			 <p>The 
+				<samp class="codeph">erase</samp> methods are prefixed with 
+				<samp class="codeph">unsafe_</samp>, to indicate that they are not concurrency
+				safe. 
+			 </p>
+ 
+		  </li>
+ 
+		  <li> 
+			 <p>Bucket methods are prefixed with 
+				<samp class="codeph">unsafe_</samp> as a reminder that they are not
+				concurrency safe with respect to insertion. 
+			 </p>
+ 
+		  </li>
+ 
+		  <li> 
+			 <p>The insert methods may create a temporary pair
+				that is destroyed if another thread inserts the same key concurrently. 
+			 </p>
+ 
+		  </li>
+ 
+		  <li> 
+			 <p>Like 
+				<samp class="codeph">std::list</samp>, insertion of new items does 
+				<em>not</em> invalidate any iterators, nor change the order of items
+				already in the map. Insertion and traversal may be concurrent. 
+			 </p>
+ 
+		  </li>
+ 
+		  <li> 
+			 <p>The iterator types 
+				<samp class="codeph">iterator</samp> and 
+				<samp class="codeph">const_iterator</samp> are of the forward iterator
+				category. 
+			 </p>
+ 
+		  </li>
+ 
+		  <li> 
+			 <p>Insertion does not invalidate or update the
+				iterators returned by 
+				<samp class="codeph">equal_range</samp>, so insertion may cause non-equal
+				items to be inserted at the end of the range. However, the first iterator will
+				nonethless point to the equal item even after an insertion operation. 
+			 </p>
+ 
+		  </li>
+ 
+		</ul>
+ 
+		<p>The following table lists the key differences between classes 
+		  <samp class="codeph">concurrent_unordered_map</samp> and 
+		  <samp class="codeph">concurrent_hash_map</samp> and 
+		  <samp class="codeph">concurrent_unordered_multimap</samp>. 
+		</p>
+ 
+		
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"><thead align="left"> 
+				<tr> 
+				  <th class="cellrowborder" valign="top" width="37.453183520599254%" id="d41040e170"> 
+					 <p>Class 
+					 </p>
+ 
+				  </th>
+ 
+				  <th class="cellrowborder" valign="top" width="62.546816479400746%" id="d41040e176">Key Difference 
+				  </th>
+ 
+				</tr>
+</thead>
+ 
+			 <tbody> 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="37.453183520599254%" headers="d41040e170 "> 
+					 <p><samp class="codeph">concurrent_hash_map</samp> 
+					 </p>
+ 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="62.546816479400746%" headers="d41040e176 "> 
+					 <p>Permits concurrent erasure, and has built-in locking 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="37.453183520599254%" headers="d41040e170 "> 
+					 <p><samp class="codeph">concurrent_unordered_map</samp> 
+					 </p>
+ 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="62.546816479400746%" headers="d41040e176 "> 
+					 <ul type="disc"> 
+						<li> 
+						  <p>Permits concurrent traversal and insertion, no visible
+							 locking, closely resembles the C++11 unordered_map. 
+						  </p>
+ 
+						</li>
+ 
+						<li> 
+						  <p> Has the 
+							 <samp class="codeph">[ ]</samp> and 
+							 <samp class="codeph">at</samp> accessors. 
+						  </p>
+ 
+						</li>
+ 
+					 </ul>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="37.453183520599254%" headers="d41040e170 "> 
+					 <p><samp class="codeph">concurrent_unordered_multimap</samp> 
+					 </p>
+ 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="62.546816479400746%" headers="d41040e176 "> 
+					 <ul type="disc"> 
+						<li> 
+						  <p> More than one 
+							 <samp class="codeph"><key,value></samp> pair with the same 
+							 <samp class="codeph">key</samp> value may be inserted in 
+							 <samp class="codeph">concurrent_unordered_multimap</samp>. 
+						  </p>
+ 
+						</li>
+ 
+						<li> 
+						  <p><samp class="codeph">find</samp> will return the
+							 first 
+							 <samp class="codeph"><key,value></samp> pair with a matching
+							 key at the point the search is made, though concurrent accesses to the
+							 container may insert other pairs with the same key before the one returned. 
+						  </p>
+ 
+						</li>
+ 
+					 </ul>
+ 
+				  </td>
+ 
+				</tr>
+ 
+			 </tbody>
+ 
+		  </table>
+</div>
+ 
+		<div class="Note"><h3 class="NoteTipHead">
+					Caution</h3> 
+		  <p>As with any form of hash table, keys that are
+			 equal must have the same hash code, and the ideal hash function distributes
+			 keys uniformly across the hash code space. 
+		  </p>
+ 
+		</div> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Members of both concurrent_unordered_map
+		  and concurrent_unordered_multimap</h2> 
+		 
+		<p>In the following synopsis, methods shown in 
+		  <samp class="codeph"><span style="color:blue"><strong>bold font</strong></span></samp>
+		  may be concurrently invoked. For example, three different threads can
+		  concurrently call methods 
+		  <samp class="codeph">insert</samp>, 
+		  <samp class="codeph">begin</samp>, and 
+		  <samp class="codeph">size</samp>. Their results might be non-deterministic. For
+		  example, the result from size might correspond to before or after the
+		  insertion. 
+		</p>
+ 
+		<pre>
+public:
+    <em>// types</em>
+    typedef Key key_type;
+    typedef std::pair<const Key, T> value_type;
+    typedef Element mapped_type;
+    typedef Hash hasher;
+    typedef Equality key_equal;
+    typedef Alloc allocator_type;
+    typedef typename allocator_type::pointer pointer;
+    typedef typename allocator_type::const_pointer const_pointer;
+    typedef typename allocator_type::reference reference;
+    typedef typename allocator_type::const_reference const_reference;
+    typedef <em>implementation-defined</em> size_type;
+    typedef <em>implementation-defined</em> difference_type;
+    typedef <em>implementation-defined</em> iterator;
+    typedef <em>implementation-defined</em> const_iterator;
+    typedef <em>implementation-defined</em> local_iterator;
+    typedef <em>implementation-defined</em> const_local_iterator;
+    
+    allocator_type get_allocator() const;
+    
+    <em>// size and capacity</em>
+    bool <span style="color:blue"><strong>empty()</strong></span> const;     <em>// May take linear time!</em>
+    size_type <span style="color:blue"><strong>size()</strong></span> const; <em>// May take linear time!</em>
+    size_type max_size() const;
+    
+    <em>// iterators</em> 
+    iterator <span style="color:blue"><strong>begin()</strong></span>;
+    const_iterator <span style="color:blue"><strong>begin()</strong></span> const;
+    iterator <span style="color:blue"><strong>end()</strong></span>;
+    const_iterator <span style="color:blue"><strong>end()</strong></span> const;
+    const_iterator <span style="color:blue"><strong>cbegin()</strong></span> const;
+    const_iterator <span style="color:blue"><strong>cend()</strong></span> const;
+    
+    <em>// modifiers</em>
+    std::pair<iterator, bool> <span style="color:blue"><strong>insert</strong></span>(const value_type& x);
+    iterator <span style="color:blue"><strong>insert</strong></span>(const_iterator hint, const value_type& x);
+    template<class InputIterator> void <span style="color:blue"><strong>insert</strong></span>(InputIterator first, 
+                                                    InputIterator last);
+ 
+    iterator unsafe_erase(const_iterator position);
+    size_type unsafe_erase(const key_type& k);
+    iterator unsafe_erase(const_iterator first, const_iterator last);
+    void clear();
+ 
+    <em>// observers</em>
+    hasher hash_function() const;
+    key_equal key_eq() const;
+ 
+    <em>// lookup</em>
+    iterator <span style="color:blue"><strong>find</strong></span>(const key_type& k);
+    const_iterator <span style="color:blue"><strong>find</strong></span>(const key_type& k) const;
+    size_type <span style="color:blue"><strong>count</strong></span>(const key_type& k) const;
+    std::pair<iterator, iterator> <span style="color:blue"><strong>equal_range</strong></span>(const key_type& k);
+    std::pair<const_iterator, const_iterator> <span style="color:blue"><strong>equal_range</strong></span>(const key_type& k) const;
+ 
+    <em>// parallel iteration</em>
+    typedef <em>implementation-defined</em> range_type;
+    typedef <em>implementation-defined</em> const_range_type;
+    range_type range();
+    const_range_type range() const;
+
+    <em>// bucket interface - for debugging</em> 
+    size_type unsafe_bucket_count() const;
+    size_type unsafe_max_bucket_count() const;
+    size_type unsafe_bucket_size(size_type n);
+    size_type unsafe_bucket(const key_type& k) const;
+    local_iterator unsafe_begin(size_type n);
+    const_local_iterator unsafe_begin(size_type n) const;
+    local_iterator unsafe_end(size_type n);
+    const_local_iterator unsafe_end(size_type n) const;
+    const_local_iterator unsafe_cbegin(size_type n) const;
+    const_local_iterator unsafe_cend(size_type n) const;
+ 
+    <em>// hash policy</em>
+    float load_factor() const;
+    float max_load_factor() const;
+    void max_load_factor(float z);
+    void rehash(size_type n);
+</pre> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Members of concurrent_unordered_map</h2> 
+		
+		
+		<p>In the following synopsis, methods in bold may be
+		  concurrently invoked. 
+		</p>
+ 
+		<pre>
+public:
+    <em>// construct/destroy/copy</em>
+    explicit concurrent_unordered_map(size_type n = <em>implementation-defined</em>,
+               const Hasher& hf = hasher(),
+               const key_equal& eql = key_equal(),
+               const allocator_type& a = allocator_type());
+    template <typename InputIterator>
+    concurrent_unordered_map(
+                       InputIterator first, InputIterator last,
+                       size_type n = <em>implementation-defined</em>,
+                       const hasher& hf = hasher(),
+                       const key_equal& eql = key_equal(),
+                       const allocator_type& a = allocator_type());
+    concurrent_unordered_map(const concurrent_unordered_map&);
+    concurrent_unordered_map(const Alloc&);
+    concurrent_unordered_map(const concurrent_unordered_map&, const Alloc&);
+    <em>//C++11 specific</em> 
+    concurrent_unordered_map(const std::initializer_list<value_type> &il, 
+               size_type n = <em>implementation-defined</em>,
+               const Hasher& hf = hasher(),
+               const key_equal& eql = key_equal(),
+               const allocator_type& a = allocator_type());
+    ~concurrent_unordered_map();
+    
+    concurrent_unordered_map& operator=( const concurrent_unordered_map&);
+    <em>//C++11 specific</em>
+    concurrent_unordered_map& operator=( const std::initializer_list<value_type> &il);
+    
+    void swap(concurrent_unordered_map&);
+ 
+    mapped_type& <span style="color:blue"><strong>operator[]</strong></span>(const key_type& k);
+    mapped_type& <span style="color:blue"><strong>at</strong></span>( const key_type& k );
+    const mapped_type& <span style="color:blue"><strong>at</strong></span>(const key_type& k) const;
+</pre> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Members of
+		  concurrent_unordered_multimap</h2> 
+		 
+		<pre>
+public:
+    <em>// construct/destroy/copy</em>
+    explicit concurrent_unordered_multimap(size_type n = <em>implementation-defined</em>,
+               const Hasher& hf = hasher(),
+               const key_equal& eql = key_equal(),
+               const allocator_type& a = allocator_type());
+    template <typename InputIterator>
+    concurrent_unordered_multimap(
+                       InputIterator first, InputIterator last,
+                       size_type n = <em>implementation-defined</em>,
+                       const hasher& hf = hasher(),
+                       const key_equal& eql = key_equal(),
+                       const allocator_type& a = allocator_type());
+    concurrent_unordered_multimap(const concurrent_unordered_multimap&);
+    concurrent_unordered_multimap(const Alloc&);
+    concurrent_unordered_multimap(const concurrent_unordered_multimap&, const Alloc&);
+    <em>//C++11 specific</em> 
+    concurrent_unordered_multimap(const std::initializer_list<value_type> &il, 
+               size_type n = <em>implementation-defined</em>,
+               const Hasher& hf = hasher(),
+               const key_equal& eql = key_equal(),
+               const allocator_type& a = allocator_type());
+    ~concurrent_unordered_multimap();
+    
+    concurrent_unordered_multimap& operator=( const concurrent_unordered_multimap&);
+    <em>//C++11 specific</em>
+    concurrent_unordered_multimap& operator=( const std::initializer_list<value_type> &il);
+    
+    void swap(concurrent_unordered_multimap&);
+</pre> 
+	 </div>
+ 
+  </div>
+ 
+  
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../reference/containers_overview.htm">Containers Overview</a></div>
+</div>
+<div class="See Also">
+<ul class="ullinks">
+<li class="ulchildlink"><a href="../../reference/containers_overview/concurrent_unordered_map_cls/construct_destroy_copy_map_cls.htm">Construct, Destroy, Copy</a><br>
+</li>
+<li class="ulchildlink"><a href="../../reference/containers_overview/concurrent_unordered_map_cls/size_and_capacity_map_cls.htm">Size and capacity</a><br>
+</li>
+<li class="ulchildlink"><a href="../../reference/containers_overview/concurrent_unordered_map_cls/container_iterators_map_cls.htm">Iterators</a><br>
+</li>
+<li class="ulchildlink"><a href="../../reference/containers_overview/concurrent_unordered_map_cls/modifiers_map_cls.htm">Modifiers</a><br>
+</li>
+<li class="ulchildlink"><a href="../../reference/containers_overview/concurrent_unordered_map_cls/observers_map_cls.htm">Observers</a><br>
+</li>
+<li class="ulchildlink"><a href="../../reference/containers_overview/concurrent_unordered_map_cls/lookup_map_cls.htm">Lookup</a><br>
+</li>
+<li class="ulchildlink"><a href="../../reference/containers_overview/concurrent_unordered_map_cls/parallel_iteration_map_cls.htm">Parallel Iteration</a><br>
+</li>
+<li class="ulchildlink"><a href="../../reference/containers_overview/concurrent_unordered_map_cls/bucket_interface_map_cls.htm">Bucket Interface</a><br>
+</li>
+<li class="ulchildlink"><a href="../../reference/containers_overview/concurrent_unordered_map_cls/hash_policy_map_cls.htm">Hash Policy</a><br>
+</li>
+</ul>
+
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="concurrent_hash_map_cls.htm">concurrent_hash_map 
+		  </a></div></div>
+</div>
+
+</body>
+</html>
diff --git a/doc/help/reference/containers_overview/concurrent_unordered_map_cls/bucket_interface_map_cls.htm b/doc/help/reference/containers_overview/concurrent_unordered_map_cls/bucket_interface_map_cls.htm
new file mode 100755
index 0000000..a13571b
--- /dev/null
+++ b/doc/help/reference/containers_overview/concurrent_unordered_map_cls/bucket_interface_map_cls.htm
@@ -0,0 +1,238 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="Bucket Interface">
+<meta name="DC.subject" content="Bucket Interface">
+<meta name="keywords" content="Bucket Interface">
+<meta name="DC.Relation" scheme="URI" content="../../../reference/containers_overview/concurrent_unordered_map_cls.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="bucket_interface_map_cls">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../../intel_css_styles.css">
+<title>Bucket Interface</title>
+</head>
+<body id="bucket_interface_map_cls">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(3);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="bucket_interface_map_cls"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Bucket Interface</h1>
+ 
+   
+  <div> 
+	 <div class="section"> 
+		<p> The bucket interface is similar to the bucket
+		  interface for the C++11 class 
+		  <samp class="codeph">unordered_map</samp> and 
+		  <samp class="codeph">unordered_multimap</samp>, except that the prefix 
+		  <samp class="codeph">unsafe_</samp> has been added as a reminder that the methods
+		  are unsafe to use during concurrent insertion. 
+		</p>
+ 
+		<div class="Note"><h3 class="NoteTipHead">
+					Caution</h3> 
+		  <p>The bucket interface is intended for debugging.
+			 It is not concurrency safe. 
+		  </p>
+
+		  <p>The mapping of keys to buckets is implementation specific.
+		  </p>
+
+		</div> 
+		<p>Buckets are numbered from 0 to<samp class="codeph">
+			 unsafe_bucket_count()-1</samp>. To iterate over a bucket use a 
+		  <samp class="codeph">local_iterator</samp> or 
+		  <samp class="codeph">const_local_iterator</samp>. 
+		</p>
+ 
+		
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"><span class="tabledesc">The following table provides additional information on the
+			 members of this template class. 
+		  </span><thead align="left"> 
+				<tr> 
+				  <th class="cellrowborder" valign="top" width="33.89830508474576%" id="d42223e64">Member 
+				  </th>
+ 
+				  <th class="cellrowborder" valign="top" width="66.10169491525423%" id="d42223e67">Description 
+				  </th>
+ 
+				</tr>
+</thead>
+ 
+			 <tbody> 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d42223e64 "><span class="keyword">size_type unsafe_bucket_count()
+						const</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d42223e67 "> 
+					 <p><strong>Returns</strong>: Number of buckets. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d42223e64 "><span class="keyword">size_type
+						unsafe_max_bucket_count() const</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d42223e67 "> 
+					 <p><strong>Returns</strong>: Upper bound on possible
+						number of buckets. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d42223e64 "><span class="keyword">size_type
+						unsafe_bucket_size(size_type n)</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d42223e67 "> 
+					 <p><strong>Returns</strong>: Number of items in bucket
+						
+						<samp class="codeph"><em>n</em></samp>. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d42223e64 "><span class="keyword">size_type unsafe_bucket(const
+						key_type& k) const</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d42223e67 "> 
+					 <p><strong>Returns</strong>: Index of bucket where
+						item with key 
+						<em>k</em> would be placed. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d42223e64 "><span class="keyword">local_iterator
+						unsafe_begin(size_type n)</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d42223e67 "> 
+					 <p><strong>Returns</strong>: 
+						<samp class="codeph">local_iterator</samp> pointing to first item in
+						bucket 
+						<em>n</em>. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d42223e64 "><span class="keyword">const_local_iterator
+						unsafe_begin(size_type n) const</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d42223e67 "> 
+					 <p><strong>Returns</strong>: 
+						<samp class="codeph">const_local_iterator</samp> pointing to first item
+						in bucket 
+						<samp class="codeph"><em>n</em></samp>. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d42223e64 "><span class="keyword">local_iterator
+						unsafe_end(size_type n)</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d42223e67 "> 
+					 <p><strong>Returns</strong>: 
+						<samp class="codeph">local_iterator</samp> pointing to immediately after
+						the last item in bucket 
+						<samp class="codeph"><em>n</em></samp>. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d42223e64 "><span class="keyword">const_local_iterator
+						unsafe_end(size_type n) const</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d42223e67 "> 
+					 <p><strong>Returns</strong> 
+						<samp class="codeph">const_local_iterator</samp> pointing to immediately
+						after the last item in bucket 
+						<samp class="codeph"><em>n</em></samp>. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d42223e64 "><span class="keyword">const_local_iterator
+						unsafe_cbegin(size_type n) const</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d42223e67 "> 
+					 <p><strong>Returns</strong>: 
+						<samp class="codeph">const_local_iterator</samp> pointing to first item
+						in bucket 
+						<samp class="codeph"><em>n</em></samp>. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d42223e64 "><span class="keyword">const_local_iterator
+						unsafe_cend(size_type n) const</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d42223e67 "> 
+					 <p><strong>Returns</strong>: 
+						<samp class="codeph">const_local_iterator</samp> pointing to immediately
+						past last item in bucket 
+						<samp class="codeph"><em>n</em></samp>. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+			 </tbody>
+ 
+		  </table>
+</div>
+ 
+	 </div>
+ 
+  </div>
+ 
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../../reference/containers_overview/concurrent_unordered_map_cls.htm">concurrent_unordered_map and concurrent_unordered_multimap Template Classes</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/reference/containers_overview/concurrent_unordered_map_cls/construct_destroy_copy_map_cls.htm b/doc/help/reference/containers_overview/concurrent_unordered_map_cls/construct_destroy_copy_map_cls.htm
new file mode 100755
index 0000000..af0c025
--- /dev/null
+++ b/doc/help/reference/containers_overview/concurrent_unordered_map_cls/construct_destroy_copy_map_cls.htm
@@ -0,0 +1,399 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="Construct, Destroy, Copy">
+<meta name="DC.subject" content="Construct, Destroy, Copy">
+<meta name="keywords" content="Construct, Destroy, Copy">
+<meta name="DC.Relation" scheme="URI" content="../../../reference/containers_overview/concurrent_unordered_map_cls.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="construct_destroy_copy_map_cls">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../../intel_css_styles.css">
+<title>Construct, Destroy, Copy</title>
+</head>
+<body id="construct_destroy_copy_map_cls">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(3);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="construct_destroy_copy_map_cls"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Construct, Destroy, Copy</h1>
+ 
+   
+  <div> 
+  <div class="section">
+		The following tables provide information on the members of the <samp class="codeph">concurrent_unordered_map</samp>
+                and <samp class="codeph">concurrent_unordered_multimap</samp> template classes. 
+  </div>
+
+  <div class="section"><h2 class="sectiontitle"> <samp class="codeph">concurrent_unordered_map</samp> </h2>
+	 
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"><thead align="left"> 
+			 <tr> 
+				<th class="cellrowborder" valign="top" width="50.632911392405056%" id="d43089e42">Member 
+				</th>
+ 
+				<th class="cellrowborder" valign="top" width="49.36708860759494%" id="d43089e45">Description 
+				</th>
+ 
+			 </tr>
+</thead>
+ 
+		  <tbody> 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="50.632911392405056%" headers="d43089e42 "><samp class="codeph">explicit concurrent_unordered_map
+					 (size_type n = <em><implementation-defined></em>, const hasher& hf = hasher(),const
+					 key_equal& eql = key_equal(), const allocator_type& a =
+					 allocator_type())</samp> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="49.36708860759494%" headers="d43089e45 "> 
+				  <p>Construct table with 
+					 <samp class="codeph">n</samp> buckets. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="50.632911392405056%" headers="d43089e42 "><samp class="codeph">template <typename
+					 InputIterator> concurrent_unordered_map (InputIterator first, InputIterator
+					 last, size_type n = <em><implementation-defined></em>, const hasher& hf =
+					 hasher(), const key_equal& eql = key_equal(), const allocator_type& a =
+					 allocator_type())</samp> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="49.36708860759494%" headers="d43089e45 "> 
+				  <p>Construct table with 
+					 <samp class="codeph">n</samp> buckets initialized with 
+					 <samp class="codeph">value_type(*<em>i</em>)</samp> where 
+					 <samp class="codeph"><em>i</em></samp> is in the half open interval
+					 <samp class="codeph">[first,last)</samp>. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="50.632911392405056%" headers="d43089e42 "><samp class="codeph">concurrent_unordered_map(const
+					 concurrent_unordered_map& m)</samp> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="49.36708860759494%" headers="d43089e45 "> 
+				  <p>Construct copy of concurrent_unordered_map 
+					 <samp class="codeph">m</samp>. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="50.632911392405056%" headers="d43089e42 "><samp class="codeph">concurrent_unordered_map(const
+					 Alloc& a)</samp> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="49.36708860759494%" headers="d43089e45 "> 
+				  <p>Construct empty concurrent_unordered_map using allocator 
+					 <samp class="codeph">a</samp>. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="50.632911392405056%" headers="d43089e42 "><samp class="codeph">concurrent_unordered_map(const
+					 concurrent_unordered_map&, const Alloc& a)</samp> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="49.36708860759494%" headers="d43089e45 "> 
+				  <p>Construct copy of concurrent_unordered_map 
+					 <samp class="codeph">m</samp> using allocator 
+					 <samp class="codeph">a</samp>. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+
+             <tr> 
+                <td class="cellrowborder" valign="top" width="50.632911392405056%" headers="d43089e42 "><samp class="codeph">concurrent_unordered_map(
+                    const std::initializer_list<value_type> &il, 
+                    size_type n = <em>implementation-defined</em>,
+                    const Hasher& hf = hasher(),
+                    const key_equal& eql = key_equal(),
+                    const allocator_type& a = allocator_type())</samp> 
+                </td>
+ 
+                <td class="cellrowborder" valign="top" width="49.36708860759494%" headers="d43089e45 "> 
+                  <p>C++11 specific; Equivalent to 
+                        <samp class="codeph">concurrent_unordered_map(<em>il</em>.begin(), 
+                          <em>il</em>.end(), 
+                          <em>a</em>)</samp>. 
+                  </p>
+ 
+                </td>
+ 
+             </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="50.632911392405056%" headers="d43089e42 "><samp class="codeph">~concurrent_unordered_map()</samp> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="49.36708860759494%" headers="d43089e45 "> 
+				  <p>Destroy the concurrent_unordered_map. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="50.632911392405056%" headers="d43089e42 "><samp class="codeph">concurrent_unordered_map&
+					 operator=(const concurrent_unordered_map& m);</samp> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="49.36708860759494%" headers="d43089e45 "> 
+				  <p>Set 
+					 <samp class="codeph">*this</samp> to a copy of concurrent_unordered_map 
+					 <samp class="codeph">m</samp>. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+
+             <tr> 
+                <td class="cellrowborder" valign="top" width="50.632911392405056%" headers="d43089e42 "><samp class="codeph">concurrent_unordered_map&
+                     operator=(const std::initializer_list<value_type> &il);</samp> 
+                </td>
+ 
+                <td class="cellrowborder" valign="top" width="49.36708860759494%" headers="d43089e45 "> 
+                  <p>C++11 specific; Sets 
+                        <samp class="codeph">*<em>this</em></samp> 
+                        to contain data from
+                        <samp class="codeph">il</samp>.
+                  </p>
+ 
+                </td>
+ 
+             </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="50.632911392405056%" headers="d43089e42 "><samp class="codeph">allocator_type get_allocator()
+					 const; 
+				  </samp>
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="49.36708860759494%" headers="d43089e45 "> 
+				  <p>Get copy of the allocator associated with 
+					 <samp class="codeph">*this</samp>. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+		  </tbody>
+ 
+		</table>
+</div>
+ 
+         </div>
+
+      <div class="section"><h2 class="sectiontitle"> <samp class="codeph">concurrent_unordered_multimap</samp> </h2>
+	 
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"><thead align="left"> 
+			 <tr> 
+				<th class="cellrowborder" valign="top" width="50.632911392405056%" id="d43089e281">Member 
+				</th>
+ 
+				<th class="cellrowborder" valign="top" width="49.36708860759494%" id="d43089e284">Description 
+				</th>
+ 
+			 </tr>
+</thead>
+ 
+		  <tbody> 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="50.632911392405056%" headers="d43089e281 "><samp class="codeph">explicit concurrent_unordered_multimap
+					 (size_type n = <em><implementation-defined></em>, const hasher& hf = hasher(),const
+					 key_equal& eql = key_equal(), const allocator_type& a =
+					 allocator_type())</samp> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="49.36708860759494%" headers="d43089e284 "> 
+				  <p>Construct table with 
+					 <samp class="codeph">n</samp> buckets. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="50.632911392405056%" headers="d43089e281 "><samp class="codeph">template <typename
+					 InputIterator> concurrent_unordered_multimap (InputIterator first, InputIterator
+					 last, size_type n = <em><implementation-defined></em>, const hasher& hf =
+					 hasher(), const key_equal& eql = key_equal(), const allocator_type& a =
+					 allocator_type())</samp> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="49.36708860759494%" headers="d43089e284 "> 
+				  <p>Construct table with 
+					 <samp class="codeph">n</samp> buckets initialized with 
+					 <samp class="codeph">value_type(*<em>i</em>)</samp> where 
+					 <samp class="codeph"><em>i</em></samp> is in the half open interval
+					 <samp class="codeph">[first,last)</samp>. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="50.632911392405056%" headers="d43089e281 "><samp class="codeph">concurrent_unordered_multimap(const
+					 concurrent_unordered_multimap& m)</samp> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="49.36708860759494%" headers="d43089e284 "> 
+				  <p>Construct copy of concurrent_unordered_multimap 
+					 <samp class="codeph">m</samp>. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="50.632911392405056%" headers="d43089e281 "><samp class="codeph">concurrent_unordered_multimap(const
+					 Alloc& a)</samp> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="49.36708860759494%" headers="d43089e284 "> 
+				  <p>Construct empty concurrent_unordered_multimap using allocator 
+					 <samp class="codeph">a</samp>. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="50.632911392405056%" headers="d43089e281 "><samp class="codeph">concurrent_unordered_multimap(const
+					 concurrent_unordered_multimap&, const Alloc& a)</samp> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="49.36708860759494%" headers="d43089e284 "> 
+				  <p>Construct copy of concurrent_unordered_multimap 
+					 <samp class="codeph">m</samp> using allocator 
+					 <samp class="codeph">a</samp>. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+             <tr> 
+                <td class="cellrowborder" valign="top" width="50.632911392405056%" headers="d43089e281 "><samp class="codeph">concurrent_unordered_multimap(
+                    const std::initializer_list<value_type> &il, 
+                    size_type n = <em>implementation-defined</em>,
+                    const Hasher& hf = hasher(),
+                    const key_equal& eql = key_equal(),
+                    const allocator_type& a = allocator_type())</samp> 
+                </td>
+ 
+                <td class="cellrowborder" valign="top" width="49.36708860759494%" headers="d43089e284 "> 
+                  <p>C++11 specific; Equivalent to 
+                        <samp class="codeph">concurrent_unordered_multimap(<em>il</em>.begin(), 
+                          <em>il</em>.end(), 
+                          <em>a</em>)</samp>. 
+                  </p>
+ 
+                </td>
+ 
+             </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="50.632911392405056%" headers="d43089e281 "><samp class="codeph">~concurrent_unordered_multimap()</samp> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="49.36708860759494%" headers="d43089e284 "> 
+				  <p>Destroy the concurrent_unordered_multimap. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="50.632911392405056%" headers="d43089e281 "><samp class="codeph">concurrent_unordered_multimap&
+					 operator=(const concurrent_unordered_multimap& m);</samp> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="49.36708860759494%" headers="d43089e284 "> 
+				  <p>Set 
+					 <samp class="codeph">*this</samp> to a copy of concurrent_unordered_multimap 
+					 <samp class="codeph">m</samp>. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+             <tr> 
+                <td class="cellrowborder" valign="top" width="50.632911392405056%" headers="d43089e281 "><samp class="codeph">concurrent_unordered_multimap&
+                     operator=(const std::initializer_list<value_type> &il);</samp> 
+                </td>
+ 
+                <td class="cellrowborder" valign="top" width="49.36708860759494%" headers="d43089e284 "> 
+                  <p>C++11 specific; Sets 
+                        <samp class="codeph">*<em>this</em></samp> 
+                        to contain data from
+                        <samp class="codeph">il</samp>. 
+                  </p>
+ 
+                </td>
+ 
+             </tr>
+ 			 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="50.632911392405056%" headers="d43089e281 "><samp class="codeph">allocator_type get_allocator()
+					 const; 
+				  </samp>
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="49.36708860759494%" headers="d43089e284 "> 
+				  <p>Get copy of the allocator associated with 
+					 <samp class="codeph">*this</samp>. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+		  </tbody>
+ 
+		</table>
+</div>
+ 
+         </div>
+
+  </div>
+ 
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../../reference/containers_overview/concurrent_unordered_map_cls.htm">concurrent_unordered_map and concurrent_unordered_multimap Template Classes</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/reference/containers_overview/concurrent_unordered_map_cls/container_iterators_map_cls.htm b/doc/help/reference/containers_overview/concurrent_unordered_map_cls/container_iterators_map_cls.htm
new file mode 100755
index 0000000..5b5874a
--- /dev/null
+++ b/doc/help/reference/containers_overview/concurrent_unordered_map_cls/container_iterators_map_cls.htm
@@ -0,0 +1,173 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="Iterators">
+<meta name="DC.subject" content="Iterators">
+<meta name="keywords" content="Iterators">
+<meta name="DC.Relation" scheme="URI" content="../../../reference/containers_overview/concurrent_unordered_map_cls.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="container_iterators_map_cls">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../../intel_css_styles.css">
+<title>Iterators</title>
+</head>
+<body id="container_iterators_map_cls">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(3);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="container_iterators_map_cls"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Iterators</h1>
+ 
+   
+  <div> 
+	 <div class="section"> 
+		<p>The template classes
+		  <samp class="codeph">concurrent_unordered_map</samp> and
+		  <samp class="codeph">concurrent_unordered_multimap</samp>
+                  support forward iterators;
+		  that is, iterators that can advance only forwards across a table. Reverse
+		  iterators are not supported. Concurrent operations (<samp class="codeph">count, find,
+			 insert</samp>) do 
+		  <em>not</em> invalidate any existing iterators that point into the table.
+		  Note that an iterator obtained via 
+		  <samp class="codeph">begin()</samp> will no longer point to the first item if 
+		  <samp class="codeph">insert</samp> inserts an item before it. 
+		  Erasure (<samp class="codeph">unsafe_erase</samp>) does <em>not</em> invalidate iterators
+		  other than those pointing to erased elements.
+		</p>
+ 
+		<p>Methods 
+		  <samp class="codeph">cbegin</samp> and 
+		  <samp class="codeph">cend</samp> follow C++11 conventions. They return 
+		  <samp class="codeph">const_iterator</samp> even if the object is non-const. 
+		</p>
+ 
+		
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"><span class="tabledesc">The following table provides additional information on the
+			 members of this template class. 
+		  </span><thead align="left"> 
+				<tr> 
+				  <th class="cellrowborder" valign="top" width="33.89830508474576%" id="d44622e71">Member 
+				  </th>
+ 
+				  <th class="cellrowborder" valign="top" width="66.10169491525423%" id="d44622e74">Description 
+				  </th>
+ 
+				</tr>
+</thead>
+ 
+			 <tbody> 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d44622e71 "><span class="keyword">iterator begin()</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d44622e74 "> 
+					 <p><strong>Returns</strong>: 
+						<samp class="codeph">iterator</samp> pointing to first item in the map. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d44622e71 "><span class="keyword">const_iterator begin()
+						const</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d44622e74 "> 
+					 <p><strong>Returns</strong>: 
+						<samp class="codeph">const_iterator</samp> pointing to first item in the
+						map. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d44622e71 "><span class="keyword">iterator end()</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d44622e74 "> 
+					 <p><strong>Returns</strong> 
+					 </p>
+ 
+					 <p><samp class="codeph">iterator</samp> pointing to
+						immediately past last item in the map. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d44622e71 "><span class="keyword">const_iterator end()
+						const</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d44622e74 "> 
+					 <p><strong>Returns</strong>: 
+						<samp class="codeph">const_iterator</samp> pointing to immediately past
+						last item in the map. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d44622e71 "><span class="keyword">const_iterator cbegin()
+						const</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d44622e74 "> 
+					 <p><strong>Returns</strong>: 
+						<samp class="codeph">const_iterator</samp> pointing to first item in the
+						map. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d44622e71 "><span class="keyword">const_iterator cend()
+						const</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d44622e74 "> 
+					 <p><strong>Returns</strong> 
+					 </p>
+ 
+					 <p><samp class="codeph">const_iterator</samp> pointing
+						to immediately after the last item in the map. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+			 </tbody>
+ 
+		  </table>
+</div>
+ 
+	 </div>
+ 
+  </div>
+ 
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../../reference/containers_overview/concurrent_unordered_map_cls.htm">concurrent_unordered_map and concurrent_unordered_multimap Template Classes</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/reference/containers_overview/concurrent_unordered_map_cls/hash_policy_map_cls.htm b/doc/help/reference/containers_overview/concurrent_unordered_map_cls/hash_policy_map_cls.htm
new file mode 100755
index 0000000..c686ed5
--- /dev/null
+++ b/doc/help/reference/containers_overview/concurrent_unordered_map_cls/hash_policy_map_cls.htm
@@ -0,0 +1,123 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="Hash Policy">
+<meta name="DC.subject" content="Hash policy">
+<meta name="keywords" content="Hash policy">
+<meta name="DC.Relation" scheme="URI" content="../../../reference/containers_overview/concurrent_unordered_map_cls.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="hash_policy_map_cls">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../../intel_css_styles.css">
+<title>Hash Policy</title>
+</head>
+<body id="hash_policy_map_cls">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(3);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="hash_policy_map_cls"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Hash Policy</h1>
+ 
+   
+  <div> 
+	 
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"><span class="tabledesc">The following table provides additional information on the members
+		  of this template class. 
+		</span><thead align="left"> 
+			 <tr> 
+				<th class="cellrowborder" valign="top" width="33.89830508474576%" id="d45200e29">Member 
+				</th>
+ 
+				<th class="cellrowborder" valign="top" width="66.10169491525423%" id="d45200e32">Description 
+				</th>
+ 
+			 </tr>
+</thead>
+ 
+		  <tbody> 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d45200e29 "><span class="keyword">float load_factor() const</span> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d45200e32 "> 
+				  <p><strong>Returns</strong>: Average number of elements per bucket. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d45200e29 "><span class="keyword">float max_load_factor()
+					 const</span> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d45200e32 "> 
+				  <p><strong>Returns</strong>: Maximum size of a bucket. If insertion of an
+					 item causes a bucket to be bigger, the implementation may repartition or
+					 increase the number of buckets. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d45200e29 "><span class="keyword">void max_load_factor(float
+					 z)</span> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d45200e32 "> 
+				  <p>Set maximum size for a bucket to 
+					 <samp class="codeph"><em>z</em></samp>. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d45200e29 "><span class="keyword">void rehash(size_type n)</span> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d45200e32 "> 
+				  <p><strong>Requirements</strong>: 
+					 <samp class="codeph"><em>n</em></samp> must be a power of two. 
+				  </p>
+ 
+				  <p><strong>Effects</strong>: No effect if current number of buckets is at
+					 least 
+					 <samp class="codeph"><em>n</em></samp>. Otherwise increases number of
+					 buckets to 
+					 <samp class="codeph"><em>n</em></samp>. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+		  </tbody>
+ 
+		</table>
+</div>
+ 
+	 <div class="section"> 
+		 
+	 </div>
+ 
+  </div>
+ 
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../../reference/containers_overview/concurrent_unordered_map_cls.htm">concurrent_unordered_map and concurrent_unordered_multimap Template Classes</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/reference/containers_overview/concurrent_unordered_map_cls/lookup_map_cls.htm b/doc/help/reference/containers_overview/concurrent_unordered_map_cls/lookup_map_cls.htm
new file mode 100755
index 0000000..193f77f
--- /dev/null
+++ b/doc/help/reference/containers_overview/concurrent_unordered_map_cls/lookup_map_cls.htm
@@ -0,0 +1,234 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="Lookup">
+<meta name="DC.subject" content="Lookup">
+<meta name="keywords" content="Lookup">
+<meta name="DC.Relation" scheme="URI" content="../../../reference/containers_overview/concurrent_unordered_map_cls.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="lookup_map_cls">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../../intel_css_styles.css">
+<title>Lookup</title>
+</head>
+<body id="lookup_map_cls">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(3);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="lookup_map_cls"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Lookup</h1>
+ 
+   
+  <div> 
+        <div class="section">
+	 
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"><span class="tabledesc">The following table provides additional information on the members
+		  of the template classes
+                  <samp class="codeph">concurrent_unordered_map</samp> and
+                  <samp class="codeph">concurrent_unordered_multimap</samp>
+                  . 
+		</span><thead align="left"> 
+			 <tr> 
+				<th class="cellrowborder" valign="top" width="33.89830508474576%" id="d45586e37">Member 
+				</th>
+ 
+				<th class="cellrowborder" valign="top" width="66.10169491525423%" id="d45586e40">Description 
+				</th>
+ 
+			 </tr>
+</thead>
+ 
+		  <tbody> 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d45586e37 "><samp class="codeph">iterator find(const key_type&
+					 k)</samp> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d45586e40 "> 
+				  <p><strong>Returns</strong>: 
+					 <samp class="codeph">iterator</samp> pointing to item with key equivalent
+					 to 
+					 <samp class="codeph">k</samp>, or 
+					 <samp class="codeph">end()</samp> if no such item exists. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d45586e37 "><samp class="codeph">const_iterator find(const
+					 key_type& k) const</samp> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d45586e40 "> 
+				  <p><strong>Returns</strong>: 
+					 <samp class="codeph">const_iterator</samp> pointing to item with key
+					 equivalent to 
+					 <samp class="codeph">k</samp>, or 
+					 <samp class="codeph">end()</samp> if no such item exists. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d45586e37 "><samp class="codeph">size_type count(const key_type&
+					 k) const</samp> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d45586e40 "> 
+				  <p><strong>Returns</strong>: Number of items with keys
+					 equivalent to 
+					 <samp class="codeph">k</samp>. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d45586e37 "><samp class="codeph">std::pair<iterator, iterator>
+					 equal_range(const key_type& k)</samp> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d45586e40 "> 
+				  <p><strong>Returns</strong>: Range containing all keys
+					 in the map that are equivalent to 
+					 <samp class="codeph">k</samp>. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d45586e37 "><samp class="codeph">std::pair<const_iterator,
+					 const_iterator> equal_range(const key_type& k) const</samp> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d45586e40 "> 
+				  <p><strong>Returns</strong> 
+				  </p>
+ 
+				  <p>Range containing all keys in the map that
+					 are equivalent to 
+					 <samp class="codeph">k</samp>. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+		  </tbody>
+ 
+		</table>
+</div>
+ 
+         </div>
+
+         <div class="section">
+	 
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"><span class="tabledesc">The following table provides additional information on the members
+                  only available in the <samp class="codeph">concurrent_unordered_map</samp> template class. 
+		</span><thead align="left"> 
+			 <tr> 
+				<th class="cellrowborder" valign="top" width="33.89830508474576%" id="d45586e177">Member 
+				</th>
+ 
+				<th class="cellrowborder" valign="top" width="66.10169491525423%" id="d45586e180">Description 
+				</th>
+ 
+			 </tr>
+</thead>
+ 
+                 <tbody>
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d45586e177 "><samp class="codeph">mapped_type& operator[](const
+					 key_type& k)</samp> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d45586e180 "> 
+				  <p>Inserts a new item if item with key
+					 equivalent to 
+					 <samp class="codeph">k</samp> is not already present. 
+				  </p>
+ 
+				  <p><strong>Returns</strong>: Reference to 
+					 <samp class="codeph">x.second</samp> , where 
+					 <samp class="codeph">x</samp> is item in map with key equivalent to
+					 
+					 <samp class="codeph">k</samp>. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d45586e177 "><samp class="codeph">mapped_type& at( const
+					 key_type& k )</samp> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d45586e180 "> 
+				  <p>Throws exception if item with key
+					 equivalent to 
+					 <samp class="codeph">k</samp> is not already present. 
+				  </p>
+ 
+				  <p><strong>Returns</strong>: Reference to 
+					 <samp class="codeph">x.second</samp>, where 
+					 <samp class="codeph">x</samp> is the item in map with key equivalent to 
+					 <samp class="codeph">k</samp>. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d45586e177 "><samp class="codeph">const mapped_type& at(const
+					 key_type& k) const</samp> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d45586e180 "> 
+				  <p>Throws exception if item with key
+					 equivalent to 
+					 <samp class="codeph">k</samp> is not already present. 
+				  </p>
+ 
+				  <p><strong>Returns</strong>: Const reference to 
+					 <samp class="codeph">x.second</samp>, where 
+					 <samp class="codeph">x</samp> is the item in map with key
+					 equivalent to 
+					 <samp class="codeph">k</samp>. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+		  </tbody>
+ 
+		</table>
+</div>
+ 
+         </div>
+
+  </div>
+
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../../reference/containers_overview/concurrent_unordered_map_cls.htm">concurrent_unordered_map and concurrent_unordered_multimap Template Classes</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/reference/containers_overview/concurrent_unordered_map_cls/modifiers_map_cls.htm b/doc/help/reference/containers_overview/concurrent_unordered_map_cls/modifiers_map_cls.htm
new file mode 100755
index 0000000..0da50fb
--- /dev/null
+++ b/doc/help/reference/containers_overview/concurrent_unordered_map_cls/modifiers_map_cls.htm
@@ -0,0 +1,279 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="Modifiers">
+<meta name="DC.subject" content="Modifiers">
+<meta name="keywords" content="Modifiers">
+<meta name="DC.Relation" scheme="URI" content="../../../reference/containers_overview/concurrent_unordered_map_cls.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="modifiers_map_cls">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../../intel_css_styles.css">
+<title>Modifiers</title>
+</head>
+<body id="modifiers_map_cls">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(3);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="modifiers_map_cls"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Modifiers</h1>
+ 
+   
+  <div> 
+      <div class="section">
+	 
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"><span class="tabledesc">The following table provides additional information on the members
+		  of the 
+                  <samp class="codeph">concurrent_unordered_map</samp> and
+                  <samp class="codeph">concurrent_unordered_multimap</samp>
+                  template classes. 
+		</span><thead align="left"> 
+			 <tr> 
+				<th class="cellrowborder" valign="top" width="33.89830508474576%" id="d46377e37">Member 
+				</th>
+ 
+				<th class="cellrowborder" valign="top" width="66.10169491525423%" id="d46377e40">Description 
+				</th>
+ 
+			 </tr>
+</thead>
+ 
+		  <tbody> 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d46377e37 "><samp class="codeph"> std::pair<iterator, bool>
+					 insert(const value_type& x)</samp> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d46377e40 "> 
+				  <p>Constructs copy of 
+					 <samp class="codeph">x</samp> and attempts to insert it into the
+					 map. Destroys the copy if the attempt fails because there was already an item
+					 with the same key. 
+				  </p>
+ 
+				  <p><strong>Returns</strong>: 
+					 <samp class="codeph">std::pair(iterator,success)</samp>. The value 
+					 <samp class="codeph">iterator</samp> points to an item in the map with a matching
+					 key. The value of 
+					 <samp class="codeph">success</samp> is true if the item was inserted; false
+					 otherwise. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d46377e37 "><samp class="codeph">iterator insert(const_iterator hint,
+					 const value_type& x)</samp> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d46377e40 "> 
+				  <p>Same as 
+					 <samp class="codeph">insert(x)</samp>. 
+				  </p>
+ 
+				  <div class="Note"><h3 class="NoteTipHead">
+					Note</h3> 
+					 <p>The current implementation ignores the
+						hint argument. Other implementations might not ignore it. It exists for
+						similarity with the C++11 class 
+						<samp class="codeph">unordered_map</samp>. It hints to the
+						implementation about where to start searching. Typically it should point to an
+						item adjacent to where the item will be inserted. 
+					 </p>
+ 
+				  </div> 
+				  <p><strong>Returns</strong>: Iterator pointing to
+					 inserted item, or item already in the map with the same key. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d46377e37 "><samp class="codeph">template<class InputIterator>
+					 void insert(InputIterator first, InputIterator last)</samp> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d46377e40 "> 
+				  <p>Does 
+					 <samp class="codeph">insert(*<em>i</em>)</samp> where 
+					 <samp class="codeph">i</samp> is in the half-open interval
+					 <samp class="codeph">[first,last)</samp>. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d46377e37 "><samp class="codeph">iterator unsafe_erase(const_iterator
+					 position)</samp> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d46377e40 "> 
+				  <p>Removes the item pointed to by 
+					 <samp class="codeph">position</samp> from the map. 
+				  </p>
+ 
+				  <p><strong>Returns</strong>: Iterator pointing to item
+					 that was immediately after the erased item, or 
+					 <samp class="codeph">end()</samp> if erased item was the last item in the
+					 map. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d46377e37 "><samp class="codeph">size_type unsafe_erase(const
+					 key_type& k)</samp> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d46377e40 "> 
+				  <p>Removes item with key 
+					 <samp class="codeph">k</samp> if such an item exists. 
+				  </p>
+ 
+				  <p><strong>Returns</strong>: 1 if an item was removed; 0
+					 otherwise. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d46377e37 "><samp class="codeph">iterator unsafe_erase(const_iterator
+					 first, const_iterator last)</samp> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d46377e40 "> 
+				  <p>Removes 
+					 <samp class="codeph">*i</samp> where 
+					 <samp class="codeph">i</samp> is in the half-open interval<samp class="codeph">
+						[first,last)</samp> .
+				  </p>
+ 
+				  <p><strong>Returns</strong>: 
+					 <samp class="codeph">last</samp> 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d46377e37 "><samp class="codeph">void clear()</samp> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d46377e40 "> 
+				  <p>Remove all items from the map. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+		  </tbody>
+ 
+		</table>
+</div>
+ 
+      </div>
+
+      <div class="section">
+	 
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"><span class="tabledesc">The following table provides additional information on 
+		  the <samp class="codeph">concurrent_unordered_map</samp> template class. 
+		</span><thead align="left"> 
+			 <tr> 
+				<th class="cellrowborder" valign="top" width="33.89830508474576%" id="d46377e248">Member 
+				</th>
+ 
+				<th class="cellrowborder" valign="top" width="66.10169491525423%" id="d46377e251">Description 
+				</th>
+ 
+			 </tr>
+</thead>
+ 
+		  <tbody> 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d46377e248 "><samp class="codeph">void
+					 swap(concurrent_unordered_map& m)</samp> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d46377e251 "> 
+				  <p>Swaps contents of 
+					 <samp class="codeph">*this</samp> and 
+					 <samp class="codeph">m</samp>. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+		  </tbody>
+ 
+		</table>
+</div>
+ 
+      </div>
+
+      <div class="section">
+	 
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"><span class="tabledesc">The following table provides additional information on 
+		  the <samp class="codeph">concurrent_unordered_multimap</samp> template class. 
+		</span><thead align="left"> 
+			 <tr> 
+				<th class="cellrowborder" valign="top" width="33.89830508474576%" id="d46377e298">Member 
+				</th>
+ 
+				<th class="cellrowborder" valign="top" width="66.10169491525423%" id="d46377e301">Description 
+				</th>
+ 
+			 </tr>
+</thead>
+ 
+		  <tbody> 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d46377e298 "><samp class="codeph">void
+					 swap(concurrent_unordered_multimap& m)</samp> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d46377e301 "> 
+				  <p>Swaps contents of 
+					 <samp class="codeph">*this</samp> and 
+					 <samp class="codeph">m</samp>. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+		  </tbody>
+ 
+		</table>
+</div>
+ 
+      </div>
+
+  </div>
+ 
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../../reference/containers_overview/concurrent_unordered_map_cls.htm">concurrent_unordered_map and concurrent_unordered_multimap Template Classes</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/reference/containers_overview/concurrent_unordered_map_cls/observers_map_cls.htm b/doc/help/reference/containers_overview/concurrent_unordered_map_cls/observers_map_cls.htm
new file mode 100755
index 0000000..993818d
--- /dev/null
+++ b/doc/help/reference/containers_overview/concurrent_unordered_map_cls/observers_map_cls.htm
@@ -0,0 +1,91 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="Observers">
+<meta name="DC.subject" content="Observers">
+<meta name="keywords" content="Observers">
+<meta name="DC.Relation" scheme="URI" content="../../../reference/containers_overview/concurrent_unordered_map_cls.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="observers_map_cls">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../../intel_css_styles.css">
+<title>Observers</title>
+</head>
+<body id="observers_map_cls">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(3);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="observers_map_cls"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Observers</h1>
+ 
+  
+  <div> 
+      <div class="section">
+	 
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"><span class="tabledesc">The following table provides additional information on the members
+		  of the
+                  <samp class="codeph">concurrent_unordered_map</samp> and
+                  <samp class="codeph">concurrent_unordered_multimap</samp>
+                  template classes. 
+		</span><thead align="left"> 
+			 <tr> 
+				<th class="cellrowborder" valign="top" width="33.89830508474576%" id="d47277e37">Member 
+				</th>
+ 
+				<th class="cellrowborder" valign="top" width="66.10169491525423%" id="d47277e40">Description 
+				</th>
+ 
+			 </tr>
+</thead>
+ 
+		  <tbody> 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d47277e37 "><samp class="codeph">hasher hash_function()
+					 const()</samp> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d47277e40 "> 
+				  <p><strong>Returns</strong>: Hashing functor associated
+					 with the map.
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d47277e37 "><samp class="codeph">key_equal key_eq() const</samp> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d47277e40 "> 
+				  <p><strong>Returns</strong>: Key equivalence functor
+					 associated with the map.
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+		  </tbody>
+ 
+		</table>
+</div>
+ 
+      </div>
+
+  </div>
+
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../../reference/containers_overview/concurrent_unordered_map_cls.htm">concurrent_unordered_map and concurrent_unordered_multimap Template Classes</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/reference/containers_overview/concurrent_unordered_map_cls/parallel_iteration_map_cls.htm b/doc/help/reference/containers_overview/concurrent_unordered_map_cls/parallel_iteration_map_cls.htm
new file mode 100755
index 0000000..5acc66f
--- /dev/null
+++ b/doc/help/reference/containers_overview/concurrent_unordered_map_cls/parallel_iteration_map_cls.htm
@@ -0,0 +1,105 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="Parallel Iteration">
+<meta name="DC.subject" content="Parallel Iteration">
+<meta name="keywords" content="Parallel Iteration">
+<meta name="DC.Relation" scheme="URI" content="../../../reference/containers_overview/concurrent_unordered_map_cls.htm">
+<meta name="DC.Relation" scheme="URI" content="../container_range_concept.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="parallel_literation_map_cls">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../../intel_css_styles.css">
+<title>Parallel Iteration</title>
+</head>
+<body id="parallel_literation_map_cls">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(3);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="parallel_literation_map_cls"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Parallel Iteration</h1>
+ 
+  
+  <div>
+	 <div class="section">
+		<p>Types 
+		  <samp class="codeph">const_range_type</samp> and 
+		  <samp class="codeph">range_type</samp> model the Container Range concept. The
+		  types differ only in that the bounds for a 
+		  <samp class="codeph">const_range_type</samp> are of type 
+		  <samp class="codeph">const_iterator</samp>, whereas the bounds for a 
+		  <samp class="codeph">range_type</samp> are of type iterator.
+		</p>
+
+		
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"><span class="tabledesc">The following table provides additional information on the
+			 members of this template class. 
+		  </span><thead align="left"> 
+				<tr> 
+				  <th class="cellrowborder" valign="top" width="33.89830508474576%" id="d47499e49">Member 
+				  </th>
+ 
+				  <th class="cellrowborder" valign="top" width="66.10169491525423%" id="d47499e52">Description 
+				  </th>
+ 
+				</tr>
+</thead>
+ 
+			 <tbody> 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d47499e49 "><samp class="codeph">const_range_type range()
+						const</samp> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d47499e52 ">
+					 <p><strong>Returns</strong>: 
+						<samp class="codeph">const_range_type</samp> object representing all
+						keys in the table. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d47499e49 "><samp class="codeph">range_type range()</samp> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d47499e52 ">
+					 <p><strong>Returns</strong>: 
+						<samp class="codeph">range_type</samp> object representing all keys in
+						the table.
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+			 </tbody>
+ 
+		  </table>
+</div>
+
+	 </div>
+ 
+  </div>
+
+  
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../../reference/containers_overview/concurrent_unordered_map_cls.htm">concurrent_unordered_map and concurrent_unordered_multimap Template Classes</a></div>
+</div>
+<div class="See Also">
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="../container_range_concept.htm">Container Range
+		  </a></div></div>
+</div> 
+
+</body>
+</html>
diff --git a/doc/help/reference/containers_overview/concurrent_unordered_map_cls/size_and_capacity_map_cls.htm b/doc/help/reference/containers_overview/concurrent_unordered_map_cls/size_and_capacity_map_cls.htm
new file mode 100755
index 0000000..73b5ecf
--- /dev/null
+++ b/doc/help/reference/containers_overview/concurrent_unordered_map_cls/size_and_capacity_map_cls.htm
@@ -0,0 +1,122 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="Size and capacity">
+<meta name="DC.subject" content="Size and Capacity">
+<meta name="keywords" content="Size and Capacity">
+<meta name="DC.Relation" scheme="URI" content="../../../reference/containers_overview/concurrent_unordered_map_cls.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="size_and_capacity_map_cls">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../../intel_css_styles.css">
+<title>Size and capacity</title>
+</head>
+<body id="size_and_capacity_map_cls">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(3);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="size_and_capacity_map_cls"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Size and capacity</h1>
+ 
+   
+  <div> 
+	 <div class="section"> 
+		
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"><span class="tabledesc">The following table provides additional information on the
+			 members of the 
+			 <samp class="codeph">concurrent_unordered_map</samp> and 
+			 <samp class="codeph">concurrent_unordered_multimap</samp> template classes. 
+		  </span><thead align="left"> 
+				<tr> 
+				  <th class="cellrowborder" valign="top" width="33.89830508474576%" id="d47765e37">Member 
+				  </th>
+ 
+				  <th class="cellrowborder" valign="top" width="66.10169491525423%" id="d47765e40">Description 
+				  </th>
+ 
+				</tr>
+</thead>
+ 
+			 <tbody> 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d47765e37 "><samp class="codeph">bool empty() const</samp> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d47765e40 "> 
+					 <p><strong>Returns</strong>: 
+						<samp class="codeph">size()!=0.</samp> 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d47765e37 "><samp class="codeph">size_type size() const</samp> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d47765e40 "> 
+					 <p><strong>Returns</strong>: Number of items in 
+						<samp class="codeph">*this</samp>. 
+					 </p>
+ 
+					 <div class="Note"><h3 class="NoteTipHead">
+					Caution</h3> 
+						<p>Though the current implementation takes
+						  time 
+						  <samp class="codeph">O(1)</samp>, possible future implementations
+						  might take time 
+						  <samp class="codeph">O(P)</samp>, where 
+						  <samp class="codeph">P</samp> is the number of hardware threads. 
+						</p>
+ 
+					 </div> 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d47765e37 "><samp class="codeph">size_type max_size() const</samp>
+					 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d47765e40 "> 
+					 <p><strong>Returns</strong>: Upper bound on number of
+						items that 
+						<samp class="codeph">*this</samp> can hold. 
+					 </p>
+ 
+					 <div class="Note"><h3 class="NoteTipHead">
+					Caution</h3> 
+						<p>The upper bound may be much higher than
+						  what the container can actually hold. 
+						</p>
+ 
+					 </div> 
+				  </td>
+ 
+				</tr>
+ 
+			 </tbody>
+ 
+		  </table>
+</div>
+ 
+	 </div>
+ 
+  </div>
+ 
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../../reference/containers_overview/concurrent_unordered_map_cls.htm">concurrent_unordered_map and concurrent_unordered_multimap Template Classes</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/reference/containers_overview/concurrent_unordered_set_cls.htm b/doc/help/reference/containers_overview/concurrent_unordered_set_cls.htm
new file mode 100755
index 0000000..038f5b8
--- /dev/null
+++ b/doc/help/reference/containers_overview/concurrent_unordered_set_cls.htm
@@ -0,0 +1,430 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="concurrent_unordered_set and concurrent_unordered_multiset Template Classes">
+<meta name="DC.subject" content="concurrent_unordered_set, concurrent_unordered_multiset">
+<meta name="keywords" content="concurrent_unordered_set, concurrent_unordered_multiset">
+<meta name="DC.Relation" scheme="URI" content="../../reference/containers_overview.htm">
+<meta name="DC.Relation" scheme="URI" content="../../reference/containers_overview/concurrent_unordered_set_cls/construct_destroy_copy_set_cls.htm">
+<meta name="DC.Relation" scheme="URI" content="../../reference/containers_overview/concurrent_unordered_set_cls/size_and_capacity_set_cls.htm">
+<meta name="DC.Relation" scheme="URI" content="../../reference/containers_overview/concurrent_unordered_set_cls/container_iterators_set_cls.htm">
+<meta name="DC.Relation" scheme="URI" content="../../reference/containers_overview/concurrent_unordered_set_cls/modifiers_set_cls.htm">
+<meta name="DC.Relation" scheme="URI" content="../../reference/containers_overview/concurrent_unordered_set_cls/observers_set_cls.htm">
+<meta name="DC.Relation" scheme="URI" content="../../reference/containers_overview/concurrent_unordered_set_cls/lookup_set_cls.htm">
+<meta name="DC.Relation" scheme="URI" content="../../reference/containers_overview/concurrent_unordered_set_cls/parallel_iteration_set_cls.htm">
+<meta name="DC.Relation" scheme="URI" content="../../reference/containers_overview/concurrent_unordered_set_cls/bucket_interface_set_cls.htm">
+<meta name="DC.Relation" scheme="URI" content="../../reference/containers_overview/concurrent_unordered_set_cls/hash_policy_set_cls.htm">
+<meta name="DC.Relation" scheme="URI" content="concurrent_hash_map_cls.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="concurrent_unordered_set_cls">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../intel_css_styles.css">
+<title>concurrent_unordered_set and concurrent_unordered_multiset Template Classes</title>
+</head>
+<body id="concurrent_unordered_set_cls">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(2);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="concurrent_unordered_set_cls"><!-- --></a>
+
+ 
+  <h1 class="topictitle1"> 
+	 <samp class="codeph">concurrent_unordered_set</samp> and 
+	 <samp class="codeph">concurrent_unordered_multiset</samp> Template Classes</h1>
+ 
+   
+  <div> 
+	 <div class="section"><h2 class="sectiontitle">Summary</h2> 
+		 
+		<p>Template classes for set containers that supports
+		  concurrent insertion and traversal. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Syntax</h2> 
+		 
+		<pre>template <typename Key, 
+          typename Hasher = tbb_hash<Key>, 
+          typename Equality = std::equal_to<Key>, 
+          typename Allocator = tbb::tbb_allocator<Key>
+class concurrent_unordered_set;</pre> 
+		<pre>template <typename Key, 
+          typename Hasher = tbb_hash<Key>, 
+          typename Equality = std::equal_to<Key>, 
+          typename Allocator = tbb::tbb_allocator<Key>
+class concurrent_unordered_multiset;</pre> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Header</h2> 
+		 
+		<pre>#include "tbb/concurrent_unordered_set.h"</pre> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Description</h2> 
+		 
+		<p> 
+		  <samp class="codeph">concurrent_unordered_set</samp> and 
+		  <samp class="codeph">concurrent_unordered_multiset</samp> support concurrent
+		  insertion and traversal, but not concurrent erasure. The interfaces have no
+		  visible locking. They may hold locks internally, but never while calling
+		  user-defined code. They have semantics similar to the C++11 
+		  <samp class="codeph">std::unordered_set</samp> and 
+		  <samp class="codeph">std::unordered_multiset</samp> respectively except as
+		  follows: 
+		</p>
+ 
+		<ul type="disc"> 
+		  <li> 
+			 <p>Some methods requiring C++11 language features (such
+				as rvalue references and 
+				<samp class="codeph">std::initializer_list</samp>) are omitted. 
+			 </p>
+ 
+		  </li>
+ 
+		  <li> 
+			 <p>The erase methods are prefixed with 
+				<samp class="codeph">unsafe_</samp>, to indicate that they are not concurrency
+				safe. 
+			 </p>
+ 
+		  </li>
+ 
+		  <li> 
+			 <p>Bucket methods are prefixed with 
+				<samp class="codeph">unsafe_</samp> as a reminder that they are not
+				concurrency safe with respect to insertion. 
+			 </p>
+ 
+		  </li>
+ 
+		  <li> 
+			 <p>For 
+				<samp class="codeph">concurrent_unordered_set</samp>, 
+				<samp class="codeph">insert</samp> methods may create a temporary item that is
+				destroyed if another thread inserts the same item concurrently. 
+			 </p>
+ 
+		  </li>
+ 
+		  <li> 
+			 <p>Like 
+				<samp class="codeph">std::list</samp>, insertion of new items does 
+				<em>not</em> invalidate any iterators, nor change the order of items
+				already in the map. Insertion and traversal may be concurrent. 
+			 </p>
+ 
+		  </li>
+ 
+		  <li> 
+			 <p>The iterator types 
+				<samp class="codeph">iterator</samp> and 
+				<samp class="codeph">const_iterator</samp> are of the forward iterator
+				category. 
+			 </p>
+ 
+		  </li>
+ 
+		  <li> 
+			 <p>Insertion does not invalidate or update the
+				iterators returned by 
+				<samp class="codeph">equal_range</samp>, so insertion may cause non-equal
+				items to be inserted at the end of the range. However, the first iterator will
+				nonetheless point to the found item even after an insertion operation. 
+			 </p>
+ 
+		  </li>
+ 
+		</ul>
+ 
+		
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"><thead align="left"> 
+				<tr> 
+				  <th class="cellrowborder" valign="top" width="37.453183520599254%" id="d48088e163"> 
+					 <p>Class 
+					 </p>
+ 
+				  </th>
+ 
+				  <th class="cellrowborder" valign="top" width="62.546816479400746%" id="d48088e169">Key Difference 
+				  </th>
+ 
+				</tr>
+</thead>
+ 
+			 <tbody> 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="37.453183520599254%" headers="d48088e163 "> 
+					 <p><samp class="codeph">concurrent_unordered_set</samp> 
+					 </p>
+ 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="62.546816479400746%" headers="d48088e169 "> 
+					 <p> An item may be inserted in 
+						<samp class="codeph">concurrent_unordered_set</samp> only once. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="37.453183520599254%" headers="d48088e163 "> 
+					 <p><samp class="codeph">concurrent_unordered_multiset</samp> 
+					 </p>
+ 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="62.546816479400746%" headers="d48088e169 "> 
+					 <ul type="disc"> 
+						<li> 
+						  <p> An item may be inserted in 
+							 <samp class="codeph">concurrent_unordered_multiset</samp> more than
+							 once. 
+						  </p>
+ 
+						</li>
+ 
+						<li> 
+						  <p><samp class="codeph">find</samp> will return the
+							 first item in the table with a matching search key, though concurrent accesses
+							 to the container may insert other other occurrences of the same item before the
+							 one returned. 
+						  </p>
+ 
+						</li>
+ 
+					 </ul>
+ 
+				  </td>
+ 
+				</tr>
+ 
+			 </tbody>
+ 
+		  </table>
+</div>
+ 
+		<div class="Note"><h3 class="NoteTipHead">
+					Caution</h3> 
+		  <p>As with any form of hash table, keys that are
+			 equal must have the same hash code, and the ideal hash function distributes
+			 keys uniformly across the hash code space. 
+		  </p>
+ 
+		</div> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Members of 
+		  <samp class="codeph">concurrent_unordered_set</samp> and 
+		  <samp class="codeph">concurrent_unordered_multiset</samp></h2> 
+		 
+		<p>In the following synopsis, methods shown in 
+		  <samp class="codeph"><span style="color:blue"><strong>bold font</strong></span></samp>
+		  may be concurrently invoked. For example, three different threads can
+		  concurrently call methods 
+		  <samp class="codeph">insert</samp>, 
+		  <samp class="codeph">begin</samp>, and 
+		  <samp class="codeph">size</samp>. Their results might be non-deterministic. For
+		  example, the result from size might correspond to before, or after the
+		  insertion. 
+		</p>
+ 
+		<pre>
+public:
+    <em>// types</em>
+    typedef Key key_type;
+    typedef Key value_type;
+    typedef Key mapped_type;
+    typedef Hash hasher;
+    typedef Equality key_equal;
+    typedef Alloc allocator_type;
+    typedef typename allocator_type::pointer pointer;
+    typedef typename allocator_type::const_pointer const_pointer;
+    typedef typename allocator_type::reference reference;
+    typedef typename allocator_type::const_reference const_reference;
+    typedef <em>implementation-defined</em> size_type;
+    typedef <em>implementation-defined</em> difference_type;
+    typedef <em>implementation-defined</em> iterator;
+    typedef <em>implementation-defined</em> const_iterator;
+    typedef <em>implementation-defined</em> local_iterator;
+    typedef <em>implementation-defined</em> const_local_iterator;
+
+    allocator_type get_allocator() const;
+
+    <em>// size and capacity</em>
+    bool <span style="color:blue"><strong>empty()</strong></span> const;     <em>// May take linear time!</em>
+    size_type <span style="color:blue"><strong>size()</strong></span> const; <em>// May take linear time!</em>
+    size_type max_size() const;
+
+    <em>// iterators</em> 
+    iterator <span style="color:blue"><strong>begin</strong></span>();
+    const_iterator <span style="color:blue"><strong>begin</strong></span>() const;
+    iterator <span style="color:blue"><strong>end</strong></span>();
+    const_iterator <span style="color:blue"><strong>end</strong></span>() const;
+    const_iterator <span style="color:blue"><strong>cbegin</strong></span>() const;
+    const_iterator <span style="color:blue"><strong>cend</strong></span>() const;
+
+    <em>// modifiers</em>
+    std::pair<iterator, bool> <span style="color:blue"><strong>insert</strong></span>(const value_type& x);
+    iterator <span style="color:blue"><strong>insert</strong></span>(const_iterator hint, const value_type& x);
+    template<class InputIterator> void <span style="color:blue"><strong>insert</strong></span>(InputIterator first, 
+                                              InputIterator last);
+    
+    iterator unsafe_erase(const_iterator position);
+    size_type unsafe_erase(const key_type& k);
+    iterator unsafe_erase(const_iterator first, const_iterator last);
+    void clear();
+
+    <em>// observers</em>
+    hasher hash_function() const;
+    key_equal key_eq() const;
+
+    <em>// lookup</em>
+    iterator <span style="color:blue"><strong>find</strong></span>(const key_type& k);
+    const_iterator <span style="color:blue"><strong>find</strong></span>(const key_type& k) const;
+    size_type <span style="color:blue"><strong>count</strong></span>(const key_type& k) const;
+    std::pair<iterator, iterator> <span style="color:blue"><strong>equal_range</strong></span>(const key_type& k);
+    std::pair<const_iterator, const_iterator> <span style="color:blue"><strong>equal_range</strong></span>(const key_type& k) const;
+
+    <em>// parallel iteration</em>
+    typedef <em>implementation defined</em> range_type;
+    typedef <em>implementation defined</em> const_range_type;
+    range_type range();
+    const_range_type range() const;
+    
+    <em>// bucket interface - for debugging</em> 
+    size_type unsafe_bucket_count() const;
+    size_type unsafe_max_bucket_count() const;
+    size_type unsafe_bucket_size(size_type n);
+    size_type unsafe_bucket(const key_type& k) const;
+    local_iterator unsafe_begin(size_type n);
+    const_local_iterator unsafe_begin(size_type n) const;
+    local_iterator unsafe_end(size_type n);
+    const_local_iterator unsafe_end(size_type n) const;
+    const_local_iterator unsafe_cbegin(size_type n) const;
+    const_local_iterator unsafe_cend(size_type n) const;
+
+    <em>// hash policy</em>
+    float load_factor() const;
+    float max_load_factor() const;
+    void max_load_factor(float z);
+    void rehash(size_type n);
+};
+</pre> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Members of 
+		  <samp class="codeph">concurrent_unordered_set</samp></h2> 
+		 
+		<pre>
+public:
+    <em>// construct/destroy/copy</em>
+    explicit concurrent_unordered_set(size_type n = <em>implementation-defined</em>,
+        const Hasher& hf = hasher(),
+        const key_equal& eql = key_equal(),
+        const allocator_type& a = allocator_type());
+    template <typename InputIterator>
+    concurrent_unordered_set(
+            InputIterator first, InputIterator last,
+            size_type n = <em>implementation-defined</em>,
+            const hasher& hf = hasher(),
+            const key_equal& eql = key_equal(),
+            const allocator_type& a = allocator_type());
+    concurrent_unordered_set(const concurrent_unordered_set&);
+    concurrent_unordered_set(const Alloc&);
+    concurrent_unordered_set(const concurrent_unordered_set&, const Alloc&);
+    <em>//C++11 specific</em> 
+    concurrent_unordered_set(const std::initializer_list<value_type> &il, 
+               size_type n = <em>implementation-defined</em>,
+               const Hasher& hf = hasher(),
+               const key_equal& eql = key_equal(),
+               const allocator_type& a = allocator_type());
+    ~concurrent_unordered_set();
+
+    concurrent_unordered_set& operator=( const concurrent_unordered_set&);
+    <em>//C++11 specific</em>
+    concurrent_unordered_set& operator=( const std::initializer_list<value_type> &il);
+
+    void swap(concurrent_unordered_set&);
+</pre> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Members of 
+		  <samp class="codeph">concurrent_unordered_multiset</samp></h2> 
+		 
+		<pre>
+public:
+    <em>// construct/destroy/copy</em>
+    explicit concurrent_unordered_multiset(size_type n = <em>implementation-defined</em>,
+        const Hasher& hf = hasher(),
+        const key_equal& eql = key_equal(),
+        const allocator_type& a = allocator_type());
+    template <typename InputIterator>
+    concurrent_unordered_multiset(
+            InputIterator first, InputIterator last,
+            size_type n = <em>implementation-defined</em>,
+            const hasher& hf = hasher(),
+            const key_equal& eql = key_equal(),
+            const allocator_type& a = allocator_type());
+    concurrent_unordered_multiset(const concurrent_unordered_multiset&);
+    concurrent_unordered_multiset(const Alloc&);
+    concurrent_unordered_multiset(const concurrent_unordered_multiset&, const Alloc&);
+        <em>//C++11 specific</em> 
+    concurrent_unordered_multiset(const std::initializer_list<value_type> &il, 
+               size_type n = <em>implementation-defined</em>,
+               const Hasher& hf = hasher(),
+               const key_equal& eql = key_equal(),
+               const allocator_type& a = allocator_type());
+    ~concurrent_unordered_multiset();
+
+    concurrent_unordered_multiset& operator=( const concurrent_unordered_multiset&);
+    <em>//C++11 specific</em>
+    concurrent_unordered_multiset& operator=( const std::initializer_list<value_type> &il);
+
+    void swap(concurrent_unordered_multiset&);
+</pre> 
+	 </div>
+ 
+  </div>
+ 
+  
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../reference/containers_overview.htm">Containers Overview</a></div>
+</div>
+<div class="See Also">
+<ul class="ullinks">
+<li class="ulchildlink"><a href="../../reference/containers_overview/concurrent_unordered_set_cls/construct_destroy_copy_set_cls.htm">Construct, Destroy, Copy</a><br>
+</li>
+<li class="ulchildlink"><a href="../../reference/containers_overview/concurrent_unordered_set_cls/size_and_capacity_set_cls.htm">Size and Capacity</a><br>
+</li>
+<li class="ulchildlink"><a href="../../reference/containers_overview/concurrent_unordered_set_cls/container_iterators_set_cls.htm">Iterators</a><br>
+</li>
+<li class="ulchildlink"><a href="../../reference/containers_overview/concurrent_unordered_set_cls/modifiers_set_cls.htm">Modifiers</a><br>
+</li>
+<li class="ulchildlink"><a href="../../reference/containers_overview/concurrent_unordered_set_cls/observers_set_cls.htm">Observers</a><br>
+</li>
+<li class="ulchildlink"><a href="../../reference/containers_overview/concurrent_unordered_set_cls/lookup_set_cls.htm">Lookup</a><br>
+</li>
+<li class="ulchildlink"><a href="../../reference/containers_overview/concurrent_unordered_set_cls/parallel_iteration_set_cls.htm">Parallel Iteration</a><br>
+</li>
+<li class="ulchildlink"><a href="../../reference/containers_overview/concurrent_unordered_set_cls/bucket_interface_set_cls.htm">Bucket Interface</a><br>
+</li>
+<li class="ulchildlink"><a href="../../reference/containers_overview/concurrent_unordered_set_cls/hash_policy_set_cls.htm">Hash Policy</a><br>
+</li>
+</ul>
+
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="concurrent_hash_map_cls.htm">concurrent_hash_map 
+		  </a></div></div>
+</div>
+
+</body>
+</html>
diff --git a/doc/help/reference/containers_overview/concurrent_unordered_set_cls/bucket_interface_set_cls.htm b/doc/help/reference/containers_overview/concurrent_unordered_set_cls/bucket_interface_set_cls.htm
new file mode 100755
index 0000000..4fbcc00
--- /dev/null
+++ b/doc/help/reference/containers_overview/concurrent_unordered_set_cls/bucket_interface_set_cls.htm
@@ -0,0 +1,238 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="Bucket Interface">
+<meta name="DC.subject" content="Bucket Interface">
+<meta name="keywords" content="Bucket Interface">
+<meta name="DC.Relation" scheme="URI" content="../../../reference/containers_overview/concurrent_unordered_set_cls.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="bucket_interface_set_cls">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../../intel_css_styles.css">
+<title>Bucket Interface</title>
+</head>
+<body id="bucket_interface_set_cls">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(3);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="bucket_interface_set_cls"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Bucket Interface</h1>
+ 
+   
+  <div> 
+	 <div class="section"> 
+		<p>The bucket interface is similar to the bucket
+		  interface for the C++11 class 
+		  <samp class="codeph">unordered_set</samp> and 
+		  <samp class="codeph">unordered_multiset</samp>, except that the prefix 
+		  <samp class="codeph">unsafe_</samp> has been added as a reminder that the methods
+		  are unsafe to use during concurrent insertion. 
+		</p>
+
+		<div class="Note"><h3 class="NoteTipHead">
+					Caution</h3> 
+		  <p>The bucket interface is intended for debugging.
+			 It is not concurrency safe. 
+		  </p>
+
+		  <p>The mapping of keys to buckets is implementation specific.
+		  </p>
+
+		</div> 
+		<p>Buckets are numbered from 0 to<samp class="codeph">
+			 unsafe_bucket_count()-1</samp>. To iterate over a bucket use a 
+		  <samp class="codeph">local_iterator</samp> or 
+		  <samp class="codeph">const_local_iterator</samp>. 
+		</p>
+ 
+		
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"><span class="tabledesc">The following table provides additional information on the
+			 members of this template class. 
+		  </span><thead align="left"> 
+				<tr> 
+				  <th class="cellrowborder" valign="top" width="33.89830508474576%" id="d49136e64">Member 
+				  </th>
+ 
+				  <th class="cellrowborder" valign="top" width="66.10169491525423%" id="d49136e67">Description 
+				  </th>
+ 
+				</tr>
+</thead>
+ 
+			 <tbody> 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d49136e64 "><span class="keyword">size_type unsafe_bucket_count()
+						const</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d49136e67 "> 
+					 <p><strong>Returns</strong>: Number of buckets. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d49136e64 "><span class="keyword">size_type
+						unsafe_max_bucket_count() const</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d49136e67 "> 
+					 <p><strong>Returns</strong>: Upper bound on possible
+						number of buckets. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d49136e64 "><span class="keyword">size_type
+						unsafe_bucket_size(size_type n)</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d49136e67 "> 
+					 <p><strong>Returns</strong>: Number of items in bucket
+						
+						<samp class="codeph"><em>n</em></samp>. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d49136e64 "><span class="keyword">size_type unsafe_bucket(const
+						key_type& k) const</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d49136e67 "> 
+					 <p><strong>Returns</strong>: Index of bucket where
+						item with key 
+						<em>k</em> would be placed. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d49136e64 "><span class="keyword">local_iterator
+						unsafe_begin(size_type n)</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d49136e67 "> 
+					 <p><strong>Returns</strong>: 
+						<samp class="codeph">local_iterator</samp> pointing to first item in
+						bucket 
+						<em>n</em>. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d49136e64 "><span class="keyword">const_local_iterator
+						unsafe_begin(size_type n) const</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d49136e67 "> 
+					 <p><strong>Returns</strong>: 
+						<samp class="codeph">const_local_iterator</samp> pointing to first item
+						in bucket 
+						<samp class="codeph"><em>n</em></samp>. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d49136e64 "><span class="keyword">local_iterator
+						unsafe_end(size_type n)</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d49136e67 "> 
+					 <p><strong>Returns</strong>: 
+						<samp class="codeph">local_iterator</samp> pointing to immediately after
+						the last item in bucket 
+						<samp class="codeph"><em>n</em></samp>. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d49136e64 "><span class="keyword">const_local_iterator
+						unsafe_end(size_type n) const</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d49136e67 "> 
+					 <p><strong>Returns</strong> 
+						<samp class="codeph">const_local_iterator</samp> pointing to immediately
+						after the last item in bucket 
+						<samp class="codeph"><em>n</em></samp>. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d49136e64 "><span class="keyword">const_local_iterator
+						unsafe_cbegin(size_type n) const</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d49136e67 "> 
+					 <p><strong>Returns</strong>: 
+						<samp class="codeph">const_local_iterator</samp> pointing to first item
+						in bucket 
+						<samp class="codeph"><em>n</em></samp>. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d49136e64 "><span class="keyword">const_local_iterator
+						unsafe_cend(size_type n) const</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d49136e67 "> 
+					 <p><strong>Returns</strong>: 
+						<samp class="codeph">const_local_iterator</samp> pointing to immediately
+						past last item in bucket 
+						<samp class="codeph"><em>n</em></samp>. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+			 </tbody>
+ 
+		  </table>
+</div>
+ 
+	 </div>
+ 
+  </div>
+ 
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../../reference/containers_overview/concurrent_unordered_set_cls.htm">concurrent_unordered_set and concurrent_unordered_multiset Template Classes</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/reference/containers_overview/concurrent_unordered_set_cls/construct_destroy_copy_set_cls.htm b/doc/help/reference/containers_overview/concurrent_unordered_set_cls/construct_destroy_copy_set_cls.htm
new file mode 100755
index 0000000..62f18d9
--- /dev/null
+++ b/doc/help/reference/containers_overview/concurrent_unordered_set_cls/construct_destroy_copy_set_cls.htm
@@ -0,0 +1,406 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="Construct, Destroy, Copy">
+<meta name="DC.subject" content="Construct, Destroy, Copy">
+<meta name="keywords" content="Construct, Destroy, Copy">
+<meta name="DC.Relation" scheme="URI" content="../../../reference/containers_overview/concurrent_unordered_set_cls.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="construct_destroy_copy_set_cls">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../../intel_css_styles.css">
+<title>Construct, Destroy, Copy</title>
+</head>
+<body id="construct_destroy_copy_set_cls">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(3);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="construct_destroy_copy_set_cls"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Construct, Destroy, Copy</h1>
+ 
+   
+  <div> 
+	 <div class="section"> The following tables provides information on the members of the 
+		<samp class="codeph">concurrent_unordered_set</samp> and 
+		<samp class="codeph">concurrent_unordered_multiset</samp> template classes. 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle"> 
+		  <samp class="codeph">concurrent_unordered_set</samp> </h2> 
+		 
+		
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"><thead align="left"> 
+				<tr> 
+				  <th class="cellrowborder" valign="top" width="50%" id="d50002e43">Member 
+				  </th>
+ 
+				  <th class="cellrowborder" valign="top" width="50%" id="d50002e46">Description 
+				  </th>
+ 
+				</tr>
+</thead>
+ 
+			 <tbody> 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="50%" headers="d50002e43 "><span class="keyword">explicit concurrent_unordered_set
+						(size_type n = implementation-defined, const hasher& hf = hasher(),const
+						key_equal& eql = key_equal(), const allocator_type& a =
+						allocator_type())</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="50%" headers="d50002e46 "> 
+					 <p>Construct table with 
+						<samp class="codeph">n</samp> buckets. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="50%" headers="d50002e43 "><span class="keyword">template <typename
+						InputIterator> concurrent_unordered_set (InputIterator first, InputIterator
+						last, size_type n = <implementation-defined>, const hasher& hf =
+						hasher(), const key_equal& eql = key_equal(), const allocator_type& a =
+						allocator_type())</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="50%" headers="d50002e46 "> 
+					 <p>Construct table with 
+						<samp class="codeph">n</samp> buckets initialized with 
+						<samp class="codeph">value_type(*<em>i</em>)</samp> where 
+						<samp class="codeph"><em>i</em></samp> is in the half open interval
+						[<samp class="codeph"><em>first,last</em></samp>). 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="50%" headers="d50002e43 "><span class="keyword">concurrent_unordered_set(const
+						unordered_set& m)</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="50%" headers="d50002e46 "> 
+					 <p>Construct copy of set 
+						<samp class="codeph"><em>m</em></samp>. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="50%" headers="d50002e43 "><span class="keyword">concurrent_unordered_set(const
+						Alloc& a)</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="50%" headers="d50002e46 "> 
+					 <p>Construct empty set using allocator 
+						<em>a</em>. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="50%" headers="d50002e43 "><span class="keyword">concurrent_unordered_set(const
+						unordered_set&, const Alloc& a)</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="50%" headers="d50002e46 "> 
+					 <p>Construct copy of set 
+						<em>m</em> using allocator 
+						<samp class="codeph"><em>a</em></samp>. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+
+				<tr> 
+					<td class="cellrowborder" valign="top" width="50%" headers="d50002e43 "><samp class="codeph">concurrent_unordered_set(
+						const std::initializer_list<value_type> &il, 
+						size_type n = <em>implementation-defined</em>,
+						const Hasher& hf = hasher(),
+						const key_equal& eql = key_equal(),
+						const allocator_type& a = allocator_type())</samp> 
+					</td>
+ 
+					<td class="cellrowborder" valign="top" width="50%" headers="d50002e46 "> 
+						<p>C++11 specific; Equivalent to 
+							<samp class="codeph">concurrent_unordered_set(<em>il</em>.begin(), 
+							  <em>il</em>.end(), 
+							  <em>a</em>)</samp>. 
+						</p>
+ 
+					</td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="50%" headers="d50002e43 "><span class="keyword">~concurrent_unordered_set()</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="50%" headers="d50002e46 "> 
+					 <p>Destroy the set. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="50%" headers="d50002e43 "><span class="keyword">concurrent_unordered_set&
+						operator=(const concurrent_unordered_set& m);</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="50%" headers="d50002e46 "> 
+					 <p>Set 
+						<samp class="codeph">*this</samp> to a copy of set 
+						<samp class="codeph"><em>m</em></samp>. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+					<td class="cellrowborder" valign="top" width="50%" headers="d50002e43 "><samp class="codeph">concurrent_unordered_set&
+					   operator=(const std::initializer_list<value_type> &il);</samp> 
+					</td>
+ 
+					<td class="cellrowborder" valign="top" width="50%" headers="d50002e46 "> 
+						<p>C++11 specific; Sets 
+						<samp class="codeph">*<em>this</em></samp> 
+						to contain data from
+						<samp class="codeph">il</samp>. 
+						</p>
+ 
+					</td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="50%" headers="d50002e43 "><span class="keyword">allocator_type get_allocator()
+						const; 
+					 </span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="50%" headers="d50002e46 "> 
+					 <p>Get copy of the allocator associated with
+						
+						<samp class="codeph">*this</samp>. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+			 </tbody>
+ 
+		  </table>
+</div>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle"> 
+		  <samp class="codeph">concurrent_unordered_multiset</samp> </h2> 
+		 
+		
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"><thead align="left"> 
+				<tr> 
+				  <th class="cellrowborder" valign="top" width="50%" id="d50002e281">Member 
+				  </th>
+ 
+				  <th class="cellrowborder" valign="top" width="50%" id="d50002e284">Description 
+				  </th>
+ 
+				</tr>
+</thead>
+ 
+			 <tbody> 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="50%" headers="d50002e281 "><span class="keyword">explicit
+						concurrent_unordered_multiset (size_type n = implementation-defined, const
+						hasher& hf = hasher(),const key_equal& eql = key_equal(), const
+						allocator_type& a = allocator_type())</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="50%" headers="d50002e284 "> 
+					 <p>Construct table with 
+						<samp class="codeph">n</samp> buckets. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="50%" headers="d50002e281 "><span class="keyword">template <typename
+						InputIterator> concurrent_unordered_multiset (InputIterator first,
+						InputIterator last, size_type n = <implementation-defined>, const
+						hasher& hf = hasher(), const key_equal& eql = key_equal(), const
+						allocator_type& a = allocator_type())</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="50%" headers="d50002e284 "> 
+					 <p>Construct table with 
+						<samp class="codeph">n</samp> buckets initialized with 
+						<samp class="codeph">value_type(*<em>i</em>)</samp> where 
+						<samp class="codeph"><em>i</em></samp> is in the half open interval
+						[<samp class="codeph"><em>first,last</em></samp>). 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="50%" headers="d50002e281 "><span class="keyword">concurrent_unordered_multiset(const
+						unordered_multiset& m)</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="50%" headers="d50002e284 "> 
+					 <p>Construct copy of set 
+						<samp class="codeph"><em>m</em></samp>. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="50%" headers="d50002e281 "><span class="keyword">concurrent_unordered_multiset(const Alloc&
+						a)</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="50%" headers="d50002e284 "> 
+					 <p>Construct empty set using allocator 
+						<em>a</em>. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="50%" headers="d50002e281 "><span class="keyword">concurrent_unordered_multiset(const
+						unordered_multiset&, const Alloc& a)</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="50%" headers="d50002e284 "> 
+					 <p>Construct copy of set 
+						<em>m</em> using allocator 
+						<samp class="codeph"><em>a</em></samp>. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+
+				<tr> 
+					<td class="cellrowborder" valign="top" width="50%" headers="d50002e281 "><samp class="codeph">concurrent_unordered_multiset(
+						const std::initializer_list<value_type> &il, 
+						size_type n = <em>implementation-defined</em>,
+						const Hasher& hf = hasher(),
+						const key_equal& eql = key_equal(),
+						const allocator_type& a = allocator_type())</samp> 
+					</td>
+ 
+					<td class="cellrowborder" valign="top" width="50%" headers="d50002e284 "> 
+						<p>C++11 specific; Equivalent to 
+							<samp class="codeph">concurrent_unordered_multiset(<em>il</em>.begin(), 
+							  <em>il</em>.end(), 
+							  <em>a</em>)</samp>. 
+						</p>
+ 
+					</td>
+ 
+				</tr>
+ 				 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="50%" headers="d50002e281 "><span class="keyword">~concurrent_unordered_multiset()</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="50%" headers="d50002e284 "> 
+					 <p>Destroy the set. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="50%" headers="d50002e281 "><span class="keyword">concurrent_
+						unordered_multiset& operator=(const concurrent_unordered_multiset&
+						m);</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="50%" headers="d50002e284 "> 
+					 <p>Set 
+						<samp class="codeph">*this</samp> to a copy of set 
+						<samp class="codeph"><em>m</em></samp>. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+					<td class="cellrowborder" valign="top" width="50%" headers="d50002e281 "><samp class="codeph">concurrent_unordered_multiset&
+					   operator=(const std::initializer_list<value_type> &il);</samp> 
+					</td>
+ 
+					<td class="cellrowborder" valign="top" width="50%" headers="d50002e284 "> 
+						<p>C++11 specific; Sets 
+						<samp class="codeph">*<em>this</em></samp> 
+						to contain data from
+						<samp class="codeph">il</samp>. 
+						</p>
+ 
+					</td>
+ 
+				</tr>
+ 				
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="50%" headers="d50002e281 "><span class="keyword">allocator_type get_allocator()
+						const; 
+					 </span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="50%" headers="d50002e284 "> 
+					 <p>Get copy of the allocator associated with
+						
+						<samp class="codeph">*this</samp>. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+			 </tbody>
+ 
+		  </table>
+</div>
+ 
+	 </div>
+ 
+  </div>
+ 
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../../reference/containers_overview/concurrent_unordered_set_cls.htm">concurrent_unordered_set and concurrent_unordered_multiset Template Classes</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/reference/containers_overview/concurrent_unordered_set_cls/container_iterators_set_cls.htm b/doc/help/reference/containers_overview/concurrent_unordered_set_cls/container_iterators_set_cls.htm
new file mode 100755
index 0000000..f5d785d
--- /dev/null
+++ b/doc/help/reference/containers_overview/concurrent_unordered_set_cls/container_iterators_set_cls.htm
@@ -0,0 +1,169 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="Iterators">
+<meta name="DC.subject" content="Iterators">
+<meta name="keywords" content="Iterators">
+<meta name="DC.Relation" scheme="URI" content="../../../reference/containers_overview/concurrent_unordered_set_cls.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="container_iterators_set_cls">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../../intel_css_styles.css">
+<title>Iterators</title>
+</head>
+<body id="container_iterators_set_cls">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(3);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="container_iterators_set_cls"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Iterators</h1>
+ 
+   
+  <div> 
+	 <div class="section"> 
+		<p>Template classes
+		  <samp class="codeph">concurrent_unordered_set</samp> and
+		  <samp class="codeph">concurrent_unordered_multiset</samp>
+                  support forward iterators;
+		  that is, iterators that can advance only forwards across a table. Reverse
+		  iterators are not supported. Concurrent operations (<samp class="codeph">count, find,
+			 insert</samp>) do 
+		  <em>not</em> invalidate any existing iterators that point into the table.
+		  Note that an iterator obtained via 
+		  <samp class="codeph">begin()</samp> will no longer point to the first item if 
+		  <samp class="codeph">insert</samp> inserts an item before it. 
+		  Erasure (<samp class="codeph">unsafe_erase</samp>) does <em>not</em> invalidate iterators
+		  other than those pointing to erased elements.
+		</p>
+ 
+		<p>Methods 
+		  <samp class="codeph">cbegin</samp> and 
+		  <samp class="codeph">cend</samp> follow C++11 conventions. They return 
+		  <samp class="codeph">const_iterator</samp> even if the object is non-const. 
+		</p>
+ 
+	 </div>
+ 
+	 
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"><span class="tabledesc">The following table provides additional information on the members
+		  of this template class. 
+		</span><thead align="left"> 
+			 <tr> 
+				<th class="cellrowborder" valign="top" width="33.89830508474576%" id="d51575e72">Member 
+				</th>
+ 
+				<th class="cellrowborder" valign="top" width="66.10169491525423%" id="d51575e75">Description 
+				</th>
+ 
+			 </tr>
+</thead>
+ 
+		  <tbody> 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d51575e72 "><span class="keyword">iterator begin()</span> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d51575e75 "> 
+				  <p><strong>Returns</strong>: 
+					 <samp class="codeph">iterator</samp> pointing to first item in the set. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d51575e72 "><span class="keyword">const_iterator begin()
+					 const</span> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d51575e75 "> 
+				  <p><strong>Returns</strong>: 
+					 <samp class="codeph">const_iterator</samp> pointing to first item in the
+					 set. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d51575e72 "><span class="keyword">iterator end()</span> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d51575e75 "> 
+				  <p><strong>Returns</strong>: 
+					 <samp class="codeph">iterator</samp> pointing to immediately past last
+					 item in the set. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d51575e72 "><span class="keyword">const_iterator end() const</span>
+				  
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d51575e75 "> 
+				  <p><strong>Returns</strong>: 
+					 <samp class="codeph">const_iterator</samp> pointing to immediately past
+					 last item in the set. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d51575e72 "><span class="keyword">const_iterator cbegin()
+					 const</span> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d51575e75 "> 
+				  <p><strong>Returns</strong>: 
+					 <samp class="codeph">const_iterator</samp> pointing to the first item in
+					 the set. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d51575e72 "><span class="keyword">const_iterator cend()
+					 const</span> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d51575e75 "> 
+				  <p><strong>Returns</strong>: 
+					 <samp class="codeph">const_iterator</samp> pointing to immediately after
+					 the last item in the set. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+		  </tbody>
+ 
+		</table>
+</div>
+ 
+  </div>
+ 
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../../reference/containers_overview/concurrent_unordered_set_cls.htm">concurrent_unordered_set and concurrent_unordered_multiset Template Classes</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/reference/containers_overview/concurrent_unordered_set_cls/hash_policy_set_cls.htm b/doc/help/reference/containers_overview/concurrent_unordered_set_cls/hash_policy_set_cls.htm
new file mode 100755
index 0000000..d1ecfbb
--- /dev/null
+++ b/doc/help/reference/containers_overview/concurrent_unordered_set_cls/hash_policy_set_cls.htm
@@ -0,0 +1,119 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="Hash Policy">
+<meta name="DC.subject" content="Hash policy">
+<meta name="keywords" content="Hash policy">
+<meta name="DC.Relation" scheme="URI" content="../../../reference/containers_overview/concurrent_unordered_set_cls.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="hash_policy_set_cls">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../../intel_css_styles.css">
+<title>Hash Policy</title>
+</head>
+<body id="hash_policy_set_cls">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(3);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="hash_policy_set_cls"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Hash Policy</h1>
+ 
+  
+  <div> 
+	 
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"><span class="tabledesc">The following table provides additional information on the members
+		  of this template class. 
+		</span><thead align="left"> 
+			 <tr> 
+				<th class="cellrowborder" valign="top" width="33.89830508474576%" id="d52141e29">Member 
+				</th>
+ 
+				<th class="cellrowborder" valign="top" width="66.10169491525423%" id="d52141e32">Description 
+				</th>
+ 
+			 </tr>
+</thead>
+ 
+		  <tbody> 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d52141e29 "><span class="keyword">float load_factor() const</span> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d52141e32 "> 
+				  <p><strong>Returns</strong>: Average number of elements per bucket. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d52141e29 "><span class="keyword">float max_load_factor()
+					 const</span> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d52141e32 "> 
+				  <p><strong>Returns</strong>: Maximum size of a bucket. If insertion of an
+					 item causes a bucket to be bigger, the implementation may repartition or
+					 increase the number of buckets. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d52141e29 "><span class="keyword">void max_load_factor(float
+					 z)</span> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d52141e32 "> 
+				  <p>Set maximum size for a bucket to 
+					 <samp class="codeph"><em>z</em></samp>. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d52141e29 "><span class="keyword">void rehash(size_type n)</span> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d52141e32 "> 
+				  <p><strong>Requirements</strong>: 
+					 <samp class="codeph"><em>n</em></samp> must be a power of two. 
+				  </p>
+ 
+				  <p><strong>Effects</strong>: No effect if current number of buckets is at
+					 least 
+					 <samp class="codeph"><em>n</em></samp>. Otherwise increases number of
+					 buckets to 
+					 <samp class="codeph"><em>n</em></samp>. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+		  </tbody>
+ 
+		</table>
+</div>
+
+  </div>
+ 
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../../reference/containers_overview/concurrent_unordered_set_cls.htm">concurrent_unordered_set and concurrent_unordered_multiset Template Classes</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/reference/containers_overview/concurrent_unordered_set_cls/lookup_set_cls.htm b/doc/help/reference/containers_overview/concurrent_unordered_set_cls/lookup_set_cls.htm
new file mode 100755
index 0000000..56d1302
--- /dev/null
+++ b/doc/help/reference/containers_overview/concurrent_unordered_set_cls/lookup_set_cls.htm
@@ -0,0 +1,137 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="Lookup">
+<meta name="DC.subject" content="Lookup">
+<meta name="keywords" content="Lookup">
+<meta name="DC.Relation" scheme="URI" content="../../../reference/containers_overview/concurrent_unordered_set_cls.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="lookup_set_cls">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../../intel_css_styles.css">
+<title>Lookup</title>
+</head>
+<body id="lookup_set_cls">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(3);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="lookup_set_cls"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Lookup</h1>
+ 
+   
+  <div> 
+	 
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"><span class="tabledesc">The following table provides additional information on the members
+		  of this template class. 
+		</span><thead align="left"> 
+			 <tr> 
+				<th class="cellrowborder" valign="top" width="33.89830508474576%" id="d52517e29">Member 
+				</th>
+ 
+				<th class="cellrowborder" valign="top" width="66.10169491525423%" id="d52517e32">Description 
+				</th>
+ 
+			 </tr>
+</thead>
+ 
+		  <tbody> 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d52517e29 "><span class="keyword">iterator find(const key_type&
+					 k)</span> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d52517e32 "> 
+				  <p><strong>Returns</strong>: 
+					 <samp class="codeph">iterator</samp> pointing to item with key equivalent
+					 to 
+					 <samp class="codeph"><em>k</em></samp>, or 
+					 <samp class="codeph">end()</samp> if no such item exists. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d52517e29 "><span class="keyword">const_iterator find(const
+					 key_type& k) const</span> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d52517e32 "> 
+				  <p><strong>Returns</strong>: 
+					 <samp class="codeph">const_iterator</samp> pointing to item with key
+					 equivalent to 
+					 <samp class="codeph"><em>k</em></samp>, or 
+					 <samp class="codeph">end()</samp> if no such item exists. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d52517e29 "><span class="keyword">size_type count(const key_type&
+					 k) const</span> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d52517e32 "> 
+				  <p><strong>Returns</strong>: Number of items with keys
+					 equivalent to 
+					 <samp class="codeph"><em>k</em></samp>. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d52517e29 "><span class="keyword">std::pair<iterator, iterator>
+					 equal_range(const key_type& k)</span> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d52517e32 "> 
+				  <p><strong>Returns</strong>: Range containing all keys
+					 in the set that are equivalent to 
+					 <samp class="codeph"><em>k</em></samp>. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d52517e29 "><span class="keyword">std::pair<const_iterator,
+					 const_iterator> equal_range(const key_type& k) const</span> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d52517e32 "> 
+				  <p><strong>Returns</strong>: Range containing all keys
+					 in the set that are equivalent to 
+					 <samp class="codeph"><em>k</em></samp>. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+		  </tbody>
+ 
+		</table>
+</div>
+ 
+  </div>
+
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../../reference/containers_overview/concurrent_unordered_set_cls.htm">concurrent_unordered_set and concurrent_unordered_multiset Template Classes</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/reference/containers_overview/concurrent_unordered_set_cls/modifiers_set_cls.htm b/doc/help/reference/containers_overview/concurrent_unordered_set_cls/modifiers_set_cls.htm
new file mode 100755
index 0000000..a5605a8
--- /dev/null
+++ b/doc/help/reference/containers_overview/concurrent_unordered_set_cls/modifiers_set_cls.htm
@@ -0,0 +1,281 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="Modifiers">
+<meta name="DC.subject" content="Modifiers">
+<meta name="keywords" content="Modifiers">
+<meta name="DC.Relation" scheme="URI" content="../../../reference/containers_overview/concurrent_unordered_set_cls.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="modifiers_set_cls">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../../intel_css_styles.css">
+<title>Modifiers</title>
+</head>
+<body id="modifiers_set_cls">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(3);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="modifiers_set_cls"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Modifiers</h1>
+ 
+   
+  <div> 
+	 <div class="section"> 
+		
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"><span class="tabledesc">The following tables provides additional information on the
+			 members of the 
+			 <samp class="codeph">concurrent_unordered_set</samp> and 
+			 <samp class="codeph">concurrent_unordered_multiset</samp> template classes. 
+		  </span><thead align="left"> 
+				<tr> 
+				  <th class="cellrowborder" valign="top" width="33.89830508474576%" id="d52983e37">Member 
+				  </th>
+ 
+				  <th class="cellrowborder" valign="top" width="66.10169491525423%" id="d52983e40">Description 
+				  </th>
+ 
+				</tr>
+</thead>
+ 
+			 <tbody> 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d52983e37 "><span class="keyword"> std::pair<iterator, bool>
+						insert(const value_type& x)</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d52983e40 "> 
+					 <p>Constructs copy of 
+						<samp class="codeph"><em>x</em></samp> and attempts to insert it into the
+						set. Destroys the copy if the attempt fails because there was already an item
+						with the same key. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: 
+						<samp class="codeph">std::pair(<em>iterator,success</em>)</samp>. The
+						value 
+						<em>iterator</em> points to an item in the set with a matching
+						key. The value of 
+						<em>success</em> is true if the item was inserted; false
+						otherwise. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d52983e37 "><span class="keyword">iterator insert(const_iterator
+						hint, const value_type& x)</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d52983e40 "> 
+					 <p>Same as 
+						<samp class="codeph">insert(x)</samp>. 
+					 </p>
+ 
+					 <div class="Note"><h3 class="NoteTipHead">
+					Note</h3> 
+						<p>The current implementation ignores the
+						  hint argument. Other implementations might not ignore it. It exists for
+						  similarity with the C++11 classes 
+						  <samp class="codeph">unordered_set</samp> and 
+						  <samp class="codeph">unordered_multiset</samp>. It hints to the
+						  implementation about where to start searching. Typically it should point to an
+						  item adjacent to where the item will be inserted. 
+						</p>
+ 
+					 </div> 
+					 <p><strong>Returns</strong>: Iterator pointing to
+						inserted item, or item already in the set with the same key. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d52983e37 "><span class="keyword">template<class
+						InputIterator> void insert(InputIterator first, InputIterator
+						last)</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d52983e40 "> 
+					 <p>Does 
+						<samp class="codeph">insert(*<em>i</em>)</samp> where 
+						<samp class="codeph">i</samp> is in the half-open interval
+						[<samp class="codeph"><em>first,last</em></samp>). 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d52983e37 "><span class="keyword">iterator
+						unsafe_erase(const_iterator position)</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d52983e40 "> 
+					 <p>Removes the item pointed to by 
+						<samp class="codeph"><em>position</em></samp> from the set. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: Iterator pointing to item
+						that was immediately after the erased item, or 
+						<samp class="codeph">end()</samp> if erased item was the last item in
+						the set. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d52983e37 "><span class="keyword">size_type unsafe_erase(const
+						key_type& k)</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d52983e40 "> 
+					 <p>Removes item with key 
+						<samp class="codeph"><em>k</em></samp> if such an item exists. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: 1 if an item was removed;
+						0 otherwise. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d52983e37 "><span class="keyword">iterator
+						unsafe_erase(const_iterator first, const_iterator last)</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d52983e40 "> 
+					 <p>Removes 
+						<samp class="codeph"><em>*i</em></samp> where 
+						<samp class="codeph"><em>i</em></samp> is in the half-open
+						interval<samp class="codeph"> [<em>first,last</em>).</samp> 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: 
+						<samp class="codeph"><em>last</em></samp> 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d52983e37 "><span class="keyword">void clear()</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d52983e40 "> 
+					 <p>Removes all items from the set. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+			 </tbody>
+ 
+		  </table>
+</div>
+ 
+	 </div>
+ 
+	 <div class="section"> 
+		
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"><span class="tabledesc">The following table provides additional information on the 
+			 <samp class="codeph">concurrent_unordered_set</samp> template class. 
+		  </span><thead align="left"> 
+				<tr> 
+				  <th class="cellrowborder" valign="top" width="33.89830508474576%" id="d52983e264">Member 
+				  </th>
+ 
+				  <th class="cellrowborder" valign="top" width="66.10169491525423%" id="d52983e267">Description 
+				  </th>
+ 
+				</tr>
+</thead>
+ 
+			 <tbody> 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d52983e264 "><samp class="codeph">void
+						swap(concurrent_unordered_set& m)</samp> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d52983e267 "> 
+					 <p>Swaps contents of 
+						<samp class="codeph">*this</samp> and 
+						<samp class="codeph">m</samp>. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+			 </tbody>
+ 
+		  </table>
+</div>
+ 
+	 </div>
+ 
+	 <div class="section"> 
+		
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"><span class="tabledesc">The following table provides additional information on the 
+			 <samp class="codeph">concurrent_unordered_multiset</samp> template class. 
+		  </span><thead align="left"> 
+				<tr> 
+				  <th class="cellrowborder" valign="top" width="33.89830508474576%" id="d52983e314">Member 
+				  </th>
+ 
+				  <th class="cellrowborder" valign="top" width="66.10169491525423%" id="d52983e317">Description 
+				  </th>
+ 
+				</tr>
+</thead>
+ 
+			 <tbody> 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d52983e314 "><samp class="codeph">void
+						swap(concurrent_unordered_multiset& m)</samp> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d52983e317 "> 
+					 <p>Swaps contents of 
+						<samp class="codeph">*this</samp> and 
+						<samp class="codeph">m</samp>. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+			 </tbody>
+ 
+		  </table>
+</div>
+ 
+	 </div>
+ 
+  </div>
+ 
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../../reference/containers_overview/concurrent_unordered_set_cls.htm">concurrent_unordered_set and concurrent_unordered_multiset Template Classes</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/reference/containers_overview/concurrent_unordered_set_cls/observers_set_cls.htm b/doc/help/reference/containers_overview/concurrent_unordered_set_cls/observers_set_cls.htm
new file mode 100755
index 0000000..94e5bcf
--- /dev/null
+++ b/doc/help/reference/containers_overview/concurrent_unordered_set_cls/observers_set_cls.htm
@@ -0,0 +1,85 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="Observers">
+<meta name="DC.subject" content="Observers">
+<meta name="keywords" content="Observers">
+<meta name="DC.Relation" scheme="URI" content="../../../reference/containers_overview/concurrent_unordered_set_cls.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="observers_set_cls">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../../intel_css_styles.css">
+<title>Observers</title>
+</head>
+<body id="observers_set_cls">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(3);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="observers_set_cls"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Observers</h1>
+ 
+  
+  <div> 
+	 
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"><span class="tabledesc">The following table provides additional information on the members
+		  of this template class. 
+		</span><thead align="left"> 
+			 <tr> 
+				<th class="cellrowborder" valign="top" width="33.89830508474576%" id="d53950e29">Member 
+				</th>
+ 
+				<th class="cellrowborder" valign="top" width="66.10169491525423%" id="d53950e32">Description 
+				</th>
+ 
+			 </tr>
+</thead>
+ 
+		  <tbody> 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d53950e29 "><span class="keyword">hasher hash_function()
+					 const()</span> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d53950e32 "> 
+				  <p><strong>Returns</strong>: Hashing functor associated
+					 with the set. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d53950e29 "><span class="keyword">key_equal key_eq() const</span> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d53950e32 "> 
+				  <p><strong>Returns</strong>: Key equivalence functor
+					 associated with the set. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+		  </tbody>
+ 
+		</table>
+</div>
+ 
+  </div>
+
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../../reference/containers_overview/concurrent_unordered_set_cls.htm">concurrent_unordered_set and concurrent_unordered_multiset Template Classes</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/reference/containers_overview/concurrent_unordered_set_cls/parallel_iteration_set_cls.htm b/doc/help/reference/containers_overview/concurrent_unordered_set_cls/parallel_iteration_set_cls.htm
new file mode 100755
index 0000000..16f4b67
--- /dev/null
+++ b/doc/help/reference/containers_overview/concurrent_unordered_set_cls/parallel_iteration_set_cls.htm
@@ -0,0 +1,105 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="Parallel Iteration">
+<meta name="DC.subject" content="Parallel Iteration">
+<meta name="keywords" content="Parallel Iteration">
+<meta name="DC.Relation" scheme="URI" content="../../../reference/containers_overview/concurrent_unordered_set_cls.htm">
+<meta name="DC.Relation" scheme="URI" content="../container_range_concept.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="parallel_literation_set_cls">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../../intel_css_styles.css">
+<title>Parallel Iteration</title>
+</head>
+<body id="parallel_literation_set_cls">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(3);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="parallel_literation_set_cls"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Parallel Iteration</h1>
+ 
+  
+  <div>
+	 <div class="section">
+		<p>Types 
+		  <samp class="codeph">const_range_type</samp> and 
+		  <samp class="codeph">range_type</samp> model the Container Range concept. The
+		  types differ only in that the bounds for a 
+		  <samp class="codeph">const_range_type</samp> are of type 
+		  <samp class="codeph">const_iterator</samp>, whereas the bounds for a 
+		  <samp class="codeph">range_type</samp> are of type iterator.
+		</p>
+
+		
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"><span class="tabledesc">The following table provides additional information on the
+			 members of this template class. 
+		  </span><thead align="left"> 
+				<tr> 
+				  <th class="cellrowborder" valign="top" width="33.89830508474576%" id="d54152e49">Member 
+				  </th>
+ 
+				  <th class="cellrowborder" valign="top" width="66.10169491525423%" id="d54152e52">Description 
+				  </th>
+ 
+				</tr>
+</thead>
+ 
+			 <tbody> 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d54152e49 "><span class="keyword">const_range_type range()
+						const</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d54152e52 "> 
+					 <p><strong>Returns</strong>: 
+						<samp class="codeph">const_range_type</samp> object representing all
+						keys in the table. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d54152e49 "><span class="keyword">range_type range()</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d54152e52 "> 
+					 <p><strong>Returns</strong>: 
+						<samp class="codeph">range_type</samp> object representing all keys in
+						the table. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+			 </tbody>
+ 
+		  </table>
+</div>
+
+	 </div>
+ 
+  </div>
+ 
+  
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../../reference/containers_overview/concurrent_unordered_set_cls.htm">concurrent_unordered_set and concurrent_unordered_multiset Template Classes</a></div>
+</div>
+<div class="See Also">
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="../container_range_concept.htm">Container Range
+		  </a></div></div>
+</div> 
+
+</body>
+</html>
diff --git a/doc/help/reference/containers_overview/concurrent_unordered_set_cls/size_and_capacity_set_cls.htm b/doc/help/reference/containers_overview/concurrent_unordered_set_cls/size_and_capacity_set_cls.htm
new file mode 100755
index 0000000..a4d3443
--- /dev/null
+++ b/doc/help/reference/containers_overview/concurrent_unordered_set_cls/size_and_capacity_set_cls.htm
@@ -0,0 +1,117 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="Size and Capacity">
+<meta name="DC.subject" content="Size and Capacity">
+<meta name="keywords" content="Size and Capacity">
+<meta name="DC.Relation" scheme="URI" content="../../../reference/containers_overview/concurrent_unordered_set_cls.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="size_and_capacity_set_cls">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../../intel_css_styles.css">
+<title>Size and Capacity</title>
+</head>
+<body id="size_and_capacity_set_cls">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(3);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="size_and_capacity_set_cls"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Size and Capacity</h1>
+ 
+  
+  <div> 
+	 
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"><span class="tabledesc">The following table provides additional information on the members
+		  of this template class. 
+		</span><thead align="left"> 
+			 <tr> 
+				<th class="cellrowborder" valign="top" width="33.89830508474576%" id="d54420e29">Member 
+				</th>
+ 
+				<th class="cellrowborder" valign="top" width="66.10169491525423%" id="d54420e32">Description 
+				</th>
+ 
+			 </tr>
+</thead>
+ 
+		  <tbody> 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d54420e29 "><span class="keyword">bool empty() const</span> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d54420e32 "> 
+				  <p><strong>Returns</strong>: 
+					 <samp class="codeph">size()!=0.</samp> 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d54420e29 "><span class="keyword">size_type size() const</span> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d54420e32 "> 
+				  <p><strong>Returns</strong>: Number of items in 
+					 <samp class="codeph">*this</samp>. 
+				  </p>
+ 
+				  <div class="Note"><h3 class="NoteTipHead">
+					Caution</h3> 
+					 <p>Though the current implementation takes
+						time 
+						<samp class="codeph">O(1)</samp>, possible future implementations might
+						take time 
+						<samp class="codeph">O(P)</samp>, where 
+						<samp class="codeph">P</samp> is the number of hardware threads. 
+					 </p>
+ 
+				  </div> 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d54420e29 "><span class="keyword">size_type max_size() const</span>
+				  
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d54420e32 "> 
+				  <p><strong>Returns</strong>: Upper bound on number of
+					 items that 
+					 <samp class="codeph">*this</samp> can hold. 
+				  </p>
+ 
+				  <div class="Note"><h3 class="NoteTipHead">
+					Caution</h3> 
+					 <p>The upper bound may be much higher than
+						what the container can actually hold. 
+					 </p>
+ 
+				  </div> 
+				</td>
+ 
+			 </tr>
+ 
+		  </tbody>
+ 
+		</table>
+</div>
+
+  </div>
+ 
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../../reference/containers_overview/concurrent_unordered_set_cls.htm">concurrent_unordered_set and concurrent_unordered_multiset Template Classes</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/reference/containers_overview/concurrent_vector.htm b/doc/help/reference/containers_overview/concurrent_vector.htm
new file mode 100755
index 0000000..00105f0
--- /dev/null
+++ b/doc/help/reference/containers_overview/concurrent_vector.htm
@@ -0,0 +1,417 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="concurrent_vector">
+<meta name="DC.subject" content="concurrent_vector">
+<meta name="keywords" content="concurrent_vector">
+<meta name="DC.Relation" scheme="URI" content="../../reference/containers_overview.htm">
+<meta name="DC.Relation" scheme="URI" content="../../reference/containers_overview/concurrent_vector/construction_copy_and_assignment.htm">
+<meta name="DC.Relation" scheme="URI" content="../../reference/containers_overview/concurrent_vector/whole_vector_operations.htm">
+<meta name="DC.Relation" scheme="URI" content="../../reference/containers_overview/concurrent_vector/concurrent_growth.htm">
+<meta name="DC.Relation" scheme="URI" content="../../reference/containers_overview/concurrent_vector/access.htm">
+<meta name="DC.Relation" scheme="URI" content="../../reference/containers_overview/concurrent_vector/parallel_iteration.htm">
+<meta name="DC.Relation" scheme="URI" content="../../reference/containers_overview/concurrent_vector/capacity_vector.htm">
+<meta name="DC.Relation" scheme="URI" content="../../reference/containers_overview/concurrent_vector/iterators_vector.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="concurrent_vector">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../intel_css_styles.css">
+<title>concurrent_vector</title>
+</head>
+<body id="concurrent_vector">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(2);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="concurrent_vector"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">concurrent_vector</h1>
+ 
+   
+  <div> 
+	 <div class="section"><h2 class="sectiontitle">Summary</h2> 
+		 
+		<p>Template class for vector that can be concurrently
+		  grown and accessed. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Syntax</h2> 
+		 
+		<pre>template<typename T, class Alloc=cache_aligned_allocator<T> > 
+class concurrent_vector;</pre> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Header</h2> 
+		 
+		<pre> #include "tbb/concurrent_vector.h"</pre> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Description</h2> 
+		 
+		<p>A 
+		  <samp class="codeph">concurrent_vector</samp> is a container with the following
+		  features: 
+		</p>
+ 
+		<ul type="disc"> 
+		  <li> 
+			 <p>Random access by index. The index of the first
+				element is zero. 
+			 </p>
+ 
+		  </li>
+ 
+		  <li> 
+			 <p>Multiple threads can grow the container and
+				append new elements concurrently. 
+			 </p>
+ 
+		  </li>
+ 
+		  <li> 
+			 <p>Growing the container does not invalidate
+				existing iterators or indices. 
+			 </p>
+ 
+		  </li>
+ 
+		</ul>
+ 
+		<p>A 
+		  <samp class="codeph">concurrent_vector</samp> meets all requirements for a
+		  Container and a Reversible Container as specified in the ISO C++ standard. It
+		  does not meet the Sequence requirements due to absence of methods 
+		  <samp class="codeph">insert()</samp> and 
+		  <samp class="codeph">erase()</samp>. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Members</h2> 
+		 
+		<pre>namespace tbb {
+        template<typename T, typename Alloc=cache_aligned_allocator<T> >
+        class concurrent_vector {
+        public:
+            typedef size_t size_type;
+            typedef <em>allocator-A-rebound-for-T</em> allocator_type;
+            typedef T value_type;
+            typedef ptrdiff_t difference_type;
+            typedef T& reference;
+            typedef const T& const_reference;
+            typedef T* pointer;
+            typedef const T *const_pointer;
+            typedef <em>implementation-defined</em> iterator;
+            typedef <em>implementation-defined</em> const_iterator;
+            typedef <em>implementation-defined</em> reverse_iterator;
+            typedef <em>implementation-defined</em> const_reverse_iterator;
+     
+            // Parallel ranges
+            typedef <em>implementation-defined</em> range_type;
+            typedef <em>implementation-defined</em> const_range_type;
+            range_type range( size_t grainsize );
+            const_range_type range( size_t grainsize ) const;
+     
+            // Constructors
+            explicit concurrent_vector( const allocator_type& a =
+                                        allocator_type() );
+            concurrent_vector( const concurrent_vector& x );
+            template<typename M>
+                concurrent_vector( const concurrent_vector<T, M>& x );
+     
+            explicit concurrent_vector( size_type n, 
+                const T& t=T(), 
+                const allocator_type& a = allocator_type() );
+            template<typename InputIterator>
+                concurrent_vector(InputIterator first, InputIterator last,
+               const allocator_type& a=allocator_type());
+            
+            //C++11 specific 
+            concurrent_vector(std::initializer_list<T> il, const allocator_type &a = allocator_type())
+     
+            // Assignment
+            concurrent_vector& operator=( const concurrent_vector& x );
+            template<class M>
+                concurrent_vector& operator=( const concurrent_vector<T, M>& x );
+            void assign( size_type n, const T& t );
+            template<class InputIterator >
+                void assign( InputIterator first, InputIterator last );
+     
+            //C++11 specific
+            concurrent_vector& operator=( const std::initializer_list<T> &il);
+            void assign(std::initializer_list<T> il);
+            
+            // Concurrent growth operations
+            iterator grow_by( size_type delta );
+            iterator grow_by( size_type delta, const T& t );
+            iterator grow_to_at_least( size_type n );
+            iterator push_back( const T& item );
+     
+            // Items access
+            reference operator[]( size_type index );
+            const_reference operator[]( size_type index ) const;
+            reference at( size_type index );
+            const_reference at( size_type index ) const;
+            reference front();
+            const_reference front() const;
+            reference back();
+            const_reference back() const;
+     
+            // Storage
+            bool empty() const;
+            size_type capacity() const;
+            size_type max_size() const;
+            size_type size() const;
+            allocator_type get_allocator() const;
+     
+            // Non-concurrent operations on whole container
+            void reserve( size_type n );
+            void compact();
+            void swap( concurrent_vector& vector );
+            void clear();
+            ~concurrent_vector();
+     
+            // Iterators
+            iterator begin();
+            iterator end();
+            const_iterator begin() const;
+            const_iterator end() const;
+            reverse_iterator rbegin();
+            reverse_iterator rend();
+            const_reverse_iterator rbegin() const;
+            const_reverse_iterator rend() const;
+     
+            // C++11 extensions
+            const_iterator cbegin() const;
+            const_iterator cend() const;
+            const_reverse_iterator crbegin() const;
+            const_reverse_iterator crend() const;      
+        };
+     
+        // Template functions
+        template<typename T, class A1, class A2>
+            bool operator==( const concurrent_vector<T, A1>& a, 
+                             const concurrent_vector<T, A2>& b );
+     
+       template<typename T, class A1, class A2>
+           bool operator!=( const concurrent_vector<T, A1>& a, 
+                            const concurrent_vector<T, A2>& b );
+     
+       template<typename T, class A1, class A2>
+       bool operator<( const concurrent_vector<T, A1>& a, 
+                       const concurrent_vector<T, A2>& b );
+     
+       template<typename T, class A1, class A2>
+           bool operator>( const concurrent_vector<T, A1>& a, 
+                           const concurrent_vector<T, A2>& b );
+     
+       template<typename T, class A1, class A2>
+           bool operator<=( const concurrent_vector<T, A1>& a, 
+                            const concurrent_vector<T, A2>& b );
+     
+       template<typename T, class A1, class A2>
+           bool operator>=(const concurrent_vector<T, A1>& a, 
+                           const concurrent_vector<T, A2>& b );
+     
+       template<typename T, class A>
+           void swap(concurrent_vector<T, A>& a, concurrent_vector<T, A>& b);
+     
+    }</pre> 
+		<div class="Note"><h3 class="NoteTipHead">
+					Note</h3> 
+		  <p> The rebinding of 
+			 <samp class="codeph">allocator_type</samp> follows practice established by both
+			 the Microsoft and GNU implementations of 
+			 <samp class="codeph">std::vector</samp>. 
+		  </p>
+ 
+		</div> 
+		<div class="Note"><h3 class="NoteTipHead">
+					Note</h3> 
+		  <p> The return types of the growth methods are
+			 different in Intel® Threading Building Blocks (Intel® TBB) 2.2 than in prior
+			 versions. See footnotes in the descriptions of the individual methods for
+			 details. 
+		  </p>
+ 
+		</div> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Exception Safety</h2> 
+		 
+		<p>Concurrent growing is fundamentally incompatible
+		  with ideal exception safety.   Nonetheless, 
+		  <samp class="codeph">concurrent_vector</samp> offers a practical level of
+		  exception safety. 
+		</p>
+ 
+		<p>Element type T must meet the following
+		  requirements: 
+		</p>
+ 
+		<ul type="disc"> 
+		  <li> 
+			 <p>Its destructor must not throw an exception. 
+			 </p>
+ 
+		  </li>
+ 
+		  <li> 
+			 <p>If its default constructor can throw an
+				exception, its destructor must be non-virtual and work correctly on zero-filled
+				memory. 
+			 </p>
+ 
+		  </li>
+ 
+		</ul>
+ 
+		<p>Otherwise the program's behavior is undefined. 
+		</p>
+ 
+		<p>Growth and vector assignment append a sequence of
+		  elements to a vector. If an exception occurs, the impact on the vector  depends
+		  upon the cause of the exception: 
+		</p>
+ 
+		<ul type="disc"> 
+		  <li> 
+			 <p>If the exception is thrown by the constructor
+				of an element, then all subsequent elements in the appended sequence will be
+				zero-filled. 
+			 </p>
+ 
+		  </li>
+ 
+		  <li> 
+			 <p>Otherwise, the exception was thrown by the
+				vector's allocator. The vector becomes broken. Each element in the appended
+				sequence will be in one of three states: 
+			 </p>
+ 
+		  </li>
+ 
+		</ul>
+ 
+		<ul type="disc" class="ul_2"> 
+		  <li class="li_2">constructed 
+		  </li>
+ 
+		  <li class="li_2">zero-filled> 
+		  </li>
+ 
+		  <li class="li_2">unallocated in memory  
+		  </li>
+ 
+		</ul>
+ 
+		<p>Once a vector becomes broken, care must be taken
+		  when accessing it: 
+		</p>
+ 
+		<ul type="disc"> 
+		  <li> 
+			 <p>Accessing an unallocated element with method at
+				causes an exception 
+				<samp class="codeph">std::range_error</samp>. Any other way of accessing an
+				unallocated element has undefined behavior. 
+			 </p>
+ 
+		  </li>
+ 
+		  <li> 
+			 <p>The values of 
+				<samp class="codeph">capacity()</samp> and 
+				<samp class="codeph">size()</samp> may be less than expected. 
+			 </p>
+ 
+		  </li>
+ 
+		  <li> 
+			 <p>Access to a broken vector via<samp class="codeph">
+				  back()</samp> has undefined behavior. 
+			 </p>
+ 
+		  </li>
+ 
+		</ul>
+ 
+		<p>However, the following guarantees hold for broken
+		  or unbroken vectors: 
+		</p>
+ 
+		<ul type="disc"> 
+		  <li> 
+			 <p>Let 
+				<samp class="codeph"><em>k</em></samp> be an index of an unallocated element.
+				Then<samp class="codeph"> size()<= capacity()<=<em>k</em> 
+				</samp> 
+			 </p>
+ 
+		  </li>
+ 
+		  <li> 
+			 <p>Growth operations never cause 
+				<samp class="codeph">size()</samp> or 
+				<samp class="codeph">capacity()</samp> to decrease. 
+			 </p>
+ 
+		  </li>
+ 
+		</ul>
+ 
+		<p>If a concurrent growth operation successfully
+		  completes, the appended sequence remains valid and accessible even if a
+		  subsequent growth operations fails. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Fragmentation</h2> 
+		 
+		<p>Unlike a 
+		  <samp class="codeph">std::vector</samp>, a 
+		  <samp class="codeph">concurrent_vector</samp> never moves existing elements when
+		  it grows. The container allocates a series of contiguous arrays. The first
+		  reservation, growth, or assignment operation determines the size of the first
+		  array. Using a small number of elements as initial size incurs fragmentation
+		  across cache lines that may increase element access time. The method 
+		  <samp class="codeph">shrink_to_fit()</samp>merges several smaller arrays into a
+		  single contiguous array, which may improve access time. 
+		</p>
+ 
+	 </div>
+ 
+  </div>
+
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../reference/containers_overview.htm">Containers Overview</a></div>
+</div>
+<div>
+<ul class="ullinks">
+<li class="ulchildlink"><a href="../../reference/containers_overview/concurrent_vector/construction_copy_and_assignment.htm">Construction, Copy, and Assignment</a><br>
+</li>
+<li class="ulchildlink"><a href="../../reference/containers_overview/concurrent_vector/whole_vector_operations.htm">Whole Vector Operations</a><br>
+</li>
+<li class="ulchildlink"><a href="../../reference/containers_overview/concurrent_vector/concurrent_growth.htm">Concurrent Growth</a><br>
+</li>
+<li class="ulchildlink"><a href="../../reference/containers_overview/concurrent_vector/access.htm">Access</a><br>
+</li>
+<li class="ulchildlink"><a href="../../reference/containers_overview/concurrent_vector/parallel_iteration.htm">Parallel Iteration</a><br>
+</li>
+<li class="ulchildlink"><a href="../../reference/containers_overview/concurrent_vector/capacity_vector.htm">Capacity</a><br>
+</li>
+<li class="ulchildlink"><a href="../../reference/containers_overview/concurrent_vector/iterators_vector.htm">Iterators</a><br>
+</li>
+</ul>
+</div>
+
+</body>
+</html>
diff --git a/doc/help/reference/containers_overview/concurrent_vector/access.htm b/doc/help/reference/containers_overview/concurrent_vector/access.htm
new file mode 100755
index 0000000..27adca2
--- /dev/null
+++ b/doc/help/reference/containers_overview/concurrent_vector/access.htm
@@ -0,0 +1,193 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="Access">
+<meta name="DC.subject" content="Access">
+<meta name="keywords" content="Access">
+<meta name="DC.Relation" scheme="URI" content="../../../reference/containers_overview/concurrent_vector.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="access">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../../intel_css_styles.css">
+<title>Access</title>
+</head>
+<body id="access">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(3);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="access"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Access</h1>
+ 
+   
+   
+  <div> 
+	 <div class="section"> 
+		<div class="Note"><h3 class="NoteTipHead">
+					Caution</h3> 
+		  <p>The methods described in this section may be
+			 concurrently invoked on the same vector as methods for concurrent growth.
+			 However, the returned reference may be to an element that is being concurrently
+			 constructed. 
+		  </p>
+
+		</div> 
+		
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"><span class="tabledesc">The following table provides additional information on the
+			 members of this template class. 
+		  </span><thead align="left"> 
+				<tr> 
+				  <th class="cellrowborder" valign="top" width="33.89830508474576%" id="d55360e42">Member 
+				  </th>
+ 
+				  <th class="cellrowborder" valign="top" width="66.10169491525423%" id="d55360e45">Description 
+				  </th>
+ 
+				</tr>
+</thead>
+ 
+			 <tbody> 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d55360e42 "><span class="keyword">reference operator[]( size_type
+						index )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d55360e45 "> 
+					 <p><strong>Returns</strong>: Reference to element with
+						the specified index. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d55360e42 "><span class="keyword"> const_refrence operator[](
+						size_type index ) const</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d55360e45 "> 
+					 <p><strong>Returns</strong>: Const reference to
+						element with the specified index. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d55360e42 "><span class="keyword">reference at( size_type index
+						)</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d55360e45 "> 
+					 <p><strong>Returns</strong>: Reference to element at
+						specified index. 
+					 </p>
+ 
+					 <p><strong>Throws</strong> : 
+						<samp class="codeph">std::out_of_range 
+						</samp>if 
+						<samp class="codeph">index >= size()</samp>. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d55360e42 "><span class="keyword"> const_reference at( size_type
+						index ) const</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d55360e45 "> 
+					 <p><strong>Returns</strong>: Const reference to
+						element at specified index. 
+					 </p>
+ 
+					 <p><strong>Throws</strong>: 
+						<samp class="codeph">std::out_of_range</samp> if 
+						<samp class="codeph">index >= size()</samp> or 
+						<samp class="codeph">index</samp> is for broken portion of vector. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d55360e42 "><span class="keyword"> reference front()</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d55360e45 "> 
+					 <p><strong>Returns</strong>: 
+						<samp class="codeph">(*this)[0]</samp> 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d55360e42 "><span class="keyword"> const_reference front()
+						const</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d55360e45 "> 
+					 <p><strong>Returns</strong>: 
+						<samp class="codeph">(*this)[0]</samp> 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d55360e42 "><span class="keyword"> reference back()</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d55360e45 "> 
+					 <p><strong>Returns</strong>: 
+						<samp class="codeph">(*this)[size()-1]</samp> 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d55360e42 "><span class="keyword">const_reference back()
+						const</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d55360e45 "> 
+					 <p><strong>Returns</strong>: 
+						<samp class="codeph">(*this)[size()-1]</samp> 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+			 </tbody>
+ 
+		  </table>
+</div>
+ 
+	 </div>
+ 
+  </div>
+ 
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../../reference/containers_overview/concurrent_vector.htm">concurrent_vector</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/reference/containers_overview/concurrent_vector/capacity_vector.htm b/doc/help/reference/containers_overview/concurrent_vector/capacity_vector.htm
new file mode 100755
index 0000000..c006804
--- /dev/null
+++ b/doc/help/reference/containers_overview/concurrent_vector/capacity_vector.htm
@@ -0,0 +1,122 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="Capacity">
+<meta name="DC.subject" content="Capacity">
+<meta name="keywords" content="Capacity">
+<meta name="DC.Relation" scheme="URI" content="../../../reference/containers_overview/concurrent_vector.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="capacity_vector">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../../intel_css_styles.css">
+<title>Capacity</title>
+</head>
+<body id="capacity_vector">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(3);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="capacity_vector"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Capacity</h1>
+ 
+   
+  <div>
+	 
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"><span class="tabledesc">The following table provides additional information on the members
+		  of this template class. 
+		</span><thead align="left"> 
+			 <tr> 
+				<th class="cellrowborder" valign="top" width="33.89830508474576%" id="d56013e29">Member 
+				</th>
+ 
+				<th class="cellrowborder" valign="top" width="66.10169491525423%" id="d56013e32">Description 
+				</th>
+ 
+			 </tr>
+</thead>
+ 
+		  <tbody> 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d56013e29 "><span class="keyword">size_type size() const</span> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d56013e32 ">
+				  <p><strong>Returns</strong>: Number of elements in the
+					 vector. The result may include elements that are allocated but still under
+					 construction by concurrent calls to any of the growth methods.
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d56013e29 "><span class="keyword">bool empty() const</span> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d56013e32 ">
+				  <p><strong>Returns</strong>: 
+					 <samp class="codeph">size()==0 
+					 </samp> 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+
+			 <tr>
+				<td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d56013e29 "><span class="keyword"> size_type capacity()
+					 const</span> 
+				</td>
+
+				<td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d56013e32 ">
+				  <p><strong>Returns</strong>: Maximum size to which
+					 vector can grow without having to allocate more memory.
+				  </p>
+ 
+				  <div class="Note"><h3 class="NoteTipHead">
+					Note</h3>
+					 <p>Unlike an 
+						<samp class="codeph">std::vector</samp>, a 
+						<samp class="codeph">concurrent_vector</samp> does not move existing
+						elements if it allocates more memory. 
+					 </p>
+
+				  </div>
+				</td>
+
+			 </tr>
+
+			 <tr>
+				<td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d56013e29 ">size_type max_size() const
+				</td>
+
+				<td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d56013e32 ">
+				  <p><strong>Returns</strong>: The highest possible size
+					 of the vector could reach.
+				  </p>
+
+				</td>
+
+			 </tr>
+ 
+		  </tbody>
+ 
+		</table>
+</div>
+ 
+  </div>
+ 
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../../reference/containers_overview/concurrent_vector.htm">concurrent_vector</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/reference/containers_overview/concurrent_vector/concurrent_growth.htm b/doc/help/reference/containers_overview/concurrent_vector/concurrent_growth.htm
new file mode 100755
index 0000000..81fb6ab
--- /dev/null
+++ b/doc/help/reference/containers_overview/concurrent_vector/concurrent_growth.htm
@@ -0,0 +1,160 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="Concurrent Growth">
+<meta name="DC.subject" content="Concurrent Growth">
+<meta name="keywords" content="Concurrent Growth">
+<meta name="DC.Relation" scheme="URI" content="../../../reference/containers_overview/concurrent_vector.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="concurrent_growth">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../../intel_css_styles.css">
+<title>Concurrent Growth</title>
+</head>
+<body id="concurrent_growth">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(3);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="concurrent_growth"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Concurrent Growth</h1>
+ 
+   
+  <div> 
+	 <div class="section"> 
+		
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"><span class="tabledesc">The methods described in the following table may be invoked
+			 concurrently on the same vector. 
+		  </span><thead align="left"> 
+				<tr> 
+				  <th class="cellrowborder" valign="top" width="33.89830508474576%" id="d56349e31">Member 
+				  </th>
+ 
+				  <th class="cellrowborder" valign="top" width="66.10169491525423%" id="d56349e34">Description 
+				  </th>
+ 
+				</tr>
+</thead>
+ 
+			 <tbody> 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d56349e31 "><span class="keyword"> iterator grow_by( size_type
+						delta, const_reference t=T() )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d56349e34 "> 
+					 <p>Appends a sequence comprising 
+						<em>delta</em> copies of t to the end of the vector. If 
+						<samp class="codeph"><em>t</em></samp> is not specified, the new elements
+						are default constructed. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: Iterator pointing to
+						beginning of appended sequence. 
+					 </p>
+ 
+					 <div class="Note"><h3 class="NoteTipHead">
+					Note</h3> 
+						<p> Return type was 
+						  <samp class="codeph">size_type</samp> in Intel® Threading Building
+						  Blocks (Intel® TBB) 2.1. 
+						</p>
+ 
+					 </div> 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d56349e31 "><span class="keyword"> iterator grow_to_at_least(
+						size_type n )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d56349e34 "> 
+					 <p>Appends minimal sequence of elements such
+						that 
+						<samp class="codeph">vector.size()>=n</samp>. The new elements are
+						default constructed. Blocks until all elements in range 
+						<em>[0..n)</em> are allocated (but not necessarily constructed
+						if they are under construction by a different thread). 
+					 </p>
+ 
+					 <div class="Note"><h3 class="NoteTipHead">
+					Tip</h3> 
+						<p>If a thread must know whether
+						  construction of an element has completed, consider the following technique.
+						  Instantiate the 
+						  <samp class="codeph">concurrent_vector</samp> using a 
+						  <samp class="codeph">zero_allocator</samp>. Define the constructor 
+						  <samp class="codeph">T()</samp> such that when it completes, it sets a
+						  field of 
+						  <samp class="codeph">T</samp> to non-zero. A thread can check whether
+						  an item in the 
+						  <samp class="codeph">concurrent_vector</samp> is constructed by
+						  checking whether the field is non-zero. 
+						</p>
+ 
+					 </div> 
+					 <p><strong>Returns</strong>: Iterator that points to
+						beginning of appended sequence, or pointer to (*this)[n] if no elements were
+						appended. 
+					 </p>
+ 
+					 <div class="Note"><h3 class="NoteTipHead">
+					Note</h3> 
+						<p> Return type was 
+						  <samp class="codeph">void</samp> in Intel® TBB 2.1. 
+						</p>
+ 
+					 </div> 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d56349e31 "><span class="keyword"> iterator push_back(
+						const_reference value )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d56349e34 "> 
+					 <p>Appends copy of 
+						<samp class="codeph">value</samp> to the end of the vector. 
+					 </p>
+ 
+					 <p><strong>Returns</strong> Iterator that points to
+						the copy. 
+					 </p>
+ 
+					 <div class="Note"><h3 class="NoteTipHead">
+					Note</h3> 
+						<p> Return type was 
+						  <samp class="codeph">size_type</samp> in Intel® TBB 2.1. 
+						</p>
+ 
+					 </div> 
+				  </td>
+ 
+				</tr>
+ 
+			 </tbody>
+ 
+		  </table>
+</div>
+ 
+	 </div>
+ 
+  </div>
+ 
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../../reference/containers_overview/concurrent_vector.htm">concurrent_vector</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/reference/containers_overview/concurrent_vector/construction_copy_and_assignment.htm b/doc/help/reference/containers_overview/concurrent_vector/construction_copy_and_assignment.htm
new file mode 100755
index 0000000..4f863f3
--- /dev/null
+++ b/doc/help/reference/containers_overview/concurrent_vector/construction_copy_and_assignment.htm
@@ -0,0 +1,257 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="Construction, Copy, and Assignment">
+<meta name="DC.subject" content="Construction, Copy, and Assignment">
+<meta name="keywords" content="Construction, Copy, and Assignment">
+<meta name="DC.Relation" scheme="URI" content="../../../reference/containers_overview/concurrent_vector.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="construction_copy_and_assignment">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../../intel_css_styles.css">
+<title>Construction, Copy, and Assignment</title>
+</head>
+<body id="construction_copy_and_assignment">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(3);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="construction_copy_and_assignment"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Construction, Copy, and Assignment</h1>
+ 
+   
+  <div> 
+	 <div class="section"> 
+		<div class="Note"><h3 class="NoteTipHead">
+					Caution</h3> 
+		  <p>These operations must not be invoked concurrently
+			 on the same vector. 
+		  </p>
+ 
+		</div> 
+		
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"><span class="tabledesc">The following table provides additional information on the
+			 members of this template class. 
+		  </span><thead align="left"> 
+				<tr> 
+				  <th class="cellrowborder" valign="top" width="33.89830508474576%" id="d56735e37">Member 
+				  </th>
+ 
+				  <th class="cellrowborder" valign="top" width="66.10169491525423%" id="d56735e40">Description 
+				  </th>
+ 
+				</tr>
+</thead>
+ 
+			 <tbody> 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d56735e37 "><span class="keyword">concurrent_vector( const
+						allocator_type& a = allocator_type() )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d56735e40 "> 
+					 <p>Constructs empty vector using optionally
+						specified allocator instance. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d56735e37 "><span class="keyword">concurrent_vector( size_type n,
+						const_reference t=T(), const allocator_type& a = allocator_type()
+						);</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d56735e40 "> 
+					 <p>Constructs vector of 
+						<samp class="codeph"><em>n</em></samp> copies of 
+						<samp class="codeph"><em>t</em></samp>, using optionally specified
+						allocator instance. If 
+						<samp class="codeph"><em>t</em></samp> is not specified, each element is
+						default constructed instead of copied. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d56735e37 "><span class="keyword">template<typename
+						InputIterator> concurrent_vector( InputIterator first, InputIterator last,
+						const allocator_type& a = allocator_type() )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d56735e40 "> 
+					 <p>Constructs vector that is copy of the
+						sequence 
+						<samp class="codeph">[<em>first,last</em>)</samp>, making only 
+						<samp class="codeph">N</samp> calls to the copy constructor of 
+						<samp class="codeph">T</samp>, where 
+						<samp class="codeph">N</samp> is the distance between first and last. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d56735e37 "><span class="keyword">concurrent_vector(std::initializer_list<T> il,
+						const allocator_type &a = allocator_type()) )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d56735e40 "> 
+					 <p>C++11 specific; Equivalent to 
+						<samp class="codeph">concurrent_vector(<em>il</em>.begin(), 
+						  <em>il</em>.end(), 
+						  <em>a</em>)</samp>.
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d56735e37 "><span class="keyword">concurrent_vector( const
+						concurrent_vector& src )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d56735e40 "> 
+					 <p>Constructs copy of 
+						<samp class="codeph"><em>src</em></samp>. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d56735e37 "><span class="keyword"> concurrent_vector& operator=(
+						const concurrent_vector& src )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d56735e40 "> 
+					 <p>Assigns contents of 
+						<samp class="codeph">src</samp> to 
+						<samp class="codeph">*<em>this</em></samp>. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: Reference to left hand
+						side. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d56735e37 "><span class="keyword">template<typename M>
+				concurrent_vector&
+						operator=( const concurrent_vector<T, M>& src )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d56735e40 "> 
+					 <p>Assign contents of 
+						<samp class="codeph"><em>src</em></samp> to 
+						<samp class="codeph">*this</samp>. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: Reference to left hand
+						side. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d56735e37 "><span class="keyword"> concurrent_vector& operator=(
+						std::initializer_list<T> il )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d56735e40 "> 
+					 <p>C++11 specific; Sets 
+                        <samp class="codeph">*<em>this</em></samp> 
+                        to contain data from
+                        <samp class="codeph">il</samp>. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: Reference to left hand
+						side. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d56735e37 "><span class="keyword">void assign( size_type n,
+						const_reference t )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d56735e40 "> 
+					 <p>Assign 
+						<samp class="codeph"><em>n</em></samp> copies of 
+						<samp class="codeph"><em>t</em></samp>. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d56735e37 "><span class="keyword">template<class InputIterator
+						>
+				void assign(
+						InputIterator first, InputIterator last )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d56735e40 "> 
+					 <p>Assign copies of sequence 
+						<samp class="codeph">[<em>first,last</em>)</samp>, making only<samp class="codeph">
+						  N</samp> calls to the copy constructor of<samp class="codeph"> T</samp>, where 
+						<samp class="codeph">N</samp> is the distance between first and last. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d56735e37 "><span class="keyword">void assign(
+						std::initializer_list<T> il )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d56735e40 "> 
+					 <p>C++11 specific; Equivalent to 
+						<samp class="codeph">assign(<em>il</em>.begin(), 
+						  <em>il</em>.end())</samp>
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+			 </tbody>
+ 
+		  </table>
+</div>
+ 
+	 </div>
+ 
+  </div>
+
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../../reference/containers_overview/concurrent_vector.htm">concurrent_vector</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/reference/containers_overview/concurrent_vector/iterators_vector.htm b/doc/help/reference/containers_overview/concurrent_vector/iterators_vector.htm
new file mode 100755
index 0000000..8d648d0
--- /dev/null
+++ b/doc/help/reference/containers_overview/concurrent_vector/iterators_vector.htm
@@ -0,0 +1,185 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="Iterators">
+<meta name="DC.subject" content="Iterators">
+<meta name="keywords" content="Iterators">
+<meta name="DC.Relation" scheme="URI" content="../../../reference/containers_overview/concurrent_vector.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="iterators_vector">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../../intel_css_styles.css">
+<title>Iterators</title>
+</head>
+<body id="iterators_vector">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(3);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="iterators_vector"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Iterators</h1>
+ 
+  
+  <div> 
+	 <div class="section"> 
+		<p>Template class 
+		  <samp class="codeph">concurrent_vector<T></samp> supports random access
+		  iterators as defined in Section 24.1.4 of the  ISO C++ Standard. Unlike a 
+		  <samp class="codeph">std::vector</samp>, the iterators are not raw pointers. A 
+		  <samp class="codeph">concurrent_vector<T></samp> meets the reversible
+		  container requirements in Table 66 of the ISO C++ Standard.
+		</p>
+
+		
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"><span class="tabledesc">The following table provides additional information on the
+			 members of this template class. 
+		  </span><thead align="left"> 
+				<tr> 
+				  <th class="cellrowborder" valign="top" width="33.89830508474576%" id="d57688e43">Member 
+				  </th>
+ 
+				  <th class="cellrowborder" valign="top" width="66.10169491525423%" id="d57688e46">Description 
+				  </th>
+ 
+				</tr>
+</thead>
+ 
+			 <tbody> 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d57688e43 "><span class="keyword"> iterator begin()</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d57688e46 ">
+					 <p><strong>Returns</strong>: 
+						<samp class="codeph">iterator</samp> pointing to beginning of the
+						vector.
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d57688e43 "><span class="keyword"> const_iterator begin()
+						const</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d57688e46 ">
+					 <p><strong>Returns</strong>: 
+						<samp class="codeph">const_iterator</samp> pointing to beginning of the
+						vector.
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d57688e43 "><span class="keyword"> iterator end()</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d57688e46 ">
+					 <p><strong>Returns</strong>: 
+						<samp class="codeph">iterator</samp> pointing to end of the vector.
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d57688e43 "><span class="keyword"> const_iterator end()
+						const</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d57688e46 ">
+					 <p><strong>Returns</strong>: 
+						<samp class="codeph">const_iterator</samp> pointing to end of the
+						vector.
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d57688e43 "><span class="keyword"> reverse_iterator
+						rbegin()</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d57688e46 ">
+					 <p><strong>Returns</strong>: 
+						<samp class="codeph">reverse iterator 
+						</samp>pointing to beginning of reversed vector.
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d57688e43 "><span class="keyword">const_reverse_iterator rbegin()
+						const</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d57688e46 ">
+					 <p><strong>Returns</strong>: 
+						<samp class="codeph">const_reverse_iterator</samp> pointing to beginning
+						of reversed vector.
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d57688e43 "><span class="keyword"> iterator rend()</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d57688e46 ">
+					 <p><strong>Returns</strong>: 
+						<samp class="codeph">const_reverse_iterator</samp> pointing to end of
+						reversed vector.
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d57688e43 "><span class="keyword"> const_reverse_iterator
+						rend()</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d57688e46 ">
+					 <p><strong>Returns</strong>: 
+						<samp class="codeph">const_reverse_iterator</samp> pointing to end of
+						reversed vector.
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+			 </tbody>
+ 
+		  </table>
+</div>
+
+	 </div>
+ 
+  </div>
+ 
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../../reference/containers_overview/concurrent_vector.htm">concurrent_vector</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/reference/containers_overview/concurrent_vector/parallel_iteration.htm b/doc/help/reference/containers_overview/concurrent_vector/parallel_iteration.htm
new file mode 100755
index 0000000..830ff00
--- /dev/null
+++ b/doc/help/reference/containers_overview/concurrent_vector/parallel_iteration.htm
@@ -0,0 +1,107 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="Parallel Iteration">
+<meta name="DC.subject" content="Parallel Iteration">
+<meta name="keywords" content="Parallel Iteration">
+<meta name="DC.Relation" scheme="URI" content="../../../reference/containers_overview/concurrent_vector.htm">
+<meta name="DC.Relation" scheme="URI" content="../container_range_concept.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="parallel_iteration">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../../intel_css_styles.css">
+<title>Parallel Iteration</title>
+</head>
+<body id="parallel_iteration">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(3);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="parallel_iteration"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Parallel Iteration</h1>
+ 
+  
+  <div> 
+	 <div class="section"> 
+		<p>Types 
+		  <samp class="codeph">const_range_type</samp> and 
+		  <samp class="codeph">range_type</samp> model the Container Range concept. The
+		  types differ only in that the bounds for a 
+		  <samp class="codeph">const_range_type</samp> are of type 
+		  <samp class="codeph">const_iterator</samp>, whereas the bounds for a 
+		  <samp class="codeph">range_type</samp> are of type 
+		  <samp class="codeph">iterator</samp>.
+		</p>
+
+		
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"><span class="tabledesc">The following table provides additional information on the
+			 members of this template class. 
+		  </span><thead align="left"> 
+				<tr> 
+				  <th class="cellrowborder" valign="top" width="33.89830508474576%" id="d58332e53">Member 
+				  </th>
+ 
+				  <th class="cellrowborder" valign="top" width="66.10169491525423%" id="d58332e56">Description 
+				  </th>
+ 
+				</tr>
+</thead>
+ 
+			 <tbody> 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d58332e53 "><span class="keyword">range_type range( size_t
+						grainsize=1 )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d58332e56 ">
+					 <p><strong>Returns</strong>: Range over entire 
+						<samp class="codeph">concurrent_vector</samp> that permits read-write
+						access.
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d58332e53 "><span class="keyword"> const_range_type range( size_t
+						grainsize=1 ) const</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d58332e56 ">
+					 <p><strong>Returns</strong>: Range over entire 
+						<samp class="codeph">concurrent_vector</samp> that permits read-only
+						access.
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+			 </tbody>
+ 
+		  </table>
+</div>
+
+	 </div>
+ 
+  </div>
+ 
+  
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../../reference/containers_overview/concurrent_vector.htm">concurrent_vector</a></div>
+</div>
+<div class="See Also">
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="../container_range_concept.htm">Container Range Concept 
+		  </a></div></div>
+</div> 
+
+</body>
+</html>
diff --git a/doc/help/reference/containers_overview/concurrent_vector/whole_vector_operations.htm b/doc/help/reference/containers_overview/concurrent_vector/whole_vector_operations.htm
new file mode 100755
index 0000000..524ec90
--- /dev/null
+++ b/doc/help/reference/containers_overview/concurrent_vector/whole_vector_operations.htm
@@ -0,0 +1,173 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="Whole Vector Operations">
+<meta name="DC.subject" content="Whole Vector Operations">
+<meta name="keywords" content="Whole Vector Operations">
+<meta name="DC.Relation" scheme="URI" content="../../../reference/containers_overview/concurrent_vector.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="whole_vector_operations">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../../intel_css_styles.css">
+<title>Whole Vector Operations</title>
+</head>
+<body id="whole_vector_operations">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(3);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="whole_vector_operations"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Whole Vector Operations</h1>
+ 
+   
+  <div> 
+	 <div class="section">
+		<div class="Note"><h3 class="NoteTipHead">
+					Caution</h3> 
+		  <p>Concurrent invocation of these operations on the
+			 same instance is not safe. 
+		  </p>
+ 
+		</div> 
+		
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"><span class="tabledesc">The following table provides additional information on the
+			 members of this template class. 
+		  </span><thead align="left"> 
+				<tr> 
+				  <th class="cellrowborder" valign="top" width="33.89830508474576%" id="d58606e37">Member 
+				  </th>
+ 
+				  <th class="cellrowborder" valign="top" width="66.10169491525423%" id="d58606e40">Description 
+				  </th>
+ 
+				</tr>
+</thead>
+ 
+			 <tbody> 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d58606e37 "><span class="keyword">void reserve( size_type n
+						)</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d58606e40 "> 
+					 <p>Reserves space for at least 
+						<samp class="codeph"><em>n</em></samp> elements. 
+					 </p>
+ 
+					 <p><strong>Throws</strong> 
+						<samp class="codeph">std::length_error</samp> if 
+						<samp class="codeph"><em>n</em>>max_size()</samp>. It can also throw an
+						exception if the allocator throws an exception. 
+					 </p>
+ 
+					 <p><strong>Safety</strong>: If an exception is thrown,
+						the instance remains in a valid state. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d58606e37 "><span class="keyword">void shrink_to_fit()</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d58606e40 "> 
+					 <p>Compacts the internal representation to
+						reduce fragmentation. 
+					 </p>
+ 
+					 <div class="Note"><h3 class="NoteTipHead">
+					Note</h3> 
+						<p> Method 
+						  <samp class="codeph">shrink_to_fit</samp> was called 
+						  <samp class="codeph">compact()</samp> in Intel® Threading Building
+						  Blocks (Intel® TBB) 2.1. It was renamed to match the C++11 
+						  <samp class="codeph">std::vector::shrink_to_fit()</samp>. 
+						</p>
+ 
+					 </div> 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d58606e37 "><span class="keyword">void swap( concurrent_vector&
+						x )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d58606e40 "> 
+					 <p>Swap contents of two vectors. Takes O(1)
+						time. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d58606e37 "><span class="keyword">void clear()</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d58606e40 "> 
+					 <p>Erases all elements. Afterwards, 
+						<samp class="codeph">size()==0</samp>. Does not free internal arrays. 
+					 </p>
+ 
+					 <div class="Note"><h3 class="NoteTipHead">
+					Tip</h3> 
+						<p>To free internal arrays, call 
+						  <samp class="codeph">shrink_to_fit()</samp> after 
+						  <samp class="codeph">clear()</samp>. 
+						</p>
+ 
+					 </div> 
+					 <div class="Note"><h3 class="NoteTipHead">
+					Note</h3> 
+						<p> The original release of Intel® TBB 2.1
+						  and its "update 1" freed the arrays. The change in "update 2" reverts back to
+						  the behavior of Intel® TBB 2.0. The motivation for not freeing the arrays is to
+						  behave similarly to 
+						  <samp class="codeph">std::vector::clear()</samp>. 
+						</p>
+ 
+					 </div> 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d58606e37 "><span class="keyword"> ~concurrent_vector()</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d58606e40 "> 
+					 <p>Erases all elements and destroys the
+						vector. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+			 </tbody>
+ 
+		  </table>
+</div>
+ 
+	 </div>
+ 
+  </div>
+ 
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../../reference/containers_overview/concurrent_vector.htm">concurrent_vector</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/reference/containers_overview/container_range_concept.htm b/doc/help/reference/containers_overview/container_range_concept.htm
new file mode 100755
index 0000000..22dc614
--- /dev/null
+++ b/doc/help/reference/containers_overview/container_range_concept.htm
@@ -0,0 +1,248 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="Container Range Concept">
+<meta name="DC.subject" content="Container Range Concept">
+<meta name="keywords" content="Container Range Concept">
+<meta name="DC.Relation" scheme="URI" content="../../reference/containers_overview.htm">
+<meta name="DC.Relation" scheme="URI" content="concurrent_hash_map_cls.htm">
+<meta name="DC.Relation" scheme="URI" content="concurrent_vector.htm">
+<meta name="DC.Relation" scheme="URI" content="../algorithms/parallel_for_func.htm">
+<meta name="DC.Relation" scheme="URI" content="../algorithms/parallel_reduce_func.htm">
+<meta name="DC.Relation" scheme="URI" content="../algorithms/parallel_scan_func.htm">
+<meta name="DC.Relation" scheme="URI" content="../algorithms/range_concept.htm">
+<meta name="DC.Relation" scheme="URI" content="concurrent_hash_map_cls/capacity_map_cls.htm">
+<meta name="DC.Relation" scheme="URI" content="concurrent_vector/parallel_iteration.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="container_range_concept">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../intel_css_styles.css">
+<title>Container Range Concept</title>
+</head>
+<body id="container_range_concept">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(2);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="container_range_concept"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Container Range Concept</h1>
+ 
+  
+  <div> 
+	 <div class="section"><h2 class="sectiontitle">Summary</h2> 
+		 
+		<p>View set of items in a container as a recursively
+		  divisible range.
+		</p>
+
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Requirements</h2>
+		 
+		<p>A Container Range is a 
+		  <strong>Range</strong> with the further requirements listed in below.
+		</p>
+ 
+		
+<div class="tablenoborder"><a name="tbl18"><!-- --></a><table cellpadding="4" summary="" id="tbl18" width="100%" frame="hsides" border="1" rules="all"><caption><span class="tablecap">Additional Requirements on a Container
+		  Range R</span></caption> 
+		   
+		   
+		  <thead align="left">
+			 <tr> 
+				<th class="cellrowborder" valign="top" width="NaN%" id="d59076e52">
+				  <p><strong>Pseudo-Signature</strong>
+				  </p>
+
+				</th>
+ 
+				<th class="row-nocellborder" valign="top" width="NaN%" id="d59076e60">
+				  <p><strong>Semantics</strong>
+				  </p>
+
+				</th>
+ 
+			 </tr>
+ 
+		  </thead>
+ 
+		  <tbody> 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="NaN%" headers="d59076e52 ">
+				  <p><samp class="codeph">R::value_type</samp>
+				  </p>
+
+				</td>
+ 
+				<td class="row-nocellborder" valign="top" width="NaN%" headers="d59076e60 ">
+				  <p>Item type
+				  </p>
+
+				</td>
+ 
+			 </tr>
+
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="NaN%" headers="d59076e52 ">
+				  <p><samp class="codeph">R::reference</samp>
+				  </p>
+
+				</td>
+ 
+				<td class="row-nocellborder" valign="top" width="NaN%" headers="d59076e60 ">
+				  <p>Item reference type
+				  </p>
+
+				</td>
+ 
+			 </tr>
+
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="NaN%" headers="d59076e52 ">
+				  <p><samp class="codeph">R::const_reference</samp>
+				  </p>
+
+				</td>
+ 
+				<td class="row-nocellborder" valign="top" width="NaN%" headers="d59076e60 ">
+				  <p>Item const reference type
+				  </p>
+
+				</td>
+ 
+			 </tr>
+
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="NaN%" headers="d59076e52 ">
+				  <p><samp class="codeph">R::difference_type</samp>
+				  </p>
+
+				</td>
+ 
+				<td class="row-nocellborder" valign="top" width="NaN%" headers="d59076e60 ">
+				  <p>Type for difference of two iterators
+				  </p>
+
+				</td>
+ 
+			 </tr>
+
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="NaN%" headers="d59076e52 ">
+				  <p><samp class="codeph">R::iterator</samp>
+				  </p>
+
+				</td>
+ 
+				<td class="row-nocellborder" valign="top" width="NaN%" headers="d59076e60 ">
+				  <p>Iterator type for range
+				  </p>
+
+				</td>
+ 
+			 </tr>
+
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="NaN%" headers="d59076e52 ">
+				  <p><samp class="codeph">R::iterator R::begin()</samp> 
+				  </p>
+
+				</td>
+ 
+				<td class="row-nocellborder" valign="top" width="NaN%" headers="d59076e60 ">
+				  <p>First item in range
+				  </p>
+
+				</td>
+ 
+			 </tr>
+
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="NaN%" headers="d59076e52 ">
+				  <p><samp class="codeph">R::iterator R::end()</samp> 
+				  </p>
+
+				</td>
+ 
+				<td class="row-nocellborder" valign="top" width="NaN%" headers="d59076e60 ">
+				  <p>One past last item in range
+				  </p>
+
+				</td>
+ 
+			 </tr>
+
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="NaN%" headers="d59076e52 ">
+				  <p><samp class="codeph">R::size_type R::grainsize()
+						const</samp>
+				  </p>
+
+				</td>
+ 
+				<td class="row-nocellborder" valign="top" width="NaN%" headers="d59076e60 ">
+				  <p>Grain size
+				  </p>
+
+				</td>
+ 
+			 </tr>
+
+		  </tbody>
+
+		</table>
+</div>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Model Types</h2>
+		 
+		<p>Classes 
+		  <samp class="codeph">concurrent_hash_map</samp> and 
+		  <samp class="codeph">concurrent_vector</samp> both have member types 
+		  <samp class="codeph">range_type</samp> and 
+		  <samp class="codeph">const_range_type</samp> that model a Container Range.
+		</p>
+ 
+		<p>Use the range types in conjunction with 
+		  <samp class="codeph">parallel_for</samp>, 
+		  <samp class="codeph">parallel_reduce</samp>, and 
+		  <samp class="codeph">parallel_scan</samp> to iterate over items in a container. 
+		</p>
+
+	 </div>
+ 
+  </div>
+
+  
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../reference/containers_overview.htm">Containers Overview</a></div>
+</div>
+<div class="See Also">
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="concurrent_hash_map_cls.htm">concurrent_hash_map
+		  </a></div>
+<div><a href="concurrent_vector.htm">concurrent_vector
+		  </a></div>
+<div><a href="../algorithms/parallel_for_func.htm">parallel_for
+		  </a></div>
+<div><a href="../algorithms/parallel_reduce_func.htm">parallel_reduce
+		  </a></div>
+<div><a href="../algorithms/parallel_scan_func.htm">parallel_scan
+		  </a></div>
+<div><a href="../algorithms/range_concept.htm">Range
+		  </a></div>
+<div><a href="concurrent_hash_map_cls/capacity_map_cls.htm">Capacity 
+		  </a></div>
+<div><a href="concurrent_vector/parallel_iteration.htm">Parallel Iteration
+		  </a></div></div>
+</div>
+
+</body>
+</html>
diff --git a/doc/help/reference/environment.htm b/doc/help/reference/environment.htm
new file mode 100755
index 0000000..f64f675
--- /dev/null
+++ b/doc/help/reference/environment.htm
@@ -0,0 +1,60 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="Environment">
+<meta name="DC.subject" content="Environment">
+<meta name="keywords" content="Environment">
+<meta name="DC.Relation" scheme="URI" content="../reference/reference.htm">
+<meta name="DC.Relation" scheme="URI" content="../reference/environment/version_information.htm">
+<meta name="DC.Relation" scheme="URI" content="../reference/environment/enabling_debugging_features.htm">
+<meta name="DC.Relation" scheme="URI" content="../reference/environment/feature_macros.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="environment">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../intel_css_styles.css">
+<title>Environment</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="environment">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(1);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="environment"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Environment</h1>
+ 
+   
+  <div> 
+    <div class="section">
+      <p>This section describes features of  Intel® Thread Building Blocks (Intel® TBB) that relate to general environment issues.</p>
+
+    </div>
+
+    </div>
+
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../reference/reference.htm">Intel® Threading Building Blocks Reference Manual</a></div>
+</div>
+<div>
+<ul class="ullinks">
+<li class="ulchildlink"><a href="../reference/environment/version_information.htm">Version Information</a><br>
+</li>
+<li class="ulchildlink"><a href="../reference/environment/enabling_debugging_features.htm">Enabling Debugging Features</a><br>
+</li>
+<li class="ulchildlink"><a href="../reference/environment/feature_macros.htm">Feature macros</a><br>
+</li>
+</ul>
+</div>
+
+</body>
+</html>
diff --git a/doc/help/reference/environment/enabling_debugging_features.htm b/doc/help/reference/environment/enabling_debugging_features.htm
new file mode 100755
index 0000000..0d37940
--- /dev/null
+++ b/doc/help/reference/environment/enabling_debugging_features.htm
@@ -0,0 +1,300 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="Enabling Debugging Features">
+<meta name="DC.subject" content="Enabling Debugging Features, TBB_USE_DEBUG, TBB_USE_ASSERT, TBB_USE_THREADING_TOOLS, TBB_USE_PERFORMANCE_WARNINGS">
+<meta name="keywords" content="Enabling Debugging Features, TBB_USE_DEBUG, TBB_USE_ASSERT, TBB_USE_THREADING_TOOLS, TBB_USE_PERFORMANCE_WARNINGS">
+<meta name="DC.Relation" scheme="URI" content="../../reference/environment.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="enabling_debugging_features">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../intel_css_styles.css">
+<title>Enabling Debugging Features</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="enabling_debugging_features">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(2);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="enabling_debugging_features"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Enabling Debugging Features</h1>
+ 
+   
+  <div> 
+	 <div class="section"> 
+		<p>Four macros control certain debugging features. In
+		  general, it is useful to compile with these features on for development code,
+		  and off for production code, because the features may decrease performance. The
+		  table below summarizes the macros and their default values. A value of 1
+		  enables the corresponding feature; a value of 0 disables the feature. 
+		</p>
+ 
+		
+<div class="tablenoborder"><a name="tbl6"><!-- --></a><table cellpadding="4" summary="" id="tbl6" width="100%" frame="hsides" border="1" rules="all"><caption><span class="tablecap">Debugging Macros</span></caption> 
+		   
+		   
+		   
+		  <thead align="left"> 
+			 <tr> 
+				<th class="cellrowborder" valign="top" width="NaN%" id="d59878e61">
+				  <p><strong>Macro</strong>
+				  </p>
+
+				</th>
+ 
+				<th class="cellrowborder" valign="top" width="NaN%" id="d59878e69">
+				  <p><strong>Default Value</strong>
+				  </p>
+
+				</th>
+ 
+				<th class="row-nocellborder" valign="top" width="NaN%" id="d59878e77">
+				  <p><strong>Feature</strong>
+				  </p>
+
+				</th>
+ 
+			 </tr>
+ 
+		  </thead>
+ 
+		  <tbody> 
+			 <tr> 
+				<td class="cellrowborder" rowspan="2" valign="top" width="NaN%" headers="d59878e61 "> 
+				  <p><samp class="codeph">TBB_USE_DEBUG</samp>
+				  </p>
+
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="NaN%" headers="d59878e69 ">
+				  <p>Windows* OS: 
+				  </p>
+ 
+				  <p>1 if 
+					 <samp class="codeph">_DEBUG</samp> is defined, 
+				  </p>
+ 
+				  <p>0 otherwise.
+				  </p>
+
+				</td>
+ 
+				<td class="row-nocellborder" rowspan="2" valign="top" width="NaN%" headers="d59878e77 "> 
+				  <p>Default value for all other macros in this
+					 table.
+				  </p>
+
+				</td>
+ 
+			 </tr>
+
+			 <tr> 
+				<td class="row-nocellborder" valign="top" width="NaN%" headers="d59878e69 ">
+				  <p>All other systems: 0.
+				  </p>
+
+				</td>
+ 
+			 </tr>
+
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="NaN%" headers="d59878e61 ">
+				  <p><samp class="codeph">TBB_USE_ASSERT</samp>
+				  </p>
+
+				</td>
+ 
+				<td class="cellrowborder" rowspan="3" valign="top" width="NaN%" headers="d59878e69 "> 
+				  <p><samp class="codeph">TBB_USE_DEBUG</samp>
+				  </p>
+ 
+				  <p> 
+				  </p>
+
+				</td>
+ 
+				<td class="row-nocellborder" valign="top" width="NaN%" headers="d59878e77 ">
+				  <p>Enable internal assertion checking. Can
+					 significantly slow performance.
+				  </p>
+
+				</td>
+ 
+			 </tr>
+
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="NaN%" headers="d59878e61 ">
+				  <p><samp class="codeph">TBB_USE_THREADING_TOOLS</samp>
+				  </p>
+
+				</td>
+ 
+				<td class="row-nocellborder" valign="top" width="NaN%" headers="d59878e77 ">
+				  <p>Enable full support for Intel® Parallel
+					 Studio XE and Intel® Threading Tools.
+				  </p>
+
+				</td>
+ 
+			 </tr>
+
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="NaN%" headers="d59878e61 ">
+				  <p><samp class="codeph">TBB_USE_PERFORMANCE_WARNINGS</samp>
+				  </p>
+
+				</td>
+ 
+				<td class="row-nocellborder" valign="top" width="NaN%" headers="d59878e77 ">
+				  <p>Enable warnings about performance issues.
+				  </p>
+
+				</td>
+ 
+			 </tr>
+
+		  </tbody>
+
+		</table>
+</div>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle"><samp class="codeph">TBB_USE_ASSERT</samp>
+		  Macro</h2> 
+		 
+		<p>The macro 
+		  <samp class="codeph">TBB_USE_ASSERT</samp> controls whether error checking is
+		  enabled in the header files. Define 
+		  <samp class="codeph">TBB_USE_ASSERT</samp> as 
+		  <samp class="codeph">1</samp> to enable error checking.
+		</p>
+ 
+		<p>If an error is detected, the library prints an
+		  error message on 
+		  <samp class="codeph">stderr</samp> and calls the standard C routine 
+		  <samp class="codeph">abort</samp>. To stop a program when internal error checking
+		  detects a failure, place a breakpoint on 
+		  <samp class="codeph">tbb::assertion_failure</samp>.
+		</p>
+ 
+		<div class="Note"><h3 class="NoteTipHead">
+					Tip</h3>
+		  <p>On Microsoft Windows* operating systems, debug
+			 builds implicitly set 
+			 <samp class="codeph">TBB_USE_ASSERT</samp> to 1 by default
+		  </p>
+
+		</div> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle"><samp class="codeph">TBB_USE_THREADING_TOOLS</samp>
+		  Macro</h2>
+		 
+		<p>The macro 
+		  <samp class="codeph">TBB_USE_THREADING_TOOLS</samp> controls support for Intel®
+		  Threading Tools:
+		</p>
+ 
+		<ul type="disc"> 
+		  <li>
+			 <p>Intel® Inspector XE
+			 </p>
+
+		  </li>
+ 
+		  <li>
+			 <p>Intel® VTune™ Amplifier XE
+			 </p>
+
+		  </li>
+
+		  <li>
+			 <p>Intel® Parallel Inspector
+			 </p>
+
+		  </li>
+ 
+		  <li>
+			 <p>Intel® Parallel Amplifier
+			 </p>
+
+		  </li>
+ 
+		  <li>
+			 <p>Intel® Thread Profiler 
+			 </p>
+
+		  </li>
+ 
+		  <li>
+			 <p>Intel® Thread Checker 
+			 </p>
+
+		  </li>
+ 
+		</ul>
+ 
+		<p>Define 
+		  <samp class="codeph">TBB_USE_THREADING_TOOLS</samp> as 
+		  <samp class="codeph">1</samp> to enable full support for these tools. 
+		</p>
+ 
+		<p>That is full support is enabled if error checking
+		  is enabled. Leave 
+		  <samp class="codeph">TBB_USE_THREADING_TOOLS</samp> undefined or zero to enable
+		  top performance in release builds, at the expense of turning off some support
+		  for tools.
+		</p>
+
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle"><samp class="codeph">TBB_USE_PERFORMANCE_WARNINGS</samp>
+		  Macro</h2>
+		 
+		<p>The macro 
+		  <samp class="codeph">TBB_USE_PERFORMANCE_WARNINGS</samp> controls performance
+		  warnings. Define it to be 1 to enable the warnings. Currently, the warnings
+		  affected are:
+		</p>
+ 
+		<ul type="disc"> 
+		  <li>
+			 <p>Some that report poor hash functions for 
+				<samp class="codeph">concurrent_hash_map</samp>. Enabling the warnings may
+				impact performance.
+			 </p>
+
+		  </li>
+ 
+		  <li>
+			 <p>Misaligned 8-byte atomic stores on Intel® IA-32
+				processors.
+			 </p>
+
+		  </li>
+ 
+		</ul>
+ 
+	 </div>
+ 
+  </div>
+
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../reference/environment.htm">Environment</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/reference/environment/feature_macros.htm b/doc/help/reference/environment/feature_macros.htm
new file mode 100755
index 0000000..eb72340
--- /dev/null
+++ b/doc/help/reference/environment/feature_macros.htm
@@ -0,0 +1,216 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="Feature macros">
+<meta name="DC.subject" content="Feature macros, TBB_DEPRECATED, TBB_USE_EXCEPTIONS, TBB_USE_CAPTURED_EXCEPTION, C++11 Support">
+<meta name="keywords" content="Feature macros, TBB_DEPRECATED, TBB_USE_EXCEPTIONS, TBB_USE_CAPTURED_EXCEPTION, C++11 Support">
+<meta name="DC.Relation" scheme="URI" content="../../reference/environment.htm">
+<meta name="DC.Relation" scheme="URI" content="../exceptions.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="feature_macros">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../intel_css_styles.css">
+<title>Feature macros</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="feature_macros">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(2);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="feature_macros"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Feature macros</h1>
+ 
+   
+  <div> 
+	 <div class="section"> 
+		<p>Macros in this section control optional features in
+		  the library. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle"><samp class="codeph">TBB_DEPRECATED</samp>
+		  macro</h2> 
+		 
+		<p>The macro 
+		  <samp class="codeph">TBB_DEPRECATED</samp> controls deprecated features that would
+		  otherwise conflict with non-deprecated use. Define it to be 1 to get deprecated
+		  Intel® Threading Building Blocks (Intel® TBB) 2.1 interfaces. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle"><samp class="codeph">TBB_USE_EXCEPTIONS</samp>
+		  macro</h2> 
+		 
+		<p>The macro 
+		  <samp class="codeph">TBB_USE_EXCEPTIONS</samp> controls whether the library
+		  headers use exception-handling constructs such as 
+		  <samp class="codeph">try</samp>, 
+		  <samp class="codeph">catch</samp>, and 
+		  <samp class="codeph">throw</samp>. The headers do not use these constructs when 
+		  <samp class="codeph">TBB_USE_EXCEPTIONS=0</samp>. 
+		</p>
+ 
+		<p>For the Microsoft Windows*, Linux*, and OS X*
+		  operating systems, the default value is 1 if exception handling constructs are
+		  enabled in the compiler, and 0 otherwise. 
+		</p>
+ 
+		<div class="Note"><h3 class="NoteTipHead">
+					Caution</h3> 
+		  <p>The runtime library may still throw an exception
+			 when 
+			 <samp class="codeph">TBB_USE_EXCEPTIONS=0</samp>. 
+		  </p>
+ 
+		</div> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle"><samp class="codeph">TBB_USE_CAPTURED_EXCEPTION</samp>
+		  macro</h2> 
+		 
+		<p>The macro 
+		  <samp class="codeph">TBB_USE_CAPTURED_EXCEPTION</samp> controls rethrow of
+		  exceptions within the library. Because C++ 1998 does not support catching an
+		  exception on one thread and rethrowing it on another thread, the library
+		  sometimes resorts to rethrowing an approximation called 
+		  <samp class="codeph">tbb::captured_exception</samp>. 
+		</p>
+ 
+		<ul type="disc"> 
+		  <li> 
+			 <p>Define 
+				<samp class="codeph">TBB_USE_CAPTURED_EXCEPTION=1</samp> to make the library
+				rethrow an approximation. This is useful for uniform behavior across platforms.
+				
+			 </p>
+ 
+		  </li>
+ 
+		  <li> 
+			 <p>Define 
+				<samp class="codeph">TBB_USE_CAPTURED_EXCEPTION=0</samp> to request rethrow of
+				the exact exception. This setting is valid only on platforms that support the
+				std::exception_ptr feature of C++11. Otherwise a compile-time diagnostic is
+				issued. 
+			 </p>
+ 
+		  </li>
+ 
+		</ul>
+ 
+		<p>On Windows* , Linux* and OS X* operating systems,
+		  the default value is 
+		  <samp class="codeph">1</samp> for supported host compilers with 
+		  <samp class="codeph">std::exception_ptr</samp>, and 
+		  <samp class="codeph">0</samp> otherwise. On IA-64 architecture processors the
+		  default value is 
+		  <samp class="codeph">0</samp>. 
+		</p>
+ 
+		<div class="Note"><h3 class="NoteTipHead">
+					Caution</h3> 
+		  <p>In order for exact exception propagation to work
+			 properly an appropriate library binary should be used. 
+		  </p>
+ 
+		</div> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">C++11 Support</h2> 
+		 
+		<p>To enable C++11 specific code, you need to use a compiler that
+		  supports C++11 mode, and compile your code with the C++11 mode set. C++11
+		  support is off by default in the compiler. The following table shows the option
+		  for turning it on. 
+		</p>
+ 
+		
+<div class="tablenoborder"><a name="tbl9"><!-- --></a><table cellpadding="4" summary="" id="tbl9" width="100%" frame="border" border="1" cellspacing="0" rules="all"><caption><span class="tablecap">Compilation Commands for Setting C++11 Support</span></caption> 
+		  <thead align="left"> 
+			 <tr> 
+				<th class="cellrowborder" valign="top" width="30.959752321981426%" id="d60661e176"> 
+				  <p>Environment 
+				  </p>
+ 
+				</th>
+ 
+				<th class="cellrowborder" valign="top" width="69.04024767801857%" id="d60661e182"> 
+				  <p>Intel® C++ Compiler (Version 11.0) 
+				  </p>
+ 
+				  <p>Compilation Command and Option 
+				  </p>
+ 
+				</th>
+ 
+			 </tr>
+</thead>
+ 
+		  <tbody> 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="30.959752321981426%" headers="d60661e176 "> 
+				  <p>Windows* OS systems 
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="69.04024767801857%" headers="d60661e182 "> 
+				  <p><samp class="codeph">icl /Qstd:c++0x foo.cpp</samp> 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="30.959752321981426%" headers="d60661e176 "> 
+				  <p>Linux* OS systems 
+				  </p>
+ 
+				  <p>OS X* systems 
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="69.04024767801857%" headers="d60661e182 "> 
+				  <p><samp class="codeph">icc -std=c++0x foo.cpp</samp> 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+		  </tbody>
+ 
+		</table>
+</div>
+ 
+	 </div>
+
+  </div>
+ 
+  
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../reference/environment.htm">Environment</a></div>
+</div>
+<div class="See Also">
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="../exceptions.htm">Exceptions 
+		  </a></div></div>
+</div> 
+
+</body>
+</html>
diff --git a/doc/help/reference/environment/version_information.htm b/doc/help/reference/environment/version_information.htm
new file mode 100755
index 0000000..3f87f64
--- /dev/null
+++ b/doc/help/reference/environment/version_information.htm
@@ -0,0 +1,355 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="Version Information">
+<meta name="DC.subject" content="Version Information, TBB_INTERFACE_VERSION, TBB_INTERFACE_VERSION_MAJOR, TBB_INTERFACE_VERSION/1000, TBB_COMPATIBLE_INTERFACE_VERSION, TBB_USE_ASSERT, DO_ITT_NOTIFY, ALLOCATOR">
+<meta name="keywords" content="Version Information, TBB_INTERFACE_VERSION, TBB_INTERFACE_VERSION_MAJOR, TBB_INTERFACE_VERSION/1000, TBB_COMPATIBLE_INTERFACE_VERSION, TBB_USE_ASSERT, DO_ITT_NOTIFY, ALLOCATOR">
+<meta name="DC.Relation" scheme="URI" content="../../reference/environment.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="version_information">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../intel_css_styles.css">
+<title>Version Information</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="version_information">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(2);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="version_information"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Version Information</h1>
+ 
+   
+  <div> 
+	 <div class="section"> 
+		<p>Intel® Threading Building Blocks (Intel® TBB) has
+		  macros, an environment variable, and a function that reveal version and
+		  run-time information. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Version Macros </h2> 
+		 
+		<p>The header 
+		  <samp class="codeph">tbb/tbb_stddef.h</samp> defines macros related to versioning,
+		  as described below. You should not redefine these macros. 
+		</p>
+ 
+		
+<div class="tablenoborder"><a name="tbl4"><!-- --></a><table cellpadding="4" summary="" id="tbl4" width="100%" frame="hsides" border="1" rules="all"><caption><span class="tablecap">Version Macros</span></caption> 
+		   
+		   
+		  <thead align="left"> 
+			 <tr> 
+				<th class="cellrowborder" valign="top" width="NaN%" id="d61139e81"> 
+				  <p><strong>Macro</strong> 
+				  </p>
+ 
+				</th>
+ 
+				<th class="row-nocellborder" valign="top" width="NaN%" id="d61139e89"> 
+				  <p><strong>Description of Value</strong> 
+				  </p>
+ 
+				</th>
+ 
+			 </tr>
+ 
+		  </thead>
+ 
+		  <tbody> 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="NaN%" headers="d61139e81 "> 
+				  <p><samp class="codeph">TBB_INTERFACE_VERSION</samp> 
+				  </p>
+ 
+				</td>
+ 
+				<td class="row-nocellborder" valign="top" width="NaN%" headers="d61139e89 "> 
+				  <p>Current interface version. The value is a
+					 decimal numeral of the form 
+					 <samp class="codeph"><em>xyyy</em></samp> where 
+					 <samp class="codeph"><em>x</em></samp> is the major version number and 
+					 <samp class="codeph"><em>y</em></samp> is the minor version number. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="NaN%" headers="d61139e81 "> 
+				  <p><samp class="codeph">TBB_INTERFACE_VERSION_MAJOR</samp> 
+				  </p>
+ 
+				</td>
+ 
+				<td class="row-nocellborder" valign="top" width="NaN%" headers="d61139e89 "> 
+				  <p><samp class="codeph">TBB_INTERFACE_VERSION/1000;</samp> that is, the
+					 major version number. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="NaN%" headers="d61139e81 "> 
+				  <p><samp class="codeph">TBB_COMPATIBLE_INTERFACE_VERSION</samp> 
+				  </p>
+ 
+				</td>
+ 
+				<td class="row-nocellborder" valign="top" width="NaN%" headers="d61139e89 "> 
+				  <p>Oldest major interface version still
+					 supported. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+		  </tbody>
+ 
+		</table>
+</div>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle"><samp class="codeph">TBB_VERSION</samp> Environment
+		  Variable</h2> 
+		 
+		<p>Set the environment variable 
+		  <samp class="codeph">TBB_VERSION</samp> to 
+		  <samp class="codeph">1</samp> to cause the library to print information on 
+		  <samp class="codeph">stderr</samp>. Each line is of the form 
+		  <samp class="codeph">“TBB: 
+			 <em>tag value</em>”</samp>, where 
+		  <em>tag</em> and 
+		  <em>value</em> are described below. 
+		</p>
+ 
+		
+<div class="tablenoborder"><a name="tbl5"><!-- --></a><table cellpadding="4" summary="" id="tbl5" width="100%" frame="hsides" border="1" rules="all"><caption><span class="tablecap">Output from TBB_VERSION</span></caption> 
+		   
+		   
+		  <thead align="left"> 
+			 <tr> 
+				<th class="cellrowborder" valign="top" width="NaN%" id="d61139e217"> 
+				  <p><strong>Tag</strong> 
+				  </p>
+ 
+				</th>
+ 
+				<th class="row-nocellborder" valign="top" width="NaN%" id="d61139e225"> 
+				  <p><strong>Description of Value</strong> 
+				  </p>
+ 
+				</th>
+ 
+			 </tr>
+ 
+		  </thead>
+ 
+		  <tbody> 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="NaN%" headers="d61139e217 "> 
+				  <p><samp class="codeph">VERSION</samp> 
+				  </p>
+ 
+				</td>
+ 
+				<td class="row-nocellborder" valign="top" width="NaN%" headers="d61139e225 "> 
+				  <p>Intel TBB product version number. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="NaN%" headers="d61139e217 "> 
+				  <p><samp class="codeph">INTERFACE_VERSION</samp> 
+				  </p>
+ 
+				</td>
+ 
+				<td class="row-nocellborder" valign="top" width="NaN%" headers="d61139e225 "> 
+				  <p>Value of macro 
+					 <samp class="codeph">TBB_INTERFACE_VERSION</samp> when library was
+					 compiled. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="NaN%" headers="d61139e217 "> 
+				  <p><samp class="codeph">BUILD_</samp>... 
+				  </p>
+ 
+				</td>
+ 
+				<td class="row-nocellborder" valign="top" width="NaN%" headers="d61139e225 "> 
+				  <p>Various information about the machine
+					 configuration on which the library was built. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="NaN%" headers="d61139e217 "> 
+				  <p><samp class="codeph">TBB_USE_ASSERT</samp> 
+				  </p>
+ 
+				</td>
+ 
+				<td class="row-nocellborder" valign="top" width="NaN%" headers="d61139e225 "> 
+				  <p>Setting of macro 
+					 <samp class="codeph">TBB_USE_ASSERT</samp> 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="NaN%" headers="d61139e217 "> 
+				  <p><samp class="codeph">DO_ITT_NOTIFY</samp> 
+				  </p>
+ 
+				</td>
+ 
+				<td class="row-nocellborder" valign="top" width="NaN%" headers="d61139e225 "> 
+				  <p><samp class="codeph">1</samp> if library can enable
+					 instrumentation for Intel® Parallel Studio XE and Intel® Threading Tools; 
+					 <samp class="codeph">0</samp> or 
+					 <samp class="codeph">undefined</samp> otherwise. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="NaN%" headers="d61139e217 "> 
+				  <p><samp class="codeph">ITT</samp> 
+				  </p>
+ 
+				</td>
+ 
+				<td class="row-nocellborder" valign="top" width="NaN%" headers="d61139e225 "> 
+				  <p><samp class="codeph">yes</samp> if library has enabled
+					 instrumentation for Intel® Parallel Studio XE and Intel® Threadng Tools, no
+					 otherwise. Typically 
+					 <samp class="codeph">yes</samp> only if the program is running under
+					 control of Intel® Parallel Studio XE or Intel® Threadng Tools. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="NaN%" headers="d61139e217 "> 
+				  <p><samp class="codeph">ALLOCATOR</samp> 
+				  </p>
+ 
+				</td>
+ 
+				<td class="row-nocellborder" valign="top" width="NaN%" headers="d61139e225 "> 
+				  <p>Underlying allocator for 
+					 <samp class="codeph">tbb::tbb_allocator</samp>. It is 
+					 <samp class="codeph">scalable_malloc</samp> if the Intel® TBB malloc
+					 library was successfully loaded; 
+					 <samp class="codeph">malloc</samp> otherwise. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+		  </tbody>
+ 
+		</table>
+</div>
+ 
+		<div class="Note"><h3 class="NoteTipHead">
+					Caution</h3> 
+		  <p>This output is implementation specific and may
+			 change at any time. 
+		  </p>
+ 
+		</div> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle"><samp class="codeph">TBB_runtime_interface_version</samp>
+		  Function</h2> 
+		 
+		<p><strong>Summary</strong> 
+		</p>
+ 
+		<p>Function that returns the interface version of the
+		  Intel® TBB library that was loaded at runtime. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Syntax</h2> 
+		 
+		<p> 
+		  <pre>extern “C” int TBB_runtime_interface_version();</pre> 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Header</h2> 
+		 
+		<p> 
+		  <pre>#include "tbb/tbb_stddef.h"</pre> 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Description</h2> 
+		 
+		<p>The value returned by 
+		  <samp class="codeph">TBB_runtime_interface_version()</samp> may differ from the
+		  value of 
+		  <samp class="codeph">TBB_INTERFACE_VERSION</samp> obtained at compile time. This
+		  can be used to identify whether an application was compiled against a
+		  compatible version of the Intel® TBB headers. 
+		</p>
+ 
+		<p>In general, the run-time value 
+		  <samp class="codeph">TBB_runtime_interface_version()</samp> must be greater than
+		  or equal to the compile-time value of TBB_INTERFACE_VERSION. Otherwise the
+		  application may fail to resolve all symbols at run time. 
+		</p>
+ 
+	 </div>
+ 
+  </div>
+ 
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../reference/environment.htm">Environment</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/reference/exceptions.htm b/doc/help/reference/exceptions.htm
new file mode 100755
index 0000000..9b1353d
--- /dev/null
+++ b/doc/help/reference/exceptions.htm
@@ -0,0 +1,84 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="Exceptions">
+<meta name="DC.subject" content="Exceptions">
+<meta name="keywords" content="Exceptions">
+<meta name="DC.Relation" scheme="URI" content="../reference/reference.htm">
+<meta name="DC.Relation" scheme="URI" content="../reference/exceptions/tbb_exception.htm">
+<meta name="DC.Relation" scheme="URI" content="../reference/exceptions/captured_exception.htm">
+<meta name="DC.Relation" scheme="URI" content="../reference/exceptions/movable_exception.htm">
+<meta name="DC.Relation" scheme="URI" content="../reference/exceptions/specific_exceptions.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="Exceptions">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../intel_css_styles.css">
+<title>Exceptions</title>
+</head>
+<body id="Exceptions">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(1);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="Exceptions"><!-- --></a>
+
+
+    <h1 class="topictitle1">Exceptions</h1>
+
+   
+<div>
+       <div class="section">        <p>Intel® Threading Building Blocks (Intel® TBB) propagates exceptions along logical paths in a tree of tasks. Because these paths cross between thread stacks, support for moving an exception between stacks is necessary. </p>
+<p>When an exception is thrown out of a task, it is caught inside the Intel® TBB run-time and handled as follows:</p>
+<ol class="ol_3">
+           <li>If the cancellation group for the task has already been cancelled, the exception is ignored.</li>
+
+           <li>Otherwise the exception or an approximation of it is captured and the group is cancelled.</li>
+
+           <li>The captured exception is rethrown from the root of the cancellation group after all tasks in the group have completed or have been successfully cancelled.</li>
+
+       </ol>
+<p>The exact exception is captured when both of the following conditions are true:</p>
+<ul type="disc" class="ul_4">
+           <li>The task's <samp class="codeph">task_group_context</samp> was created in a translation unit compiled with <samp class="codeph">TBB_USE_CAPTURED_EXCEPTION=0</samp>. </li>
+
+           <li>The Intel® TBB library was built with a compiler that supports the <samp class="codeph">std::exception_ptr</samp> feature of C++11.</li>
+
+       </ul>
+<p>Otherwise an appoximation of the original exception <em>x</em> is captured as follows:</p>
+<ol class="ol_3">
+           <li>If <samp class="codeph"><samp class="codeph"><em>x</em></samp></samp> is a <samp class="codeph">tbb_exception</samp>, it
+                    is captured by <samp class="codeph"><em>x</em>.move()</samp>.</li>
+
+           <li>If <samp class="codeph"><em>x</em></samp> is a <samp class="codeph">std::exception</samp>, it is captured as
+                    a
+                        <samp class="codeph">tbb::captured_exception(typeid(<em>x</em>).name(),<em>x</em>.what())</samp>. </li>
+
+           <li>Otherwise <samp class="codeph"><em>x</em></samp> is captured as a <samp class="codeph">tbb::captured</samp>
+                    exception with implementation-specified value for <samp class="codeph">name()</samp> and
+                        <samp class="codeph">what()</samp>.</li>
+
+       </ol>
+</div>
+</div>
+ 
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../reference/reference.htm">Intel® Threading Building Blocks Reference Manual</a></div>
+</div>
+<div>
+<ul class="ullinks">
+<li class="ulchildlink"><a href="../reference/exceptions/tbb_exception.htm">tbb_exception</a><br>
+</li>
+<li class="ulchildlink"><a href="../reference/exceptions/captured_exception.htm">captured_exception</a><br>
+</li>
+<li class="ulchildlink"><a href="../reference/exceptions/movable_exception.htm">movable_exception<ExceptionData></a><br>
+</li>
+<li class="ulchildlink"><a href="../reference/exceptions/specific_exceptions.htm">Specific Exceptions</a><br>
+</li>
+</ul>
+</div>
+
+</body>
+</html>
diff --git a/doc/help/reference/exceptions/captured_exception.htm b/doc/help/reference/exceptions/captured_exception.htm
new file mode 100755
index 0000000..6f37d1b
--- /dev/null
+++ b/doc/help/reference/exceptions/captured_exception.htm
@@ -0,0 +1,127 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="captured_exception">
+<meta name="DC.subject" content="captured_exception">
+<meta name="keywords" content="captured_exception">
+<meta name="DC.Relation" scheme="URI" content="../../reference/exceptions.htm">
+<meta name="DC.Relation" scheme="URI" content="tbb_exception.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="captured_exception">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../intel_css_styles.css">
+<title>captured_exception</title>
+</head>
+<body id="captured_exception">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(2);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="captured_exception"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">captured_exception</h1>
+ 
+   
+  <div> 
+	 <div class="section"><h2 class="sectiontitle">Summary</h2> 
+		 
+		<p>Class used by Intel® Threading Building Blocks (Intel® TBB) to capture an
+		  approximation of an exception. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Syntax</h2> 
+		 
+		<pre>class captured_exception;</pre> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Header</h2> 
+		 
+		<pre>#include "tbb/tbb_exception.h"</pre> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Description</h2> 
+		 
+		<p>When a task throws an exception, sometimes Intel®
+		  TBB converts the exception to a 
+		  <samp class="codeph">captured_exception</samp> before propagating it. The
+		  conditions for conversion are described in Section Exceptions. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Members</h2> 
+		 
+		<pre>namespace tbb {
+        class captured_exception: public tbb_exception {
+            captured_exception(const captured_exception& src);
+            captured_exception(const char* name, const char* info);
+            ~captured_exception() throw();
+            captured_exception& operator=(const captured_exception&);
+            captured_exception* move() throw();
+            void destroy() throw();
+            void throw_self();
+            const char* name() const throw();
+            const char* what() const throw();
+        };
+    }</pre> 
+		
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"><span class="tabledesc">The following table provides information on the additions that 
+			 <samp class="codeph">captured_exception</samp> makes to 
+			 <samp class="codeph">tbb_exception</samp>. Section 
+			 <samp class="codeph">tbb_exception</samp> describes the rest of the interface. 
+		  </span><thead align="left"> 
+				<tr> 
+				  <th class="cellrowborder" valign="top" width="33.89830508474576%" id="d62537e85">Member 
+				  </th>
+ 
+				  <th class="cellrowborder" valign="top" width="66.10169491525423%" id="d62537e88">Description 
+				  </th>
+ 
+				</tr>
+</thead>
+ 
+			 <tbody> 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d62537e85 "><span class="keyword">captured_exception( const char*
+						name, const char* info )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d62537e88 "> 
+					 <p>Constructs a 
+						<samp class="codeph">captured_exception</samp> with the specified 
+						<samp class="codeph"><em>name</em></samp> and 
+						<samp class="codeph"><em>info</em></samp>. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+			 </tbody>
+ 
+		  </table>
+</div>
+ 
+	 </div>
+ 
+  </div>
+ 
+  
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../reference/exceptions.htm">Exceptions</a></div>
+</div>
+<div class="See Also">
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="tbb_exception.htm">tbb_exception 
+		  </a></div></div>
+</div>
+
+</body>
+</html>
diff --git a/doc/help/reference/exceptions/movable_exception.htm b/doc/help/reference/exceptions/movable_exception.htm
new file mode 100755
index 0000000..53919b0
--- /dev/null
+++ b/doc/help/reference/exceptions/movable_exception.htm
@@ -0,0 +1,161 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="movable_exception<ExceptionData>">
+<meta name="DC.subject" content="movable_exception">
+<meta name="keywords" content="movable_exception">
+<meta name="DC.Relation" scheme="URI" content="../../reference/exceptions.htm">
+<meta name="DC.Relation" scheme="URI" content="tbb_exception.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="movable_exception">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../intel_css_styles.css">
+<title>movable_exception<ExceptionData></title>
+</head>
+<body id="movable_exception">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(2);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="movable_exception"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">movable_exception<ExceptionData></h1>
+ 
+   
+  <div> 
+	 <div class="section"><h2 class="sectiontitle">Summary</h2> 
+		 
+		<p>Subclass of 
+		  <samp class="codeph">tbb_exceptio</samp>n interface that supports propagating
+		  copy-constructible data. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Syntax</h2> 
+		 
+		<p> 
+		  <pre>template<typename ExceptionData> class movable_exception;</pre> 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Header</h2> 
+		 
+		<p> 
+		  <pre>#include "tbb/tbb_exception.h"</pre> 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Description</h2> 
+		 
+		<p>This template provides a convenient way to implement a subclass of 
+		  <samp class="codeph">tbb_exception</samp> that propagates arbitrary
+		  copy-constructible data. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Members</h2> 
+		 
+		<pre> namespace tbb {
+                   template<typename ExceptionData>
+                    class movable_exception: public tbb_exception {
+                    public:
+                    movable_exception( const ExceptionData& src );
+                    movable_exception( const movable_exception& src )throw();
+                    ~movable_exception() throw();
+                    movable_exception& operator=( const movable_exception& src );
+                    ExceptionData& data() throw();
+                    const ExceptionData& data() const throw();
+                    movable_exception* move() throw();
+                    void destroy() throw();
+                    void throw_self();
+                    const char* name() const throw();
+                    const char* what() const throw();
+                    };
+                    }</pre> 
+		
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"><span class="tabledesc">The following table provides information on the additions that 
+			 <samp class="codeph">movable_exception</samp> makes to 
+			 <samp class="codeph">tbb_exception</samp>. Section 
+			 <samp class="codeph">tbb_exception</samp> describes the rest of the interface. 
+		  </span><thead align="left"> 
+				<tr> 
+				  <th class="cellrowborder" valign="top" width="33.89830508474576%" id="d62830e94">Member 
+				  </th>
+ 
+				  <th class="cellrowborder" valign="top" width="66.10169491525423%" id="d62830e97">Description 
+				  </th>
+ 
+				</tr>
+</thead>
+ 
+			 <tbody> 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d62830e94 "><span class="keyword">movable_exception( const
+						ExceptionData& src )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d62830e97 "> 
+					 <p>Construct 
+						<samp class="codeph">movable_exception</samp> containing copy of src. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d62830e94 "><span class="keyword">ExceptionData& data()
+						throw()</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d62830e97 "> 
+					 <p><strong>Returns</strong>: Reference to contained data. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d62830e94 "><span class="keyword">const ExceptionData& data()
+						const throw()</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d62830e97 "> 
+					 <p><strong>Returns</strong>: Const reference to contained data. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+			 </tbody>
+ 
+		  </table>
+</div>
+ 
+	 </div>
+ 
+  </div>
+ 
+  
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../reference/exceptions.htm">Exceptions</a></div>
+</div>
+<div class="See Also">
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="tbb_exception.htm">tbb_exception 
+		  </a></div></div>
+</div>
+
+</body>
+</html>
diff --git a/doc/help/reference/exceptions/specific_exceptions.htm b/doc/help/reference/exceptions/specific_exceptions.htm
new file mode 100755
index 0000000..a702653
--- /dev/null
+++ b/doc/help/reference/exceptions/specific_exceptions.htm
@@ -0,0 +1,214 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="Specific Exceptions">
+<meta name="DC.subject" content="Specific Exceptions">
+<meta name="keywords" content="Specific Exceptions">
+<meta name="DC.Relation" scheme="URI" content="../../reference/exceptions.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="specific_exceptions">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../intel_css_styles.css">
+<title>Specific Exceptions</title>
+</head>
+<body id="specific_exceptions">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(2);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="specific_exceptions"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Specific Exceptions</h1>
+ 
+  
+  <div> 
+	 <div class="section"><h2 class="sectiontitle">Summary</h2> 
+		 
+		<p>Exceptions thrown by other library components.
+		</p>
+ 
+	 </div>
+
+	 <div class="section"><h2 class="sectiontitle">Syntax</h2>
+		 
+		<pre>class bad_last_alloc;
+class improper_lock;
+class invalid_multiple_scheduling;
+hclass missing_wait;
+class user_abort;</pre> 
+	 </div>
+
+	 <div class="section"><h2 class="sectiontitle">Header</h2>
+		 
+		<pre>#include "tbb/tbb_exception.h"</pre> 
+	 </div>
+
+	 <div class="section"><h2 class="sectiontitle">Description</h2>
+		 
+		<p>The table below describes when the exceptions are thrown. 
+		</p>
+ 
+		<p>Classes for Specific Exceptions.
+		</p>
+
+	 </div>
+
+	 
+<div class="tablenoborder"><table cellpadding="4" summary="" width="100%" frame="border" border="1" cellspacing="0" rules="all">
+		  <thead align="left">
+			 <tr> 
+				<th class="cellrowborder" valign="top" id="d63237e66"> 
+				  <p><strong>Exception</strong>
+				  </p>
+ 
+				</th>
+ 
+				<th class="cellrowborder" valign="top" id="d63237e74"> 
+				  <p><strong>Thrown when...</strong>
+				  </p>
+ 
+				</th>
+ 
+			 </tr>
+
+		  </thead>
+
+		  <tbody>
+			 <tr> 
+				<td class="cellrowborder" valign="top" headers="d63237e66 "> 
+				  <p>bad_last_alloc
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" headers="d63237e74 "> 
+				  <ol>
+					 <li>A 
+						<samp class="codeph">pop</samp> operation on a 
+						<samp class="codeph">concurrent_queue</samp> or 
+						<samp class="codeph">concurrent_bounded_queue</samp> corrersponds to a
+						push that threw an exception.
+					 </li>
+
+					 <li> An operation on a 
+						<samp class="codeph">concurrent_vector</samp> cannot be performed
+						because a prior operation threw an exception. 
+					 </li>
+
+				  </ol>
+
+				</td>
+ 
+			 </tr>
+
+			 <tr> 
+				<td class="cellrowborder" valign="top" headers="d63237e66 "> 
+				  <p>improper_lock
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" headers="d63237e74 "> 
+				  <p>A thread attempts to lock a 
+					 <samp class="codeph">critical_section</samp> or 
+					 <samp class="codeph">reader_writer_lock</samp> that it it has already
+					 locked.
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+
+			 <tr> 
+				<td class="cellrowborder" valign="top" headers="d63237e66 "> 
+				  <p>invalid_multiple_scheduling
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" headers="d63237e74 "> 
+				  <p>A 
+					 <samp class="codeph">task_group</samp> or 
+					 <samp class="codeph">structured_task_group</samp> attempts to run a 
+					 <samp class="codeph">task_handle</samp> twice.
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+
+			 <tr> 
+				<td class="cellrowborder" valign="top" headers="d63237e66 "> 
+				  <p>missing_wait
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" headers="d63237e74 "> 
+				  <p>A 
+					 <samp class="codeph">push</samp> or 
+					 <samp class="codeph">pop</samp> operation on a 
+					 <samp class="codeph">concurrent_bounded_queue</samp> was aborted by the
+					 user.<samp class="codeph">wait()</samp> is invoked.
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+
+			 <tr>
+				<td class="cellrowborder" valign="top" headers="d63237e66 ">
+				  <p>user_abort
+				  </p>
+
+				</td>
+
+				<td class="cellrowborder" valign="top" headers="d63237e74 ">&#xA0;</td>
+
+			 </tr>
+
+		  </tbody>
+
+		</table>
+</div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Members</h2>
+		
+		<pre>namespace tbb {
+        class bad_last_alloc: public std::bad_alloc {
+        public:
+            const char* what() const throw();
+        };
+        class improper_lock: public std::exception {
+        public:
+            const char* what() const throw();
+        };
+        class invalid_multiple_scheduler: public std::exception {
+           const char* what() const throw();
+        };
+        class missing_wait: public std::exception {
+        public:
+            const char* what() const throw();
+        };
+        class user_abort : public std::exception {
+        public:
+           const char* what() const throw();
+        };
+		  
+    }</pre> 
+	 </div>
+ 
+  </div>
+ 
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../reference/exceptions.htm">Exceptions</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/reference/exceptions/tbb_exception.htm b/doc/help/reference/exceptions/tbb_exception.htm
new file mode 100755
index 0000000..2dfbadb
--- /dev/null
+++ b/doc/help/reference/exceptions/tbb_exception.htm
@@ -0,0 +1,80 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="tbb_exception">
+<meta name="DC.subject" content="tbb_exception">
+<meta name="keywords" content="tbb_exception">
+<meta name="DC.Relation" scheme="URI" content="../../reference/exceptions.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="tbb_exception">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../intel_css_styles.css">
+<title>tbb_exception</title>
+</head>
+<body id="tbb_exception">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(2);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="tbb_exception"><!-- --></a>
+
+
+    <h1 class="topictitle1">tbb_exception</h1>
+
+    
+<div><div class="section"><h2 class="sectiontitle">Summary</h2>
+        <p>Exception that can be moved to another thread.</p>
+
+        </div>
+<div class="section"><h2 class="sectiontitle">Syntax</h2>
+        <pre>class tbb_exception;</pre>
+        </div>
+<div class="section"><h2 class="sectiontitle">Header</h2>
+        <pre>#include "tbb/tbb_exception.h"</pre>
+        </div>
+<div class="section"><h2 class="sectiontitle">Description</h2>
+        <p>In a parallel environment, exceptions sometimes have to be propagated across threads. Class <samp class="codeph">tbb_exception</samp> subclasses <samp class="codeph">std::exception</samp> to add support for such propagation. </p>
+
+        </div>
+<div class="section"><h2 class="sectiontitle">Members</h2>
+<pre>        namespace tbb {
+            class tbb_exception: public std::exception {
+                virtual tbb_exception* move() = 0;
+                virtual void destroy() throw() = 0;
+                virtual void throw_self() = 0;
+                virtual const char* name() throw() = 0;
+                virtual const char* what() throw() = 0;
+            };  
+        }</pre>
+        <p>Derived classes should define the abstract virtual methods as follows:</p>
+
+        <ul type="disc">
+            <li><p><samp class="codeph">move()</samp> should create a pointer to a copy of the exception that can outlive the original. It may move the contents of the original.</p>
+</li>
+
+            <li><p><samp class="codeph">destroy()</samp> should destroy a copy created by <samp class="codeph">move()</samp>.</p>
+</li>
+
+            <li><p><samp class="codeph">throw_self()</samp> should throw <samp class="codeph">*this</samp>. </p>
+</li>
+
+            <li><p><samp class="codeph">name()</samp> typically returns the RTTI name of the originally intercepted exception.</p>
+</li>
+
+            <li><p><samp class="codeph">what()</samp> returns a null-terminated string describing the exception.</p>
+</li>
+
+        </ul>
+</div>
+</div>
+ 
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../reference/exceptions.htm">Exceptions</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/reference/flow_graph.htm b/doc/help/reference/flow_graph.htm
new file mode 100755
index 0000000..1fc71cb
--- /dev/null
+++ b/doc/help/reference/flow_graph.htm
@@ -0,0 +1,138 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="Flow Graph">
+<meta name="DC.subject" content="Flow Graph">
+<meta name="keywords" content="Flow Graph">
+<meta name="DC.Relation" scheme="URI" content="../reference/reference.htm">
+<meta name="DC.Relation" scheme="URI" content="../reference/flow_graph/primary_components.htm">
+<meta name="DC.Relation" scheme="URI" content="../reference/flow_graph/message_passing_protocol.htm">
+<meta name="DC.Relation" scheme="URI" content="../reference/flow_graph/body_objects.htm">
+<meta name="DC.Relation" scheme="URI" content="../reference/flow_graph/flow_tuple.htm">
+<meta name="DC.Relation" scheme="URI" content="../reference/flow_graph/dependency_flow_graph_example.htm">
+<meta name="DC.Relation" scheme="URI" content="../reference/flow_graph/message_flow_graph_example.htm">
+<meta name="DC.Relation" scheme="URI" content="../reference/flow_graph/graph_cls.htm">
+<meta name="DC.Relation" scheme="URI" content="../reference/flow_graph/sender_cls.htm">
+<meta name="DC.Relation" scheme="URI" content="../reference/flow_graph/receiver_cls.htm">
+<meta name="DC.Relation" scheme="URI" content="../reference/flow_graph/continue_msg_cls.htm">
+<meta name="DC.Relation" scheme="URI" content="../reference/flow_graph/continue_receiver_cls.htm">
+<meta name="DC.Relation" scheme="URI" content="../reference/flow_graph/graph_node_cls.htm">
+<meta name="DC.Relation" scheme="URI" content="../reference/flow_graph/continue_node_cls.htm">
+<meta name="DC.Relation" scheme="URI" content="../reference/flow_graph/func_node_cls.htm">
+<meta name="DC.Relation" scheme="URI" content="../reference/flow_graph/source_node_cls.htm">
+<meta name="DC.Relation" scheme="URI" content="../reference/flow_graph/multifunc_node_cls.htm">
+<meta name="DC.Relation" scheme="URI" content="../reference/flow_graph/overwrite_node_cls.htm">
+<meta name="DC.Relation" scheme="URI" content="../reference/flow_graph/write_once_node_cls.htm">
+<meta name="DC.Relation" scheme="URI" content="../reference/flow_graph/broadcast_node_cls.htm">
+<meta name="DC.Relation" scheme="URI" content="../reference/flow_graph/buffer_node_cls.htm">
+<meta name="DC.Relation" scheme="URI" content="../reference/flow_graph/queue_node_cls.htm">
+<meta name="DC.Relation" scheme="URI" content="../reference/flow_graph/priority_queue_node_cls.htm">
+<meta name="DC.Relation" scheme="URI" content="../reference/flow_graph/sequencer_node_cls.htm">
+<meta name="DC.Relation" scheme="URI" content="../reference/flow_graph/limiter_node_cls.htm">
+<meta name="DC.Relation" scheme="URI" content="../reference/flow_graph/join_node_cls.htm">
+<meta name="DC.Relation" scheme="URI" content="../reference/flow_graph/split_node_cls.htm">
+<meta name="DC.Relation" scheme="URI" content="../reference/flow_graph/input_port_func.htm">
+<meta name="DC.Relation" scheme="URI" content="../reference/flow_graph/make_edge_func.htm">
+<meta name="DC.Relation" scheme="URI" content="../reference/flow_graph/remove_edge_func.htm">
+<meta name="DC.Relation" scheme="URI" content="../reference/flow_graph/copy_body_func.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="flow_graph">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../intel_css_styles.css">
+<title>Flow Graph</title>
+</head>
+<body id="flow_graph">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(1);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="flow_graph"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Flow Graph</h1>
+ 
+   
+  <div> 
+	 <p>There are some applications that best express dependencies as messages
+		passed between nodes in a flow graph. These messages may contain data or simply
+		act as signals that a predecessor has completed. The <span class="keyword">graph</span> class and its
+		associated node classes can be used to express such applications. All
+		graph-related classes and functions are in the <span class="keyword">tbb::flow</span> namespace.
+	 </p>
+ 
+  </div>
+ 
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../reference/reference.htm">Intel® Threading Building Blocks Reference Manual</a></div>
+</div>
+<div>
+<ul class="ullinks">
+<li class="ulchildlink"><a href="../reference/flow_graph/primary_components.htm">Primary Components</a><br>
+</li>
+<li class="ulchildlink"><a href="../reference/flow_graph/message_passing_protocol.htm">Message Passing Protocol</a><br>
+</li>
+<li class="ulchildlink"><a href="../reference/flow_graph/body_objects.htm">Body Objects</a><br>
+</li>
+<li class="ulchildlink"><a href="../reference/flow_graph/flow_tuple.htm">flow::tuple Template Class</a><br>
+</li>
+<li class="ulchildlink"><a href="../reference/flow_graph/dependency_flow_graph_example.htm">Dependency Flow Graph Example</a><br>
+</li>
+<li class="ulchildlink"><a href="../reference/flow_graph/message_flow_graph_example.htm">Message Flow Graph Example</a><br>
+</li>
+<li class="ulchildlink"><a href="../reference/flow_graph/graph_cls.htm">graph Class</a><br>
+</li>
+<li class="ulchildlink"><a href="../reference/flow_graph/sender_cls.htm">sender Template Class</a><br>
+</li>
+<li class="ulchildlink"><a href="../reference/flow_graph/receiver_cls.htm">receiver Template Class</a><br>
+</li>
+<li class="ulchildlink"><a href="../reference/flow_graph/continue_msg_cls.htm">continue_msg Class</a><br>
+</li>
+<li class="ulchildlink"><a href="../reference/flow_graph/continue_receiver_cls.htm">continue_receiver Class</a><br>
+</li>
+<li class="ulchildlink"><a href="../reference/flow_graph/graph_node_cls.htm">graph_node Class</a><br>
+</li>
+<li class="ulchildlink"><a href="../reference/flow_graph/continue_node_cls.htm">continue_node Template Class</a><br>
+</li>
+<li class="ulchildlink"><a href="../reference/flow_graph/func_node_cls.htm">function_node Template Class</a><br>
+</li>
+<li class="ulchildlink"><a href="../reference/flow_graph/source_node_cls.htm">source_node Class</a><br>
+</li>
+<li class="ulchildlink"><a href="../reference/flow_graph/multifunc_node_cls.htm">multifunction_node Template Class</a><br>
+</li>
+<li class="ulchildlink"><a href="../reference/flow_graph/overwrite_node_cls.htm">overwrite_node Template Class</a><br>
+</li>
+<li class="ulchildlink"><a href="../reference/flow_graph/write_once_node_cls.htm">write_once_node Template Class</a><br>
+</li>
+<li class="ulchildlink"><a href="../reference/flow_graph/broadcast_node_cls.htm">broadcast_node Template Class</a><br>
+</li>
+<li class="ulchildlink"><a href="../reference/flow_graph/buffer_node_cls.htm">buffer_node Class</a><br>
+</li>
+<li class="ulchildlink"><a href="../reference/flow_graph/queue_node_cls.htm">queue_node Template Class</a><br>
+</li>
+<li class="ulchildlink"><a href="../reference/flow_graph/priority_queue_node_cls.htm">priority_queue_node Template Class</a><br>
+</li>
+<li class="ulchildlink"><a href="../reference/flow_graph/sequencer_node_cls.htm">sequencer_node Template Class</a><br>
+</li>
+<li class="ulchildlink"><a href="../reference/flow_graph/limiter_node_cls.htm">limiter_node Template Class</a><br>
+</li>
+<li class="ulchildlink"><a href="../reference/flow_graph/join_node_cls.htm">join_node Template Class</a><br>
+</li>
+<li class="ulchildlink"><a href="../reference/flow_graph/split_node_cls.htm">split_node Template Class</a><br>
+</li>
+<li class="ulchildlink"><a href="../reference/flow_graph/input_port_func.htm">input_port Template Function</a><br>
+</li>
+<li class="ulchildlink"><a href="../reference/flow_graph/make_edge_func.htm">make_edge Template Function</a><br>
+</li>
+<li class="ulchildlink"><a href="../reference/flow_graph/remove_edge_func.htm">remove_edge Template Function</a><br>
+</li>
+<li class="ulchildlink"><a href="../reference/flow_graph/copy_body_func.htm">copy_body Template Function</a><br>
+</li>
+</ul>
+</div>
+
+</body>
+</html>
diff --git a/doc/help/reference/flow_graph/body_objects.htm b/doc/help/reference/flow_graph/body_objects.htm
new file mode 100755
index 0000000..06307e2
--- /dev/null
+++ b/doc/help/reference/flow_graph/body_objects.htm
@@ -0,0 +1,73 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="Body Objects">
+<meta name="DC.subject" content="Body Objects">
+<meta name="keywords" content="Body Objects">
+<meta name="DC.Relation" scheme="URI" content="../../reference/flow_graph.htm">
+<meta name="DC.Relation" scheme="URI" content="copy_body_func.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="body_objects">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../intel_css_styles.css">
+<title>Body Objects</title>
+</head>
+<body id="body_objects">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(2);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="body_objects"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Body Objects</h1>
+ 
+   
+  <div> 
+	 <p>Some nodes execute user-provided body objects. These objects can be
+		created by instantiating function objects or lambda expressions. The nodes that
+		use body objects include 
+		<span class="keyword">continue_node</span>, 
+		<span class="keyword">function_node</span>,
+		<span class="keyword">source_node</span> and
+                <span class="keyword">multifunction_node</span>. 
+	 </p>
+ 
+	 <div class="Note"><h3 class="NoteTipHead">
+					Caution</h3> 
+		<p> The body objects passed to the flow graph nodes are copied. Therefore
+		  updates to member variables will not affect the original object used to
+		  construct the node. If the state held within a body object must be inspected
+		  from outside of the node, the 
+		<span class="option">copy_body</span> function can be used to obtain an updated
+		copy. 
+		</p>
+ 
+	 </div> 
+	 <div class="Note"><h3 class="NoteTipHead">
+					Caution</h3> 
+		<p> The source_node has a one-item buffer which may contain a value
+                obtained from executing the node's body.  If the source_node has
+                emitted <samp class="codeph">N</samp> items, the state of the body returned by
+                <span class="option">copy_body</span> may indicate it has been called <samp class="codeph">N + 1</samp> times. 
+		</p>
+ 
+	 </div> 
+  </div>
+ 
+  
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../reference/flow_graph.htm">Flow Graph</a></div>
+</div>
+<div class="See Also">
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="copy_body_func.htm">copy_body Template Function
+		  </a></div></div>
+</div> 
+
+</body>
+</html>
diff --git a/doc/help/reference/flow_graph/broadcast_node_cls.htm b/doc/help/reference/flow_graph/broadcast_node_cls.htm
new file mode 100755
index 0000000..885ba28
--- /dev/null
+++ b/doc/help/reference/flow_graph/broadcast_node_cls.htm
@@ -0,0 +1,320 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="broadcast_node Template Class">
+<meta name="DC.subject" content="broadcast_node Template Class">
+<meta name="keywords" content="broadcast_node Template Class">
+<meta name="DC.Relation" scheme="URI" content="../../reference/flow_graph.htm">
+<meta name="DC.Relation" scheme="URI" content="message_passing_protocol.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="broadcast_node_cls">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../intel_css_styles.css">
+<title>broadcast_node Template Class</title>
+</head>
+<body id="broadcast_node_cls">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(2);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="broadcast_node_cls"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">broadcast_node Template Class</h1>
+ 
+   
+  <div> 
+	 <div class="section"><h2 class="sectiontitle">Summary</h2> 
+		 
+		<p>A node that broadcasts incoming messages to all of its successors. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Syntax</h2> 
+		 
+		<pre>template < typename T > class broadcast_node;</pre> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Header</h2> 
+		 
+		<pre>#include "tbb/flow_graph.h"</pre> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Description</h2> 
+		 
+		<p>A 
+		  <span class="keyword">broadcast_node</span> is a 
+		  <span class="keyword">graph_node</span>, 
+		  <span class="keyword">receiver<T></span> and 
+		  <span class="keyword">sender<T></span> that broadcasts incoming messages of
+		  type 
+		  <span class="keyword">T</span> to all of its successors. There is no buffering in
+		  the node, so all messages are forwarded immediately to all successors. 
+		</p>
+ 
+		<p>Rejection of messages by successors is handled using the protocol in
+		  the Message Passing Protocol, see link below. 
+		</p>
+ 
+		<p><span class="keyword">T</span> must be copy-constructible and assignable. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Members</h2> 
+		 
+		<pre>namespace tbb {
+namespace flow {
+ 
+template< typename T >
+class broadcast_node :
+  public graph_node, public receiver<T>, public sender<T> {
+public:
+    broadcast_node( graph &g );
+    broadcast_node( const broadcast_node &src );
+ 
+    // receiver<T>
+    typedef T input_type;
+    typedef sender<input_type> predecessor_type;
+    bool try_put( const input_type &v );
+    bool register_predecessor( predecessor_type &p );
+    bool remove_predecessor( predecessor_type &p );
+ 
+    // sender<T>
+    typedef T output_type;
+    typedef receiver<output_type> successor_type;
+    bool register_successor( successor_type &r );
+    bool remove_successor( successor_type &r );
+    bool try_get( output_type &v );
+    bool try_reserve( output_type &v );
+    bool try_release( );
+    bool try_consume( );
+};
+ 
+}
+}</pre> 
+		
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"><span class="tabledesc">The following table provides additional information on the
+			 members of this template class. 
+		  </span><thead align="left"> 
+				<tr> 
+				  <th class="cellrowborder" valign="top" width="33.89830508474576%" id="d64417e156">Member 
+				  </th>
+ 
+				  <th class="cellrowborder" valign="top" width="66.10169491525423%" id="d64417e159">Description 
+				  </th>
+ 
+				</tr>
+</thead>
+ 
+			 <tbody> 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d64417e156 "><span class="keyword">broadcast_node( graph &g
+						)</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d64417e159 "> 
+					 <p>Constructs an object of type 
+						<span class="keyword">broadcast_node</span> that belongs to the 
+						<span class="keyword">graph g</span>. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d64417e156 "><span class="keyword">broadcast_node( const
+						broadcast_node &src )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d64417e159 "> 
+					 <p>Constructs an object of type 
+						<span class="keyword">broadcast_node</span> that belongs to the same 
+						<span class="keyword">graph g</span> as 
+						<span class="keyword">src</span>. The list of predecessors, the list of
+						successors and the messages in the buffer are NOT copied. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d64417e156 "><span class="keyword">bool try_put( const input_type
+						&v )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d64417e159 "> 
+					 <p>Adds 
+						<span class="keyword">v</span> to all successors. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: always returns 
+						<span class="keyword">true</span>, even if it was unable to
+						successfully forward the message to any of its successors. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d64417e156 "><span class="keyword">bool register_predecessor(
+						predecessor_type &p )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d64417e159 "> 
+					 <p>Never rejects puts and therefore does not need to maintain a
+						list of predecessors. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: 
+						<span class="keyword">false</span> 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d64417e156 "><span class="keyword">bool remove_predecessor(
+						predecessor_type &p )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d64417e159 "> 
+					 <p>Never rejects puts and therefore does not need to maintain a
+						list of predecessors. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: 
+						<span class="keyword">false</span> 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d64417e156 "><span class="keyword">bool register_successor(
+						successor_type &r )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d64417e159 "> 
+					 <p>Adds 
+						<span class="keyword">r</span> to the set of successors. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: 
+						<span class="keyword">true</span> 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d64417e156 "><span class="keyword">bool remove_successor(
+						successor_type &r )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d64417e159 "> 
+					 <p>Removes 
+						<span class="keyword">r</span> from the set of successors. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: 
+						<span class="keyword">true</span> 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d64417e156 "><span class="keyword">bool try_get( output_type &v
+						)</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d64417e159 "> 
+					 <p>If the internal buffer is valid, assigns the value to 
+						<span class="keyword">v</span>. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: 
+						<span class="keyword">true</span> if 
+						<span class="keyword">v</span> is assigned to. 
+						<span class="keyword">false</span> if 
+						<span class="keyword">v</span> is not assigned to. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d64417e156 "><span class="keyword">bool try_reserve( output_type
+						&v )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d64417e159 "> 
+					 <p><strong>Returns</strong>: 
+						<span class="keyword">false</span> 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d64417e156 "><span class="keyword">bool try_release( )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d64417e159 "> 
+					 <p><strong>Returns</strong>: 
+						<span class="keyword">false</span> 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d64417e156 "><span class="keyword">bool try_consume( )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d64417e159 "> 
+					 <p><strong>Returns</strong>: 
+						<span class="keyword">false</span> 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+			 </tbody>
+ 
+		  </table>
+</div>
+ 
+	 </div>
+ 
+  </div>
+ 
+  
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../reference/flow_graph.htm">Flow Graph</a></div>
+</div>
+<div class="See Also">
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="message_passing_protocol.htm">Message Passing Protocol 
+		  </a></div></div>
+</div>
+
+</body>
+</html>
diff --git a/doc/help/reference/flow_graph/buffer_node_cls.htm b/doc/help/reference/flow_graph/buffer_node_cls.htm
new file mode 100755
index 0000000..b909192
--- /dev/null
+++ b/doc/help/reference/flow_graph/buffer_node_cls.htm
@@ -0,0 +1,362 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="buffer_node Class">
+<meta name="DC.subject" content="buffer_node Class">
+<meta name="keywords" content="buffer_node Class">
+<meta name="DC.Relation" scheme="URI" content="../../reference/flow_graph.htm">
+<meta name="DC.Relation" scheme="URI" content="message_passing_protocol.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="buffer_node_cls">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../intel_css_styles.css">
+<title>buffer_node Class</title>
+</head>
+<body id="buffer_node_cls">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(2);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="buffer_node_cls"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">buffer_node Class</h1>
+ 
+   
+  <div> 
+	 <div class="section"><h2 class="sectiontitle">Summary</h2> 
+		 
+		<p>An unbounded buffer of messages of type 
+		  <span class="keyword">T</span>. Messages are forwarded in arbitrary order. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Syntax</h2> 
+		 
+		<pre>template< typename T, typename A = cache_aligned_allocator<T> >
+class buffer_node;</pre> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Header</h2> 
+		 
+		<pre>#include "tbb/flow_graph.h"</pre> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Description</h2> 
+		 
+		<p>A 
+		  <span class="keyword">buffer_node</span> is a 
+		  <span class="keyword">graph_node</span>, 
+		  <span class="keyword">receiver<T></span> and 
+		  <span class="keyword">sender<T></span> that forwards messages in arbitrary
+		  order to a single successor in its successor set. Successors are tried in the
+		  order that they were registered with the node. If a successor rejects the
+		  message, it is removed from the successor list according to the policy in the
+		  Message Passing Protocol, and the next successor in the set is tried. This
+		  continues until a successor accepts the message, or all successors have been
+		  attempted. Items that are successfully transferred to a successor are removed
+		  from the buffer. 
+		</p>
+ 
+		<p>A 
+		  <span class="keyword">buffer_node</span> is reservable and supports a single
+		  reservation at a time. While an item is reserved, other items may still be
+		  forwarded to successors and 
+		  <span class="keyword">try_get</span> calls will return other non-reserved items
+		  if available. While an item is reserved, 
+		  <span class="keyword">try_put</span> will still return 
+		  <span class="keyword">true</span> and add items to the buffer. 
+		</p>
+ 
+		<p>An allocator of type 
+		  <span class="keyword">A</span> is used to allocate internal memory for the 
+		  <span class="keyword">buffer_node.</span> 
+		</p>
+ 
+		<p><span class="keyword">T</span> must be copy-constructible and assignable 
+		</p>
+ 
+		<p>Rejection of messages by successors is handled using the protocol in
+		  the Message Passing Protocol, see link below. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Members</h2> 
+		 
+		<pre>namespace tbb {
+namespace flow {
+ 
+ 
+template< typename T, typename A = cache_aligned_allocator<T> >
+class buffer_node :
+  public graph_node, public receiver<T>, public sender<T> {
+public:
+    buffer_node( graph &g );
+    buffer_node( const buffer_node &src );
+ 
+    // receiver<T>
+    typedef T input_type;
+    typedef sender<input_type> predecessor_type;
+    bool try_put( const input_type &v );
+    bool register_predecessor( predecessor_type &p );
+    bool remove_predecessor( predecessor_type &p );
+ 
+    // sender<T>
+    typedef T output_type;
+    typedef receiver<output_type> successor_type;
+    bool register_successor( successor_type &r );
+    bool remove_successor( successor_type &r );
+    bool try_get( output_type &v );
+    bool try_reserve( output_type &v );
+    bool try_release( );
+    bool try_consume( );
+};
+ 
+}
+}</pre> 
+		
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"><span class="tabledesc">The following table provides additional information on the
+			 members of this class. 
+		  </span><thead align="left"> 
+				<tr> 
+				  <th class="cellrowborder" valign="top" width="33.89830508474576%" id="d65487e185">Member 
+				  </th>
+ 
+				  <th class="cellrowborder" valign="top" width="66.10169491525423%" id="d65487e188">Description 
+				  </th>
+ 
+				</tr>
+</thead>
+ 
+			 <tbody> 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d65487e185 "><span class="keyword">buffer_node( graph &g
+						)</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d65487e188 "> 
+					 <p>Constructs an empty 
+						<span class="keyword">buffer_node</span> that belongs to the 
+						<span class="keyword">graph g</span>. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d65487e185 "><span class="keyword">buffer_node( const buffer_node
+						&src )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d65487e188 "> 
+					 <p>Constructs an empty 
+						<span class="keyword">buffer_node</span>. The buffered value and list
+						of successors is NOT copied from 
+						<span class="keyword">src</span>. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d65487e185 "><span class="keyword">bool try_put( const input_type
+						&v )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d65487e188 "> 
+					 <p>Adds 
+						<span class="keyword">v</span> to the buffer. If 
+						<span class="keyword">v</span> is the only item in the buffer, a task
+						is also spawned to forward the item to a successor. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: 
+						<span class="keyword">true</span> 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d65487e185 "><span class="keyword">bool register_predecessor(
+						predecessor_type &p )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d65487e188 "> 
+					 <p>Never rejects puts and therefore does not need to maintain a
+						list of predecessors. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: 
+						<span class="keyword">false</span> 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d65487e185 "><span class="keyword">bool remove_predecessor(
+						predecessor_type &p )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d65487e188 "> 
+					 <p>Never rejects puts and therefore does not need to maintain a
+						list of predecessors. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: 
+						<span class="keyword">false</span> 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d65487e185 "><span class="keyword">bool register_successor(
+						successor_type &r )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d65487e188 "> 
+					 <p>Adds 
+						<span class="keyword">r</span> to the set of successors. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: 
+						<span class="keyword">true</span> 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d65487e185 "><span class="keyword">bool remove_successor(
+						successor_type &r )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d65487e188 "> 
+					 <p>Removes 
+						<span class="keyword">r</span> from the set of successors. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: 
+						<span class="keyword">true</span> 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d65487e185 "><span class="keyword">bool try_get( output_type &v
+						)</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d65487e188 "> 
+					 <p><strong>Returns</strong>: 
+						<span class="keyword">true</span> if an item can be removed from the
+						buffer and assigned to 
+						<span class="keyword">v</span>. Returns 
+						<span class="keyword">false</span> if there is no non-reserved item
+						currently in the buffer. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d65487e185 "><span class="keyword">bool try_reserve( output_type
+						&v )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d65487e188 "> 
+					 <p>Assigns a newly reserved item to 
+						<span class="keyword">v</span> if there is no reservation currently
+						held and there is at least one item available in the buffer. If a new
+						reservation is made, the buffer is marked as reserved. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: 
+						<span class="keyword">true</span> if 
+						<span class="keyword">v</span> has been assigned a newly reserved item.
+						Returns 
+						<span class="keyword">false</span> otherwise. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d65487e185 "><span class="keyword">bool try_release( )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d65487e188 "> 
+					 <p>Releases the reservation on the buffer. The item that was
+						returned in the last successful call to 
+						<span class="keyword">try_reserve</span> remains in the buffer. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: 
+						<span class="keyword">true</span> if the buffer is currently reserved
+						and 
+						<span class="keyword">false</span> otherwise. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d65487e185 "><span class="keyword">bool try_consume( )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d65487e188 "> 
+					 <p>Releases the reservation on the buffer. The item that was
+						returned in the last successful call to 
+						<span class="keyword">try_reserve</span> remains in the buffer. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: 
+						<span class="keyword">true</span> if the buffer is currently reserved
+						and 
+						<span class="keyword">false</span> otherwise. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+			 </tbody>
+ 
+		  </table>
+</div>
+ 
+	 </div>
+ 
+  </div>
+ 
+  
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../reference/flow_graph.htm">Flow Graph</a></div>
+</div>
+<div class="See Also">
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="message_passing_protocol.htm">Message Passing Protocol 
+		  </a></div></div>
+</div>
+
+</body>
+</html>
diff --git a/doc/help/reference/flow_graph/continue_msg_cls.htm b/doc/help/reference/flow_graph/continue_msg_cls.htm
new file mode 100755
index 0000000..6d9fa54
--- /dev/null
+++ b/doc/help/reference/flow_graph/continue_msg_cls.htm
@@ -0,0 +1,61 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="continue_msg Class">
+<meta name="DC.subject" content="continue_msg Class">
+<meta name="keywords" content="continue_msg Class">
+<meta name="DC.Relation" scheme="URI" content="../../reference/flow_graph.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="continue_msg_cls">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../intel_css_styles.css">
+<title>continue_msg Class</title>
+</head>
+<body id="continue_msg_cls">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(2);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="continue_msg_cls"><!-- --></a>
+
+
+  <h1 class="topictitle1">continue_msg Class</h1>
+
+  
+  <div>
+	 <div class="section"><h2 class="sectiontitle">Summary</h2>
+		
+		<p>An empty class that represent a continue message. An object of this
+		  class is used to indicate that the sender has completed.
+		</p>
+
+	 </div>
+
+	 <div class="section"><h2 class="sectiontitle">Syntax</h2>
+		
+		<pre>class continue_msg;</pre>
+	 </div>
+
+	 <div class="section"><h2 class="sectiontitle">Header</h2>
+		
+		<pre>#include "tbb/flow_graph.h"</pre>
+	 </div>
+
+	 <div class="section"><h2 class="sectiontitle">Members</h2>
+		
+		<pre>namespace tbb { namespace flow { class continue_msg {}; } }</pre>
+	 </div>
+
+  </div>
+
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../reference/flow_graph.htm">Flow Graph</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/reference/flow_graph/continue_node_cls.htm b/doc/help/reference/flow_graph/continue_node_cls.htm
new file mode 100755
index 0000000..7d61a9b
--- /dev/null
+++ b/doc/help/reference/flow_graph/continue_node_cls.htm
@@ -0,0 +1,563 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="continue_node Template Class">
+<meta name="DC.subject" content="continue_node Template Class">
+<meta name="keywords" content="continue_node Template Class">
+<meta name="DC.Relation" scheme="URI" content="../../reference/flow_graph.htm">
+<meta name="DC.Relation" scheme="URI" content="make_edge_func.htm">
+<meta name="DC.Relation" scheme="URI" content="remove_edge_func.htm">
+<meta name="DC.Relation" scheme="URI" content="copy_body_func.htm">
+<meta name="DC.Relation" scheme="URI" content="../task_scheduler/task_group_context.htm">
+<meta name="DC.Relation" scheme="URI" content="../exceptions.htm">
+<meta name="DC.Relation" scheme="URI" content="message_passing_protocol.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="continue_node_cls">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../intel_css_styles.css">
+<title>continue_node Template Class</title>
+</head>
+<body id="continue_node_cls">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(2);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="continue_node_cls"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">continue_node Template Class</h1>
+ 
+   
+  <div> 
+	 <div class="section"><h2 class="sectiontitle">Summary</h2> 
+		 
+		<p>A template class that is a 
+		  <span class="keyword">graph_node</span>, 
+		  <span class="keyword">continue_receiver</span> and a 
+		  <span class="keyword">sender<T></span>. It executes a specified body object
+		  when triggered and broadcasts the generated value to all of its successors. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Syntax</h2> 
+		 
+		<pre>template< typename Output > class continue_node;</pre> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Header</h2> 
+		 
+		<pre>#include "tbb/flow_graph.h"</pre> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Description</h2> 
+		 
+		<p>This type is used for nodes that wait for their predecessors to
+		  complete before executing, but no explicit data is passed across the incoming
+		  edges. The output of the node can be a 
+		  <span class="keyword">continue_msg</span> or a value. 
+		</p>
+ 
+		<p>A 
+		  <span class="keyword">continue_node</span> maintains an internal threshold, T,
+		  and an internal counter, C. If a value for the number of predecessors is
+		  provided at construction, then T is set to the provided value and C=0.
+		  Otherwise, C=T=0.   
+		</p>
+ 
+		<p>At each call to method 
+		  <span class="keyword">register_predecessor</span>, the threshold T is
+		  incremented. At each call to method 
+		  <span class="keyword">remove_predecessor</span>, the threshold T is decremented.
+		  The functions 
+		  <span class="keyword">make_edge</span> and 
+		  <span class="keyword">remove_edge</span> appropriately call 
+		  <span class="keyword">register_predecessor</span> and 
+		  <span class="keyword">remove_predecessor</span> when edges are added to or
+		  removed from a 
+		  <span class="keyword">continue_node.</span> 
+		</p>
+ 
+		<p>At each call to method 
+		  <span class="keyword">try_put</span>, C is incremented. If after the increment,
+		  C>=T, then C is reset to 0 and a task is spawned to broadcast the result of
+		  
+		  <span class="keyword">body()</span> to all successors. The increment of C,
+		  spawning of the task, and the resetting of C are all done atomically with
+		  respect to the node. If after the increment, C<T, no additional action is
+		  taken. 
+		</p>
+ 
+		<p>The value generated by an execution of the body object is broadcast to
+		  all successors. Rejection of messages by successors is handled using the
+		  protocol in the Message Passing Protocol, see link below. 
+		</p>
+ 
+		<p>A 
+		  <span class="keyword">continue_node</span> can serve as a terminal node in the
+		  graph. The convention is to use an 
+		  <span class="keyword">Output</span> of 
+		  <span class="keyword">continue_msg</span> and attach no successor. 
+		</p>
+ 
+		<p>The Body concept for 
+		  <span class="keyword">continue_node</span> is shown in below. 
+		</p>
+ 
+		
+<div class="tablenoborder"><a name="tbl22"><!-- --></a><table cellpadding="4" summary="" id="tbl22" frame="border" border="1" cellspacing="0" rules="all"><caption><span class="tablecap">continue_node<Output> Body Concept</span></caption> 
+		  <thead align="left"> 
+			 <tr> 
+				<th class="cellrowborder" align="center" valign="top" width="50%" id="d66767e141"> 
+				  <p>Pseudo-Signature 
+				  </p>
+ 
+				</th>
+ 
+				<th class="cellrowborder" align="center" valign="top" width="50%" id="d66767e147"> 
+				  <p>Semantics 
+				  </p>
+ 
+				</th>
+ 
+			 </tr>
+</thead>
+ 
+		  <tbody> 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="50%" headers="d66767e141 "> 
+				  <p> 
+					 <pre>B::B( const B& )</pre> 
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="50%" headers="d66767e147 "> 
+				  <p>Copy constructor. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="50%" headers="d66767e141 "> 
+				  <p> 
+					 <pre>B::~B()</pre> 
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="50%" headers="d66767e147 "> 
+				  <p>Destructor. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="50%" headers="d66767e141 "> 
+				  <p> 
+					 <pre>void operator=( const B& )</pre> 
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="50%" headers="d66767e147 "> 
+				  <p>Assignment. The return type 
+					 <span class="keyword">void</span> in the pseudo-signature denotes that 
+					 <span class="keyword">operator=</span> is not required to return a value.
+					 The actual 
+					 <span class="keyword">operator=</span> can return a value, which will be
+					 ignored. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="50%" headers="d66767e141 "> 
+				  <p> 
+					 <pre>Output B::operator()(const continue_msg &v) const</pre> 
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="50%" headers="d66767e147 "> 
+				  <p>Perform operation and return value of type Output. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+		  </tbody>
+ 
+		</table>
+</div>
+ 
+		<div class="Note"><h3 class="NoteTipHead">
+					Caution</h3> 
+		  <p> The body object passed to a 
+			 <span class="keyword">continue_node</span> is copied. Therefore updates to
+			 member variables will not affect the original object used to construct the
+			 node. If the state held within a body object must be inspected from outside of
+			 the node, the 
+			 <span class="keyword">copy_body</span> function can be used to obtain an
+			 updated copy. 
+		  </p>
+ 
+		</div> 
+		<div class="Note"><h3 class="NoteTipHead">
+					Note</h3> 
+		  <p> The body object may throw or cancel its enclosing graph. See
+			 task_group_context and Exceptions sections for a description. 
+		  </p>
+ 
+		</div> 
+		<div class="Note"><h3 class="NoteTipHead">
+					Caution</h3> 
+		  <p><span class="keyword">Output</span> must be copy-constructible and assignable.
+			 
+		  </p>
+ 
+		</div> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Members</h2> 
+		 
+		<pre>namespace tbb {
+namespace flow {
+ 
+template< typename Output >
+class continue_node :
+  public graph_node, public continue_receiver,
+  public sender<Output> {
+public:
+    template<typename Body>
+    continue_node( graph &g, Body body );
+    template<typename Body>
+    continue_node( graph &g, int number_of_predecessors,
+                     Body body );
+    continue_node( const continue_node &src );
+ 
+    // continue_receiver
+    typedef continue_msg input_type;
+    typedef sender<input_type> predecessor_type;
+    bool try_put( const input_type &v );
+    bool register_predecessor( predecessor_type &p );
+    bool remove_predecessor( predecessor_type &p );
+ 
+    // sender<Output>
+    typedef Output output_type;
+    typedef receiver<output_type> successor_type;
+    bool register_successor( successor_type &r );
+    bool remove_successor( successor_type &r );
+    bool try_get( output_type &v );
+    bool try_reserve( output_type &v );
+    bool try_release( );
+    bool try_consume( );
+};
+ 
+}
+}</pre> 
+		
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"><span class="tabledesc">The following table provides additional information on the
+			 members of this template class. 
+		  </span><thead align="left"> 
+				<tr> 
+				  <th class="cellrowborder" valign="top" width="33.89830508474576%" id="d66767e288">Member 
+				  </th>
+ 
+				  <th class="cellrowborder" valign="top" width="66.10169491525423%" id="d66767e291">Description 
+				  </th>
+ 
+				</tr>
+</thead>
+ 
+			 <tbody> 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d66767e288 "><span class="keyword">template< typename Body>
+						continue_node( graph &g, Body body )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d66767e291 "> 
+					 <p>Constructs a 
+						<span class="keyword">continue_node</span> that will invoke 
+						<span class="keyword">body</span>. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d66767e288 "><span class="keyword">template< typename Body>
+						continue_node( graph &g, int number_of_predecessors, Body body )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d66767e291 "> 
+					 <p>Constructs a 
+						<span class="keyword">continue_node</span> that will invoke 
+						<span class="keyword">body</span>. The threshold T is initialized to 
+						<span class="keyword">number_of_predecessors</span>. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d66767e288 "><span class="keyword">continue_node( const continue_node
+						&src )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d66767e291 "> 
+					 <p>Constructs a 
+						<span class="keyword">continue_node</span> that has the same initial
+						state that 
+						<span class="keyword">src</span> had after its construction. It does
+						not copy the current count of 
+						<span class="keyword">try_puts</span> received, or the current known
+						number of predecessors. The 
+						<span class="keyword">continue_node</span> that is constructed will
+						have a reference to the same 
+						<span class="keyword">graph</span> object as 
+						<span class="keyword">src</span>, have a copy of the initial 
+						<span class="keyword">body</span> used by 
+						<span class="keyword">src</span>, and only have a non-zero threshold if
+						
+						<span class="keyword">src</span> was constructed with a non-zero
+						threshold. 
+					 </p>
+ 
+					 <div class="Note"><h3 class="NoteTipHead">
+					Caution</h3> 
+						<p> The new body object is copy constructed from a copy of
+						  the original body provided to 
+						  <span class="keyword">src</span> at its construction. Therefore
+						  changes made to member variables in 
+						  <span class="keyword">src</span>'s body after the construction of 
+						  <span class="keyword">src</span> will not affect the body of the new 
+						  <span class="keyword">continue_node</span>. 
+						</p>
+ 
+					 </div> 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d66767e288 "><span class="keyword">bool try_put( const input_type
+						&v )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d66767e291 "> 
+					 <p>Increments the count of 
+						<span class="keyword">try_put</span> calls received. If the incremented
+						count is equal to the number of known predecessors, a task is spawned to
+						execute the 
+						<span class="keyword">body</span> and the internal count of 
+						<span class="keyword">try_put</span> calls is reset to zero. This
+						method performs as if the spawning of the body task and the updates to the
+						internal count occur atomically. It does not wait for the execution of the body
+						to complete. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: 
+						<span class="keyword">true</span> 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d66767e288 "><span class="keyword">bool register_predecessor(
+						predecessor_type &p )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d66767e291 "> 
+					 <p>Increments the number of known predecessors. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: 
+						<span class="keyword">true</span> 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d66767e288 "><span class="keyword">bool remove_predecessor(
+						predecessor_type &p 
+					 </span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d66767e291 "> 
+					 <p>Decrements the number of known predecessors. 
+					 </p>
+ 
+					 <div class="Note"><h3 class="NoteTipHead">
+					Caution</h3> 
+						<p> The body is not called if the count of 
+						  <span class="keyword">try_put</span> calls received becomes equal to
+						  the number of known predecessors as a result of this call. That is, a call to 
+						  <span class="keyword">remove_predecessor</span> will never invoke the
+						  body. 
+						</p>
+ 
+					 </div> 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d66767e288 "><span class="keyword">bool register_successor(
+						successor_type &r )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d66767e291 "> 
+					 <p>Adds 
+						<span class="keyword">r</span> to the set of successors. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: 
+						<span class="keyword">true</span> 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d66767e288 "><span class="keyword">bool remove_successor(
+						successor_type &r )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d66767e291 "> 
+					 <p>Removes 
+						<span class="keyword">r</span> from the set of successors. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: 
+						<span class="keyword">true</span> 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d66767e288 "><span class="keyword">bool try_get( output_type &v
+						)</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d66767e291 "> 
+					 <p>The 
+						<span class="keyword">continue_node</span> does not contain buffering.
+						Therefore it always rejects 
+						<span class="keyword">try_get</span> calls. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: 
+						<span class="keyword">false</span> 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d66767e288 "><span class="keyword">bool try_reserve( output_type
+						&v )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d66767e291 "> 
+					 <p>The 
+						<span class="keyword">continue_node</span> does not contain buffering.
+						Therefore it cannot be reserved. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: 
+						<span class="keyword">false</span> 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d66767e288 "><span class="keyword">bool try_release( )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d66767e291 "> 
+					 <p>The 
+						<span class="keyword">continue_node</span> does not contain buffering.
+						Therefore it cannot be reserved. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: 
+						<span class="keyword">false</span> 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d66767e288 "><span class="keyword">bool try_consume( )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d66767e291 "> 
+					 <p>The 
+						<span class="keyword">continue_node</span> does not contain buffering.
+						Therefore it cannot be reserved. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: 
+						<span class="keyword">false</span> 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+			 </tbody>
+ 
+		  </table>
+</div>
+ 
+	 </div>
+ 
+  </div>
+ 
+  
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../reference/flow_graph.htm">Flow Graph</a></div>
+</div>
+<div class="See Also">
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="make_edge_func.htm">make_edge Template Function 
+		  </a></div>
+<div><a href="remove_edge_func.htm">remove_edge Template Function 
+		  </a></div>
+<div><a href="copy_body_func.htm">copy_body Template Function 
+		  </a></div>
+<div><a href="../task_scheduler/task_group_context.htm">task_group_context 
+		  </a></div>
+<div><a href="../exceptions.htm">Exceptions 
+		  </a></div>
+<div><a href="message_passing_protocol.htm">Message Passing Protocol 
+		  </a></div></div>
+</div> 
+
+</body>
+</html>
diff --git a/doc/help/reference/flow_graph/continue_receiver_cls.htm b/doc/help/reference/flow_graph/continue_receiver_cls.htm
new file mode 100755
index 0000000..28a664d
--- /dev/null
+++ b/doc/help/reference/flow_graph/continue_receiver_cls.htm
@@ -0,0 +1,257 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="continue_receiver Class">
+<meta name="DC.subject" content="continue_receiver Class">
+<meta name="keywords" content="continue_receiver Class">
+<meta name="DC.Relation" scheme="URI" content="../../reference/flow_graph.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="continue_receiver_cls">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../intel_css_styles.css">
+<title>continue_receiver Class</title>
+</head>
+<body id="continue_receiver_cls">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(2);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="continue_receiver_cls"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">continue_receiver Class</h1>
+ 
+   
+  <div> 
+	 <div class="section"><h2 class="sectiontitle">Summary</h2> 
+		 
+		<p>An abstract base class for nodes that act as receivers of 
+		  <span class="keyword">continue_msg</span> objects. These nodes call a method 
+		  <span class="keyword">execute</span> when the number of 
+		  <span class="keyword">try_put</span> calls reaches a threshold that represents
+		  the number of known predecessors. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Syntax</h2> 
+		 
+		<pre>class continue_receiver;</pre> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Header</h2> 
+		 
+		<pre>#include "tbb/flow_graph.h"</pre> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Description</h2> 
+		 
+		<p>This type of node is triggered when its method 
+		  <span class="keyword">try_put</span> has been called a number of times that is
+		  equal to the number of known predecessors. When triggered, the node calls the
+		  method 
+		  <span class="keyword">execute,</span> then resets and will fire again when it
+		  receives the correct number of 
+		  <span class="keyword">try_put</span> calls. This node type is useful for
+		  dependency graphs, where each node must wait for its predecessors to complete
+		  before executing, but no explicit data is passed across the edge. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Members</h2> 
+		 
+		<pre>namespace tbb {
+namespace flow {
+ 
+class continue_receiver : public receiver< continue_msg > {
+public:
+    typedef continue_msg input_type;
+    typedef sender< input_type > predecessor_type;
+    continue_receiver( int num_predecessors = 0 );
+    continue_receiver( const continue_receiver &src );
+    virtual ~continue_receiver();
+    virtual bool try_put( const input_type &v );
+    virtual bool register_predecessor( predecessor_type &p );
+    virtual bool remove_predecessor( predecessor_type &p );
+ 
+protected:
+    virtual void execute() = 0;
+};
+ 
+}
+}</pre> 
+		
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"><span class="tabledesc">The following table provides additional information on the
+			 members of this class. 
+		  </span><thead align="left"> 
+				<tr> 
+				  <th class="cellrowborder" valign="top" width="33.89830508474576%" id="d68500e131">Member 
+				  </th>
+ 
+				  <th class="cellrowborder" valign="top" width="66.10169491525423%" id="d68500e134">Description 
+				  </th>
+ 
+				</tr>
+</thead>
+ 
+			 <tbody> 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d68500e131 "><span class="keyword">continue_receiver( int
+						num_predecessors = 0 )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d68500e134 "> 
+					 <p>Constructs a 
+						<span class="keyword">continue_receiver</span> that is initialized to
+						trigger after receiving 
+						<span class="keyword">num_predecessors</span> calls to 
+						<span class="keyword">try_put</span>. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d68500e131 "><span class="keyword">continue_receiver( const
+						continue_receiver &src )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d68500e134 "> 
+					 <p>Constructs a 
+						<span class="keyword">continue_receiver</span> that has the same
+						initial state that 
+						<span class="keyword">src</span> had after its construction. It does
+						not copy the current count of 
+						<span class="keyword">try_puts</span> received, or the current known
+						number of predecessors. The 
+						<span class="keyword">continue_receiver</span> that is constructed will
+						only have a non-zero threshold if 
+						<span class="keyword">src</span> was constructed with a non-zero
+						threshold. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d68500e131 "><span class="keyword">~continue_receiver( )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d68500e134 "> 
+					 <p>The destructor 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d68500e131 "><span class="keyword">bool try_put( const input_type
+						&v )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d68500e134 "> 
+					 <p>Increments the count of 
+						<span class="keyword">try_put</span> calls received. If the incremented
+						count is equal to the number of known predecessors, a call is made to 
+						<span class="keyword">execute</span> and the internal count of 
+						<span class="keyword">try_put</span> calls is reset to zero. This
+						method performs as if the call to 
+						<span class="keyword">execute</span> and the updates to the internal
+						count occur atomically. 
+					 </p>
+
+					 <p><strong>Returns</strong>: 
+						<span class="keyword">true</span> 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d68500e131 "><span class="keyword">bool register_predecessor(
+						predecessor_type &p )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d68500e134 "> 
+					 <p>Increments the number of known predecessors. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: 
+						<span class="keyword">true</span> 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d68500e131 "><span class="keyword">bool remove_predecessor(
+						predecessor_type &p )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d68500e134 "> 
+					 <p>Decrements the number of known predecessors. 
+					 </p>
+ 
+					 <div class="Note"><h3 class="NoteTipHead">
+					Caution</h3> 
+						<p> The method 
+						  <span class="keyword">execute</span> is not called if the count of 
+						  <span class="keyword">try_put</span> calls received becomes equal to
+						  the number of known predecessors as a result of this call. That is, a call to 
+						  <span class="keyword">remove_predecessor</span> will never call 
+						  <span class="keyword">execute</span>. 
+						</p>
+ 
+					 </div> 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d68500e131 "><span class="keyword">void execute() = 0</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d68500e134 "> 
+					 <p>A pure virtual method that is called when the number of 
+						<span class="keyword">try_put</span> calls is equal to the number of
+						known predecessors. Must be overridden by the child class. 
+					 </p>
+ 
+					 <div class="Note"><h3 class="NoteTipHead">
+					Caution</h3> 
+						<p> This method should be very fast or else spawn a task to
+						  offload its work, since this method is called while the sender is blocked on 
+						  <span class="keyword">try_put</span>. 
+						</p>
+ 
+					 </div> 
+				  </td>
+ 
+				</tr>
+ 
+			 </tbody>
+ 
+		  </table>
+</div>
+ 
+	 </div>
+ 
+  </div>
+
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../reference/flow_graph.htm">Flow Graph</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/reference/flow_graph/copy_body_func.htm b/doc/help/reference/flow_graph/copy_body_func.htm
new file mode 100755
index 0000000..20d8d87
--- /dev/null
+++ b/doc/help/reference/flow_graph/copy_body_func.htm
@@ -0,0 +1,77 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="copy_body Template Function">
+<meta name="DC.subject" content="copy_body Template Function">
+<meta name="keywords" content="copy_body Template Function">
+<meta name="DC.Relation" scheme="URI" content="../../reference/flow_graph.htm">
+<meta name="DC.Relation" scheme="URI" content="continue_node_cls.htm">
+<meta name="DC.Relation" scheme="URI" content="func_node_cls.htm">
+<meta name="DC.Relation" scheme="URI" content="multifunc_node_cls.htm">
+<meta name="DC.Relation" scheme="URI" content="source_node_cls.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="copy_body_func">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../intel_css_styles.css">
+<title>copy_body Template Function</title>
+</head>
+<body id="copy_body_func">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(2);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="copy_body_func"><!-- --></a>
+
+
+  <h1 class="topictitle1">copy_body Template Function</h1>
+
+  
+  <div>
+	 <div class="section"><h2 class="sectiontitle">Summary</h2>
+		
+		<p>A template function that returns a copy of the body function object
+		  from a 
+		  <span class="keyword">continue_node</span>,
+		  <span class="keyword">function_node</span>,
+		  <span class="keyword">multifunction_node</span>,
+                  or 
+		  <span class="keyword">source_node</span>.
+		</p>
+
+	 </div>
+
+	 <div class="section"><h2 class="sectiontitle">Syntax</h2>
+		
+		<pre>template< typename Body, typename Node >
+Body copy_body( Node &n );</pre>
+	 </div>
+
+	 <div class="section"><h2 class="sectiontitle">Header</h2>
+		
+		<pre>#include "tbb/flow_graph.h"</pre>
+	 </div>
+
+  </div>
+
+  
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../reference/flow_graph.htm">Flow Graph</a></div>
+</div>
+<div class="See Also">
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="continue_node_cls.htm"> continue_node Template Class 
+		  </a></div>
+<div><a href="func_node_cls.htm"> function_node Template Class 
+		  </a></div>
+<div><a href="multifunc_node_cls.htm"> multifunction_node Template Class 
+		  </a></div>
+<div><a href="source_node_cls.htm"> source_node Template Class 
+		  </a></div></div>
+</div>
+
+</body>
+</html>
diff --git a/doc/help/reference/flow_graph/dependency_flow_graph_example.htm b/doc/help/reference/flow_graph/dependency_flow_graph_example.htm
new file mode 100755
index 0000000..eb94c8a
--- /dev/null
+++ b/doc/help/reference/flow_graph/dependency_flow_graph_example.htm
@@ -0,0 +1,161 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="Dependency Flow Graph Example">
+<meta name="DC.subject" content="Dependency Flow Graph Example">
+<meta name="keywords" content="Dependency Flow Graph Example">
+<meta name="DC.Relation" scheme="URI" content="../../reference/flow_graph.htm">
+<meta name="DC.Relation" scheme="URI" content="continue_msg_cls.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="dependency_flow_graph_example">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../intel_css_styles.css">
+<title>Dependency Flow Graph Example</title>
+</head>
+<body id="dependency_flow_graph_example">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(2);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="dependency_flow_graph_example"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Dependency Flow Graph Example</h1>
+ 
+   
+  <div> 
+	 <p>In the following example, five computations A-E are set up with the
+		partial ordering shown below in "A simple dependency graph.". For each edge in
+		the flow graph, the node at the tail of the edge must complete its execution
+		before the node at the head may begin. 
+	 </p>
+ 
+	 <div class="Note"><h3 class="NoteTipHead">
+					Note</h3> 
+		<p>This is a simple syntactic example only. Since each node in a flow
+		  graph may execute as an independent task, the granularity of each node should
+		  follow the general guidelines for tasks as described in Section 3.2.3 of the
+		  Intel® Threading Building Blocks Tutorial. 
+		</p>
+ 
+	 </div> 
+	 <div class="fignone" id="fig5_dep_graph"><a name="fig5_dep_graph"><!-- --></a><span class="figcap">A simple dependency graph.</span> 
+		 
+		<br><a name="image_45FEEBCB0EBD40C19CCD9FDB0E503A15"><!-- --></a><div class="imagecenter"><img id="image_45FEEBCB0EBD40C19CCD9FDB0E503A15" src="../Resources/dep_graph.jpg" height="409" width="249" alt="A simple dependency graph." align="center"></div><br> 
+	 </div>
+ 
+	 <pre>#include <cstdio>
+#include "tbb/flow_graph.h"
+ 
+using namespace tbb::flow;
+ 
+struct body {
+    std::string my_name;
+    body( const char *name ) : my_name(name) {}
+    void operator()( continue_msg ) const {
+        printf("%s\n", my_name.c_str());
+    }
+};
+ 
+int main() {
+    graph g;
+ 
+    broadcast_node< continue_msg > start;
+    continue_node<continue_msg> a( g, body("A"));
+    continue_node<continue_msg> b( g, body("B"));
+    continue_node<continue_msg> c( g, body("C"));
+    continue_node<continue_msg> d( g, body("D"));
+    continue_node<continue_msg> e( g, body("E"));
+ 
+    make_edge( start, a );
+    make_edge( start, b );
+    make_edge( a, c );
+    make_edge( b, c );
+    make_edge( c, d );
+    make_edge( a, e );
+ 
+    for (int i = 0; i < 3; ++i ) {
+        start.try_put( continue_msg() );
+        g.wait_for_all();
+    }
+ 
+    return 0;
+}  </pre>
+	 <p>In this example, nodes A-E print out their names. All of these nodes are
+		therefore able to use 
+		<span class="keyword">struct body</span> to construct their body objects. 
+	 </p>
+ 
+	 <p>In function 
+		<span class="keyword">main</span>, the flow graph is set up once and then run three
+		times. All of the nodes in this example pass around 
+		<span class="keyword">continue_msg</span> objects. This type is used to communicate
+		that a node has completed its execution. 
+	 </p>
+ 
+	 <p>The first line in function 
+		<span class="keyword">main</span> instantiates a 
+		<span class="keyword">graph</span> object, 
+		<span class="keyword">g</span>. On the next line, a 
+		<span class="keyword">broadcast_node</span> named 
+		<span class="keyword">start</span> is created. Anything passed to this node will be
+		broadcast to all of its successors. The node 
+		<span class="keyword">start</span> is used in the 
+		<span class="keyword">for</span> loop at the bottom of 
+		<span class="keyword">main</span> to launch the execution of the rest of the flow
+		graph. 
+	 </p>
+ 
+	 <p>In the example, five 
+		<span class="keyword">continue_node</span> objects are created, named a - e. Each
+		node is constructed with a reference to 
+		<span class="keyword">graph</span> 
+		<span class="keyword">g</span> and the function object to invoke when it runs. The
+		successor / predecessor relationships are set up by the 
+		<span class="keyword">make_edge</span> calls that follow the declaration of the
+		nodes. 
+	 </p>
+ 
+	 <p>After the nodes and edges are set up, the 
+		<span class="keyword">try_put</span> in each iteration of the 
+		<span class="keyword">for</span> loop results in a broadcast of a 
+		<span class="keyword">continue_msg</span> to both 
+		<span class="keyword">a</span> and 
+		<span class="keyword">b</span>. Both 
+		<span class="keyword">a</span> and 
+		<span class="keyword">b</span> are waiting for a single 
+		<span class="keyword">continue_msg</span>, since they both have only a single
+		predecessor, 
+		<span class="keyword">start</span>. 
+	 </p>
+ 
+	 <p>When they receive the message from 
+		<span class="keyword">start</span>, they execute their body objects. When complete,
+		they each forward a 
+		<span class="keyword">continue_msg</span> to their successors, and so on. The graph
+		uses tasks to execute the node bodies as well as to forward messages between
+		the nodes, allowing computation to execute concurrently when possible. 
+	 </p>
+ 
+	 <p>The classes and functions used in this example are described in detail
+		in topics linked from the Flow Graph parent topic. 
+	 </p>
+ 
+  </div>
+ 
+  
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../reference/flow_graph.htm">Flow Graph</a></div>
+</div>
+<div class="See Also">
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="continue_msg_cls.htm">continue_msg Class
+		  </a></div></div>
+</div>
+
+</body>
+</html>
diff --git a/doc/help/reference/flow_graph/flow_tuple.htm b/doc/help/reference/flow_graph/flow_tuple.htm
new file mode 100755
index 0000000..f8f1164
--- /dev/null
+++ b/doc/help/reference/flow_graph/flow_tuple.htm
@@ -0,0 +1,113 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="flow::tuple Template Class">
+<meta name="DC.subject" content="flow::tuple">
+<meta name="keywords" content="flow::tuple">
+<meta name="DC.Relation" scheme="URI" content="../../reference/flow_graph.htm">
+<meta name="DC.Relation" scheme="URI" content="join_node_cls.htm">
+<meta name="DC.Relation" scheme="URI" content="multifunc_node_cls.htm">
+<meta name="DC.Relation" scheme="URI" content="split_node_cls.htm">
+<meta name="DC.Relation" scheme="URI" content="../appendices/community_preview_features/flow_graph/or_node_cls.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="flow_tuple">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../intel_css_styles.css">
+<title>flow::tuple Template Class</title>
+</head>
+<body id="flow_tuple">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(2);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="flow_tuple"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">flow::tuple Template Class</h1>
+ 
+   
+  <div> 
+	 <p> Some nodes create or use messages that are composites of other
+		messages. The 
+		<samp class="codeph">flow::tuple</samp> template class is included as part of flow
+		to support this. The nodes that send or receive tuples are 
+		<span class="keyword">join_node</span>, 
+		<span class="keyword">multifunction_node</span>, 
+		<span class="keyword">split_node</span> and 
+		<span class="keyword">or_node</span> (Community Preview Feature). 
+	 </p>
+ 
+	 <p> The 
+		<samp class="codeph">tuple</samp> class is part of the C++11 standard, and earlier
+		implementations of the Standard Library may have a 
+		<samp class="codeph">tuple</samp> class. If 
+		<samp class="codeph">std::tuple</samp> is part of the Standard Library, then 
+		<samp class="codeph">flow::tuple</samp> is typedefed to 
+		<samp class="codeph">std::tuple</samp>. 
+	 </p>
+ 
+	 <p> If the Standard Library does not contain 
+		<samp class="codeph">tuple</samp>, an implementation is used that supports a subset
+		of 
+		<samp class="codeph">std::tuple</samp>'s functionality: 
+	 <ul type="disc"> 
+		<li>construction, copy construction and destruction,
+		</li>
+ 
+		<li>assignment
+		</li>
+ 
+		<li><samp class="codeph">get<I>(tuple)</samp> (the i-th element of 
+		  <samp class="codeph">tuple</samp>, starting from zero),
+		</li>
+ 
+		<li><samp class="codeph">tuple_element<I,T>::type</samp> (the type of the i-th
+		  element of tuple type 
+		  <samp class="codeph">T</samp>),
+		</li>
+ 
+		<li><samp class="codeph">tuple_size<T>::value</samp> (the number of elements
+		  of the tuple type 
+		  <samp class="codeph">T</samp>),
+		</li>
+ 
+	 </ul>
+ 
+	 </p>
+ 
+	 <div class="Note"><h3 class="NoteTipHead">
+					Caution</h3> 
+		<p> Prior releases of <samp class="codeph">flow</samp> injected 
+                  <samp class="codeph">flow</samp>'s implementation of <samp class="codeph">tuple</samp> into
+                  the <samp class="codeph">std::</samp> namespace. Users should change
+                  <samp class="codeph">flow</samp>-specific references to <samp class="codeph">std::tuple</samp>
+                  to <samp class="codeph">flow::tuple</samp> to ensure compatibility with compilers
+		  that do not implement 
+		  <samp class="codeph">std::tuple</samp> as part of the Standard Library. 
+		</p>
+ 
+	 </div> 
+  </div>
+ 
+  
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../reference/flow_graph.htm">Flow Graph</a></div>
+</div>
+<div class="See Also">
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="join_node_cls.htm">join node 
+		  </a></div>
+<div><a href="multifunc_node_cls.htm">multifunction node 
+		  </a></div>
+<div><a href="split_node_cls.htm">split node 
+		  </a></div>
+<div><a href="../appendices/community_preview_features/flow_graph/or_node_cls.htm">or node (Community Preview Feature)
+		  </a></div></div>
+</div> 
+
+</body>
+</html>
diff --git a/doc/help/reference/flow_graph/func_node_cls.htm b/doc/help/reference/flow_graph/func_node_cls.htm
new file mode 100755
index 0000000..859e165
--- /dev/null
+++ b/doc/help/reference/flow_graph/func_node_cls.htm
@@ -0,0 +1,671 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="function_node Template Class">
+<meta name="DC.subject" content="function_node Template Class">
+<meta name="keywords" content="function_node Template Class">
+<meta name="DC.Relation" scheme="URI" content="../../reference/flow_graph.htm">
+<meta name="DC.Relation" scheme="URI" content="copy_body_func.htm">
+<meta name="DC.Relation" scheme="URI" content="../task_scheduler/task_group_context.htm">
+<meta name="DC.Relation" scheme="URI" content="../exceptions.htm">
+<meta name="DC.Relation" scheme="URI" content="message_passing_protocol.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="func_node_cls">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../intel_css_styles.css">
+<title>function_node Template Class</title>
+</head>
+<body id="func_node_cls">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(2);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="func_node_cls"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">function_node Template Class</h1>
+ 
+   
+  <div> 
+	 <div class="section"><h2 class="sectiontitle">Summary</h2> 
+		 
+		<p>A template class that is a 
+		  <span class="keyword">graph_node</span>, 
+		  <span class="keyword">receiver<Input></span> and a 
+		  <span class="keyword">sender<Output></span>. This node may have concurrency
+		  limits as set by the user. By default, a 
+		  <span class="keyword">function_node</span> has an internal FIFO buffer at its
+		  input. Messages that cannot be immediately processed due to concurrency limits
+		  are temporarily stored in this FIFO buffer. A template argument can be used to
+		  disable this internal buffer. If the FIFO buffer is disabled, incoming messages
+		  will be rejected if they cannot be processed immediately while respecting the
+		  concurrency limits of the node. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Syntax</h2> 
+		 
+		<pre>template < typename Input,
+           typename Output = continue_msg,
+           graph_buffer_policy = queueing,
+           typename A = cache_aligned_allocator<Input> >
+class function_node;</pre> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Header</h2> 
+		 
+		<pre>#include "tbb/flow_graph.h"</pre> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Description</h2> 
+		 
+		<p>A 
+		  <span class="keyword">function_node</span> receives messages of type 
+		  <span class="keyword">Input</span> at a single input port and generates a single
+		  output message of type 
+		  <span class="keyword">Output</span> that is broadcast to all successors.
+		  Rejection of messages by successors is handled using the protocol in Message
+		  Passing Protocol, see link below. 
+		</p>
+ 
+		<p>If 
+		  <span class="keyword">graph_buffer_policy == queueing</span>, an internal
+		  unbounded input buffer is maintained using memory obtained through an allocator
+		  of type 
+		  <span class="keyword">A</span>. 
+		</p>
+ 
+		<p>A 
+		  <span class="keyword">function_node</span> maintains an internal constant
+		  threshold T and an internal counter C. At construction, C = 0 and T is set the
+		  value passed in to the constructor. The behavior of a call to 
+		  <span class="keyword">try_put</span> is determined by the value of T and C as
+		  shown below. 
+		</p>
+ 
+		
+<div class="tablenoborder"><a name="tbl23"><!-- --></a><table cellpadding="4" summary="" id="tbl23" frame="border" border="1" cellspacing="0" rules="all"><caption><span class="tablecap">Behavior of a call to a function_node's try_put</span></caption> 
+		  <thead align="left"> 
+			 <tr> 
+				<th class="cellrowborder" align="center" valign="top" width="25%" id="d69978e115"> 
+				  <p>Value of threshold T 
+				  </p>
+ 
+				</th>
+ 
+				<th class="cellrowborder" align="center" valign="top" width="25%" id="d69978e121"> 
+				  <p>Value of counter C 
+				  </p>
+ 
+				</th>
+ 
+				<th class="cellrowborder" align="center" valign="top" width="50%" id="d69978e127"> 
+				  <p><span class="keyword">bool try_put( const input_type &v )</span> 
+				  </p>
+ 
+				</th>
+ 
+			 </tr>
+</thead>
+ 
+		  <tbody> 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="25%" headers="d69978e115 "> 
+				  <p> 
+					 <pre>T == flow::unlimited</pre> 
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="25%" headers="d69978e121 "> 
+				  <p>NA 
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="50%" headers="d69978e127 "> 
+				  <p>A task is spawned that broadcasts the result of 
+					 <span class="keyword">body(v)</span> to all successors. Returns 
+					 <span class="keyword">true</span>. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="25%" headers="d69978e115 "> 
+				  <p> 
+					 <pre>T != flow::unlimited</pre> 
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="25%" headers="d69978e121 "> 
+				  <p>C < T 
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="50%" headers="d69978e127 "> 
+				  <p>Increments C. A task is spawned that broadcasts the result of
+					 
+					 <span class="keyword">body(v)</span> to all successors and then
+					 decrements C. Returns 
+					 <span class="keyword">true</span>. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="25%" headers="d69978e115 "> 
+				  <p> 
+					 <pre>T != flow::unlimited</pre> 
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="25%" headers="d69978e121 "> 
+				  <p>C >= T 
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="50%" headers="d69978e127 "> 
+				  <p>If the template argument 
+					 <span class="keyword">graph_buffer_policy==queueing</span>, 
+					 <span class="keyword">v</span> is stored in an internal FIFO buffer until
+					 C < T. When T becomes less than C, C is incremented and a task is spawned
+					 that broadcasts the result of 
+					 <span class="keyword">body(v)</span> to all successors and then
+					 decrements C. Returns 
+					 <span class="keyword">true</span>. 
+				  </p>
+ 
+				  <p>If the template argument 
+					 <span class="keyword">graph_buffer_policy==rejecting</span> and C >=
+					 T, returns 
+					 <span class="keyword">false</span>. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+		  </tbody>
+ 
+		</table>
+</div>
+ 
+		<p>A 
+		  <span class="keyword">function_node</span> has a user-settable concurrency limit.
+		  It can have 
+		  <span class="keyword">flow::unlimited</span> concurrency, which allows an
+		  unlimited number of invocations of the body to execute concurrently. It can
+		  have 
+		  <span class="keyword">flow::serial</span> concurrency, which allows only a single
+		  call of body to execute concurrently. The user can also provide a value of type
+		  
+		  <span class="keyword">size_t</span> to limit concurrency to a value between 1 and
+		  
+		  <span class="keyword">unlimited</span>. 
+		</p>
+ 
+		<p>A 
+		  <span class="keyword">function_node</span> with 
+		  <span class="keyword">graph_buffer_policy==rejecting</span> will maintain a
+		  predecessor set as described in the Message Passing Protocol, see link below.
+		  If the 
+		  <span class="keyword">function_node</span> transitions from a state where C >=
+		  T to a state where C < T, it will try to get new messages from its set of
+		  predecessors until C >= T or there are no valid predecessors left in the
+		  set. 
+		</p>
+ 
+		<div class="Note"><h3 class="NoteTipHead">
+					Note</h3> 
+		  <p>A 
+			 <span class="keyword">function_node</span> can serve as a terminal node in the
+			 graph. The convention is to use an 
+			 <span class="keyword">Output</span> of 
+			 <span class="keyword">continue_msg</span> and attach no successor. 
+		  </p>
+ 
+		</div> 
+		<p>The Body concept for 
+		  <span class="keyword">function_node</span> is shown in below. 
+		</p>
+ 
+		
+<div class="tablenoborder"><a name="tbl24"><!-- --></a><table cellpadding="4" summary="" id="tbl24" frame="border" border="1" cellspacing="0" rules="all"><caption><span class="tablecap">function_node<Input, Output> Body Concept</span></caption> 
+		  <thead align="left"> 
+			 <tr> 
+				<th class="cellrowborder" align="center" valign="top" width="50%" id="d69978e311"> 
+				  <p>Pseudo-Signature 
+				  </p>
+ 
+				</th>
+ 
+				<th class="cellrowborder" align="center" valign="top" width="50%" id="d69978e317"> 
+				  <p>Semantics 
+				  </p>
+ 
+				</th>
+ 
+			 </tr>
+</thead>
+ 
+		  <tbody> 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="50%" headers="d69978e311 "> 
+				  <p> 
+					 <pre>B::B( const B& )</pre> 
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="50%" headers="d69978e317 "> 
+				  <p>Copy constructor. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="50%" headers="d69978e311 "> 
+				  <p> 
+					 <pre>B::~B()</pre> 
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="50%" headers="d69978e317 "> 
+				  <p>Destructor. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="50%" headers="d69978e311 "> 
+				  <p> 
+					 <pre>void operator=( const B& )</pre> 
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="50%" headers="d69978e317 "> 
+				  <p>Assignment. The return type 
+					 <samp class="codeph">void</samp> in the pseudo-signature denotes that 
+					 <samp class="codeph">operator=</samp> is not required to return a value.
+					 The actual 
+					 <samp class="codeph">operator=</samp> can return a value, which will be
+					 ignored. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="50%" headers="d69978e311 "> 
+				  <p> 
+					 <pre>Output B::operator() (const Input &v) const</pre> 
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="50%" headers="d69978e317 "> 
+				  <p>Perform operation on 
+					 <span class="keyword">v</span> and return value of type 
+					 <span class="keyword">Output</span>. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+		  </tbody>
+ 
+		</table>
+</div>
+ 
+		<div class="Note"><h3 class="NoteTipHead">
+					Caution</h3> 
+		  <p> The body object passed to a 
+			 <span class="keyword">function_node</span> is copied. Therefore updates to
+			 member variables will not affect the original object used to construct the
+			 node. If the state held within a body object must be inspected from outside of
+			 the node, the 
+			 <span class="keyword">copy_body</span> function can be used to obtain an
+			 updated copy. 
+		  </p>
+ 
+		</div> 
+		<div class="Note"><h3 class="NoteTipHead">
+					Caution</h3> 
+		  <p><span class="keyword">Input</span> and 
+			 <span class="keyword">Output</span> must be copy-constructible and assignable. 
+		  </p>
+ 
+		</div> 
+		<div class="Note"><h3 class="NoteTipHead">
+					Note</h3> 
+		  <p> The body object may throw or cancel its enclosing graph.
+                      See task_group_context and Exceptions sections for a description.
+		  </p>
+ 
+                </div>
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Members</h2> 
+		 
+		<pre>namespace tbb {
+namespace flow {
+ 
+enum graph_buffer_policy {
+   rejecting, reserving, queueing, tag_matching };
+ 
+template < typename Input, typename Output = continue_msg, 
+           graph_buffer_policy = queueing, 
+           typename A = cache_aligned_allocator<Input> >
+class function_node :
+  public graph_node, public receiver<Input>,
+  public sender<Output> {
+public:
+    template<typename Body>
+    function_node( graph &g, size_t concurrency, Body body );
+    function_node( const function_node &src );
+ 
+    // receiver<Input>
+    typedef Input input_type;
+    typedef sender<input_type> predecessor_type;
+    bool try_put( const input_type &v );
+    bool register_predecessor( predecessor_type &p );
+    bool remove_predecessor( predecessor_type &p );
+ 
+    // sender<Output>
+    typedef Output output_type;
+    typedef receiver<output_type> successor_type;
+    bool register_successor( successor_type &r );
+    bool remove_successor( successor_type &r );
+    bool try_get( output_type &v );
+    bool try_reserve( output_type &v );
+    bool try_release( );
+    bool try_consume( );
+};
+ 
+}
+}</pre> 
+		
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"><span class="tabledesc">The following table provides additional information on the
+			 members of this template class. 
+		  </span><thead align="left"> 
+				<tr> 
+				  <th class="cellrowborder" valign="top" width="33.89830508474576%" id="d69978e467">Member 
+				  </th>
+ 
+				  <th class="cellrowborder" valign="top" width="66.10169491525423%" id="d69978e470">Description 
+				  </th>
+ 
+				</tr>
+</thead>
+ 
+			 <tbody> 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d69978e467 "><span class="keyword">template< typename Body>
+						function_node(graph &g, size_t concurrency, Body body)</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d69978e470 "> 
+					 <p>Constructs a 
+						<span class="keyword">function_node</span> that will invoke a copy of 
+						<span class="keyword">body</span>. At most 
+						<span class="keyword">concurrency</span> calls to 
+						<span class="keyword">body</span> may be made concurrently. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d69978e467 "><span class="keyword">function_node( const function_node
+						&src )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d69978e470 "> 
+					 <p>Constructs a 
+						<span class="keyword">function_node</span> that has the same initial
+						state that 
+						<span class="keyword">src</span> had when it was constructed. The 
+						<span class="keyword">function_node</span> that is constructed will
+						have a reference to the same 
+						<span class="keyword">graph</span> object as 
+						<span class="keyword">src</span>, will have a copy of the initial body
+						used by 
+						<span class="keyword">src</span>, and have the same concurrency
+						threshold as 
+						<span class="keyword">src</span>. The predecessors and successors of 
+						<span class="keyword">src</span> will not be copied. 
+					 </p>
+ 
+					 <div class="Note"><h3 class="NoteTipHead">
+					Caution</h3> 
+						<p> The new body object is copy constructed from a copy of
+						  the original body provided to 
+						  <span class="keyword">src</span> at its construction. Therefore
+						  changes made to member variables in 
+						  <span class="keyword">src</span>'s body after the construction of 
+						  <span class="keyword">src</span> will not affect the body of the new 
+						  <span class="keyword">function_node.</span> 
+						</p>
+ 
+					 </div> 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d69978e467 "><span class="keyword">bool try_put( const input_type
+						&v )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d69978e470 "> 
+					 <p>See the table above, "Behavior of a call to a 
+						<samp class="codeph">function_node</samp>'s <samp class="codeph">try_put</samp>," for more
+						information. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: 
+						<span class="keyword">true</span> if the input was accepted; and 
+						<span class="keyword">false</span> otherwise. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d69978e467 "><span class="keyword">bool register_predecessor(
+						predecessor_type &p )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d69978e470 "> 
+					 <p>Adds 
+						<span class="keyword">p</span> to the set of predecessors. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: 
+						<span class="keyword">true</span> 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d69978e467 "><span class="keyword">bool remove_predecessor(
+						predecessor_type &p )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d69978e470 "> 
+					 <p>Removes 
+						<span class="keyword">p</span> from the set of predecessors. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: 
+						<span class="keyword">true</span> 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d69978e467 "><span class="keyword">bool register_successor(
+						successor_type &r )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d69978e470 "> 
+					 <p>Adds 
+						<span class="keyword">r</span> to the set of successors. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: 
+						<span class="keyword">true</span> 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d69978e467 "><span class="keyword">bool remove_successor(
+						successor_type &r )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d69978e470 "> 
+					 <p>Removes 
+						<span class="keyword">r</span> from the set of successors. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: 
+						<span class="keyword">true</span> 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d69978e467 "><span class="keyword">bool try_get( output_type &v
+						)</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d69978e470 "> 
+					 <p>A 
+						<span class="keyword">function_node</span> does not contain buffering
+						of its output. Therefore it always rejects 
+						<span class="keyword">try_get</span> calls. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: 
+						<span class="keyword">false</span> 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d69978e467 "><span class="keyword">bool try_reserve( output_type
+						&v )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d69978e470 "> 
+					 <p>A 
+						<span class="keyword">function_node</span> does not contain buffering
+						of its output. Therefore it cannot be reserved. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: 
+						<span class="keyword">false</span> 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d69978e467 "><span class="keyword">bool try_release( )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d69978e470 "> 
+					 <p>A 
+						<span class="keyword">function_node</span> does not contain buffering
+						of its output. Therefore it cannot be reserved. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: 
+						<span class="keyword">false</span> 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d69978e467 "><span class="keyword">bool try_consume( )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d69978e470 "> 
+					 <p>A 
+						<span class="keyword">function_node</span> does not contain buffering
+						of its output. Therefore it cannot be reserved. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: 
+						<span class="keyword">false</span> 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+			 </tbody>
+ 
+		  </table>
+</div>
+ 
+	 </div>
+ 
+  </div>
+ 
+  
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../reference/flow_graph.htm">Flow Graph</a></div>
+</div>
+<div class="See Also">
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="copy_body_func.htm">copy_body Template Function 
+		  </a></div>
+<div><a href="../task_scheduler/task_group_context.htm">task_group_context
+		  </a></div>
+<div><a href="../exceptions.htm">Exceptions
+		  </a></div>
+<div><a href="message_passing_protocol.htm">Message Passing Protocol 
+		  </a></div></div>
+</div>
+
+</body>
+</html>
diff --git a/doc/help/reference/flow_graph/graph_cls.htm b/doc/help/reference/flow_graph/graph_cls.htm
new file mode 100755
index 0000000..671d2b3
--- /dev/null
+++ b/doc/help/reference/flow_graph/graph_cls.htm
@@ -0,0 +1,382 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="graph Class">
+<meta name="DC.subject" content="graph Class">
+<meta name="keywords" content="graph Class">
+<meta name="DC.Relation" scheme="URI" content="../../reference/flow_graph.htm">
+<meta name="DC.Relation" scheme="URI" content="../task_scheduler/task_group_context.htm">
+<meta name="DC.Relation" scheme="URI" content="../exceptions.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="graph_cls">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../intel_css_styles.css">
+<title>graph Class</title>
+</head>
+<body id="graph_cls">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(2);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="graph_cls"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">graph Class</h1>
+ 
+   
+  <div> 
+	 <div class="section"><h2 class="sectiontitle">Summary</h2> 
+		 
+		<p>Class that serves as a handle to a flow graph of nodes and edges. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Syntax</h2> 
+		 
+		<pre>class graph;</pre> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Header</h2> 
+		 
+		<pre>#include "tbb/flow_graph.h"</pre> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Description</h2> 
+		 
+		<p>A 
+		  <span class="keyword">graph</span> object contains a root task that is the parent
+		  of all tasks created on behalf of the flow graph and its nodes. It provides
+		  methods that can be used to access the root task, to wait for the children of
+		  the root task to complete, to explicitly increment or decrement the root task's
+		  reference count, and to run a task as a child of the root task. 
+		</p>
+ 
+		<div class="Note"><h3 class="NoteTipHead">
+					Caution</h3> 
+		  <p> Destruction of flow graph nodes before calling 
+			 <span class="keyword">wait_for_all</span> on their associated 
+			 <span class="keyword">graph</span> object has undefined behavior and can lead
+			 to program failure. 
+		  </p>
+ 
+		</div> 
+		<div class="Note"><h3 class="NoteTipHead">
+					Caution</h3> 
+		  <p>The flow graph now uses spawned tasks instead of enqueued tasks.  In some limited
+		     cases, when no worker threads are available, progress will not be made on 
+		     graph-related tasks until a call is made to <span class="keyword">wait_for_all</span>.  
+		     To avoid the need for explicit calls to <span class="keyword">wait_for_all</span>, the
+		     task enqueuing implementation of the flow graph can still be used as
+		     described in the Compatibility Features section of the Appendices.  However, 
+		     the task enqueuing implementation of the flow graph has been deprecated and 
+		     its use is discouraged.
+		  </p>
+ 
+		</div> 
+		<div class="Note"><h3 class="NoteTipHead">
+					Caution</h3> 
+		  <p> If a 
+			 <span class="keyword">graph</span> is cancelled or if an exception is thrown
+			 during its execution, the graph objects may be in an inconsistent state after
+			 the 
+			 <span class="keyword">wait_for_all()</span>. If the user wishes to execute the 
+			 <span class="keyword">graph</span> again, the 
+			 <span class="keyword">reset()</span> method must be called. 
+		  </p>
+ 
+		  <p> The 
+			 <span class="keyword">reset()</span> method ensures the internals of the 
+			 <span class="keyword">graph</span> are reset to their initial state. The
+			 user-supplied bodies of 
+			 <span class="keyword">function_nodes</span>, 
+			 <span class="keyword">continue_nodes</span>, 
+			 <span class="keyword">source_nodes</span> and 
+			 <span class="keyword">multifunction_nodes</span> are not changed by a 
+			 <span class="keyword">reset()</span>; if the user wishes the body to be
+			 returned to its initial state the corresponding node must be replaced, or some
+			 other provision must be made. 
+		  </p>
+ 
+		</div> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Members</h2> 
+		 
+		<pre>namespace tbb {
+namespace flow {
+
+class graph {
+public:
+
+    graph();
+    graph(task_group_context& context);
+    ~graph();
+ 
+    void increment_wait_count();
+    void decrement_wait_count();
+ 
+    template< typename Receiver, typename Body >
+    void run( Receiver &r, Body body );
+    template< typename Body >
+    void run( Body body );
+    void wait_for_all();
+    task *root_task();
+ 
+    bool is_cancelled();
+    bool exception_thrown();
+    void reset();
+};
+ 
+}
+}</pre> 
+		
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"><span class="tabledesc">The following table provides additional information on the
+			 members of this class. 
+		  </span><thead align="left"> 
+				<tr> 
+				  <th class="cellrowborder" valign="top" width="33.89830508474576%" id="d72114e145">Member 
+				  </th>
+ 
+				  <th class="cellrowborder" valign="top" width="66.10169491525423%" id="d72114e148">Description 
+				  </th>
+ 
+				</tr>
+</thead>
+ 
+			 <tbody> 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d72114e145 "><span class="keyword">graph([task_group_context&
+						group] )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d72114e148 "> 
+					 <p>Constructs a graph with no nodes. If 
+						<span class="keyword">group</span> is specified the graph tasks are
+						executed in this group. By default the graph is executed in a bound context of
+						its own. Instantiates a root task of class 
+						<span class="keyword">empty_task</span> to serve as a parent for all of
+						the tasks generated during runs of the graph. Sets 
+						<span class="keyword">ref_count</span> of the root task to 1. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d72114e145 "><span class="keyword">~graph()</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d72114e148 "> 
+					 <p>Calls 
+						<span class="keyword">wait_for_all</span> on the graph, then destroys
+						the root task. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d72114e145 "><span class="keyword">void
+						increment_wait_count()</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d72114e148 "> 
+					 <p>Used to register that an external entity may still interact
+						with the graph. 
+					 </p>
+ 
+					 <p>Increments the 
+						<span class="keyword">ref_count</span> of the root task. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d72114e145 "><span class="keyword">void
+						decrement_wait_count()</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d72114e148 "> 
+					 <p>Used to unregister an external entity that may have
+						interacted with the graph. 
+					 </p>
+ 
+					 <p>Decrements the 
+						<span class="keyword">ref_count</span> of the root task. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d72114e145 "><span class="keyword">template< typename Receiver,
+						typename Body > void run( Receiver &r, Body body )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d72114e148 "> 
+					 <p>Use this method to spawn a task that runs a body and puts
+						its output to a specific receiver. The task is created as a child of the
+						graph's root task and therefore 
+						<span class="keyword">wait_for_all</span> will not return until this
+						task completes. 
+					 </p>
+ 
+					 <p>Enqueues a task that invokes 
+						<span class="keyword">r.try_</span><span class="keyword">put(</span> 
+						<span class="keyword">body() )</span>. It does not wait for the task to
+						complete. The spawned task is a child of the root task. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d72114e145 "><span class="keyword">template< typename Body >
+						void run( Body body )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d72114e148 "> 
+					 <p>This method spawns a task that runs as a child of the
+						graph's root task. Calls to 
+						<span class="keyword">wait_for_all</span> will not return until this
+						spawned task completes. 
+					 </p>
+ 
+					 <p>Enqueues a task that invokes 
+						<span class="keyword">body(</span><span class="keyword">)</span>. It does not
+						wait for the task to complete. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d72114e145 "><span class="keyword">void wait_for_all()</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d72114e148 "> 
+					 <p>Blocks until all tasks associated with the root task have
+						completed and the number of 
+						<span class="keyword">decrement_wait_count</span> calls equals the
+						number of 
+						<span class="keyword">increment_wait_count</span> calls. Because it
+						calls 
+						<span class="keyword">wait_for_all</span> on the root graph task, the
+						calling thread may participate in work-stealing while it is blocked. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d72114e145 "><span class="keyword">task *root_task()</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d72114e148 "> 
+					 <p><strong>Returns</strong>: a pointer to the root task of the flow
+						graph. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d72114e145 "><span class="keyword">bool is_cancelled()</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d72114e148 "> 
+					 <p><strong>Returns</strong>: 
+						<samp class="codeph">true</samp> if the graph was cancelled during the
+						last call to 
+						<span class="keyword">wait_for_all</span>(), 
+						<samp class="codeph">false</samp> otherwise. 
+					 </p>
+ 
+					 <p> See 
+						<samp class="codeph">task_group_context</samp> for a description of
+						cancellation. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d72114e145 "><span class="keyword">bool exception_thrown()</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d72114e148 "> 
+					 <p><strong>Returns</strong>: 
+						<samp class="codeph">true</samp> if during the last call to 
+						<span class="keyword">wait_for_all</span>() an exception was thrown, 
+						<samp class="codeph">false</samp> otherwise. 
+					 </p>
+ 
+					 <p> See Section "Exceptions" for information on exception
+						handling. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d72114e145 "><span class="keyword">void reset()</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d72114e148 "> 
+					 <p> Resets the internal state of the nodes of a 
+						<span class="keyword">graph</span> to their initial state. The state of
+						the bodies of 
+						<span class="keyword">function_nodes</span>, 
+						<span class="keyword">continue_nodes</span>, 
+						<span class="keyword">source_nodes</span> and 
+						<span class="keyword">multifunction_nodes</span> are not changed. 
+					 </p>
+ 
+					 <p> See 
+						<samp class="codeph">task_group_context</samp> for a description of
+						cancellation. See Section "Exceptions" for information on exception handling. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+			 </tbody>
+ 
+		  </table>
+</div>
+ 
+	 </div>
+ 
+  </div>
+ 
+  
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../reference/flow_graph.htm">Flow Graph</a></div>
+</div>
+<div class="See Also">
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="../task_scheduler/task_group_context.htm">task_group_context 
+		  </a></div>
+<div><a href="../exceptions.htm">Exceptions 
+		  </a></div></div>
+</div>
+
+</body>
+</html>
diff --git a/doc/help/reference/flow_graph/graph_node_cls.htm b/doc/help/reference/flow_graph/graph_node_cls.htm
new file mode 100755
index 0000000..d09b4d3
--- /dev/null
+++ b/doc/help/reference/flow_graph/graph_node_cls.htm
@@ -0,0 +1,65 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="graph_node Class">
+<meta name="DC.subject" content="graph_node Class">
+<meta name="keywords" content="graph_node Class">
+<meta name="DC.Relation" scheme="URI" content="../../reference/flow_graph.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="graph_node_cls">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../intel_css_styles.css">
+<title>graph_node Class</title>
+</head>
+<body id="graph_node_cls">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(2);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="graph_node_cls"><!-- --></a>
+
+
+<h1 class="topictitle1">graph_node Class</h1>
+
+
+<div>
+<div class="section"><h2 class="sectiontitle">Summary</h2>
+<p>A base class for all graph nodes.</p>
+</div>
+
+<div class="section"><h2 class="sectiontitle">Syntax</h2>
+
+<pre>class graph_node;</pre></div>
+
+<div class="section"><h2 class="sectiontitle">Header</h2>
+
+<pre>#include "tbb/flow_graph.h"</pre></div>
+
+<div class="section"><h2 class="sectiontitle">Description</h2>
+<p>The class <span class="keyword">graph_node</span> is a base class for all flow graph nodes.  The virtual destructor allows flow graph nodes to be destroyed through pointers to <span class="keyword">graph_node</span>.  For example, a <span class="keyword">vector< graph_node * ></span> could be used to hold the addresses of flow graph nodes that will later need to be destroyed.</p>
+</div>
+
+<div class="section"><h2 class="sectiontitle">Members</h2>
+
+<pre>namespace tbb {
+namespace flow {
+ 
+class graph_node {
+public:
+    virtual ~graph_node() {}
+};
+ 
+}
+}</pre></div>
+</div>
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../reference/flow_graph.htm">Flow Graph</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/reference/flow_graph/input_port_func.htm b/doc/help/reference/flow_graph/input_port_func.htm
new file mode 100755
index 0000000..4afd543
--- /dev/null
+++ b/doc/help/reference/flow_graph/input_port_func.htm
@@ -0,0 +1,69 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="input_port Template Function">
+<meta name="DC.subject" content="input_port Template Function">
+<meta name="keywords" content="input_port Template Function">
+<meta name="DC.Relation" scheme="URI" content="../../reference/flow_graph.htm">
+<meta name="DC.Relation" scheme="URI" content="join_node_cls.htm">
+<meta name="DC.Relation" scheme="URI" content="../appendices/community_preview_features/flow_graph/or_node_cls.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="input_port_func">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../intel_css_styles.css">
+<title>input_port Template Function</title>
+</head>
+<body id="input_port_func">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(2);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="input_port_func"><!-- --></a>
+
+
+  <h1 class="topictitle1">input_port Template Function</h1>
+
+  
+  <div>
+	 <div class="section"><h2 class="sectiontitle">Summary</h2>
+		
+		<p>A template function that given a 
+		  <span class="keyword">join_node</span> or 
+		  <span class="keyword">or_node</span> returns a reference to a specific input
+		  port.
+		</p>
+
+	 </div>
+
+	 <div class="section"><h2 class="sectiontitle">Syntax</h2>
+		
+		<pre>template<size_t N, typename NT>
+typename flow::tuple_element<N, typename NT::input_ports_tuple_type>::type&
+input_port(NT &n);</pre>
+	 </div>
+
+	 <div class="section"><h2 class="sectiontitle">Header</h2>
+		
+		<pre>#include "tbb/flow_graph.h"</pre>
+	 </div>
+
+  </div>
+
+  
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../reference/flow_graph.htm">Flow Graph</a></div>
+</div>
+<div class="See Also">
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="join_node_cls.htm"> join_node Template Class 
+		  </a></div>
+<div><a href="../appendices/community_preview_features/flow_graph/or_node_cls.htm"> or_node Template Class 
+		  </a></div></div>
+</div>
+
+</body>
+</html>
diff --git a/doc/help/reference/flow_graph/join_node_cls.htm b/doc/help/reference/flow_graph/join_node_cls.htm
new file mode 100755
index 0000000..2ef5a05
--- /dev/null
+++ b/doc/help/reference/flow_graph/join_node_cls.htm
@@ -0,0 +1,545 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="join_node Template Class">
+<meta name="DC.subject" content="join_node Template Class">
+<meta name="keywords" content="join_node Template Class">
+<meta name="DC.Relation" scheme="URI" content="../../reference/flow_graph.htm">
+<meta name="DC.Relation" scheme="URI" content="input_port_func.htm#input_port_func">
+<meta name="DC.Relation" scheme="URI" content="message_passing_protocol.htm">
+<meta name="DC.Relation" scheme="URI" content="flow_tuple.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="join_node_cls">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../intel_css_styles.css">
+<title>join_node Template Class</title>
+</head>
+<body id="join_node_cls">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(2);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="join_node_cls"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">join_node Template Class</h1>
+ 
+   
+  <div> 
+	 <div class="section"><h2 class="sectiontitle">Summary</h2> 
+		 
+		<p>A node that creates a tuple<T0,T1, ... > from a set of messages
+		  received at its input ports and broadcasts the tuple to all of its successors.
+		  The 
+		  <span class="keyword">class</span> 
+		  <span class="keyword">join_node</span> supports three buffering policies at its
+		  input ports: 
+		  <span class="keyword">reserving</span>, 
+		  <span class="keyword">queueing</span> and 
+		  <span class="keyword">tag_matching</span>. By default, 
+		  <span class="keyword">join_node</span> input ports use the 
+		  <span class="keyword">queueing</span> policy. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Syntax</h2> 
+		 
+		<pre>
+template<typename OutputTuple, graph_buffer_policy JP = queueing>
+class join_node;
+</pre> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Header</h2> 
+		 
+		<pre>#include "tbb/flow_graph.h"</pre> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Description</h2> 
+		 
+		<p>A join_node is a 
+		  <span class="keyword">graph_node</span> and a 
+		  <span class="keyword">sender< flow::tuple< T0, T1, ... >></span>. It
+		  contains a tuple of input ports, each of which is a 
+		  <span class="keyword">receiver<Ti></span> for each of the 
+		  <span class="keyword">T0</span> .. 
+		  <span class="keyword">TN</span> in 
+		  <span class="keyword">OutputTuple</span>. It supports multiple input receivers
+		  with distinct types and broadcasts a tuple of received messages to all of its
+		  successors. All input ports of a 
+		  <span class="keyword">join_node</span> must use the same buffering policy. The
+		  behavior of a 
+		  <span class="keyword">join_node</span> based on its buffering policy is shown in
+		  the table below. 
+		</p>
+ 
+		
+<div class="tablenoborder"><a name="tbl28"><!-- --></a><table cellpadding="4" summary="" id="tbl28" frame="border" border="1" cellspacing="0" rules="all"><caption><span class="tablecap">Behavior of a join_node based on the buffering policy of its input
+		  ports.</span></caption> 
+		  <thead align="left"> 
+			 <tr> 
+				<th class="cellrowborder" align="center" valign="top" width="25%" id="d73545e114"> 
+				  <p>Buffering Policy 
+				  </p>
+ 
+				</th>
+ 
+				<th class="cellrowborder" align="center" valign="top" width="75%" id="d73545e120"> 
+				  <p>Behavior 
+				  </p>
+ 
+				</th>
+ 
+			 </tr>
+</thead>
+ 
+		  <tbody> 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="25%" headers="d73545e114 "> 
+				  <p>queueing 
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="75%" headers="d73545e120 "> 
+				  <p>As each input port is put to, the incoming message is added to
+					 an unbounded first-in first-out queue in the port. When there is at least one
+					 message at each input port, the 
+					 <span class="keyword">join_node</span> broadcasts a tuple containing the
+					 head of each queue to all successors. If at least one successor accepts the
+					 tuple, the head of each input port's queue is removed; otherwise, the messages
+					 remain in their respective input port queues. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="25%" headers="d73545e114 "> 
+				  <p>reserving 
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="75%" headers="d73545e120 "> 
+				  <p>As each input port is put to, the 
+					 <span class="keyword">join_node</span> marks that an input may be
+					 available at that port and returns 
+					 <span class="keyword">false</span>. When all ports have been marked as
+					 possibly available, the 
+					 <span class="keyword">join_node</span> will try to reserve a message at
+					 each port from their known predecessors. If it is unable to reserve a message
+					 at a port, it un-marks that port, and releases all previously acquired
+					 reservations. If it is able to reserve a message at all ports, it broadcasts a
+					 tuple containing these messages to all successors. If at least one successor
+					 accepts the tuple, the reservations are consumed; otherwise, they are released.
+					 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="25%" headers="d73545e114 "> 
+				  <p>tag_matching 
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="75%" headers="d73545e120 "> 
+				  <p>As each input port is put to, a user-provided function object
+					 is applied to the message to obtain its tag. The message is then added to a
+					 hash table at the input port, using the tag as the key. When there is message
+					 at each input port for a given tag, the 
+					 <span class="keyword">join_node</span> broadcasts a tuple containing the
+					 matching messages to all successors. If at least one successor accepts the
+					 tuple, the messages are removed from each input port's hash table; otherwise,
+					 the messages remain in their respective input ports. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+		  </tbody>
+ 
+		</table>
+</div>
+ 
+		<p>Rejection of messages by successors of the 
+		  <span class="keyword">join_node</span> and failed gets from predecessors of the
+		  input ports are handled using the protocol in the Message Passing Protocol, see
+		  link below. 
+		</p>
+ 
+		<p>The function template 
+		  <span class="keyword">input_port</span> simplifies the syntax for getting a
+		  reference to a specific input port. 
+		</p>
+ 
+		<p><span class="keyword">OutputTuple</span> must be a 
+		  <span class="keyword">flow::tuple<T0,T1, ... ></span> where each element is
+		  copy-constructible and assignable. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Example</h2> 
+		 
+		<pre>#include<cstdio>
+#include "tbb/flow_graph.h"
+ 
+using namespace tbb::flow;
+ 
+int main() {
+   graph g;
+   function_node<int,int>
+       f1( g, unlimited, [](const int &i) { return 2*i; } );
+   function_node<float,float>
+       f2( g, unlimited, [](const float &f) { return f/2; } );
+ 
+   join_node< flow::tuple<int,float> > j(g);
+ 
+   function_node< flow::tuple<int,float> >
+       f3( g, unlimited,
+           []( const flow::tuple<int,float> &t ) {
+               printf( "Result is %f\n",
+                       std::get<0>(t) + std::get<1>(t));
+           } );
+ 
+   make_edge( f1, input_port<0>( j ) );
+   make_edge( f2, input_port<1>( j ) );
+   make_edge( j, f3 );
+ 
+   f1.try_put( 3 );
+   f2.try_put( 3 );
+   g.wait_for_all( );
+   return 0;
+}</pre> 
+		<p>In the example above, three 
+		  <span class="keyword">function_node</span> objects are created: 
+		  <span class="keyword">f1</span> multiplies an 
+		  <span class="keyword">int i</span> by 2, 
+		  <span class="keyword">f2</span> divides a 
+		  <span class="keyword">float f</span> by 2, and 
+		  <span class="keyword">f3</span> receives a 
+		  <span class="keyword">flow::tuple<int,float> t</span>, adds its elements
+		  together and prints the result. The 
+		  <span class="keyword">join_node j</span> combines the output of 
+		  <span class="keyword">f1</span> and 
+		  <span class="keyword">f2</span>, and then forwards the resulting tuple to 
+		  <span class="keyword">f3</span>. This example is purely a syntactic demonstration
+		  since there is very little work in the nodes. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Members</h2> 
+		 
+		<pre>namespace tbb {
+namespace flow {
+ 
+enum graph_buffer_policy {
+    rejecting, reserving, queueing, tag_matching };
+ 
+template<typename OutputTuple, graph_buffer_policy JP = queueing>
+class join_node :
+    public graph_node, public sender< OutputTuple > {
+ 
+public:
+    typedef OutputTuple output_type;
+    typedef receiver<output_type> successor_type;
+    typedef <em>implementation-dependent-tuple</em> input_ports_tuple_type;
+ 
+    join_node( graph &g );
+    join_node( const join_node &src );
+    input_ports_tuple_type &inputs( );
+    bool register_successor( successor_type &r );
+    bool remove_successor( successor_type &r );
+    bool try_get( output_type &v );
+    bool try_reserve( output_type &v );
+    bool try_release( );
+    bool try_consume( );
+ 
+};
+ 
+//
+// Specialization for tag_matching
+//
+ 
+template<typename OutputTuple>
+class join_node<OutputTuple, tag_matching> :
+    public graph_node, public sender< OutputTuple > {
+ 
+public:
+ 
+    // Has the same methdods as previous join_node,
+    // but has constructors to specify the tag_matching
+    // function objects
+ 
+    template<typename B0, typename B1>
+    join_node( graph &g, B0 b0, B1 b1 );
+   
+    // Constructors are defined similarly for
+    // 3 through 10 elements ...
+};
+ 
+}
+}</pre> 
+		
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"><span class="tabledesc">The following table provides additional information on the
+			 members of this template class. 
+		  </span><thead align="left"> 
+				<tr> 
+				  <th class="cellrowborder" valign="top" width="33.89830508474576%" id="d73545e284">Member 
+				  </th>
+ 
+				  <th class="cellrowborder" valign="top" width="66.10169491525423%" id="d73545e287">Description 
+				  </th>
+ 
+				</tr>
+</thead>
+ 
+			 <tbody> 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d73545e284 "><span class="keyword">join_node( graph &g
+						)</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d73545e287 "> Constructs a 
+					 <span class="keyword">join_node</span> that will spawn tasks using the
+					 root task in 
+					 <span class="keyword">g</span>. 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d73545e284 "><span class="keyword">template < typename B0,
+						typename B1, ... > join_node( graph &g, B0 b0, B1 b1, ... )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d73545e287 "> 
+					 <p>A constructor only available in the 
+						<span class="keyword">tag_matching</span> specialization of 
+						<span class="keyword">join_node</span>. 
+					 </p>
+ 
+					 <p>Creates a 
+						<span class="keyword">join_node</span> that uses the function objects 
+						<span class="keyword">b0</span>, 
+						<span class="keyword">b1</span>, ... , 
+						<span class="keyword">bN</span> to determine that tags for the input
+						ports 0 through N. It will spawn tasks using the root task in 
+						<span class="keyword">g</span>. 
+					 </p>
+ 
+		                         <div class="Note"><h3 class="NoteTipHead">
+					Caution</h3> 
+		                           <p> Function objects passed to the join must not throw.
+		                           </p>
+ 
+                                         </div>
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d73545e284 "><span class="keyword">join_node( const join_node
+						&src )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d73545e287 "> 
+					 <p>Creates a 
+						<span class="keyword">join_node</span> that has the same initial state
+						that 
+						<span class="keyword">src</span> had at its construction. The list of
+						predecessors, messages in the input ports, and successors are NOT copied. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d73545e284 "><span class="keyword">input_ports_tuple_type
+						&inputs( )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d73545e287 "> 
+					 <p><strong>Returns</strong>: a 
+						<span class="keyword">flow::tuple</span> of receivers. Each element
+						inherits from 
+						<span class="keyword">tbb::receiver<T></span> where 
+						<span class="keyword">T</span> is the type of message expected at that
+						input. Each tuple element can be used like any other 
+						<span class="keyword">flow::receiver<T></span>. The behavior of
+						the ports based on the selected 
+						<span class="keyword">join_node</span> policy is shown in the table
+						above. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d73545e284 "><span class="keyword">bool register_successor(
+						successor_type &r )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d73545e287 "> 
+					 <p>Adds 
+						<span class="keyword">r</span> to the set of successors. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: 
+						<span class="keyword">true</span> 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d73545e284 "><span class="keyword">bool remove_successor(
+						successor_type &r )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d73545e287 "> 
+					 <p>Removes 
+						<span class="keyword">r</span> from the set of successors. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: 
+						<span class="keyword">true</span> 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d73545e284 "><span class="keyword">bool try_get( output_type &v
+						)</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d73545e287 "> 
+					 <p>Attempts to generate a tuple based on the buffering policy
+						of the 
+						<span class="keyword">join_node</span>. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: If it can successully generate a tuple, it
+						copies it to 
+						<span class="keyword">v</span> and returns 
+						<span class="keyword">true</span>. Otherwise it returns 
+						<span class="keyword">false</span>. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d73545e284 "><span class="keyword">bool try_reserve( output_type
+						&v )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d73545e287 "> 
+					 <p>Does not support reservations. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: 
+						<span class="keyword">false</span>. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d73545e284 "><span class="keyword">bool try_release( )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d73545e287 "> 
+					 <p>Does not support reservations. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: 
+						<span class="keyword">false</span>. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d73545e284 "><span class="keyword">bool try_consume( )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d73545e287 "> 
+					 <p>Does not support reservations. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: 
+						<span class="keyword">false</span>. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d73545e284 "><span class="keyword">template<size_t N, typename
+						JNT> typename flow::tuple_element<N, typename
+						JNT::input_ports_tuple_type>::type &input_port( JNT &jn )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d73545e287 "> 
+					 <p>Calling 
+						<span class="keyword">input_port <N>( jn )</span> is equivalent
+						to calling 
+						<span class="keyword">std::get<N>( jn.inputs() )</span> 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: the N<sup>th</sup> input port for 
+						<span class="keyword">join_node jn</span>. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+			 </tbody>
+ 
+		  </table>
+</div>
+ 
+	 </div>
+ 
+  </div>
+ 
+  
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../reference/flow_graph.htm">Flow Graph</a></div>
+</div>
+<div class="See Also">
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="input_port_func.htm#input_port_func">input_port Template Function 
+		  </a></div>
+<div><a href="message_passing_protocol.htm">Message Passing Protocol 
+		  </a></div>
+<div><a href="flow_tuple.htm">flow::tuple
+		  </a></div></div>
+</div>
+
+</body>
+</html>
diff --git a/doc/help/reference/flow_graph/limiter_node_cls.htm b/doc/help/reference/flow_graph/limiter_node_cls.htm
new file mode 100755
index 0000000..5d2b320
--- /dev/null
+++ b/doc/help/reference/flow_graph/limiter_node_cls.htm
@@ -0,0 +1,431 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="limiter_node Template Class">
+<meta name="DC.subject" content="limiter_node Template Class">
+<meta name="keywords" content="limiter_node Template Class">
+<meta name="DC.Relation" scheme="URI" content="../../reference/flow_graph.htm">
+<meta name="DC.Relation" scheme="URI" content="message_passing_protocol.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="limiter_node_cls">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../intel_css_styles.css">
+<title>limiter_node Template Class</title>
+</head>
+<body id="limiter_node_cls">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(2);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="limiter_node_cls"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">limiter_node Template Class</h1>
+ 
+   
+  <div> 
+	 <div class="section"><h2 class="sectiontitle">Summary</h2> 
+		 
+		<p>An node that counts and limits the number of messages that pass
+		  through it. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Syntax</h2> 
+		 
+		<pre>template < typename T > class limiter_node;</pre> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Header</h2> 
+		 
+		<pre>#include "tbb/flow_graph.h"</pre> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Description</h2> 
+		 
+		<p>A 
+		  <span class="keyword">limiter_node</span> is a 
+		  <span class="keyword">graph_node</span>, 
+		  <span class="keyword">receiver<T></span> and 
+		  <span class="keyword">sender<T></span> that broadcasts messages to all of
+		  its successors. It keeps a counter C of the number of broadcasts it makes and
+		  does not accept new messages once its user-specified 
+		  <span class="keyword">threshold</span> is reached. The internal count of
+		  broadcasts C can be decremented through use of its embedded 
+		  <span class="keyword">continue_receiver decrement</span>. 
+		</p>
+ 
+		<p>The behavior of a call to a 
+		  <span class="keyword">limiter_node</span>'s 
+		  <span class="keyword">try_put</span> is shown below. 
+		</p>
+ 
+		
+<div class="tablenoborder"><a name="tbl27"><!-- --></a><table cellpadding="4" summary="" id="tbl27" frame="border" border="1" cellspacing="0" rules="all"><caption><span class="tablecap">Behavior of a call to a limiter_node's try_put</span></caption> 
+		  <thead align="left"> 
+			 <tr> 
+				<th class="cellrowborder" align="center" valign="top" width="30%" id="d75154e95"> 
+				  <p>Value of counter C 
+				  </p>
+ 
+				</th>
+ 
+				<th class="cellrowborder" align="center" valign="top" width="70%" id="d75154e101"> 
+				  <p>bool try_put( const input_type &v ) 
+				  </p>
+ 
+				</th>
+ 
+			 </tr>
+</thead>
+ 
+		  <tbody> 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="30%" headers="d75154e95 "> 
+				  <p>C < threshold 
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="70%" headers="d75154e101 "> 
+				  <p>C is incremented and 
+					 <span class="keyword">v</span> is broadcast to all successors. If no
+					 successor accepts the message, C is decremented. Returns 
+					 <span class="keyword">true</span> if the message was successfully
+					 broadcast to at least one successor and 
+					 <span class="keyword">false</span> otherwise. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="30%" headers="d75154e95 "> 
+				  <p>C == threshold 
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="70%" headers="d75154e101 "> 
+				  <p>Returns 
+					 <span class="keyword">false</span>. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+		  </tbody>
+ 
+		</table>
+</div>
+ 
+		<p>When 
+		  <span class="keyword">try_put</span> is called on the member object 
+		  <span class="keyword">decrement</span>, the 
+		  <span class="keyword">limiter_node</span> will try to get a message from one of
+		  its known predecessors and forward that message to all of its successors. If it
+		  cannot obtain a message from a predecessor, it will decrement C. Rejection of
+		  messages by successors and failed gets from predecessors are handled using the
+		  protocol in the Message Passing Protocol, see link below. 
+		</p>
+ 
+		<p><span class="keyword">T</span> must be copy-constructible and assignable. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Members</h2> 
+		 
+		<pre>namespace tbb {
+namespace flow {
+ 
+template< typename T >
+class limiter_node : public graph_node, public receiver<T>,
+  public sender<T> {
+public:
+    limiter_node( graph &g, size_t threshold,
+                  int number_of_decrement_predecessors = 0 );
+    limiter_node( const limiter_node &src );
+ 
+    // a continue_receiver
+    implementation-dependent-type decrement;
+ 
+    // receiver<T>
+    typedef T input_type;
+    typedef sender<input_type> predecessor_type;
+    bool try_put( const input_type &v );
+    bool register_predecessor( predecessor_type &p );
+    bool remove_predecessor( predecessor_type &p );
+ 
+    // sender<T>
+    typedef T output_type;
+    typedef receiver<output_type> successor_type;
+    bool register_successor( successor_type &r );
+    bool remove_successor( successor_type &r );
+    bool try_get( output_type &v );
+    bool try_reserve( output_type &v );
+    bool try_release( );
+    bool try_consume( );
+};
+ 
+}
+}</pre> 
+		
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"><span class="tabledesc">The following table provides additional information on the
+			 members of this template class. 
+		  </span><thead align="left"> 
+				<tr> 
+				  <th class="cellrowborder" valign="top" width="33.89830508474576%" id="d75154e260">Member 
+				  </th>
+ 
+				  <th class="cellrowborder" valign="top" width="66.10169491525423%" id="d75154e263">Description 
+				  </th>
+ 
+				</tr>
+</thead>
+ 
+			 <tbody> 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d75154e260 "><span class="keyword">limiter_node( graph &g, size_t
+						threshold, int number_of_decrement_predecessors = 0 )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d75154e263 "> 
+					 <p>Constructs a 
+						<span class="keyword">limiter_node</span> that allows up to 
+						<span class="keyword">threshold</span> items to pass through before
+						rejecting 
+						<span class="keyword">try_put</span>'s. Optionally a 
+						<span class="keyword">number_of_decrement_predecessors</span> value can
+						be supplied. This value is passed on to the 
+						<span class="keyword">continue_receiver decrement</span>'s constructor.
+						
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d75154e260 "><span class="keyword">limiter_node( const limiter_node
+						&src )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d75154e263 "> 
+					 <p>Constructs a 
+						<span class="keyword">limiter_node</span> that has the same initial
+						state that 
+						<span class="keyword">src</span> had at its construction. The new 
+						<span class="keyword">limiter_node</span> will belong to the same 
+						<span class="keyword">graph g</span> as 
+						<span class="keyword">src</span>, have the same 
+						<span class="keyword">threshold</span>, and have the same initial 
+						<span class="keyword">number_of_decrement_predecessors</span>. The list
+						of predecessors, the list of successors, and the current count of broadcasts,
+						C, are NOT copied from 
+						<span class="keyword">src</span>. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d75154e260 "><span class="keyword">bool try_put( const input_type
+						&v )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d75154e263 "> 
+					 <p>If the broadcast count is below the threshold, 
+						<span class="keyword">v</span> is broadcast to all successors. For each
+						successor 
+						<span class="keyword">s</span>, if 
+						<span class="keyword">s.try_put( v ) == false &&
+						  s.register_predecessor( *this ) == true</span>, then 
+						<span class="keyword">s</span> is removed from the set of succesors.
+						Otherwise, 
+						<span class="keyword">s</span> will remain in the set of successors. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: 
+						<span class="keyword">true</span> if 
+						<span class="keyword">v</span> is broadcast. 
+						<span class="keyword">false</span> if 
+						<span class="keyword">v</span> is not broadcast because the threshold
+						has been reached. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d75154e260 "><span class="keyword">bool register_predecessor(
+						predecessor_type &p )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d75154e263 "> 
+					 <p>Adds a predecessor that can be pulled from once the
+						broadcast count falls below the threshold. 
+					 </p>
+ 
+					 <p>Adds 
+						<span class="keyword">p</span> to the set of predecessors. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>:<span class="keyword">true</span>. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d75154e260 "><span class="keyword">bool remove_predecessor(
+						predecessor_type &p )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d75154e263 "> 
+					 <p>Removes 
+						<span class="keyword">p</span> from the set of predecessors. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: 
+						<span class="keyword">true</span> 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d75154e260 "><span class="keyword">bool register_successor(
+						successor_type &r )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d75154e263 "> 
+					 <p>Adds 
+						<span class="keyword">r</span> to the set of successors. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: 
+						<span class="keyword">true</span> 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d75154e260 "><span class="keyword">bool remove_successor(
+						successor_type &r )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d75154e263 "> 
+					 <p>Removes 
+						<span class="keyword">r</span> from the set of successors. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: 
+						<span class="keyword">true</span> 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d75154e260 "><span class="keyword">bool try_get( output_type &v
+						)</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d75154e263 "> 
+					 <p>Does not contain buffering and therefore cannot be pulled
+						from. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: 
+						<span class="keyword">false</span>. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d75154e260 "><span class="keyword">bool try_reserve( output_type
+						&v )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d75154e263 "> 
+					 <p>Does not support reservations. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: 
+						<span class="keyword">false</span>. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d75154e260 "><span class="keyword">bool try_release( )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d75154e263 "> 
+					 <p>Does not support reservations. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: 
+						<span class="keyword">false</span>. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d75154e260 "><span class="keyword">bool try_consume( )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d75154e263 "> 
+					 <p>Does not support reservations. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: 
+						<span class="keyword">false</span>. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+			 </tbody>
+ 
+		  </table>
+</div>
+ 
+	 </div>
+ 
+  </div>
+ 
+  
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../reference/flow_graph.htm">Flow Graph</a></div>
+</div>
+<div class="See Also">
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="message_passing_protocol.htm">Message Passing Protocol 
+		  </a></div></div>
+</div>
+
+</body>
+</html>
diff --git a/doc/help/reference/flow_graph/make_edge_func.htm b/doc/help/reference/flow_graph/make_edge_func.htm
new file mode 100755
index 0000000..f6abb7d
--- /dev/null
+++ b/doc/help/reference/flow_graph/make_edge_func.htm
@@ -0,0 +1,49 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="make_edge Template Function">
+<meta name="DC.subject" content="make_edge Template Function">
+<meta name="keywords" content="make_edge Template Function">
+<meta name="DC.Relation" scheme="URI" content="../../reference/flow_graph.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="make_edge_func">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../intel_css_styles.css">
+<title>make_edge Template Function</title>
+</head>
+<body id="make_edge_func">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(2);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="make_edge_func"><!-- --></a>
+
+
+<h1 class="topictitle1">make_edge Template Function</h1>
+
+
+<div>
+<div class="section"><h2 class="sectiontitle">Summary</h2>
+<p>A template function that adds an edge between a <span class="keyword">sender<T></span> and a <span class="keyword">receiver<T>.</span></p>
+</div>
+
+<div class="section"><h2 class="sectiontitle">Syntax</h2>
+
+<pre>template< typename T >
+inline void make_edge( sender<T> &p, receiver<T> &s );</pre></div>
+
+<div class="section"><h2 class="sectiontitle">Header</h2>
+
+<pre>#include "tbb/flow_graph.h"</pre></div>
+</div>
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../reference/flow_graph.htm">Flow Graph</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/reference/flow_graph/message_flow_graph_example.htm b/doc/help/reference/flow_graph/message_flow_graph_example.htm
new file mode 100755
index 0000000..720ddf8
--- /dev/null
+++ b/doc/help/reference/flow_graph/message_flow_graph_example.htm
@@ -0,0 +1,157 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="Message Flow Graph Example">
+<meta name="DC.subject" content="Message Flow Graph Example">
+<meta name="keywords" content="Message Flow Graph Example">
+<meta name="DC.Relation" scheme="URI" content="../../reference/flow_graph.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="message_flow_graph_example">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../intel_css_styles.css">
+<title>Message Flow Graph Example</title>
+</head>
+<body id="message_flow_graph_example">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(2);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="message_flow_graph_example"><!-- --></a>
+
+
+  <h1 class="topictitle1">Message Flow Graph Example</h1>
+
+  
+  <div>
+	 <p>This example calculates the sum
+		<span class="keyword">x*x + x*x*x</span> for all
+		<span class="keyword">x = 1 to 10</span>. The layout of this example is shown in
+		the figure below.
+	 </p>
+
+	 <div class="fignone" id="fig6_message_flow_graph"><a name="fig6_message_flow_graph"><!-- --></a><span class="figcap">A simple message flow graph.</span>
+		
+		<br><div class="imagecenter"><img src="../Resources/message_flow_graph.jpg" height="252" width="454" alt="A simple flow graph." align="center"></div><br>
+	 </div>
+
+	 <p>Each value enters through the
+		<span class="keyword">input_node<int></span>
+		<span class="keyword">input</span>. This node broadcasts the value to both
+		<span class="keyword">squarer</span> and
+		<span class="keyword">cuber</span>, which calculate
+		<span class="keyword">x*x</span> and
+		<span class="keyword">x*x*x</span> respectively. The output of each of these nodes
+		is put to one of
+		<span class="keyword">join</span>'s ports. A tuple containing both values is
+		created by
+		<span class="keyword">join_node< tuple<int,int> > join</span> and
+		forwarded to
+		<span class="keyword">summer</span>, which adds both values to the running total.
+		Both
+		<span class="keyword">squarer</span> and
+		<span class="keyword">cuber</span> allow unlimited concurrency, that is they each
+		may process multiple values simultaneously. The final
+		<span class="keyword">summer</span>, which updates a shared total, is only allowed
+		to process a single incoming tuple at a time, eliminating the need for a lock
+		around the shared value.
+	 </p>
+
+	 <pre>#include <cstdio>
+#include "tbb/flow_graph.h"
+
+using namespace tbb::flow;
+
+struct square {
+  int operator()(int v) { return v*v; }
+};
+
+struct cube {
+  int operator()(int v) { return v*v*v; }
+};
+
+class sum {
+  int &my_sum;
+public:
+  sum( int &s ) : my_sum(s) {}
+  int operator()( tuple< int, int > v ) {
+    my_sum += get<0>(v) + get<1>(v);
+    return my_sum;
+  }
+};
+
+int main() {
+  int result = 0;
+
+  graph g;
+  broadcast_node<int> input(g);
+  function_node<int,int> squarer( g, unlimited, square() );
+  function_node<int,int> cuber( g, unlimited, cube() );
+  join_node< tuple<int,int>, queueing > join( g );
+  function_node<tuple<int,int>,int>
+      summer( g, serial, sum(result) );
+
+  make_edge( input, squarer );
+  make_edge( input, cuber );
+  make_edge( squarer, get<0>( join.input_ports() ) );
+  make_edge( cuber, get<1>( join.input_ports() ) );
+  make_edge( join, summer );
+
+  for (int i = 1; i <= 10; ++i)
+      input.try_put(i);
+  g.wait_for_all();
+
+  printf("Final result is %d\n", result);
+  return 0;
+}</pre>
+	 <p>In the example code above, the classes
+		<span class="keyword">square</span>,
+		<span class="keyword">cube</span> and
+		<span class="keyword">sum</span> define the three user-defined operations. Each
+		class is used to create a
+		<span class="keyword">function_node</span>.
+	 </p>
+
+	 <p>In function
+		<span class="keyword">main</span>, the flow graph is set up and then the values
+		1-10 are put into the node
+		<span class="keyword">input</span>. All the nodes in this example pass around
+		values of type
+		<span class="keyword">int</span>. The nodes used in this example are all class
+		templates and therefore can be used with any type that supports copy
+		construction, including pointers and objects.
+	 </p>
+
+	 <div class="Note"><h3 class="NoteTipHead">
+					Caution</h3>
+		<p> Values are copied as they pass between nodes and therefore passing
+		  around large objects should be avoided. To avoid large copy overheads, pointers
+		  to large objects can be passed instead.
+		</p>
+
+	 </div>
+	 <div class="Note"><h3 class="NoteTipHead">
+					Note</h3>
+		<p>This is a simple syntactic example only. Since each node in a flow
+		  graph may execute as an independent task, the granularity of each node should
+		  follow the general guidelines for tasks as described in Section 3.2.3 of the
+		  Intel® Threading Building Blocks Tutorial.
+		</p>
+
+	 </div>
+	 <p>The classes and functions used in this example are described in detail
+		in topics linked from the Flow Graph parent topic.
+	 </p>
+
+  </div>
+
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../reference/flow_graph.htm">Flow Graph</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/reference/flow_graph/message_passing_protocol.htm b/doc/help/reference/flow_graph/message_passing_protocol.htm
new file mode 100755
index 0000000..859e848
--- /dev/null
+++ b/doc/help/reference/flow_graph/message_passing_protocol.htm
@@ -0,0 +1,64 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="Message Passing Protocol">
+<meta name="DC.subject" content="Message Passing Protocol">
+<meta name="keywords" content="Message Passing Protocol">
+<meta name="DC.Relation" scheme="URI" content="../../reference/flow_graph.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="message_passing_protocol">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../intel_css_styles.css">
+<title>Message Passing Protocol</title>
+</head>
+<body id="message_passing_protocol">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(2);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="message_passing_protocol"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Message Passing Protocol</h1>
+ 
+   
+  <div> 
+	 <p>In an Intel® Threading Building Blocks (Intel® TBB) flow graph, edges dynamically switch between a push and
+		pull protocol for passing messages. An Intel® TBB flow graph G = ( V, S, L ),
+		where V is the set of nodes, S is the set of edges that are currently using a
+		push protocol, and L is the set of edges that are currently using a pull
+		protocol. For each edge (Vi, Vj), Vi is the predecessor / sender and Vj is the
+		successor / receiver. When in the push set S, messages over an edge are
+		initiated by the sender, which tries to 
+		<em>put</em> to the receiver. When in the pull set, messages are initiated
+		by the receiver, which tries to 
+		<em>get</em> from the sender.
+	 </p>
+ 
+	 <p>If a message attempt across an edge fails, the edge is moved to the
+		other set. For example, if a put across the edge (Vi, Vj) fails, the edge is
+		removed from the push set S and placed in the pull set L. This dynamic
+		push/pull protocol is the key to performance in a non-preemptive tasking
+		library such as Intel® TBB, where simply repeating failed sends or receives is
+		not an efficient option. The following graphic summarizes this dynamic
+		protocol.
+	 </p>
+ 
+	 <div class="fignone" id="fig4_flow_graph"><a name="fig4_flow_graph"><!-- --></a><span class="figcap">The dynamic push / pull protocol.</span> 
+		 
+		<br><div class="imagecenter"><img src="../Resources/flow-graph.jpg" height="196" width="442" alt="The dynamic push / pull protocol." align="center"></div><br> 
+	 </div>
+ 
+  </div>
+
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../reference/flow_graph.htm">Flow Graph</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/reference/flow_graph/multifunc_node_cls.htm b/doc/help/reference/flow_graph/multifunc_node_cls.htm
new file mode 100755
index 0000000..9e355a9
--- /dev/null
+++ b/doc/help/reference/flow_graph/multifunc_node_cls.htm
@@ -0,0 +1,576 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="multifunction_node Template Class">
+<meta name="DC.subject" content="multifunction_node Template Class">
+<meta name="keywords" content="multifunction_node Template Class">
+<meta name="DC.Relation" scheme="URI" content="../../reference/flow_graph.htm">
+<meta name="DC.Relation" scheme="URI" content="make_edge_func.htm">
+<meta name="DC.Relation" scheme="URI" content="remove_edge_func.htm">
+<meta name="DC.Relation" scheme="URI" content="copy_body_func.htm">
+<meta name="DC.Relation" scheme="URI" content="message_passing_protocol.htm#message_passing_protocol">
+<meta name="DC.Relation" scheme="URI" content="../task_scheduler/task_group_context.htm">
+<meta name="DC.Relation" scheme="URI" content="flow_tuple.htm#flow_tuple">
+<meta name="DC.Relation" scheme="URI" content="../exceptions.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="multifunc_node_cls">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../intel_css_styles.css">
+<title>multifunction_node Template Class</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="multifunc_node_cls">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(2);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="multifunc_node_cls"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">multifunction_node Template Class</h1>
+ 
+   
+  <div> 
+	 <div class="section"><h2 class="sectiontitle">Summary</h2> 
+		 
+		<p>A template class that is a
+		  receiver<InputType> and has a tuple of sender<T> outputs. This node
+		  may have concurrency limits as set by the user. When the concurrency limit
+		  allows, it executes the user-provided body on incoming messages. The body may
+		  create one or more output messages and broadcast them to successors. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Syntax</h2> 
+		 
+		<pre>template <typename Input, typename Output, 
+    graph_buffer_policy = queueing, typename Allocator=cache_aligned_allocator<Input> >
+    class multifunction_node;</pre> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Header</h2> 
+		 
+		<pre>#include "tbb/flow_graph.h"</pre> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Description</h2> 
+		 
+		<p>This type is used for nodes that receive messages
+		  at a single input port and may generate one or more messages that are broadcast
+		  to successors. 
+		</p>
+ 
+		<p>A 
+		  <samp class="codeph">multifunction_node</samp>
+		  maintains an internal constant threshold T and an internal counter C. At
+		  construction, C=0 and T is set the value passed in to the constructor. The
+		  behavior of a call to 
+		  <samp class="codeph">try_put</samp> is determined
+		  by the value of T and C as shown in the table below. 
+		</p>
+ 
+		
+<div class="tablenoborder"><a name="tbl50"><!-- --></a><table cellpadding="4" summary="" id="tbl50" frame="border" border="1" cellspacing="0" rules="rows"><caption><span class="tablecap">Behavior of a call to a
+		  multifunction_node's try_put</span></caption> 
+		  <thead align="left"> 
+			 <tr> 
+				<th class="cellrowborder" align="left" valign="top" width="40%" id="d76994e82"> 
+				  <p>Value of threshold T 
+				  </p>
+ 
+				</th>
+ 
+				<th class="cellrowborder" align="left" valign="top" width="20%" id="d76994e88"> 
+				  <p>Value of counter C 
+				  </p>
+ 
+				</th>
+ 
+				<th class="cellrowborder" align="left" valign="top" width="40%" id="d76994e94"> 
+				  <p>bool try_put( input_type v ) 
+				  </p>
+ 
+				</th>
+ 
+			 </tr>
+</thead>
+ 
+		  <tbody> 
+			 <tr> 
+				<td class="cellrowborder" align="left" valign="top" width="40%" headers="d76994e82 "> 
+				  <p><samp class="codeph">T
+						== graph::unlimited</samp> 
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" align="left" valign="top" width="20%" headers="d76994e88 "> 
+				  <p>NA 
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" align="left" valign="top" width="40%" headers="d76994e94 "> 
+				  <p>A task is spawned that executes body(v).
+					 Returns 
+					 <samp class="codeph">true</samp>. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" align="left" valign="top" width="40%" headers="d76994e82 "> 
+				  <p><samp class="codeph">T
+						!= flow::unlimited</samp> 
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" align="left" valign="top" width="20%" headers="d76994e88 "> 
+				  <p>C < T 
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" align="left" valign="top" width="40%" headers="d76994e94 "> 
+				  <p>Increments C. A task is spawned that
+					 executes body(v) and then decrements C. Returns 
+					 <samp class="codeph">true</samp>. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" align="left" valign="top" width="40%" headers="d76994e82 "> 
+				  <p><samp class="codeph">T
+						!= flow::unlimited</samp> 
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" align="left" valign="top" width="20%" headers="d76994e88 "> 
+				  <p>C >= T 
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" align="left" valign="top" width="40%" headers="d76994e94 "> 
+				  <p>Returns 
+					 <samp class="codeph">false</samp>. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+		  </tbody>
+ 
+		</table>
+</div>
+ 
+		<p>A<samp class="codeph">
+			 multifunction_node</samp> has a user-settable concurrency limit. It can have 
+		  <samp class="codeph">flow::unlimited
+			 concurrency</samp>, which allows an unlimited number of copies of the node to
+		  execute concurrently. It can have 
+		  <samp class="codeph">flow::serial
+			 concurrency</samp>, which allows only a single copy of the node to execute
+		  concurrently. The user can also provide a value of type size_t to limit
+		  concurrency to a value between 1 and unlimited. 
+		</p>
+ 
+		<p>The Body concept for 
+		  <samp class="codeph">multifunction_node</samp> is
+		  shown in the table below. 
+		</p>
+ 
+		
+<div class="tablenoborder"><a name="tbl51"><!-- --></a><table cellpadding="4" summary="" id="tbl51" frame="border" border="1" cellspacing="0" rules="rows"><caption><span class="tablecap">multifunction_node Body Concept</span></caption> 
+		  <thead align="left"> 
+			 <tr> 
+				<th class="cellrowborder" align="center" valign="top" width="50%" id="d76994e216"> 
+				  <p>Pseudo-Signature 
+				  </p>
+ 
+				</th>
+ 
+				<th class="cellrowborder" align="center" valign="top" width="50%" id="d76994e222"> 
+				  <p>Semantics 
+				  </p>
+ 
+				</th>
+ 
+			 </tr>
+</thead>
+ 
+		  <tbody> 
+			 <tr> 
+				<td class="cellrowborder" align="left" valign="top" width="50%" headers="d76994e216 "> 
+				  <p><samp class="codeph">B::B( const B& )</samp> 
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" align="left" valign="top" width="50%" headers="d76994e222 "> 
+				  <p>Copy constructor. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" align="left" valign="top" width="50%" headers="d76994e216 "> 
+				  <p><samp class="codeph">B::~B()</samp> 
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" align="left" valign="top" width="50%" headers="d76994e222 "> 
+				  <p>Destructor. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" align="left" valign="top" width="50%" headers="d76994e216 "> 
+				  <p><samp class="codeph">void operator=( const B& )</samp> 
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" align="left" valign="top" width="50%" headers="d76994e222 "> 
+				  <p>Assignment 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" align="left" valign="top" width="50%" headers="d76994e216 "> 
+				  <p><samp class="codeph">void B::operator()(const input_type &v,
+						output_ports_type &p)</samp> 
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" align="left" valign="top" width="50%" headers="d76994e222 "> 
+				  <p>Perform operation on 
+					 <samp class="codeph">v</samp>. May call 
+					 <samp class="codeph">try_put</samp> on
+					 zero or more of the output ports. May call 
+					 <samp class="codeph">try_put</samp> on any
+					 output port multiple times. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+		  </tbody>
+ 
+		</table>
+</div>
+ 
+		<div class="Note"><h3 class="NoteTipHead">
+					Caution</h3> 
+		  <p> The body object passed to a 
+			 <span class="keyword">multifunction_node</span> is copied. Therefore updates to
+			 member variables will not affect the original object used to construct the
+			 node. If the state held within a body object must be inspected from outside of
+			 the node, the 
+			 <span class="keyword">copy_body</span> function can be used to obtain an
+			 updated copy. 
+		  </p>
+ 
+		</div> 
+		<div class="Note"><h3 class="NoteTipHead">
+					Note</h3> 
+		  <p> The body object may throw or cancel its enclosing graph. See
+			 task_group_context and Exceptions sections for a description. 
+		  </p>
+ 
+		</div> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Example</h2> 
+		 
+		<p>The example below shows a 
+		  <samp class="codeph">multifunction_node</samp>
+		  that separates a stream of integers into odd and even, placing each in the
+		  appropriate output queue. 
+		</p>
+ 
+		<p>The Body method will receive as parameters a
+		  read-only reference to the input value and a reference to the tuple of output
+		  ports. The Body method may put items to one or more output ports. 
+		</p>
+ 
+		<p>The output ports of the 
+		  <samp class="codeph">multifunction_node</samp> can
+		  be connected to other graph nodes using the 
+		  <samp class="codeph">make_edge</samp> method or by
+		  using 
+		  <samp class="codeph">register_successor</samp>: 
+		</p>
+ 
+		<pre>#include "tbb/flow_graph.h"
+using namespace tbb::flow;
+typedef multifunction_node<int, flow::tuple<int,int> > multi_node;
+
+struct MultiBody {
+
+  void operator()(const int &i, multi_node::output_ports_type &op) {
+    if(i % 2) 
+      std::get<1>(op).try_put(i); // put to odd queue
+    else 
+      std::get<0>(op).try_put(i); // put to even queue
+  }
+};
+
+int main() {
+  graph g;
+
+  queue_node<int> even_queue(g);
+  queue_node<int> odd_queue(g);
+
+  multi_node node1(g,unlimited,MultiBody());
+
+  output_port<0>(node1).register_successor(even_queue);
+  make_edge(output_port<1>(node1), odd_queue);
+
+  for(int i = 0; i < 1000; ++i) {
+    node1.try_put(i);
+  }
+  g.wait_for_all();
+}</pre> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Members</h2> 
+		 
+		<pre>namespace tbb {
+  template <typename Input, typename Output, 
+    graph_buffer_policy = queueing, typename Allocator=cache_aligned_allocator<Input> >
+    class multifunction_node : public graph_node, public receiver<Input>
+  {
+  public:
+
+    template < typename Body >
+    multifunction_node( graph &g, size_t concurrency, Body body );
+    multifunction_node( const multifunction_node &other);
+    ~multifunction_node();
+
+    // receiver< Input >
+    typedef Input input_type;
+    typedef sender<input_type> predecessor_type;
+    bool try_put( const input_type &v );
+    bool register_predecessor( predecessor_type &p );
+    bool remove_predecessor( predecessor_type &p );
+
+    typedef <em>implementation-dependent</em> output_ports_type;
+    output_ports_type& output_ports();
+  };
+}</pre> 
+		
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"><span class="tabledesc">The following table provides additional information on the
+			 members of this template class. 
+		  </span><thead align="left"> 
+				<tr> 
+				  <th class="cellrowborder" valign="top" width="33.89830508474576%" id="d76994e384">Member 
+				  </th>
+ 
+				  <th class="cellrowborder" valign="top" width="66.10169491525423%" id="d76994e387">Description 
+				  </th>
+ 
+				</tr>
+</thead>
+ 
+			 <tbody> 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d76994e384 "> 
+					 <span class="keyword">template < typename Body > multifunction_node(
+						graph &g, size_t concurrency, Body body ) 
+					 </span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d76994e387 "> 
+					 <p>Constructs a 
+						<span class="keyword">multifunction_node</span> with 
+						<span class="keyword">body</span> as its Body. At most 
+						<span class="keyword">concurrency</span> calls to the body may be made
+						concurrently. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d76994e384 "> 
+					 <span class="keyword">multifunction_node( const multifunction_node
+						&other)</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d76994e387 "> 
+					 <p>Constructs a 
+						<span class="keyword">multifunction_node</span> that has the same
+						initial state that 
+						<span class="keyword">other</span> had when it was constructed. The 
+						<span class="keyword">multifunction_node</span> that is constructed
+						will have a reference to the same 
+						<span class="keyword">graph</span> object as 
+						<span class="keyword">other</span>, will have a copy of the initial 
+						<span class="keyword">body</span> used by 
+						<span class="keyword">other</span>, and have the same concurrency
+						threshold as 
+						<span class="keyword">other</span>. The predecessors and successors of 
+						<span class="keyword">other</span> will not be copied. 
+					 </p>
+ 
+					 <div class="Note"><h3 class="NoteTipHead">
+					Caution</h3> 
+						<p> The new body object is copy constructed from a copy of
+						  the original body provided to 
+						  <span class="keyword">other</span> at its construction. Therefore
+						  changes made to member variables in 
+						  <span class="keyword">other</span>'s body after the construction of 
+						  <span class="keyword">other</span> will not affect the body of the
+						  new 
+						  <span class="keyword">multifunction_node.</span> 
+						</p>
+ 
+					 </div> 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d76994e384 "> 
+					 <span class="keyword">~multifunction_node()</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d76994e387 "> 
+					 <p>Destructor 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d76994e384 "> 
+					 <span class="keyword">bool try_put( const input_type &v )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d76994e387 "> 
+					 <p>See the table above describing the behavior of try_put for a
+						
+						<samp class="codeph">multifunction_node</samp> for more information. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: 
+						<span class="keyword">true</span> 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d76994e384 "><span class="keyword">bool register_predecessor(
+						predecessor_type &p )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d76994e387 "> 
+					 <p>Adds 
+						<span class="keyword">p</span> to the set of predecessors. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: 
+						<span class="keyword">true</span> 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d76994e384 "><span class="keyword">bool remove_predecessor(
+						predecessor_type &p )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d76994e387 "> 
+					 <p>Removes 
+						<span class="keyword">p</span> from the set of predecessors. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: 
+						<span class="keyword">true</span> 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d76994e384 "><span class="keyword">output_ports_type&
+						output_ports();</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d76994e387 "> 
+					 <p><strong>Returns</strong>: a tuple of output ports. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+			 </tbody>
+ 
+		  </table>
+</div>
+ 
+	 </div>
+ 
+  </div>
+ 
+  
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../reference/flow_graph.htm">Flow Graph</a></div>
+</div>
+<div class="See Also">
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="make_edge_func.htm">make_edge Template Function 
+		  </a></div>
+<div><a href="remove_edge_func.htm">remove_edge Template Function 
+		  </a></div>
+<div><a href="copy_body_func.htm">copy_body Template Function 
+		  </a></div>
+<div><a href="message_passing_protocol.htm#message_passing_protocol">Message Passing Protocol
+		  </a></div>
+<div><a href="../task_scheduler/task_group_context.htm">task_group_context 
+		  </a></div>
+<div><a href="flow_tuple.htm#flow_tuple">flow::tuple Template Class
+		  </a></div>
+<div><a href="../exceptions.htm">Exceptions 
+		  </a></div></div>
+</div> 
+
+</body>
+</html>
diff --git a/doc/help/reference/flow_graph/overwrite_node_cls.htm b/doc/help/reference/flow_graph/overwrite_node_cls.htm
new file mode 100755
index 0000000..c38d903
--- /dev/null
+++ b/doc/help/reference/flow_graph/overwrite_node_cls.htm
@@ -0,0 +1,391 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="overwrite_node Template Class">
+<meta name="DC.subject" content="overwrite_node Template Class">
+<meta name="keywords" content="overwrite_node Template Class">
+<meta name="DC.Relation" scheme="URI" content="../../reference/flow_graph.htm">
+<meta name="DC.Relation" scheme="URI" content="message_passing_protocol.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="overwrite_node_cls">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../intel_css_styles.css">
+<title>overwrite_node Template Class</title>
+</head>
+<body id="overwrite_node_cls">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(2);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="overwrite_node_cls"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">overwrite_node Template Class</h1>
+ 
+   
+  <div> 
+	 <div class="section"><h2 class="sectiontitle">Summary</h2> 
+		 
+		<p>A template class that is a 
+		  <span class="keyword">graph_node</span>, 
+		  <span class="keyword">receiver<Input></span> and 
+		  <span class="keyword">sender<Output></span>. An 
+		  <span class="keyword">overwrite_node</span> is a buffer of a single item that can
+		  be over-written. The value held in the buffer is initially invalid. Gets from
+		  the node are non-destructive. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Syntax</h2> 
+		 
+		<pre>template < typename T > class overwrite_node;</pre> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Header</h2> 
+		 
+		<pre>#include "tbb/flow_graph.h"</pre> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Description</h2> 
+		 
+		<p>This type of node buffers a single item of type T. The value is
+		  initially invalid. A 
+		  <span class="keyword">try_put</span> will set the value of the internal buffer,
+		  and broadcast the new value to all successors. If the internal value is valid,
+		  a 
+		  <span class="keyword">try_get</span> will return 
+		  <span class="keyword">true</span> and copy the buffer value to the output. If the
+		  internal value is invalid, 
+		  <span class="keyword">try_get</span> will return 
+		  <span class="keyword">false</span>. 
+		</p>
+ 
+		<p>Rejection of messages by successors is handled using the protocol in
+		  the Message Passage Protocol, see link below. 
+		</p>
+ 
+		<p><span class="keyword">T</span> must be copy-constructible and assignable 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Members</h2> 
+		 
+		<pre>namespace tbb {
+namespace flow {
+ 
+template< typename T >
+class overwrite_node :
+  public graph_node, public receiver<T>,
+  public sender<T> {
+public:
+    overwrite_node( graph &g );
+    overwrite_node( const overwrite_node &src );
+    ~overwrite_node();
+ 
+    // receiver<T>
+    typedef T input_type;
+    typedef sender<input_type> predecessor_type;
+    bool try_put( const input_type &v );
+    bool register_predecessor( predecessor_type &p );
+    bool remove_predecessor( predecessor_type &p );
+ 
+    // sender<T>
+    typedef T output_type;
+    typedef receiver<output_type> successor_type;
+    bool register_successor( successor_type &r );
+    bool remove_successor( successor_type &r );
+    bool try_get( output_type &v );
+    bool try_reserve( output_type &v );
+    bool try_release( );
+    bool try_consume( );
+ 
+    bool is_valid( );
+    void clear( );
+};
+ 
+}
+}</pre> 
+		
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"><span class="tabledesc">The following table provides additional information on the
+			 members of this template class. 
+		  </span><thead align="left"> 
+				<tr> 
+				  <th class="cellrowborder" valign="top" width="33.89830508474576%" id="d78590e178">Member 
+				  </th>
+ 
+				  <th class="cellrowborder" valign="top" width="66.10169491525423%" id="d78590e181">Description 
+				  </th>
+ 
+				</tr>
+</thead>
+ 
+			 <tbody> 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d78590e178 "><span class="keyword">overwrite_node( graph &g
+						)</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d78590e181 "> 
+					 <p>Constructs an object of type 
+						<span class="keyword">overwrite_node</span> with an invalid internal
+						buffer item. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d78590e178 "><span class="keyword">overwrite_node( const
+						overwrite_node &src )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d78590e181 "> 
+					 <p>Constructs an object of type 
+						<span class="keyword">overwrite_node</span> that belongs to the 
+						<span class="keyword">graph g</span> with an invalid internal buffer
+						item. The buffered value and list of successors is NOT copied from 
+						<span class="keyword">src</span>. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d78590e178 "><span class="keyword">~overwrite_node( )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d78590e181 "> 
+					 <p>Destroys the 
+						<span class="keyword">overwrite_node</span>. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d78590e178 "><span class="keyword">bool try_put( const input_type
+						&v )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d78590e181 "> 
+					 <p>Stores 
+						<span class="keyword">v</span> in the internal single item buffer if it
+						does not already contain a valid value. If a new value is set, it calls 
+						<span class="keyword">try_put(v)</span> on all successors. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: 
+						<span class="keyword">true</span> 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d78590e178 "><span class="keyword">bool register_predecessor(
+						predecessor_type &p )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d78590e181 "> 
+					 <p>Never rejects puts and therefore does not need to maintain a
+						list of predecessors. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: 
+						<span class="keyword">false</span> 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d78590e178 "><span class="keyword">bool remove_predecessor(
+						predecessor_type &p )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d78590e181 "> 
+					 <p>Never rejects puts and therefore does not need to maintain a
+						list of predecessors. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: 
+						<span class="keyword">false</span> 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d78590e178 "><span class="keyword">bool register_successor(
+						successor_type &r )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d78590e181 "> 
+					 <p>Adds 
+						<span class="keyword">r</span> to the set of successors. If a valid
+						item 
+						<span class="keyword">v</span> is held in the buffer, a task is
+						spawned to call 
+						<span class="keyword">r.try_put(v)</span>. 
+					 </p>
+<strong>Returns</strong>: 
+					 <span class="keyword">true</span> 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d78590e178 "><span class="keyword">bool remove_successor(
+						successor_type &r )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d78590e181 "> 
+					 <p>Removes 
+						<span class="keyword">r</span> from the set of successors. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: 
+						<span class="keyword">true</span> 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d78590e178 "><span class="keyword">bool try_get( output_type &v
+						)</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d78590e181 "> 
+					 <p>If the internal buffer is valid, assigns the value to 
+						<span class="keyword">v</span>. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>:<span class="keyword">true</span> if 
+						<span class="keyword">v</span> is assigned to. 
+						<span class="keyword">false</span> if 
+						<span class="keyword">v</span> is not assigned to. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d78590e178 "><span class="keyword">bool try_reserve( output_type
+						&v ) 
+					 </span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d78590e181 "> 
+					 <p>Does not support reservations. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: 
+						<span class="keyword">false</span> 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d78590e178 "><span class="keyword">bool try_release( output_type
+						&v ) 
+					 </span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d78590e181 "> 
+					 <p>Does not support reservations. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: 
+						<span class="keyword">false</span> 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d78590e178 "><span class="keyword">bool try_consume( output_type
+						&v ) 
+					 </span> 
+					 <p> 
+					 </p>
+ 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d78590e181 "> 
+					 <p>Does not support reservations. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: 
+						<span class="keyword">false</span> 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d78590e178 "><span class="keyword">bool is_valid( )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d78590e181 "> 
+					 <p><strong>Returns</strong>: 
+						<span class="keyword">true</span> if the buffer holds a valid value,
+						otherwise returns 
+						<span class="keyword">false</span>. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d78590e178 "><span class="keyword">void clear( )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d78590e181 "> 
+					 <p>Invalidates the value held in the buffer. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+			 </tbody>
+ 
+		  </table>
+</div>
+ 
+	 </div>
+ 
+  </div>
+ 
+  
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../reference/flow_graph.htm">Flow Graph</a></div>
+</div>
+<div class="See Also">
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="message_passing_protocol.htm">Message Passing Protocol 
+		  </a></div></div>
+</div>
+
+</body>
+</html>
diff --git a/doc/help/reference/flow_graph/primary_components.htm b/doc/help/reference/flow_graph/primary_components.htm
new file mode 100755
index 0000000..2550d98
--- /dev/null
+++ b/doc/help/reference/flow_graph/primary_components.htm
@@ -0,0 +1,98 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="Primary Components">
+<meta name="DC.subject" content="Primary Components">
+<meta name="keywords" content="Primary Components">
+<meta name="DC.Relation" scheme="URI" content="../../reference/flow_graph.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="primary_components">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../intel_css_styles.css">
+<title>Primary Components</title>
+</head>
+<body id="primary_components">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(2);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="primary_components"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Primary Components</h1>
+ 
+   
+  <div> 
+	 <p>There are 3 types of components used to implement a graph: 
+	 </p>
+ 
+	 <ul type="disc"> 
+		<li> 
+		  <p>A 
+			 <span class="keyword">graph</span> object 
+		  </p>
+ 
+		</li>
+ 
+		<li> 
+		  <p>Nodes 
+		  </p>
+ 
+		</li>
+ 
+		<li> 
+		  <p>Edges 
+		  </p>
+ 
+		</li>
+ 
+	 </ul>
+ 
+	 <p>The 
+		<span class="keyword">graph</span> object is the owner of the tasks created on
+		behalf of the flow graph. Users can wait on the 
+		<span class="keyword">graph</span> if they need to wait for the completion of all
+		of the tasks related to the flow graph execution. One can also register
+		external interactions with the 
+		<span class="keyword">graph</span> and run tasks under the ownership of the flow
+		graph. 
+	 </p>
+ 
+	 <p>Nodes invoke user-provided function objects or manage messages as the
+		flow to/from other nodes. There are pre-defined nodes that buffer, filter,
+		broadcast or order items as they flow through the graph. 
+	 </p>
+ 
+	 <p>Edges are the connections between the nodes, created by calls to the 
+  <samp class="codeph">make_edge</samp> function. 
+  </p>
+ 
+  	 <div class="Note"><h3 class="NoteTipHead">
+					Caution</h3> 
+                <p>
+                The tasks related to the flow graph are executed in the task_group_context of that
+                flow graph.  If no context is specified when a flow graph is created, a
+                new context is created and bound to the enclosing context.
+                </p>
+
+                <p>
+                The context a body of a flow graph node is executed in is that node's graph.
+                If a cancellation or exception occurs in that node, the context of its
+                graph is cancelled, and if necessary the exception thrown is passed to
+                the enclosing context for further processing.
+                </p>
+
+	 </div> 
+  </div>
+
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../reference/flow_graph.htm">Flow Graph</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/reference/flow_graph/priority_queue_node_cls.htm b/doc/help/reference/flow_graph/priority_queue_node_cls.htm
new file mode 100755
index 0000000..566c7ef
--- /dev/null
+++ b/doc/help/reference/flow_graph/priority_queue_node_cls.htm
@@ -0,0 +1,386 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="priority_queue_node Template Class">
+<meta name="DC.subject" content="priority_queue_node Template Class">
+<meta name="keywords" content="priority_queue_node Template Class">
+<meta name="DC.Relation" scheme="URI" content="../../reference/flow_graph.htm">
+<meta name="DC.Relation" scheme="URI" content="message_passing_protocol.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="priority_queue_node_cls">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../intel_css_styles.css">
+<title>priority_queue_node Template Class</title>
+</head>
+<body id="priority_queue_node_cls">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(2);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="priority_queue_node_cls"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">priority_queue_node Template Class</h1>
+ 
+   
+  <div> 
+	 <div class="section"><h2 class="sectiontitle">Summary</h2> 
+		 
+		<p>An unbounded buffer of messages of type 
+		  <span class="keyword">T</span>. Messages are forwarded in priority order. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Syntax</h2> 
+		 
+		<pre>template< typename T,
+          typename Compare = std::less<T>,
+          typename A = cache_aligned_allocator<T> >
+class priority_queue_node;</pre> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Header</h2> 
+		 
+		<pre>#include "tbb/flow_graph.h"</pre> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Description</h2> 
+		 
+		<p>A 
+		  <span class="keyword">priority_queue_node</span> is a 
+		  <span class="keyword">graph_node</span>, 
+		  <span class="keyword">receiver<T></span> and 
+		  <span class="keyword">sender<T></span> that forwards messages in priority
+		  order to a single successor in its successor set. Successors are tried in the
+		  order that they were registered with the node. If a successor rejects the
+		  message, it is removed from the successor list as described by the policy in
+		  the Message Passing Protocol, and the next successor in the set is tried. This
+		  continues until a successor accepts the message, or all successors have been
+		  attempted. Items that are successfully transferred to a successor are removed
+		  from the buffer. 
+		</p>
+ 
+		<p>The next message to be forwarded has the largest priority as
+		  determined by 
+		  <span class="keyword">Compare</span>. 
+		</p>
+ 
+		<p>A 
+		  <span class="keyword">priority_queue_node</span> is reservable and supports a
+		  single reservation at a time. While the 
+		  <span class="keyword">priority_queue_node</span> is reserved, no other items will
+		  be forwarded to successors and all 
+		  <span class="keyword">try_get</span> calls will return 
+		  <span class="keyword">false</span>. While reserved, 
+		  <span class="keyword">try_put</span> will still return 
+		  <span class="keyword">true</span> and add items to the 
+		  <span class="keyword">priority_queue_node</span>. 
+		</p>
+ 
+		<p>An allocator of type 
+		  <span class="keyword">A</span> is used to allocate internal memory for the 
+		  <span class="keyword">priority_queue_node.</span> 
+		</p>
+ 
+		<p><span class="keyword">T</span> must be copy-constructible and assignable. 
+		</p>
+ 
+		<p>Rejection of messages by successors is handled using the protocol in
+		  the Message Passing Protocol, see link below. 
+		</p>
+ 
+		<div class="Note"><h3 class="NoteTipHead">
+					Caution</h3> 
+		  <p> The <samp class="codeph">Compare</samp> function object must not throw an exception.
+		  </p>
+ 
+                </div>
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Members</h2> 
+		 
+		<pre>namespace tbb {
+namespace flow {
+ 
+template< typename T, typename Compare = std::less<T>,
+          typename A = cache_aligned_allocator<T>>
+class priority_queue_node : public queue_node<T> {
+public:
+    typedef size_t size_type;
+    priority_queue_node( graph &g );
+    priority_queue_node( const priority_queue_node &src );
+    ~priority_queue_node();
+ 
+    // receiver<T>
+    typedef T input_type;
+    typedef sender<input_type> predecessor_type;
+    bool try_put( const input_type &v );
+    bool register_predecessor( predecessor_type &p );
+    bool remove_predecessor( predecessor_type &p );
+ 
+    // sender<T>
+    typedef T output_type;
+    typedef receiver<output_type> successor_type;
+    bool register_successor( successor_type &r );
+    bool remove_successor( successor_type &r );
+    bool try_get( output_type &v );
+    bool try_reserve( output_type &v );
+    bool try_release( );
+    bool try_consume( );
+};
+ 
+}
+}</pre> 
+		
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"><span class="tabledesc">The following table provides additional information on the
+			 members of this template class. 
+		  </span><thead align="left"> 
+				<tr> 
+				  <th class="cellrowborder" valign="top" width="33.89830508474576%" id="d80049e148">Member 
+				  </th>
+ 
+				  <th class="cellrowborder" valign="top" width="66.10169491525423%" id="d80049e151">Description 
+				  </th>
+ 
+				</tr>
+</thead>
+ 
+			 <tbody> 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d80049e148 "><span class="keyword">priority_queue_node( graph &g
+						)</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d80049e151 "> 
+					 <p>Constructs an empty 
+						<span class="keyword">priority_queue_node</span> that belongs to the 
+						<span class="keyword">graph g</span>. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d80049e148 "><span class="keyword">priority_queue_node( const
+						priority_queue_node &src )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d80049e151 "> 
+					 <p>Constructs an empty 
+						<span class="keyword">priority_queue_node</span> that belongs to the
+						same 
+						<span class="keyword">graph g</span> as 
+						<span class="keyword">src</span>. The list of predecessors, the list of
+						successors and the messages in the buffer are NOT copied. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d80049e148 "><span class="keyword">bool try_put( const input_type
+						&v )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d80049e151 "> 
+					 <p>Adds 
+						<span class="keyword">v</span> to the 
+						<span class="keyword">priority_queue_node</span>. If 
+						<span class="keyword">v</span>'s priority is the largest of all of the
+						currently buffered messages, a task is spawned to forward the item to a
+						successor. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: 
+						<span class="keyword">true</span> 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d80049e148 "><span class="keyword">bool register_predecessor(
+						predecessor_type &p )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d80049e151 "> 
+					 <p>Never rejects puts and therefore does not need to maintain a
+						list of predecessors. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: 
+						<span class="keyword">false</span> 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d80049e148 "><span class="keyword">bool remove_predecessor(
+						predecessor_type &p )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d80049e151 "> 
+					 <p>Never rejects puts and therefore does not need to maintain a
+						list of predecessors. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: 
+						<span class="keyword">false</span> 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d80049e148 "><span class="keyword">bool register_successor(
+						successor_type &r )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d80049e151 "> 
+					 <p>Adds 
+						<span class="keyword">r</span> to the set of successors. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: 
+						<span class="keyword">true</span> 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d80049e148 "><span class="keyword">bool remove_successor(
+						successor_type &r )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d80049e151 "> 
+					 <p>Removes 
+						<span class="keyword">r</span> from the set of successors. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: 
+						<span class="keyword">true</span> 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d80049e148 "><span class="keyword">bool try_get( output_type &v
+						)</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d80049e151 "> 
+					 <p><strong>Returns</strong>: 
+						<span class="keyword">true</span> if a message is available in the node
+						and the node is not currently reserved. Otherwise returns 
+						<span class="keyword">false</span>. If the node returns 
+						<span class="keyword">true</span>, the message with the largest
+						priority will have been copied to 
+						<span class="keyword">v</span>. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d80049e148 "><span class="keyword">bool try_reserve( output_type
+						&v )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d80049e151 "> 
+					 <p>If the call returns 
+						<span class="keyword">true</span>, the node is reserved and will
+						forward no more messages until the reservation has been released or consumed. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: 
+						<span class="keyword">true</span> if a message is available in the node
+						and the node is not currently reserved. Otherwise returns 
+						<span class="keyword">false</span>. If the node returns 
+						<span class="keyword">true</span>, the message with the largest
+						priority will have been copied to 
+						<span class="keyword">v</span>. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d80049e148 "><span class="keyword">bool try_release( )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d80049e151 "> 
+					 <p>Releases the reservation on the node. The item that was
+						returned in the last successful call to 
+						<span class="keyword">try_reserve</span> remains in the 
+						<span class="keyword">priority_queue_node</span>. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: 
+						<span class="keyword">true</span> if the buffer is currently reserved
+						and 
+						<span class="keyword">false</span> otherwise. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d80049e148 "><span class="keyword">bool try_consume( )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d80049e151 "> 
+					 <p>Releases the reservation on the node. The item that was
+						returned in the last successful call to 
+						<span class="keyword">try_reserve</span> is popped from the front of
+						the queue. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: 
+						<span class="keyword">true</span> if the buffer is currently reserved
+						and 
+						<span class="keyword">false</span> otherwise. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+			 </tbody>
+ 
+		  </table>
+</div>
+ 
+	 </div>
+ 
+  </div>
+ 
+  
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../reference/flow_graph.htm">Flow Graph</a></div>
+</div>
+<div class="See Also">
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="message_passing_protocol.htm">Message Passing Protocol 
+		  </a></div></div>
+</div>
+
+</body>
+</html>
diff --git a/doc/help/reference/flow_graph/queue_node_cls.htm b/doc/help/reference/flow_graph/queue_node_cls.htm
new file mode 100755
index 0000000..607e536
--- /dev/null
+++ b/doc/help/reference/flow_graph/queue_node_cls.htm
@@ -0,0 +1,374 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="queue_node Template Class">
+<meta name="DC.subject" content="queue_node Template Class">
+<meta name="keywords" content="queue_node Template Class">
+<meta name="DC.Relation" scheme="URI" content="../../reference/flow_graph.htm">
+<meta name="DC.Relation" scheme="URI" content="message_passing_protocol.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="queue_node_cls">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../intel_css_styles.css">
+<title>queue_node Template Class</title>
+</head>
+<body id="queue_node_cls">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(2);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="queue_node_cls"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">queue_node Template Class</h1>
+ 
+   
+  <div> 
+	 <div class="section"><h2 class="sectiontitle">Summary</h2> 
+		 
+		<p>An unbounded buffer of messages of type T. Messages are forwarded in
+		  first-in first-out (FIFO) order. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Syntax</h2> 
+		 
+		<pre>template <typename T, typename A = cache_aligned_allocator<T> >
+class queue_node;</pre> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Header</h2> 
+		 
+		<pre>#include "tbb/flow_graph.h"</pre> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Description</h2> 
+		 
+		<p>A 
+		  <span class="keyword">queue</span><span class="keyword">_node</span> is a 
+		  <span class="keyword">graph_node</span>, 
+		  <span class="keyword">receiver<T></span> and 
+		  <span class="keyword">sender<T></span> that forwards messages in first-in
+		  first-out (FIFO) order to a single successor in its successor set. Successors
+		  are tried in the order that they were registered with the node. If a successor
+		  rejects the message, it is removed from the successor list as described by the
+		  policy in the Message Passing Protocol, and the next successor in the set is
+		  tried. This continues until a successor accepts the message, or all successors
+		  have been attempted. Items that are successfully transferred to a successor are
+		  removed from the buffer. 
+		</p>
+ 
+		<p>A 
+		  <span class="keyword">queue_node</span> is reservable and supports a single
+		  reservation at a time. While the 
+		  <span class="keyword">queue_node</span> is reserved, no other items will be
+		  forwarded to successors and all 
+		  <span class="keyword">try_get</span> calls will return 
+		  <span class="keyword">false</span>. While reserved, 
+		  <span class="keyword">try_put</span> will still return 
+		  <span class="keyword">true</span> and add items to the 
+		  <span class="keyword">queue_node</span>. 
+		</p>
+ 
+		<p>An allocator of type 
+		  <span class="keyword">A</span> is used to allocate internal memory for the 
+		  <span class="keyword">queue_node.</span> 
+		</p>
+ 
+		<p><span class="keyword">T</span> must be copy-constructible and assignable. 
+		</p>
+ 
+		<p>Rejection of messages by successors is handled using the protocol in
+		  the Message Passing Protocol, see link below. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Members</h2> 
+		 
+		<pre>namespace tbb {
+namespace flow {
+ 
+ 
+template <typename T, typename A = cache_aligned_allocator<T> >
+class queue_node :
+  public buffer_node<T, A> {
+public:
+    queue_node( graph &g );
+    queue_node( const queue_node &src );
+ 
+    // receiver<T>
+    typedef T input_type;
+    typedef sender<input_type> predecessor_type;
+    bool try_put( const input_type &v );
+    bool register_predecessor( predecessor_type &p );
+    bool remove_predecessor( predecessor_type &p );
+ 
+    // sender<T>
+    typedef T output_type;
+    typedef receiver<output_type> successor_type;
+    bool register_successor( successor_type &r );
+    bool remove_successor( successor_type &r );
+    bool try_get( output_type &v );
+    bool try_reserve( output_type &v );
+    bool try_release( );
+    bool try_consume( );
+};
+ 
+}
+}</pre> 
+		
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"><span class="tabledesc">The following table provides additional information on the
+			 members of this template class. 
+		  </span><thead align="left"> 
+				<tr> 
+				  <th class="cellrowborder" valign="top" width="33.89830508474576%" id="d81298e194">Member 
+				  </th>
+ 
+				  <th class="cellrowborder" valign="top" width="66.10169491525423%" id="d81298e197">Description 
+				  </th>
+ 
+				</tr>
+</thead>
+ 
+			 <tbody> 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d81298e194 "><span class="keyword">queue_node( graph &g
+						)</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d81298e197 "> 
+					 <p>Constructs an empty 
+						<span class="keyword">queue_node</span> that belongs to the 
+						<span class="keyword">graph g</span>. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d81298e194 "><span class="keyword">queue_node( const queue_node
+						&src )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d81298e197 "> 
+					 <p>Constructs an empty 
+						<span class="keyword">queue_node</span> that belongs to the same 
+						<span class="keyword">graph g</span> as 
+						<span class="keyword">src</span>. The list of predecessors, the list of
+						successors and the messages in the buffer are NOT copied. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d81298e194 "><span class="keyword">bool try_put( const input_type
+						&v )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d81298e197 "> 
+					 <p>Adds 
+						<span class="keyword">v</span> to all successors. 
+					 </p>
+the 
+					 <span class="keyword">queue_node</span>. If 
+					 <span class="keyword">v</span> is the only item in the 
+					 <span class="keyword">queue_node</span> , a task is spawned to forward
+					 the item to a successor. 
+					 <p><strong>Returns</strong>: 
+						<span class="keyword">true</span>. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d81298e194 "><span class="keyword">bool register_predecessor(
+						predecessor_type &p )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d81298e197 "> 
+					 <p>Never rejects puts and therefore does not need to maintain a
+						list of predecessors. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: 
+						<span class="keyword">false</span> 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d81298e194 "><span class="keyword">bool remove_predecessor(
+						predecessor_type &p )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d81298e197 "> 
+					 <p>Never rejects puts and therefore does not need to maintain a
+						list of predecessors. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: 
+						<span class="keyword">false</span> 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d81298e194 "><span class="keyword">bool register_successor(
+						successor_type &r )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d81298e197 "> 
+					 <p>Adds 
+						<span class="keyword">r</span> to the set of successors. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: 
+						<span class="keyword">true</span> 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d81298e194 "><span class="keyword">bool remove_successor(
+						successor_type &r )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d81298e197 "> 
+					 <p>Removes 
+						<span class="keyword">r</span> from the set of successors. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: 
+						<span class="keyword">true</span> 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d81298e194 "><span class="keyword">bool try_get( output_type &v
+						)</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d81298e197 "> 
+					 <p><strong>Returns</strong>: 
+						<span class="keyword">true</span> if an item can be removed from the
+						front of the 
+						<span class="keyword">queue_node</span> and assigned to 
+						<span class="keyword">v</span>. Returns 
+						<span class="keyword">false</span> if there is no item currently in the
+						
+						<span class="keyword">queue_node</span> or if the node is reserved. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d81298e194 "><span class="keyword">bool try_reserve( output_type
+						&v )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d81298e197 "> 
+					 <p>If the call returns 
+						<span class="keyword">true</span>, the node is reserved and will
+						forward no more messages until the reservation has been released or consumed. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: 
+						<span class="keyword">true</span> if there is an item in the 
+						<span class="keyword">queue_node</span> and the node is not currently
+						reserved. If an item can be returned, it is assigned to 
+						<span class="keyword">v</span>. Returns 
+						<span class="keyword">false</span> if there is no item currently in the
+						
+						<span class="keyword">queue_node</span> or if the node is reserved. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d81298e194 "><span class="keyword">bool try_release( )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d81298e197 "> 
+					 <p>Release the reservation on the node. The item that was
+						returned in the last successful call to 
+						<span class="keyword">try_reserve</span> remains in the 
+						<span class="keyword">queue_node</span>. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: 
+						<span class="keyword">true</span> if the node is currently reserved and
+						
+						<span class="keyword">false</span> otherwise. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d81298e194 "><span class="keyword">bool try_consume( )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d81298e197 "> 
+					 <p>Releases the reservation on the 
+						<span class="keyword">queue_node</span>. The item that was returned in
+						the last successful call to 
+						<span class="keyword">try_reserve</span> is popped from the front of
+						the queue. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: 
+						<span class="keyword">true</span> if the 
+						<span class="keyword">queue_node</span> is currently reserved and 
+						<span class="keyword">false</span> otherwise. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+			 </tbody>
+ 
+		  </table>
+</div>
+ 
+	 </div>
+ 
+  </div>
+ 
+  
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../reference/flow_graph.htm">Flow Graph</a></div>
+</div>
+<div class="See Also">
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="message_passing_protocol.htm">Message Passing Protocol 
+		  </a></div></div>
+</div>
+
+</body>
+</html>
diff --git a/doc/help/reference/flow_graph/receiver_cls.htm b/doc/help/reference/flow_graph/receiver_cls.htm
new file mode 100755
index 0000000..2fb2fa5
--- /dev/null
+++ b/doc/help/reference/flow_graph/receiver_cls.htm
@@ -0,0 +1,173 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="receiver Template Class">
+<meta name="DC.subject" content="receiver Template Class">
+<meta name="keywords" content="receiver Template Class">
+<meta name="DC.Relation" scheme="URI" content="../../reference/flow_graph.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="receiver_cls">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../intel_css_styles.css">
+<title>receiver Template Class</title>
+</head>
+<body id="receiver_cls">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(2);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="receiver_cls"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">receiver Template Class</h1>
+ 
+   
+  <div> 
+	 <div class="section"><h2 class="sectiontitle">Summary</h2> 
+		 
+		<p>An abstract base class for nodes that act as message receivers. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Syntax</h2> 
+		 
+		<pre>template< typename T > class receiver;</pre> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Header</h2> 
+		 
+		<pre>#include "tbb/flow_graph.h"</pre> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Description</h2> 
+		 
+		<p>The 
+		  <span class="keyword">receiver</span> template class is an abstract base class
+		  that defines the interface for nodes that can act as receivers. Default
+		  implementations for several functions are provided. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Members</h2> 
+		 
+		<pre>namespace tbb {
+namespace flow {
+ 
+template< typename T >
+class receiver {
+public:
+    typedef T input_type;
+    typedef sender<input_type> predecessor_type;
+    virtual ~receiver();
+    virtual bool try_put( const input_type &v ) = 0;
+    virtual bool register_predecessor( predecessor_type &p ) {
+        return false; }
+    virtual bool remove_predecessor( predecessor_type &p ) {
+        return false; }
+};
+ 
+}
+}</pre> 
+		
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"><span class="tabledesc">The following table provides additional information on the
+			 members of this template class. 
+		  </span><thead align="left"> 
+				<tr> 
+				  <th class="cellrowborder" valign="top" width="33.89830508474576%" id="d82560e112">Member 
+				  </th>
+ 
+				  <th class="cellrowborder" valign="top" width="66.10169491525423%" id="d82560e115">Description 
+				  </th>
+ 
+				</tr>
+</thead>
+ 
+			 <tbody> 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d82560e112 "><span class="keyword">~receiver()</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d82560e115 "> 
+					 <p>The destructor. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d82560e112 "><span class="keyword">bool try_put( const input_type
+						&v )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d82560e115 "> 
+					 <p>A method that represents the interface for
+						putting an item to a receiver. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d82560e112 "><span class="keyword">bool register_predecessor(
+						predecessor_type &p )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d82560e115 "> 
+					 <p>Adds a predecessor to the node's set of predecessors. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: 
+						<span class="keyword">true</span> if the predecessor is added; 
+						<span class="keyword">false</span> otherwise. The default
+						implementation returns 
+						<span class="keyword">false</span>. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d82560e112 "><span class="keyword">bool remove_predecessor(
+						predecessor_type &p )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d82560e115 "> 
+					 <p>Removes a predecessor from the node's set of predecessors. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: 
+						<span class="keyword">true</span> if the predecessor is removed; 
+						<span class="keyword">false</span> otherwise. The default
+						implementation returns 
+						<span class="keyword">false</span>. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+			 </tbody>
+ 
+		  </table>
+</div>
+ 
+	 </div>
+ 
+  </div>
+
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../reference/flow_graph.htm">Flow Graph</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/reference/flow_graph/remove_edge_func.htm b/doc/help/reference/flow_graph/remove_edge_func.htm
new file mode 100755
index 0000000..d1b82df
--- /dev/null
+++ b/doc/help/reference/flow_graph/remove_edge_func.htm
@@ -0,0 +1,49 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="remove_edge Template Function">
+<meta name="DC.subject" content="remove_edge Template Function">
+<meta name="keywords" content="remove_edge Template Function">
+<meta name="DC.Relation" scheme="URI" content="../../reference/flow_graph.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="remove_edge_func">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../intel_css_styles.css">
+<title>remove_edge Template Function</title>
+</head>
+<body id="remove_edge_func">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(2);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="remove_edge_func"><!-- --></a>
+
+
+<h1 class="topictitle1">remove_edge Template Function</h1>
+
+
+<div>
+<div class="section"><h2 class="sectiontitle">Summary</h2>
+<p>A template function that removes an edge between a <span class="keyword">sender<T></span> and a <span class="keyword">receiver<T>.</span></p>
+</div>
+
+<div class="section"><h2 class="sectiontitle">Syntax</h2>
+
+<pre>template< typename T >
+void remove_edge( sender<T> &p, receiver<T> &s );</pre></div>
+
+<div class="section"><h2 class="sectiontitle">Header</h2>
+
+<pre>#include "tbb/flow_graph.h"</pre></div>
+</div>
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../reference/flow_graph.htm">Flow Graph</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/reference/flow_graph/sender_cls.htm b/doc/help/reference/flow_graph/sender_cls.htm
new file mode 100755
index 0000000..e1be145
--- /dev/null
+++ b/doc/help/reference/flow_graph/sender_cls.htm
@@ -0,0 +1,225 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="sender Template Class">
+<meta name="DC.subject" content="sender Template Class">
+<meta name="keywords" content="sender Template Class">
+<meta name="DC.Relation" scheme="URI" content="../../reference/flow_graph.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="sender_cls">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../intel_css_styles.css">
+<title>sender Template Class</title>
+</head>
+<body id="sender_cls">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(2);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="sender_cls"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">sender Template Class</h1>
+ 
+   
+  <div> 
+	 <div class="section"><h2 class="sectiontitle">Summary</h2> 
+		 
+		<p>An abstract base class for nodes that act as message senders. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Syntax</h2> 
+		 
+		<pre>template< typename T > class sender;</pre> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Header</h2> 
+		 
+		<pre>#include "tbb/flow_graph.h"</pre> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Description</h2> 
+		 
+		<p>The 
+		  <span class="keyword">sender</span> template class is an abstract base class that
+		  defines the interface for nodes that can act as senders. Default
+		  implementations for several functions are provided. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Members</h2> 
+		 
+		<pre>namespace tbb {
+namespace flow {
+ 
+template< typename T >
+class sender {
+public:
+    typedef T output_type;
+    typedef receiver<output_type> successor_type;
+    virtual ~sender();
+    virtual bool register_successor( successor_type &r ) = 0;
+    virtual bool remove_successor( successor_type &r ) = 0;
+    virtual bool try_get( output_type &v ) { return false; }
+    virtual bool try_reserve( output_type &v ) { return false; }
+    virtual bool try_release( ) { return false; }
+    virtual bool try_consume( ) { return false; }
+};
+ 
+}
+}</pre> 
+		
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"><span class="tabledesc">The following table provides additional information on the
+			 members of this template class. 
+		  </span><thead align="left"> 
+				<tr> 
+				  <th class="cellrowborder" valign="top" width="33.89830508474576%" id="d83130e114">Member 
+				  </th>
+ 
+				  <th class="cellrowborder" valign="top" width="66.10169491525423%" id="d83130e117">Description 
+				  </th>
+ 
+				</tr>
+</thead>
+ 
+			 <tbody> 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d83130e114 "><span class="keyword">~sender()</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d83130e117 "> 
+					 <p>The destructor. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d83130e114 "><span class="keyword">bool register_successor(
+						successor_type &r ) = 0</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d83130e117 "> 
+					 <p>A pure virtual method that describes the interface for
+						adding a successor node to the set of successors for the sender. 
+					 </p>
+ 
+					 <p> 
+						<strong>Returns</strong>: 
+						<span class="keyword">true</span> if the successor is added; 
+						<span class="keyword">false</span> otherwise. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d83130e114 "><span class="keyword">bool remove_successor(
+						successor_type &r ) = 0</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d83130e117 "> 
+					 <p>A pure virtual method that describes the interface for
+						removing a successor node from the set of successors for a sender. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: 
+						<span class="keyword">true</span> if the successor is removed; 
+						<span class="keyword">false</span> otherwise. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d83130e114 "><span class="keyword">bool try_get( output_type &v
+						)</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d83130e117 "> 
+					 <p>Requests an item from a sender. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: The default implementation returns 
+						<span class="keyword">false</span>. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d83130e114 "><span class="keyword">bool try_reserve( output_type
+						&v )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d83130e117 "> 
+					 <p>Reserves an item at the sender. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: The default implementation returns 
+						<span class="keyword">false</span>. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d83130e114 "><span class="keyword">bool try_release( )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d83130e117 "> 
+					 <p>Releases the reservation held at the sender. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: The default implementation returns 
+						<span class="keyword">false</span>. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d83130e114 "><span class="keyword">bool try_consume( )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d83130e117 "> 
+					 <p>Consumes the reservation held at the sender. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: The default implementation returns 
+						<span class="keyword">false</span>. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+			 </tbody>
+ 
+		  </table>
+</div>
+ 
+	 </div>
+ 
+  </div>
+
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../reference/flow_graph.htm">Flow Graph</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/reference/flow_graph/sequencer_node_cls.htm b/doc/help/reference/flow_graph/sequencer_node_cls.htm
new file mode 100755
index 0000000..b2fb3de
--- /dev/null
+++ b/doc/help/reference/flow_graph/sequencer_node_cls.htm
@@ -0,0 +1,501 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="sequencer_node Template Class">
+<meta name="DC.subject" content="sequencer_node Template Class">
+<meta name="keywords" content="sequencer_node Template Class">
+<meta name="DC.Relation" scheme="URI" content="../../reference/flow_graph.htm">
+<meta name="DC.Relation" scheme="URI" content="message_passing_protocol.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="sequencer_node_cls">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../intel_css_styles.css">
+<title>sequencer_node Template Class</title>
+</head>
+<body id="sequencer_node_cls">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(2);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="sequencer_node_cls"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">sequencer_node Template Class</h1>
+ 
+   
+  <div> 
+	 <div class="section"><h2 class="sectiontitle">Summary</h2> 
+		 
+		<p>An unbounded buffer of messages of type 
+		  <span class="keyword">T</span>. Messages are forwarded in sequence order. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Syntax</h2> 
+		 
+		<pre>template< typename T, typename A = cache_aligned_allocator<T> >
+class sequencer_node;</pre> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Header</h2> 
+		 
+		<pre>#include "tbb/flow_graph.h"</pre> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Description</h2> 
+		 
+		<p>A 
+		  <span class="keyword">sequencer_node</span> is a 
+		  <span class="keyword">graph_node</span>, 
+		  <span class="keyword">receiver<T></span> and 
+		  <span class="keyword">sender<T></span> that forwards messages in sequence
+		  order to a single successor in its successor set. Successors are tried in the
+		  order that they were registered with the node. If a successor rejects the
+		  message, it is removed from the successor list as described by the policy in
+		  the Message Passing Protocol, and the next successor in the set is tried. This
+		  continues until a successor accepts the message, or all successors have been
+		  attempted. Items that are successfully transferred to a successor are removed
+		  from the buffer. 
+		</p>
+ 
+		<p>Each item that passes through a 
+		  <span class="keyword">sequencer_node</span> is ordered by its sequencer order
+		  number. These sequence order numbers range from 0 to N, where N is the largest
+		  integer representable by the 
+		  <span class="keyword">size_t</span> type. An item's sequencer order number is
+		  determined by passing the item to a user-provided function object that models
+		  the Sequencer Concept shown below. 
+		</p>
+ 
+		
+<div class="tablenoborder"><a name="tbl26"><!-- --></a><table cellpadding="4" summary="" id="tbl26" frame="border" border="1" cellspacing="0" rules="all"><caption><span class="tablecap">sequencer_node<T> Sequencer Concept</span></caption> 
+		  <thead align="left"> 
+			 <tr> 
+				<th class="cellrowborder" align="center" valign="top" width="50%" id="d83820e91"> 
+				  <p>Pseudo-Signature 
+				  </p>
+ 
+				</th>
+ 
+				<th class="cellrowborder" align="center" valign="top" width="50%" id="d83820e97"> 
+				  <p>Semantics 
+				  </p>
+ 
+				</th>
+ 
+			 </tr>
+</thead>
+ 
+		  <tbody> 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="50%" headers="d83820e91 "> 
+				  <p> 
+					 <pre>S::S( const S& )</pre> 
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="50%" headers="d83820e97 "> 
+				  <p>Copy constructor. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="50%" headers="d83820e91 "> 
+				  <p> 
+					 <pre>S::~S()</pre> 
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="50%" headers="d83820e97 "> 
+				  <p>Destructor. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="50%" headers="d83820e91 "> 
+				  <p> 
+					 <pre>void operator=( const S& )</pre> 
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="50%" headers="d83820e97 "> 
+				  <p>Assignment. The return type 
+					 <samp class="codeph">void</samp> in the pseudo-signature denotes that 
+					 <samp class="codeph">operator=</samp> is not required to return a value.
+					 The actual 
+					 <samp class="codeph">operator=</samp> can return a value, which will be
+					 ignored. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="50%" headers="d83820e91 "> 
+				  <p><span class="keyword">size_t</span> 
+					 <span class="keyword">S::operator()(</span> 
+					 <span class="keyword">const</span> 
+					 <span class="keyword">T</span> 
+					 <span class="keyword">&v )</span> 
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="50%" headers="d83820e97 "> 
+				  <p>Returns the sequence number for the provided message 
+					 <span class="keyword">v</span>. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+		  </tbody>
+ 
+		</table>
+</div>
+ 
+		<p>A 
+		  <span class="keyword">sequencer_node</span> is reservable and supports a single
+		  reservation at a time. While a 
+		  <span class="keyword">sequencer_node</span> is reserved, no other items will be
+		  forwarded to successors and all 
+		  <span class="keyword">try_get</span> calls will return 
+		  <span class="keyword">false</span>. While reserved, 
+		  <span class="keyword">try_put</span> will still return 
+		  <span class="keyword">true</span> and add items to the 
+		  <span class="keyword">sequencer_node</span>. 
+		</p>
+ 
+		<p>An allocator of type 
+		  <span class="keyword">A</span> is used to allocate internal memory for the 
+		  <span class="keyword">sequencer_node.</span> 
+		</p>
+ 
+		<p><span class="keyword">T</span> must be copy-constructible and assignable. 
+		</p>
+ 
+		<p>Rejection of messages by successors is handled using the protocol in
+		  the Message Passing Protocol, see link below. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Members</h2> 
+		 
+		<pre>namespace tbb {
+namespace flow {
+ 
+template< typename T, typename A = cache_aligned_allocator<T> >
+class sequencer_node :
+  public queue_node<T> {
+public:
+    template< typename Sequencer >
+    sequencer_node( graph &g, const Sequencer &s );
+    sequencer_node( const sequencer_node &src );
+ 
+    // receiver<T>
+    typedef T input_type;
+    typedef sender<input_type> predecessor_type;
+    bool try_put( const input_type &v );
+    bool register_predecessor( predecessor_type &p );
+    bool remove_predecessor( predecessor_type &p );
+ 
+    // sender<T>
+    typedef T output_type;
+    typedef receiver<output_type> successor_type;
+    bool register_successor( successor_type &r );
+    bool remove_successor( successor_type &r );
+    bool try_get( output_type &v );
+    bool try_reserve( output_type &v );
+    bool try_release( );
+    bool try_consume( );
+};
+ 
+}
+}</pre> 
+		
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"><span class="tabledesc">The following table provides additional information on the
+			 members of this template class. 
+		  </span><thead align="left"> 
+				<tr> 
+				  <th class="cellrowborder" valign="top" width="33.89830508474576%" id="d83820e268">Member 
+				  </th>
+ 
+				  <th class="cellrowborder" valign="top" width="66.10169491525423%" id="d83820e271">Description 
+				  </th>
+ 
+				</tr>
+</thead>
+ 
+			 <tbody> 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d83820e268 "><span class="keyword">template<typename Sequencer>
+						sequencer_node( graph& g, const Sequencer &s )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d83820e271 "> 
+					 <p>Constructs an empty 
+						<span class="keyword">sequencer_node</span> that belongs to the 
+						<span class="keyword">graph g</span> and uses 
+						<span class="keyword">s</span> to compute sequence numbers for items. 
+					 </p>
+ 
+                                         <div class="Note"><h3 class="NoteTipHead">
+					Caution</h3> 
+		                                <p> The <samp class="codeph">Sequencer</samp> function object must not throw an exception.
+		                                </p>
+ 
+                                         </div>
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d83820e268 "><span class="keyword">sequencer_node( const
+						sequencer_node &src )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d83820e271 "> 
+					 <p>Constructs an empty 
+						<span class="keyword">sequencer_node</span> that belongs to the same 
+						<span class="keyword">graph g</span> as 
+						<span class="keyword">src</span> and will use a copy of the 
+						<span class="keyword">Sequencer s</span> used to construct 
+						<span class="keyword">src</span>. The list of predecessors, the list of
+						successors and the messages in the buffer are NOT copied. 
+					 </p>
+ 
+					 <div class="Note"><h3 class="NoteTipHead">
+					Caution</h3> 
+						<p> The new sequencer object is copy constructed from a copy
+						  of the original sequencer object provided to 
+						  <span class="keyword">src</span> at its construction. Therefore
+						  changes made to member variables in 
+						  <span class="keyword">src</span>'s object will not affect the
+						  sequencer of the new 
+						  <span class="keyword">sequencer_node.</span> 
+						</p>
+ 
+					 </div> 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d83820e268 "><span class="keyword">bool try_put( const input_type
+						&v )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d83820e271 "> 
+					 <p>Adds 
+						<span class="keyword">v</span> to the 
+						<span class="keyword">sequencer_node</span>. If 
+						<span class="keyword">v</span>'s sequence number is the next item in
+						the sequence, a task is spawned to forward the item to a successor. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: 
+						<span class="keyword">true</span> 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d83820e268 "><span class="keyword">bool register_predecessor(
+						predecessor_type &p )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d83820e271 "> 
+					 <p>Never rejects puts and therefore does not need to maintain a
+						list of predecessors. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: 
+						<span class="keyword">false</span> 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d83820e268 "><span class="keyword">bool remove_predecessor(
+						predecessor_type &p )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d83820e271 "> 
+					 <p>Never rejects puts and therefore does not need to maintain a
+						list of predecessors. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: 
+						<span class="keyword">false</span> 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d83820e268 "><span class="keyword">bool register_successor(
+						successor_type &r )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d83820e271 "> 
+					 <p>Adds 
+						<span class="keyword">r</span> to the set of successors. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: 
+						<span class="keyword">true</span> 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d83820e268 "><span class="keyword">bool remove_successor(
+						successor_type &r )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d83820e271 "> 
+					 <p>Removes 
+						<span class="keyword">r</span> from the set of successors. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: 
+						<span class="keyword">true</span> 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d83820e268 "><span class="keyword">bool try_get( output_type &v
+						)</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d83820e271 "> 
+					 <p><strong>Returns</strong>: 
+						<span class="keyword">true</span> if the next item in the sequence is
+						available in the 
+						<span class="keyword">sequencer_node</span>. If so, it is removed from
+						the node and assigned to 
+						<span class="keyword">v</span>. Returns 
+						<span class="keyword">false</span> if the next item in sequencer order
+						is not available or if the node is reserved. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d83820e268 "><span class="keyword">bool try_reserve( output_type
+						&v )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d83820e271 "> 
+					 <p>If the call returns 
+						<span class="keyword">true</span>, the node is reserved and will
+						forward no more messages until the reservation has been released or consumed. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: 
+						<span class="keyword">true</span> if the next item in sequencer order
+						is available in the 
+						<span class="keyword">sequencer_node</span>. If so, the item is
+						assigned to 
+						<span class="keyword">v</span>, but is not removed from the 
+						<span class="keyword">sequencer_node</span>. Returns 
+						<span class="keyword">false</span> if the next item in sequencer order
+						is not available or if the node is reserved. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d83820e268 "><span class="keyword">bool try_release( )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d83820e271 "> 
+					 <p>Releases the reservation on the node. The item that was
+						returned in the last successful call to 
+						<span class="keyword">try_reserve</span> remains in the 
+						<span class="keyword">sequencer_node</span>. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: 
+						<span class="keyword">true</span> if the buffer is currently reserved
+						and 
+						<span class="keyword">false</span> otherwise. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d83820e268 "><span class="keyword">bool try_consume( )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d83820e271 "> 
+					 <p>Releases the reservation on the node. The item that was
+						returned in the last successful call to 
+						<span class="keyword">try_reserve</span> is popped from the front of
+						the queue. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: 
+						<span class="keyword">true</span> if the buffer is currently reserved
+						and 
+						<span class="keyword">false</span> otherwise. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+			 </tbody>
+ 
+		  </table>
+</div>
+ 
+	 </div>
+ 
+  </div>
+ 
+  
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../reference/flow_graph.htm">Flow Graph</a></div>
+</div>
+<div class="See Also">
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="message_passing_protocol.htm">Message Passing Protocol 
+		  </a></div></div>
+</div>
+
+</body>
+</html>
diff --git a/doc/help/reference/flow_graph/source_node_cls.htm b/doc/help/reference/flow_graph/source_node_cls.htm
new file mode 100755
index 0000000..6da93bd
--- /dev/null
+++ b/doc/help/reference/flow_graph/source_node_cls.htm
@@ -0,0 +1,477 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="source_node Class">
+<meta name="DC.subject" content="source_node Class">
+<meta name="keywords" content="source_node Class">
+<meta name="DC.Relation" scheme="URI" content="../../reference/flow_graph.htm">
+<meta name="DC.Relation" scheme="URI" content="make_edge_func.htm">
+<meta name="DC.Relation" scheme="URI" content="remove_edge_func.htm">
+<meta name="DC.Relation" scheme="URI" content="copy_body_func.htm">
+<meta name="DC.Relation" scheme="URI" content="message_passing_protocol.htm">
+<meta name="DC.Relation" scheme="URI" content="../task_scheduler/task_group_context.htm">
+<meta name="DC.Relation" scheme="URI" content="../exceptions.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="source_node_cls">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../intel_css_styles.css">
+<title>source_node Class</title>
+</head>
+<body id="source_node_cls">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(2);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="source_node_cls"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">source_node Class</h1>
+ 
+   
+  <div> 
+	 <div class="section"><h2 class="sectiontitle">Summary</h2> 
+		 
+		<p>A template class that is both a 
+		  <span class="keyword">graph_node</span> and a 
+		  <span class="keyword">sender<Output></span>. This node can have no
+		  predecessors. It executes a user-provided 
+		<span class="option">body</span> function object to generate messages that are
+		broadcast to all successors. It is a serial node and will never call its 
+		<span class="keyword">body</span> concurrently. It is able to buffer a single item.
+		If no successor accepts an item that it has generated, the message is buffered
+		and will be provided to successors before a new item is generated. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Syntax</h2> 
+		 
+		<pre>template < typename Output > class source_node;</pre> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Header</h2> 
+		 
+		<pre>#include "tbb/flow_graph.h"</pre> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Description</h2> 
+		 
+		<p>This type of node generates messages of type 
+		  <span class="keyword">Output</span> by invoking the user-provided 
+		  <span class="keyword">body</span> and broadcasts the result to all of its
+		  successors. 
+		</p>
+ 
+		<p>A 
+		  <span class="keyword">source_node</span> is a serial node. Calls to 
+		  <span class="keyword">body</span> will never be made concurrently. 
+		</p>
+ 
+		<p>A 
+		  <span class="keyword">source_node</span> will continue to invoke 
+		  <span class="keyword">body</span> and broadcast messages until the 
+		  <span class="keyword">body</span> returns 
+		  <span class="keyword">false</span> or it has no valid successors. A message may
+		  be generated and then rejected by all successors. In that case, the message is
+		  buffered and will be the next message sent once a successor is added to the
+		  node or 
+		  <span class="keyword">try_get</span> is called. Calls to 
+		  <span class="keyword">try_get</span> will return a buffer message if available or
+		  will invoke 
+		  <span class="keyword">body</span> to attempt to generate a new message. A call to
+		  
+		  <span class="keyword">body</span> is made only when the internal buffer is empty.
+		  
+		</p>
+ 
+		<p>Rejection of messages by successors is handled using the protocol in
+		  the Message Passing Protocol, see link below. 
+		</p>
+ 
+		
+<div class="tablenoborder"><a name="tbl25"><!-- --></a><table cellpadding="4" summary="" id="tbl25" frame="border" border="1" cellspacing="0" rules="all"><caption><span class="tablecap">source_node<Output> Body Concept</span></caption> 
+		  <thead align="left"> 
+			 <tr> 
+				<th class="cellrowborder" align="center" valign="top" width="50%" id="d85476e126"> 
+				  <p>Pseudo-Signature 
+				  </p>
+ 
+				</th>
+ 
+				<th class="cellrowborder" align="center" valign="top" width="50%" id="d85476e132"> 
+				  <p>Semantics 
+				  </p>
+ 
+				</th>
+ 
+			 </tr>
+</thead>
+ 
+		  <tbody> 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="50%" headers="d85476e126 "> 
+				  <p> 
+					 <pre>B::B( const B& )</pre> 
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="50%" headers="d85476e132 "> 
+				  <p>Copy constructor. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="50%" headers="d85476e126 "> 
+				  <p> 
+					 <pre>B::~B()</pre> 
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="50%" headers="d85476e132 "> 
+				  <p>Destructor. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="50%" headers="d85476e126 "> 
+				  <p> 
+					 <pre>void operator=( const B& )</pre> 
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="50%" headers="d85476e132 "> 
+				  <p>Assignment. The return type 
+					 <samp class="codeph">void</samp> in the pseudo-signature denotes that 
+					 <samp class="codeph">operator=</samp> is not required to return a value.
+					 The actual 
+					 <samp class="codeph">operator=</samp> can return a value, which will be
+					 ignored. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="50%" headers="d85476e126 "> 
+				  <p> 
+					 <pre>bool B::operator() (Output &v)</pre> 
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="50%" headers="d85476e132 "> 
+				  <p>Returns 
+					 <span class="keyword">true</span> when it has assigned a new value to 
+					 <span class="keyword">v</span>. Returns 
+					 <span class="keyword">false</span> when no new values may be generated. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+		  </tbody>
+ 
+		</table>
+</div>
+ 
+		<div class="Note"><h3 class="NoteTipHead">
+					Caution</h3> 
+		  <p> The body object passed to a 
+			 <span class="keyword">source_node</span> is copied. Therefore updates to member
+			 variables will not affect the original object used to construct the node. If
+			 the state held within a body object must be inspected from outside of the node,
+			 the 
+			 <span class="keyword">copy_body</span> function can be used to obtain an
+			 updated copy. 
+		  </p>
+ 
+		</div> 
+		<div class="Note"><h3 class="NoteTipHead">
+					Note</h3> 
+		  <p> The body object may throw or cancel its enclosing graph. See
+			 task_group_context and Exceptions sections for a description. 
+		  </p>
+ 
+		  <p><span class="keyword">Output</span> must be copy-constructible and assignable.
+			 
+		  </p>
+ 
+		</div> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Members</h2> 
+		 
+		<pre>namespace tbb {
+namespace flow {
+ 
+template < typename Output >
+class source_node : public graph_node, public sender< Output > {
+public:
+    typedef Output output_type;
+    typedef receiver< output_type > successor_type;
+ 
+    template< typename Body >
+    source_node( graph &g, Body body, bool is_active = true );
+    source_node( const source_node &src );
+    ~source_node();
+ 
+    void activate();
+    bool register_successor( successor_type &r );
+    bool remove_successor( successor_type &r );
+    bool try_get( output_type &v );
+    bool try_reserve( output_type &v );
+    bool try_release( );
+    bool try_consume( );
+};
+ 
+}
+}</pre> 
+		
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"><span class="tabledesc">The following table provides additional information on the
+			 members of this class. 
+		  </span><thead align="left"> 
+				<tr> 
+				  <th class="cellrowborder" valign="top" width="33.89830508474576%" id="d85476e278">Member 
+				  </th>
+ 
+				  <th class="cellrowborder" valign="top" width="66.10169491525423%" id="d85476e281">Description 
+				  </th>
+ 
+				</tr>
+</thead>
+ 
+			 <tbody> 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d85476e278 "><span class="keyword">template< typename Body
+						>source_node( graph &g, Body body, bool is_active=true )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d85476e281 "> 
+					 <p>Constructs a 
+						<span class="keyword">source_node</span> that will invoke 
+						<span class="keyword">body</span>. By default the node is created in
+						the active state, that is, it will begin generating messages immediately. If 
+						<span class="keyword">is_active</span> is 
+						<span class="keyword">false</span>, messages will not be generated
+						until a call to 
+						<span class="keyword">activate</span> is made. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d85476e278 "><span class="keyword">source_node( const source_node
+						&src )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d85476e281 "> 
+					 <p>Constructs a 
+						<span class="keyword">source_node</span> that has the same initial
+						state that 
+						<span class="keyword">src</span> had when it was constructed. The 
+						<span class="keyword">source_node</span> that is constructed will have
+						a reference to the same 
+						<span class="keyword">graph</span> object as 
+						<span class="keyword">src</span>, will have a copy of the initial body
+						used by 
+						<span class="keyword">src,</span> and have the same initial active
+						state as 
+						<span class="keyword">src</span>. The predecessors and successors of 
+						<span class="keyword">src</span> will not be copied. 
+					 </p>
+ 
+					 <div class="Note"><h3 class="NoteTipHead">
+					Caution</h3> 
+						<p> The new body object is copy constructed from a copy of
+						  the original body provided to 
+						  <span class="keyword">src</span> at its construction. Therefore
+						  changes made to member variables in 
+						  <span class="keyword">src</span>'s body after the construction of 
+						  <span class="keyword">src</span> will not affect the body of the new 
+						  <span class="keyword">source_node.</span> 
+						</p>
+ 
+					 </div> 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d85476e278 "><span class="keyword">void activate()</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d85476e281 "> 
+					 <p>Sets the 
+						<span class="keyword">source_node</span> to the active state, allowing
+						it to begin generating messages. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d85476e278 "><span class="keyword">bool register_successor(
+						successor_type &r )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d85476e281 "> 
+					 <p>Adds 
+						<span class="keyword">r</span> to the set of successors. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: 
+						<span class="keyword">true</span> 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d85476e278 "><span class="keyword">bool remove_successor(
+						successor_type &r )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d85476e281 "> 
+					 <p>Removes 
+						<span class="keyword">r</span> from the set of successors. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: 
+						<span class="keyword">true</span> 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d85476e278 "><span class="keyword">bool try_get( output_type &v
+						)</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d85476e281 "> 
+					 <p>Will copy the buffered message into 
+						<span class="keyword">v</span> if available or will invoke 
+						<span class="keyword">body</span> to attempt to generate a new message
+						that will be copied into 
+						<span class="keyword">v</span>. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>:<span class="keyword">true</span> if a message is
+						copied to v. 
+						<span class="keyword">false</span> otherwise. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d85476e278 "><span class="keyword">bool try_reserve( output_type
+						&v )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d85476e281 "> 
+					 <p>Reserves the 
+						<span class="keyword">source_node</span> if possible. If a message can
+						be buffered and the node is not already reserved, the node is reserved for the
+						caller, and the value is copied into 
+						<span class="keyword">v</span>. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: 
+						<span class="keyword">true</span> if the node is reserved for the
+						caller. 
+						<span class="keyword">false</span> otherwise. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d85476e278 "><span class="keyword">bool try_release( )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d85476e281 "> 
+					 <p>Releases any reservation held on the 
+						<span class="keyword">source_node</span>. The message held in the
+						internal buffer is retained. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: 
+						<span class="keyword">true</span> 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d85476e278 "><span class="keyword">bool try_consume( )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d85476e281 "> 
+					 <p>Releases any reservation held on the 
+						<span class="keyword">source_node</span> and clears the internal
+						buffer. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: 
+						<span class="keyword">true</span> 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+			 </tbody>
+ 
+		  </table>
+</div>
+ 
+	 </div>
+ 
+  </div>
+ 
+  
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../reference/flow_graph.htm">Flow Graph</a></div>
+</div>
+<div class="See Also">
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="make_edge_func.htm">make_edge Template Function 
+		  </a></div>
+<div><a href="remove_edge_func.htm">remove_edge Template Function 
+		  </a></div>
+<div><a href="copy_body_func.htm">copy_body Template Function 
+		  </a></div>
+<div><a href="message_passing_protocol.htm">Message Passing Protocol 
+		  </a></div>
+<div><a href="../task_scheduler/task_group_context.htm">task_group_context 
+		  </a></div>
+<div><a href="../exceptions.htm">Exceptions 
+		  </a></div></div>
+</div>
+
+</body>
+</html>
diff --git a/doc/help/reference/flow_graph/split_node_cls.htm b/doc/help/reference/flow_graph/split_node_cls.htm
new file mode 100755
index 0000000..97414fe
--- /dev/null
+++ b/doc/help/reference/flow_graph/split_node_cls.htm
@@ -0,0 +1,292 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="split_node Template Class">
+<meta name="DC.subject" content="split_node Template Class">
+<meta name="keywords" content="split_node Template Class">
+<meta name="DC.Relation" scheme="URI" content="../../reference/flow_graph.htm">
+<meta name="DC.Relation" scheme="URI" content="flow_tuple.htm#flow_tuple">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="split_node_cls">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../intel_css_styles.css">
+<title>split_node Template Class</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="split_node_cls">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(2);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="split_node_cls"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">split_node Template Class</h1>
+ 
+   
+  <div> 
+	 <div class="section"><h2 class="sectiontitle">Summary</h2> 
+		 
+		<p>A template class that is a 
+		  <samp class="codeph">receiver<TupleType></samp> and has a
+		  tuple of 
+		  <samp class="codeph">sender< tuple_element< i,
+			 TupleType >::type ></samp> output ports; where i is the index in the
+		  tuple. A 
+		  <samp class="codeph">split_node</samp> sends each
+		  element of the incoming tuple to the output port that matches the element's
+		  index in the incoming tuple. This node has unlimited concurrency. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Syntax</h2> 
+		 
+		<pre>template < typename TupleType >
+ class split_node;</pre> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Header</h2> 
+		 
+		<pre>#include "tbb/flow_graph.h"</pre> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Description</h2> 
+		 
+		<p>This node receives a tuple at its single input port
+		  and generates a message from each element of the tuple, passing each to the
+		  corresponding output port. 
+		</p>
+ 
+		<p>A 
+		  <samp class="codeph">split_node</samp> has
+		  unlimited concurrency, no buffering, and behaves as a 
+		  <samp class="codeph">broadcast_node</samp> with
+		  multiple output ports. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Example</h2> 
+		 
+		<p>The example below shows a 
+		  <samp class="codeph">split_node</samp> that
+		  separates a stream of tuples of integers, placing each element of the tuple in
+		  the appropriate output queue. 
+		</p>
+ 
+		<p>The output ports of the 
+		  <samp class="codeph">split_node</samp> can be
+		  connected to other graph nodes using the 
+		  <samp class="codeph">make_edge</samp> method or by
+		  using 
+		  <samp class="codeph">register_successor</samp>: 
+		</p>
+ 
+		<pre>#include "tbb/flow_graph.h"
+using namespace tbb::flow;
+
+int main() {
+  graph g;
+
+  queue_node<int> first_queue(g);
+  queue_node<int> second_queue(g);
+  split_node< flow::tuple<int,int> > my_split_node(g);
+  output_port<0>(my_split_node).register_successor(first_queue);
+  make_edge(output_port<1>(my_split_node), second_queue);
+
+  for(int i = 0; i < 1000; ++i) {
+    node1.try_put(int_tuple_type(2*i,2*i+1));
+  }
+  g.wait_for_all();
+ }</pre> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Members</h2> 
+		 
+		<pre>namespace tbb {
+  template < typename TupleType >
+    class split_node : public graph_node, public receiver<TupleType>
+  {
+  public:
+
+    split_node( graph &g );
+    split_node( const split_node &other);
+    ~split_node();
+
+    // receiver< TupleType >
+    typedef TupleType input_type;
+    typedef sender<input_type> predecessor_type;
+    bool try_put( const input_type &v );
+    bool register_predecessor( predecessor_type &p );
+    bool remove_predecessor( predecessor_type &p );
+
+    typedef <em>implementation-dependent</em> output_ports_type;
+    output_ports_type& output_ports();
+  };
+}</pre> 
+		
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"><span class="tabledesc">The following table provides additional information on the
+			 members of this template class. 
+		  </span><thead align="left"> 
+				<tr> 
+				  <th class="cellrowborder" valign="top" width="33.89830508474576%" id="d86984e129">Member 
+				  </th>
+ 
+				  <th class="cellrowborder" valign="top" width="66.10169491525423%" id="d86984e132">Description 
+				  </th>
+ 
+				</tr>
+</thead>
+ 
+			 <tbody> 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d86984e129 "> 
+					 <span class="keyword">split_node( graph &g )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d86984e132 "> 
+					 <p>Constructs a 
+						<span class="keyword">split_node</span> registered with graph 
+						<span class="keyword">g</span>. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d86984e129 "> 
+					 <span class="keyword">split_node( const split_node &other)</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d86984e132 "> 
+					 <p>Constructs a 
+						<span class="keyword">split_node</span> that has the same initial state
+						that 
+						<span class="keyword">other</span> had when it was constructed. The 
+						<span class="keyword">split_node</span> that is constructed will have a
+						reference to the same 
+						<span class="keyword">graph</span> object as 
+						<span class="keyword">other</span>. The predecessors and successors of 
+						<span class="keyword">other</span> will not be copied. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d86984e129 "> 
+					 <span class="keyword">~split_node()</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d86984e132 "> 
+					 <p>Destructor 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d86984e129 "> 
+					 <span class="keyword">bool try_put( const input_type &v )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d86984e132 "> 
+					 <p>Broadcasts each element of the incoming tuple to the nodes
+						connected to the 
+						<span class="keyword">split_node</span>'s output ports. The element at
+						index 
+						<span class="keyword">i</span> of 
+						<span class="keyword">v</span>i will be broadcast through the 
+						<span class="keyword">i</span>th output port.
+					 </p>
+ 
+					 <p><strong>Returns</strong>: 
+						<span class="keyword">true</span> 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d86984e129 "><span class="keyword">bool register_predecessor(
+						predecessor_type &p )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d86984e132 "> 
+					 <p>Adds 
+						<span class="keyword">p</span> to the set of predecessors. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: 
+						<span class="keyword">true</span> 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d86984e129 "><span class="keyword">bool remove_predecessor(
+						predecessor_type &p )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d86984e132 "> 
+					 <p>Removes 
+						<span class="keyword">p</span> from the set of predecessors. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: 
+						<span class="keyword">true</span> 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d86984e129 "><span class="keyword">output_ports_type&
+						output_ports();</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d86984e132 "> 
+					 <p><strong>Returns</strong>: a tuple of output ports. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+			 </tbody>
+ 
+		  </table>
+</div>
+ 
+	 </div>
+ 
+  </div>
+ 
+  
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../reference/flow_graph.htm">Flow Graph</a></div>
+</div>
+<div class="See Also">
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="flow_tuple.htm#flow_tuple">flow::tuple Template Class
+		  </a></div></div>
+</div> 
+
+</body>
+</html>
diff --git a/doc/help/reference/flow_graph/write_once_node_cls.htm b/doc/help/reference/flow_graph/write_once_node_cls.htm
new file mode 100755
index 0000000..cb0f837
--- /dev/null
+++ b/doc/help/reference/flow_graph/write_once_node_cls.htm
@@ -0,0 +1,358 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="write_once_node Template Class">
+<meta name="DC.subject" content="write_once_node Template Class">
+<meta name="keywords" content="write_once_node Template Class">
+<meta name="DC.Relation" scheme="URI" content="../../reference/flow_graph.htm">
+<meta name="DC.Relation" scheme="URI" content="message_passing_protocol.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="write_once_node_cls">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../intel_css_styles.css">
+<title>write_once_node Template Class</title>
+</head>
+<body id="write_once_node_cls">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(2);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="write_once_node_cls"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">write_once_node Template Class</h1>
+ 
+   
+  <div> 
+	 <div class="section"><h2 class="sectiontitle">Summary</h2> 
+		 
+		<p>A template class that is a 
+		  <span class="keyword">graph_node</span>, 
+		  <span class="keyword">receiver<Input></span> and 
+		  <span class="keyword">sender<Output></span>. A 
+		  <span class="keyword">write_once_node</span> represents a buffer of a single item
+		  that cannot be over-written. The first put to the node sets the value. The
+		  value may be cleared explicitly, after which a new value may be set. Gets from
+		  the node are non-destructive. 
+		</p>
+ 
+		<p>Rejection of messages by successors is handled using the protocol in
+		  the Message Passing Protocol, see link below. 
+		</p>
+ 
+		<p><span class="keyword">T</span> must be copy-constructible and assignable 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Syntax</h2> 
+		 
+		<pre>template < typename T > class write_once_node;</pre> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Header</h2> 
+		 
+		<pre>#include "tbb/flow_graph.h"</pre> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Members</h2> 
+		 
+		<pre>namespace tbb {
+namespace flow {
+ 
+template< typename T >
+class write_once_node :
+  public graph_node, public receiver<T>,
+  public sender<T> {
+public:
+    write_once_node( graph &g );
+    write_once_node( const write_once_node &src );
+ 
+    // receiver<T>
+    typedef T input_type;
+    typedef sender<input_type> predecessor_type;
+    bool try_put( const input_type &v );
+    bool register_predecessor( predecessor_type &p );
+    bool remove_predecessor( predecessor_type &p );
+ 
+    // sender<T>
+    typedef T output_type;
+    typedef receiver<output_type> successor_type;
+    bool register_successor( successor_type &r );
+    bool remove_successor( successor_type &r );
+    bool try_get( output_type &v );
+    bool try_reserve( output_type &v );
+    bool try_release( );
+    bool try_consume( );
+ 
+    bool is_valid( );
+    void clear( );
+};
+ 
+}
+}</pre> 
+		
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"><span class="tabledesc">The following table provides additional information on the
+			 members of this template class. 
+		  </span><thead align="left"> 
+				<tr> 
+				  <th class="cellrowborder" valign="top" width="33.89830508474576%" id="d87805e152">Member 
+				  </th>
+ 
+				  <th class="cellrowborder" valign="top" width="66.10169491525423%" id="d87805e155">Description 
+				  </th>
+ 
+				</tr>
+</thead>
+ 
+			 <tbody> 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d87805e152 "><span class="keyword">write_once_node( graph &g
+						)</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d87805e155 "> 
+					 <p>Constructs an object of type 
+						<span class="keyword">write_once_node</span> that belongs to the 
+						<span class="keyword">graph g</span>, with an invalid internal buffer
+						item. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d87805e152 "><span class="keyword">write_once_node( const
+						write_once_node &src )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d87805e155 "> 
+					 <p>Constructs an object of type 
+						<span class="keyword">write_once_node</span> with an invalid internal
+						buffer item. The buffered value and list of successors is NOT copied from 
+						<span class="keyword">src</span>. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d87805e152 "><span class="keyword">bool try_put( const input_type
+						&v )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d87805e155 "> 
+					 <p>Stores<span class="keyword"> v</span> in the internal single item
+						buffer if it does not already contain a valid value. If a new value is set, it
+						calls 
+						<span class="keyword">try_put(v)</span> on all successors. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: 
+						<span class="keyword">true</span> 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d87805e152 "><span class="keyword">bool register_predecessor(
+						predecessor_type &p )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d87805e155 "> 
+					 <p>Never rejects puts and therefore does not need to maintain a
+						list of predecessors. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: 
+						<span class="keyword">false</span> 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d87805e152 "><span class="keyword">bool remove_predecessor(
+						predecessor_type &p )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d87805e155 "> 
+					 <p>Never rejects puts and therefore does not need to maintain a
+						list of predecessors. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: 
+						<span class="keyword">false</span> 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d87805e152 "><span class="keyword">bool register_successor(
+						successor_type &r )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d87805e155 "> 
+					 <p>Adds 
+						<span class="keyword">r</span> to the set of successors. If a valid
+						item 
+						<span class="keyword">v</span> is held in the buffer, a task is
+						spawned to call 
+						<span class="keyword">r.try_put(v)</span>. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: 
+						<span class="keyword">true</span> 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d87805e152 "><span class="keyword">bool remove_successor(
+						successor_type &r )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d87805e155 "> 
+					 <p>Removes 
+						<span class="keyword">r</span> from the set of successors. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: 
+						<span class="keyword">true</span> 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d87805e152 "><span class="keyword">bool try_get( output_type &v
+						)</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d87805e155 "> 
+					 <p>If the internal buffer is valid, assigns the value to 
+						<span class="keyword">v</span>. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: 
+						<span class="keyword">true</span> if 
+						<span class="keyword">v</span> is assigned to. 
+						<span class="keyword">false</span> if 
+						<span class="keyword">v</span> is not assigned to. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d87805e152 "><span class="keyword">bool try_reserve( output_type
+						&v )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d87805e155 "> 
+					 <p>Does not support reservations. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: 
+						<span class="keyword">false</span> 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d87805e152 "><span class="keyword">bool try_release( )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d87805e155 "> 
+					 <p>Does not support reservations. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: 
+						<span class="keyword">false</span> 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d87805e152 "><span class="keyword">bool try_consume( )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d87805e155 "> 
+					 <p>Does not support reservations. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: 
+						<span class="keyword">false</span> 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d87805e152 "><span class="keyword">bool is_valid( )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d87805e155 "> 
+					 <p><strong>Returns</strong>: 
+						<span class="keyword">true</span> if the buffer holds a valid value,
+						otherwise returns 
+						<span class="keyword">false</span>. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d87805e152 "><span class="keyword">void clear( )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d87805e155 "> 
+					 <p>Invalidates the value held in the buffer. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+			 </tbody>
+ 
+		  </table>
+</div>
+ 
+	 </div>
+ 
+  </div>
+ 
+  
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../reference/flow_graph.htm">Flow Graph</a></div>
+</div>
+<div class="See Also">
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="message_passing_protocol.htm">Message Passing Protocol 
+		  </a></div></div>
+</div>
+
+</body>
+</html>
diff --git a/doc/help/reference/general_conventions.htm b/doc/help/reference/general_conventions.htm
new file mode 100755
index 0000000..ce199db
--- /dev/null
+++ b/doc/help/reference/general_conventions.htm
@@ -0,0 +1,65 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="General Conventions">
+<meta name="DC.subject" content="General Conventions">
+<meta name="keywords" content="General Conventions">
+<meta name="DC.Relation" scheme="URI" content="../reference/reference.htm">
+<meta name="DC.Relation" scheme="URI" content="../reference/general_conventions/terminology.htm">
+<meta name="DC.Relation" scheme="URI" content="../reference/general_conventions/identifiers.htm">
+<meta name="DC.Relation" scheme="URI" content="../reference/general_conventions/namespaces.htm">
+<meta name="DC.Relation" scheme="URI" content="../reference/general_conventions/thread_safety.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="general_conventions">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../intel_css_styles.css">
+<title>General Conventions</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="general_conventions">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(1);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="general_conventions"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">General Conventions</h1>
+ 
+   
+  <div> 
+	 <div class="section"> 
+		<p>This section describes conventions used in this
+		  document. 
+		</p>
+ 
+	 </div>
+ 
+  </div>
+ 
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../reference/reference.htm">Intel® Threading Building Blocks Reference Manual</a></div>
+</div>
+<div>
+<ul class="ullinks">
+<li class="ulchildlink"><a href="../reference/general_conventions/terminology.htm">Terminology</a><br>
+</li>
+<li class="ulchildlink"><a href="../reference/general_conventions/identifiers.htm">Identifiers</a><br>
+</li>
+<li class="ulchildlink"><a href="../reference/general_conventions/namespaces.htm">Namespaces</a><br>
+</li>
+<li class="ulchildlink"><a href="../reference/general_conventions/thread_safety.htm">Thread Safety</a><br>
+</li>
+</ul>
+</div>
+
+</body>
+</html>
diff --git a/doc/help/reference/general_conventions/identifiers.htm b/doc/help/reference/general_conventions/identifiers.htm
new file mode 100755
index 0000000..91a8d94
--- /dev/null
+++ b/doc/help/reference/general_conventions/identifiers.htm
@@ -0,0 +1,56 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="Identifiers">
+<meta name="DC.subject" content="Identifiers">
+<meta name="keywords" content="Identifiers">
+<meta name="DC.Relation" scheme="URI" content="../../reference/general_conventions.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="identifiers">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../intel_css_styles.css">
+<title>Identifiers</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="identifiers">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(2);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="identifiers"><!-- --></a>
+
+ 
+	<h1 class="topictitle1">Identifiers</h1>
+ 
+	 
+  <div> 
+  	<div class="section">
+  		<p>This section describes the identifier conventions used by Intel® Threading Building Blocks.</p>
+</div>
+
+  	<div class="section"><h2 class="sectiontitle">Case</h2>
+  		<p>The identifier convention in the library follows the style in the ISO C++ standard library. Identifiers are written in underscore_style, and concepts in PascalCase.</p>
+</div>
+
+  	<div class="section"><h2 class="sectiontitle">Reserved Identifier Prefixes</h2>
+  		<p>The library reserves the prefix <samp class="codeph">__TBB</samp> for internal identifiers and macros that should never be directly referenced by your code. </p>
+</div>
+
+  	
+  </div>
+ 
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../reference/general_conventions.htm">General Conventions</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/reference/general_conventions/namespaces.htm b/doc/help/reference/general_conventions/namespaces.htm
new file mode 100755
index 0000000..527dbd6
--- /dev/null
+++ b/doc/help/reference/general_conventions/namespaces.htm
@@ -0,0 +1,287 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="Namespaces">
+<meta name="DC.subject" content="Namespaces, tbb, tbb::interface, tbb::interfacex, tbb::internal, tbb::deprecated, tbb::strict_ppl, TBB_DEPRECATED">
+<meta name="keywords" content="Namespaces, tbb, tbb::interface, tbb::interfacex, tbb::internal, tbb::deprecated, tbb::strict_ppl, TBB_DEPRECATED">
+<meta name="DC.Relation" scheme="URI" content="../../reference/general_conventions.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="namespaces">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../intel_css_styles.css">
+<title>Namespaces</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="namespaces">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(2);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="namespaces"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Namespaces</h1>
+ 
+   
+  <div> 
+	 <p>This section describes the library's namespace conventions. 
+	 </p>
+ 
+	 <div class="section"><h2 class="sectiontitle"><samp class="codeph">tbb</samp> Namespace</h2> 
+		 
+		<p>Namespace 
+		  <samp class="codeph">tbb</samp> contains public identifiers defined by the library
+		  that you can reference in your program. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle"><samp class="codeph">tbb::flow</samp>
+		  Namespace</h2> 
+		 
+		<p>Namespace 
+		  <samp class="codeph">tbb::flow</samp> contains public identifiers defined by the
+		  library that you can reference in your program. 
+		</p>
+ 
+		<p> related to the flow graph Community Preview Feature. See 
+		  <a href="../flow_graph.htm#flow_graph">Flow Graph</a> for more information . 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle"><samp class="codeph">tbb::interface<em>x</em></samp>
+		  Namespace</h2> 
+		 
+		<p>Namespaces of the form 
+		  <samp class="codeph">tbb::interface<em>x</em></samp> define public identifiers that
+		  the library injects into namespace 
+		  <samp class="codeph">tbb</samp>. The numeral 
+		  <samp class="codeph"><em>x</em></samp> corresponds to an internal version number
+		  that serves to prevent accidental linkage of incompatible definitions. Your
+		  code should never directly reference namespaces prefixed with 
+		  <samp class="codeph">tbb::interface<em>x</em></samp>. Instead, reference names via
+		  namespace 
+		  <samp class="codeph">tbb</samp>. 
+		</p>
+ 
+		<p>For example the header 
+		  <samp class="codeph">tbb/concurrent_hash_map.h</samp> defines the template 
+		  <samp class="codeph">concurrent_hashmap<Key,T></samp> as 
+		  <samp class="codeph">tbb::version4::concurrent_hashmap<Key,T></samp> and
+		  employs a 
+		  <samp class="codeph">using</samp> directive to inject it into namespace 
+		  <samp class="codeph">tbb</samp>. Your source code should reference it as 
+		  <samp class="codeph">tbb::concurrent_hashmap<Key,T></samp>. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle"><samp class="codeph">tbb::internal</samp>
+		  Namespace</h2> 
+		 
+		<p>Namespace 
+		  <samp class="codeph">tbb::internal</samp> serves a role similar to 
+		  <samp class="codeph">tbb::interface<em>x</em></samp>. It is retained for backwards
+		  compatibility with older versions of the library. Your code should never
+		  directly reference namespace 
+		  <samp class="codeph">tbb::internal</samp>. Indirect reference via a public 
+		  <samp class="codeph">typedef</samp> provided by the header files is permitted. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle"><samp class="codeph">tbb::deprecated</samp>
+		  Namespace</h2> 
+		 
+		<p>The library uses the namespace 
+		  <samp class="codeph">tbb::deprecated</samp> for deprecated identifiers that have
+		  different default meanings in namespace 
+		  <samp class="codeph">tbb</samp>. Compiling with 
+		  <samp class="codeph">TBB_DEPRECATED=1</samp> causes such identifiers to replace
+		  their counterpart in namespace tbb. 
+		</p>
+ 
+		<p>For example, 
+		  <samp class="codeph">tbb::concurrent_queue</samp> underwent changes in
+          Intel® Threading Building Blocks (Intel® TBB) 2.2
+		  that split its functionality into 
+		  <samp class="codeph">tbb::concurrent_queue</samp> and 
+		  <samp class="codeph">tbb::concurrent_bounded_queue</samp> and changed the name of
+		  some methods. For sake of legacy code, the old Intel® TBB 2.1
+		  functionality is retained in 
+		  <samp class="codeph">tbb::deprecated::concurrent_queue</samp>, which is injected
+		  into namespace tbb when compiled with 
+		  <samp class="codeph">TBB_DEPRECATED=1</samp>. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle"><samp class="codeph">tbb::strict_ppl</samp>
+		  Namespace</h2> 
+		 
+		<p>The library uses the namespace 
+		  <samp class="codeph">tbb::strict_ppl</samp> for identifiers that are put in
+		  namespace 
+		  <samp class="codeph">Concurrency</samp> when<samp class="codeph"> tbb/compat/ppl.h</samp> is
+		  included. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle"><samp class="codeph">std</samp> Namespace</h2> 
+		 
+		<p>The library implements some C++11 features in
+		  namespace 
+		  <samp class="codeph">std</samp>. The library version can be used by including the
+		  corresponding header in the following table.
+		</p>
+ 
+		
+<div class="tablenoborder"><a name="tbl3"><!-- --></a><table cellpadding="4" summary="" id="tbl3" width="100%" frame="hsides" border="1" rules="all"><caption><span class="tablecap">C++11 Features Optonally Defined
+		  by Intel® TBB.</span></caption> 
+		   
+		   
+		   
+		  <thead align="left"> 
+			 <tr> 
+				<th class="cellrowborder" valign="top" width="NaN%" id="d89183e256"> 
+				  <p><strong>Header</strong> 
+				  </p>
+ 
+				</th>
+ 
+				<th class="cellrowborder" valign="top" width="NaN%" id="d89183e264"> 
+				  <p><strong>Identifiers Added to 
+						<samp class="codeph">std::</samp></strong> 
+				  </p>
+ 
+				</th>
+ 
+				<th class="row-nocellborder" valign="top" width="NaN%" id="d89183e274"> 
+				  <p><strong>Section</strong> 
+				  </p>
+ 
+				</th>
+ 
+			 </tr>
+ 
+		  </thead>
+
+		  <tbody> 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="NaN%" headers="d89183e256 "> 
+				  <p>tbb/compat/condition_variable 
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="NaN%" headers="d89183e264 "> 
+				  <p><samp class="codeph">defer_lock_t</samp> 
+				  </p>
+ 
+				  <p><samp class="codeph">try_to_lock_t</samp> 
+				  </p>
+ 
+				  <p><samp class="codeph">adopt_lock_t</samp> 
+				  </p>
+ 
+				  <p><samp class="codeph">defer_lock</samp> 
+				  </p>
+ 
+				  <p><samp class="codeph">try_to_lock</samp> 
+				  </p>
+ 
+				  <p><samp class="codeph">adopt_lock</samp> 
+				  </p>
+ 
+				  <p><samp class="codeph">lock_guard</samp> 
+				  </p>
+ 
+				  <p><samp class="codeph">unique_lock</samp> 
+				  </p>
+ 
+				  <p><samp class="codeph">swap</samp> 
+				  </p>
+ 
+				  <p><samp class="codeph">condition_variable</samp> 
+				  </p>
+ 
+				  <p><samp class="codeph">cv_status</samp> 
+				  </p>
+ 
+				  <p><samp class="codeph">timeout</samp> 
+				  </p>
+ 
+				  <p><samp class="codeph">no_timeout</samp> 
+				  </p>
+ 
+				</td>
+ 
+				<td class="row-nocellborder" valign="top" width="NaN%" headers="d89183e274 "> 
+				  <p><a href="../synchronization/c_11_synchronization.htm">C++11
+						Synchronization</a> 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="NaN%" headers="d89183e256 "> 
+				  <p>tbb/compat/thread 
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="NaN%" headers="d89183e264 "> 
+				  <p><samp class="codeph">thread</samp> 
+				  </p>
+ 
+				  <p><samp class="codeph">this_thread</samp> 
+				  </p>
+ 
+				</td>
+ 
+				<td class="row-nocellborder" valign="top" width="NaN%" headers="d89183e274 "> 
+				  <p> 
+					 <a href="../threads/thread_cls.htm"><samp class="codeph">thread</samp>
+						Class</a> 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+		  </tbody>
+ 
+		</table>
+</div>
+ 
+		<p>To prevent accidental linkage with other
+		  implementations of these C++ library features, the library defines the
+		  identifiers in other namespaces and injects them into namespace 
+		  <samp class="codeph">std::</samp>.  This way the “mangled
+		  name” seen by the linker will differ from the “mangled
+		  name” generated by other implementations. 
+		</p>
+ 
+	 </div>
+ 
+  </div>
+ 
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../reference/general_conventions.htm">General Conventions</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/reference/general_conventions/terminology.htm b/doc/help/reference/general_conventions/terminology.htm
new file mode 100755
index 0000000..e4d482b
--- /dev/null
+++ b/doc/help/reference/general_conventions/terminology.htm
@@ -0,0 +1,170 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="Terminology">
+<meta name="DC.subject" content="Terminology">
+<meta name="keywords" content="Terminology">
+<meta name="DC.Relation" scheme="URI" content="../../reference/general_conventions.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="terminology">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../intel_css_styles.css">
+<title>Terminology</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="terminology">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(2);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="terminology"><!-- --></a>
+
+ 
+<h1 class="topictitle1">Terminology</h1>
+ 
+	 	
+  <div> 
+  	<div class="section"><p>This section describes terminology specific to Intel® Threading Building Blocks (Intel® TBB).</p>
+</div>
+
+  	<div class="section"><h2 class="sectiontitle">Concept</h2>
+  		<p>A <em>concept</em> is a set of requirements on a type. The requirements may be syntactic or semantic. For example, the concept of “sortable” could be defined as a set of requirements that enable an array to be sorted. A type <samp class="codeph">T</samp> would be sortable if: </p>
+
+  		<ul type="disc">
+  			<li><p><samp class="codeph">x < y</samp> returns a boolean value, and represents a total order on items of type <samp class="codeph">T</samp>.</p>
+</li>
+
+  			<li><p><samp class="codeph">swap(x,y)</samp> swaps items <samp class="codeph">x</samp> and <samp class="codeph">y </samp></p>
+</li>
+
+  		</ul>
+
+  		<p>You can write a sorting template function in C++ that sorts an array of any type that is sortable.</p>
+
+  		<p>Two approaches for defining concepts are <em>valid expressions</em> and <em>pseudo-signatures</em>. The ISO C++ standard follows the valid <em>expressions</em> approach, which shows what the usage pattern looks like for a concept. It has the drawback of relegating important details to notational conventions. This document uses pseudo-signatures, because they are concise, and can be cut-and-pasted for an initial implementation. </p>
+
+  		<p>For example, the table below shows pseudo-signatures for a sortable type <samp class="codeph">T</samp>:</p>
+
+  		
+<div class="tablenoborder"><a name="tbl1"><!-- --></a><table cellpadding="4" summary="" id="tbl1" width="100%" frame="hsides" border="1" rules="all"><caption><span class="tablecap">Pseudo-Signatures for Example Concept
+					“sortable”</span></caption>
+  				
+  				
+  				<thead align="left">
+                <tr>
+  					<th class="cellrowborder" valign="top" width="NaN%" id="d90079e104"><p><strong>Pseudo-Signature</strong></p>
+</th>
+
+  					<th class="row-nocellborder" valign="top" width="NaN%" id="d90079e109"><p><strong>Semantics</strong></p>
+</th>
+
+  				</tr>
+
+  				</thead>
+
+  				<tbody>
+                <tr>
+  					<td class="cellrowborder" valign="top" width="NaN%" headers="d90079e104 "><p>bool operator<(const T& x, const T& y)</p>
+</td>
+
+  					<td class="row-nocellborder" valign="top" width="NaN%" headers="d90079e109 "><p>Compare x and y.</p>
+</td>
+
+  				</tr>
+<tr>
+  					<td class="cellrowborder" valign="top" width="NaN%" headers="d90079e104 "><p>void swap(T& x, T& y)</p>
+</td>
+
+  					<td class="row-nocellborder" valign="top" width="NaN%" headers="d90079e109 "><p>Swap x and y.</p>
+</td>
+
+  				</tr>
+</tbody>
+</table>
+</div>
+
+  		<p>A real signature may differ from the pseudo-signature that it implements in ways where implicit conversions would deal with the difference. For an example type <samp class="codeph">U</samp>, the real signature that implements operator<samp class="codeph"><</samp> in the table above can be expressed as <samp class="codeph">int operator<( U x, U y )</samp>, because C++ permits implicit conversion from <samp class="codeph">int</samp> to <samp class="codeph">bool</samp>, and imp [...]
+
+  	</div>
+
+
+  	<div class="section"><h2 class="sectiontitle">Model</h2>  	
+  			<p>A type <em>models</em> a concept if it meets the requirements of the concept. For example, type <samp class="codeph">int</samp> models the sortable concept in the above table if there exists a function <samp class="codeph">swap(x,y)</samp> that swaps two <samp class="codeph">int</samp> values <samp class="codeph">x</samp> and <samp class="codeph">y</samp>. The other requirement for sortable, specifically <samp class="codeph">x<y</samp>, is already met by the built-in <samp cla [...]
+</div>
+
+  		
+			<div class="section"><h2 class="sectiontitle">CopyConstructible</h2>
+  				<p>The library sometimes requires that a type model the <em>CopyConstructible</em> concept, which is defined by the ISO C++ standard. The table below shows the requirements for <em>CopyConstructible</em> in pseudo-signature form.</p>
+
+  				
+<div class="tablenoborder"><a name="tbl2"><!-- --></a><table cellpadding="4" summary="" id="tbl2" width="100%" frame="hsides" border="1" rules="all"><caption><span class="tablecap">CopyConstructible Requirements</span></caption>
+  						
+  						
+  						<thead align="left">
+                        <tr>
+  							<th class="cellrowborder" valign="top" width="NaN%" id="d90079e232"><p><strong>Pseudo-Signature</strong></p>
+</th>
+
+  							<th class="row-nocellborder" valign="top" width="NaN%" id="d90079e237"><p><strong>Semantics</strong></p>
+</th>
+
+  						</tr>
+
+  				        </thead>
+
+          				<tbody>
+                        <tr>
+  							<td class="cellrowborder" valign="top" width="NaN%" headers="d90079e232 "><p>T( const T& )</p>
+</td>
+
+  							<td class="row-nocellborder" valign="top" width="NaN%" headers="d90079e237 "><p>Construct copy of const T.</p>
+</td>
+
+  						</tr>
+<tr>
+  							<td class="cellrowborder" valign="top" width="NaN%" headers="d90079e232 "><p>~T()</p>
+</td>
+
+  							<td class="row-nocellborder" valign="top" width="NaN%" headers="d90079e237 "><p>Destructor.</p>
+</td>
+
+  						</tr>
+<tr>
+  							<td class="cellrowborder" valign="top" width="NaN%" headers="d90079e232 "><p>T* operator&()</p>
+</td>
+
+  							<td class="row-nocellborder" valign="top" width="NaN%" headers="d90079e237 "><p>Take address.</p>
+</td>
+
+  						</tr>
+<tr>
+  							<td class="cellrowborder" valign="top" width="NaN%" headers="d90079e232 "><p>const T* operator&() const</p>
+</td>
+
+  							<td class="row-nocellborder" valign="top" width="NaN%" headers="d90079e237 "><p>Take address of const T.</p>
+</td>
+
+  						</tr>
+</tbody>
+</table>
+</div>
+
+  			</div>
+
+  </div>
+ 
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../reference/general_conventions.htm">General Conventions</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/reference/general_conventions/thread_safety.htm b/doc/help/reference/general_conventions/thread_safety.htm
new file mode 100755
index 0000000..88db43a
--- /dev/null
+++ b/doc/help/reference/general_conventions/thread_safety.htm
@@ -0,0 +1,57 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="Thread Safety">
+<meta name="DC.subject" content="Thread Safety">
+<meta name="keywords" content="Thread Safety">
+<meta name="DC.Relation" scheme="URI" content="../../reference/general_conventions.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="thread_safety">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../intel_css_styles.css">
+<title>Thread Safety</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="thread_safety">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(2);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="thread_safety"><!-- --></a>
+
+ 
+	<h1 class="topictitle1">Thread Safety</h1>
+ 
+	 
+  <div> 
+  	<div class="section"><p>Unless otherwise stated, the thread safety rules for the library are as follows: </p>
+
+  		<ul type="disc">
+  			<li><p>Two threads can invoke a method or function concurrently on different objects, but not the same object. </p>
+</li>
+
+  			<li><p>It is unsafe for two threads to invoke concurrently methods or functions on the same object. </p>
+</li>
+
+  		</ul>
+
+  		<p>Descriptions of the classes note departures from this convention. For example, the concurrent containers are more liberal. By their nature, they do permit some concurrent operations on the same container object.</p>
+</div>
+
+  </div>
+ 
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../reference/general_conventions.htm">General Conventions</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/reference/introducing.htm b/doc/help/reference/introducing.htm
new file mode 100755
index 0000000..310edff
--- /dev/null
+++ b/doc/help/reference/introducing.htm
@@ -0,0 +1,124 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="Introducing Intel® Threading Building Blocks">
+<meta name="DC.subject" content="Intel® Thread Building Blocks, Overview">
+<meta name="keywords" content="Intel® Thread Building Blocks, Overview">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="introducing">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../intel_css_styles.css">
+<title>Introducing Intel® Threading Building Blocks</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="introducing">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(1);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="introducing"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Introducing Intel® Threading Building Blocks</h1>
+ 
+   
+  <div> 
+	 <div class="section"> 
+		<p>Intel® Threading Building Blocks (Intel® TBB) is a
+		  library that supports scalable parallel programming using standard ISO C++
+		  code. It does not require special languages or compilers. It is designed to
+		  promote scalable data parallel programming. Additionally, it fully supports
+		  nested parallelism, so you can build larger parallel components from smaller
+		  parallel components. To use the library, you specify tasks, not threads, and
+		  let the library map tasks onto threads in an efficient manner. 
+		</p>
+ 
+		<p>Many of the library interfaces employ generic
+		  programming, in which interfaces are defined by requirements on types and not
+		  specific types. The C++ Standard Template Library (STL) is an example of
+		  generic programming. Generic programming enables Intel® Threading Building
+		  Blocks to be flexible yet efficient. The generic interfaces enable you to
+		  customize components to your specific needs. 
+		</p>
+ 
+		<p>The net result is that Intel® Threading Building
+		  Blocks enables you to specify parallelism far more conveniently than using raw
+		  threads, and at the same time can improve performance. 
+		</p>
+ 
+		<p>This document is a reference manual. It is
+		  organized for looking up details about syntax and semantics. You should first
+		  read the 
+		  <em>Intel® Threading Building Blocks Getting Started Guide</em> and the 
+		  <em>Intel® Threading Building Blocks Tutorial</em> to learn how to use
+		  the library effectively. The 
+		  <em>Intel® Threading Building Blocks Design Patterns</em> document is
+		  another useful resource. 
+		</p>
+ 
+		<div class="Note"><h3 class="NoteTipHead">
+					Tip</h3> 
+		  <p>Even experienced parallel programmers should read
+			 the 
+			 <em>Intel® Threading Building Blocks Tutorial</em> before using this
+			 reference guide because Intel® Threading Building Blocks uses a surprising
+			 recursive model of parallelism and generic algorithms. 
+		  </p>
+ 
+		</div> 
+	 </div>
+ 
+	 <p> 
+	 
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"> 
+		   
+		  <thead align="left">
+			 <tr>
+				<th class="cellrowborder" align="left" valign="top" width="100%" id="d90964e74">
+				  <p>Optimization Notice
+				  </p>
+
+				</th>
+
+			 </tr>
+</thead>
+ 
+		  <tbody> 
+			 <tr> 
+				<td class="bgcolor(#ccecff)" bgcolor="#ccecff" valign="top" width="100%" headers="d90964e74 ">
+				  Intel's compilers may or may not optimize to the same degree for non-Intel
+				  microprocessors for optimizations that are not unique to Intel microprocessors.
+				  These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other
+				  optimizations. Intel does not guarantee the availability, functionality, or
+				  effectiveness of any optimization on microprocessors not manufactured by Intel.
+				  Microprocessor-dependent optimizations in this product are intended for use
+				  with Intel microprocessors. Certain optimizations not specific to Intel
+				  microarchitecture are reserved for Intel microprocessors. Please refer to the
+				  applicable product User and Reference Guides for more information regarding the
+				  specific instruction sets covered by this notice. 
+				  <p>Notice revision #20110804 
+				  </p>
+
+				</td>
+ 
+			 </tr>
+ 
+		  </tbody>
+ 
+		</table>
+</div>
+ 
+	 </p>
+ 
+  </div>
+ 
+
+</body>
+</html>
diff --git a/doc/help/reference/memory_allocation.htm b/doc/help/reference/memory_allocation.htm
new file mode 100755
index 0000000..b1b6b07
--- /dev/null
+++ b/doc/help/reference/memory_allocation.htm
@@ -0,0 +1,63 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="Memory Allocation">
+<meta name="DC.subject" content="Memory Allocation">
+<meta name="keywords" content="Memory Allocation">
+<meta name="DC.Relation" scheme="URI" content="../reference/reference.htm">
+<meta name="DC.Relation" scheme="URI" content="../reference/memory_allocation/allocator_concept.htm">
+<meta name="DC.Relation" scheme="URI" content="../reference/memory_allocation/tbb_allocator_cls.htm">
+<meta name="DC.Relation" scheme="URI" content="../reference/memory_allocation/scalable_allocator_cls.htm">
+<meta name="DC.Relation" scheme="URI" content="../reference/memory_allocation/cache_aligned_allocator_cls.htm">
+<meta name="DC.Relation" scheme="URI" content="../reference/memory_allocation/zero_allocator.htm">
+<meta name="DC.Relation" scheme="URI" content="../reference/memory_allocation/aligned_space_cls.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="memory_allocation">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../intel_css_styles.css">
+<title>Memory Allocation</title>
+</head>
+<body id="memory_allocation">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(1);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="memory_allocation"><!-- --></a>
+
+
+    <h1 class="topictitle1">Memory Allocation</h1>
+
+    
+<div>
+        <div class="section">
+            <p>This section describes classes related to memory allocation.</p>
+</div>
+
+    </div>
+
+    
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../reference/reference.htm">Intel® Threading Building Blocks Reference Manual</a></div>
+</div>
+<div>
+<ul class="ullinks">
+<li class="ulchildlink"><a href="../reference/memory_allocation/allocator_concept.htm">Allocator Concept</a><br>
+</li>
+<li class="ulchildlink"><a href="../reference/memory_allocation/tbb_allocator_cls.htm">tbb_allocator Template Class</a><br>
+</li>
+<li class="ulchildlink"><a href="../reference/memory_allocation/scalable_allocator_cls.htm">scalable_allocator Template Class</a><br>
+</li>
+<li class="ulchildlink"><a href="../reference/memory_allocation/cache_aligned_allocator_cls.htm">cache_aligned_allocator Template Class</a><br>
+</li>
+<li class="ulchildlink"><a href="../reference/memory_allocation/zero_allocator.htm">zero_allocator</a><br>
+</li>
+<li class="ulchildlink"><a href="../reference/memory_allocation/aligned_space_cls.htm">aligned_space Template Class</a><br>
+</li>
+</ul>
+</div>
+
+</body>
+</html>
diff --git a/doc/help/reference/memory_allocation/aligned_space_cls.htm b/doc/help/reference/memory_allocation/aligned_space_cls.htm
new file mode 100755
index 0000000..561d0dc
--- /dev/null
+++ b/doc/help/reference/memory_allocation/aligned_space_cls.htm
@@ -0,0 +1,155 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="aligned_space Template Class">
+<meta name="DC.subject" content="allocator, aligned space, template class">
+<meta name="keywords" content="allocator, aligned space, template class">
+<meta name="DC.Relation" scheme="URI" content="../../reference/memory_allocation.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="aligned_space_cls">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../intel_css_styles.css">
+<title>aligned_space Template Class</title>
+</head>
+<body id="aligned_space_cls">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(2);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="aligned_space_cls"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">aligned_space Template Class</h1>
+ 
+  
+  <div>
+	 <div class="section"><h2 class="sectiontitle">Summary</h2>
+		 
+		<p>Uninitialized memory space for an array of a given
+		  type.
+		</p>
+ 
+	 </div>
+
+	 <div class="section"><h2 class="sectiontitle">Syntax</h2>
+		 
+		<pre>template<typename T, size_t N> class aligned_space;</pre> 
+	 </div>
+
+	 <div class="section"><h2 class="sectiontitle">Header</h2>
+		 
+		<pre>#include "tbb/aligned_space.h"</pre> 
+	 </div>
+
+	 <div class="section"><h2 class="sectiontitle">Description</h2>
+		 
+		<p>An 
+		  <samp class="codeph">aligned_space</samp> occupies enough memory and is
+		  sufficiently aligned to hold an array 
+		  <samp class="codeph">T[<em>N</em>]</samp>. The client is responsible for
+		  initializing or destroying the objects. An 
+		  <samp class="codeph">aligned_space</samp> is typically used as a local variable or
+		  field in scenarios where a block of fixed-length uninitialized memory is
+		  needed.
+		</p>
+ 
+	 </div>
+
+	 <div class="section"><h2 class="sectiontitle">Members</h2>
+		
+		<pre>        namespace tbb {
+        template<typename T, size_t N>
+        class aligned_space {
+        public:
+            aligned_space();
+            ~aligned_space();
+            T* begin();
+            T* end();
+        };
+    } </pre>
+		
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"><span class="tabledesc">The following table provides additional information on the
+			 members of this template class. 
+		  </span><thead align="left"> 
+				<tr> 
+				  <th class="cellrowborder" valign="top" width="33.89830508474576%" id="d91222e89">Member 
+				  </th>
+ 
+				  <th class="cellrowborder" valign="top" width="66.10169491525423%" id="d91222e92">Description 
+				  </th>
+ 
+				</tr>
+</thead>
+ 
+			 <tbody> 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d91222e89 "><span class="keyword">aligned_space()</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d91222e92 ">
+					 <p>No effect. Does not invoke constructors.
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d91222e89 "><span class="keyword">~aligned_space()</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d91222e92 ">
+					 <p>No effect. Does not invoke constructors.
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d91222e89 "><span class="keyword">T* begin()</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d91222e92 ">
+					 <p><strong>Returns</strong>: Pointer to beginning of
+						storage.
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d91222e89 "><span class="keyword"> T* end()</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d91222e92 ">
+					 <p><strong>Returns</strong>: 
+						<samp class="codeph">begin()+N</samp>
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				
+			 </tbody>
+ 
+		  </table>
+</div>
+
+	 </div>
+ 
+  </div>
+ 
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../reference/memory_allocation.htm">Memory Allocation</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/reference/memory_allocation/allocator_concept.htm b/doc/help/reference/memory_allocation/allocator_concept.htm
new file mode 100755
index 0000000..1587010
--- /dev/null
+++ b/doc/help/reference/memory_allocation/allocator_concept.htm
@@ -0,0 +1,232 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="Allocator Concept">
+<meta name="DC.subject" content="Allocator Concept">
+<meta name="keywords" content="Allocator Concept">
+<meta name="DC.Relation" scheme="URI" content="../../reference/memory_allocation.htm">
+<meta name="DC.Relation" scheme="URI" content="tbb_allocator_cls.htm">
+<meta name="DC.Relation" scheme="URI" content="scalable_allocator_cls.htm">
+<meta name="DC.Relation" scheme="URI" content="cache_aligned_allocator_cls.htm">
+<meta name="DC.Relation" scheme="URI" content="zero_allocator.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="allocator_concept">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../intel_css_styles.css">
+<title>Allocator Concept</title>
+</head>
+<body id="allocator_concept">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(2);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="allocator_concept"><!-- --></a>
+
+
+    <h1 class="topictitle1">Allocator Concept</h1>
+
+    
+<div>
+        <div class="section">
+            <p>The allocator concept for allocators in Intel® Threading Building Blocks is similar to the "Allocator requirements" in Table 32 of the ISO C++ Standard, but with further guarantees required by the ISO C++ Standard for use with ISO C++ containers. The table below summarizes the allocator concept. Here, A and B represent instances of the allocator class.</p>
+
+            
+<div class="tablenoborder"><a name="tbl22"><!-- --></a><table cellpadding="4" summary="" id="tbl22" width="100%" frame="hsides" border="1" rules="all"><caption><span class="tablecap">Allocator Concept </span></caption>
+                    
+                    
+                    <thead align="left"><tr>
+                        <th class="cellrowborder" valign="top" width="NaN%" id="d91657e35"><p>Pseudo-Signature</p>
+</th>
+
+                        <th class="row-nocellborder" valign="top" width="NaN%" id="d91657e39"><p>Semantics</p>
+</th>
+
+                    </tr>
+
+                    </thead>
+
+                    <tbody>
+                    <tr>
+                        <td class="cellrowborder" valign="top" width="NaN%" headers="d91657e35 "><samp class="codeph">typedef T* A::pointer</samp></td>
+
+                        <td class="row-nocellborder" valign="top" width="NaN%" headers="d91657e39 "><p>Pointer to <em>T</em>.</p>
+</td>
+
+                    </tr>
+<tr>
+                        <td class="cellrowborder" valign="top" width="NaN%" headers="d91657e35 "><samp class="codeph">typedef const T* A::const_pointer</samp></td>
+
+                        <td class="row-nocellborder" valign="top" width="NaN%" headers="d91657e39 "><p>Pointer to const <em>T</em>.</p>
+</td>
+
+                    </tr>
+<tr>
+                        <td class="cellrowborder" valign="top" width="NaN%" headers="d91657e35 "><samp class="codeph">typedef T& A::reference</samp></td>
+
+                        <td class="row-nocellborder" valign="top" width="NaN%" headers="d91657e39 "><p>Reference to <em>T</em>.</p>
+</td>
+
+                    </tr>
+<tr>
+                        <td class="cellrowborder" valign="top" width="NaN%" headers="d91657e35 "><samp class="codeph">typedef const T& A::const_reference</samp></td>
+
+                        <td class="row-nocellborder" valign="top" width="NaN%" headers="d91657e39 "><p>Reference to const <em>T</em>.</p>
+</td>
+
+                    </tr>
+<tr>
+                        <td class="cellrowborder" valign="top" width="NaN%" headers="d91657e35 "><samp class="codeph">typedef T A::value_type</samp></td>
+
+                        <td class="row-nocellborder" valign="top" width="NaN%" headers="d91657e39 "><p>Type of value to be allocated.</p>
+</td>
+
+                    </tr>
+<tr>
+                        <td class="cellrowborder" valign="top" width="NaN%" headers="d91657e35 "><samp class="codeph">typedef size_t A::size_type</samp></td>
+
+                        <td class="row-nocellborder" valign="top" width="NaN%" headers="d91657e39 "><p>Type for representing number of values.</p>
+</td>
+
+                    </tr>
+<tr>
+                        <td class="cellrowborder" valign="top" width="NaN%" headers="d91657e35 "><samp class="codeph">typedef ptrdiff_t A::difference_type</samp></td>
+
+                        <td class="row-nocellborder" valign="top" width="NaN%" headers="d91657e39 "><p>Type for representing pointer difference.</p>
+</td>
+
+                    </tr>
+<tr>
+                        <td class="cellrowborder" valign="top" width="NaN%" headers="d91657e35 "><samp class="codeph">template<typename U> struct rebind { typedef A<U> A::other;};</samp></td>
+
+                        <td class="row-nocellborder" valign="top" width="NaN%" headers="d91657e39 "><p>Rebind to a different type U</p>
+</td>
+
+                    </tr>
+<tr>
+                        <td class="cellrowborder" valign="top" width="NaN%" headers="d91657e35 "><samp class="codeph">A() throw()</samp></td>
+
+                        <td class="row-nocellborder" valign="top" width="NaN%" headers="d91657e39 "><p>Default constructor.</p>
+</td>
+
+                    </tr>
+<tr>
+                        <td class="cellrowborder" valign="top" width="NaN%" headers="d91657e35 "><samp class="codeph">A( const A& ) throw()</samp></td>
+
+                        <td class="row-nocellborder" valign="top" width="NaN%" headers="d91657e39 "><p>Copy constructor.</p>
+</td>
+
+                    </tr>
+<tr>
+                        <td class="cellrowborder" valign="top" width="NaN%" headers="d91657e35 "><samp class="codeph">template<typename U> A( const A& )</samp></td>
+
+                        <td class="row-nocellborder" valign="top" width="NaN%" headers="d91657e39 "><p>Rebinding constructor.</p>
+</td>
+
+                    </tr>
+<tr>
+                        <td class="cellrowborder" valign="top" width="NaN%" headers="d91657e35 "><samp class="codeph">~A() throw()</samp></td>
+
+                        <td class="row-nocellborder" valign="top" width="NaN%" headers="d91657e39 "><p>Destructor.</p>
+</td>
+
+                    </tr>
+<tr>
+                        <td class="cellrowborder" valign="top" width="NaN%" headers="d91657e35 "><samp class="codeph">T* A::address( T& x ) const</samp></td>
+
+                        <td class="row-nocellborder" valign="top" width="NaN%" headers="d91657e39 "><p>Take address.</p>
+</td>
+
+                    </tr>
+<tr>
+                        <td class="cellrowborder" valign="top" width="NaN%" headers="d91657e35 "><samp class="codeph">const T* A::const_address( const T& x ) const</samp></td>
+
+                        <td class="row-nocellborder" valign="top" width="NaN%" headers="d91657e39 "><p>Take const address.</p>
+</td>
+
+                    </tr>
+<tr>
+                        <td class="cellrowborder" valign="top" width="NaN%" headers="d91657e35 "><samp class="codeph">T* A::allocate( size_type n, const void* hint=0 )</samp></td>
+
+                        <td class="row-nocellborder" valign="top" width="NaN%" headers="d91657e39 "><p>Allocate space for <samp class="codeph">n</samp> values.</p>
+</td>
+
+                    </tr>
+<tr>
+                        <td class="cellrowborder" valign="top" width="NaN%" headers="d91657e35 "><samp class="codeph">void A::deallocate( T* p, size_t  n )</samp></td>
+
+                        <td class="row-nocellborder" valign="top" width="NaN%" headers="d91657e39 "><p>Deallocate <samp class="codeph">n</samp> values.</p>
+</td>
+
+                    </tr>
+<tr>
+                        <td class="cellrowborder" valign="top" width="NaN%" headers="d91657e35 "><samp class="codeph">size_type A::max_size() const throw()</samp></td>
+
+                        <td class="row-nocellborder" valign="top" width="NaN%" headers="d91657e39 "><p>Maximum plausible argument to method allocate.</p>
+</td>
+
+                    </tr>
+<tr>
+                        <td class="cellrowborder" valign="top" width="NaN%" headers="d91657e35 "><samp class="codeph">void A::construct( T* p, const T& value )</samp></td>
+
+                        <td class="row-nocellborder" valign="top" width="NaN%" headers="d91657e39 "><p><samp class="codeph">new(p) T(value)</samp></p>
+</td>
+
+                    </tr>
+<tr>
+                            <td class="cellrowborder" valign="top" width="NaN%" headers="d91657e35 ">
+                                <samp class="codeph">void A::destroy( T* p )</samp>
+                            </td>
+
+                            
+                                <td class="row-nocellborder" valign="top" width="NaN%" headers="d91657e39 ">
+                                    <samp class="codeph">  p->T::~T()
+                                    </samp> </td>
+
+                           
+                        </tr>
+<tr>
+                            <td class="cellrowborder" valign="top" width="NaN%" headers="d91657e35 "><samp class="codeph">bool operator==( const A&, const B& )</samp></td>
+
+                        <td class="row-nocellborder" valign="top" width="NaN%" headers="d91657e39 "><p>Return true.</p>
+</td>
+
+                    </tr>
+<tr>
+                        <td class="cellrowborder" valign="top" width="NaN%" headers="d91657e35 "><samp class="codeph">bool operator!=( const A&, const B& )</samp></td>
+
+                        <td class="row-nocellborder" valign="top" width="NaN%" headers="d91657e39 "><p>Return false.</p>
+</td>
+
+                    </tr>
+</tbody>
+</table>
+</div>
+
+        </div>
+
+        <div class="section"><p><strong>Model Types</strong></p>
+
+            <p>Template classes:<samp class="codeph"> tbb_allocator</samp>,<samp class="codeph">
+                    scalable_allocator</samp>, and <samp class="codeph">cached_aligned_allocator</samp>, and
+                    <samp class="codeph">zero_allocator</samp> model the Allocator concept.</p>
+</div>
+
+    </div>
+
+    
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../reference/memory_allocation.htm">Memory Allocation</a></div>
+</div>
+<div class="See Also">
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="tbb_allocator_cls.htm">tbb_allocator Template Class</a></div>
+<div><a href="scalable_allocator_cls.htm">scalable_allocator Template Class</a></div>
+<div><a href="cache_aligned_allocator_cls.htm">cache_aligned_allocator Template Class</a></div>
+<div><a href="zero_allocator.htm">zero_allocator Template Class</a></div></div>
+</div>
+</body>
+</html>
diff --git a/doc/help/reference/memory_allocation/cache_aligned_allocator_cls.htm b/doc/help/reference/memory_allocation/cache_aligned_allocator_cls.htm
new file mode 100755
index 0000000..4d3e248
--- /dev/null
+++ b/doc/help/reference/memory_allocation/cache_aligned_allocator_cls.htm
@@ -0,0 +1,231 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="cache_aligned_allocator Template Class">
+<meta name="DC.subject" content="allocator, cache aligned allocator">
+<meta name="keywords" content="allocator, cache aligned allocator">
+<meta name="DC.Relation" scheme="URI" content="../../reference/memory_allocation.htm">
+<meta name="DC.Relation" scheme="URI" content="allocator_concept.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="cache_aligned_allocator_cls">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../intel_css_styles.css">
+<title>cache_aligned_allocator Template Class</title>
+</head>
+<body id="cache_aligned_allocator_cls">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(2);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="cache_aligned_allocator_cls"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">cache_aligned_allocator Template Class</h1>
+ 
+   
+  <div> 
+	 <div class="section"><h2 class="sectiontitle">Summary</h2> 
+		 
+		<p>Template class for allocating memory in way that
+		  avoids false sharing. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Syntax</h2> 
+		 
+		<pre>template<typename T> class cache_aligned_allocator;</pre> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Header</h2> 
+		 
+		<pre>#include "tbb/cache_aligned_allocator.h"</pre> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Description</h2> 
+		 
+		<p>A 
+		  <samp class="codeph">cache_aligned_allocator</samp> allocates memory on cache line
+		  boundaries, in order to avoid false sharing. False sharing is when logically
+		  distinct items occupy the same cache line, which can hurt performance if
+		  multiple threads attempt to access the different items simultaneously. Even
+		  though the items are logically separate, the processor hardware may have to
+		  transfer the cache line between the processors as if they were sharing a
+		  location. The net result can be much more memory traffic than if the logically
+		  distinct items were on different cache lines. 
+		</p>
+ 
+		<p>A 
+		  <samp class="codeph">cache_aligned_allocator</samp> models the Allocator Concept.
+		  It can be used to replace a 
+		  <samp class="codeph">std::allocator</samp>. Used judiciously, 
+		  <samp class="codeph">cache_aligned_allocator</samp> can improve performance by
+		  reducing false sharing. However, it is sometimes an inappropriate replacement,
+		  because the benefit of allocating on a cache line comes at the price that 
+		  <samp class="codeph">cache_aligned_allocator</samp> implicitly adds pad memory.
+		  The padding is typically 128 bytes. Hence allocating many small objects with 
+		  <samp class="codeph">cache_aligned_allocator</samp> may increase memory usage. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Members</h2> 
+		 
+		<pre>        namespace tbb {
+         
+            template<typename T>
+            class cache_aligned_allocator {
+            public:
+                typedef T* pointer;
+                typedef const T* const_pointer;
+                typedef T& reference;
+                typedef const T& const_reference;
+                typedef T value_type;
+                typedef size_t size_type;
+                typedef ptrdiff_t difference_type;
+                template<typename U> struct rebind {
+                    typedef cache_aligned_allocator<U> other;
+                };
+         
+            #if _WIN64
+                char* _Charalloc( size_type size );
+            #endif /* _WIN64 */
+         
+                cache_aligned_allocator() throw();
+                cache_aligned_allocator( const cache_aligned_allocator& ) throw();
+                template<typename U> 
+                cache_aligned_allocator( const cache_aligned_allocator<U>& ) throw();
+                ~cache_aligned_allocator();
+         
+                pointer address(reference x) const;
+                const_pointer address(const_reference x) const;
+         
+                pointer allocate( size_type n, const void* hint=0 );
+                void deallocate( pointer p, size_type );
+                size_type max_size() const throw();
+         
+                void construct( pointer p, const T& value );
+                void destroy( pointer p );
+            };
+         
+            template<>
+            class cache_aligned_allocator<void> {
+            public:
+                typedef void* pointer;
+                typedef const void* const_pointer;
+                typedef void value_type;
+                template<typename U> struct rebind {
+                    typedef cache_aligned_allocator<U> other;
+                };
+            };
+         
+            template<typename T, typename U>
+            bool operator==( const cache_aligned_allocator<T>&, 
+                             const cache_aligned_allocator<U>& );
+         
+            template<typename T, typename U>
+            bool operator!=( const cache_aligned_allocator<T>&, 
+                             const cache_aligned_allocator<U>& );
+         
+        } </pre> 
+		<p>For sake of brevity, the following table describes
+		  only those methods that differ significantly from the corresponding methods of 
+		  <samp class="codeph">std::allocator</samp>. 
+		</p>
+ 
+		
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"><thead align="left"> 
+				<tr> 
+				  <th class="cellrowborder" valign="top" width="33.89830508474576%" id="d92994e105">Member 
+				  </th>
+ 
+				  <th class="cellrowborder" valign="top" width="66.10169491525423%" id="d92994e108">Description 
+				  </th>
+ 
+				</tr>
+</thead>
+ 
+			 <tbody> 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d92994e105 "><span class="keyword">pointer allocate( size_type n,
+						const void* hint=0 )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d92994e108 "> 
+					 <p>Allocates 
+						<em>size</em> bytes of memory on a cache-line boundary. The
+						allocation may include extra hidden padding. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: Pointer to the allocated memory. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d92994e105 "><span class="keyword">void deallocate( pointer p,
+						size_type n )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d92994e108 "> 
+					 <p><strong>Requirements</strong>: Pointer 
+						<samp class="codeph"><em>p</em></samp> must be the result of method 
+						<samp class="codeph">allocate(n)</samp>. The memory must not have been
+						already deallocated. 
+					 </p>
+ 
+					 <p><strong>Effects</strong>: Deallocates memory pointed to by 
+						<samp class="codeph">p</samp>. The deallocation also deallocates any
+						extra hidden padding. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d92994e105 "><span class="keyword">char* _Charalloc( size_type size
+						)</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d92994e108 "> 
+					 <div class="Note"><h3 class="NoteTipHead">
+					Note</h3> 
+						<p>This method is provided only on 64-bit Windows* OS
+						  platforms. It is a non-ISO method that exists for backwards compatibility with
+						  versions of Window's containers that seem to require it. Please do not use it
+						  directly. 
+						</p>
+ 
+					 </div> 
+				  </td>
+ 
+				</tr>
+ 
+			 </tbody>
+ 
+		  </table>
+</div>
+ 
+	 </div>
+ 
+  </div>
+ 
+  
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../reference/memory_allocation.htm">Memory Allocation</a></div>
+</div>
+<div class="See Also">
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="allocator_concept.htm">Allocator Concept 
+		  </a></div></div>
+</div> 
+
+</body>
+</html>
diff --git a/doc/help/reference/memory_allocation/scalable_allocator_cls.htm b/doc/help/reference/memory_allocation/scalable_allocator_cls.htm
new file mode 100755
index 0000000..8ad0f61
--- /dev/null
+++ b/doc/help/reference/memory_allocation/scalable_allocator_cls.htm
@@ -0,0 +1,82 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="scalable_allocator Template Class">
+<meta name="DC.subject" content="allocator, scalable_allocator">
+<meta name="keywords" content="allocator, scalable_allocator">
+<meta name="DC.Relation" scheme="URI" content="../../reference/memory_allocation.htm">
+<meta name="DC.Relation" scheme="URI" content="../../reference/memory_allocation/scalable_allocator_cls/c_interface_to_scalable_allocator.htm">
+<meta name="DC.Relation" scheme="URI" content="allocator_concept.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="scalable_allocator_cls">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../intel_css_styles.css">
+<title>scalable_allocator Template Class</title>
+</head>
+<body id="scalable_allocator_cls">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(2);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="scalable_allocator_cls"><!-- --></a>
+
+
+    <h1 class="topictitle1">scalable_allocator Template Class</h1>
+
+    
+<div>
+        <div class="section"><h2 class="sectiontitle">Summary</h2>
+            
+            <p>Template class for scalable memory allocation.</p>
+
+            </div>
+<div class="section"><h2 class="sectiontitle">Syntax</h2>
+            <pre>template<typename T> class scalable_allocator;</pre>
+            </div>
+<div class="section"><h2 class="sectiontitle">Header</h2>
+            <pre>#include "tbb/scalable_allocator.h"</pre>
+            </div>
+<div class="section"><h2 class="sectiontitle">Description</h2>
+            <p>A <samp class="codeph">scalable_allocator</samp> allocates and frees memory
+                in a way that scales with the number of processors. A
+                    <samp class="codeph">scalable_allocator</samp> models the Allocator Concept.
+                Using a <samp class="codeph">scalable_allocator</samp> in place of
+                    <samp class="codeph">std::allocator</samp> may improve program performance. Memory
+                allocated by a scalable_allocator should be freed by a
+                    <samp class="codeph">scalable_allocator</samp>, not by a
+                <samp class="codeph">std::allocator</samp>.</p>
+
+            <div class="Note"><h3 class="NoteTipHead">
+					Caution</h3><p>The <samp class="codeph">scalable_allocator</samp> requires that the tbb malloc library be available. If the library is missing, calls to the scalable allocator fail. In contrast, <samp class="codeph">tbb_allocator</samp> falls back on <samp class="codeph">malloc</samp> and free if the tbbmalloc library is missing. </p>
+</div>
+            </div>
+<div class="section"><h2 class="sectiontitle">Members</h2>
+            <p>See Allocator concept.</p>
+
+            </div>
+<div class="section"><h2 class="sectiontitle">Acknowledgement</h2>
+            <p>The scalable memory allocator incorporates McRT technology developed by Intel's PSL CTG team.</p>
+</div>
+
+    </div>
+
+    
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../reference/memory_allocation.htm">Memory Allocation</a></div>
+</div>
+<div class="See Also">
+<ul class="ullinks">
+<li class="ulchildlink"><a href="../../reference/memory_allocation/scalable_allocator_cls/c_interface_to_scalable_allocator.htm">C Interface to Scalable Allocator</a><br>
+</li>
+</ul>
+
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="allocator_concept.htm">Allocator Concept 
+		  </a></div></div>
+</div>
+</body>
+</html>
diff --git a/doc/help/reference/memory_allocation/scalable_allocator_cls/c_interface_to_scalable_allocator.htm b/doc/help/reference/memory_allocation/scalable_allocator_cls/c_interface_to_scalable_allocator.htm
new file mode 100755
index 0000000..aa3070a
--- /dev/null
+++ b/doc/help/reference/memory_allocation/scalable_allocator_cls/c_interface_to_scalable_allocator.htm
@@ -0,0 +1,436 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="C Interface to Scalable Allocator">
+<meta name="DC.subject" content="C Interface to Scalable Allocator">
+<meta name="keywords" content="C Interface to Scalable Allocator">
+<meta name="DC.Relation" scheme="URI" content="../../../reference/memory_allocation/scalable_allocator_cls.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="c_interface_to_scalable_allocator">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../../intel_css_styles.css">
+<title>C Interface to Scalable Allocator</title>
+</head>
+<body id="c_interface_to_scalable_allocator">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(3);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="c_interface_to_scalable_allocator"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">C Interface to Scalable Allocator</h1>
+ 
+   
+  <div> 
+	 <div class="section"><h2 class="sectiontitle">Summary</h2> 
+		 
+		<p>Low level interface for scalable memory allocation.
+		  
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Syntax</h2> 
+		 
+		<pre>        extern "C" {
+            // Scalable analogs of C memory allocator
+            void* scalable_malloc( size_t size );
+            void  scalable_free( void* ptr );
+            void* scalable_calloc( size_t nobj, size_t size );
+            void* scalable_realloc( void* ptr, size_t size );
+         
+            // Analog of _msize/malloc_size/malloc_usable_size.
+            size_t scalable_msize( void* ptr );
+         
+            // Scalable analog of posix_memalign
+            int scalable_posix_memalign( void** memptr, size_t alignment, 
+                                         size_t size );
+         
+            // Aligned allocation
+            void* scalable_aligned_malloc( size_t size, 
+                                           size_t alignment);
+            void scalable_aligned_free( void* ptr ); 
+            void* scalable_aligned_realloc( void* ptr, size_t size, 
+                                            size_t alignment );
+
+            // Return values for scalable_allocation_* functions
+            typedef enum {
+                TBBMALLOC_OK,
+                TBBMALLOC_INVALID_PARAM,
+                TBBMALLOC_UNSUPPORTED,
+                TBBMALLOC_NO_MEMORY,
+                TBBMALLOC_NO_EFFECT
+            } ScalableAllocationResult;
+
+            typedef enum {
+                // to turn on/off the use of huge memory pages
+                TBBMALLOC_USE_HUGE_PAGES,
+                // to set a threshold for the allocator memory usage;
+                // exceeding it will forcefully clean internal memory buffers
+                TBBMALLOC_SET_SOFT_HEAP_LIMIT
+            } AllocationModeParam;
+
+            // Set allocator-specific allocation modes.
+            int scalable_allocation_mode(int param, intptr_t value);
+
+            typedef enum {
+                // Clean internal allocator buffers for all threads.
+                TBBMALLOC_CLEAN_ALL_BUFFERS,
+                // Clean internal allocator buffer for current thread only.
+                TBBMALLOC_CLEAN_THREAD_BUFFERS
+            } ScalableAllocationCmd;
+
+            // Call allocator-specific commands.
+            int scalable_allocation_command(int cmd, void *param);
+
+
+        }</pre> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Header</h2> 
+		 
+		<pre>#include "tbb/scalable_allocator.h"</pre> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Description</h2> 
+		 
+		<p>These functions provide a C level interface to the
+		  scalable allocator. With the exception of scalable_allocation_mode and
+		  scalable_allocation_command, each routine scalable_<samp class="codeph"><em>x</em></samp>
+		  behaves analogously to library function 
+		  <samp class="codeph"><em>x</em></samp>. The routines form the two families shown in
+		  the table below, "C Interface to Scalable Allocator" . Storage allocated by a
+		  scalable_<samp class="codeph"><em>x</em></samp> function in one family must be freed or
+		  resized by a scalable_<samp class="codeph"><em>x</em></samp> function in the same family,
+		  not by a C standard library function. Likewise storage allocated by a C
+		  standard library function should not be freed or resized by a
+		  scalable_<samp class="codeph"><em>x</em></samp> function. 
+		</p>
+ 
+		
+<div class="tablenoborder"><a name="tbl23"><!-- --></a><table cellpadding="4" summary="" id="tbl23" width="100%" frame="hsides" border="1" rules="all"><caption><span class="tablecap">C Interface to Scalable Allocator</span></caption> 
+		   
+		   
+		   
+		   
+		  <thead align="left"> 
+			 <tr> 
+				<th class="cellrowborder" valign="top" width="10.256410256410255%" id="d93669e91"> 
+				  <p>Family 
+				  </p>
+ 
+				</th>
+ 
+				<th class="cellrowborder" valign="top" width="30.76923076923077%" id="d93669e97"> 
+				  <p>Allocation Routine 
+				  </p>
+ 
+				</th>
+ 
+				<th class="cellrowborder" valign="top" width="33.94871794871795%" id="d93669e103"> 
+				  <p>Deallocation Routine 
+				  </p>
+ 
+				</th>
+ 
+				<th class="row-nocellborder" valign="top" width="25.025641025641026%" id="d93669e109"> 
+				  <p>Analogous Library 
+				  </p>
+ 
+				</th>
+ 
+			 </tr>
+ 
+		  </thead>
+ 
+		  <tbody> 
+			 <tr> 
+				<td class="cellrowborder" rowspan="4" valign="top" width="10.256410256410255%" headers="d93669e91 "> 
+				  <p>1 
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="30.76923076923077%" headers="d93669e97 "> 
+				  <p>scalable_malloc 
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" rowspan="4" valign="top" width="33.94871794871795%" headers="d93669e103 "> 
+				  <p>scalable_free 
+				  </p>
+ 
+				</td>
+ 
+				<td class="row-nocellborder" rowspan="3" valign="top" width="25.025641025641026%" headers="d93669e109 "> 
+				  <p>C standard library 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="row-nocellborder" valign="top" width="30.76923076923077%" headers="d93669e97 "> 
+				  <p>scalable_calloc 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="row-nocellborder" valign="top" width="30.76923076923077%" headers="d93669e97 "> 
+				  <p>scalable_realloc 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="30.76923076923077%" headers="d93669e97 "> 
+				  <p>scalable_posix_memalign 
+				  </p>
+ 
+				</td>
+ 
+				<td class="row-nocellborder" valign="top" width="30.76923076923077%" headers="d93669e97 "> 
+				  <p>POSIX* 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" rowspan="2" valign="top" width="10.256410256410255%" headers="d93669e91 "> 
+				  <p>2 
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="30.76923076923077%" headers="d93669e97 "> 
+				  <p>scalable_aligned_malloc 
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" rowspan="2" valign="top" width="33.94871794871795%" headers="d93669e103 "> 
+				  <p>scalable_aligned_free 
+				  </p>
+ 
+				</td>
+ 
+				<td class="row-nocellborder" rowspan="2" valign="top" width="25.025641025641026%" headers="d93669e109 "> 
+				  <p>Microsoft* C run-time library 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="row-nocellborder" valign="top" width="30.76923076923077%" headers="d93669e97 "> 
+				  <p>scalable_aligned_realloc 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+		  </tbody>
+ 
+		</table>
+</div>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle"> size_t scalable_msize( void* ptr )</h2> 
+		
+		
+		<p><strong>Returns</strong> 
+		</p>
+ 
+		<p>The usable size of the memory block pointed to by 
+		  <em>ptr</em> if it was allocated by the scalable allocator. Returns zero
+		  if 
+		  <em>ptr</em> does not point to such a block. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">int scalable_allocation_mode(int mode,
+		  intptr_t value)</h2> 
+		 
+		<p> 
+		
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"><span class="tabledesc">
+                    <p>
+                      This function may be used to adjust behavior of the scalable memory allocator.
+                    </p>
+
+                    <p>
+                      <strong>Returns</strong>: TBBMALLOC_OK if the operation succeeded, TBBMALLOC_INVALID_PARAM if
+                      <samp class="codeph">mode</samp> is not one of the described below, or if <samp class="codeph">value</samp>
+                      is not valid for the given mode. Other return values are possible, as described below.
+                    </p>
+
+		  </span><thead align="left"> 
+				<tr> 
+				  <th class="cellrowborder" valign="top" width="33.89830508474576%" id="d93669e276">Parameter 
+				  </th>
+ 
+				  <th class="cellrowborder" valign="top" width="66.10169491525423%" id="d93669e279">Description 
+				  </th>
+ 
+				</tr>
+</thead>
+ 
+			 <tbody> 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d93669e276 "><span class="keyword">TBBMALLOC_USE_HUGE_PAGES</span>
+					 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d93669e279 "> 
+                                    <p>
+                                      <samp class="codeph">scalable_allocation_mode(TBBMALLOC_USE_HUGE_PAGES, 1)</samp>
+                                      enables the use of huge pages by the allocator if supported for the
+                                      operating system,
+                                      <samp class="codeph">scalable_allocation_mode(TBBMALLOC_USE_HUGE_PAGES, 0)</samp>
+                                      disables it. Setting <samp class="codeph">TBB_MALLOC_USE_HUGE_PAGES</samp>
+                                      environment variable to 1 has the same effect as
+                                      <samp class="codeph">scalable_allocation_mode(TBBMALLOC_USE_HUGE_PAGES, 1)</samp>.
+                                      The mode set with <samp class="codeph">scalable_allocation_mode()</samp> takes
+                                      priority over the environment variable.
+                                    </p>
+
+                                    <p>
+                                      <strong>May return</strong>: TBBMALLOC_NO_EFFECT if huge pages are not supported
+                                      on the platform.
+                                    </p>
+
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d93669e276 "><span class="keyword">TBBMALLOC_SET_SOFT_HEAP_LIMIT</span>
+					 
+				  </td>
+
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d93669e279 ">
+                                    <p>
+                                      <samp class="codeph">scalable_allocation_mode(TBBMALLOC_SET_SOFT_HEAP_LIMIT, size)</samp>
+                                      sets a threshold of <samp class="codeph">size</samp> bytes on the amount
+                                      of memory the allocator takes from OS. Exceeding the threshold
+                                      will urge the allocator to release memory from its internal buffers;
+                                      however it does not prevent from requesting more memory if needed.
+                                    </p>
+
+				  </td>
+ 
+				</tr>
+ 
+			 </tbody>
+ 
+		  </table>
+</div>
+ 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">int scalable_allocation_command(int cmd,
+		  void *reserved)</h2> 
+		 
+		
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"><span class="tabledesc">
+                    <p>
+                      This function may be used to command the scalable memory allocator to perform an
+                      action specified by the first parameter. The second parameter is reserved and
+                      must be set to 0.
+                    </p>
+
+                    <p>
+                      <strong>Returns</strong>: TBBMALLOC_OK if the operation succeeded, TBBMALLOC_INVALID_PARAM if
+                      <samp class="codeph">cmd</samp> is not one of the described below, or if <samp class="codeph">reserved</samp>
+                      is not equal to 0.
+                    </p>
+
+		  </span><thead align="left"> 
+				<tr> 
+				  <th class="cellrowborder" valign="top" width="33.89830508474576%" id="d93669e377">Parameter 
+				  </th>
+ 
+				  <th class="cellrowborder" valign="top" width="66.10169491525423%" id="d93669e380">Description 
+				  </th>
+ 
+				</tr>
+</thead>
+ 
+			 <tbody> 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d93669e377 "><span class="keyword">TBBMALLOC_CLEAN_ALL_BUFFERS</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d93669e380 "> 
+                                    <p>
+                                      <samp class="codeph">scalable_allocation_command(TBBMALLOC_CLEAN_ALL_BUFFERS, 0)</samp>
+                                      cleans internal memory buffers of the allocator, and possibly reduces memory
+                                      footprint. It may result in increased time for subsequent memory allocation
+                                      requests. The command is not designed for frequent use, and careful
+                                      evaluation of the performance impact is recommended.
+                                    </p>
+
+                                    <p>
+                                      <strong>May return</strong>: TBBMALLOC_NO_EFFECT if no buffers were released.
+                                    </p>
+
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d93669e377 "><span class="keyword">TBBMALLOC_CLEAN_THREAD_BUFFERS</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d93669e380 "> 
+                                    <p>
+                                      <samp class="codeph">scalable_allocation_command(TBBMALLOC_CLEAN_THREAD_BUFFERS, 0)</samp>
+                                      cleans internal memory buffers but only for the calling thread. It may result
+                                      in increased time for subsequent memory allocation requests; careful evaluation
+                                      of the performance impact is recommended.
+                                    </p>
+
+                                    <p>
+                                      <strong>May return</strong>: TBBMALLOC_NO_EFFECT if no buffers were released.
+                                    </p>
+
+				  </td>
+ 
+				</tr>
+ 
+			 </tbody>
+ 
+		  </table>
+</div>
+ 
+	 </div>
+ 
+  </div>
+ 
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../../reference/memory_allocation/scalable_allocator_cls.htm">scalable_allocator Template Class</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/reference/memory_allocation/tbb_allocator_cls.htm b/doc/help/reference/memory_allocation/tbb_allocator_cls.htm
new file mode 100755
index 0000000..1b6855e
--- /dev/null
+++ b/doc/help/reference/memory_allocation/tbb_allocator_cls.htm
@@ -0,0 +1,56 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="tbb_allocator Template Class">
+<meta name="DC.subject" content="allocator, tbb_allocator">
+<meta name="keywords" content="allocator, tbb_allocator">
+<meta name="DC.Relation" scheme="URI" content="../../reference/memory_allocation.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="tbb_allocator_cls">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../intel_css_styles.css">
+<title>tbb_allocator Template Class</title>
+</head>
+<body id="tbb_allocator_cls">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(2);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="tbb_allocator_cls"><!-- --></a>
+
+
+    <h1 class="topictitle1">tbb_allocator Template Class</h1>
+
+    
+<div><div class="section"><h2 class="sectiontitle">Summary</h2>
+        <p>Template class for scalable memory allocation if available; possibly non-scalable otherwise.</p>
+
+        </div>
+<div class="section"><h2 class="sectiontitle">Syntax</h2>
+        <pre>template<typename T> class tbb_allocator</pre>
+        </div>
+<div class="section"><h2 class="sectiontitle">Header</h2>
+        <pre>#include "tbb/tbb_allocator.h"</pre>
+        </div>
+<div class="section"><h2 class="sectiontitle">Description</h2>
+        <p>A <samp class="codeph">tbb_allocator</samp> allocates and frees memory via the Intel® Threading Building Blocks (Intel® TBB) malloc library if it is available, otherwise it reverts to using malloc and free.</p>
+
+        <div class="Note"><h3 class="NoteTipHead">
+					Tip</h3><p>Set the environment variable <samp class="codeph">TBB_VERSION</samp> to 1 to find out if the Intel® TBB malloc library is being used. </p>
+</div>
+        <p> </p>
+</div>
+
+    </div>
+
+    
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../reference/memory_allocation.htm">Memory Allocation</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/reference/memory_allocation/zero_allocator.htm b/doc/help/reference/memory_allocation/zero_allocator.htm
new file mode 100755
index 0000000..aa08642
--- /dev/null
+++ b/doc/help/reference/memory_allocation/zero_allocator.htm
@@ -0,0 +1,93 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="zero_allocator">
+<meta name="DC.subject" content="allocator, zero allocator">
+<meta name="keywords" content="allocator, zero allocator">
+<meta name="DC.Relation" scheme="URI" content="../../reference/memory_allocation.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="zero_allocator">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../intel_css_styles.css">
+<title>zero_allocator</title>
+</head>
+<body id="zero_allocator">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(2);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="zero_allocator"><!-- --></a>
+
+
+    <h1 class="topictitle1">zero_allocator</h1>
+
+    
+<div><div class="section"><h2 class="sectiontitle">Summary</h2>
+        <p>Template class for allocator that returns zeroed memory. </p>
+
+        </div>
+<div class="section"><h2 class="sectiontitle">Syntax</h2>
+<pre>template <typename T, 
+          template<typename U> class Alloc = tbb_allocator> 
+class zero_allocator: public Alloc<T>;
+</pre>
+        </div>
+<div class="section"><h2 class="sectiontitle">Header</h2>
+<pre>#include "tbb/tbb_allocator.h"</pre>
+</div>
+
+<div class="section"><h2 class="sectiontitle">Description</h2>
+
+        <p>A <samp class="codeph">zero_allocator</samp> allocates zeroed memory. A
+                        <samp class="codeph">zero_allocator<<em>T,A</em>></samp> can be instantiated for any
+                    class<em> A</em> that models the Allocator concept. The default for <em>A</em> is
+                    <samp class="codeph">tbb_allocator</samp>. A <samp class="codeph">zero_allocator</samp> forwards
+                allocation requests to <em>A</em> and zeros the allocation before returning it.</p>
+
+        </div>
+<div class="section"><h2 class="sectiontitle">Members</h2>
+<pre>namespace tbb {
+    template <typename T, template<typename U> class Alloc = tbb_allocator>
+    class zero_allocator : public Alloc<T> {
+    public:
+        typedef Alloc<T> base_allocator_type;
+        typedef typename base_allocator_type::value_type 
+                                              value_type;
+        typedef typename base_allocator_type::pointer pointer;
+        typedef typename base_allocator_type::const_pointer 
+                                              const_pointer;
+        typedef typename base_allocator_type::reference 
+ reference;
+        typedef typename base_allocator_type::const_reference 
+                                              const_reference;
+        typedef typename base_allocator_type::size_type 
+                                              size_type;
+        typedef typename base_allocator_type::difference_type 
+                                              difference_type;
+        template<typename U> struct rebind {
+            typedef zero_allocator<U, Alloc> other;
+        };
+
+        zero_allocator() throw() { }
+        zero_allocator(const zero_allocator &a) throw();
+        template<typename U>
+        zero_allocator(const zero_allocator<U> &a) throw(); 
+
+        pointer allocate(const size_type n, const void* hint=0);
+    };
+} 
+ </pre>
+        </div>
+</div>
+
+    
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../reference/memory_allocation.htm">Memory Allocation</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/reference/reference.htm b/doc/help/reference/reference.htm
new file mode 100755
index 0000000..9863b9b
--- /dev/null
+++ b/doc/help/reference/reference.htm
@@ -0,0 +1,56 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="Intel® Threading Building Blocks Reference Manual">
+<meta name="DC.Relation" scheme="URI" content="../main/title.htm">
+<meta name="DC.Relation" scheme="URI" content="../reference/general_conventions.htm">
+<meta name="DC.Relation" scheme="URI" content="../reference/environment.htm">
+<meta name="DC.Relation" scheme="URI" content="../reference/algorithms.htm">
+<meta name="DC.Relation" scheme="URI" content="../reference/containers_overview.htm">
+<meta name="DC.Relation" scheme="URI" content="../reference/flow_graph.htm">
+<meta name="DC.Relation" scheme="URI" content="../reference/thread_local_storage.htm">
+<meta name="DC.Relation" scheme="URI" content="../reference/memory_allocation.htm">
+<meta name="DC.Relation" scheme="URI" content="../reference/synchronization.htm">
+<meta name="DC.Relation" scheme="URI" content="../reference/timing.htm">
+<meta name="DC.Relation" scheme="URI" content="../reference/task_groups.htm">
+<meta name="DC.Relation" scheme="URI" content="../reference/task_scheduler.htm">
+<meta name="DC.Relation" scheme="URI" content="../reference/exceptions.htm">
+<meta name="DC.Relation" scheme="URI" content="../reference/threads.htm">
+<meta name="DC.Relation" scheme="URI" content="../reference/appendices.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="reference">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../intel_css_styles.css">
+<title>Intel® Threading Building Blocks Reference Manual</title>
+</head>
+<body class="no-rel-links" id="reference">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(1);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="reference"><!-- --></a>
+
+ 
+  <h1 class="firsttitle"> 
+	 <br><a name="image_F4CD264A91964937B2F5D11A649804BA"><!-- --></a><img id="image_F4CD264A91964937B2F5D11A649804BA" src="Resources/hpc_header.jpg" height="161" width="300"><br> Intel® Threading Building Blocks Reference Manual</h1>
+ 
+  <div> 
+	 <p>Document number: 315415-015US 
+	 </p>
+ 
+	 <p><a href="../main/legal_information.htm#legal_information" class="underlined">Legal Information</a> 
+	 </p>
+ 
+	 <p><a href="introducing.htm" class="start">Start
+		  Here</a> 
+	 </p>
+ 
+  </div>
+ 
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/reference/synchronization.htm b/doc/help/reference/synchronization.htm
new file mode 100755
index 0000000..2dc3745
--- /dev/null
+++ b/doc/help/reference/synchronization.htm
@@ -0,0 +1,55 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="Synchronization">
+<meta name="DC.subject" content="Synchronization">
+<meta name="keywords" content="Synchronization">
+<meta name="DC.Relation" scheme="URI" content="../reference/reference.htm">
+<meta name="DC.Relation" scheme="URI" content="../reference/synchronization/mutexes.htm">
+<meta name="DC.Relation" scheme="URI" content="../reference/synchronization/atomic_cls.htm">
+<meta name="DC.Relation" scheme="URI" content="../reference/synchronization/ppl_compatibility_synch.htm">
+<meta name="DC.Relation" scheme="URI" content="../reference/synchronization/c_11_synchronization.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="Synchronization">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../intel_css_styles.css">
+<title>Synchronization</title>
+</head>
+<body id="Synchronization">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(1);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="Synchronization"><!-- --></a>
+
+
+    <h1 class="topictitle1">Synchronization</h1>
+
+    
+<div>
+        <div class="section">
+            <p>The library supports mutual exclusion and atomic operations.</p>
+</div>
+    </div>
+ 
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../reference/reference.htm">Intel® Threading Building Blocks Reference Manual</a></div>
+</div>
+<div>
+<ul class="ullinks">
+<li class="ulchildlink"><a href="../reference/synchronization/mutexes.htm">Mutexes</a><br>
+</li>
+<li class="ulchildlink"><a href="../reference/synchronization/atomic_cls.htm">atomic Template Class</a><br>
+</li>
+<li class="ulchildlink"><a href="../reference/synchronization/ppl_compatibility_synch.htm">PPL Compatibility</a><br>
+</li>
+<li class="ulchildlink"><a href="../reference/synchronization/c_11_synchronization.htm">C++11 Synchronization</a><br>
+</li>
+</ul>
+</div>
+
+</body>
+</html>
diff --git a/doc/help/reference/synchronization/atomic_cls.htm b/doc/help/reference/synchronization/atomic_cls.htm
new file mode 100755
index 0000000..f1adb38
--- /dev/null
+++ b/doc/help/reference/synchronization/atomic_cls.htm
@@ -0,0 +1,458 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="atomic Template Class">
+<meta name="DC.subject" content="atomic Template Class">
+<meta name="keywords" content="atomic Template Class">
+<meta name="DC.Relation" scheme="URI" content="../../reference/synchronization.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="atomic_cls">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../intel_css_styles.css">
+<title>atomic Template Class</title>
+</head>
+<body id="atomic_cls">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(2);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="atomic_cls"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">atomic Template Class</h1>
+ 
+   
+  <div> 
+	 <div class="section"><h2 class="sectiontitle">Summary</h2> 
+		 
+		<p>Template class for atomic operations. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Syntax</h2> 
+		 
+		<pre>template<typename T> atomic;</pre> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Header</h2> 
+		 
+		<pre>#include "tbb/atomic.h"</pre> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Description</h2> 
+		 
+		<p>An 
+		  <samp class="codeph">atomic<T></samp> supports atomic read, write,
+		  fetch-and-add, fetch-and-store, and compare-and-swap. Type T may be an integral
+		  type, enumeration type, or a pointer type. When T is a pointer type, arithmetic
+		  operations are interpreted as pointer arithmetic. For example, if 
+		  <samp class="codeph"><em>x</em></samp> has type 
+		  <samp class="codeph">atomic<float*></samp> and a float occupies four bytes,
+		  then 
+		  <samp class="codeph"><em>++x</em></samp> advances 
+		  <samp class="codeph"><em>x</em></samp> by four bytes. Arithmetic on 
+		  <samp class="codeph">atomic<T></samp> is not allowed if 
+		  <samp class="codeph">T</samp> is an enumeration type, 
+		  <samp class="codeph">void*</samp>, or 
+		  <samp class="codeph">bool</samp>. 
+		</p>
+ 
+		<p>Some of the methods have template method variants
+		  that permit more selective memory fencing. On IA-32 and Intel® 64 architecture
+		  processors, they have the same effect as the non-templated variants. On
+		  processors with IA-64 architecture, they may improve performance by allowing
+		  the memory subsystem more latitude on the orders of reads and write. Using them
+		  may improve performance. The table below shows the fencing for the non-template
+		  form. 
+		</p>
+ 
+		
+<div class="tablenoborder"><a name="tbl29"><!-- --></a><table cellpadding="4" summary="" id="tbl29" width="100%" frame="hsides" border="1" rules="all"><caption><span class="tablecap">Operation Order Implied by Non-Template
+		  Methods</span></caption> 
+		   
+		   
+		   
+		  <thead align="left"> 
+			 <tr> 
+				<th class="cellrowborder" valign="top" width="NaN%" id="d95291e103"> 
+				  <p>Kind 
+				  </p>
+ 
+				</th>
+ 
+				<th class="cellrowborder" valign="top" width="NaN%" id="d95291e109"> 
+				  <p>Description 
+				  </p>
+ 
+				</th>
+ 
+				<th class="row-nocellborder" valign="top" width="NaN%" id="d95291e115"> 
+				  <p>Default For 
+				  </p>
+ 
+				</th>
+ 
+			 </tr>
+ 
+		  </thead>
+ 
+		  <tbody> 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="NaN%" headers="d95291e103 "> 
+				  <p>acquire 
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="NaN%" headers="d95291e109 "> 
+				  <p>Operations after the atomic operation never
+					 move over it. 
+				  </p>
+ 
+				</td>
+ 
+				<td class="row-nocellborder" valign="top" width="NaN%" headers="d95291e115 "> 
+				  <p>read 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="NaN%" headers="d95291e103 "> 
+				  <p>release 
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="NaN%" headers="d95291e109 "> 
+				  <p>Operations before the atomic operation
+					 never move over it. 
+				  </p>
+ 
+				</td>
+ 
+				<td class="row-nocellborder" valign="top" width="NaN%" headers="d95291e115 "> 
+				  <p>write 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="NaN%" headers="d95291e103 "> 
+				  <p>sequentially consistent 
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="NaN%" headers="d95291e109 "> 
+				  <p>Operations on either side never move over
+					 it and furthermore, the sequentially consistent atomic operations have a global
+					 order. 
+				  </p>
+ 
+				</td>
+ 
+				<td class="row-nocellborder" valign="top" width="NaN%" headers="d95291e115 "><samp class="codeph"> fetch_and_store,
+					 fetch_and_add, compare_and_swap 
+				  </samp> 
+				</td>
+ 
+			 </tr>
+ 
+		  </tbody>
+ 
+		</table>
+</div>
+ 
+		<div class="Note"><h3 class="NoteTipHead">
+					Caution</h3> 
+		  <p>The copy constructor for class 
+			 <samp class="codeph">atomic<T></samp> is not atomic. To atomically copy
+			 an<samp class="codeph"> atomic<T></samp>, default-construct the copy first and
+			 assign to it. Below is an example that shows the difference. 
+		  </p>
+ 
+		</div> 
+		<pre>      
+           atomic<T> y(x);  // Not atomic
+           atomic<T> z;
+           z=x;             // Atomic assignment</pre> 
+		<p>The copy constructor is not atomic because it is
+		  compiler generated. In C++03 introducing any non-trivial constructors might
+		  remove an important property of 
+		  <samp class="codeph">atomic<T></samp>: namespace scope instances are
+		  zero-initialized before namespace scope dynamic initializers run. This property
+		  can be essential for code executing early during program startup. 
+		</p>
+ 
+		<p>In C++03, to create an 
+		  <samp class="codeph">atomic<T></samp> with a specific value,
+		  default-construct it first, and afterwards assign a value to it. In C++11 there
+		  is 
+		  <samp class="codeph">constexpr</samp> single argument constructor. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Members</h2> 
+		 
+		<pre>namespace tbb {
+                enum memory_semantics {
+                    acquire,
+                    release
+                };
+             
+                struct atomic<T> {
+                    typedef T value_type;
+                    
+                    //C++11 specific:
+                    atomic() = default;
+                    constexpr atomic(T arg)
+                    //end of C++11 specific
+             
+                    template<memory_semantics M>
+                    value_type compare_and_swap( value_type new_value, 
+                                                 value_type comparand );
+             
+                    value_type compare_and_swap( value_type new_value, 
+                                                 value_type comparand );
+             
+                    template<memory_semantics M>
+                    value_type fetch_and_store( value_type new_value );
+             
+                    value_type fetch_and_store( value_type new_value );
+             
+                    operator value_type() const;
+             
+                    value_type operator=( value_type new_value );
+                    atomic<T>& operator=( const atomic<T>& value );
+             
+                    // The following members exist only if T is an integral 
+                    // or pointer type.
+             
+                    template<memory_semantics M>
+                    value_type fetch_and_add( value_type addend );
+             
+                    value_type fetch_and_add( value_type addend );
+             
+                    template<memory_semantics M>
+                    value_type fetch_and_increment();
+             
+                    value_type fetch_and_increment();
+             
+                    template<memory_semantics M>
+                    value_type fetch_and_decrement();
+             
+                    value_type fetch_and_decrement();
+             
+                    value_type operator+=(value_type);
+                    value_type operator-=(value_type);
+                    value_type operator++();
+                    value_type operator++(int);
+                    value_type operator--();
+                    value_type operator--(int);
+                };
+            } </pre> 
+		<p>So that an atomic<T*> can be used like a
+		  pointer to T, the specialization atomic<T*> also defines: 
+		</p>
+ 
+		<pre>        T* operator->() const;</pre> 
+		
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"><span class="tabledesc">The following table provides additional information on the
+			 members of this template class. 
+		  </span><thead align="left"> 
+				<tr> 
+				  <th class="cellrowborder" valign="top" width="33.89830508474576%" id="d95291e248">Member 
+				  </th>
+ 
+				  <th class="cellrowborder" valign="top" width="66.10169491525423%" id="d95291e251">Description 
+				  </th>
+ 
+				</tr>
+</thead>
+ 
+			 <tbody> 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d95291e248 "><span class="keyword">memory_semantics Enum 
+					 </span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d95291e251 "> 
+					 <p>Defines values used to select the
+						template variants that permit more selective control over visibility of
+						operations (see the table above). 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d95291e248 "><span class="keyword">atomic() = default 
+					 </span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d95291e251 "> 
+					 <p>C++11 Specific; 
+					 </p>
+ 
+					 <p>Default constructor generated by
+						compiler. This constructor behaves same as if there were no user defined
+						constrcutors declared at all. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d95291e248 "><span class="keyword">constexpr atomic(value_type arg) 
+					 </span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d95291e251 "> 
+					 <p>C++11 Specific; 
+					 </p>
+ 
+					 <p>Initialize 
+						<samp class="codeph">*this</samp> with value of arg. If the argument is
+						a translation time constant, then initialization is performed during
+						translation time, overwise initialization is performed at run time. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d95291e248 "><span class="keyword">value_type fetch_and_add(
+						value_type addend )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d95291e251 "> 
+					 <p>Let 
+						<samp class="codeph"><em>x</em></samp> be the value of 
+						<samp class="codeph">*this</samp>. Atomically updates 
+						<samp class="codeph"><em>x = x +</em></samp> addend. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: Original value of 
+						<samp class="codeph"><em>x</em></samp>. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d95291e248 "><span class="keyword"> value_type
+						fetch_and_increment()</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d95291e251 "> 
+					 <p>Let x be the value of 
+						<samp class="codeph">*this</samp>. Atomically updates 
+						<samp class="codeph"><em>x = x + 1</em>. 
+						</samp> 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: Original value
+						of<samp class="codeph"><em> x</em>.</samp> 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d95291e248 "><span class="keyword">value_type
+						fetch_and_decrement()</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d95291e251 "> 
+					 <p>Let 
+						<samp class="codeph"><em>x</em></samp> be the value of *this. Atomically
+						updates 
+						<samp class="codeph"><em>x = x</em> - 1. 
+						</samp> 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: Original value
+						of<samp class="codeph"><em> x.</em></samp> 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d95291e248 "><span class="keyword">value_type
+						compare_and_swap</span> 
+					 <p>value_type compare_and_swap( value_type
+						new_value, value_type comparand ) 
+					 </p>
+ 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d95291e251 "> 
+					 <p>Let 
+						<em>x</em> be the value of 
+						<samp class="codeph">*this</samp>. Atomically compares 
+						<samp class="codeph"><em>x</em></samp> with comparand, and if they are
+						equal, sets<samp class="codeph"><em> x</em></samp>=new_value. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: Original value of 
+						<samp class="codeph">x.</samp> 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d95291e248 "><span class="keyword">value_type fetch_and_store(
+						value_type new_value )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d95291e251 "> 
+					 <p>Let 
+						<samp class="codeph">x</samp> be the value of 
+						<samp class="codeph">*this</samp>. Atomically exchanges old value of 
+						<samp class="codeph"><em>x</em></samp> with new_value. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: Original value of 
+						<samp class="codeph"><em>x</em></samp>. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+			 </tbody>
+ 
+		  </table>
+</div>
+ 
+	 </div>
+ 
+  </div>
+ 
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../reference/synchronization.htm">Synchronization</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/reference/synchronization/c_11_synchronization.htm b/doc/help/reference/synchronization/c_11_synchronization.htm
new file mode 100755
index 0000000..969d7fa
--- /dev/null
+++ b/doc/help/reference/synchronization/c_11_synchronization.htm
@@ -0,0 +1,150 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="C++11 Synchronization">
+<meta name="DC.subject" content="C++11 Synchronization">
+<meta name="keywords" content="C++11 Synchronization">
+<meta name="DC.Relation" scheme="URI" content="../../reference/synchronization.htm">
+<meta name="DC.Relation" scheme="URI" content="../general_conventions/namespaces.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="c_11_synchronization">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../intel_css_styles.css">
+<title>C++11 Synchronization</title>
+</head>
+<body id="c_11_synchronization">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(2);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="c_11_synchronization"><!-- --></a>
+
+
+    <h1 class="topictitle1">C++11  Synchronization</h1>
+
+    
+<div><div class="section"><p>The Intel® Threading Building Blocks (Intel® TBB) library 
+approximates a portion of C++11 interfaces for condition variables and scoped locking. The approximation is based on the C++11 working draft N3000. The major differences are:</p>
+
+        <ul type="disc">
+            <li><p>The implementation uses the <samp class="codeph">tbb::tick_count</samp> interface instead of the C++11 <chrono> interface. </p>
+</li>
+
+            <li><p>The implementation throws <samp class="codeph">std::runtime_error </samp>instead of a C++11 std::system_error.</p>
+</li>
+
+            <li><p>The implementation omits or approximates features requiring C++11 language support such as <samp class="codeph">constexpr</samp> or <samp class="codeph">explicit</samp> operators.</p>
+</li>
+
+            <li><p>The implementation works in conjunction with tbb::mutex wherever the C++11 specification calls for a <samp class="codeph">std::mutex</samp>. </p>
+</li>
+
+        </ul>
+
+        <p>See the working draft N3000 for a detailed descriptions of the members.</p>
+
+        <div class="Note"><h3 class="NoteTipHead">
+					Caution</h3><p>Implementations may change if the C++11 specification changes. </p>
+</div>
+        <div class="Note"><h3 class="NoteTipHead">
+					Caution</h3><p>When support for <samp class="codeph">std::system_error</samp> becomes available, implementations may throw <samp class="codeph">std::system_error</samp> instead of <samp class="codeph">std::runtime_error</samp>.</p>
+</div>
+        <p>The library defines the C++11 interfaces in namespace std, not namespace tbb, as explained in Section std Namespace.</p>
+
+        </div>
+<div class="section"><h2 class="sectiontitle">Header</h2>
+        <pre>#include "tbb/compat/condition_variable"</pre>
+        </div>
+<div class="section"><h2 class="sectiontitle">Members</h2>
+<pre>namespace std {
+        struct defer_lock_t { }; 
+        struct try_to_lock_t { }; 
+        struct adopt_lock_t { }; 
+        const defer_lock_t defer_lock = {};
+        const try_to_lock_t try_to_lock = {};
+        const adopt_lock_t adopt_lock = {};
+     
+        template<typename M>
+        class lock_guard {
+        public:
+            typedef M mutex_type;
+            explicit lock_guard(mutex_type& m);
+            lock_guard(mutex_type& m, adopt_lock_t);
+            ~lock_guard();
+        };
+     
+        template<typename M>
+        class unique_lock: no_copy {
+        public:
+            typedef M mutex_type;
+     
+            unique_lock();
+            explicit unique_lock(mutex_type& m);
+            unique_lock(mutex_type& m, defer_lock_t);
+            unique_lock(mutex_type& m, try_to_lock_t));
+            unique_lock(mutex_type& m, adopt_lock_t);
+            unique_lock(mutex_type& m, const tick_count::interval_t &i);
+            ~unique_lock();
+     
+            void lock();
+     
+            bool try_lock();
+            bool try_lock_for( const tick_count::interval_t &i );
+     
+            void unlock();
+     
+            void swap(unique_lock& u);
+     
+            mutex_type* release();
+     
+            bool owns_lock() const;
+            operator bool() const;
+            mutex_type* mutex() const;
+        };
+     
+        template<typename M>
+        void swap(unique_lock<M>& x, unique_lock<M>& y);
+     
+        enum cv_status {no_timeout, timeout};
+     
+        class condition_variable : no_copy {
+        public:
+            condition_variable();
+            ~condition_variable();
+     
+            void notify_one();
+            void notify_all();
+     
+            void wait(unique_lock<mutex>& lock);
+     
+            template <class Predicate>
+            void wait(unique_lock<mutex>& lock, Predicate pred);
+     
+            cv_status wait_for(unique_lock<mutex>& lock, 
+                               const tick_count::interval_t& i);
+     
+            template<typename Predicate>
+            bool wait_for(unique_lock<mutex>& lock, 
+                          const tick_count::interval_t &i, 
+                          Predicate pred);
+     
+            typedef <em>implementation-defined</em> native_handle_type;
+            native_handle_type native_handle();
+        };
+    } // namespace std
+     </pre></div>
+</div>
+ 
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../reference/synchronization.htm">Synchronization</a></div>
+</div>
+<div class="See Also">
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="../general_conventions/namespaces.htm">Namespace std</a></div></div>
+</div>
+</body>
+</html>
diff --git a/doc/help/reference/synchronization/mutexes.htm b/doc/help/reference/synchronization/mutexes.htm
new file mode 100755
index 0000000..d3c5e83
--- /dev/null
+++ b/doc/help/reference/synchronization/mutexes.htm
@@ -0,0 +1,82 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="Mutexes">
+<meta name="DC.subject" content="Mutexes">
+<meta name="keywords" content="Mutexes">
+<meta name="DC.Relation" scheme="URI" content="../../reference/synchronization.htm">
+<meta name="DC.Relation" scheme="URI" content="../../reference/synchronization/mutexes/mutex_concept.htm">
+<meta name="DC.Relation" scheme="URI" content="../../reference/synchronization/mutexes/hardware_transactional_locking.htm">
+<meta name="DC.Relation" scheme="URI" content="../../reference/synchronization/mutexes/mutex_cls.htm">
+<meta name="DC.Relation" scheme="URI" content="../../reference/synchronization/mutexes/recursive_mutex_cls.htm">
+<meta name="DC.Relation" scheme="URI" content="../../reference/synchronization/mutexes/spin_mutex_cls.htm">
+<meta name="DC.Relation" scheme="URI" content="../../reference/synchronization/mutexes/speculative_spin_mutex_cls.htm">
+<meta name="DC.Relation" scheme="URI" content="../../reference/synchronization/mutexes/queuing_mutex_cls.htm">
+<meta name="DC.Relation" scheme="URI" content="../../reference/synchronization/mutexes/readerwritermutex_concept.htm">
+<meta name="DC.Relation" scheme="URI" content="../../reference/synchronization/mutexes/spin_rw_mutex_cls.htm">
+<meta name="DC.Relation" scheme="URI" content="../../reference/synchronization/mutexes/queuing_rw_mutex_cls.htm">
+<meta name="DC.Relation" scheme="URI" content="../../reference/synchronization/mutexes/null_mutex_cls.htm">
+<meta name="DC.Relation" scheme="URI" content="../../reference/synchronization/mutexes/null_rw_mutex_cls.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="mutexes">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../intel_css_styles.css">
+<title>Mutexes</title>
+</head>
+<body id="mutexes">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(2);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="mutexes"><!-- --></a>
+
+
+    <h1 class="topictitle1">Mutexes</h1>
+
+    
+<div>
+        <div class="section">
+            <p>Mutexes provide MUTual EXclusion of threads from sections of code.</p>
+
+            <p>In general, strive for designs that minimize the use of explicit locking, because it can lead to serial bottlenecks. If explicitly locking is necessary, try to spread it out so that multiple threads usually do not contend to lock the same mutex.</p>
+</div>
+ 
+    </div>
+ 
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../reference/synchronization.htm">Synchronization</a></div>
+</div>
+<div>
+<ul class="ullinks">
+<li class="ulchildlink"><a href="../../reference/synchronization/mutexes/mutex_concept.htm">Mutex Concept</a><br>
+</li>
+<li class="ulchildlink"><a href="../../reference/synchronization/mutexes/hardware_transactional_locking.htm">Speculative locking (Transactional Lock Elision)</a><br>
+</li>
+<li class="ulchildlink"><a href="../../reference/synchronization/mutexes/mutex_cls.htm">mutex Class</a><br>
+</li>
+<li class="ulchildlink"><a href="../../reference/synchronization/mutexes/recursive_mutex_cls.htm">recursive_mutex Class</a><br>
+</li>
+<li class="ulchildlink"><a href="../../reference/synchronization/mutexes/spin_mutex_cls.htm">spin_mutex Class</a><br>
+</li>
+<li class="ulchildlink"><a href="../../reference/synchronization/mutexes/speculative_spin_mutex_cls.htm">speculative_spin_mutex Class</a><br>
+</li>
+<li class="ulchildlink"><a href="../../reference/synchronization/mutexes/queuing_mutex_cls.htm">queuing_mutex Class</a><br>
+</li>
+<li class="ulchildlink"><a href="../../reference/synchronization/mutexes/readerwritermutex_concept.htm">ReaderWriterMutex Concept</a><br>
+</li>
+<li class="ulchildlink"><a href="../../reference/synchronization/mutexes/spin_rw_mutex_cls.htm">spin_rw_mutex Class</a><br>
+</li>
+<li class="ulchildlink"><a href="../../reference/synchronization/mutexes/queuing_rw_mutex_cls.htm">queuing_rw_mutex Class</a><br>
+</li>
+<li class="ulchildlink"><a href="../../reference/synchronization/mutexes/null_mutex_cls.htm">null_mutex Class</a><br>
+</li>
+<li class="ulchildlink"><a href="../../reference/synchronization/mutexes/null_rw_mutex_cls.htm">null_rw_mutex Class</a><br>
+</li>
+</ul>
+</div>
+
+</body>
+</html>
diff --git a/doc/help/reference/synchronization/mutexes/hardware_transactional_locking.htm b/doc/help/reference/synchronization/mutexes/hardware_transactional_locking.htm
new file mode 100755
index 0000000..79c8e8b
--- /dev/null
+++ b/doc/help/reference/synchronization/mutexes/hardware_transactional_locking.htm
@@ -0,0 +1,102 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="Speculative locking (Transactional Lock Elision)">
+<meta name="DC.subject" content="Speculative Locking, Lock Elision">
+<meta name="keywords" content="Speculative Locking, Lock Elision">
+<meta name="DC.Relation" scheme="URI" content="../../../reference/synchronization/mutexes.htm">
+<meta name="DC.Relation" scheme="URI" content="mutex_concept.htm">
+<meta name="DC.Relation" scheme="URI" content="speculative_spin_mutex_cls.htm">
+<meta name="DC.Relation" scheme="URI" content="speculative_spin_rw_mutex_cls.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="hardware_transactional_locking">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../../intel_css_styles.css">
+<title>Speculative locking (Transactional Lock Elision)</title>
+</head>
+<body id="hardware_transactional_locking">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(3);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="hardware_transactional_locking"><!-- --></a>
+
+
+    <h1 class="topictitle1">Speculative locking (Transactional Lock Elision)</h1>
+
+    
+<div>
+    <div class="section">
+            <p>
+                On processors that support hardware transaction memory
+                (such as Intel® Transactional Synchronization Extensions (Intel® TSX))
+                speculative mutexes work by letting multiple threads acquire the same lock, as
+                long as there are no "conflicts" that may generate different results than
+                non-speculative locking.  The exact notion of a "conflict" depends on the hardware,
+                and typically means accessing the same cache line where one of the accesses
+                modifies the cache line.
+            </p>
+
+            <p>
+                On processors that do not support hardware transactional memory, speculative mutexes
+                behave like their non-speculating counterparts, but possibly with worse performance.
+            </p>
+
+            <p>
+                On Intel® processors, speculative mutexes use Intel TSX if available.
+                General guidance for speculative locking on such processors is:
+                <ul type="disc">
+                    <li>The protected critical sections should not conflict at cache-line granularity.</li>
+
+                    <li>The protected critical section should be short enough to not be affected by
+                        an interrupt or context switch.</li>
+
+                    <li> The protected critical section should not perform a system call.</li>
+
+                    <li>The protected critical section should not touch more data than fits in L1 cache.</li>
+
+                    <li>There may be a nesting limit for speculation.</li>
+
+                </ul>
+
+                Careful performance comparison with a non-speculative alternative is recommended.
+            </p>
+
+            <p>
+                For more guidance and examples about using Intel TSX effectively, see the
+                <em>Intel® 64 and IA-32 Architectures Optimization Reference Manual</em>, Chapter 12.
+            </p>
+
+    </div>
+
+        <div class="section"><h2 class="sectiontitle">References</h2>
+             <p>
+                 <a href="http://www.intel.com/content/dam/www/public/us/en/documents/manuals/64-ia-32-architectures-optimization-manual.pdf" target="_blank">
+                 <em>Intel® 64 and IA-32 Architectures Optimization Reference Manual</em>,
+                 Order Number 248966-027, June 2013
+                 </a>
+                 , Chapter 12.
+             </p>
+
+         </div>
+
+
+</div>
+
+    
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../../reference/synchronization/mutexes.htm">Mutexes</a></div>
+</div>
+<div class="See Also">
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="mutex_concept.htm">Mutex Concept</a></div>
+<div><a href="speculative_spin_mutex_cls.htm">speculative_spin_mutex</a></div>
+<div><a href="speculative_spin_rw_mutex_cls.htm">speculative_spin_rw_mutex (Community Preview Feature)</a></div></div>
+</div>
+
+</body>
+</html>
diff --git a/doc/help/reference/synchronization/mutexes/mutex_cls.htm b/doc/help/reference/synchronization/mutexes/mutex_cls.htm
new file mode 100755
index 0000000..c8b8770
--- /dev/null
+++ b/doc/help/reference/synchronization/mutexes/mutex_cls.htm
@@ -0,0 +1,67 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="mutex Class">
+<meta name="DC.subject" content="TestMetaData">
+<meta name="keywords" content="TestMetaData">
+<meta name="DC.Relation" scheme="URI" content="../../../reference/synchronization/mutexes.htm">
+<meta name="DC.Relation" scheme="URI" content="mutex_concept.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="mutex_cls">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../../intel_css_styles.css">
+<title>mutex Class</title>
+</head>
+<body id="mutex_cls">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(3);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="mutex_cls"><!-- --></a>
+
+
+    <h1 class="topictitle1">mutex Class</h1>
+
+    
+<div><div class="section"><h2 class="sectiontitle">Summary</h2>
+        <p>Class that models Mutex Concept using underlying OS locks.</p>
+
+        </div>
+<div class="section"><h2 class="sectiontitle">Syntax</h2>
+        <pre>class mutex;</pre>
+        </div>
+<div class="section"><h2 class="sectiontitle">Header</h2>
+        <pre>#include "tbb/mutex.h"</pre>
+        </div>
+<div class="section"><h2 class="sectiontitle">Description</h2>
+        <p>A <samp class="codeph">mutex</samp> models the Mutex Concept. It is a wrapper around OS calls that provide mutual exclusion. The advantages of using <samp class="codeph">mutex</samp> instead of the OS calls are:</p>
+
+        <ul type="disc">
+            <li><p>Portable across all operating systems supported by Intel® Threading Building Blocks.</p>
+</li>
+
+            <li><p>Releases the lock if an exception is thrown from the protected region of code.</p>
+</li>
+
+        </ul>
+
+        </div>
+<div class="section"><h2 class="sectiontitle">Members</h2>
+        <p>See Mutex Concept.</p>
+</div>
+
+        </div>
+ 
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../../reference/synchronization/mutexes.htm">Mutexes</a></div>
+</div>
+<div class="See Also">
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="mutex_concept.htm">Mutext Concept</a></div></div>
+</div>
+</body>
+</html>
diff --git a/doc/help/reference/synchronization/mutexes/mutex_concept.htm b/doc/help/reference/synchronization/mutexes/mutex_concept.htm
new file mode 100755
index 0000000..e7d9c24
--- /dev/null
+++ b/doc/help/reference/synchronization/mutexes/mutex_concept.htm
@@ -0,0 +1,905 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="Mutex Concept">
+<meta name="DC.subject" content="Mutex Concept">
+<meta name="keywords" content="Mutex Concept">
+<meta name="DC.Relation" scheme="URI" content="../../../reference/synchronization/mutexes.htm">
+<meta name="DC.Relation" scheme="URI" content="../c_11_synchronization.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="mutex_concept">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../../intel_css_styles.css">
+<title>Mutex Concept</title>
+</head>
+<body id="mutex_concept">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(3);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="mutex_concept"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Mutex Concept</h1>
+ 
+  
+  <div>
+	 <div class="section">
+		<p>The mutexes and locks here have relatively spartan interfaces that are
+		  designed for high performance. The interfaces enforce the 
+		  <em>scoped locking pattern</em>, which is widely used in C++ libraries
+		  because: 
+		</p>
+
+		<ol class="ol_3"> 
+		  <li>Does not require the programmer to remember to release the lock
+		  </li>
+
+		  <li>Releases the lock if  an exception is thrown out of the mutual
+			 exclusion region protected by the lock 
+		  </li>
+ 
+		</ol>
+
+		<p>There are two parts to the pattern: a 
+		  <em>mutex</em> object, for which construction of a 
+		  <em>lock</em> object acquires a lock on the mutex and destruction of the 
+		  <em>lock</em> object releases the lock. Here's an example:
+		</p>
+ 
+		<pre>
+{
+    // Construction of myLock acquires lock on myMutex 
+    M::scoped_lock myLock( myMutex );
+    // ... actions to be performed while holding the lock ...
+    // Destruction of myLock releases lock on myMutex
+}
+</pre> 
+		<p>If the actions throw an exception, the lock is automatically released
+		  as the block is exited. 
+		</p>
+
+		<p>The following table shows the requirements for the Mutex concept for a
+		  mutex type M 
+		</p>
+
+		<p>Mutex Concept
+		</p>
+
+	 </div>
+
+	 
+<div class="tablenoborder"><table cellpadding="4" summary="" width="100%" frame="border" border="1" cellspacing="0" rules="all">
+		  <thead align="left">
+			 <tr> 
+				<th class="cellrowborder" valign="top" id="d97337e70"> 
+				  <p><strong>Pseudo-Signature</strong>
+				  </p>
+ 
+				</th>
+ 
+				<th class="cellrowborder" valign="top" id="d97337e78"> 
+				  <p><strong>Semantics</strong>
+				  </p>
+ 
+				</th>
+ 
+			 </tr>
+
+		  </thead>
+
+		  <tbody>
+			 <tr> 
+				<td class="cellrowborder" valign="top" headers="d97337e70 "> 
+				  <p><samp class="codeph">M()</samp>
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" headers="d97337e78 "> 
+				  <p>Construct unlocked mutex.
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+
+			 <tr> 
+				<td class="cellrowborder" valign="top" headers="d97337e70 "> 
+				  <p><samp class="codeph">~M()</samp>
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" headers="d97337e78 "> 
+				  <p>Destroy unlocked mutex. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+
+			 <tr> 
+				<td class="cellrowborder" valign="top" headers="d97337e70 "> 
+				  <p><samp class="codeph">typename M::scoped_lock</samp>
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" headers="d97337e78 "> 
+				  <p>Corresponding scoped-lock type.
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+
+			 <tr> 
+				<td class="cellrowborder" valign="top" headers="d97337e70 "> 
+				  <p><samp class="codeph">M::scoped_lock()</samp>
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" headers="d97337e78 "> 
+				  <p>Construct lock without acquiring mutex.
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+
+			 <tr> 
+				<td class="cellrowborder" valign="top" headers="d97337e70 "> 
+				  <p><samp class="codeph">M::scoped_lock(M&)</samp>
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" headers="d97337e78 "> 
+				  <p>Construct lock and acquire lock on mutex.
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+
+			 <tr> 
+				<td class="cellrowborder" valign="top" headers="d97337e70 "> 
+				  <p><samp class="codeph">M::~scoped_lock()</samp>
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" headers="d97337e78 "> 
+				  <p>Release lock (if acquired). 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+
+			 <tr> 
+				<td class="cellrowborder" valign="top" headers="d97337e70 "> 
+				  <p><samp class="codeph">M::scoped_lock::acquire(M&)</samp>
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" headers="d97337e78 "> 
+				  <p>Acquire lock on mutex.
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+
+			 <tr> 
+				<td class="cellrowborder" valign="top" headers="d97337e70 "> 
+				  <p><samp class="codeph">bool M::scoped_lock::try_acquire(M&)</samp>
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" headers="d97337e78 "> 
+				  <p>Try to acquire lock on mutex. Return true if lock acquired,
+					 false otherwise.
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+
+			 <tr> 
+				<td class="cellrowborder" valign="top" headers="d97337e70 "> 
+				  <p><samp class="codeph">M::scoped_lock::release()</samp>
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" headers="d97337e78 "> 
+				  <p>Release lock.
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+
+			 <tr> 
+				<td class="cellrowborder" valign="top" headers="d97337e70 "> 
+				  <p><samp class="codeph">static const bool M::is_rw_mutex</samp>
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" headers="d97337e78 "> 
+				  <p>True if mutex is reader-writer mutex; false otherwise.
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+
+			 <tr> 
+				<td class="cellrowborder" valign="top" headers="d97337e70 "> 
+				  <p><samp class="codeph">static const bool M::is_recursive_mutex</samp>
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" headers="d97337e78 "> 
+				  <p>True if mutex is recursive mutex; false otherwise.
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+
+			 <tr> 
+				<td class="cellrowborder" valign="top" headers="d97337e70 "> 
+				  <p><samp class="codeph">static const bool M::is_fair_mutex</samp>
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" headers="d97337e78 "> 
+				  <p>True if mutex is fair; false otherwise.
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+
+		  </tbody>
+
+		</table>
+</div>
+
+	 <div class="section">
+		<p> The following table summarizes the classes that model the Mutex
+		  concept. 
+		</p>
+
+		<p>Mutexes that Model the Mutex Concept
+		</p>
+
+	 </div>
+
+	 
+<div class="tablenoborder"><table cellpadding="4" summary="" width="100%" frame="border" border="1" cellspacing="0" rules="all">
+		  <thead align="left">
+			 <tr> 
+				<th class="cellrowborder" valign="top" id="d97337e322"> 
+				  <p>
+				  </p>
+ 
+				</th>
+ 
+				<th class="cellrowborder" valign="top" id="d97337e328"> 
+				  <p><strong>Scalable</strong>
+				  </p>
+ 
+				</th>
+ 
+				<th class="cellrowborder" valign="top" id="d97337e336"> 
+				  <p><strong>Fair</strong>
+				  </p>
+ 
+				</th>
+ 
+				<th class="cellrowborder" valign="top" id="d97337e344"> 
+				  <p><strong>Reentrant</strong>
+				  </p>
+ 
+				</th>
+ 
+				<th class="cellrowborder" valign="top" id="d97337e352"> 
+				  <p><strong>Long Wait</strong>
+				  </p>
+ 
+				</th>
+ 
+				<th class="cellrowborder" valign="top" id="d97337e361"> 
+				  <p><strong>Size</strong>
+				  </p>
+ 
+				</th>
+ 
+			 </tr>
+
+		  </thead>
+
+		  <tbody>
+			 <tr> 
+				<td class="cellrowborder" valign="top" headers="d97337e322 "> 
+				  <p><samp class="codeph">mutex</samp>
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" headers="d97337e328 "> 
+				  <p>OS dependent
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" headers="d97337e336 "> 
+				  <p>OS dependent
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" headers="d97337e344 "> 
+				  <p>No
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" headers="d97337e352 "> 
+				  <p>Blocks
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" headers="d97337e361 "> 
+				  <p>>=3 words
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+
+			 <tr> 
+				<td class="cellrowborder" valign="top" headers="d97337e322 "> 
+				  <p><samp class="codeph">recursive_mutex</samp>
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" headers="d97337e328 "> 
+				  <p>OS dependent
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" headers="d97337e336 "> 
+				  <p>OS dependent
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" headers="d97337e344 "> 
+				  <p>Yes
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" headers="d97337e352 "> 
+				  <p>Blocks
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" headers="d97337e361 "> 
+				  <p>>=3 words
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+
+			 <tr> 
+				<td class="cellrowborder" valign="top" headers="d97337e322 "> 
+				  <p><samp class="codeph">spin_mutex</samp>
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" headers="d97337e328 "> 
+				  <p>No
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" headers="d97337e336 "> 
+				  <p>No
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" headers="d97337e344 "> 
+				  <p>No
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" headers="d97337e352 "> 
+				  <p>Yields
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" headers="d97337e361 "> 
+				  <p>1 byte
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+
+			 <tr> 
+				<td class="cellrowborder" valign="top" headers="d97337e322 "> 
+				  <p><samp class="codeph">speculative_spin_mutex</samp>
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" headers="d97337e328 "> 
+				  <p>No
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" headers="d97337e336 "> 
+				  <p>No
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" headers="d97337e344 "> 
+				  <p>No
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" headers="d97337e352 "> 
+				  <p>Yields
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" headers="d97337e361 "> 
+				  <p>2 cache lines
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+
+			 <tr> 
+				<td class="cellrowborder" valign="top" headers="d97337e322 "> 
+				  <p><samp class="codeph">queuing_mutex</samp>
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" headers="d97337e328 "> 
+				  <p>Yes
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" headers="d97337e336 "> 
+				  <p>Yes
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" headers="d97337e344 "> 
+				  <p>No
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" headers="d97337e352 "> 
+				  <p>Yields
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" headers="d97337e361 "> 
+				  <p>1 word
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+
+			 <tr> 
+				<td class="cellrowborder" valign="top" headers="d97337e322 "> 
+				  <p><samp class="codeph">spin_rw_mutex</samp>
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" headers="d97337e328 "> 
+				  <p>No
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" headers="d97337e336 "> 
+				  <p>No
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" headers="d97337e344 "> 
+				  <p>No
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" headers="d97337e352 "> 
+				  <p>Yields
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" headers="d97337e361 "> 
+				  <p>1 word
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+
+			 <tr> 
+				<td class="cellrowborder" valign="top" headers="d97337e322 "> 
+				  <p><samp class="codeph">queuing_rw_mutex</samp>
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" headers="d97337e328 "> 
+				  <p>Yes
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" headers="d97337e336 "> 
+				  <p>Yes
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" headers="d97337e344 "> 
+				  <p>No
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" headers="d97337e352 "> 
+				  <p>Yields
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" headers="d97337e361 "> 
+				  <p>1 word
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+
+			 <tr> 
+				<td class="cellrowborder" valign="top" headers="d97337e322 "> 
+				  <p><samp class="codeph">null_mutex</samp>
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" headers="d97337e328 "> 
+				  <p>-
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" headers="d97337e336 "> 
+				  <p>Yes
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" headers="d97337e344 "> 
+				  <p>Yes
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" headers="d97337e352 "> 
+				  <p>-
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" headers="d97337e361 "> 
+				  <p>empty
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+
+			 <tr> 
+				<td class="cellrowborder" valign="top" headers="d97337e322 "> 
+				  <p><samp class="codeph">null_rw_mutex</samp>
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" headers="d97337e328 "> 
+				  <p>-
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" headers="d97337e336 "> 
+				  <p>Yes
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" headers="d97337e344 "> 
+				  <p>Yes
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" headers="d97337e352 "> 
+				  <p>-
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" headers="d97337e361 "> 
+				  <p>empty
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+
+		  </tbody>
+
+		</table>
+</div>
+
+	 <div class="section">
+		<p>See the Intel® Threading Building Blocks Tutorial for a discussion of
+		  the mutex properties and the rationale for null mutexes.
+		</p>
+
+	 </div>
+
+	 <div class="section"><h2 class="sectiontitle">C++11 Compatibility</h2>
+		
+		<p>Classes 
+		  <samp class="codeph">mutex, recursive_mutex, spin_mutex,</samp> and 
+		  <samp class="codeph">spin_rw_mutex</samp> support the C++11 interfaces
+		  described in the following table.
+		</p>
+
+		<p>C++11 Methods Available for Some Mutexes.
+		</p>
+
+	 </div>
+
+	 
+<div class="tablenoborder"><table cellpadding="4" summary="" width="100%" frame="border" border="1" cellspacing="0" rules="all">
+		  <thead align="left">
+			 <tr> 
+				<th class="cellrowborder" valign="top" id="d97337e790"> 
+				  <p><strong>Pseudo-Signature</strong>
+				  </p>
+ 
+				</th>
+ 
+				<th class="cellrowborder" valign="top" id="d97337e798"> 
+				  <p><strong>Semantics</strong>
+				  </p>
+ 
+				</th>
+ 
+			 </tr>
+
+		  </thead>
+
+		  <tbody>
+			 <tr> 
+				<td class="cellrowborder" valign="top" headers="d97337e790 "> 
+				  <p><samp class="codeph">void M::lock()</samp>
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" headers="d97337e798 "> 
+				  <p>Acquire lock.
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+
+			 <tr> 
+				<td class="cellrowborder" valign="top" headers="d97337e790 "> 
+				  <p><samp class="codeph">bool M::try_lock()</samp>
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" headers="d97337e798 "> 
+				  <p>Try to acquire lock on mutex. Return true if lock acquired,
+					 false otherwise.
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+
+			 <tr> 
+				<td class="cellrowborder" valign="top" headers="d97337e790 "> 
+				  <p><samp class="codeph">void M::unlock()</samp>
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" headers="d97337e798 "> 
+				  <p>Release lock.
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+
+			 <tr> 
+				<td class="cellrowborder" valign="top" headers="d97337e790 "> 
+				  <p><samp class="codeph">class lock_guard<M></samp>
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" rowspan="2" valign="top" headers="d97337e798 "> 
+				  <p>See Section C++11 Synchronization
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+
+			 <tr> 
+				<td class="cellrowborder" valign="top" headers="d97337e790 "> 
+				  <p><samp class="codeph">class unique_lock<M></samp>
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+
+		  </tbody>
+
+		</table>
+</div>
+ 
+	 <div class="section">
+		<p>Classes mutex and recursive mutex also provide the C++11 idiom for
+		  accessing their underlying OS handles, as described in the following table. 
+		</p>
+
+		<p>Native handle interface (M is mutex or recursive_mutex).
+		</p>
+
+	 </div>
+ 
+	 
+<div class="tablenoborder"><table cellpadding="4" summary="" width="100%" frame="border" border="1" cellspacing="0" rules="all">
+		  <thead align="left">
+			 <tr> 
+				<th class="cellrowborder" valign="top" id="d97337e911"> 
+				  <p><strong>Pseudo-Signature</strong>
+				  </p>
+ 
+				</th>
+ 
+				<th class="cellrowborder" valign="top" id="d97337e919"> 
+				  <p><strong>Semantics</strong>
+				  </p>
+ 
+				</th>
+ 
+			 </tr>
+
+		  </thead>
+
+		  <tbody>
+			 <tr> 
+				<td class="cellrowborder" valign="top" headers="d97337e911 "> 
+				  <p><samp class="codeph">M::native_handle_type</samp>
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" headers="d97337e919 "> 
+				  <p>Native handle type.
+				  </p>
+ 
+				  <p>For Windows* operating system, LPCRITICAL_SECTION is the
+					 Native handle type.
+				  </p>
+ 
+				  <p>For all other operating system, it is (pthread_mutex*).
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+
+			 <tr> 
+				<td class="cellrowborder" valign="top" headers="d97337e911 "> 
+				  <p><samp class="codeph">native_handle_type M::native_handle()</samp>
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" headers="d97337e919 "> 
+				  <p>Get underlying native handle of mutex M.
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+
+		  </tbody>
+
+		</table>
+</div>
+
+	 <div class="section">
+		<p>As an extension to C++11, class 
+		  <samp class="codeph">spin_rw_mutex</samp> also has methods 
+		  <samp class="codeph">read_lock()</samp> and 
+		  <samp class="codeph">try_read_lock()</samp> for corresponding operations that
+		  acquire reader locks.
+		</p>
+
+	 </div>
+ 
+  </div>
+ 
+  
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../../reference/synchronization/mutexes.htm">Mutexes</a></div>
+</div>
+<div class="See Also">
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="../c_11_synchronization.htm">C++11 Synchronization
+		  </a></div></div>
+</div> 
+
+</body>
+</html>
diff --git a/doc/help/reference/synchronization/mutexes/null_mutex_cls.htm b/doc/help/reference/synchronization/mutexes/null_mutex_cls.htm
new file mode 100755
index 0000000..c542345
--- /dev/null
+++ b/doc/help/reference/synchronization/mutexes/null_mutex_cls.htm
@@ -0,0 +1,58 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="null_mutex Class">
+<meta name="DC.subject" content="null_mutex Class">
+<meta name="keywords" content="null_mutex Class">
+<meta name="DC.Relation" scheme="URI" content="../../../reference/synchronization/mutexes.htm">
+<meta name="DC.Relation" scheme="URI" content="mutex_concept.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="null_mutex_cls">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../../intel_css_styles.css">
+<title>null_mutex Class</title>
+</head>
+<body id="null_mutex_cls">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(3);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="null_mutex_cls"><!-- --></a>
+
+
+    <h1 class="topictitle1">null_mutex Class</h1>
+
+    
+<div><div class="section"><h2 class="sectiontitle">Summary</h2>
+        <p>Class that models Mutex Concept buts does nothing.</p>
+
+        </div>
+<div class="section"><h2 class="sectiontitle">Syntax</h2>
+        <pre>class null_mutex;</pre>
+        </div>
+<div class="section"><h2 class="sectiontitle">Header</h2>
+        <pre>#include "tbb/null_mutex.h"</pre>
+        </div>
+<div class="section"><h2 class="sectiontitle">Description</h2>
+        <p>A <samp class="codeph">null_mutex</samp> models the Mutex Concept syntactically, but does nothing. It is useful for instantiating a template that expects a Mutex, but no mutual exclusion is actually needed for that instance. </p>
+
+        </div>
+<div class="section"><h2 class="sectiontitle">Members</h2>
+        <p>See Mutex Concept.</p>
+</div>
+
+    </div>
+ 
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../../reference/synchronization/mutexes.htm">Mutexes</a></div>
+</div>
+<div class="See Also">
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="mutex_concept.htm">Mutext Concept</a></div></div>
+</div>
+</body>
+</html>
diff --git a/doc/help/reference/synchronization/mutexes/null_rw_mutex_cls.htm b/doc/help/reference/synchronization/mutexes/null_rw_mutex_cls.htm
new file mode 100755
index 0000000..917b5c2
--- /dev/null
+++ b/doc/help/reference/synchronization/mutexes/null_rw_mutex_cls.htm
@@ -0,0 +1,61 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="null_rw_mutex Class">
+<meta name="DC.subject" content="null_rw_mutex Class">
+<meta name="keywords" content="null_rw_mutex Class">
+<meta name="DC.Relation" scheme="URI" content="../../../reference/synchronization/mutexes.htm">
+<meta name="DC.Relation" scheme="URI" content="readerwritermutex_concept.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="null_rw_mutex_cls">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../../intel_css_styles.css">
+<title>null_rw_mutex Class</title>
+</head>
+<body id="null_rw_mutex_cls">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(3);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="null_rw_mutex_cls"><!-- --></a>
+
+
+    <h1 class="topictitle1">null_rw_mutex Class</h1>
+
+    
+<div>
+        <div class="section"><h2 class="sectiontitle">Summary</h2>
+            
+            <p>Class that models <samp class="codeph">ReaderWriterMutex</samp> Concept but
+                does nothing.</p>
+
+            </div>
+<div class="section"><h2 class="sectiontitle">Syntax</h2>
+            <pre>class null_rw_mutex;</pre>
+            </div>
+<div class="section"><h2 class="sectiontitle">Header</h2>
+            <pre>#include "tbb/null_rw_mutex.h"</pre>
+            </div>
+<div class="section"><h2 class="sectiontitle">Description</h2>
+            <p>A <samp class="codeph">null_rw_mutex</samp> models the ReaderWriterMutex Concept syntactically, but does nothing. It is useful for instantiating a template that expects a ReaderWriterMutex, but no mutual exclusion is actually needed for that instance..</p>
+
+            </div>
+<div class="section"><h2 class="sectiontitle">Members</h2>
+            <p>See ReaderWriterMutex concept.</p>
+</div>
+
+          </div>
+ 
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../../reference/synchronization/mutexes.htm">Mutexes</a></div>
+</div>
+<div class="See Also">
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="readerwritermutex_concept.htm">ReaderWriterMutex Concept</a></div></div>
+</div>
+</body>
+</html>
diff --git a/doc/help/reference/synchronization/mutexes/queuing_mutex_cls.htm b/doc/help/reference/synchronization/mutexes/queuing_mutex_cls.htm
new file mode 100755
index 0000000..15fd0dc
--- /dev/null
+++ b/doc/help/reference/synchronization/mutexes/queuing_mutex_cls.htm
@@ -0,0 +1,64 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="queuing_mutex Class">
+<meta name="DC.subject" content="queuing_mutex Class">
+<meta name="keywords" content="queuing_mutex Class">
+<meta name="DC.Relation" scheme="URI" content="../../../reference/synchronization/mutexes.htm">
+<meta name="DC.Relation" scheme="URI" content="mutex_concept.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="queuing_mutex_cls">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../../intel_css_styles.css">
+<title>queuing_mutex Class</title>
+</head>
+<body id="queuing_mutex_cls">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(3);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="queuing_mutex_cls"><!-- --></a>
+
+
+    <h1 class="topictitle1">queuing_mutex Class</h1>
+
+    
+<div><div class="section"><h2 class="sectiontitle">Summary</h2>
+        <p>Class that models Mutex Concept that is fair and scalable.</p>
+
+        </div>
+<div class="section"><h2 class="sectiontitle">Syntax</h2>
+        <pre>class queuing_mutex;</pre>
+        </div>
+<div class="section"><h2 class="sectiontitle">Header</h2>
+        <pre>#include "tbb/queuing_mutex.h"</pre>
+        </div>
+<div class="section"><h2 class="sectiontitle">Description</h2>
+        <p>A <samp class="codeph">queuing_mutex</samp> models the Mutex Concept. A
+                    <samp class="codeph">queuing_mutex</samp> is scalable, in the sense that if a thread has to
+                wait to acquire the mutex, it spins on its own local cache line. A
+                    <samp class="codeph">queuing_mutex</samp> is fair. Threads acquire a lock on a mutex in the
+                order that they request it. A <samp class="codeph">queuing_mutex</samp> is not recursive.</p>
+
+        <p>The current implementation does busy-waiting, so using a <samp class="codeph">queuing_mutex</samp> may degrade system performance if the wait is long. </p>
+
+        </div>
+<div class="section"><h2 class="sectiontitle">Members</h2>
+        <p>See Mutex Concept.</p>
+</div>
+
+ </div>
+ 
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../../reference/synchronization/mutexes.htm">Mutexes</a></div>
+</div>
+<div class="See Also">
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="mutex_concept.htm">Mutext Concept</a></div></div>
+</div>
+</body>
+</html>
diff --git a/doc/help/reference/synchronization/mutexes/queuing_rw_mutex_cls.htm b/doc/help/reference/synchronization/mutexes/queuing_rw_mutex_cls.htm
new file mode 100755
index 0000000..26eaba8
--- /dev/null
+++ b/doc/help/reference/synchronization/mutexes/queuing_rw_mutex_cls.htm
@@ -0,0 +1,59 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="queuing_rw_mutex Class">
+<meta name="DC.subject" content="queuing_rw_mutex Class">
+<meta name="keywords" content="queuing_rw_mutex Class">
+<meta name="DC.Relation" scheme="URI" content="../../../reference/synchronization/mutexes.htm">
+<meta name="DC.Relation" scheme="URI" content="readerwritermutex_concept.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="queuing_rw_mutex_cls">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../../intel_css_styles.css">
+<title>queuing_rw_mutex Class</title>
+</head>
+<body id="queuing_rw_mutex_cls">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(3);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="queuing_rw_mutex_cls"><!-- --></a>
+
+
+    <h1 class="topictitle1">queuing_rw_mutex Class</h1>
+
+    
+<div>
+        <div class="section"><h2 class="sectiontitle">Summary</h2>
+            
+            <p>Class that models ReaderWriterMutex Concept that is fair and scalable.</p>
+
+            </div>
+<div class="section"><h2 class="sectiontitle">Syntax</h2>
+            <pre>class queuing_rw_mutex;</pre>
+            </div>
+<div class="section"><h2 class="sectiontitle">Header</h2>
+            <pre>#include "tbb/queuing_rw_mutex.h"</pre>
+            </div>
+<div class="section"><h2 class="sectiontitle">Description</h2>
+            <p>A <samp class="codeph">queuing_rw_mutex</samp> models the ReaderWriterMutex Concept. A <samp class="codeph">queuing_rw_mutex</samp> is scalable, in the sense that if a thread has to wait to acquire the mutex, it spins on its own local cache line. A <samp class="codeph">queuing_rw_mutex</samp> is fair. Threads acquire a lock on a <samp class="codeph">queuing_rw_mutex</samp> in the order that they request it. A queuing_rw_mutex is not recursive.</p>
+
+            </div>
+<div class="section"><h2 class="sectiontitle">Members</h2>
+            <p>See ReaderWriterMutex concept.</p>
+</div>
+</div>
+ 
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../../reference/synchronization/mutexes.htm">Mutexes</a></div>
+</div>
+<div class="See Also">
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="readerwritermutex_concept.htm">ReaderWriterMutex Concept</a></div></div>
+</div>
+</body>
+</html>
diff --git a/doc/help/reference/synchronization/mutexes/readerwritermutex_concept.htm b/doc/help/reference/synchronization/mutexes/readerwritermutex_concept.htm
new file mode 100755
index 0000000..835269e
--- /dev/null
+++ b/doc/help/reference/synchronization/mutexes/readerwritermutex_concept.htm
@@ -0,0 +1,518 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="ReaderWriterMutex Concept">
+<meta name="DC.subject" content="ReaderWriterMutex Concept">
+<meta name="keywords" content="ReaderWriterMutex Concept">
+<meta name="DC.Relation" scheme="URI" content="../../../reference/synchronization/mutexes.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="readerwritermutex_concept">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../../intel_css_styles.css">
+<title>ReaderWriterMutex Concept</title>
+</head>
+<body id="readerwritermutex_concept">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(3);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="readerwritermutex_concept"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">ReaderWriterMutex Concept</h1>
+ 
+   
+  <div> 
+	 <div class="section"> 
+		<p>The ReaderWriterMutex concept extends the Mutex
+		  Concept to include the notion of reader-writer locks. It introduces a boolean
+		  parameter 
+		  <samp class="codeph">write</samp> that specifies whether a writer lock
+		  (<samp class="codeph">write</samp> =true) or reader lock (<samp class="codeph">write</samp> =false)
+		  is being requested. Multiple reader locks can be held simultaneously on a
+		  ReaderWriterMutex if it does not have a writer lock on it. A writer lock on a
+		  ReaderWriterMutex excludes all other threads from holding a lock on the mutex
+		  at the same time. 
+		</p>
+ 
+		<p> The following table shows the requirements for a
+		  ReaderWriterMutex 
+		  <samp class="codeph">RW</samp>. They form a superset of the Mutex Concept. 
+		</p>
+ 
+		
+<div class="tablenoborder"><a name="tbl28"><!-- --></a><table cellpadding="4" summary="" id="tbl28" width="100%" frame="hsides" border="1" rules="all"><caption><span class="tablecap">ReaderWriterMutex Concept</span></caption> 
+		   
+		   
+		  <thead align="left">
+			 <tr> 
+				<th class="cellrowborder" valign="top" width="NaN%" id="d101181e52"> 
+				  <p>Pseudo-Signature 
+				  </p>
+ 
+				</th>
+ 
+				<th class="row-nocellborder" valign="top" width="NaN%" id="d101181e58"> 
+				  <p>Semantics 
+				  </p>
+ 
+				</th>
+ 
+			 </tr>
+</thead>
+
+		  <tbody> 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="NaN%" headers="d101181e52 "> 
+				  <p><samp class="codeph">RW()</samp> 
+				  </p>
+ 
+				</td>
+ 
+				<td class="row-nocellborder" valign="top" width="NaN%" headers="d101181e58 "> 
+				  <p>Construct unlocked mutex. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="NaN%" headers="d101181e52 "> 
+				  <p><samp class="codeph">~RW()</samp> 
+				  </p>
+ 
+				</td>
+ 
+				<td class="row-nocellborder" valign="top" width="NaN%" headers="d101181e58 "> 
+				  <p>Destroy unlocked mutex. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="NaN%" headers="d101181e52 "> 
+				  <p><samp class="codeph">typename RW::scoped_lock</samp> 
+				  </p>
+ 
+				</td>
+ 
+				<td class="row-nocellborder" valign="top" width="NaN%" headers="d101181e58 "> 
+				  <p>Corresponding scoped-lock type. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="NaN%" headers="d101181e52 "> 
+				  <p><samp class="codeph">RW::scoped_lock()</samp> 
+				  </p>
+ 
+				</td>
+ 
+				<td class="row-nocellborder" valign="top" width="NaN%" headers="d101181e58 "> 
+				  <p>Construct lock without acquiring mutex. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="NaN%" headers="d101181e52 "> 
+				  <p><samp class="codeph">RW::scoped_lock(RW&, bool
+						write=true)</samp> 
+				  </p>
+ 
+				</td>
+ 
+				<td class="row-nocellborder" valign="top" width="NaN%" headers="d101181e58 "> 
+				  <p>Construct lock and acquire lock on mutex. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="NaN%" headers="d101181e52 "> 
+				  <p><samp class="codeph">RW::~scoped_lock()</samp> 
+				  </p>
+ 
+				</td>
+ 
+				<td class="row-nocellborder" valign="top" width="NaN%" headers="d101181e58 "> 
+				  <p>Release lock (if acquired). 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="NaN%" headers="d101181e52 "> 
+				  <p><samp class="codeph">RW::scoped_lock::acquire(RW&,bool
+						write=true)</samp> 
+				  </p>
+ 
+				</td>
+ 
+				<td class="row-nocellborder" valign="top" width="NaN%" headers="d101181e58 "> 
+				  <p>Acquire lock on mutex. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="NaN%" headers="d101181e52 "> 
+				  <p><samp class="codeph">bool
+						RW::scoped_lock::try_acquire(RW&, bool write=true)</samp> 
+				  </p>
+ 
+				</td>
+ 
+				<td class="row-nocellborder" valign="top" width="NaN%" headers="d101181e58 "> 
+				  <p>Try to acquire lock on mutex. Return 
+					 <samp class="codeph">true</samp> if lock acquired, 
+					 <samp class="codeph">false</samp> otherwise. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="NaN%" headers="d101181e52 "> 
+				  <p><samp class="codeph">RW::scoped_lock::release()</samp>
+					 
+				  </p>
+ 
+				</td>
+ 
+				<td class="row-nocellborder" valign="top" width="NaN%" headers="d101181e58 "> 
+				  <p>Release lock. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="NaN%" headers="d101181e52 "> 
+				  <p><samp class="codeph">bool
+						RW::scoped_lock::upgrade_to_writer()</samp> 
+				  </p>
+ 
+				</td>
+ 
+				<td class="row-nocellborder" valign="top" width="NaN%" headers="d101181e58 "> 
+				  <p>Change reader lock to writer lock. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="NaN%" headers="d101181e52 "> 
+				  <p><samp class="codeph">bool
+						RW::scoped_lock::downgrade_to_reader()</samp> 
+				  </p>
+ 
+				</td>
+ 
+				<td class="row-nocellborder" valign="top" width="NaN%" headers="d101181e58 "> 
+				  <p>Change writer lock to reader lock. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="NaN%" headers="d101181e52 "> 
+				  <p><samp class="codeph">static const bool RW::is_rw_mutex =
+						true</samp> 
+				  </p>
+ 
+				</td>
+ 
+				<td class="row-nocellborder" valign="top" width="NaN%" headers="d101181e58 "> 
+				  <p>True. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="NaN%" headers="d101181e52 "> 
+				  <p><samp class="codeph">static const bool
+						RW::is_recursive_mutex</samp> 
+				  </p>
+ 
+				</td>
+ 
+				<td class="row-nocellborder" valign="top" width="NaN%" headers="d101181e58 "> 
+				  <p>True if mutex is recursive; false
+					 otherwise. For all current reader-writer mutexes, false. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="NaN%" headers="d101181e52 "> 
+				  <p><samp class="codeph">static const bool
+						RW::is_fair_mutex</samp> 
+				  </p>
+ 
+				</td>
+ 
+				<td class="row-nocellborder" valign="top" width="NaN%" headers="d101181e58 "> 
+				  <p>True if mutex is fair; false otherwise. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+		  </tbody>
+ 
+		</table>
+</div>
+ 
+	 </div>
+ 
+	 
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"><span class="tabledesc">The following table provides explain the semantics of the
+		  ReaderWriterMutex concept in detail. 
+		</span><thead align="left"> 
+			 <tr> 
+				<th class="cellrowborder" valign="top" width="33.89830508474576%" id="d101181e329">Member 
+				</th>
+ 
+				<th class="cellrowborder" valign="top" width="66.10169491525423%" id="d101181e332">Description 
+				</th>
+ 
+			 </tr>
+</thead>
+ 
+		  <tbody> 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d101181e329 "><span class="keyword">Model Types</span> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d101181e332 "> 
+				  <p>Classes 
+					 <samp class="codeph"><samp class="codeph">spin_rw_mutex</samp></samp> and 
+					 <samp class="codeph"><samp class="codeph">queuing_rw_mutex</samp></samp> model the
+					 ReaderWriterMutex concept. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d101181e329 "><span class="keyword">ReaderWriterMutex()</span> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d101181e332 "> 
+				  <p>Constructs unlocked 
+					 <samp class="codeph">ReaderWriterMutex</samp>. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d101181e329 "><span class="keyword">~ReaderWriterMutex()</span> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d101181e332 "> 
+				  <p>Destroys unlocked 
+					 <samp class="codeph">ReaderWriterMutex</samp>. The effect of destroying a
+					 locked 
+					 <samp class="codeph">ReaderWriterMutex</samp> is undefined. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d101181e329 "><span class="keyword">ReaderWriterMutex::scoped_lock()</span> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d101181e332 "> 
+				  <p>Constructs a 
+					 <samp class="codeph">scoped_lock</samp> object that does not hold a lock
+					 on any mutex. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d101181e329 "><span class="keyword"> ReaderWriterMutex::scoped_lock(
+					 ReaderWriterMutex& rw, bool write =true)</span> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d101181e332 "> 
+				  <p>Constructs a 
+					 <samp class="codeph">scoped_lock</samp> object that acquires a lock on
+					 mutex 
+					 <em>rw</em>. The lock is a writer lock if 
+					 <samp class="codeph"><em>write</em></samp> is true; a reader lock otherwise.
+					 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d101181e329 "><span class="keyword">ReaderWriterMutex::~scoped_lock()</span> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d101181e332 "> 
+				  <p>If the object holds a lock on a 
+					 <samp class="codeph">ReaderWriterMutex</samp>, releases the lock. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d101181e329 "><span class="keyword">void ReaderWriterMutex::
+					 scoped_lock:: acquire( ReaderWriterMutex& rw,  bool write=true )</span> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d101181e332 "> 
+				  <p>Acquires a lock on mutex 
+					 <em>rw</em>. The lock is a writer lock if 
+					 <samp class="codeph"><em>write</em></samp> is true; a reader lock otherwise.
+					 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d101181e329 "><span class="keyword"> bool ReaderWriterMutex::
+					 scoped_lock::try_acquire( ReaderWriterMutex& rw, bool write=true
+					 )</span> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d101181e332 "> 
+				  <p>Attempts to acquire a lock on mutex 
+					 <em>rw</em>. The lock is a writer lock if 
+					 <samp class="codeph"><em>write</em></samp> is true; a reader lock otherwise.
+					 
+				  </p>
+ 
+				  <p><strong>Returns</strong>: 
+					 <samp class="codeph">true</samp> if the lock is acquired, 
+					 <samp class="codeph">false</samp> otherwise. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d101181e329 "><span class="keyword"> void ReaderWriterMutex::
+					 scoped_lock::release()</span> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d101181e332 "> 
+				  <p>Releases lock. The effect is undefined if
+					 no lock is held. 
+				  </p>
+ 
+				  <p><strong>Returns</strong>: 
+					 <samp class="codeph">false</samp> if lock was released in favor of another
+					 upgrade request and then reacquired; 
+					 <samp class="codeph">true</samp> otherwise. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d101181e329 "><span class="keyword">bool ReaderWriterMutex::
+					 scoped_lock::upgrade_to_writer()</span> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d101181e332 "> 
+				  <p>Changes reader lock to a writer lock. The
+					 effect is undefined if the object does not already hold a reader lock. 
+				  </p>
+ 
+				  <p><strong>Returns</strong>: 
+					 <samp class="codeph">false</samp> if lock was released and reacquired; 
+					 <samp class="codeph">true</samp> otherwise. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d101181e329 "><span class="keyword">bool ReaderWriterMutex::
+					 scoped_lock::downgrade_to_reader()</span> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d101181e332 "> 
+				  <p>Changes writer lock to a reader lock. The
+					 effect is undefined if the object does not already hold a writer lock. 
+				  </p>
+ 
+				  <p><strong>Returns</strong>: 
+					 <samp class="codeph">false</samp> if lock was released and reacquired; 
+					 <samp class="codeph">true</samp> otherwise. 
+				  </p>
+ 
+				  <p>Intel's current implementations for 
+					 <samp class="codeph">spin_rw_mutex</samp> and 
+					 <samp class="codeph">queuing_rw_mutex</samp> always return 
+					 <samp class="codeph">true</samp>. Different implementations might
+					 sometimes return 
+					 <samp class="codeph">false</samp>. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+		  </tbody>
+ 
+		</table>
+</div>
+ 
+  </div>
+ 
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../../reference/synchronization/mutexes.htm">Mutexes</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/reference/synchronization/mutexes/recursive_mutex_cls.htm b/doc/help/reference/synchronization/mutexes/recursive_mutex_cls.htm
new file mode 100755
index 0000000..eea7ae3
--- /dev/null
+++ b/doc/help/reference/synchronization/mutexes/recursive_mutex_cls.htm
@@ -0,0 +1,59 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="recursive_mutex Class">
+<meta name="DC.subject" content="recursive_mutex Class">
+<meta name="keywords" content="recursive_mutex Class">
+<meta name="DC.Relation" scheme="URI" content="../../../reference/synchronization/mutexes.htm">
+<meta name="DC.Relation" scheme="URI" content="mutex_concept.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="recursive_mutex_cls">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../../intel_css_styles.css">
+<title>recursive_mutex Class</title>
+</head>
+<body id="recursive_mutex_cls">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(3);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="recursive_mutex_cls"><!-- --></a>
+
+
+    <h1 class="topictitle1">recursive_mutex Class</h1>
+
+    
+<div>
+        <div class="section"><h2 class="sectiontitle">Summary</h2>
+            <p>Class that models Mutex Concept using underlying OS locks and permits recursive acquisition.</p>
+
+            </div>
+<div class="section"><h2 class="sectiontitle">Syntax</h2>
+            <pre>class recursive_mutex;</pre>
+            </div>
+<div class="section"><h2 class="sectiontitle">Header</h2>
+            <pre>#include "tbb/recursive_mutex.h"</pre>
+            </div>
+<div class="section"><h2 class="sectiontitle">Description</h2>
+            <p>A <samp class="codeph">recursive_mutex</samp> is similar to a mutex, except that a thread may acquire multiple locks on it. The thread must release all locks on a <samp class="codeph">recursive_mutex</samp> before any other thread can acquire a lock on it.</p>
+
+            </div>
+<div class="section"><h2 class="sectiontitle">Members</h2>
+            <p>See Mutex Concept.</p>
+</div>
+
+   </div>
+ 
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../../reference/synchronization/mutexes.htm">Mutexes</a></div>
+</div>
+<div class="See Also">
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="mutex_concept.htm">Mutext Concept</a></div></div>
+</div>
+</body>
+</html>
diff --git a/doc/help/reference/synchronization/mutexes/speculative_spin_mutex_cls.htm b/doc/help/reference/synchronization/mutexes/speculative_spin_mutex_cls.htm
new file mode 100755
index 0000000..251fcd9
--- /dev/null
+++ b/doc/help/reference/synchronization/mutexes/speculative_spin_mutex_cls.htm
@@ -0,0 +1,138 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="speculative_spin_mutex Class">
+<meta name="DC.subject" content="speculative_spin_mutex Class">
+<meta name="keywords" content="speculative_spin_mutex Class">
+<meta name="DC.Relation" scheme="URI" content="../../../reference/synchronization/mutexes.htm">
+<meta name="DC.Relation" scheme="URI" content="mutex_concept.htm">
+<meta name="DC.Relation" scheme="URI" content="hardware_transactional_locking.htm">
+<meta name="DC.Relation" scheme="URI" content="spin_mutex_cls.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="speculative_spin_mutex_cls">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../../intel_css_styles.css">
+<title>speculative_spin_mutex Class</title>
+</head>
+<body id="speculative_spin_mutex_cls">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(3);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="speculative_spin_mutex_cls"><!-- --></a>
+
+
+    <h1 class="topictitle1">speculative_spin_mutex Class</h1>
+
+    
+<div>
+        <div class="section"><h2 class="sectiontitle">speculative_spin_mutex Class</h2>
+            <p>
+                <strong>Summary</strong>
+            </p>
+
+            <p>
+                Class that models Mutex Concept using a spin lock, and for processors which
+                support hardware transactional memory (such as Intel® Transactional
+                Synchronization Extensions (Intel® TSX)) may be implemented in a
+                way that allows non-contending changes to the protected data to proceed
+                in parallel.
+            </p>
+
+        </div>
+
+        <div class="section"><h2 class="sectiontitle">Syntax</h2>
+            <pre>class speculative_spin_mutex;</pre>
+        </div>
+
+        <div class="section"><h2 class="sectiontitle">Header</h2>
+            <pre>#include "tbb/spin_mutex.h"</pre>
+        </div>
+
+        <div class="section"><h2 class="sectiontitle">Description</h2>
+            <p>
+                A <samp class="codeph">speculative_spin_mutex</samp> models the Mutex Concept.  It is not
+                fair and not recursive.  A <samp class="codeph">speculative_spin_mutex</samp> is like a
+                <samp class="codeph">spin_mutex</samp>, but may provide better throughput than
+                non-speculative mutexes when
+                <ul type="disc">
+                <li>used on a processor that supports hardware transactional memory <em>and</em></li>
+
+                <li>
+                    multiple threads can usually execute the critical section(s) protected by
+                    the mutex concurrently without conflicting.
+                </li>
+
+                </ul>
+
+                Otherwise it performs like a <samp class="codeph">spin_mutex</samp>, possibly with
+                worse throughput.
+            </p>
+
+            <p>
+                Please see the Speculative locking section for more details.
+            </p>
+
+            <div class="Note"><h3 class="NoteTipHead">
+					Caution</h3>
+                <p>
+                    The <samp class="codeph">speculative_spin_mutex</samp> is padded to ensure each instance appears on
+                    a separate cache line not shared with any other data.  Because of that the size of the
+                    mutex is twice the cache line size.
+                </p>
+
+            </div>
+            <div class="Note"><h3 class="NoteTipHead">
+					Caution</h3>
+                <p>
+                    For the implementation of <samp class="codeph">speculative_spin_mutex</samp>
+                    in Intel® Threading Building Blocks (Intel® TBB)) version 4.2
+                    running on a 4<sup>th</sup> generation Intel® Core™ processor,
+                    any lock nesting may thwart speculation.
+                </p>
+
+            </div>
+            <div class="Note"><h3 class="NoteTipHead">
+					Caution</h3>
+                <p>
+                    Depending on the version of Intel TBB and the hardware, other caveats may apply.
+                    Please check the Release Notes for more information.
+                </p>
+
+            </div>
+        </div>
+
+        <div class="section"><h2 class="sectiontitle">References</h2>
+             <p>
+                 <a href="http://www.intel.com/content/dam/www/public/us/en/documents/manuals/64-ia-32-architectures-optimization-manual.pdf" target="_blank">
+                 <em>Intel® 64 and IA-32 Architectures Optimization Reference Manual</em>,
+                 Order Number 248966-027, June 2013
+                 </a>
+                 , Chapter 12.
+             </p>
+
+         </div>
+
+         <div class="section"><h2 class="sectiontitle">Members</h2>
+             <p>See Mutex Concept.</p>
+
+         </div>
+
+
+    </div>
+ 
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../../reference/synchronization/mutexes.htm">Mutexes</a></div>
+</div>
+<div class="See Also">
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="mutex_concept.htm">Mutex Concept</a></div>
+<div><a href="hardware_transactional_locking.htm">Speculative locking (Transactional Lock Elision)</a></div>
+<div><a href="spin_mutex_cls.htm">spin_mutex</a></div></div>
+</div>
+</body>
+</html>
diff --git a/doc/help/reference/synchronization/mutexes/speculative_spin_rw_mutex_cls.htm b/doc/help/reference/synchronization/mutexes/speculative_spin_rw_mutex_cls.htm
new file mode 100755
index 0000000..56f65b5
--- /dev/null
+++ b/doc/help/reference/synchronization/mutexes/speculative_spin_rw_mutex_cls.htm
@@ -0,0 +1,146 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="speculative_spin_rw_mutex Class (Community Preview Feature)">
+<meta name="DC.subject" content="speculative_spin_rw_mutex Class">
+<meta name="keywords" content="speculative_spin_rw_mutex Class">
+<meta name="DC.Relation" scheme="URI" content="../../../reference/appendices/community_preview_features.htm">
+<meta name="DC.Relation" scheme="URI" content="readerwritermutex_concept.htm">
+<meta name="DC.Relation" scheme="URI" content="hardware_transactional_locking.htm">
+<meta name="DC.Relation" scheme="URI" content="spin_rw_mutex_cls.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="speculative_spin_rw_mutex_cls">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../../intel_css_styles.css">
+<title>speculative_spin_rw_mutex Class (Community Preview Feature)</title>
+</head>
+<body id="speculative_spin_rw_mutex_cls">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(3);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="speculative_spin_rw_mutex_cls"><!-- --></a>
+
+
+    <h1 class="topictitle1">speculative_spin_rw_mutex Class (Community Preview Feature)</h1>
+
+    
+<div>
+        <div class="section"><h2 class="sectiontitle">speculative_spin_rw_mutex Class (Community Preview Feature)</h2>
+            <p>
+                <strong>Summary</strong>
+            </p>
+
+            <p>
+                Class that models ReaderWriterMutex Concept, and for processors which
+                support hardware transactional memory (such as Intel® Transactional
+                Synchronization Extensions (Intel® TSX)) may be implemented in a
+                way that allows non-contending changes to the protected data to proceed
+                in parallel.
+            </p>
+
+            <p>
+                The <samp class="codeph">speculative_spin_rw_mutex</samp> is a Community Preview Feature
+                that requires linkage with the Community Preview shared library.
+            </p>
+
+        </div>
+
+        <div class="section"><h2 class="sectiontitle">Syntax</h2>
+            <pre>class speculative_spin_rw_mutex;</pre>
+        </div>
+
+        <div class="section"><h2 class="sectiontitle">Header</h2>
+            <pre>
+#define TBB_PREVIEW_SPECULATIVE_SPIN_RW_MUTEX
+#include "tbb/spin_rw_mutex.h"
+            </pre>
+        </div>
+
+        <div class="section"><h2 class="sectiontitle">Description</h2>
+            <p>
+                A <samp class="codeph">speculative_spin_rw_mutex</samp> models the ReaderWriterMutex Concept.  It is not
+                scalable, fair or recursive.  A <samp class="codeph">speculative_spin_rw_mutex</samp> is like a
+                <samp class="codeph">spin_rw_mutex</samp>, but may provide better throughput than
+                non-speculative mutexes when
+                <ul type="disc">
+                <li>used on a processor that supports hardware transactional memory <em>and</em></li>
+
+                <li>
+                    multiple threads can usually execute the critical section(s) protected by
+                    the mutex concurrently without conflicting.
+                </li>
+
+                </ul>
+
+                Otherwise it performs like a <samp class="codeph">spin_rw_mutex</samp>, possibly with
+                worse throughput.
+            </p>
+
+            <p>
+                Please see the Speculative locking section for more details.
+            </p>
+
+            <div class="Note"><h3 class="NoteTipHead">
+					Caution</h3>
+                <p>
+                    The <samp class="codeph">speculative_spin_rw_mutex</samp> is padded to ensure each instance appears on
+                    a separate cache line not shared with any other data.  Because of that the size of the
+                    mutex is three times the cache line size.
+                </p>
+
+            </div>
+            <div class="Note"><h3 class="NoteTipHead">
+					Caution</h3>
+                <p>
+                    For the implementation of <samp class="codeph">speculative_spin_rw_mutex</samp>
+                    in Intel® Threading Building Blocks (Intel® TBB)) version 4.2
+                    running on a 4<sup>th</sup> generation Intel® Core™ processor,
+                    any lock nesting may thwart speculation.
+                </p>
+
+            </div>
+            <div class="Note"><h3 class="NoteTipHead">
+					Caution</h3>
+                <p>
+                    Depending on the version of Intel TBB and the hardware, other caveats may apply.
+                    Please check the Release Notes for more information.
+                </p>
+
+            </div>
+        </div>
+
+        <div class="section"><h2 class="sectiontitle">References</h2>
+             <p>
+                 <a href="http://www.intel.com/content/dam/www/public/us/en/documents/manuals/64-ia-32-architectures-optimization-manual.pdf" target="_blank">
+                 <em>Intel® 64 and IA-32 Architectures Optimization Reference Manual</em>,
+                 Order Number 248966-027, June 2013
+                 </a>
+                 , Chapter 12.
+             </p>
+
+         </div>
+
+         <div class="section"><h2 class="sectiontitle">Members</h2>
+             <p>See ReaderWriterMutex Concept.</p>
+
+         </div>
+
+
+    </div>
+ 
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../../reference/appendices/community_preview_features.htm">Community Preview Features</a></div>
+</div>
+<div class="See Also">
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="readerwritermutex_concept.htm">ReaderWriterMutex Concept</a></div>
+<div><a href="hardware_transactional_locking.htm">Speculative locking (Transactional Lock Elision)</a></div>
+<div><a href="spin_rw_mutex_cls.htm">spin_rw_mutex</a></div></div>
+</div>
+</body>
+</html>
diff --git a/doc/help/reference/synchronization/mutexes/spin_mutex_cls.htm b/doc/help/reference/synchronization/mutexes/spin_mutex_cls.htm
new file mode 100755
index 0000000..613acec
--- /dev/null
+++ b/doc/help/reference/synchronization/mutexes/spin_mutex_cls.htm
@@ -0,0 +1,62 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="spin_mutex Class">
+<meta name="DC.subject" content="spin_mutex Class">
+<meta name="keywords" content="spin_mutex Class">
+<meta name="DC.Relation" scheme="URI" content="../../../reference/synchronization/mutexes.htm">
+<meta name="DC.Relation" scheme="URI" content="mutex_concept.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="spin_mutex_cls">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../../intel_css_styles.css">
+<title>spin_mutex Class</title>
+</head>
+<body id="spin_mutex_cls">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(3);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="spin_mutex_cls"><!-- --></a>
+
+
+    <h1 class="topictitle1">spin_mutex Class</h1>
+
+    
+<div>
+        <div class="section"><h2 class="sectiontitle"> spin_mutex Class</h2>
+            <p><strong>Summary</strong></p>
+
+            <p>Class that models Mutex Concept using a spin lock.</p>
+
+            </div>
+<div class="section"><h2 class="sectiontitle">Syntax</h2>
+            <pre>class spin_mutex;</pre>
+            </div>
+<div class="section"><h2 class="sectiontitle">Header</h2>
+            <pre>#include "tbb/spin_mutex.h"</pre>
+            </div>
+<div class="section"><h2 class="sectiontitle">Description</h2>
+            <p>A <samp class="codeph">spin_mutex</samp> models the Mutex Concept. A <samp class="codeph">spin_mutex</samp> is not scalable, fair, or recursive. It is ideal when the lock is lightly contended and is held for only a few machine instructions. If a thread has to wait to acquire a <samp class="codeph">spin_mutex</samp>, it busy waits, which can degrade system performance if the wait is long. However, if the wait is typically short, a <samp class="codeph">spin_mutex</samp> sign [...]
+
+            </div>
+<div class="section"><h2 class="sectiontitle">Members</h2>
+            <p>See Mutex Concept.</p>
+</div>
+    
+        
+    </div>
+ 
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../../reference/synchronization/mutexes.htm">Mutexes</a></div>
+</div>
+<div class="See Also">
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="mutex_concept.htm">Mutext Concept</a></div></div>
+</div>
+</body>
+</html>
diff --git a/doc/help/reference/synchronization/mutexes/spin_rw_mutex_cls.htm b/doc/help/reference/synchronization/mutexes/spin_rw_mutex_cls.htm
new file mode 100755
index 0000000..028ae8d
--- /dev/null
+++ b/doc/help/reference/synchronization/mutexes/spin_rw_mutex_cls.htm
@@ -0,0 +1,58 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="spin_rw_mutex Class">
+<meta name="DC.subject" content="spin_rw_mutex Class">
+<meta name="keywords" content="spin_rw_mutex Class">
+<meta name="DC.Relation" scheme="URI" content="../../../reference/synchronization/mutexes.htm">
+<meta name="DC.Relation" scheme="URI" content="readerwritermutex_concept.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="spin_rw_mutex_cls">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../../intel_css_styles.css">
+<title>spin_rw_mutex Class</title>
+</head>
+<body id="spin_rw_mutex_cls">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(3);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="spin_rw_mutex_cls"><!-- --></a>
+
+
+    <h1 class="topictitle1">spin_rw_mutex Class</h1>
+
+    
+<div><div class="section"><h2 class="sectiontitle">Summary</h2>
+        <p>Class that models ReaderWriterMutex Concept that is unfair and not scalable.</p>
+
+        </div>
+<div class="section"><h2 class="sectiontitle">Syntax</h2>
+        <pre>class spin_rw_mutex;</pre>
+        </div>
+<div class="section"><h2 class="sectiontitle">Header</h2>
+        <pre>#include "tbb/spin_rw_mutex.h"</pre>
+        </div>
+<div class="section"><h2 class="sectiontitle">Description</h2>
+        <p>A <samp class="codeph">spin_rw_mutex</samp> models the ReaderWriterMutex Concept. A <samp class="codeph">spin_rw_mutex</samp> is not scalable, fair, or recursive. It is ideal when the lock is lightly contended and is held for only a few machine instructions. If a thread has to wait to acquire a <samp class="codeph">spin_rw_mutex</samp>, it busy waits, which can degrade system performance if the wait is long. However, if the wait is typically short, a <samp class="codeph">spin_ [...]
+
+        </div>
+<div class="section"><h2 class="sectiontitle">Members</h2>
+        <p>See ReaderWriterMutex concept.</p>
+</div>
+
+        </div>
+ 
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../../reference/synchronization/mutexes.htm">Mutexes</a></div>
+</div>
+<div class="See Also">
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="readerwritermutex_concept.htm">ReaderWriterMutex Concept</a></div></div>
+</div>
+</body>
+</html>
diff --git a/doc/help/reference/synchronization/ppl_compatibility/critical_section.htm b/doc/help/reference/synchronization/ppl_compatibility/critical_section.htm
new file mode 100755
index 0000000..299db8a
--- /dev/null
+++ b/doc/help/reference/synchronization/ppl_compatibility/critical_section.htm
@@ -0,0 +1,69 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="critical_section">
+<meta name="DC.subject" content="critical_section">
+<meta name="keywords" content="critical_section">
+<meta name="DC.Relation" scheme="URI" content="../../../reference/synchronization/ppl_compatibility_synch.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="critical_section">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../../intel_css_styles.css">
+<title>critical_section</title>
+</head>
+<body id="critical_section">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(3);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="critical_section"><!-- --></a>
+
+
+    <h1 class="topictitle1">critical_section</h1>
+
+    
+<div><div class="section"><h2 class="sectiontitle">Summary</h2>
+        <p>A PPL-compatible mutex.</p>
+
+        </div>
+<div class="section"><h2 class="sectiontitle">Syntax</h2>
+        <pre>class critical_section;</pre>
+        </div>
+<div class="section"><h2 class="sectiontitle">Header</h2>
+        <pre>#include "tbb/critical_section.h"</pre>
+        </div>
+<div class="section"><h2 class="sectiontitle">Description</h2>
+        <p>A critical_section implements a PPL <samp class="codeph">critical_section</samp>. Its functionality is a subset of the functionality of a <samp class="codeph">tbb::mutex</samp>.</p>
+
+        </div>
+<div class="section"><h2 class="sectiontitle">Members</h2>
+<pre>namespace tbb {
+        class critical_section {
+        public:
+            critical_section();
+            ~critical_section();
+            void lock();
+            bool try_lock();
+            void unlock();
+     
+            class scoped_lock {
+            public:
+                scoped_lock( critical_section& mutex );
+                ~scoped_lock();
+            };
+       };
+    }</pre></div>
+
+ 
+    </div>
+ 
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../../reference/synchronization/ppl_compatibility_synch.htm">PPL Compatibility</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/reference/synchronization/ppl_compatibility/reader_writer_lock_cls.htm b/doc/help/reference/synchronization/ppl_compatibility/reader_writer_lock_cls.htm
new file mode 100755
index 0000000..ed58ebb
--- /dev/null
+++ b/doc/help/reference/synchronization/ppl_compatibility/reader_writer_lock_cls.htm
@@ -0,0 +1,286 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="reader_writer_lock Class">
+<meta name="DC.subject" content="reader_writer_lock Class">
+<meta name="keywords" content="reader_writer_lock Class">
+<meta name="DC.Relation" scheme="URI" content="../../../reference/synchronization/ppl_compatibility_synch.htm">
+<meta name="DC.Relation" scheme="URI" content="../mutexes/mutex_concept.htm">
+<meta name="DC.Relation" scheme="URI" content="../mutexes/readerwritermutex_concept.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="reader_writer_lock_cls">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../../intel_css_styles.css">
+<title>reader_writer_lock Class</title>
+</head>
+<body id="reader_writer_lock_cls">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(3);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="reader_writer_lock_cls"><!-- --></a>
+
+
+    <h1 class="topictitle1">reader_writer_lock Class</h1>
+
+    
+<div>
+        <div class="section"><h2 class="sectiontitle">Summary</h2>
+            
+            <p>A PPL-compatible reader-writer mutex that is scalable and gives
+                preference to writers.</p>
+</div>
+<div class="section"><h2 class="sectiontitle">Syntax</h2>
+                    
+                    <pre>class reader_writer_lock;</pre>
+                </div>
+<div class="section"><h2 class="sectiontitle">Header</h2>
+                    <pre>#include "tbb/reader_writer_lock.h"</pre>
+                </div>
+<div class="section"><h2 class="sectiontitle">Description</h2>
+                    <p>A <samp class="codeph">reader_writer_lock</samp> implements a PPL-compatible
+                        reader-writer mutex. A <samp class="codeph">reader_writer_lock</samp> is scalable and
+                        nonrecursive. The implementation handles lock requests on a first-come first-serve
+                        basis except that writers have preference over readers. Waiting threads busy wait,
+                        which can degrade system performance if the wait is long. However, if the wait is
+                        typically short, a <samp class="codeph">reader_writer_lock</samp> can provide performance
+                        competitive with other mutexes.</p>
+
+                    <p>A<samp class="codeph"> reader_writer_lock</samp> models part of the
+                        ReaderWriterMutex Concept and part of the C++11 compatibility interface. The
+                        major differences are:</p>
+
+                    <ul type="disc">
+                        <li>
+                            <p>The scoped interfaces support only strictly scoped locks.
+                                For example, the method <samp class="codeph">scoped_lock::release()</samp> is not
+                                supported.</p>
+
+                        </li>
+
+                        <li>
+                            <p>Reader locking has a separate interface. For example,
+                                there is separate scoped interface scoped_lock_read for reader locking,
+                                instead of a flag to distinguish the reader cases as in the
+                                ReaderWriterMutex Concept.</p>
+
+                        </li>
+
+                    </ul>
+
+                </div>
+<div class="section"><h2 class="sectiontitle">Members</h2>
+                    <pre>namespace tbb {
+    class reader_writer_lock {
+    public:
+        reader_writer_lock();
+        ~reader_writer_lock();
+        void lock();
+        void lock_read();
+        bool try_lock();
+        bool try_lock_read();
+        void unlock();
+         class scoped_lock {
+        public:
+            scoped_lock( reader_writer_lock& mutex );
+            ~scoped_lock();
+        };
+        class scoped_lock_read {
+        public:
+            scoped_lock_read( reader_writer_lock& mutex );
+            ~scoped_lock_read();
+        };
+   };}</pre>
+                    <p>The following table summarizes the semantics.</p>
+
+                    
+<div class="tablenoborder"><a name="tbl30"><!-- --></a><table cellpadding="4" summary="" id="tbl30" width="100%" frame="hsides" border="1" rules="all"><caption><span class="tablecap">reader_writer_lock Members Summary</span></caption>
+                            
+                            
+                            <thead align="left">
+                                <tr>
+                                    <th class="cellrowborder" valign="top" width="NaN%" id="d104211e109">
+                                        <p>Member</p>
+
+                                    </th>
+
+                                    <th class="row-nocellborder" valign="top" width="NaN%" id="d104211e115">
+                                        <p>Semantics</p>
+
+                                    </th>
+
+                                </tr>
+
+                            </thead>
+
+                            <tbody>
+                                <tr>
+                                    <td class="cellrowborder" valign="top" width="NaN%" headers="d104211e109 ">
+                                        <p><samp class="codeph">reader_writer_lock()</samp></p>
+
+                                    </td>
+
+                                    <td class="row-nocellborder" valign="top" width="NaN%" headers="d104211e115 ">
+                                        <p>Construct unlocked mutex.</p>
+
+                                    </td>
+
+                                </tr>
+
+                                <tr>
+                                    <td class="cellrowborder" valign="top" width="NaN%" headers="d104211e109 "><samp class="codeph">
+                                        ~reader_writer_lock()
+                                    </samp></td>
+
+                                    <td class="row-nocellborder" valign="top" width="NaN%" headers="d104211e115 ">
+                                        <p>Destroy unlocked mutex.</p>
+
+                                    </td>
+
+                                </tr>
+
+                                <tr>
+                                    <td class="cellrowborder" valign="top" width="NaN%" headers="d104211e109 ">
+                                        <p><samp class="codeph">void
+                                            reader_writer_lock::lock()</samp></p>
+
+                                    </td>
+
+                                    <td class="row-nocellborder" valign="top" width="NaN%" headers="d104211e115 ">
+                                        <p>Acquire write lock on mutex. </p>
+
+                                    </td>
+
+                                </tr>
+
+                                <tr>
+                                    <td class="cellrowborder" valign="top" width="NaN%" headers="d104211e109 ">
+                                        <p><samp class="codeph">void
+                                            reader_writer_lock::lock_read()</samp></p>
+
+                                    </td>
+
+                                    <td class="row-nocellborder" valign="top" width="NaN%" headers="d104211e115 ">
+                                        <p>Acquire read lock on mutex.</p>
+
+                                    </td>
+
+                                </tr>
+
+                                <tr>
+                                    <td class="cellrowborder" valign="top" width="NaN%" headers="d104211e109 ">
+                                        <p><samp class="codeph">bool
+                                            reader_writer_lock::try_lock()</samp></p>
+
+                                    </td>
+
+                                    <td class="row-nocellborder" valign="top" width="NaN%" headers="d104211e115 ">
+                                        <p>Try to acquire write lock on mutex. Returns
+                                            <em>true</em> if lock acquired, <em>false</em> otherwise.</p>
+
+                                    </td>
+
+                                </tr>
+
+                                <tr>
+                                    <td class="cellrowborder" valign="top" width="NaN%" headers="d104211e109 ">
+                                        <p><samp class="codeph">bool
+                                            reader_writer_lock::try_lock_read()</samp></p>
+
+                                    </td>
+
+                                    <td class="row-nocellborder" valign="top" width="NaN%" headers="d104211e115 ">
+                                        <p>Try to acquire read lock on mutex. Returns
+                                            <em>true</em> if lock acquired, <em>false</em> otherwise.</p>
+
+                                    </td>
+
+                                </tr>
+
+                                <tr>
+                                    <td class="cellrowborder" valign="top" width="NaN%" headers="d104211e109 ">
+                                        <p><samp class="codeph">reader_writer_lock::unlock()</samp></p>
+
+                                    </td>
+
+                                    <td class="row-nocellborder" valign="top" width="NaN%" headers="d104211e115 ">
+                                        <p>Release lock.</p>
+
+                                    </td>
+
+                                </tr>
+
+                                <tr>
+                                    <td class="cellrowborder" valign="top" width="NaN%" headers="d104211e109 "><samp class="codeph"> reader_writer_lock::scoped_lock
+                                          (reader_writer_lock& m) </samp></td>
+
+                                    <td class="row-nocellborder" valign="top" width="NaN%" headers="d104211e115 ">
+                                        <p>Acquire write lock on mutex m.</p>
+
+                                    </td>
+
+                                </tr>
+
+                                <tr>
+                                    <td class="cellrowborder" valign="top" width="NaN%" headers="d104211e109 ">
+                                        <p><samp class="codeph">reader_writer_lock::~scoped_lock()</samp></p>
+
+                                    </td>
+
+                                    <td class="row-nocellborder" valign="top" width="NaN%" headers="d104211e115 ">
+                                        <p>Release write lock (if acquired).</p>
+
+                                    </td>
+
+                                </tr>
+
+                                <tr>
+                                    <td class="cellrowborder" valign="top" width="NaN%" headers="d104211e109 "><p><samp class="codeph">
+                                        reader_writer_lock::scoped_lock_read
+                                          (reader_writer_lock& m)
+                                    </samp></p>
+</td>
+
+                                    <td class="row-nocellborder" valign="top" width="NaN%" headers="d104211e115 ">
+                                        <p>Acquire read lock on mutex m.</p>
+
+                                    </td>
+
+                                </tr>
+
+                                <tr>
+                                    <td class="cellrowborder" valign="top" width="NaN%" headers="d104211e109 ">
+                                        <p><samp class="codeph">reader_writer_lock::~scoped_lock_read()</samp></p>
+
+                                    </td>
+
+                                    <td class="row-nocellborder" valign="top" width="NaN%" headers="d104211e115 ">
+                                        <p>Release read lock (if acquired). </p>
+
+                                    </td>
+
+                                </tr>
+
+                            </tbody>
+
+                        </table>
+</div>
+
+                </div>
+
+    </div>
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../../reference/synchronization/ppl_compatibility_synch.htm">PPL Compatibility</a></div>
+</div>
+<div class="See Also">
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="../mutexes/mutex_concept.htm">Mutext Concept</a></div>
+<div><a href="../mutexes/readerwritermutex_concept.htm">ReaderWriterMutex Concept</a></div></div>
+</div>
+</body>
+</html>
diff --git a/doc/help/reference/synchronization/ppl_compatibility_synch.htm b/doc/help/reference/synchronization/ppl_compatibility_synch.htm
new file mode 100755
index 0000000..da6c960
--- /dev/null
+++ b/doc/help/reference/synchronization/ppl_compatibility_synch.htm
@@ -0,0 +1,51 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="PPL Compatibility">
+<meta name="DC.subject" content="PPL Compatibility">
+<meta name="keywords" content="PPL Compatibility">
+<meta name="DC.Relation" scheme="URI" content="../../reference/synchronization.htm">
+<meta name="DC.Relation" scheme="URI" content="../../reference/synchronization/ppl_compatibility/critical_section.htm">
+<meta name="DC.Relation" scheme="URI" content="../../reference/synchronization/ppl_compatibility/reader_writer_lock_cls.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="ppl_compatibility_synch">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../intel_css_styles.css">
+<title>PPL Compatibility</title>
+</head>
+<body id="ppl_compatibility_synch">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(2);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="ppl_compatibility_synch"><!-- --></a>
+
+
+    <h1 class="topictitle1">PPL Compatibility</h1>
+
+    
+<div>
+        <div class="section">
+            <p>Classes <samp class="codeph">critical_section</samp> and <samp class="codeph">reader_writer_lock</samp> exist for compatibility with the Microsoft Parallel Patterns Library (PPL). They do not follow all of the conventions of other mutexes in Intel® Threading Building Blocks.</p>
+</div>
+
+        
+            </div>
+ 
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../reference/synchronization.htm">Synchronization</a></div>
+</div>
+<div>
+<ul class="ullinks">
+<li class="ulchildlink"><a href="../../reference/synchronization/ppl_compatibility/critical_section.htm">critical_section</a><br>
+</li>
+<li class="ulchildlink"><a href="../../reference/synchronization/ppl_compatibility/reader_writer_lock_cls.htm">reader_writer_lock Class</a><br>
+</li>
+</ul>
+</div>
+
+</body>
+</html>
diff --git a/doc/help/reference/task_groups.htm b/doc/help/reference/task_groups.htm
new file mode 100755
index 0000000..7c72042
--- /dev/null
+++ b/doc/help/reference/task_groups.htm
@@ -0,0 +1,183 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="Task Groups">
+<meta name="DC.subject" content="Task Groups">
+<meta name="keywords" content="Task Groups">
+<meta name="DC.Relation" scheme="URI" content="../reference/reference.htm">
+<meta name="DC.Relation" scheme="URI" content="../reference/task_groups/task_group_cls.htm">
+<meta name="DC.Relation" scheme="URI" content="../reference/task_groups/task_group_status_enum.htm">
+<meta name="DC.Relation" scheme="URI" content="../reference/task_groups/task_handle_cls.htm">
+<meta name="DC.Relation" scheme="URI" content="../reference/task_groups/make_task_func.htm">
+<meta name="DC.Relation" scheme="URI" content="../reference/task_groups/structured_task_group_cls.htm">
+<meta name="DC.Relation" scheme="URI" content="../reference/task_groups/is_current_task_group_canceling_func.htm">
+<meta name="DC.Relation" scheme="URI" content="task_scheduler.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="taskgroups">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../intel_css_styles.css">
+<title>Task Groups</title>
+</head>
+<body id="taskgroups">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(1);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="taskgroups"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Task Groups</h1>
+ 
+  
+  <div>
+	 <div class="section">
+		<p> 
+		</p>
+ 
+		<p>This section covers the high-level interface to the
+		  task scheduler. The Task Scheduler section covers the low-level interface. The
+		  high-level interface lets you easily create groups of potentially parallel
+		  tasks from functors or lambda expressions. The low-level interface permits more
+		  detailed control, such as control over exception propagation and affinity.
+		</p>
+ 
+	 </div>
+
+	 <div class="section"><h2 class="sectiontitle">Summary</h2>
+		 
+		<p>High-level interface for running functions in
+		  parallel.
+		</p>
+ 
+	 </div>
+
+	 <div class="section"><h2 class="sectiontitle">Syntax</h2>
+		
+		<pre>    template<typename Func> task_handle;
+    template<typename Func> task_handle<Func> make_task( const Func& f );
+    enum task_group_status;
+    class task_group;
+    class structured_task_group;
+    bool is_current_task_group_canceling();</pre> 
+	 </div>
+
+	 <div class="section"><h2 class="sectiontitle">Header</h2>
+		
+		<pre>        #include "tbb/task_group.h"</pre> 
+		<p><strong>Requirements</strong>
+		</p>
+ 
+		<p>Functor arguments for various methods in this
+		  section should meet the requirements in the table below. 
+		</p>
+ 
+		
+<div class="tablenoborder"><a name="tbl31"><!-- --></a><table cellpadding="4" summary="" id="tbl31" width="100%" frame="hsides" border="1" rules="all"><caption><span class="tablecap">Requirements on functor arguments</span></caption> 
+		   
+		   
+		  <thead align="left"> 
+			 <tr> 
+				<th class="cellrowborder" valign="top" width="NaN%" id="d105221e75">
+				  <p>Pseudo-Signature
+				  </p>
+
+				</th>
+ 
+				<th class="row-nocellborder" valign="top" width="NaN%" id="d105221e81">
+				  <p>Semantics
+				  </p>
+
+				</th>
+ 
+			 </tr>
+ 
+		  </thead>
+ 
+		  <tbody> 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="NaN%" headers="d105221e75 ">
+				  <p><samp class="codeph">Func::Func (const
+						Func&)</samp>
+				  </p>
+
+				</td>
+ 
+				<td class="row-nocellborder" valign="top" width="NaN%" headers="d105221e81 ">
+				  <p>Copy constructor.
+				  </p>
+
+				</td>
+ 
+			 </tr>
+
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="NaN%" headers="d105221e75 ">
+				  <p><samp class="codeph">Func::~Func ()</samp>
+				  </p>
+
+				</td>
+ 
+				<td class="row-nocellborder" valign="top" width="NaN%" headers="d105221e81 ">
+				  <p>Destructor.
+				  </p>
+
+				</td>
+ 
+			 </tr>
+
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="NaN%" headers="d105221e75 ">
+				  <p><samp class="codeph">void Func::operator()()
+						const;</samp>
+				  </p>
+
+				</td>
+ 
+				<td class="row-nocellborder" valign="top" width="NaN%" headers="d105221e81 ">
+				  <p>Evaluate functor.
+				  </p>
+
+				</td>
+ 
+			 </tr>
+
+		  </tbody>
+
+		</table>
+</div>
+ 
+	 </div>
+
+  </div>
+ 
+  
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../reference/reference.htm">Intel® Threading Building Blocks Reference Manual</a></div>
+</div>
+<div class="See Also">
+<ul class="ullinks">
+<li class="ulchildlink"><a href="../reference/task_groups/task_group_cls.htm">task_group Class</a><br>
+</li>
+<li class="ulchildlink"><a href="../reference/task_groups/task_group_status_enum.htm">task_group_status Enum</a><br>
+</li>
+<li class="ulchildlink"><a href="../reference/task_groups/task_handle_cls.htm">task_handle Template Class</a><br>
+</li>
+<li class="ulchildlink"><a href="../reference/task_groups/make_task_func.htm">make_task Template Function</a><br>
+</li>
+<li class="ulchildlink"><a href="../reference/task_groups/structured_task_group_cls.htm">structured_task_group Class</a><br>
+</li>
+<li class="ulchildlink"><a href="../reference/task_groups/is_current_task_group_canceling_func.htm">is_current_task_group_canceling Function</a><br>
+</li>
+</ul>
+
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="task_scheduler.htm">Task Scheduler 
+		  </a></div></div>
+</div>
+
+</body>
+</html>
diff --git a/doc/help/reference/task_groups/is_current_task_group_canceling_func.htm b/doc/help/reference/task_groups/is_current_task_group_canceling_func.htm
new file mode 100755
index 0000000..705aabe
--- /dev/null
+++ b/doc/help/reference/task_groups/is_current_task_group_canceling_func.htm
@@ -0,0 +1,43 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="is_current_task_group_canceling Function">
+<meta name="DC.subject" content="is_current_task_group_canceling Function">
+<meta name="keywords" content="is_current_task_group_canceling Function">
+<meta name="DC.Relation" scheme="URI" content="../../reference/task_groups.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="is_current_task_group_canceling_func">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../intel_css_styles.css">
+<title>is_current_task_group_canceling Function</title>
+</head>
+<body id="is_current_task_group_canceling_func">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(2);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="is_current_task_group_canceling_func"><!-- --></a>
+
+
+    <h1 class="topictitle1">is_current_task_group_canceling Function</h1>
+
+    
+<div><div class="section"><p><strong>Returns</strong></p>
+
+        <p>True if innermost task group executing on this thread is cancelling its tasks.</p>
+
+        <p> </p>
+</div>
+
+</div>
+ 
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../reference/task_groups.htm">Task Groups</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/reference/task_groups/make_task_func.htm b/doc/help/reference/task_groups/make_task_func.htm
new file mode 100755
index 0000000..37e809b
--- /dev/null
+++ b/doc/help/reference/task_groups/make_task_func.htm
@@ -0,0 +1,54 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="make_task Template Function">
+<meta name="DC.subject" content="make_task Template Function">
+<meta name="keywords" content="make_task Template Function">
+<meta name="DC.Relation" scheme="URI" content="../../reference/task_groups.htm">
+<meta name="DC.Relation" scheme="URI" content="task_handle_cls.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="make_task_func">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../intel_css_styles.css">
+<title>make_task Template Function</title>
+</head>
+<body id="make_task_func">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(2);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="make_task_func"><!-- --></a>
+
+
+    <h1 class="topictitle1">make_task Template Function</h1>
+
+    
+<div>
+            <div class="section"><h2 class="sectiontitle">Summary</h2>
+            
+            <p>Template function for creating a <samp class="codeph">task_handle</samp> from a function or functor.</p>
+
+          </div>
+<div class="section"><h2 class="sectiontitle">Syntax</h2>
+            <pre>template<typename Func> 
+ task_handle<Func> make_task( const Func& f ); </pre><p><strong>Returns</strong></p>
+<samp class="codeph">
+                task_handle<Func>(<em>f</em>)  </samp></div>
+
+</div>
+ 
+  
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../reference/task_groups.htm">Task Groups</a></div>
+</div>
+<div class="See Also">
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="task_handle_cls.htm">task_handle Template Class</a></div></div>
+</div>
+
+</body>
+</html>
diff --git a/doc/help/reference/task_groups/structured_task_group_cls.htm b/doc/help/reference/task_groups/structured_task_group_cls.htm
new file mode 100755
index 0000000..d3a210e
--- /dev/null
+++ b/doc/help/reference/task_groups/structured_task_group_cls.htm
@@ -0,0 +1,102 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="structured_task_group Class">
+<meta name="DC.subject" content="structured_task_group Class">
+<meta name="keywords" content="structured_task_group Class">
+<meta name="DC.Relation" scheme="URI" content="../../reference/task_groups.htm">
+<meta name="DC.Relation" scheme="URI" content="task_handle_cls.htm">
+<meta name="DC.Relation" scheme="URI" content="task_group_cls.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="structured_task_group_cls">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../intel_css_styles.css">
+<title>structured_task_group Class</title>
+</head>
+<body id="structured_task_group_cls">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(2);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="structured_task_group_cls"><!-- --></a>
+
+
+    <h1 class="topictitle1">structured_task_group Class</h1>
+
+    
+<div><div class="section"><h2 class="sectiontitle">Description</h2>
+        <p>A <samp class="codeph">structured_task_group</samp> is like a <samp class="codeph">task_group</samp>, but has only a subset of the functionality. It may permit performance optimizations in the future. The restrictions are:</p>
+
+        <ul type="disc" class="ul_3">
+            <li class="li_2">Methods <samp class="codeph">run</samp> and <samp class="codeph">run_and_wait</samp> take only <samp class="codeph">task_handle</samp> arguments, not general functors.</li>
+
+            <li class="li_2">Methods <samp class="codeph">run</samp> and
+                        <samp class="codeph">run_and_wait</samp> do not copy their <samp class="codeph">task_handle</samp>
+                    arguments. The caller must not destroy those arguments until after wait
+                        or<samp class="codeph"> run_</samp>and<samp class="codeph">_wait</samp> returns.</li>
+
+            <li class="li_2">Methods <samp class="codeph">run</samp>, <samp class="codeph">run_and_wait</samp>, <samp class="codeph">cancel</samp>, and <samp class="codeph">wait</samp> should be called only by the thread that created the <samp class="codeph">structured_task_group</samp>.</li>
+
+            <li class="li_2">Method <samp class="codeph">wait</samp> (or <samp class="codeph">run_and_wait</samp>) should be called only once on a given instance of <samp class="codeph">structured_task_group</samp>.</li>
+
+        </ul>
+
+        </div>
+<div class="section"><h2 class="sectiontitle">Example</h2>
+        <p>The function <samp class="codeph">fork_join</samp> below evaluates <samp class="codeph">f1()</samp> and <samp class="codeph">f2()</samp>, in parallel if resources permit.</p>
+
+<pre>    #include "tbb/task_group.h"
+     
+    using namespace tbb;
+     
+    template<typename Func1, typename Func2>
+    void fork_join( const Func1& f1, const Func2& f2 ) {
+        structured_task_group group;
+     
+        task_handle<Func1> h1(f1);
+        group.run(h1);              // spawn a task
+     
+        task_handle<Func2> h2(f2);
+        group.run(h2);              // spawn another task
+     
+        group.wait();               // wait for both tasks to complete
+        // now safe to destroy h1 and h2
+    }</pre>
+        </div>
+<div class="section"><h2 class="sectiontitle">Members</h2>
+<pre> namespace tbb {
+        class structured_task_group {
+        public:
+            structured_task_group();
+            ~structured_task_group();
+     
+            template<typename Func> 
+            void run( task_handle<Func>& handle );
+     
+            template<typename Func>
+            void run_and_wait( task_handle<Func>& handle );
+     
+            task_group_status wait(); 
+            bool is_canceling();
+            void cancel();
+        };
+    }
+     </pre></div>
+</div>
+ 
+  
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../reference/task_groups.htm">Task Groups</a></div>
+</div>
+<div class="See Also">
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="task_handle_cls.htm">task_handle Template Class</a></div>
+<div><a href="task_group_cls.htm">task_group Class</a></div></div>
+</div>
+
+</body>
+</html>
diff --git a/doc/help/reference/task_groups/task_group_cls.htm b/doc/help/reference/task_groups/task_group_cls.htm
new file mode 100755
index 0000000..e896f94
--- /dev/null
+++ b/doc/help/reference/task_groups/task_group_cls.htm
@@ -0,0 +1,111 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="task_group Class">
+<meta name="DC.subject" content="task_group Class">
+<meta name="keywords" content="task_group Class">
+<meta name="DC.Relation" scheme="URI" content="../../reference/task_groups.htm">
+<meta name="DC.Relation" scheme="URI" content="../../reference/task_groups/task_group_cls/task_group_cls_members.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="task_group_cls">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../intel_css_styles.css">
+<title>task_group Class</title>
+</head>
+<body id="task_group_cls">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(2);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="task_group_cls"><!-- --></a>
+
+
+           <h1 class="topictitle1">task_group Class</h1>
+
+           
+           <div>
+                      <div class="section"><h2 class="sectiontitle">Description</h2>
+                                 
+                                 <p>A <samp class="codeph">task_group</samp> represents
+                                            concurrent execution of a group of tasks. Tasks may be
+                                            dynamically added to the group as it is executing. </p>
+
+                      </div>
+
+                      <div class="section"><h2 class="sectiontitle">Example with Lambda Expressions</h2>
+                                 
+                                 <pre>#include "tbb/task_group.h"
+     
+    using namespace tbb;
+     
+    int Fib(int n) {
+        if( n<2 ) {
+            return n;
+        } else {
+            int x, y;
+            task_group g;
+            g.run([&]{x=Fib(n-1);}); // spawn a task
+            g.run([&]{y=Fib(n-2);}); // spawn another task
+            g.wait();                // wait for both tasks to complete
+            return x+y;
+        }
+    }</pre>
+                                 <div class="Note"><h3 class="NoteTipHead">
+					Caution</h3>
+                                            <p>Creating a large number of tasks
+                                                  for a single task_group is not scalable, because
+                                                  task creation becomes a serial bottleneck. If
+                                                  creating more than a small number of concurrent
+                                                  tasks, consider using
+                                                  <samp class="codeph">parallel_for</samp> or
+                                                  <samp class="codeph">parallel_invoke</samp> instead, or
+                                                  structure the spawning as a recursive tree.</p>
+
+                                 </div>
+                      </div>
+
+                      <div class="section"><h2 class="sectiontitle">Members</h2>
+                                 
+                                 <pre>namespace tbb {
+        class task_group {
+        public:
+            task_group();
+            ~task_group();
+     
+            template<typename Func>
+            void run( const Func& f );
+     
+            template<typename Func> 
+            void run( task_handle<Func>& handle );
+     
+            template<typename Func>
+            void run_and_wait( const Func& f );
+     
+            template<typename Func> 
+            void run_and_wait( task_handle<Func>& handle );
+     
+            task_group_status wait(); 
+            bool is_canceling();
+            void cancel();
+        }
+    }</pre>
+                      </div>
+
+           </div>
+
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../reference/task_groups.htm">Task Groups</a></div>
+</div>
+<div>
+<ul class="ullinks">
+<li class="ulchildlink"><a href="../../reference/task_groups/task_group_cls/task_group_cls_members.htm">task_group Class Members</a><br>
+</li>
+</ul>
+</div>
+
+</body>
+</html>
diff --git a/doc/help/reference/task_groups/task_group_cls/task_group_cls_members.htm b/doc/help/reference/task_groups/task_group_cls/task_group_cls_members.htm
new file mode 100755
index 0000000..4762ffb
--- /dev/null
+++ b/doc/help/reference/task_groups/task_group_cls/task_group_cls_members.htm
@@ -0,0 +1,208 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="task_group Class Members">
+<meta name="DC.subject" content="TestMetaData">
+<meta name="keywords" content="TestMetaData">
+<meta name="DC.Relation" scheme="URI" content="../../../reference/task_groups/task_group_cls.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="task_group_cls_members">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../../intel_css_styles.css">
+<title>task_group Class Members</title>
+</head>
+<body id="task_group_cls_members">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(3);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="task_group_cls_members"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">task_group Class Members</h1>
+ 
+  
+  <div> 
+	 
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"><span class="tabledesc">The following table provides additional information on the members
+		  of this template class. 
+		</span><thead align="left"> 
+			 <tr> 
+				<th class="cellrowborder" valign="top" width="33.89830508474576%" id="d106203e29">Member 
+				</th>
+ 
+				<th class="cellrowborder" valign="top" width="66.10169491525423%" id="d106203e32">Description 
+				</th>
+ 
+			 </tr>
+</thead>
+ 
+		  <tbody> 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d106203e29 "><span class="keyword">task_group()</span> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d106203e32 ">
+				  <p>Constructs an empty 
+					 <samp class="codeph">task group</samp>.
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d106203e29 "><span class="keyword">~task_group()</span> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d106203e32 ">
+				  <p><strong>Requires</strong>: Method 
+					 <samp class="codeph">wait</samp> must be called before destroying a 
+					 <samp class="codeph">task_group</samp>, otherwise the destructor throws an
+					 exception. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d106203e29 "><span class="keyword">template<typename Func> void
+					 run( const Func& f )</span> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d106203e32 ">
+				  <p>Spawn a task that computes<samp class="codeph"><em>
+						  f()</em></samp> and return immediately.
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d106203e29 "><span class="keyword">template<typename Func> void
+					 run ( task_handle<Func>& handle );</span> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d106203e32 ">
+				  <p>Spawn a task that computes 
+					 <samp class="codeph"><em>handle()</em></samp> and return immediately.
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d106203e29 "><span class="keyword">template<typename Func> void
+					 run_and_wait( const Func& f )</span> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d106203e32 ">
+				  <p>Equivalent to 
+					 <samp class="codeph">{run(<em>f</em>); wait();}</samp>, but guarantees
+					 that<samp class="codeph"><em> f</em></samp> runs on the current thread. 
+				  </p>
+ 
+				  <div class="Note"><h3 class="NoteTipHead">
+					Note</h3>
+					 <p>Template method 
+						<samp class="codeph">run_and_wait</samp> is intended to be more
+						efficient than separate calls to 
+						<samp class="codeph">run</samp> and 
+						<samp class="codeph">wait</samp>.
+					 </p>
+
+				  </div> 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d106203e29 "><span class="keyword">template<typename Func> void
+					 run _and_wait( task_handle<Func>& handle );</span> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d106203e32 ">
+				  <p>Equivalent to 
+					 <samp class="codeph">{run(<em>handle</em>); wait();}</samp>, but guarantees
+					 that 
+					 <samp class="codeph"><em>handle()</em></samp> runs on the current thread.
+				  </p>
+ 
+				  <div class="Note"><h3 class="NoteTipHead">
+					Note</h3>
+					 <p>Template method 
+						<samp class="codeph">run_and_wait</samp> is intended to be more
+						efficient than separate calls to 
+						<samp class="codeph">run</samp> and 
+						<samp class="codeph">wait</samp>.
+					 </p>
+
+				  </div> 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d106203e29 "><span class="keyword">task_group_status wait()</span> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d106203e32 ">
+				  <p>Wait for all tasks in the group to complete
+					 or be cancelled.
+				  </p>
+
+				  <p><strong>Returns</strong>: True if this task group is
+					 cancelling its tasks.
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d106203e29 "><span class="keyword">bool is_canceling()</span> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d106203e32 ">
+				  <p><strong>Returns</strong>: True if this task group is
+					 cancelling its tasks.
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+
+			 <tr>
+				<td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d106203e29 "><span class="keyword">void cancel()</span> 
+				</td>
+
+				<td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d106203e32 ">
+				  <p>Cancel all tasks in this 
+					 <samp class="codeph">task_group</samp>.
+				  </p>
+
+				</td>
+
+			 </tr>
+ 
+		  </tbody>
+ 
+		</table>
+</div>
+ 
+  </div>
+ 
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../../reference/task_groups/task_group_cls.htm">task_group Class</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/reference/task_groups/task_group_status_enum.htm b/doc/help/reference/task_groups/task_group_status_enum.htm
new file mode 100755
index 0000000..5e91b3b
--- /dev/null
+++ b/doc/help/reference/task_groups/task_group_status_enum.htm
@@ -0,0 +1,50 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="task_group_status Enum">
+<meta name="DC.subject" content="task_group_status Enum">
+<meta name="keywords" content="task_group_status Enum">
+<meta name="DC.Relation" scheme="URI" content="../../reference/task_groups.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="task_group_status_enum">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../intel_css_styles.css">
+<title>task_group_status Enum</title>
+</head>
+<body id="task_group_status_enum">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(2);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="task_group_status_enum"><!-- --></a>
+
+
+    <h1 class="topictitle1">task_group_status Enum</h1>
+
+    
+<div>
+        <div class="section">
+            <p>A <samp class="codeph">task_group_status</samp> represents the status of a <samp class="codeph">task_group</samp>.</p>
+
+        </div>
+<div class="section"><h2 class="sectiontitle">Members</h2>
+            <pre>namespace tbb {
+                    enum task_group_status {
+                        not_complete, // Not cancelled and not all tasks in group have completed. 
+                        complete,     // Not cancelled and all tasks in group have completed
+                        canceled      // Task group received cancellation request
+     };
+ }</pre></div>
+
+</div>
+ 
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../reference/task_groups.htm">Task Groups</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/reference/task_groups/task_handle_cls.htm b/doc/help/reference/task_groups/task_handle_cls.htm
new file mode 100755
index 0000000..663c477
--- /dev/null
+++ b/doc/help/reference/task_groups/task_handle_cls.htm
@@ -0,0 +1,64 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="task_handle Template Class">
+<meta name="DC.subject" content="task_handle Template Class">
+<meta name="keywords" content="task_handle Template Class">
+<meta name="DC.Relation" scheme="URI" content="../../reference/task_groups.htm">
+<meta name="DC.Relation" scheme="URI" content="structured_task_group_cls.htm">
+<meta name="DC.Relation" scheme="URI" content="make_task_func.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="task_handle_cls">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../intel_css_styles.css">
+<title>task_handle Template Class</title>
+</head>
+<body id="task_handle_cls">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(2);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="task_handle_cls"><!-- --></a>
+
+
+    <h1 class="topictitle1">task_handle Template Class</h1>
+
+    
+<div>
+        <div class="section"><h2 class="sectiontitle">Summary</h2>
+            
+            <p>Template class used to wrap a function object in conjunction with class <samp class="codeph">structured_task_group</samp>.</p>
+
+            </div>
+<div class="section"><h2 class="sectiontitle">Description</h2>
+            <p>Class <samp class="codeph">task_handle</samp> is used primarily in conjunction with class <samp class="codeph">structured_task_group</samp>. For sake of uniformity, class <samp class="codeph">task_group</samp> also accepts <samp class="codeph">task_handle</samp> arguments.</p>
+
+            </div>
+<div class="section"><h2 class="sectiontitle">Members</h2>
+            
+            <pre> template<typename Func>
+    class task_handle {
+    public:
+        task_handle( const Func& f );
+        void operator()() const;
+    };</pre>
+        </div>
+
+</div>
+ 
+  
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../reference/task_groups.htm">Task Groups</a></div>
+</div>
+<div class="See Also">
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="structured_task_group_cls.htm">class structured_task_group</a></div>
+<div><a href="make_task_func.htm">make_task Function Template</a></div></div>
+</div>
+
+</body>
+</html>
diff --git a/doc/help/reference/task_scheduler.htm b/doc/help/reference/task_scheduler.htm
new file mode 100755
index 0000000..5380900
--- /dev/null
+++ b/doc/help/reference/task_scheduler.htm
@@ -0,0 +1,182 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="Task Scheduler">
+<meta name="DC.subject" content="Task Scheduler">
+<meta name="keywords" content="Task Scheduler">
+<meta name="DC.Relation" scheme="URI" content="../reference/reference.htm">
+<meta name="DC.Relation" scheme="URI" content="../reference/task_scheduler/scheduling_algorithm.htm">
+<meta name="DC.Relation" scheme="URI" content="../reference/task_scheduler/task_scheduler_init_cls.htm">
+<meta name="DC.Relation" scheme="URI" content="../reference/task_scheduler/task_cls.htm">
+<meta name="DC.Relation" scheme="URI" content="../reference/task_scheduler/task_allocation.htm">
+<meta name="DC.Relation" scheme="URI" content="../reference/task_scheduler/explicit_task_destruction.htm">
+<meta name="DC.Relation" scheme="URI" content="../reference/task_scheduler/recycling_tasks.htm">
+<meta name="DC.Relation" scheme="URI" content="../reference/task_scheduler/synchronization.htm">
+<meta name="DC.Relation" scheme="URI" content="../reference/task_scheduler/task_context.htm">
+<meta name="DC.Relation" scheme="URI" content="../reference/task_scheduler/cancellation.htm">
+<meta name="DC.Relation" scheme="URI" content="../reference/task_scheduler/priorities.htm">
+<meta name="DC.Relation" scheme="URI" content="../reference/task_scheduler/affinity.htm">
+<meta name="DC.Relation" scheme="URI" content="../reference/task_scheduler/task_debugging.htm">
+<meta name="DC.Relation" scheme="URI" content="../reference/task_scheduler/empty_task_cls.htm">
+<meta name="DC.Relation" scheme="URI" content="../reference/task_scheduler/task_list_cls.htm">
+<meta name="DC.Relation" scheme="URI" content="../reference/task_scheduler/task_group_context.htm">
+<meta name="DC.Relation" scheme="URI" content="../reference/task_scheduler/task_scheduler_observer.htm">
+<meta name="DC.Relation" scheme="URI" content="../reference/task_scheduler/catalog_of_recommended_task_patterns.htm">
+<meta name="DC.Relation" scheme="URI" content="algorithms.htm">
+<meta name="DC.Relation" scheme="URI" content="task_groups.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="task_scheduler">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../intel_css_styles.css">
+<title>Task Scheduler</title>
+</head>
+<body id="task_scheduler">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(1);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="task_scheduler"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Task Scheduler</h1>
+ 
+  
+  <div> 
+	 <div class="section"> 
+		<p>Intel® Threading Building Blocks (Intel® TBB)
+		  provides a task scheduler, which is the engine that drives the algorithm
+		  templates and task groups. You may also call it directly. Using tasks is often
+		  simpler and more efficient than using threads, because the task scheduler takes
+		  care of a lot of details. 
+		</p>
+ 
+		<p>The tasks are quanta of computation. The scheduler
+		  maps these onto physical threads. The mapping is non-preemptive. Each thread
+		  has a method 
+		  <samp class="codeph">execute(</samp>). Once a thread starts running 
+		  <samp class="codeph">execute()</samp>, the task is bound to that thread until 
+		  <samp class="codeph">execute()</samp> returns. During that time, the thread
+		  services other tasks only when it waits on its predecessor tasks, at which time
+		  it may run the predecessor tasks, or if there are no pending predecessor tasks,
+		  the thread may service tasks created by other threads.
+		</p>
+ 
+		<p>The task scheduler is intended for parallelizing
+		  computationally intensive work. Because task objects are not scheduled
+		  preemptively, they should generally avoid making calls that might block for
+		  long periods, because meanwhile that thread is precluded from servicing other
+		  tasks. 
+		</p>
+ 
+		<div class="Note"><h3 class="NoteTipHead">
+					Caution</h3>
+		  <p>There is no guarantee that 
+			 <em>potentially</em> parallel tasks 
+			 <em>actually</em> execute in parallel, because the scheduler adjusts
+			 actual parallelism to fit available worker threads. For example, given a single
+			 worker thread, the scheduler creates no actual parallelism. For example, it is
+			 generally unsafe to use tasks in a producer consumer relationship, because
+			 there is no guarantee that the consumer runs at all while the producer is
+			 running.
+		  </p>
+
+		</div> 
+		<p>Potential parallelism is typically generated by a 
+		  <em>split/join</em> pattern. Two basic patterns of split/join are
+		  supported. The most efficient is continuation-passing form, in which the
+		  programmer constructs an explicit "continuation" task. The parent task creates
+		  child tasks and specifies a continuation task to be executed when the children
+		  complete. The continuation inherits the parent's ancestor. The parent task then
+		  exits; it does not block on its children. The children subsequently run, and
+		  after they (or their continuations) finish, the continuation task starts
+		  running. The figure, "Continuation-passing Style," shows the steps. The running
+		  tasks at each step are shaded.
+		</p>
+ 
+		<div class="fignone" id="fig4"><a name="fig4"><!-- --></a><span class="figcap">Continuation-passing Style</span>
+		   
+		  <br><img src="Resources/06000005.png"><br>
+		</div>
+ 
+		<p>Explicit continuation passing is efficient, because
+		  it decouples the thread's stack from the tasks. However, it is more difficult
+		  to program. A second pattern is "blocking style", which uses implicit
+		  continuations. It is sometimes less efficient in performance, but more
+		  convenient to program. In this pattern, the parent task blocks until its
+		  children complete, as shown in the figure below.
+		</p>
+ 
+		<div class="fignone" id="fig5"><a name="fig5"><!-- --></a><span class="figcap">Blocking Style</span>
+		   
+		  <br><img src="Resources/08000006.png"><br>
+		</div>
+ 
+		<p>The convenience comes with a price. Because the
+		  parent blocks, its thread's stack cannot be popped yet. The thread must be
+		  careful about what work it takes on, because continually stealing and blocking
+		  could cause the stack to grow without bound. To solve this problem, the
+		  scheduler constrains a blocked thread such that it never executes a task that
+		  is less deep than its deepest blocked task. This constraint may impact
+		  performance because it limits available parallelism, and tends to cause threads
+		  to select smaller (deeper) subtrees than they would otherwise choose.
+		</p>
+
+	 </div>
+
+  </div>
+ 
+  
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../reference/reference.htm">Intel® Threading Building Blocks Reference Manual</a></div>
+</div>
+<div class="See Also">
+<ul class="ullinks">
+<li class="ulchildlink"><a href="../reference/task_scheduler/scheduling_algorithm.htm">Scheduling Algorithm</a><br>
+</li>
+<li class="ulchildlink"><a href="../reference/task_scheduler/task_scheduler_init_cls.htm">task_scheduler_init Class</a><br>
+</li>
+<li class="ulchildlink"><a href="../reference/task_scheduler/task_cls.htm">task Class</a><br>
+</li>
+<li class="ulchildlink"><a href="../reference/task_scheduler/task_allocation.htm">task Allocation</a><br>
+</li>
+<li class="ulchildlink"><a href="../reference/task_scheduler/explicit_task_destruction.htm">Explicit task Destruction</a><br>
+</li>
+<li class="ulchildlink"><a href="../reference/task_scheduler/recycling_tasks.htm">Recycling Tasks</a><br>
+</li>
+<li class="ulchildlink"><a href="../reference/task_scheduler/synchronization.htm">Synchronization</a><br>
+</li>
+<li class="ulchildlink"><a href="../reference/task_scheduler/task_context.htm">task Context</a><br>
+</li>
+<li class="ulchildlink"><a href="../reference/task_scheduler/cancellation.htm">Cancellation</a><br>
+</li>
+<li class="ulchildlink"><a href="../reference/task_scheduler/priorities.htm">Priorities</a><br>
+</li>
+<li class="ulchildlink"><a href="../reference/task_scheduler/affinity.htm">Affinity</a><br>
+</li>
+<li class="ulchildlink"><a href="../reference/task_scheduler/task_debugging.htm">task Debugging</a><br>
+</li>
+<li class="ulchildlink"><a href="../reference/task_scheduler/empty_task_cls.htm">empty_task Class</a><br>
+</li>
+<li class="ulchildlink"><a href="../reference/task_scheduler/task_list_cls.htm">task_list Class</a><br>
+</li>
+<li class="ulchildlink"><a href="../reference/task_scheduler/task_group_context.htm">task_group_context</a><br>
+</li>
+<li class="ulchildlink"><a href="../reference/task_scheduler/task_scheduler_observer.htm">task_scheduler_observer</a><br>
+</li>
+<li class="ulchildlink"><a href="../reference/task_scheduler/catalog_of_recommended_task_patterns.htm">Catalog of Recommended task Patterns</a><br>
+</li>
+</ul>
+
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="algorithms.htm">Algorithms
+		  </a></div>
+<div><a href="task_groups.htm">Task Groups
+		  </a></div></div>
+</div>
+
+</body>
+</html>
diff --git a/doc/help/reference/task_scheduler/affinity.htm b/doc/help/reference/task_scheduler/affinity.htm
new file mode 100755
index 0000000..1e3f3a8
--- /dev/null
+++ b/doc/help/reference/task_scheduler/affinity.htm
@@ -0,0 +1,168 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="Affinity">
+<meta name="DC.subject" content="Affinity">
+<meta name="keywords" content="Affinity">
+<meta name="DC.Relation" scheme="URI" content="../../reference/task_scheduler.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="affinity">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../intel_css_styles.css">
+<title>Affinity</title>
+</head>
+<body id="affinity">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(2);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="affinity"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Affinity</h1>
+ 
+  
+  <div> 
+	 <div class="section">
+		<p>These methods enable optimizing for cache affinity. They enable you to
+		  hint that a later task should run on the same thread as another task that was
+		  executed earlier. To do this:
+		</p>
+
+		<ol class="ol_3"> 
+		  <li>In the earlier task, override 
+			 <samp class="codeph">note_affinity(<em>id</em>)</samp> with a definition that
+			 records 
+			 <samp class="codeph"><em>id</em></samp>.
+		  </li>
+ 
+		  <li>Before spawning the later task, run 
+			 <samp class="codeph">set_affinity(<em>id</em>)</samp> using the 
+			 <em>id</em> recorded in step 1, 
+		  </li>
+ 
+		</ol>
+
+		<p>The 
+		  <em>id</em> is a hint and may be ignored by the scheduler.
+		</p>
+
+		
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"><span class="tabledesc">The following table provides additional information on the
+			 members of this template class. 
+		  </span><thead align="left"> 
+				<tr> 
+				  <th class="cellrowborder" valign="top" width="33.89830508474576%" id="d107439e68">Member 
+				  </th>
+ 
+				  <th class="cellrowborder" valign="top" width="66.10169491525423%" id="d107439e71">Description 
+				  </th>
+ 
+				</tr>
+</thead>
+ 
+			 <tbody> 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d107439e68 "><span class="keyword">affinity_id</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d107439e71 ">
+					 <p>The type 
+						<samp class="codeph">task::affinity_id</samp> is an
+						implementation-defined unsigned integral type. A value of 0 indicates no
+						affinity. Other values represent affinity to a particular thread. Do not assume
+						anything about non-zero values. The mapping of non-zero values to threads is
+						internal to the Intel® Threading Building Blocks (Intel® TBB) library implementation.
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d107439e68 "><span class="keyword">virtual void note_affinity (
+						affinity_id id )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d107439e71 ">
+					 <p>The task scheduler invokes 
+						<samp class="codeph">note_affinity</samp> before invoking 
+						<samp class="codeph">execute()</samp> when:
+					 </p>
+
+					 <ul type="disc" class="ul_1"> 
+						<li class="li_1">The task has no affinity, but will
+						  execute on a thread different than the one that spawned it. 
+						</li>
+ 
+					 </ul>
+
+					 <ul type="disc" class="ul_1"> 
+						<li class="li_1">The task has affinity, but will
+						  execute on a thread different than the one specified by the affinity. 
+						</li>
+ 
+					 </ul>
+
+					 <p>You can override this method to record the id, so that it
+						can be used as the argument to 
+						<samp class="codeph">set_affinity(id)</samp> for a later task.
+					 </p>
+
+					 <p><strong>Effects</strong>: The default definition has no effect.
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d107439e68 "><span class="keyword">set_affinity ( affinity_id id ) </span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d107439e71 ">
+					 <p>Sets affinity of this task to 
+						<em>id</em>. The 
+						<em>id</em> should be either 0 or obtained from 
+						<samp class="codeph">note_affinity</samp>. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d107439e68 "><span class="keyword">affinity_id affinity()
+						const</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d107439e71 ">
+					 <p><strong>Returns</strong>: Affinity of this task as set by
+						set_affinity.
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+			
+			 </tbody>
+ 
+		  </table>
+</div>
+
+	 </div>
+ 
+  </div>
+ 
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../reference/task_scheduler.htm">Task Scheduler</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/reference/task_scheduler/cancellation.htm b/doc/help/reference/task_scheduler/cancellation.htm
new file mode 100755
index 0000000..d2bfc41
--- /dev/null
+++ b/doc/help/reference/task_scheduler/cancellation.htm
@@ -0,0 +1,108 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="Cancellation">
+<meta name="DC.subject" content="Cancellation">
+<meta name="keywords" content="Cancellation">
+<meta name="DC.Relation" scheme="URI" content="../../reference/task_scheduler.htm">
+<meta name="DC.Relation" scheme="URI" content="task_group_context.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="cancellation">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../intel_css_styles.css">
+<title>Cancellation</title>
+</head>
+<body id="cancellation">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(2);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="cancellation"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Cancellation</h1>
+ 
+  
+  <div> 
+	 <div class="section">
+		<p>A 
+		  <em>task</em> is a quantum of work that is cancelled or executes to
+		  completion. A cancelled task skips its method 
+		  <samp class="codeph">execute()</samp> if that method has not yet started.
+		  Otherwise cancellation has no direct effect on the task. A task can poll 
+		  <samp class="codeph">task::is_cancelled()</samp> to see if cancellation was
+		  requested after it started running.
+		</p>
+
+		
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"><span class="tabledesc">The following table provides additional information on the
+			 members of this template class. 
+		  </span><thead align="left"> 
+				<tr> 
+				  <th class="cellrowborder" valign="top" width="33.89830508474576%" id="d107917e43">Member 
+				  </th>
+ 
+				  <th class="cellrowborder" valign="top" width="66.10169491525423%" id="d107917e46">Description 
+				  </th>
+ 
+				</tr>
+</thead>
+ 
+			 <tbody> 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d107917e43 "><span class="keyword">bool
+						cancel_group_execution()</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d107917e46 ">
+					 <p>Requests cancellation of all tasks in its group and its
+						subordinate groups. 
+					 </p>
+
+					 <p><strong>Returns</strong>: False if the task's group already received a
+						cancellation request; true otherwise.
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d107917e43 "><span class="keyword">bool is_cancelled()
+						const</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d107917e46 ">
+					 <p><strong>Returns</strong>: True if task's group has received a
+						cancellation request; false otherwise.
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+			 </tbody>
+ 
+		  </table>
+</div>
+
+	 </div>
+ 
+  </div>
+ 
+  
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../reference/task_scheduler.htm">Task Scheduler</a></div>
+</div>
+<div class="See Also">
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="task_group_context.htm">task_group_context
+		  </a></div></div>
+</div>
+
+</body>
+</html>
diff --git a/doc/help/reference/task_scheduler/catalog_of_recommended_task_patterns.htm b/doc/help/reference/task_scheduler/catalog_of_recommended_task_patterns.htm
new file mode 100755
index 0000000..816d648
--- /dev/null
+++ b/doc/help/reference/task_scheduler/catalog_of_recommended_task_patterns.htm
@@ -0,0 +1,194 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="Catalog of Recommended task Patterns">
+<meta name="DC.subject" content="Catalog of Recommended task Patterns">
+<meta name="keywords" content="Catalog of Recommended task Patterns">
+<meta name="DC.Relation" scheme="URI" content="../../reference/task_scheduler.htm">
+<meta name="DC.Relation" scheme="URI" content="empty_task_cls.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="catalog_of_recommended_task_patterns">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../intel_css_styles.css">
+<title>Catalog of Recommended task Patterns</title>
+</head>
+<body id="catalog_of_recommended_task_patterns">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(2);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="catalog_of_recommended_task_patterns"><!-- --></a>
+
+
+    <h1 class="topictitle1">Catalog of Recommended task Patterns</h1>
+
+   
+<div>
+       <div class="section">
+           <p>This section catalogues recommended task patterns. In each pattern, class T is assumed to derive from class <samp class="codeph">task</samp>. Subtasks are labeled t<sub>1</sub>, t<sub>2</sub>, ... t<sub>k</sub>. The subscripts indicate the order in which the subtasks execute if no parallelism is available. If parallelism is available, the subtask execution order is non-deterministic, except that t<sub>1</sub> is guaranteed to be executed by the spawning thread.</p>
+
+           <p>Recursive task patterns are recommended for efficient scalable parallelism, because they allow the task scheduler to unfold potential parallelism to match available parallelism. A recursive task pattern begins by creating a root task t<sub>0</sub> and running it as follows. </p>
+
+           <pre>T& t<sub>0</sub> = *new(allocate_root()) T(...);  
+           task::spawn_root_and_wait(t<sub>0</sub>);</pre>
+           <p>The root task's method <samp class="codeph">execute()</samp> recursively
+                creates more tasks as described in subsequent subsections. </p>
+</div>
+
+       <div class="section"><h2 class="sectiontitle">Blocking Style With <em>k </em>Children</h2>
+               <p>The following shows the recommended style for a recursive task
+                of type <em>T</em> where each level spawns <em>k</em> children.</p>
+
+<pre>           task* T::execute() {
+        if( not recursing any further ) {
+            ...
+        } else {
+            set_ref_count(k+1);
+            task& t<sub>k</sub> = *new(allocate_child()) T(...);  spawn(t<sub>k</sub>);
+            task& t<sub>k-1</sub>= *new(allocate_child()) T(...);  spawn(t<sub>k-1</sub>);
+            ...
+            task& t<sub>1</sub><sub></sub>= *new(allocate_child()) T(...);   
+            spawn_and_wait_for_all(t<sub>1</sub>);
+        }
+        return NULL;
+    }</pre>
+               <p>Child construction and spawning may be reordered if convenient, as long as a task is constructed before it is spawned. </p>
+
+               <p>The key points of the pattern are:</p>
+
+               <ul type="disc">
+                   <li><p>The call to <samp class="codeph">set_ref_count</samp> uses <em>k</em>+1 as its argument. The extra 1 is critical.</p>
+</li>
+
+                   <li><p>Each task is allocated by <samp class="codeph">allocate_child</samp>.</p>
+</li>
+
+                   <li><p>The call <samp class="codeph">spawn_and_wait_for_all</samp> combines spawning and waiting. A more uniform but slightly less efficient alternative is to spawn all tasks with spawn and wait by calling <samp class="codeph">wait_for_all</samp>. </p>
+</li>
+
+               </ul>
+</div>
+
+               <div class="section"><h2 class="sectiontitle">Continuation-Passing Style With <em>k</em> Children</h2>
+                   <p>There are two recommended styles. They differ in whether it is more convenient to recycle the parent as the continuation or as a child. The decision should be based upon whether the continuation or child acts more like the parent.</p>
+
+                   <p>Optionally, as shown in the following examples, the code can return a pointer to one of the children instead of spawning it. Doing so causes the child to execute immediately after the parent returns. This option often improves efficiency because it skips pointless overhead of putting the task into the task pool and taking it back out.</p>
+</div>
+
+               <div class="section"><h2 class="sectiontitle">Recycling Parent as Continuation</h2>
+                   <p>This style is useful when the continuation needs to inherit much of the state of the parent and the child does not need the state. The continuation must have the same type as the parent.</p>
+
+<pre>task* T::execute() {
+        if( not recursing any further ) {
+            ...
+            return NULL;
+        } else {
+            set_ref_count(k);
+            recycle_as_continuation();
+            task& t<sub>k </sub> = *new(allocate_child()) T(...); spawn(t<sub>k</sub>);
+            task& t<sub>k</sub><sub class="sub_1">-</sub><sub>1 </sub>= *new(allocate_child()) T(...); spawn(t<sub>k</sub><sub class="sub_1">-</sub><sub>1</sub>);
+            ...
+            // Return pointer to first child instead of spawning it,
+            // to remove unnecessary overhead.
+            task& t<sub>1</sub> = *new(allocate_child()) T(...);
+            return &t<sub>1</sub>;
+        }
+    }    </pre>              
+                   <p>The key points of the pattern are:</p>
+
+                   <ul type="disc">
+                       <li><p>The call to <samp class="codeph">set_ref_count</samp> uses <em>k</em> as its argument. There is no extra +1 as there is in blocking style discussed in Section Blocking Style With k Children.</p>
+</li>
+
+                       <li><p>Each child task is allocated by <samp class="codeph">allocate_child</samp>.</p>
+</li>
+
+                       <li><p>The continuation is recycled from the parent, and hence gets the parent's state without doing copy operations.</p>
+</li>
+
+                   </ul>
+</div>
+
+               <div class="section"><h2 class="sectiontitle">Recycling Parent as a Child</h2>
+                   <p>This style is useful when the child inherits much of its
+                state from a parent and the continuation does not need the state of the parent. The
+                child must have the same type as the parent. In the example, C is the type of the
+                continuation, and must derive from class <samp class="codeph">task</samp>. If C does nothing
+                except wait for all children to complete, then C can be the class
+                    <samp class="codeph">empty_task</samp>.</p>
+
+<pre>task* T::execute() {
+        if( not recursing any further ) {
+            ...
+            return NULL;
+        } else {
+            // Construct continuation
+            C& c = allocate_continuation();
+            c.set_ref_count(k);
+            // Recycle self as first child
+            task& t<sub>k</sub><sub></sub> = *new(c.allocate_child()) T(...); spawn(t<sub>k</sub>);
+            task& t<sub>k</sub><sub class="sub_1">-</sub><sub>1 </sub>= *new(c.allocate_child()) T(...); spawn(t<sub>k</sub><sub class="sub_1">-</sub><sub>1</sub>);
+            ...
+            task& t<sub>2</sub> = *new(c.allocate_child()) T(...);  spawn(t<sub>2</sub>);
+            // task t<sub>1</sub> is our recycled self.
+            recycle_as_child_of(c);
+            update fields of *this to subproblem to be solved by t<sub>1</sub>
+            return this;
+        }
+    }</pre>
+                   <p>The key points of the pattern are:</p>
+
+                   <ul type="disc">
+                       <li><p>The call to <samp class="codeph">set_ref_count</samp> uses <em>k</em> as its argument. There is no extra 1 as there is in blocking style discussed in Section Blocking Style With k Children .</p>
+</li>
+
+                       <li><p>Each child task except for t<sub>1</sub> is allocated by c.<samp class="codeph">allocate_child</samp>. It is critical to use <samp class="codeph">c.allocate_child</samp>, and not <samp class="codeph">(*this).allocate_child; </samp>otherwise the task graph will be wrong.</p>
+</li>
+
+                       <li><p>Task t<sub>1</sub>is recycled from the parent, and hence gets the parent's state without performing copy operations. Do not forget to update the state to represent a child subproblem; otherwise infinite recursion will occur.</p>
+</li>
+
+                   </ul>
+</div>
+
+       <div class="section"><h2 class="sectiontitle">Letting Main Thread Work While Child Tasks Run</h2>
+           <p>Sometimes it is desirable to have the main thread continue execution while child tasks
+                are running. The following pattern does this by using a dummy
+                    <samp class="codeph">empty_task</samp>.</p>
+
+          <pre>task* dummy = new( task::allocate_root() ) empty_task;
+dummy->set_ref_count(k+1);
+task& t<sub>k</sub> = *new( dummy->allocate_child() ) T;  dummy->spawn(t<sub>k</sub>);
+task& t<sub>k-1</sub> = *new( dummy->allocate_child() ) T;  dummy->spawn(t<sub>k-1</sub>);
+...
+task& t<sub>1</sub> = *new( dummy->allocate_child() ) T;  dummy->spawn(t<sub>1</sub>);
+...do any other work...
+dummy->wait_for_all();
+dummy->destroy(*dummy);</pre>
+          <p> The key points of the pattern are:</p>
+
+           <ol><li>The dummy task is a placeholder and never runs.</li>
+
+               <li>The call to <samp class="codeph">set_ref_count</samp> uses <em>k</em>+1 as its argument. </li>
+
+               <li>The dummy task must be explicitly destroyed.</li>
+</ol>
+ 
+       </div>
+
+       
+   </div>
+ 
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../reference/task_scheduler.htm">Task Scheduler</a></div>
+</div>
+<div class="See Also">
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="empty_task_cls.htm">empty_task Class</a></div></div>
+</div>
+</body>
+</html>
diff --git a/doc/help/reference/task_scheduler/empty_task_cls.htm b/doc/help/reference/task_scheduler/empty_task_cls.htm
new file mode 100755
index 0000000..6a839e2
--- /dev/null
+++ b/doc/help/reference/task_scheduler/empty_task_cls.htm
@@ -0,0 +1,57 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="empty_task Class">
+<meta name="DC.subject" content="empty_task Class">
+<meta name="keywords" content="empty_task Class">
+<meta name="DC.Relation" scheme="URI" content="../../reference/task_scheduler.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="empty_task_cls">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../intel_css_styles.css">
+<title>empty_task Class</title>
+</head>
+<body id="empty_task_cls">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(2);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="empty_task_cls"><!-- --></a>
+
+
+    <h1 class="topictitle1">empty_task Class</h1>
+
+    
+<div><div class="section"><h2 class="sectiontitle">Summary</h2>
+        <p>Subclass of <em>task</em> that represents doing nothing.</p>
+
+        </div>
+<div class="section"><h2 class="sectiontitle">Syntax</h2>
+        <pre>class empty_task;</pre>
+        </div>
+<div class="section"><h2 class="sectiontitle">Header</h2>
+        <pre>#include "tbb/task.h"</pre>
+        </div>
+<div class="section"><h2 class="sectiontitle">Description</h2>
+        <p>An <samp class="codeph">empty_task</samp> is a task that does nothing. It is useful as a continuation of a parent task when the continuation should do nothing except wait for its predecessors to complete.</p>
+
+        </div>
+<div class="section"><h2 class="sectiontitle">Members</h2>
+<pre> namespace tbb {
+        class empty_task: public task {
+            /*override*/ task* execute() {return NULL;}
+        };  
+ } </pre></div>
+
+        </div>
+ 
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../reference/task_scheduler.htm">Task Scheduler</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/reference/task_scheduler/explicit_task_destruction.htm b/doc/help/reference/task_scheduler/explicit_task_destruction.htm
new file mode 100755
index 0000000..6259d43
--- /dev/null
+++ b/doc/help/reference/task_scheduler/explicit_task_destruction.htm
@@ -0,0 +1,87 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="Explicit task Destruction">
+<meta name="DC.subject" content="Explicit task Destruction">
+<meta name="keywords" content="Explicit task Destruction">
+<meta name="DC.Relation" scheme="URI" content="../../reference/task_scheduler.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="explicit_task_destruction">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../intel_css_styles.css">
+<title>Explicit task Destruction</title>
+</head>
+<body id="explicit_task_destruction">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(2);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="explicit_task_destruction"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Explicit task Destruction</h1>
+ 
+   
+  <div> 
+	 <div class="section"> 
+		<p>Usually, a 
+		  <samp class="codeph">task</samp> is automatically destroyed by the scheduler after
+		  its method 
+		  <samp class="codeph">execute</samp> returns. But sometimes 
+		  <samp class="codeph">task</samp> objects are used idiomatically (such as for
+		  reference counting) without ever running  
+		  <samp class="codeph">execute</samp>. Such tasks should be disposed with method 
+		  <samp class="codeph">destroy</samp>. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">static void destroy ( task& victim
+		  )</h2> 
+		 
+		<p><strong>Requirements</strong> 
+		</p>
+ 
+		<p>The refcount of 
+		  <samp class="codeph">victim</samp> must be zero. This requirement is checked in
+		  the debug version of the library. 
+		</p>
+ 
+		<p><strong>Effects</strong> 
+		</p>
+ 
+		<p>Calls destructor and deallocates memory for 
+		  <samp class="codeph"><em>victim</em></samp>. If 
+		  <samp class="codeph"><em>victim</em></samp>.<samp class="codeph"><em>parent</em></samp> is not
+		  null, atomically decrements 
+		  <samp class="codeph"><em>victim.parent->refcount</em></samp>. The parent is 
+		  <strong>not</strong> put into the ready pool if its 
+		  <em>refcount</em> becomes zero. The figure below summarizes the state
+		  transition. 
+		</p>
+ 
+		<div class="fignone"><span class="figcap">Effect of destroy(victim).</span> 
+		   
+		  <br><img src="../Resources/0600000C.png"><br> 
+		</div>
+ 
+		<p> 
+		  <samp class="codeph"><em>refcount</em></samp> adjustment is skipped if parent is
+		  null. 
+		</p>
+ 
+	 </div>
+ 
+  </div>
+ 
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../reference/task_scheduler.htm">Task Scheduler</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/reference/task_scheduler/priorities.htm b/doc/help/reference/task_scheduler/priorities.htm
new file mode 100755
index 0000000..36df055
--- /dev/null
+++ b/doc/help/reference/task_scheduler/priorities.htm
@@ -0,0 +1,203 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="Priorities">
+<meta name="DC.subject" content="Priority">
+<meta name="keywords" content="Priority">
+<meta name="DC.Relation" scheme="URI" content="../../reference/task_scheduler.htm">
+<meta name="DC.Relation" scheme="URI" content="task_group_context.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="priorities">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../intel_css_styles.css">
+<title>Priorities</title>
+</head>
+<body id="priorities">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(2);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="priorities"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Priorities</h1>
+ 
+   
+  <div> 
+	 <div class="section"> 
+		<p>Priority levels can be assigned to individual tasks or task groups.
+		  The library supports three levels {low, normal, high} and two kinds of
+		  priority: 
+		</p>
+ 
+		<p> 
+		<ul type="disc"> 
+		  <li>Static priority for enqueued tasks. 
+		  </li>
+ 
+		  <li>Dynamic priority for task groups. 
+		  </li>
+ 
+		</ul>
+ 
+		</p>
+ 
+		<p> The former is specified by an optional argument of the 
+		  <samp class="codeph">task::enqueue()</samp> method, affects a specific task only,
+		  and cannot be changed afterwards. Tasks with higher priority are dequeued
+		  before tasks with lower priorities. The latter affects all the tasks in a group
+		  and can be changed at any time either via the associated 
+		  <samp class="codeph">task_group_context</samp> object or via any task belonging to
+		  the group. The priority-related methods in 
+		  <samp class="codeph">task_group_context</samp> are described in Section
+		  task_group_context. The task scheduler tracks the highest priority of ready
+		  tasks (both enqueued and spawned), and postpones execution of tasks with lower
+		  priority until all higher priority task are executed. By default, all tasks and
+		  task groups are created with normal priority. 
+		</p>
+ 
+		<div class="Note"><h3 class="NoteTipHead">
+					Note</h3> 
+		  <p> Priority changes may not come into effect
+			 immediately in all threads. So it is possible that lower priority tasks are
+			 still being executed for some time even in the presence of higher priority
+			 ones. 
+		  </p>
+ 
+		</div> 
+		<p>When several user threads (masters) concurrently execute parallel
+		  algorithms, the pool of worker threads is partitioned between them
+		  proportionally to the requested concurrency levels. In the presence of tasks
+		  with different priorities, the pool of worker threads is proportionally divided
+		  among the masters with the highest priority first. Only after fully satisfying
+		  the requests of these higher priority masters, will the remaining threads be
+		  provided to the other masters. 
+		</p>
+ 
+		<p>Though masters with lower priority tasks may be left without workers,
+		  the master threads are never stalled themselves. Task priorities also do not
+		  affect and are not affected by OS thread priority settings. 
+		  <div class="Note"><h3 class="NoteTipHead">
+					Note</h3> 
+			 <p> Worker thread migration from one master thread
+				to another may not happen immediately. 
+			 </p>
+ 
+		  </div> 
+		</p>
+ 
+		<p><strong>Related Constants and Methods</strong> 
+		</p>
+ 
+		<p> 
+		  <pre>namespace tbb {
+    enum priority_t {
+        priority_normal = implementation-defined,
+        priority_low = implementation-defined,
+        priority_high = implementation-defined
+    };
+
+    class task {
+        // . . .
+        static void enqueue( task&, priority_t );
+        void set_group_priority ( priority_t );
+        priority_t group_priority () const;        
+        // . . .
+    };
+}
+</pre> 
+		</p>
+ 
+		
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"><span class="tabledesc">The following table provides additional information on the
+			 members of this template class. 
+		  </span><thead align="left"> 
+				<tr> 
+				  <th class="cellrowborder" valign="top" width="33.89830508474576%" id="d109329e88">Member 
+				  </th>
+ 
+				  <th class="cellrowborder" valign="top" width="66.10169491525423%" id="d109329e91">Description 
+				  </th>
+ 
+				</tr>
+</thead>
+ 
+			 <tbody> 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d109329e88 "><span class="keyword">void enqueue ( task& t,
+						priority_t p ) const</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d109329e91 "> 
+					 <p>Enqueues task 
+						<samp class="codeph">t</samp> at the priority level 
+						<samp class="codeph">p</samp>. 
+					 </p>
+ 
+					 <div class="Note"><h3 class="NoteTipHead">
+					Note</h3> 
+						<p>The priority of an enqueued task does
+						  not affect priority of the task group, from the scope of which 
+						  <samp class="codeph">task::enqueue()</samp> is invoked. That is, the
+						  group, which the task returned by 
+						  <samp class="codeph">task::self()</samp> method belongs to. 
+						</p>
+ 
+					 </div> 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d109329e88 "><span class="keyword">void set_group_priority (
+						priority_t )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d109329e91 "> 
+					 <p>Changes priority of the task group, which this task belongs
+						to. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d109329e88 "><span class="keyword">priority_t group_priority ()
+						const</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d109329e91 "> 
+					 <p><strong>Returns</strong>: Priority of the task group, which this task
+						belongs to. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+			 </tbody>
+ 
+		  </table>
+</div>
+ 
+	 </div>
+ 
+  </div>
+ 
+  
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../reference/task_scheduler.htm">Task Scheduler</a></div>
+</div>
+<div class="See Also">
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="task_group_context.htm">task_group_context 
+		  </a></div></div>
+</div>
+
+</body>
+</html>
diff --git a/doc/help/reference/task_scheduler/recycling_tasks.htm b/doc/help/reference/task_scheduler/recycling_tasks.htm
new file mode 100755
index 0000000..4c6948d
--- /dev/null
+++ b/doc/help/reference/task_scheduler/recycling_tasks.htm
@@ -0,0 +1,220 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="Recycling Tasks">
+<meta name="DC.subject" content="Recycling Tasks">
+<meta name="keywords" content="Recycling Tasks">
+<meta name="DC.Relation" scheme="URI" content="../../reference/task_scheduler.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="recycling_tasks">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../intel_css_styles.css">
+<title>Recycling Tasks</title>
+</head>
+<body id="recycling_tasks">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(2);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="recycling_tasks"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Recycling Tasks</h1>
+
+  
+  <div> 
+	 <div class="section"> 
+		<p>It is often more efficient to recycle a task object
+		  rather than reallocate one from scratch. Often the parent can become the
+		  continuation, or one of the predecessors. 
+		</p>
+ 
+		<div class="Note"><h3 class="NoteTipHead">
+					Caution</h3>
+		  <p><strong>Overlap rule</strong>: A recycled task 
+			 <em>t</em> must not be put in jeopardy of having 
+			 <samp class="codeph"><em>t</em>.execute()</samp> rerun while the previous
+			 invocation of 
+			 <samp class="codeph"><em>t</em>.execute()</samp> is still running. The debug
+			 version of the library detects some violations of this rule.
+		  </p>
+
+		</div> 
+		<p>For example, 
+		  <samp class="codeph"><em>t</em>.execute()</samp> should never spawn 
+		  <samp class="codeph"><em>t</em></samp> directly after recycling it. Instead, 
+		  <samp class="codeph"><em>t</em>.execute()</samp> should return a pointer to 
+		  <samp class="codeph"><em>t</em></samp>, so that 
+		  <samp class="codeph">t</samp> is spawned after 
+		  <samp class="codeph"><em>t</em>.execute()</samp> completes.
+		</p>
+
+		
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"><span class="tabledesc">The following table provides additional information on the
+			 members of this template class. 
+		  </span><thead align="left"> 
+				<tr> 
+				  <th class="cellrowborder" valign="top" width="33.89830508474576%" id="d109721e85">Member 
+				  </th>
+ 
+				  <th class="cellrowborder" valign="top" width="66.10169491525423%" id="d109721e88">Description 
+				  </th>
+ 
+				</tr>
+</thead>
+ 
+			 <tbody> 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d109721e85 "><span class="keyword">void
+						recycle_as_continuation()</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d109721e88 ">
+					 <p><strong>Requirements</strong>: Must be called while
+						method 
+						<samp class="codeph">execute()</samp> is running.
+					 </p>
+ 
+					 <p>The 
+						<samp class="codeph"><em>refcount</em></samp> for the recycled task should
+						be set to 
+						<samp class="codeph"><em>n</em></samp>, where 
+						<samp class="codeph"><em>n</em></samp> is the number of predecessors of
+						the continuation task.
+					 </p>
+ 
+					 <div class="Note"><h3 class="NoteTipHead">
+					Caution</h3>
+						<p>The caller must guarantee that the
+						  task's 
+						  <samp class="codeph"><em>refcount</em></samp> does not become zero until
+						  after method 
+						  <samp class="codeph">execute()</samp> returns, otherwise the overlap
+						  rule is broken. If the guarantee is not possible, use method 
+						  <samp class="codeph">recycle_as_safe_continuation()</samp> instead,
+						  and set the 
+						  <samp class="codeph"><em>refcount</em></samp> to 
+						  <samp class="codeph"><em>n</em>+1</samp>. 
+						</p>
+
+					 </div> 
+					 <p>The race can occur for a task 
+						<samp class="codeph"><em>t</em></samp> when:
+					 </p>
+ 
+					 <p><samp class="codeph"><em>t</em>.execute()</samp>
+						recycles 
+						<samp class="codeph"><em>t</em></samp> as a continuation.
+					 </p>
+ 
+					 <p>The continuation has predecessors that
+						all complete before 
+						<samp class="codeph"><em>t</em>.execute()</samp> returns.
+					 </p>
+ 
+					 <p>Hence the recycled 
+						<samp class="codeph"><em>t 
+						  </em></samp>will be implicitly respawned with the original
+						
+						<samp class="codeph"><em>t</em>.execute()</samp>still running, which
+						breaks the overlap rule.
+					 </p>
+ 
+					 <p>Patterns that use 
+						<samp class="codeph">recycle_as_continuation()</samp> typically avoid
+						the race by making 
+						<samp class="codeph"><em>t</em>.execute()</samp> return a pointer to one
+						of the predecessors instead of explicitly spawning that predecessor. The
+						scheduler implicitly spawns that predecessor after 
+						<samp class="codeph"><em>t</em>.execute()</samp> returns, thus
+						guaranteeing that the recycled t does not rerun prematurely.
+					 </p>
+ 
+					 <p><strong>Effects</strong>: Causes 
+						<samp class="codeph">this</samp> to not be destroyed when method 
+						<samp class="codeph">execute()</samp> returns.
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d109721e85 "><span class="keyword">void
+						recycle_as_safe_continuation()</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d109721e88 ">
+					 <p><strong>Requirements</strong>: Must be called while
+						method 
+						<samp class="codeph">execute()</samp> is running.
+					 </p>
+ 
+					 <p>The 
+						<samp class="codeph"><em>refcount</em></samp> for the recycled task should
+						be set to 
+						<samp class="codeph"><em>n</em>+1</samp>, where 
+						<samp class="codeph"><em>n</em></samp> is the number of predecessors of
+						the continuation task. The additional 
+						<samp class="codeph">+1</samp> represents the task to be recycled.
+					 </p>
+ 
+					 <p><strong>Effects</strong>: Causes 
+						<samp class="codeph">this</samp> to not be destroyed when method 
+						<samp class="codeph">execute()</samp> returns. 
+					 </p>
+ 
+					 <p>This method avoids the race discussed for
+						recycle_as_continuation because the additional +1 in the 
+						<samp class="codeph"><em>refcount</em></samp> prevents the continuation
+						from executing until the original invocation of 
+						<samp class="codeph">execute() 
+						</samp>completes.
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+
+				<tr>
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d109721e85 "><span class="keyword">void recycle_as_child_of(
+						task& new_successor )</span> 
+				  </td>
+
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d109721e88 ">
+					 <p><strong>Requirements</strong>: Must be called while
+						method 
+						<samp class="codeph">execute()</samp> is running.
+					 </p>
+ 
+					 <p><strong>Effects</strong>: Causes 
+						<samp class="codeph">this</samp> to become a predecessor of 
+						<samp class="codeph"><em>new_successor</em></samp>, and not be destroyed
+						when method 
+						<samp class="codeph">execute()</samp> returns.
+					 </p>
+
+				  </td>
+
+				</tr>
+ 
+			 </tbody>
+ 
+		  </table>
+</div>
+
+	 </div>
+ 
+  </div>
+ 
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../reference/task_scheduler.htm">Task Scheduler</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/reference/task_scheduler/scheduling_algorithm.htm b/doc/help/reference/task_scheduler/scheduling_algorithm.htm
new file mode 100755
index 0000000..dd006b0
--- /dev/null
+++ b/doc/help/reference/task_scheduler/scheduling_algorithm.htm
@@ -0,0 +1,149 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="Scheduling Algorithm">
+<meta name="DC.subject" content="Scheduling Algorithm">
+<meta name="keywords" content="Scheduling Algorithm">
+<meta name="DC.Relation" scheme="URI" content="../../reference/task_scheduler.htm">
+<meta name="DC.Relation" scheme="URI" content="../../tbb_userguide/Design_Patterns/Non-Preemptive_Priorities.htm#Non-Preemptive_Priorities">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="scheduling_algorithm">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../intel_css_styles.css">
+<title>Scheduling Algorithm</title>
+</head>
+<body id="scheduling_algorithm">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(2);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="scheduling_algorithm"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Scheduling Algorithm</h1>
+ 
+   
+  <div> 
+	 <div class="section"> 
+		<p>The scheduler employs a technique known as 
+		  <em>work stealing</em>. Each thread keeps a "ready pool" of tasks that
+		  are ready to run. The ready pool is structured as a deque (double-ended queue)
+		  of task objects that were 
+		  <em>spawned</em>. Additionally, there is a shared queue of 
+		  <samp class="codeph">task</samp> objects that were 
+		  <em>enqueued</em>. The distinction between spawning a task and enqueuing
+		  a task affects when the scheduler runs the task. 
+		</p>
+ 
+		<p>After completing a task 
+		  <samp class="codeph"><em>t</em></samp>, a thread chooses its next task according to
+		  the first applicable rule below: 
+		</p>
+ 
+		<ol class="ol_3"> 
+		  <li>The task returned by 
+			 <samp class="codeph"><em>t</em>.execute()</samp> 
+		  </li>
+ 
+		  <li>The successor of 
+			 <samp class="codeph"><em>t</em></samp> if 
+			 <samp class="codeph"><em>t</em></samp> was its last completed predecessor. 
+		  </li>
+ 
+		  <li>A task popped from the end of the thread’s own deque. 
+		  </li>
+ 
+		  <li>A task with affinity for the thread. 
+		  </li>
+ 
+		  <li>A task popped from approximately the beginning of the shared queue.
+			 
+		  </li>
+ 
+		  <li>A task popped from the beginning of another randomly chosen
+			 thread’s deque. 
+		  </li>
+ 
+		</ol>
+ 
+		<p>When a thread 
+		  <samp class="codeph"><em>spawns</em></samp> a task, it pushes it onto the end of its
+		  own deque. Hence rule (3) above gets the task most recently spawned by the
+		  thread, whereas rule (6) gets the least recently spawned task of another
+		  thread. 
+		</p>
+ 
+		<p>When a thread 
+		  <em>enqueues</em> a task, it pushes it onto the end of the shared queue.
+		  Hence rule (5) gets one of the less recently enqueued tasks, and has no
+		  preference for tasks that are enqueued. This is in contrast to spawned tasks,
+		  where by rule (3) a thread prefers its own most recently spawned task. 
+		</p>
+ 
+		<p>Note the “approximately” in rule (5). For scalability reasons, the
+		  shared queue does 
+		  <strong>not</strong> guarantee precise first-in first-out behavior. If strict
+		  first-in first-out behavior is desired, put the real work in a separate queue,
+		  and create tasks that pull work from that queue. The Non-Preemptive Priorities
+		  section in the User Guide section explains the technique. 
+		</p>
+ 
+		<p>It is important to understand the implications of spawning versus
+		  enqueuing for nested parallelism. 
+		</p>
+ 
+		<ul type="disc" class="ul_1"> 
+		  <li class="li_1">Spawned tasks emphasize locality. Enqueued tasks
+			 emphasize fairness. 
+		  </li>
+ 
+		</ul>
+ 
+		<ul type="disc" class="ul_1"> 
+		  <li class="li_1">For nested parallelism, spawned tasks tend
+			 towards depth-first execution, whereas enqueued tasks cause breadth-first
+			 execution. Because the space demands of breadth-first execution can be
+			 exponentially higher than depth-first execution, enqueued tasks should be used
+			 with care. 
+		  </li>
+ 
+		</ul>
+ 
+		<ul type="disc" class="ul_1"> 
+		  <li class="li_1">A spawned task might never be executed until a
+			 thread explicitly waits on the task to complete. An enqueued tasks will
+			 eventually run if all previously enqueued tasks complete. In the case where
+			 there would ordinarily be no other worker thread to execute an enqueued task,
+			 the scheduler creates an extra worker. 
+		  </li>
+ 
+		</ul>
+ 
+		<p>In general, use spawned tasks unless there is a clear reason to use an
+		  enqueued task. Spawned tasks yield the best balance between locality of
+		  reference, space efficiency, and parallelism. The algorithm for spawned tasks
+		  is similar to the work-stealing algorithm used by Cilk (Blumofe 1995). The
+		  notion of work-stealing dates back to the 1980s (Burton 1981). The thread
+		  affinity support is more recent (Acar 2000). 
+		</p>
+ 
+	 </div>
+ 
+  </div>
+ 
+  
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../reference/task_scheduler.htm">Task Scheduler</a></div>
+</div>
+<div>
+<br clear="all">
+<div class="linklist">
+<div><a href="../../tbb_userguide/Design_Patterns/Non-Preemptive_Priorities.htm#Non-Preemptive_Priorities">Non-Preemptive Priorities
+		  </a></div></div>
+</div>
+
+</body>
+</html>
diff --git a/doc/help/reference/task_scheduler/synchronization.htm b/doc/help/reference/task_scheduler/synchronization.htm
new file mode 100755
index 0000000..974befe
--- /dev/null
+++ b/doc/help/reference/task_scheduler/synchronization.htm
@@ -0,0 +1,467 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="Synchronization">
+<meta name="DC.subject" content="Synchronization">
+<meta name="keywords" content="Synchronization">
+<meta name="DC.Relation" scheme="URI" content="../../reference/task_scheduler.htm">
+<meta name="DC.Relation" scheme="URI" content="scheduling_algorithm.htm">
+<meta name="DC.Relation" scheme="URI" content="task_group_context.htm">
+<meta name="DC.Relation" scheme="URI" content="task_cls/task_derivation.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="synchronization">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../intel_css_styles.css">
+<title>Synchronization</title>
+</head>
+<body id="synchronization">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(2);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="synchronization"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Synchronization</h1>
+ 
+   
+  <div> 
+	 <div class="section"> 
+		<p>Spawning a task 
+		  <em>t</em> either causes the calling thread to invoke 
+		  <em>t</em>.<samp class="codeph">execute()</samp>, or causes<samp class="codeph"><em>
+				t</em></samp> to be put into the ready pool. Any thread participating in task
+		  scheduling may then acquire the task and invoke 
+		  <em>t</em>.<samp class="codeph">execute()</samp>. Section Scheduling Algorithm
+		  describes the structure of the ready pool. 
+		</p>
+ 
+		<p>The calls that spawn come in two forms: 
+		</p>
+ 
+		<ul type="disc"> 
+		  <li> 
+			 <p>Spawn a single 
+				<samp class="codeph">task</samp>. 
+			 </p>
+ 
+		  </li>
+ 
+		  <li> 
+			 <p>Spawn multiple 
+				<samp class="codeph">task</samp> objects specified by a 
+				<samp class="codeph">task_list</samp> and clear 
+				<samp class="codeph">task_list</samp>. 
+			 </p>
+ 
+		  </li>
+ 
+		</ul>
+ 
+		<p>Some calls distinguish between spawning root tasks
+		  and non-root tasks. A root task is one that was created using method 
+		  <samp class="codeph">allocate_root</samp>. 
+		</p>
+ 
+		<div class="Note"><h3 class="NoteTipHead">
+					Note</h3> 
+		  <p>A 
+			 <samp class="codeph">task</samp> should not spawn any predecessor task until it
+			 has called method 
+			 <samp class="codeph">set_ref_count</samp> to indicate both the number of
+			 predecessors and whether it intends to use one of the "wait_for_all" methods. 
+		  </p>
+ 
+		</div> 
+		
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"><span class="tabledesc">The following table provides additional information on the
+			 members of this template class. 
+		  </span><thead align="left"> 
+				<tr> 
+				  <th class="cellrowborder" valign="top" width="33.89830508474576%" id="d110779e108">Member 
+				  </th>
+ 
+				  <th class="cellrowborder" valign="top" width="66.10169491525423%" id="d110779e111">Description 
+				  </th>
+ 
+				</tr>
+</thead>
+ 
+			 <tbody> 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d110779e108 "><span class="keyword">void set_ref_count( int count
+						)</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d110779e111 "> 
+					 <p><strong>Requirements</strong>: count>=0. If the
+						intent is to subsequently spawn 
+						<em>n</em> predecessors and wait, then 
+						<em>count</em> should be 
+						<em>n</em>+1. Otherwise count should be 
+						<em>n</em>. 
+					 </p>
+ 
+					 <p><strong>Effects</strong>: Sets the 
+						<em>refcount</em> attribute to 
+						<samp class="codeph"><em>count</em></samp>. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d110779e108 "><span class="keyword">void
+						increment_ref_count();</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d110779e111 "> 
+					 <p>Atomically increments 
+						<em>refcount</em> attribute. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d110779e108 "><span class="keyword">int
+						decrement_ref_count();</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d110779e111 "> 
+					 <p>Atomically decrements 
+						<em>refcount</em> attribute. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: New value of refcount
+						attribute. 
+					 </p>
+ 
+					 <div class="Note"><h3 class="NoteTipHead">
+					Note</h3> 
+						<p>Explicit use of 
+						  <samp class="codeph">increment_ref_count</samp> and 
+						  <samp class="codeph">decrement_ref_count</samp> is typically necessary
+						  only when a task has more than one immediate successor task. Section "General
+						  Acyclic Graphs of Tasks" of the Tutorial explains more. 
+						</p>
+ 
+					 </div> 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d110779e108 "><span class="keyword">void wait_for_all()</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d110779e111 "> 
+					 <p><strong>Requirements</strong>: 
+						<samp class="codeph"><em>refcount</em>=<em>n</em>+1</samp>, where 
+						<em>n</em> is the number of predecessors that are still
+						running. 
+					 </p>
+ 
+					 <p><strong>Effects</strong>: Executes tasks in ready
+						pool until 
+						<em>refcount</em> is 1. Afterwards, leaves 
+						<em>refcount</em>=1 if the task's 
+						<samp class="codeph">task_group_context</samp> specifies 
+						<samp class="codeph">concurrent_wait</samp>, otherwise sets refcount to
+						0. The figure below summarizes the state transitions. 
+					 </p>
+ 
+					 <p>Also, 
+						<samp class="codeph">wait_for_all()</samp>automatically resets the
+						cancellation state of the 
+						<samp class="codeph">task_group_context</samp> implicitly associated
+						with the task , when all of the following conditions hold: 
+					 </p>
+ 
+					 <ul type="disc"> 
+						<li> 
+						  <p>The task was allocated without
+							 specifying a context. 
+						  </p>
+ 
+						</li>
+ 
+						<li> 
+						  <p>The calling thread is a user-created
+							 thread, not an Intel® Threading Building Blocks (Intel® TBB) worker thread. 
+						  </p>
+ 
+						</li>
+ 
+						<li> 
+						  <p>It is the outermost call to 
+							 <samp class="codeph">wait_for_all()</samp> by the thread. 
+						  </p>
+ 
+						</li>
+ 
+					 </ul>
+ 
+					 <div class="Note"><h3 class="NoteTipHead">
+					Tip</h3> 
+						<p>Under such conditions there is no way to know afterwards
+						  if the 
+						  <samp class="codeph">task_group_context</samp> was cancelled. Use an
+						  explicit 
+						  <samp class="codeph">task_group_context</samp> if you need to know. 
+						</p>
+ 
+					 </div> 
+					 <div class="fignone"><span class="figcap">Effect of wait_for_all</span> 
+						 
+						<br><img src="../Resources/0600000D.png"><br> 
+					 </div>
+
+					 <p>k=0 by default
+					 </p>
+
+					 <p>k= 1 if corresponding 
+						<samp class="codeph">task_group_context</samp> specifies 
+						<samp class="codeph">concurrent_wait</samp>
+					 </p>
+
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d110779e108 "><span class="keyword">static void spawn( task& t
+						)</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d110779e111 "> 
+					 <p>Puts task 
+						<em>t</em> into the ready pool and immediately returns. 
+					 </p>
+ 
+					 <p>If the 
+						<em>successor</em> of 
+						<samp class="codeph">t</samp> is not null, then 
+						<samp class="codeph">set_ref_count</samp> must be called on that 
+						<em>successor</em> before spawning any child tasks, because
+						once the child tasks commence, their completion will cause 
+						<em>successor</em>.<em>refcount</em> to be decremented
+						asynchronously. The debug version of the library often detects when a required
+						call to 
+						<samp class="codeph">set_ref_count</samp> is not made, or is made too
+						late. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d110779e108 "><span class="keyword">static void spawn ( task_list&
+						list )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d110779e111 "> 
+					 <p>Equivalent to executing spawn on each
+						task in 
+						<em>list</em> and clearing 
+						<em>list</em>, but may be more efficient. If 
+						<em>list</em> is empty, there is no effect. 
+					 </p>
+ 
+					 <div class="Note"><h3 class="NoteTipHead">
+					Note</h3> 
+						<p>Spawning a long linear list of tasks
+						  can introduce a bottleneck, because tasks are stolen individually. Instead,
+						  consider using a recursive pattern or a parallel loop template to create many
+						  pieces of independent work. 
+						</p>
+ 
+					 </div> 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d110779e108 "><span class="keyword">void spawn_and_wait_for_all(
+						task& t )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d110779e111 "> 
+					 <p><strong>Requirements</strong>: Any other
+						predecessors of 
+						<samp class="codeph">this</samp> must already be spawned. The 
+						<samp class="codeph">task</samp> 
+						<em>t</em> must have a non-null attribute 
+						<em>successor</em>. There must be a chain of 
+						<em>successor</em> links from 
+						<em>t</em> to the calling 
+						<samp class="codeph">task</samp>. Typically, this chain contains a
+						single link. That is, 
+						<em>t</em> is typically an immediate predecessor of 
+						<samp class="codeph">this</samp>. 
+					 </p>
+ 
+					 <p><strong>Effects</strong>: Similar to 
+						<samp class="codeph">{spawn(<em>t</em>); wait_for_all();}</samp>, but
+						often more efficient. Furthermore, it guarantees that 
+						<em>task</em> is executed by the current thread. This
+						constraint can sometimes simplify synchronization. The figure below illustrates
+						the state transitions. It is similar to the figure above, with task 
+						<em>t</em> being the 
+						<em>n</em>th task. 
+					 </p>
+ 
+					 <div class="fignone" id="fig13"><a name="fig13"><!-- --></a><span class="figcap">Effect of
+						  spawn_and_wait_for_all</span> 
+						 
+						<br><img src="../Resources/0600000E.png"><br> 
+					 </div>
+
+					 <p>k=0 by default
+					 </p>
+
+					 <p>k= 1 if corresponding 
+						<samp class="codeph">task_group_context</samp> specifies 
+						<samp class="codeph">concurrent_wait</samp>
+					 </p>
+
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d110779e108 "><span class="keyword">void spawn_and_wait_for_all(
+						task_list& list )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d110779e111 "> 
+					 <p>Similar to 
+						<samp class="codeph">{spawn(<em>list</em>); wait_for_all();}</samp>, but
+						often more efficient. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d110779e108 "><span class="keyword">static void spawn_root_and_wait(
+						task& root )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d110779e111 "> 
+					 <p><strong>Requirements</strong>: The memory for task 
+						<em>root</em> was allocated by 
+						<samp class="codeph">task::allocate_root()</samp>. 
+					 </p>
+ 
+					 <p><strong>Effects</strong>: Sets 
+						<em>parent</em> attribute of 
+						<em>root</em> to an undefined value and execute root as
+						described in Section Processing of execute(). Destroys 
+						<em>root</em> afterwards unless 
+						<em>root</em> was recycled. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d110779e108 "><span class="keyword">static void spawn_root_and_wait(
+						task_list& root_list )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d110779e111 "> 
+					 <p><strong>Requirements</strong>: Each 
+						<samp class="codeph">task</samp> object 
+						<em>t</em> in 
+						<em>root_list</em> must meet the requirements in static void
+						spawn_root_and_wait( task& root ). 
+					 </p>
+ 
+					 <p><strong>Effects</strong>: For each 
+						<samp class="codeph">task</samp> object 
+						<em>t</em> in root_list, performs 
+						<samp class="codeph">spawn_root_and_wait(<em>t</em>)</samp>, possibly in
+						parallel. Section static void spawn_root_and_wait( task& root ) describes
+						the actions of 
+						<samp class="codeph">spawn_root_and_wait(<em>t</em>)</samp>. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d110779e108 "><span class="keyword">static void enqueue ( task&
+						)</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d110779e111 "> 
+					 <p>The task is scheduled for eventual
+						execution by a worker thread even if no thread ever explicitly waits for the
+						task to complete. If the total number of worker threads is zero, a special
+						additional worker thread is created to execute enqueued tasks. 
+					 </p>
+ 
+					 <p>Enqueued tasks are processed in roughly,
+						but not precisely, first-come first-serve order. 
+					 </p>
+ 
+					 <div class="Note"><h3 class="NoteTipHead">
+					Caution</h3> 
+						<p>Using enqueued tasks for recursive
+						  parallelism can cause high memory usage, because the recursion will expand in a
+						  breadth-first manner. Use ordinary spawning for recursive parallelism. 
+						</p>
+ 
+					 </div> 
+					 <div class="Note"><h3 class="NoteTipHead">
+					Caution</h3> 
+						<p>Explicitly waiting on an enqueued task
+						  should be avoided, because other enqueued tasks from unrelated parts of the
+						  program might have to be processed first. The recommended pattern for using an
+						  enqueued task is to have it asynchronously signal its completion, for example,
+						  by posting a message back to the thread that enqueued it. See the Intel®
+						  Threading Building Blocks 
+						  <em>Design Patterns</em> manual for such an example. 
+						</p>
+ 
+					 </div> 
+				  </td>
+ 
+				</tr>
+ 
+			 </tbody>
+ 
+		  </table>
+</div>
+ 
+	 </div>
+ 
+  </div>
+ 
+  
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../reference/task_scheduler.htm">Task Scheduler</a></div>
+</div>
+<div class="See Also">
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="scheduling_algorithm.htm">Scheduling Algorithm 
+		  </a></div>
+<div><a href="task_group_context.htm">task_group_context 
+		  </a></div>
+<div><a href="task_cls/task_derivation.htm">task Derivation, Processing of execute() 
+		  </a></div></div>
+</div>
+
+</body>
+</html>
diff --git a/doc/help/reference/task_scheduler/task_allocation.htm b/doc/help/reference/task_scheduler/task_allocation.htm
new file mode 100755
index 0000000..27d09b7
--- /dev/null
+++ b/doc/help/reference/task_scheduler/task_allocation.htm
@@ -0,0 +1,248 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="task Allocation">
+<meta name="DC.subject" content="task Allocation">
+<meta name="keywords" content="task Allocation">
+<meta name="DC.Relation" scheme="URI" content="../../reference/task_scheduler.htm">
+<meta name="DC.Relation" scheme="URI" content="task_list_cls.htm">
+<meta name="DC.Relation" scheme="URI" content="synchronization.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="task_allocation">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../intel_css_styles.css">
+<title>task Allocation</title>
+</head>
+<body id="task_allocation">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(2);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="task_allocation"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">task Allocation</h1>
+ 
+   
+  <div> 
+	 <div class="section"> 
+		<p>Always allocate memory for 
+		  <samp class="codeph">task</samp> objects using one of the special overloaded new
+		  operators. The allocation methods do not construct the 
+		  <samp class="codeph">task</samp>. Instead, they return a proxy object that can be
+		  used as an argument to an overloaded version of operator new provided by the
+		  library. 
+		</p>
+ 
+		<p>In general, the allocation methods must be called
+		  before any of the tasks allocated are spawned. The exception to this rule is 
+		  <samp class="codeph">allocate_additional_child_of(t)</samp>, which can be called
+		  even if 
+		  <samp class="codeph">task</samp> 
+		  <samp class="codeph"><em>t</em></samp> is already running. The proxy types are
+		  defined by the implementation. The only guarantee is that the phrase
+		  "new(proxy) T(...)" allocates and constructs a task of type 
+		  <em>T</em>. 
+		</p>
+ 
+		<div class="Note"><h3 class="NoteTipHead">
+					Tip</h3> 
+		  <p>Allocating tasks larger than 216 bytes might be
+			 significantly slower than allocating smaller tasks. In general, task objects
+			 should be small lightweight entities. 
+		  </p>
+ 
+		</div> 
+		<p>Because these methods are used idiomatically, the
+		  members in the following table show the idiom, not the declaration. The
+		  argument 
+		  <samp class="codeph">this</samp> is typically implicit, but shown explicitly in
+		  the headings to distinguish instance methods from static methods. 
+		</p>
+ 
+		
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"><thead align="left"> 
+				<tr> 
+				  <th class="cellrowborder" valign="top" width="33.89830508474576%" id="d112273e65">Member 
+				  </th>
+ 
+				  <th class="cellrowborder" valign="top" width="66.10169491525423%" id="d112273e68">Description 
+				  </th>
+ 
+				</tr>
+</thead>
+ 
+			 <tbody> 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d112273e65 "><span class="keyword">new( task::allocate_root(
+						task_group_context& group ) ) T 
+					 </span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d112273e68 "> 
+					 <p>Allocate a 
+						<samp class="codeph">task</samp> of type 
+						<em>T 
+						</em>with the specified cancellation group. The figure below
+						summarizes the state transition. 
+					 </p>
+ 
+					 <div class="fignone" id="fig7"><a name="fig7"><!-- --></a><span class="figcap">Effect of
+						  task::allocate_root()</span> 
+						 
+						<br><img src="../Resources/06000008.png"><br> 
+					 </div>
+ 
+					 <p>Use method 
+						<samp class="codeph">spawn_root_and_wait</samp> to execute the 
+						<samp class="codeph">task</samp>. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d112273e65 "><span class="keyword">new( task::allocate_root() )
+						T</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d112273e68 "> 
+					 <p>Like 
+						<samp class="codeph">new(task::allocate_root(task_group_context&))</samp>
+						except that cancellation group is the current innermost cancellation group. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d112273e65 "><span class="keyword">new( x.allocate_continuation() )
+						T</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d112273e68 "> 
+					 <p>Allocates and constructs a task of type 
+						<samp class="codeph"><em>T</em></samp>, and transfers the 
+						<em>successor</em> from 
+						<samp class="codeph"><em>x</em></samp> to the new task. No reference
+						counts change. The figure below summarizes the state transition. 
+					 </p>
+ 
+					 <div class="fignone" id="fig8"><a name="fig8"><!-- --></a><span class="figcap">Effect of
+						  allocate_continuation()</span> 
+						 
+						<br><img src="../Resources/06000009.png"><br> 
+					 </div>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d112273e65 "><span class="keyword">new( x.allocate_child() )
+						T</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d112273e68 "> 
+					 <p>Allocates a 
+						<samp class="codeph">task</samp> with 
+						<samp class="codeph">this</samp> as its 
+						<em>successor</em>. The figure below summarizes the state
+						transition. 
+					 </p>
+ 
+					 <div class="fignone" id="fig9"><a name="fig9"><!-- --></a><span class="figcap">Effect of
+						  allocate_child()</span> 
+						 
+						<br><img src="../Resources/0600000A.png"><br> 
+					 </div>
+ 
+					 <p>If using explicit continuation passing,
+						then the continuation, not the 
+						<samp class="codeph"><em>successor</em></samp>, should call the allocation
+						method, so that successor is set correctly. 
+					 </p>
+ 
+					 <p>If the number of tasks is not a small
+						fixed number, consider building a 
+						<samp class="codeph">task_list</samp> of the predecessors first, and
+						spawning them with a single call to<samp class="codeph"> task::spawn</samp>. If a 
+						<samp class="codeph">task</samp> must spawn some predecessors before all
+						are constructed, it should use 
+						<samp class="codeph">task::allocate_additional_child_of(*this)</samp>
+						instead, because that method atomically increments 
+						<samp class="codeph"><em>refcount</em></samp>, so that the additional
+						predecessor is properly accounted. However, if doing so, the task must protect
+						against premature zeroing of 
+						<samp class="codeph"><em>refcount</em></samp> by using a blocking-style
+						task pattern. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d112273e65 "><span class="keyword">new(task::allocate_additional_child_of( y ))
+						T</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d112273e68 "> 
+					 <p>Allocates a 
+						<samp class="codeph">task</samp> as a predecessor of another 
+						<samp class="codeph">task 
+						  <em>y</em></samp>. Task 
+						<samp class="codeph">y</samp> may be already running or have other
+						predecessors running. The figure below summarizes the state transition. 
+					 </p>
+ 
+					 <div class="fignone" id="fig10"><a name="fig10"><!-- --></a><span class="figcap">Effect of
+						  allocate_additional_child_of(successor)</span> 
+						 
+						<br><img src="../Resources/0600000B.png"><br> 
+					 </div>
+ 
+					 <p>Because 
+						<samp class="codeph"><em>y</em></samp> may already have running
+						predecessors, the increment of 
+						<samp class="codeph"><em>y</em></samp>.<samp class="codeph"><em>refcount</em></samp> is
+						atomic (unlike the other allocation methods, where the increment is not
+						atomic). When adding a predecessor to a task with other predecessors running,
+						it is up to the programmer to ensure that the successor's 
+						<samp class="codeph"><em>refcount</em></samp> does not prematurely reach 0
+						and trigger execution of the successor before the new predecessor is added. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+			 </tbody>
+ 
+		  </table>
+</div>
+ 
+	 </div>
+ 
+  </div>
+ 
+  
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../reference/task_scheduler.htm">Task Scheduler</a></div>
+</div>
+<div class="See Also">
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="task_list_cls.htm">task_list Class 
+		  </a></div>
+<div><a href="synchronization.htm">Synchronization 
+		  </a></div></div>
+</div>
+
+</body>
+</html>
diff --git a/doc/help/reference/task_scheduler/task_cls.htm b/doc/help/reference/task_scheduler/task_cls.htm
new file mode 100755
index 0000000..b0d36e8
--- /dev/null
+++ b/doc/help/reference/task_scheduler/task_cls.htm
@@ -0,0 +1,326 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="task Class">
+<meta name="DC.subject" content="task Class">
+<meta name="keywords" content="task Class">
+<meta name="DC.Relation" scheme="URI" content="../../reference/task_scheduler.htm">
+<meta name="DC.Relation" scheme="URI" content="../../reference/task_scheduler/task_cls/task_derivation.htm">
+<meta name="DC.Relation" scheme="URI" content="task_allocation.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="task_cls">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../intel_css_styles.css">
+<title>task Class</title>
+</head>
+<body id="task_cls">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(2);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="task_cls"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">task Class</h1>
+ 
+   
+  <div> 
+	 <div class="section"><h2 class="sectiontitle">Summary</h2> 
+		 
+		<p>Base class for tasks. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Syntax</h2> 
+		 
+		<p> 
+		  <pre>class task;</pre> 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Header</h2> 
+		 
+		<p><samp class="codeph">#include "tbb/task.h"</samp> 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Description</h2> 
+		 
+		<p>Class task is the base class for tasks. You are
+		  expected to derive classes from task, and at least override the virtual method 
+		  <samp class="codeph">task* task::execute()</samp>. 
+		</p>
+ 
+		<p>Each instance of 
+		  <samp class="codeph">task</samp> has associated attributes, that while not
+		  directly visible, must be understood to fully grasp how task objects are used.
+		  The attributes are described in the table below. 
+		</p>
+ 
+		
+<div class="tablenoborder"><a name="tbl33"><!-- --></a><table cellpadding="4" summary="" id="tbl33" width="100%" frame="hsides" border="1" rules="all"><caption><span class="tablecap">Task Attributes</span></caption> 
+		   
+		   
+		  <thead align="left"> 
+			 <tr> 
+				<th class="cellrowborder" valign="top" width="NaN%" id="d113000e86"> 
+				  <p>Attribute 
+				  </p>
+ 
+				</th>
+ 
+				<th class="row-nocellborder" valign="top" width="NaN%" id="d113000e92"> 
+				  <p>Description 
+				  </p>
+ 
+				</th>
+ 
+			 </tr>
+</thead>
+ 
+		  <tbody> 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="NaN%" headers="d113000e86 "> 
+				  <p><samp class="codeph">successor</samp> 
+				  </p>
+ 
+				</td>
+ 
+				<td class="row-nocellborder" valign="top" width="NaN%" headers="d113000e92 "> 
+				  <p>Either null, or a pointer to another task
+					 whose refcount field will be decremented after the present task completes.
+					 Typically, the successor is the task that allocated the present task, or a task
+					 allocated as the continuation of that task. 
+				  </p>
+ 
+				  <p>Methods of class 
+					 <samp class="codeph">task</samp> call the successor "parent" and its
+					 preceding task the "child", because this was a common use case. But the library
+					 has evolved such that a child-parent relationship is no longer required between
+					 the predecessor and successor. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="NaN%" headers="d113000e86 "> 
+				  <p><samp class="codeph">refcount</samp> 
+				  </p>
+ 
+				</td>
+ 
+				<td class="row-nocellborder" valign="top" width="NaN%" headers="d113000e92 "> 
+				  <p>The number of Tasks that have this as their
+					 parent. Increments and decrement of refcount are always atomic. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+		  </tbody>
+ 
+		</table>
+</div>
+ 
+		<div class="Note"><h3 class="NoteTipHead">
+					Tip</h3> 
+		  <p>Always allocate memory for 
+			 <samp class="codeph">task</samp> objects using special overloaded new operators
+			 provided by the library, otherwise the results are undefined. Destruction of a 
+			 <samp class="codeph">task</samp> is normally implicit. The copy constructor and
+			 assignment operators for task are not accessible. This prevents accidental
+			 copying of a task, which would be ill-defined and corrupt internal data
+			 structures. 
+		  </p>
+ 
+		</div> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Notation</h2> 
+		 
+		<p>Some member descriptions illustrate effects by
+		  diagrams such as in the figure below. 
+		</p>
+ 
+		<div class="fignone" id="fig6"><a name="fig6"><!-- --></a><span class="figcap">Example Effect Diagram</span> 
+		   
+		  <br><img src="../Resources/06000007.png"><br> 
+		</div>
+ 
+		<p>Conventions in these diagrams are as follows: 
+		</p>
+ 
+		<ul type="disc"> 
+		  <li> 
+			 <p>The big arrow denotes the transition from the
+				old state to the new state. 
+			 </p>
+ 
+		  </li>
+ 
+		  <li> 
+			 <p>Each task's state is shown as a box divided
+				into 
+				<em>parent</em> and 
+				<em>refcount</em> sub-boxes. 
+			 </p>
+ 
+		  </li>
+ 
+		  <li> 
+			 <p>Gray denotes state that is ignored. Sometimes
+				ignored state is left blank. 
+			 </p>
+ 
+		  </li>
+ 
+		  <li> 
+			 <p>Black denotes state that is read. 
+			 </p>
+ 
+		  </li>
+ 
+		  <li> 
+			 <p>Blue denotes state that is written. 
+			 </p>
+ 
+		  </li>
+ 
+		</ul>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Members</h2> 
+		 
+		<p>In the description below, types 
+		  <em>proxy1...proxy5</em> are internal types. Methods returning such types
+		  should only be used in conjunction with the special overloaded new operators,
+		  as described in Section task Allocation. 
+		</p>
+ 
+		<pre>namespace tbb {
+        class task {
+        protected:
+            task();
+     
+        public:
+            virtual ~task() {}
+     
+            virtual task* execute() = 0;
+     
+            // Allocation
+            static proxy1 allocate_root();
+            static proxy2 allocate_root( task_group_context& );
+            proxy3 allocate_continuation();
+            proxy4 allocate_child();
+            static proxy5 allocate_additional_child_of( task& );
+     
+            // Explicit destruction
+            static void destroy( task& victim );
+     
+            // Recycling
+            void recycle_as_continuation();
+            void recycle_as_safe_continuation();
+            void recycle_as_child_of( task& new_parent );
+     
+            // Synchronization
+            void set_ref_count( int count );
+            void increment_ref_count();
+            int decrement_ref_count();
+            void wait_for_all();
+            static void spawn( task& t );        
+            static void spawn( task_list& list );
+            void spawn_and_wait_for_all( task& t );  
+            void spawn_and_wait_for_all( task_list& list );  
+            static void spawn_root_and_wait( task& root );
+            static void spawn_root_and_wait( task_list& root );
+            static void enqueue( task& );
+     
+            // Task context
+            static task& self();
+            task* parent() const;
+				void set_parent(task *p);				
+            bool is_stolen_task() const;
+            task_group_context* group();
+            void change_group( task_group_context& ctx );
+     
+            // Cancellation
+            bool cancel_group_execution();
+            bool is_cancelled() const;
+            
+            // Affinity
+            typedef implementation-defined-unsigned-type affinity_id;
+            virtual void note_affinity( affinity_id id );
+            void set_affinity( affinity_id id );
+            affinity_id affinity() const;
+     
+            // Debugging
+            enum state_type {
+                executing,
+                reexecute,
+                ready,
+                allocated,
+                freed
+            };
+            int ref_count() const;
+            state_type state() const;
+        };
+    } // namespace tbb
+     
+    void *operator new( size_t bytes, const proxy1& p );
+    void operator delete( void* task, const proxy1& p );
+    void *operator new( size_t bytes, const proxy2& p );
+    void operator delete( void* task, const proxy2& p );
+    void *operator new( size_t bytes, const proxy3& p );
+    void operator delete( void* task, const proxy3& p );
+    void *operator new( size_t bytes, proxy4& p );
+    void operator delete( void* task, proxy4& p );
+    void *operator new( size_t bytes, proxy5& p );
+    void operator delete( void* task, proxy5& p );</pre> 
+		<div class="Note"><h3 class="NoteTipHead">
+					Note</h3> 
+		  <p>Prior to Intel® Threading Building Blocks (Intel®
+			 TBB) 3.0, methods 
+			 <samp class="codeph">allocate_additional_child_of</samp>, 
+			 <samp class="codeph">destroy</samp>, and 
+			 <samp class="codeph">spawn</samp> were non-static. Evolution of the library made
+			 the 
+			 <samp class="codeph">this</samp> argument superfluous for these calls. The
+			 change preserves source compatibility except in cases where the address of the
+			 method was taken. Executables compiled with the older headers that had the
+			 non-static form will continue to work when linked against the current Intel®
+			 TBB 3.0 run-time libraries. 
+		  </p>
+ 
+		</div> 
+	 </div>
+ 
+  </div>
+ 
+  
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../reference/task_scheduler.htm">Task Scheduler</a></div>
+</div>
+<div class="See Also">
+<ul class="ullinks">
+<li class="ulchildlink"><a href="../../reference/task_scheduler/task_cls/task_derivation.htm">task Derivation</a><br>
+</li>
+</ul>
+
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="task_allocation.htm">task Allocation 
+		  </a></div></div>
+</div>
+
+</body>
+</html>
diff --git a/doc/help/reference/task_scheduler/task_cls/task_derivation.htm b/doc/help/reference/task_scheduler/task_cls/task_derivation.htm
new file mode 100755
index 0000000..f9a68f5
--- /dev/null
+++ b/doc/help/reference/task_scheduler/task_cls/task_derivation.htm
@@ -0,0 +1,88 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="task Derivation">
+<meta name="DC.subject" content="task Derivation">
+<meta name="keywords" content="task Derivation">
+<meta name="DC.Relation" scheme="URI" content="../../../reference/task_scheduler/task_cls.htm">
+<meta name="DC.Relation" scheme="URI" content="../recycling_tasks.htm">
+<meta name="DC.Relation" scheme="URI" content="../affinity.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="task_derivation">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../../intel_css_styles.css">
+<title>task Derivation</title>
+</head>
+<body id="task_derivation">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(3);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="task_derivation"><!-- --></a>
+
+
+    <h1 class="topictitle1">task Derivation</h1>
+
+
+<div>
+    <div class="section"><p>Class <samp class="codeph">task</samp> is an abstract base class. You <strong>must</strong> override method
+                    <samp class="codeph">task::execute</samp>. Method <samp class="codeph">execute</samp> should perform
+                the necessary actions for running the task, and then return the next
+                    <samp class="codeph">task</samp> to execute, or NULL if the scheduler should choose the
+                next task to execute. Typically, if non-NULL, the returned task is one of the
+                predecessor tasks of <samp class="codeph">this</samp>. Unless one of the recycle/reschedule
+                methods, described in Section Recycling Tasks, is called while method
+                    <samp class="codeph">execute()</samp> is running, the <samp class="codeph">this</samp> object will be
+                implicitly destroyed after method <samp class="codeph">execute</samp> returns.</p>
+<p>Override the virtual destructor if necessary to release resources allocated by the constructor.</p>
+<p>Override <samp class="codeph">note_affinity</samp> to improve cache reuse across tasks, as described in Section Affinity.</p>
+</div>
+<div class="section"><h2 class="sectiontitle">Processing of execute()</h2><p>When the scheduler decides that a thread should begin executing a <em>task</em>, it performs the
+                following steps:</p>
+
+      <ol class="ol_3">
+            <li>Invokes <samp class="codeph">execute()</samp> and waits for it to return.</li>
+
+            <li>If the task has not been marked by a method <samp class="codeph">recycle_*</samp>:<ol type="a">
+                        <li>Calls the task's destructor.</li>
+
+                        <li>If the task's <em>parent</em> is not null, then atomically decrements
+                                <em>successor</em>-><em>refcount</em>, and if becomes zero, puts the
+                            successor into the ready pool. </li>
+
+                        <li>Frees the memory of the task for reuse.</li>
+
+                    </ol>
+</li>
+
+
+           <li>If the task has been marked for recycling:<ol type="a">
+                        <li>If marked by <em>recycle_to_reexecute</em>(deprecated), puts the task back
+                        into the ready pool.</li>
+
+               <li>Otherwise it was marked by <em>recycle_as_child</em> or <em>recycle_as_continuation</em>. </li>
+     
+                    </ol>
+</li>
+
+          
+          
+      </ol>
+
+                </div>
+</div>
+ 
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../../reference/task_scheduler/task_cls.htm">task Class</a></div>
+</div>
+<div class="See Also">
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="../recycling_tasks.htm">Recycling Tasks</a></div>
+<div><a href="../affinity.htm">Affinity</a></div></div>
+</div>
+</body>
+</html>
diff --git a/doc/help/reference/task_scheduler/task_context.htm b/doc/help/reference/task_scheduler/task_context.htm
new file mode 100755
index 0000000..8c86d17
--- /dev/null
+++ b/doc/help/reference/task_scheduler/task_context.htm
@@ -0,0 +1,174 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="task Context">
+<meta name="DC.subject" content="task Context">
+<meta name="keywords" content="task Context">
+<meta name="DC.Relation" scheme="URI" content="../../reference/task_scheduler.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="task_context">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../intel_css_styles.css">
+<title>task Context</title>
+</head>
+<body id="task_context">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(2);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="task_context"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">task Context</h1>
+ 
+  
+  <div>
+	 <div class="section">
+		<p> The methods detailed in the following table expose
+		  relationships between 
+		  <em>task</em> objects, and between 
+		  <em>task</em> objects and the underlying physical threads.
+		</p>
+
+		
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"><thead align="left"> 
+				<tr> 
+				  <th class="cellrowborder" valign="top" width="33.89830508474576%" id="d113806e37">Member 
+				  </th>
+ 
+				  <th class="cellrowborder" valign="top" width="66.10169491525423%" id="d113806e40">Description 
+				  </th>
+ 
+				</tr>
+</thead>
+ 
+			 <tbody> 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d113806e37 "><span class="keyword">static task& self()</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d113806e40 ">
+					 <p><strong>Returns</strong>: Reference to innermost 
+						<em>task</em> that the calling thread is running. A task is
+						considered running if its methods 
+						<samp class="codeph">execute(), note_affinity()</samp>, or destructor
+						are running. If the calling thread is a user-created thread that is not running
+						any task, 
+						<samp class="codeph">self()</samp> returns a reference to an implicit
+						dummy task associated with the thread.
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d113806e37 "><span class="keyword">task* parent() const</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d113806e40 ">
+					 <p><strong>Returns</strong>: Value of the attribute 
+						<em>successor</em>. The result is an undefined value if the
+						task was allocated by 
+						<samp class="codeph">allocate_root</samp> and is currently running under
+						control of 
+						<samp class="codeph">spawn_root_and_wait</samp>.
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d113806e37 "><span class="keyword">void set_parent(task* p)</span>
+					 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d113806e40 ">
+					 <p><strong>Requirements</strong>: Both tasks must be
+						in the same task group. For example, for 
+						<samp class="codeph">task t, t.group() == p->group()</samp>
+					 </p>
+
+					 <p><strong>Effects</strong>: Sets parent task pointer
+						to specified value 
+						<samp class="codeph">p</samp>.
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d113806e37 "><span class="keyword">bool is_stolen_task()
+						const</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d113806e40 ">
+					 <p><strong>Returns</strong>: 
+						<em>true</em> if task is running on a thread different than the
+						thread that spawned it.
+					 </p>
+ 
+					 <div class="Note"><h3 class="NoteTipHead">
+					Note</h3>
+						<p>Tasks enqueued with 
+						  <samp class="codeph">task::enqueue()</samp> are never reported as
+						  stolen.
+						</p>
+
+					 </div> 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d113806e37 "><span class="keyword">task_group_context*
+						group()</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d113806e40 ">
+					 <p><strong>Returns</strong>: Descriptor of the task
+						group, which this task belongs to.
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d113806e37 "><span class="keyword">void change_group(
+						task_group_context& ctx )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d113806e40 ">
+					 <p>Moves the task from its current task
+						group into the one specified by the 
+						<samp class="codeph">ctx</samp> argument.
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+			
+			 </tbody>
+ 
+		  </table>
+</div>
+
+	 </div>
+ 
+  </div>
+ 
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../reference/task_scheduler.htm">Task Scheduler</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/reference/task_scheduler/task_debugging.htm b/doc/help/reference/task_scheduler/task_debugging.htm
new file mode 100755
index 0000000..8c82a3a
--- /dev/null
+++ b/doc/help/reference/task_scheduler/task_debugging.htm
@@ -0,0 +1,202 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="task Debugging">
+<meta name="DC.subject" content="task Debugging">
+<meta name="keywords" content="task Debugging">
+<meta name="DC.Relation" scheme="URI" content="../../reference/task_scheduler.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="task_debugging">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../intel_css_styles.css">
+<title>task Debugging</title>
+</head>
+<body id="task_debugging">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(2);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="task_debugging"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">task Debugging</h1>
+ 
+   
+  <div> 
+	 <div class="section"> 
+		<p>Methods in this subsection are useful for
+		  debugging. They may change in future implementations. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">state_type state() const</h2> 
+		 
+		<div class="Note"><h3 class="NoteTipHead">
+					Caution</h3> 
+		  <p>This method is intended for debugging only. Its
+			 behavior or performance may change in future implementations. The definition
+			 of<samp class="codeph"> task::state_type</samp> may change in future implementations. This
+			 information is being provided because it can be useful for diagnosing problems
+			 during debugging. 
+		  </p>
+ 
+		</div> 
+		<p><strong>Returns</strong> 
+		</p>
+ 
+		<p>Current state of the task. The table below
+		  describes valid states. Any other value is the result of memory corruption,
+		  such as using a task whose memory has been deallocated. 
+		</p>
+ 
+		
+<div class="tablenoborder"><a name="tbl34"><!-- --></a><table cellpadding="4" summary="" id="tbl34" width="100%" frame="hsides" border="1" rules="all"><caption><span class="tablecap">Values Returned by task::state()</span></caption> 
+		   
+		   
+		  <thead align="left"> 
+			 <tr> 
+				<th class="cellrowborder" valign="top" width="NaN%" id="d114348e60"> 
+				  <p>Value 
+				  </p>
+ 
+				</th>
+ 
+				<th class="row-nocellborder" valign="top" width="NaN%" id="d114348e66"> 
+				  <p>Description 
+				  </p>
+ 
+				</th>
+ 
+			 </tr>
+</thead>
+ 
+		  <tbody> 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="NaN%" headers="d114348e60 "> 
+				  <p>allocated 
+				  </p>
+ 
+				</td>
+ 
+				<td class="row-nocellborder" valign="top" width="NaN%" headers="d114348e66 "> 
+				  <p>Task is freshly allocated or recycled. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="NaN%" headers="d114348e60 "> 
+				  <p>ready 
+				  </p>
+ 
+				</td>
+ 
+				<td class="row-nocellborder" valign="top" width="NaN%" headers="d114348e66 "> 
+				  <p>Task is in ready pool, or is in process of
+					 being transferred to/from there. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="NaN%" headers="d114348e60 "> 
+				  <p>executing 
+				  </p>
+ 
+				</td>
+ 
+				<td class="row-nocellborder" valign="top" width="NaN%" headers="d114348e66 "> 
+				  <p>Task is running, and will be destroyed
+					 after method execute() returns. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="NaN%" headers="d114348e60 "> 
+				  <p>freed 
+				  </p>
+ 
+				</td>
+ 
+				<td class="row-nocellborder" valign="top" width="NaN%" headers="d114348e66 "> 
+				  <p>Task is on internal free list, or is in
+					 process of being transferred to/from there. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="NaN%" headers="d114348e60 "> 
+				  <p>reexecute 
+				  </p>
+ 
+				</td>
+ 
+				<td class="row-nocellborder" valign="top" width="NaN%" headers="d114348e66 "> 
+				  <p>Task is running, and will be respawned
+					 after method execute() returns. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+		  </tbody>
+ 
+		</table>
+</div>
+ 
+		<p>The figure below summarizes possible state
+		  transitions for a 
+		  <samp class="codeph">task</samp>. 
+		</p>
+ 
+		<div class="fignone" id="fig14"><a name="fig14"><!-- --></a><span class="figcap">Typical task::state() Transitions</span> 
+		  
+		  
+		  <br><img src="../Resources/0600000F.png"><br> 
+		</div>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">int ref_count() const</h2> 
+		 
+		<div class="Note"><h3 class="NoteTipHead">
+					Caution</h3> 
+		  <p>This method is intended for debugging only. Its
+			 behavior or performance may change in future implementations. 
+		  </p>
+ 
+		</div> 
+		<p><strong>Returns</strong> 
+		</p>
+ 
+		<p>The value of the attribute 
+		  <em>refcount</em>. 
+		</p>
+ 
+	 </div>
+ 
+  </div>
+ 
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../reference/task_scheduler.htm">Task Scheduler</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/reference/task_scheduler/task_group_context.htm b/doc/help/reference/task_scheduler/task_group_context.htm
new file mode 100755
index 0000000..1c5a7c6
--- /dev/null
+++ b/doc/help/reference/task_scheduler/task_group_context.htm
@@ -0,0 +1,300 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="task_group_context">
+<meta name="DC.subject" content="task_group_context">
+<meta name="keywords" content="task_group_context">
+<meta name="DC.Relation" scheme="URI" content="../../reference/task_scheduler.htm">
+<meta name="DC.Relation" scheme="URI" content="../../reference/task_scheduler/task_group_context/task_group_context.htm">
+<meta name="DC.Relation" scheme="URI" content="priorities.htm">
+<meta name="DC.Relation" scheme="URI" content="task_scheduler_init_cls/task_scheduler_init_1.htm">
+<meta name="DC.Relation" scheme="URI" content="task_context.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="task_group_context">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../intel_css_styles.css">
+<title>task_group_context</title>
+</head>
+<body id="task_group_context">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(2);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="task_group_context"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">task_group_context</h1>
+ 
+   
+  <div> 
+	 <div class="section"><h2 class="sectiontitle">Summary</h2> 
+		 
+		<p>A cancellable group of tasks. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Syntax</h2> 
+		 
+		<pre>class task_group_context;</pre> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Header</h2> 
+		 
+		<pre>#include "tbb/task.h"</pre> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Description</h2> 
+		 
+		<p>A 
+		  <samp class="codeph">task_group_context</samp> represents a group of tasks that
+		  can be cancelled, or have their priority level set, together. All tasks belong
+		  to some group. A task can be a member of only one group at any moment. 
+		</p>
+ 
+		<p>A root task is associated with a group by passing 
+		  <samp class="codeph">task_group_context 
+		  </samp>object into<samp class="codeph"> task::allocate_root()</samp> call. A
+		  child task automatically joins its parent task's group. A task can be moved
+		  into other group using 
+		  <samp class="codeph">task::change_group() 
+		  </samp>method. 
+		</p>
+ 
+		<p>The 
+		  <samp class="codeph">task_group_context</samp> objects form a forest of trees.
+		  Each tree's root is a 
+		  <samp class="codeph">task_group_context</samp> constructed as 
+		  <samp class="codeph">isolated</samp>. 
+		</p>
+ 
+		<p>A 
+		  <samp class="codeph">task_group_context</samp> is cancelled explicitly by request,
+		  or implicitly when an exception is thrown out of a task. Canceling a 
+		  <samp class="codeph">task_group_context</samp> causes the entire subtree rooted at
+		  it to be cancelled. 
+		</p>
+ 
+		<p>The priorities for all the tasks in a group can be
+		  changed at any time either via the associated 
+		  <samp class="codeph">task_group_context</samp> object, or via any task belonging
+		  to the group. Priority changes propagate into the child task groups similarly
+		  to cancellation. The effect of priorities on task execution is described in
+		  Section Priorities. 
+		</p>
+ 
+		<p>Each user thread that creates a 
+		  <samp class="codeph">task_scheduler_init</samp> implicitly has an 
+		  <samp class="codeph">isolated task_group_context</samp> that acts as the root of
+		  its initial tree. This context is associated with the dummy task returned by 
+		  <samp class="codeph">task::self()</samp> when the user thread is not running any
+		  task. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Members</h2> 
+		 
+		<pre> namespace tbb {
+        class task_group_context {
+        public:
+            enum kind_t {
+                isolated = implementation-defined,
+                bound = implementation-defined
+            };
+
+            enum traits_type {
+                exact_exception = implementation-defined,
+                concurrent_wait = implementation-defined,
+    #if TBB_USE_CAPTURED_EXCEPTION
+                default_traits = 0
+    #else
+                default_traits = exact_exception
+    #endif /* !TBB_USE_CAPTURED_EXCEPTION */
+            };
+            task_group_context( kind_t relation_with_parent = bound, 
+                                uintptr_t traits = default_traits );
+            ~task_group_context();
+            void reset();
+            bool cancel_group_execution();
+            bool is_group_execution_cancelled() const;
+            void set_priority ( priority_t );
+            priority_t priority () const;
+        };  
+    }</pre> 
+	 </div>
+ 
+	 
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"><span class="tabledesc">The following table provides additional information on the members
+		  of this template class. 
+		</span><thead align="left"> 
+			 <tr> 
+				<th class="cellrowborder" valign="top" width="33.89830508474576%" id="d114825e130">Member 
+				</th>
+ 
+				<th class="cellrowborder" valign="top" width="66.10169491525423%" id="d114825e133">Description 
+				</th>
+ 
+			 </tr>
+</thead>
+ 
+		  <tbody> 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d114825e130 "><span class="keyword">task_group_context( kind_t
+					 relation_to_parent=bound, uintptr_t traits=default_traits )</span> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d114825e133 "> 
+				  <p>Constructs an empty 
+					 <samp class="codeph">task_group_context</samp>. If 
+					 <em>relation_to_parent</em> is bound, the 
+					 <samp class="codeph">task_group_context</samp> will become a child of the
+					 innermost running task's group when it is first passed into the call to 
+					 <samp class="codeph">task::allocate_root(task_group_context&)</samp>.
+					 If this call is made directly from the user thread, the effect will be as if 
+					 <samp class="codeph"><em>relation_to_parent</em></samp> were isolated. If 
+					 <samp class="codeph"><em>relation_to_parent</em></samp> is 
+					 <em>isolated</em>, it has no parent 
+					 <samp class="codeph">task_group_context</samp>. 
+				  </p>
+ 
+				  <p>The 
+					 <em>traits</em> argument should be the bitwise OR of 
+					 <em>traits_type</em> values. The flag 
+					 <samp class="codeph">exact_exception</samp> controls how precisely
+					 exceptions are transferred between threads. See Section Exceptions for details.
+					 The flag 
+					 <samp class="codeph">concurrent_wait</samp> controls the
+					 reference-counting behavior of methods 
+					 <samp class="codeph">task::wait_for_all</samp> and 
+					 <samp class="codeph">task::spawn_and_wait_for_all</samp>. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d114825e130 "><span class="keyword">~task_group_context()</span> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d114825e133 "> 
+				  <p>Destroys an empty task_group_context. It is
+					 a programmer error if there are still extant tasks in the group. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d114825e130 "><span class="keyword"> bool
+					 cancel_group_execution()</span> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d114825e133 "> 
+				  <p>Requests that tasks in group be cancelled. 
+				  </p>
+ 
+				  <p><strong>Returns</strong>: False if group is already
+					 cancelled; true otherwise. If concurrently called by multiple threads, exactly
+					 one call returns true and the rest return false. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d114825e130 "><span class="keyword">bool is_group_execution_cancelled()
+					 const</span> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d114825e133 "> 
+				  <p><strong>Returns</strong>: True if group has received
+					 cancellation. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d114825e130 "><span class="keyword">void reset()</span> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d114825e133 "> 
+				  <p>Reinitializes this to uncancelled state. 
+				  </p>
+ 
+				  <div class="Note"><h3 class="NoteTipHead">
+					Caution</h3> 
+					 <p>This method is only safe to call once all tasks associated
+						with the group's subordinate groups have completed. This method must not be
+						invoked concurrently by multiple threads. 
+					 </p>
+ 
+				  </div> 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d114825e130 "><span class="keyword">void set_priority ( priority_t
+					 )</span> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d114825e133 "> 
+				  <p>Changes priority of the task group. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d114825e130 "><span class="keyword">priority_t priority ()
+					 const</span> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d114825e133 "> 
+				  <p><strong>Returns</strong>: Priority of the task group.
+					 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+		  </tbody>
+ 
+		</table>
+</div>
+
+  </div>
+ 
+  
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../reference/task_scheduler.htm">Task Scheduler</a></div>
+</div>
+<div class="See Also">
+<ul class="ullinks">
+<li class="ulchildlink"><a href="../../reference/task_scheduler/task_group_context/task_group_context.htm">task_group_context Members</a><br>
+</li>
+</ul>
+
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="priorities.htm">Priorities 
+		  </a></div>
+<div><a href="task_scheduler_init_cls/task_scheduler_init_1.htm">task_scheduler_init 
+		  </a></div>
+<div><a href="task_context.htm">Task Context, static task& self() 
+		  </a></div></div>
+</div>
+
+</body>
+</html>
diff --git a/doc/help/reference/task_scheduler/task_group_context/task_group_context.htm b/doc/help/reference/task_scheduler/task_group_context/task_group_context.htm
new file mode 100755
index 0000000..04be1ed
--- /dev/null
+++ b/doc/help/reference/task_scheduler/task_group_context/task_group_context.htm
@@ -0,0 +1,47 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="task_group_context Members">
+<meta name="DC.subject" content="task_group_context">
+<meta name="keywords" content="task_group_context">
+<meta name="DC.Relation" scheme="URI" content="../../../reference/task_scheduler/task_group_context.htm">
+<meta name="DC.Relation" scheme="URI" content="../../exceptions.htm">
+<meta name="DC.Relation" scheme="URI" content="../synchronization.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="task_group_context">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../../intel_css_styles.css">
+<title>task_group_context Members</title>
+</head>
+<body id="task_group_context">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(3);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="task_group_context"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">task_group_context Members</h1>
+ 
+   
+  <div> 
+  </div>
+ 
+  
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../../reference/task_scheduler/task_group_context.htm">task_group_context</a></div>
+</div>
+<div class="See Also">
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="../../exceptions.htm">Exceptions 
+		  </a></div>
+<div><a href="../synchronization.htm">Synchronization Methods 
+		  </a></div></div>
+</div>
+
+</body>
+</html>
diff --git a/doc/help/reference/task_scheduler/task_list_cls.htm b/doc/help/reference/task_scheduler/task_list_cls.htm
new file mode 100755
index 0000000..0d81cce
--- /dev/null
+++ b/doc/help/reference/task_scheduler/task_list_cls.htm
@@ -0,0 +1,203 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="task_list Class">
+<meta name="DC.subject" content="task_list Class">
+<meta name="keywords" content="task_list Class">
+<meta name="DC.Relation" scheme="URI" content="../../reference/task_scheduler.htm">
+<meta name="DC.Relation" scheme="URI" content="../synchronization.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="task_list_cls">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../intel_css_styles.css">
+<title>task_list Class</title>
+</head>
+<body id="task_list_cls">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(2);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="task_list_cls"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">task_list Class</h1>
+ 
+   
+  <div> 
+	 <div class="section"><h2 class="sectiontitle">Summary</h2> 
+		 
+		<p>List of 
+		  <em>task</em> objects. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Syntax</h2> 
+		 
+		<pre>class task_list;</pre> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Header</h2> 
+		 
+		<pre>#include "tbb/task.h"</pre> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Description</h2> 
+		 
+		<p>A 
+		  <samp class="codeph">task_list</samp> is a list of references to<em> task
+			 objects</em>. The purpose of 
+		  <samp class="codeph">task_list</samp> is to allow a 
+		  <em>task</em> to create a list of tasks and spawn them all at once via
+		  the method 
+		  <samp class="codeph">task::spawn(task_list&)</samp>, as described in Section
+		  static void spawn ( task_list& list ). 
+		</p>
+ 
+		<p>A 
+		  <em>task</em> can belong to at most one 
+		  <samp class="codeph">task_list</samp> at a time, and on that 
+		  <samp class="codeph">task_list</samp> at most once. A 
+		  <em>task</em> that has been spawned, but not started running, must not
+		  belong to a 
+		  <samp class="codeph">task_list</samp>. A 
+		  <samp class="codeph">task_list</samp> cannot be copy-constructed or assigned. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Members</h2> 
+		 
+		<pre>namespace tbb {
+               class task_list {
+                public:
+                    task_list();
+                    ~task_list();
+                    bool empty() const;
+                    void push_back( task& task );
+                    task& pop_front();
+                    void clear();
+                };
+            } </pre> 
+		
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"><span class="tabledesc">The following table provides additional information on the
+			 members of this template class. 
+		  </span><thead align="left"> 
+				<tr> 
+				  <th class="cellrowborder" valign="top" width="33.89830508474576%" id="d115689e113">Member 
+				  </th>
+ 
+				  <th class="cellrowborder" valign="top" width="66.10169491525423%" id="d115689e116">Description 
+				  </th>
+ 
+				</tr>
+</thead>
+ 
+			 <tbody> 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d115689e113 "><span class="keyword">task_list()</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d115689e116 "> 
+					 <p>Constructs an empty list. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d115689e113 "><span class="keyword">~task_list()</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d115689e116 "> 
+					 <p>Destroys the list. Does not destroy the task objects. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d115689e113 "><span class="keyword">bool empty() const</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d115689e116 "> 
+					 <p><strong>Returns</strong>: True if list is empty; false otherwise. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d115689e113 "><span class="keyword">push_back( task& task
+						)</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d115689e116 "> 
+					 <p>Inserts a reference to 
+						<em>task</em> at back of the list. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d115689e113 "><span class="keyword">task& task
+						pop_front()</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d115689e116 "> 
+					 <p>Removes a 
+						<em>task</em> reference from front of list. 
+					 </p>
+ 
+					 <p><strong>Returns</strong>: The reference that was removed. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d115689e113 "><span class="keyword">void clear()</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d115689e116 "> 
+					 <p>Removes all 
+						<em>task</em> references from the list. Does not destroy the
+						task objects. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+		
+			 </tbody>
+ 
+		  </table>
+</div>
+ 
+	 </div>
+ 
+  </div>
+ 
+  
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../reference/task_scheduler.htm">Task Scheduler</a></div>
+</div>
+<div class="See Also">
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="../synchronization.htm">Synchronization, static void spawn ( task_list& list ) 
+		  </a></div></div>
+</div>
+
+</body>
+</html>
diff --git a/doc/help/reference/task_scheduler/task_scheduler_init_cls.htm b/doc/help/reference/task_scheduler/task_scheduler_init_cls.htm
new file mode 100755
index 0000000..e72e2ff
--- /dev/null
+++ b/doc/help/reference/task_scheduler/task_scheduler_init_cls.htm
@@ -0,0 +1,201 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="task_scheduler_init Class">
+<meta name="DC.subject" content="task_scheduler_init Class">
+<meta name="keywords" content="task_scheduler_init Class">
+<meta name="DC.Relation" scheme="URI" content="../../reference/task_scheduler.htm">
+<meta name="DC.Relation" scheme="URI" content="../../reference/task_scheduler/task_scheduler_init_cls/task_scheduler_init.htm">
+<meta name="DC.Relation" scheme="URI" content="../../reference/task_scheduler/task_scheduler_init_cls/task_scheduler_init_1.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="task_scheduler_init_cls">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../intel_css_styles.css">
+<title>task_scheduler_init Class</title>
+</head>
+<body id="task_scheduler_init_cls">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(2);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="task_scheduler_init_cls"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">task_scheduler_init Class</h1>
+ 
+   
+  <div> 
+	 <div class="section"><h2 class="sectiontitle">Summary</h2> 
+		 
+		<p>Class that explicitly represents thread's interest
+		  in task scheduling services. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Syntax</h2> 
+		 
+		<p> 
+		  <pre>class task_scheduler_init;</pre> 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Header</h2> 
+		 
+		<p> 
+		  <pre>#include "tbb/task_scheduler_init.h"</pre> 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Description</h2> 
+		 
+		<p>Using 
+		  <samp class="codeph">task_scheduler_init</samp> is optional in Intel® Threading Building Blocks (Intel® TBB) 2.2. By
+		  default, Intel® TBB 2.2 automatically creates a task scheduler the first time
+		  that a thread uses task scheduling services and destroys it when the last such
+		  thread exits. 
+		</p>
+ 
+		<p>An instance of 
+		  <samp class="codeph">task_scheduler_init</samp> can be used to control the
+		  following aspects of the task scheduler: 
+		</p>
+ 
+		<ul type="disc"> 
+		  <li> 
+			 <p>When the task scheduler is constructed and
+				destroyed. 
+			 </p>
+ 
+		  </li>
+ 
+		  <li> 
+			 <p>The number of threads used by the task
+				scheduler. 
+			 </p>
+ 
+		  </li>
+ 
+		  <li> 
+			 <p>The stack size for worker threads. 
+			 </p>
+ 
+		  </li>
+ 
+		</ul>
+ 
+		<p>To override the automatic defaults for task
+		  scheduling, a<samp class="codeph"> task_scheduler_init</samp> must become active before
+		  the first use of task scheduling services. 
+		</p>
+ 
+		<p>A 
+		  <samp class="codeph">task_scheduler_init</samp> is either "active" or "inactive". 
+		</p>
+ 
+		<p>The default constructor for a 
+		  <samp class="codeph">task_scheduler_init</samp> activates it, and the destructor
+		  deactivates it. To defer activation, pass the value 
+		  <samp class="codeph">task_scheduler_init::deferred</samp> to the constructor. Such
+		  a 
+		  <samp class="codeph">task_scheduler_init</samp> may be activated later by calling
+		  method 
+		  <samp class="codeph">initialize</samp>. Destruction of an active 
+		  <samp class="codeph">task_scheduler_init</samp> implicitly deactivates it. To
+		  deactivate it earlier, call method 
+		  <samp class="codeph">terminate</samp>. 
+		</p>
+ 
+		<p>An optional parameter to the constructor and method
+		  
+		  <samp class="codeph">initialize</samp> allows you to specify the number of threads
+		  to be used for 
+		  <samp class="codeph">task</samp> execution. This parameter is useful for scaling
+		  studies during development, but should not be set for production use. 
+		</p>
+ 
+		<div class="Note"><h3 class="NoteTipHead">
+					Tip</h3> 
+		  <p>The reason for not specifying the number of
+			 threads in production code is that in a large software project, there is no way
+			 for various components to know how many threads would be optimal for other
+			 threads. Hardware threads are a shared global resource. It is best to leave the
+			 decision of how many threads to use to the task scheduler. 
+		  </p>
+ 
+		</div> 
+		<p>To minimize time overhead, it is best to rely upon
+		  automatic creation of the task scheduler, or create a single 
+		  <samp class="codeph">task_scheduler_init</samp> object whose activation spans all
+		  uses of the library's task scheduler. A 
+		  <samp class="codeph">task_scheduler_init</samp> is not assignable or
+		  copy-constructible. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Example</h2> 
+		 
+		<pre>// Sketch of one way to do a scaling study
+#include <iostream>
+#include "tbb/task_scheduler_init.h"
+ 
+int main() {
+     int n = task_scheduler_init::default_num_threads();
+     for( int p=1; p<=n; ++p ) {
+         // Construct task scheduler with p threads
+         task_scheduler_init init(p);
+         tick_count t0 = tick_count::now();
+          ... execute parallel algorithm using task or
+              template algorithm here...
+         tick_count t1 = tick_count::now();
+         double t = (t1-t0).seconds();
+         cout << "time = " << t << " with " << p << "threads\n";
+         // Implicitly destroy task scheduler.
+     }
+     return 0;
+}</pre> 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Members</h2> 
+		 
+		<pre>  namespace tbb {
+        typedef <em>unsigned-integral-type</em> stack_size_type;
+     
+        class task_scheduler_init {
+        public:
+            static const int automatic = <em>implementation-defined</em>;
+            static const int deferred = <em>implementation-defined</em>;
+            task_scheduler_init( int max_threads=automatic, 
+                                 stack_size_type thread_stack_size=0 );
+            ~task_scheduler_init();
+            void initialize( int max_threads=automatic );
+            void terminate();
+            static int default_num_threads();
+            bool is_active() const;
+        };
+    } // namespace tbb</pre> 
+	 </div>
+ 
+  </div>
+ 
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../reference/task_scheduler.htm">Task Scheduler</a></div>
+</div>
+<div>
+<ul class="ullinks">
+<li class="ulchildlink"><a href="../../reference/task_scheduler/task_scheduler_init_cls/task_scheduler_init.htm">task_scheduler_init( int max_threads=automatic, stack_size_type thread_stack_size=0 )</a><br>
+</li>
+<li class="ulchildlink"><a href="../../reference/task_scheduler/task_scheduler_init_cls/task_scheduler_init_1.htm">~task_scheduler_init()</a><br>
+</li>
+</ul>
+</div>
+
+</body>
+</html>
diff --git a/doc/help/reference/task_scheduler/task_scheduler_init_cls/task_scheduler_init.htm b/doc/help/reference/task_scheduler/task_scheduler_init_cls/task_scheduler_init.htm
new file mode 100755
index 0000000..344f463
--- /dev/null
+++ b/doc/help/reference/task_scheduler/task_scheduler_init_cls/task_scheduler_init.htm
@@ -0,0 +1,172 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="task_scheduler_init( int max_threads=automatic, stack_size_type thread_stack_size=0 )">
+<meta name="DC.subject" content="task_scheduler_init">
+<meta name="keywords" content="task_scheduler_init">
+<meta name="DC.Relation" scheme="URI" content="../../../reference/task_scheduler/task_scheduler_init_cls.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="task_scheduler_init">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../../intel_css_styles.css">
+<title>task_scheduler_init( int max_threads=automatic, stack_size_type thread_stack_size=0 )</title>
+</head>
+<body id="task_scheduler_init">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(3);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="task_scheduler_init"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">task_scheduler_init( int max_threads=automatic,
+	 stack_size_type thread_stack_size=0 )</h1>
+ 
+   
+  <div> 
+	 <div class="section"> 
+		<p><strong>Requirements</strong> 
+		</p>
+ 
+		<p>The value 
+		  <samp class="codeph">max_threads</samp> shall be one of the values in the table
+		  below. 
+		</p>
+ 
+		<p><strong>Effects</strong> 
+		</p>
+ 
+		<p>If 
+		  <samp class="codeph">max_threads==task_scheduler_init::deferred</samp>, nothing
+		  happens, and the 
+		  <samp class="codeph">task_scheduler_init</samp> remains inactive. Otherwise, the
+		  task_scheduler_init is activated as follows. If the thread has no other active 
+		  <samp class="codeph">task_scheduler_init</samp> objects, the thread allocates
+		  internal thread-specific resources required for scheduling task objects. If
+		  there were no threads with active 
+		  <samp class="codeph">task_scheduler_init</samp> objects yet, then internal worker
+		  threads are created as described in the table below. These workers sleep until
+		  needed by the task scheduler. Each worker created by the scheduler has an
+		  implicit active 
+		  <samp class="codeph">task_scheduler_init</samp> object. 
+		</p>
+ 
+		<div class="Note"><h3 class="NoteTipHead">
+					Note</h3> 
+		  <p>As of Intel® Threading Building Blocks (Intel® TBB) 3.0, it is meaningful for the parameter
+			 
+			 <samp class="codeph">max_threads</samp> to differ for different calling threads.
+			 For example, if thread A specifies 
+			 <samp class="codeph">max_threads=3</samp> and thread B specifies 
+			 <samp class="codeph">max_threads=7</samp>, then A is limited to having 2
+			 workers, but B can have up to 6 workers. Since workers may be shared between A
+			 and B, the total number of worker threads created by the scheduler could be 6. 
+		  </p>
+ 
+		</div> 
+		<div class="Note"><h3 class="NoteTipHead">
+					Note</h3> 
+		  <p>Some implementations create more workers than
+			 necessary. However, the excess workers remain asleep unless needed. 
+		  </p>
+ 
+		</div> 
+		<p>The optional parameter 
+		  <samp class="codeph">thread_stack_size</samp> specifies the stack size of each
+		  worker thread. A value of 0 specifies use of a default stack size. The first
+		  active 
+		  <samp class="codeph">task_scheduler_init</samp> establishes the stack size for all
+		  worker threads. 
+		</p>
+ 
+		
+<div class="tablenoborder"><a name="tbl32"><!-- --></a><table cellpadding="4" summary="" id="tbl32" width="100%" frame="hsides" border="1" rules="all"><caption><span class="tablecap">Values for max_threads</span></caption> 
+		   
+		   
+		  <thead align="left"> 
+			 <tr> 
+				<th class="cellrowborder" valign="top" width="NaN%" id="d116671e99"> 
+				  <p>max_threads 
+				  </p>
+ 
+				</th>
+ 
+				<th class="row-nocellborder" valign="top" width="NaN%" id="d116671e105"> 
+				  <p>Semantics 
+				  </p>
+ 
+				</th>
+ 
+			 </tr>
+</thead>
+ 
+		  <tbody> 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="NaN%" headers="d116671e99 "> 
+				  <p><samp class="codeph">task_scheduler_init::automatic</samp> 
+				  </p>
+ 
+				</td>
+ 
+				<td class="row-nocellborder" valign="top" width="NaN%" headers="d116671e105 "> 
+				  <p>Let library determine 
+					 <samp class="codeph">max_threads 
+					 </samp>based on hardware configuration. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="NaN%" headers="d116671e99 "> 
+				  <p><samp class="codeph">task_scheduler_init::deferred</samp> 
+				  </p>
+ 
+				</td>
+ 
+				<td class="row-nocellborder" valign="top" width="NaN%" headers="d116671e105 "> 
+				  <p>Defer activation actions. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="NaN%" headers="d116671e99 "> 
+				  <p>positive integer 
+				  </p>
+ 
+				</td>
+ 
+				<td class="row-nocellborder" valign="top" width="NaN%" headers="d116671e105 "> 
+				  <p>Request that up to 
+					 <samp class="codeph">max_threads</samp><span>-</span>1
+					 worker threads work on behalf of the calling thread at any one time. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+		  </tbody>
+ 
+		</table>
+</div>
+ 
+	 </div>
+ 
+  </div>
+ 
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../../reference/task_scheduler/task_scheduler_init_cls.htm">task_scheduler_init Class</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/reference/task_scheduler/task_scheduler_init_cls/task_scheduler_init_1.htm b/doc/help/reference/task_scheduler/task_scheduler_init_cls/task_scheduler_init_1.htm
new file mode 100755
index 0000000..457c0f9
--- /dev/null
+++ b/doc/help/reference/task_scheduler/task_scheduler_init_cls/task_scheduler_init_1.htm
@@ -0,0 +1,101 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="~task_scheduler_init()">
+<meta name="DC.subject" content="~task_scheduler_init">
+<meta name="keywords" content="~task_scheduler_init">
+<meta name="DC.Relation" scheme="URI" content="../../../reference/task_scheduler/task_scheduler_init_cls.htm">
+<meta name="DC.Relation" scheme="URI" content="task_scheduler_init.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="task_scheduler_init_1">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../../intel_css_styles.css">
+<title>~task_scheduler_init()</title>
+</head>
+<body id="task_scheduler_init_1">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(3);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="task_scheduler_init_1"><!-- --></a>
+
+
+    <h1 class="topictitle1">~task_scheduler_init()</h1>
+
+   
+<div><div class="section"><p><strong>Effects</strong></p>
+
+        <p>If the <samp class="codeph">task_scheduler_init</samp> is inactive, nothing happens. Otherwise, the <samp class="codeph">task_scheduler_init</samp> is deactivated as follows. If the thread has no other active <samp class="codeph">task_scheduler_init</samp> objects, the thread deallocates internal thread-specific resources required for scheduling <samp class="codeph">task</samp> objects. If no existing thread has any active <samp class="codeph">task_scheduler_init</samp> object [...]
+</div>
+
+        <div class="section"><h2 class="sectiontitle">void initialize( int max_threads=automatic )</h2>
+            <p><strong>Requirements</strong></p>
+
+            <p>The <samp class="codeph">task_scheduler_init</samp> shall be inactive.</p>
+
+            <p><strong>Effects</strong></p>
+
+            <p>Similar to constructor.</p>
+</div>
+
+        <div class="section"><h2 class="sectiontitle">void terminate()</h2>
+            <p><strong>Requirements</strong></p>
+
+            <p>The <samp class="codeph">task_scheduler_init</samp> shall be active.</p>
+
+            <p><strong>Effects</strong></p>
+
+            <p>Deactivates the <samp class="codeph">task_scheduler_init</samp> without destroying it. The description of the destructor specifies what deactivation entails.</p>
+</div>
+
+        <div class="section"><h2 class="sectiontitle">int default_num_threads()</h2>
+            <p><strong>Returns</strong></p>
+
+            <p>One more than the number of worker threads that <samp class="codeph">task_scheduler_init</samp> creates by default. </p>
+</div>
+
+        <div class="section"><h2 class="sectiontitle">bool is_active() const</h2>
+            <p><strong>Returns</strong></p>
+
+            <p>True if <samp class="codeph">*this</samp> is active as described in Section task_scheduler_init Class ; false otherwise. </p>
+</div>
+
+        <div class="section"><h2 class="sectiontitle">Mixing with OpenMP </h2>
+            <p>Mixing OpenMP with Intel® Threading Building Blocks is supported. Performance may be less than a pure OpenMP or pure Intel® Threading Building Blocks solution if the two forms of parallelism are nested.</p>
+
+            <p>An OpenMP parallel region that plans to use the
+                    <samp class="codeph">task</samp> scheduler should create a
+                    <samp class="codeph">task_scheduler_init</samp> inside the parallel region, because the
+                parallel region may create new threads unknown to Intel® Threading Building
+                Blocks. Each of these new OpenMP threads, like native threads, must create a
+                    <samp class="codeph">task_scheduler_init</samp> object before using Intel® Threading
+                Building Blocks algorithms. The following example demonstrates how to do this.</p>
+
+            <pre>void OpenMP_Calls_TBB( int n ) {
+#pragma omp parallel
+     {
+         task_scheduler_init init;
+#pragma omp for
+         for( int i=0; i<n; ++i ) {
+             ...can use class task or 
+                Intel® Threading Building Blocks algorithms here ...
+         }
+     }
+}</pre>
+            
+        </div>
+</div>
+ 
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../../reference/task_scheduler/task_scheduler_init_cls.htm">task_scheduler_init Class</a></div>
+</div>
+<div class="See Also">
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="task_scheduler_init.htm">task_scheduler_init int max_threads</a></div></div>
+</div>
+</body>
+</html>
diff --git a/doc/help/reference/task_scheduler/task_scheduler_observer.htm b/doc/help/reference/task_scheduler/task_scheduler_observer.htm
new file mode 100755
index 0000000..e83e2aa
--- /dev/null
+++ b/doc/help/reference/task_scheduler/task_scheduler_observer.htm
@@ -0,0 +1,71 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="task_scheduler_observer">
+<meta name="DC.subject" content="task_scheduler_observer">
+<meta name="keywords" content="task_scheduler_observer">
+<meta name="DC.Relation" scheme="URI" content="../../reference/task_scheduler.htm">
+<meta name="DC.Relation" scheme="URI" content="../../reference/task_scheduler/task_scheduler_observer/task_scheduler_observer_member.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="task_scheduler_observer_member">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../intel_css_styles.css">
+<title>task_scheduler_observer</title>
+</head>
+<body id="task_scheduler_observer_member">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(2);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="task_scheduler_observer_member"><!-- --></a>
+
+
+    <h1 class="topictitle1">task_scheduler_observer</h1>
+
+    
+    <div>
+        <div class="section"><h2 class="sectiontitle">Summary</h2><p>Class that represents thread's interest in task scheduling services.</p>
+</div>
+<div class="section"><h2 class="sectiontitle">Syntax</h2>
+            <pre>class task_scheduler_observer;</pre></div>
+<div class="section"><h2 class="sectiontitle">Header</h2><p>
+                <pre>#include "tbb/task_scheduler_observer.h"</pre>
+            </p>
+</div>
+<div class="section"><h2 class="sectiontitle">Description</h2><p>A <samp class="codeph">task_scheduler_observer</samp> permits clients to observe when a thread starts or
+                stops participating in task scheduling (globally). You typically derive your own observer class
+                from task_scheduler_observer, and override virtual methods
+                    <samp class="codeph">on_scheduler_entry</samp> or <samp class="codeph">on_scheduler_exit</samp>. An
+                instance has a state <em>observing or not observing</em>. Remember to call
+                    <samp class="codeph">observe()</samp> to enable observation.</p>
+</div>
+<div class="section"><h2 class="sectiontitle">Members</h2>
+            <pre>namespace tbb {
+    class task_scheduler_observer {
+    public:
+        task_scheduler_observer();
+        virtual ~task_scheduler_observer();
+        void observe( bool state=true );
+        bool is_observing() const;
+        virtual void on_scheduler_entry( bool is_worker ) {}
+        virtual void on_scheduler_exit( bool is_worker } {}
+    };
+  }</pre></div>
+
+ </div>
+ 
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../reference/task_scheduler.htm">Task Scheduler</a></div>
+</div>
+<div>
+<ul class="ullinks">
+<li class="ulchildlink"><a href="../../reference/task_scheduler/task_scheduler_observer/task_scheduler_observer_member.htm">task_scheduler_observer Members</a><br>
+</li>
+</ul>
+</div>
+
+</body>
+</html>
diff --git a/doc/help/reference/task_scheduler/task_scheduler_observer/task_scheduler_observer_member.htm b/doc/help/reference/task_scheduler/task_scheduler_observer/task_scheduler_observer_member.htm
new file mode 100755
index 0000000..42514ee
--- /dev/null
+++ b/doc/help/reference/task_scheduler/task_scheduler_observer/task_scheduler_observer_member.htm
@@ -0,0 +1,186 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="task_scheduler_observer Members">
+<meta name="DC.subject" content="task_scheduler_observer">
+<meta name="keywords" content="task_scheduler_observer">
+<meta name="DC.Relation" scheme="URI" content="../../../reference/task_scheduler/task_scheduler_observer.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="task_scheduler_observer_member">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../../intel_css_styles.css">
+<title>task_scheduler_observer Members</title>
+</head>
+<body id="task_scheduler_observer_member">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(3);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="task_scheduler_observer_member"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">task_scheduler_observer Members</h1>
+ 
+  
+  <div>
+	 
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"><span class="tabledesc">The following table provides additional information on the members
+		  of this template class. 
+		</span><thead align="left"> 
+			 <tr> 
+				<th class="cellrowborder" valign="top" width="33.89830508474576%" id="d117586e29">Member 
+				</th>
+ 
+				<th class="cellrowborder" valign="top" width="66.10169491525423%" id="d117586e32">Description 
+				</th>
+ 
+			 </tr>
+</thead>
+ 
+		  <tbody> 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d117586e29 "><span class="keyword">task_scheduler_observer()</span> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d117586e32 ">
+				  <p>Constructs instance with observing
+					 disabled.
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d117586e29 "><span class="keyword">~task_scheduler_observer()</span>
+				  
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d117586e32 ">
+				  <p>Disables observing. Waits for extant
+					 invocations of 
+					 <samp class="codeph">on_scheduler_entry</samp> or 
+					 <samp class="codeph">on_scheduler_exit</samp> to complete.
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d117586e29 "><span class="keyword">void observe( bool state=true
+					 )</span> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d117586e32 ">
+				  <p>Enables observing if state is true;
+					 disables observing if state is false.
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d117586e29 "><span class="keyword">bool is_observing() const</span> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d117586e32 ">
+				  <p><strong>Returns</strong>: True if observing is
+					 enabled; false otherwise.
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d117586e29 "><span class="keyword">virtual void on_scheduler_entry(
+					 bool is_worker)</span> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d117586e32 ">
+				  <p>
+					 The task scheduler invokes this method once per each thread participating in TBB work
+					 after enabling the observation and before it starts participating for the first time,
+					 or before it executes the first task stolen after enabling the observation.
+				  </p>
+ 
+				  <p>The flag 
+					 <samp class="codeph">is_worker</samp> is true if the thread was created by
+					 the task scheduler; false otherwise.
+				  </p>
+ 
+				  <div class="Note"><h3 class="NoteTipHead">
+					Note</h3>
+					 <p>If a thread enables observing before
+						spawning a task, it is guaranteed that the thread that executes the task will
+						have invoked 
+						<samp class="codeph">on_scheduler_entry</samp> before executing the
+						task. 
+					 </p>
+
+				  </div> 
+				  <p><strong>Effects</strong>: The default behavior does
+					 nothing.
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d117586e29 "><span class="keyword">virtual void on_scheduler_exit( bool
+					 is_worker )</span> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d117586e32 ">
+				  <p>The task scheduler invokes this method when
+					 a thread stops participating in task scheduling, if observing is enabled. 
+				  </p>
+ 
+				  <div class="Note"><h3 class="NoteTipHead">
+					Caution</h3>
+					 <p>Sometimes 
+						<samp class="codeph">on_scheduler_exit</samp> is invoked for a thread
+						but not 
+						<samp class="codeph">on_scheduler_entry</samp>. This situation can arise
+						if a thread never steals a task.
+					 </p>
+
+				  </div> 
+				  <div class="Note"><h3 class="NoteTipHead">
+					Caution</h3>
+					 <p>A process does not wait for the
+						worker threads to clean up. Thus a process can terminate before 
+						<samp class="codeph">on_scheduler_exit</samp> is invoked.
+					 </p>
+
+				  </div> 
+				  <p><strong>Effects</strong>: The default behavior does
+					 nothing.
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			
+		  </tbody>
+ 
+		</table>
+</div>
+ 
+  </div>
+ 
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../../reference/task_scheduler/task_scheduler_observer.htm">task_scheduler_observer</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/reference/thread_local_storage.htm b/doc/help/reference/thread_local_storage.htm
new file mode 100755
index 0000000..9da5d24
--- /dev/null
+++ b/doc/help/reference/thread_local_storage.htm
@@ -0,0 +1,76 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="Thread Local Storage">
+<meta name="DC.subject" content="Thread Local Storage">
+<meta name="keywords" content="Thread Local Storage">
+<meta name="DC.Relation" scheme="URI" content="../reference/reference.htm">
+<meta name="DC.Relation" scheme="URI" content="../reference/thread_local_storage/combinable_cls.htm">
+<meta name="DC.Relation" scheme="URI" content="../reference/thread_local_storage/enumerable_thread_specific_cls.htm">
+<meta name="DC.Relation" scheme="URI" content="../reference/thread_local_storage/flattened2d_cls.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="threadlocalstorage">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../intel_css_styles.css">
+<title>Thread Local Storage</title>
+</head>
+<body id="threadlocalstorage">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(1);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="threadlocalstorage"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Thread Local Storage</h1>
+ 
+  
+  <div> 
+	 <div class="section">
+		<p>Intel® Threading Building Blocks (Intel® TBB)
+		  provides two template classes for thread local storage. Both provide a
+		  thread-local element per thread. Both lazily create the elements on demand.
+		  They differ in their intended use models:
+		</p>
+ 
+		<p><samp class="codeph">combinable</samp> provides thread-local
+		  storage for holding per-thread subcomputations that will later be reduced to a
+		  single result. It is PPL compatible. 
+		</p>
+ 
+		<p><samp class="codeph">enumerable_thread_specific</samp>
+		  provides thread-local storage that acts like an STL container with one element
+		  per thread. The container permits iterating over the elements using the usual
+		  STL iteration idioms.
+		</p>
+ 
+		<p>This section also describes template class 
+		  <samp class="codeph">flatten2d</samp>, which assists a common idiom where an 
+		  <samp class="codeph">enumerable_thread_specific</samp> represents a container
+		  partitioner across threads. 
+		</p>
+ 
+	 </div>
+ 
+  </div>
+ 
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../reference/reference.htm">Intel® Threading Building Blocks Reference Manual</a></div>
+</div>
+<div>
+<ul class="ullinks">
+<li class="ulchildlink"><a href="../reference/thread_local_storage/combinable_cls.htm">combinable Template Class</a><br>
+</li>
+<li class="ulchildlink"><a href="../reference/thread_local_storage/enumerable_thread_specific_cls.htm">enumerable_thread_specific Template Class</a><br>
+</li>
+<li class="ulchildlink"><a href="../reference/thread_local_storage/flattened2d_cls.htm">flattened2d Template Class</a><br>
+</li>
+</ul>
+</div>
+
+</body>
+</html>
diff --git a/doc/help/reference/thread_local_storage/combinable_cls.htm b/doc/help/reference/thread_local_storage/combinable_cls.htm
new file mode 100755
index 0000000..cd6a6e9
--- /dev/null
+++ b/doc/help/reference/thread_local_storage/combinable_cls.htm
@@ -0,0 +1,292 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="combinable Template Class">
+<meta name="DC.subject" content="combinable Template Class">
+<meta name="keywords" content="combinable Template Class">
+<meta name="DC.Relation" scheme="URI" content="../../reference/thread_local_storage.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="combinable_cls">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../intel_css_styles.css">
+<title>combinable Template Class</title>
+</head>
+<body id="combinable_cls">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(2);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="combinable_cls"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">combinable Template Class</h1>
+ 
+  
+  <div> 
+	 <div class="section"><h2 class="sectiontitle">Summary</h2> 
+		 
+		<p>Template class for holding thread-local values
+		  during a parallel computation that will be merged into a final value.
+		</p>
+ 
+	 </div>
+
+	 <div class="section"><h2 class="sectiontitle">Syntax</h2>
+		 
+		<pre>template<typename T> class combinable;</pre> 
+	 </div>
+
+	 <div class="section"><h2 class="sectiontitle">Header</h2>
+		 
+		<pre>#include "tbb/combinable.h"</pre> 
+	 </div>
+
+	 <div class="section"><h2 class="sectiontitle">Description</h2>
+		 
+		<p>A 
+		  <samp class="codeph">combinable<T></samp> provides each thread with its own
+		  local instance of type 
+		  <samp class="codeph">T</samp>. 
+		</p>
+ 
+	 </div>
+
+	 <div class="section"><h2 class="sectiontitle">Members</h2>
+		
+		<pre>namespace tbb {
+        template <typename T>
+        class combinable {
+        public:
+            combinable();
+     
+            template <typename FInit>
+            combinable(FInit finit);}
+     
+            combinable(const combinable& other);
+     
+            ~combinable();
+     
+            combinable& operator=( const combinable& other);
+            void clear();
+     
+            T& local();
+            T& local(bool & exists);
+     
+            template<typename FCombine> T combine(FCombine fcombine);
+            template<typename Func> void combine_each(Func f);
+        };
+}</pre>
+		
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"><span class="tabledesc">The following table provides additional information on the
+			 members of this template class. 
+		  </span><thead align="left"> 
+				<tr> 
+				  <th class="cellrowborder" valign="top" width="33.89830508474576%" id="d118194e79">Member 
+				  </th>
+ 
+				  <th class="cellrowborder" valign="top" width="66.10169491525423%" id="d118194e82">Description 
+				  </th>
+ 
+				</tr>
+</thead>
+ 
+			 <tbody> 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d118194e79 "><span class="keyword">combinable()</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d118194e82 ">
+					 <p>Constructs 
+						<samp class="codeph">combinable</samp> such that any thread-local
+						instances of 
+						<samp class="codeph">T</samp> will be created using default
+						construction.
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d118194e79 "><span class="keyword">template<typename FInit>
+						combinable(FInit finit)</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d118194e82 ">
+					 <p>Constructs 
+						<samp class="codeph">combinable</samp> such that any thread-local
+						element will be created by copying the result of 
+						<em>finit()</em>. 
+					 </p>
+
+					 <div class="Note"><h3 class="NoteTipHead">
+					Caution</h3>
+						<p>The expression finit() must be safe to evaluate
+						  concurrently by multiple threads. It is evaluated each time a thread-local
+						  element is created.
+						</p>
+ 
+					 </div>
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d118194e79 "><span class="keyword">combinable( const combinable&
+						other );</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d118194e82 ">
+					 <p>Construct a copy of 
+						<em>other</em>, so that it has copies of each element in 
+						<em>other</em> with the same thread mapping.
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d118194e79 "><span class="keyword">~combinable()</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d118194e82 ">
+					 <p>Destroy all thread-local elements in 
+						<samp class="codeph">*this</samp>.
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d118194e79 "><span class="keyword">combinable& operator=( const
+						combinable& other )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d118194e82 ">
+					 <p>Set<samp class="codeph"> *this</samp> to be a copy of 
+						<em>other</em>. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d118194e79 "><span class="keyword">void clear()</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d118194e82 ">
+					 <p>Remove all elements from 
+						<samp class="codeph">*this</samp>.
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d118194e79 "><span class="keyword">T& local()</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d118194e82 ">
+					 <p>If thread-local element does not exist, create it.
+					 </p>
+
+					 <p><strong>Returns</strong>: Reference to thread-local element.
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d118194e79 "><span class="keyword">T& local( bool& exists
+						)</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d118194e82 ">
+					 <p>Similar to 
+						<samp class="codeph">local()</samp>, except that 
+						<em>exists</em> is set to true if an element was already
+						present for the current thread; false otherwise.
+					 </p>
+
+					 <p><strong>Returns</strong>: Reference to thread-local element. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+
+				<tr>
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d118194e79 "><span class="keyword">template<typename FCombine>T
+						combine(FCombine fcombine)</span> 
+				  </td>
+
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d118194e82 ">
+					 <p><strong>Requires</strong>: Parameter 
+						<samp class="codeph"><em>fcombine</em></samp> should be an associative
+						binary functor with the signature 
+						<samp class="codeph">T(T,T)</samp> or<samp class="codeph"> T(const T&,const
+						  T&)</samp>.
+					 </p>
+ 
+					 <p><strong>Effects</strong>: Computes a reduction over
+						all elements using binary functor 
+						<em>fcombine</em>. If there are no elements, creates the result
+						using the same rules as for creating a thread-local element.
+					 </p>
+ 
+					 <p><strong>Returns</strong>: Result of the reduction.
+					 </p>
+
+				  </td>
+
+				</tr>
+
+				<tr>
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d118194e79 "><span class="keyword">template<typename Func> void
+						combine_each(Func f)</span> 
+				  </td>
+
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d118194e82 ">
+					 <p><strong>Requires</strong>: Parameter 
+						<samp class="codeph"><em>f 
+						  </em></samp>should be a unary functor with the signature 
+						<samp class="codeph">void(T)</samp> or 
+						<samp class="codeph">void(const T&)</samp>.
+					 </p>
+ 
+					 <p><strong>Effects</strong>: Evaluates 
+						<samp class="codeph"><em>f(x)</em></samp> for each instance 
+						<samp class="codeph"><em>x</em></samp> of 
+						<samp class="codeph">T</samp> in 
+						<samp class="codeph">*this</samp>.
+					 </p>
+ 
+				  </td>
+
+				</tr>
+ 
+			 </tbody>
+ 
+		  </table>
+</div>
+
+	 </div>
+ 
+  </div>
+ 
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../reference/thread_local_storage.htm">Thread Local Storage</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/reference/thread_local_storage/enumerable_thread_specific_cls.htm b/doc/help/reference/thread_local_storage/enumerable_thread_specific_cls.htm
new file mode 100755
index 0000000..29538a7
--- /dev/null
+++ b/doc/help/reference/thread_local_storage/enumerable_thread_specific_cls.htm
@@ -0,0 +1,230 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="enumerable_thread_specific Template Class">
+<meta name="DC.subject" content="enumerable_thread_specific Template Class">
+<meta name="keywords" content="enumerable_thread_specific Template Class">
+<meta name="DC.Relation" scheme="URI" content="../../reference/thread_local_storage.htm">
+<meta name="DC.Relation" scheme="URI" content="../../reference/thread_local_storage/enumerable_thread_specific_cls/whole_container_operations_specific_cls.htm">
+<meta name="DC.Relation" scheme="URI" content="../../reference/thread_local_storage/enumerable_thread_specific_cls/concurrent_operations1.htm">
+<meta name="DC.Relation" scheme="URI" content="../../reference/thread_local_storage/enumerable_thread_specific_cls/combining.htm">
+<meta name="DC.Relation" scheme="URI" content="../../reference/thread_local_storage/enumerable_thread_specific_cls/parallel_literation_specific_cls.htm">
+<meta name="DC.Relation" scheme="URI" content="../../reference/thread_local_storage/enumerable_thread_specific_cls/iterators_specific_cls.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="enumerable_thread_specific_cls">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../intel_css_styles.css">
+<title>enumerable_thread_specific Template Class</title>
+</head>
+<body id="enumerable_thread_specific_cls">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(2);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="enumerable_thread_specific_cls"><!-- --></a>
+
+
+    <h1 class="topictitle1">enumerable_thread_specific Template Class</h1>
+
+     
+<div>
+         <div class="section"><h2 class="sectiontitle">Summary</h2><p>Template class for
+                thread local storage.</p>
+</div>
+<div class="section"><h2 class="sectiontitle">Syntax</h2><p>
+                <pre>enum ets_key_usage_type {
+    ets__key_per_instance,
+    ets_no_key
+    };
+
+template <typename T,
+    typename Allocator=cache_aligned_allocator<T>,
+    ets_key_usage_type ETS_key_type=ets_no_key>
+class enumerable_thread_specific;</pre>
+             
+            </p>
+</div>
+<div class="section"><h2 class="sectiontitle">Header</h2><p>
+                <pre>#include "tbb/enumerable_thread_specific.h"</pre>
+            </p>
+</div>
+<div class="section"><h2 class="sectiontitle">Description</h2><p>An
+                    <samp class="codeph">enumerable_thread_specific</samp> provides thread local storage (TLS)
+                for elements of type <samp class="codeph">T</samp>. An enumerable_thread_specific acts as a
+                container by providing iterators and ranges across all of the thread-local
+                elements.</p>
+<p>The thread-local elements are created lazily. A freshly constructed
+                    <samp class="codeph">enumerable_thread_specific</samp> has no elements. When a thread
+                requests access to an <samp class="codeph">enumerable_thread_specific</samp>, it creates an
+                element corresponding to that thread. The number of elements is equal to the number
+                of distinct threads that have accessed the
+                    <samp class="codeph">enumerable_thread_specific</samp> and not the number of threads in use
+                by the application. Clearing an <samp class="codeph">enumerable_thread_specific</samp> removes
+                all of its elements.</p>
+<p>The <samp class="codeph">ETS_key_usage_type</samp> parameter can be
+                used to select between an implementation that consumes no native TLS keys and a
+                specialization that offers higher performance but consumes 1 native TLS key per
+                enumerable_thread_specific instance. If no <samp class="codeph">ETS_key_usage_type</samp>
+                parameter is provided, <samp class="codeph">ets_no_key</samp> is used by
+                default.</p>
+<span>Caution: </span>
+               <p> The number of native TLS keys is limited and can be fairly small, for example 64
+                    or 128. Therefore it is recommended to restrict the use of the
+                        <samp class="codeph">ets_key_per_instance</samp> specialization to only the most
+                    performance critical cases.</p>
+
+            </div>
+<div class="section"><h2 class="sectiontitle">Example</h2><p>The following code shows a simple example usage of
+                <samp class="codeph">enumerable_thread_specific</samp>. The number of calls to
+                <samp class="codeph">null_parallel_for_body::operator()</samp> and total number of iterations executed are
+                counted by each thread that participates in the <samp class="codeph">parallel_for</samp>, and these counts are
+                printed at the end of main. </p>
+
+<pre>#include <cstdio>
+#include <utility> 
+
+#include "tbb/task_scheduler_init.h"
+#include "tbb/enumerable_thread_specific.h"
+#include "tbb/parallel_for.h"
+#include "tbb/blocked_range.h" 
+
+using namespace tbb; 
+
+typedef enumerable_thread_specific< std::pair<int,int> > CounterType; 
+CounterType MyCounters (std::make_pair(0,0));
+
+struct Body {
+     void operator()(const tbb::blocked_range<int> &r) const {
+         CounterType::reference my_counter = MyCounters.local();
+          ++my_counter.first;         
+          for (int i = r.begin(); i != r.end(); ++i)             
+              ++my_counter.second;    
+     }
+}; 
+
+int main() {
+     parallel_for( blocked_range<int>(0, 100000000), Body());
+     
+     for (CounterType::const_iterator i = MyCounters.begin();
+          i != MyCounters.end();  ++i)
+    {
+         printf("Thread stats:\n");
+            printf("  calls to operator(): %d", i->first);
+            printf("  total # of iterations executed: %d\n\n",
+                 i->second);
+    }
+}</pre>
+            </div>
+<div class="section"><h2 class="sectiontitle">Example with Lambda Expressions</h2><p>Class
+                    <samp class="codeph">enumerable_thread_specific</samp> has a method
+                        <samp class="codeph">combine(<em>f</em>)</samp> that does a reduction using binary functor
+                        <samp class="codeph"><em>f</em></samp>, which can be written using a lambda expression.
+                For example, the previous example can be extended to sum the thread-local values by
+                adding the following lines to the end of function
+            <samp class="codeph">main</samp>:</p>
+
+<pre>std::pair<int,int> sum =
+    MyCounters.combine([](std::pair<int,int> x,
+                          std::pair<int,int> y) {
+        return std::make_pair(x.first+y.first,
+                              x.second+y.second);
+    });
+printf("Total calls to operator() = %d, "
+         "total iterations = %d\n", sum.first, sum.second);</pre>
+</div>
+
+<div class="section"><h2 class="sectiontitle">Members</h2><pre>namespace tbb {
+    template <typename T,
+        typename Allocator=cache_aligned_allocator<T>,
+        ets_key_usage_type ETS_key_type=ets_no_key >
+    class enumerable_thread_specific {
+    public:
+        // Basic types
+        typedef Allocator allocator_type;
+        typedef T value_type;
+        typedef T& reference;
+        typedef const T& const_reference;
+        typedef T* pointer;
+        typedef <em>implementation-dependent</em> size_type;
+        typedef <em>implementation-dependent</em> difference_type;
+
+        // Iterator types
+        typedef <em>implementation-dependent</em> iterator;
+        typedef <em>implementation-dependent</em> const_iterator;
+
+        // Parallel range types
+        typedef <em>implementation-dependent</em> range_type;
+        typedef <em>implementation-dependent</em> const_range_type;
+        
+        // Whole container operations
+        enumerable_thread_specific();
+        enumerable_thread_specific(
+            const enumerable_thread_specific &other 
+        );
+        template<typename U, typename Alloc, 
+           ets_key_usage_type Cachetype>
+        enumerable_thread_specific( 
+          const enumerable_thread_specific<U, Alloc, 
+              Cachetype>& other );
+        template <typename Finit>
+        enumerable_thread_specific( Finit finit );
+        enumerable_thread_specific(const T &exemplar);
+        ~enumerable_thread_specific();
+        enumerable_thread_specific&
+        operator=(const enumerable_thread_specific& other);
+        template<typename U, typename Alloc,
+            ets_key_usage_type Cachetype>
+        enumerable_thread_specific&
+        operator=(
+            const enumerable_thread_specific<U, Alloc, Cachetype>&
+                other
+        );
+        void clear();
+        
+        // Concurrent operations
+ reference local(); 
+ reference local(bool& existis);
+        size_type size() const;
+        bool empty() const;
+        
+        // Combining
+        template<typename FCombine> T combine(FCombine fcombine);
+        template<typename Func> void combine_each(Func f);
+        
+        // Parallel iteration
+        range_type range( size_t grainsize=1 );
+        const_range_type range( size_t grainsize=1 ) const;
+        
+        // Iterators
+        iterator begin();
+        iterator end();
+        const_iterator begin() const;
+        const_iterator end() const;
+    }; 
+}</pre></div>
+</div>
+
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../reference/thread_local_storage.htm">Thread Local Storage</a></div>
+</div>
+<div>
+<ul class="ullinks">
+<li class="ulchildlink"><a href="../../reference/thread_local_storage/enumerable_thread_specific_cls/whole_container_operations_specific_cls.htm">Whole Container Operations</a><br>
+</li>
+<li class="ulchildlink"><a href="../../reference/thread_local_storage/enumerable_thread_specific_cls/concurrent_operations1.htm">Concurrent Operations</a><br>
+</li>
+<li class="ulchildlink"><a href="../../reference/thread_local_storage/enumerable_thread_specific_cls/combining.htm">Combining</a><br>
+</li>
+<li class="ulchildlink"><a href="../../reference/thread_local_storage/enumerable_thread_specific_cls/parallel_literation_specific_cls.htm">Parallel Iteration</a><br>
+</li>
+<li class="ulchildlink"><a href="../../reference/thread_local_storage/enumerable_thread_specific_cls/iterators_specific_cls.htm">Iterators</a><br>
+</li>
+</ul>
+</div>
+
+</body>
+</html>
diff --git a/doc/help/reference/thread_local_storage/enumerable_thread_specific_cls/combining.htm b/doc/help/reference/thread_local_storage/enumerable_thread_specific_cls/combining.htm
new file mode 100755
index 0000000..9501cec
--- /dev/null
+++ b/doc/help/reference/thread_local_storage/enumerable_thread_specific_cls/combining.htm
@@ -0,0 +1,107 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="Combining">
+<meta name="DC.subject" content="Combining">
+<meta name="keywords" content="Combining">
+<meta name="DC.Relation" scheme="URI" content="../../../reference/thread_local_storage/enumerable_thread_specific_cls.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="combining">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../../intel_css_styles.css">
+<title>Combining</title>
+</head>
+<body id="combining">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(3);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="combining"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Combining</h1>
+ 
+  
+  <div> 
+	 
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"><span class="tabledesc">The methods in this section iterate across the entire container. 
+		</span><thead align="left"> 
+			 <tr> 
+				<th class="cellrowborder" valign="top" width="33.89830508474576%" id="d119565e29">Member 
+				</th>
+ 
+				<th class="cellrowborder" valign="top" width="66.10169491525423%" id="d119565e32">Description 
+				</th>
+ 
+			 </tr>
+</thead>
+ 
+		  <tbody> 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d119565e29 "><span class="keyword">template<typename FCombine>T
+					 combine(FCombine fcombine)</span> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d119565e32 ">
+				  <p><strong>Requires</strong>: Parameter 
+					 <samp class="codeph"><em>fcombine</em></samp> should be an associative
+					 binary functor with the signature 
+					 <samp class="codeph">T(T,T)</samp> or<samp class="codeph"> T(const T&,const
+						T&)</samp>.
+				  </p>
+ 
+				  <p><strong>Effects</strong>: Computes reduction over all
+					 elements using binary functor 
+					 <em>fcombine</em>. If there are no elements, creates the result
+					 using the same rules as for creating a thread-local element.
+				  </p>
+ 
+				  <p><strong>Returns</strong>: Result of the reduction.
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d119565e29 "><span class="keyword">template<typename Func> void
+					 combine_each(Func f)</span> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d119565e32 ">
+				  <p><strong>Requires</strong>: Parameter 
+					 <samp class="codeph"><em>f 
+						</em></samp>should be a unary functor with the signature 
+					 <samp class="codeph">void(T)</samp> or 
+					 <samp class="codeph">void(const T&)</samp>.
+				  </p>
+ 
+				  <p><strong>Effects</strong>: Evaluates 
+					 <samp class="codeph"><em>f(x)</em></samp> for each instance 
+					 <samp class="codeph"><em>x</em></samp> of 
+					 <samp class="codeph">T</samp> in 
+					 <samp class="codeph">*this</samp>.
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+		  </tbody>
+ 
+		</table>
+</div>
+
+  </div>
+ 
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../../reference/thread_local_storage/enumerable_thread_specific_cls.htm">enumerable_thread_specific Template Class</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/reference/thread_local_storage/enumerable_thread_specific_cls/concurrent_operations1.htm b/doc/help/reference/thread_local_storage/enumerable_thread_specific_cls/concurrent_operations1.htm
new file mode 100755
index 0000000..b5f5941
--- /dev/null
+++ b/doc/help/reference/thread_local_storage/enumerable_thread_specific_cls/concurrent_operations1.htm
@@ -0,0 +1,129 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="Concurrent Operations">
+<meta name="DC.subject" content="Concurrent Operations">
+<meta name="keywords" content="Concurrent Operations">
+<meta name="DC.Relation" scheme="URI" content="../../../reference/thread_local_storage/enumerable_thread_specific_cls.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="concurrent_operations1">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../../intel_css_styles.css">
+<title>Concurrent Operations</title>
+</head>
+<body id="concurrent_operations1">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(3);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="concurrent_operations1"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Concurrent Operations</h1>
+ 
+   
+  <div> 
+	 
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"><span class="tabledesc">The following table provides additional information on the members
+		  of this template class. 
+		</span><thead align="left"> 
+			 <tr> 
+				<th class="cellrowborder" valign="top" width="33.89830508474576%" id="d119893e29">Member 
+				</th>
+ 
+				<th class="cellrowborder" valign="top" width="66.10169491525423%" id="d119893e32">Description 
+				</th>
+ 
+			 </tr>
+</thead>
+ 
+		  <tbody> 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d119893e29 "><span class="keyword">reference local()</span> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d119893e32 "> 
+				  <p>If there is no current element
+					 corresponding to the current thread, then this method constructs a new element.
+					 A new element is copy-constructed if an exemplar was provided to the
+					 constructor for 
+					 <samp class="codeph">*this</samp>, otherwise a new element is default
+					 constructed. 
+				  </p>
+ 
+				  <p><strong>Returns</strong>: A reference to the element
+					 of 
+					 <samp class="codeph">*this</samp> that corresponds to the current thread. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d119893e29 "><span class="keyword">reference local( bool& exists
+					 )</span> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d119893e32 "> 
+				  <p>Similar to 
+					 <samp class="codeph">local()</samp>, except that 
+					 <samp class="codeph"><em>exists</em></samp> is set to true if an element was
+					 already present for the current thread; false otherwise. 
+				  </p>
+ 
+				  <p><strong>Returns</strong>: Reference to thread-local
+					 element. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d119893e29 "><span class="keyword">size_type size() const</span> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d119893e32 "> 
+				  <p><strong>Returns</strong>: The number of elements in 
+					 <samp class="codeph">*this</samp>. The value is equal to the number of
+					 distinct threads that have called local() after 
+					 <samp class="codeph">*this</samp> was constructed or most recently
+					 cleared. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d119893e29 "><span class="keyword">bool empty() const</span> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d119893e32 "> 
+				  <p><strong>Returns</strong>: 
+					 <samp class="codeph">size()==0</samp> 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+		  </tbody>
+ 
+		</table>
+</div>
+ 
+  </div>
+ 
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../../reference/thread_local_storage/enumerable_thread_specific_cls.htm">enumerable_thread_specific Template Class</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/reference/thread_local_storage/enumerable_thread_specific_cls/iterators_specific_cls.htm b/doc/help/reference/thread_local_storage/enumerable_thread_specific_cls/iterators_specific_cls.htm
new file mode 100755
index 0000000..7bcbd6d
--- /dev/null
+++ b/doc/help/reference/thread_local_storage/enumerable_thread_specific_cls/iterators_specific_cls.htm
@@ -0,0 +1,161 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="Iterators">
+<meta name="DC.subject" content="Iterators">
+<meta name="keywords" content="Iterators">
+<meta name="DC.Relation" scheme="URI" content="../../../reference/thread_local_storage/enumerable_thread_specific_cls.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="iterators_specific_cls">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../../intel_css_styles.css">
+<title>Iterators</title>
+</head>
+<body id="iterators_specific_cls">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(3);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="iterators_specific_cls"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Iterators</h1>
+ 
+  
+  <div> 
+	 <div class="section"> 
+		<p>Template class 
+		  <samp class="codeph">enumerable_thread_specific</samp> supports random access
+		  iterators, which enable iteration over the set of all elements in the
+		  container.
+		</p>
+
+		
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"><span class="tabledesc">The following table provides additional information on the
+			 members of this template class. 
+		  </span><thead align="left"> 
+				<tr> 
+				  <th class="cellrowborder" valign="top" width="33.89830508474576%" id="d120275e37">Member 
+				  </th>
+ 
+				  <th class="cellrowborder" valign="top" width="66.10169491525423%" id="d120275e40">Description 
+				  </th>
+ 
+				</tr>
+</thead>
+ 
+			 <tbody> 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d120275e37 "><span class="keyword">iterator begin()</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d120275e40 ">
+					 <p><strong>Returns</strong>: 
+						<samp class="codeph">iterator</samp> pointing to the beginning of the
+						set of elements.
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d120275e37 "><span class="keyword">iterator end()</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d120275e40 ">
+					 <p><strong>Returns</strong>: 
+						<samp class="codeph">iterator</samp> pointing to the end of the set of
+						elements.
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d120275e37 "><span class="keyword">const_iterator begin()
+						const</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d120275e40 ">
+					 <p><strong>Returns</strong>: 
+						<samp class="codeph">const_iterator</samp> pointing to the beginning of
+						the set of elements. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d120275e37 "><span class="keyword">const_iterator end()
+						const</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d120275e40 ">
+					 <p><strong>Returns</strong>: 
+						<samp class="codeph">const_iterator</samp> pointing to the end of the
+						set of elements. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d120275e37 "><span class="keyword"></span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d120275e40 "> 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d120275e37 "><span class="keyword"></span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d120275e40 "> 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d120275e37 "><span class="keyword"></span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d120275e40 "> 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d120275e37 "><span class="keyword"></span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d120275e40 "> 
+				  </td>
+ 
+				</tr>
+ 
+			 </tbody>
+ 
+		  </table>
+</div>
+
+	 </div>
+ 
+  </div>
+ 
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../../reference/thread_local_storage/enumerable_thread_specific_cls.htm">enumerable_thread_specific Template Class</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/reference/thread_local_storage/enumerable_thread_specific_cls/parallel_literation_specific_cls.htm b/doc/help/reference/thread_local_storage/enumerable_thread_specific_cls/parallel_literation_specific_cls.htm
new file mode 100755
index 0000000..7f5f09e
--- /dev/null
+++ b/doc/help/reference/thread_local_storage/enumerable_thread_specific_cls/parallel_literation_specific_cls.htm
@@ -0,0 +1,103 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="Parallel Iteration">
+<meta name="DC.subject" content="Parallel Iteration">
+<meta name="keywords" content="Parallel Iteration">
+<meta name="DC.Relation" scheme="URI" content="../../../reference/thread_local_storage/enumerable_thread_specific_cls.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="parallel_literation_specific_cls">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../../intel_css_styles.css">
+<title>Parallel Iteration</title>
+</head>
+<body id="parallel_literation_specific_cls">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(3);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="parallel_literation_specific_cls"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Parallel Iteration</h1>
+ 
+  
+  <div>
+	 <div class="section">
+		<p>Types 
+		  <samp class="codeph">const_range_type</samp> and 
+		  <samp class="codeph">range_type</samp> model the Container Range concept. The
+		  types differ only in that the bounds for a 
+		  <samp class="codeph">const_range_type</samp> are of type 
+		  <samp class="codeph">const_iterator</samp>, whereas the bounds for a 
+		  <samp class="codeph">range_type</samp> are of type iterator.
+		</p>
+
+		
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"><span class="tabledesc">The following table provides additional information on the
+			 members of this template class. 
+		  </span><thead align="left"> 
+				<tr> 
+				  <th class="cellrowborder" valign="top" width="33.89830508474576%" id="d120835e49">Member 
+				  </th>
+ 
+				  <th class="cellrowborder" valign="top" width="66.10169491525423%" id="d120835e52">Description 
+				  </th>
+ 
+				</tr>
+</thead>
+ 
+			 <tbody> 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d120835e49 "><span class="keyword">const_range_type range( size_t
+						grainsize=1 ) const</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d120835e52 ">
+					 <p><strong>Returns</strong>: A 
+						<samp class="codeph">const_range_type</samp> representing all elements
+						in 
+						<samp class="codeph">*this</samp>. The parameter 
+						<samp class="codeph">grainsize</samp> is in units of elements.
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d120835e49 "><span class="keyword">range_type range( size_t
+						grainsize=1 )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d120835e52 ">
+					 <p><strong>Returns</strong>: A 
+						<samp class="codeph">range_type</samp> representing all elements in 
+						<samp class="codeph">*this</samp>. The parameter 
+						<samp class="codeph">grainsize</samp> is in units of elements.
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+			 </tbody>
+ 
+		  </table>
+</div>
+
+	 </div>
+ 
+  </div>
+ 
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../../reference/thread_local_storage/enumerable_thread_specific_cls.htm">enumerable_thread_specific Template Class</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/reference/thread_local_storage/enumerable_thread_specific_cls/whole_container_operations_specific_cls.htm b/doc/help/reference/thread_local_storage/enumerable_thread_specific_cls/whole_container_operations_specific_cls.htm
new file mode 100755
index 0000000..d569259
--- /dev/null
+++ b/doc/help/reference/thread_local_storage/enumerable_thread_specific_cls/whole_container_operations_specific_cls.htm
@@ -0,0 +1,235 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="Whole Container Operations">
+<meta name="DC.subject" content="Whole Container Operations">
+<meta name="keywords" content="Whole Container Operations">
+<meta name="DC.Relation" scheme="URI" content="../../../reference/thread_local_storage/enumerable_thread_specific_cls.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="whole_container_operations_specific_cls">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../../intel_css_styles.css">
+<title>Whole Container Operations</title>
+</head>
+<body id="whole_container_operations_specific_cls">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(3);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="whole_container_operations_specific_cls"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Whole Container Operations</h1>
+ 
+  
+  <div>
+	 <div class="section">
+		<p><strong>Safety</strong>
+		</p>
+ 
+		<p>These operations must not be invoked concurrently
+		  on the same instance of 
+		  <samp class="codeph">enumerable_thread_specific</samp>. 
+		</p>
+
+		
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"><span class="tabledesc">The following table provides additional information on the
+			 members of this template class. 
+		  </span><thead align="left"> 
+				<tr> 
+				  <th class="cellrowborder" valign="top" width="33.89830508474576%" id="d121119e42">Member 
+				  </th>
+ 
+				  <th class="cellrowborder" valign="top" width="66.10169491525423%" id="d121119e45">Description 
+				  </th>
+ 
+				</tr>
+</thead>
+ 
+			 <tbody> 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d121119e42 "><span class="keyword">enumerable_thread_specific()</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d121119e45 ">
+					 <p>Constructs an 
+						<samp class="codeph">enumerable_thread_specific</samp> where each local
+						copy will be default constructed.
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d121119e42 "><span class="keyword">enumerable_thread_specific(const
+						enumerable_thread_specific &other)</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d121119e45 ">
+					 <p>Copy construct an 
+						<samp class="codeph">enumerable_thread_specific</samp>. The values are
+						copy constructed from the values in 
+						<samp class="codeph"><em>other</em></samp> and have same thread
+						correspondence.
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d121119e42 "><span class="keyword"> template<typename U, typename
+						Alloc, ets_key_usage_type Cachetype> enumerable_thread_specific( const
+						enumerable_thread_specific<U, Alloc, Cachetype>& other )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d121119e45 ">
+					 <p>Copy construct an 
+						<samp class="codeph">enumerable_thread_specific</samp>. The values are
+						copy constructed from the values in 
+						<samp class="codeph"><em>other</em></samp> and have same thread
+						correspondence.
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d121119e42 "><span class="keyword">template< typename Finit>
+						enumerable_thread_specific(Finit finit)</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d121119e45 ">
+					 <p>Constructs 
+						<samp class="codeph">enumerable_thread_specific</samp> such that any
+						thread-local element will be created by copying the result of 
+						<samp class="codeph">finit()</samp>. 
+					 </p>
+ 
+					 <div class="Note"><h3 class="NoteTipHead">
+					Note</h3>
+						<p>The expression 
+						  <samp class="codeph">finit()</samp> must be safe to evaluate
+						  concurrently by multiple threads. It is evaluated each time a thread-local
+						  element is created.
+						</p>
+
+					 </div> 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d121119e42 "><span class="keyword">enumerable_thread_specific(const
+						T& exemplar)</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d121119e45 ">
+					 <p>Constructs an 
+						<samp class="codeph">enumerable_thread_specific</samp> where each local
+						copy will be copy constructed from 
+						<samp class="codeph"><em>exemplar</em></samp>.
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d121119e42 "><span class="keyword">~enumerable_thread_specific()</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d121119e45 ">
+					 <p>Destroys all elements in 
+						<samp class="codeph">*this</samp>. Destroys any native TLS keys that
+						were created for this instance.
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d121119e42 "><span class="keyword"> enumerable_thread_specific&
+						operator=(const enumerable_thread_specific& other);</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d121119e45 ">
+					 <p>Sets 
+						<samp class="codeph">*this</samp> to be a copy of 
+						<samp class="codeph"><em>other</em></samp>. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d121119e42 "><span class="keyword">template< typename U, typename
+						Alloc, ets_key_usage_type Cachetype> enumerable_thread_specific&
+						operator=(const enumerable_thread_specific<U, Alloc, Cachetype>&
+						other);</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d121119e45 ">
+					 <p>Sets 
+						<samp class="codeph">*this</samp> to be a copy of 
+						<samp class="codeph"><em>other</em></samp>. 
+					 </p>
+ 
+					 <div class="Note"><h3 class="NoteTipHead">
+					Note</h3>
+						<p>The allocator and key usage
+						  specialization is unchanged by this call.
+						</p>
+
+					 </div> 
+				  </td>
+ 
+				</tr>
+
+				<tr>
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d121119e42 "><span class="keyword"> void clear()</span> 
+				  </td>
+
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d121119e45 ">
+					 <p>Destroys all elements in 
+						<samp class="codeph">*this</samp>. Destroys and then recreates any
+						native TLS keys used in the implementation. 
+					 </p>
+ 
+					 <div class="Note"><h3 class="NoteTipHead">
+					Note</h3>
+						<p>In the current implementation, there is
+						  no performance advantage of using clear instead of destroying and
+						  reconstructing an 
+						  <samp class="codeph">enumerable_thread_specific</samp>. 
+						</p>
+
+					 </div>
+				  </td>
+
+				</tr>
+ 
+			 </tbody>
+ 
+		  </table>
+</div>
+
+	 </div>
+ 
+  </div>
+ 
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../../reference/thread_local_storage/enumerable_thread_specific_cls.htm">enumerable_thread_specific Template Class</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/reference/thread_local_storage/flattened2d_cls.htm b/doc/help/reference/thread_local_storage/flattened2d_cls.htm
new file mode 100755
index 0000000..c6b063f
--- /dev/null
+++ b/doc/help/reference/thread_local_storage/flattened2d_cls.htm
@@ -0,0 +1,163 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="flattened2d Template Class">
+<meta name="DC.subject" content="flattened2d Template Class">
+<meta name="keywords" content="flattened2d Template Class">
+<meta name="DC.Relation" scheme="URI" content="../../reference/thread_local_storage.htm">
+<meta name="DC.Relation" scheme="URI" content="../../reference/thread_local_storage/flattened2d_cls/whole_container_operations_2d_cls.htm">
+<meta name="DC.Relation" scheme="URI" content="../../reference/thread_local_storage/flattened2d_cls/concurrent_operations.htm">
+<meta name="DC.Relation" scheme="URI" content="../../reference/thread_local_storage/flattened2d_cls/iterators_2d_cls.htm">
+<meta name="DC.Relation" scheme="URI" content="../../reference/thread_local_storage/flattened2d_cls/utility_funcs.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="flattened2d_cls">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../intel_css_styles.css">
+<title>flattened2d Template Class</title>
+</head>
+<body id="flattened2d_cls">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(2);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="flattened2d_cls"><!-- --></a>
+
+
+        <h1 class="topictitle1">flattened2d Template Class</h1>
+
+        
+<div><div class="section"><h2 class="sectiontitle">Summary</h2>
+            <p>Adaptor that provides a flattened view of a container of containers. </p>
+
+           </div>
+<div class="section"><h2 class="sectiontitle">Syntax </h2> 
+<pre>
+    template<typename Container>
+    class flattened2;
+     
+    template <typename Container>
+    flattened2d<Container> flatten2d(const Container &c); 
+     
+    template <typename Container>
+    flattened2d<Container> flatten2d(
+        const Container &c, 
+        const typename Container::const_iterator b, 
+        const typename Container::const_iterator e); </pre>
+            </div>
+<div class="section"><h2 class="sectiontitle">Header</h2>
+            <pre>#include "tbb/enumerable_thread_specific.h"</pre>
+            </div>
+<div class="section"><h2 class="sectiontitle">Description</h2>
+            <p>A <samp class="codeph">flattened2d</samp> provides a flattened view of a container of containers. Iterating from <samp class="codeph">begin()</samp> to <samp class="codeph">end()</samp>visits all of the elements in the inner containers. This can be useful when traversing an <samp class="codeph">enumerable_thread_specific</samp> whose elements are containers. </p>
+
+            <p>The utility function <samp class="codeph">flatten2d</samp> creates a <samp class="codeph">flattened2d</samp> object from a container.</p>
+
+            </div>
+<div class="section"><h2 class="sectiontitle">Example</h2>
+            <p>The following code shows a simple example usage of <samp class="codeph">flatten2d</samp> and <samp class="codeph">flattened2d</samp>. Each thread collects the values of <samp class="codeph">i</samp> that are evenly divisible by <samp class="codeph">K</samp> in a thread-local vector. In main, the results are printed by using a <samp class="codeph">flattened2d</samp> to simplify the traversal of all of the elements in all of the local vectors. </p>
+
+<pre>    
+             #include <iostream>
+             #include <utility>
+             #include <vector>
+              
+             #include "tbb/task_scheduler_init.h"
+             #include "tbb/enumerable_thread_specific.h"
+             #include "tbb/parallel_for.h"
+             #include "tbb/blocked_range.h"
+              
+             using namespace tbb;
+              
+             // A VecType has a separate std::vector<int> per thread
+             typedef enumerable_thread_specific< std::vector<int> > VecType;
+             VecType MyVectors; 
+             int K = 1000000;
+              
+             struct Func {
+                 void operator()(const blocked_range<int>& r) const {
+                     VecType::reference v = MyVectors.local();
+                     for (int i=r.begin(); i!=r.end(); ++i) 
+                         if( i%k==0 ) 
+                             v.push_back(i);
+                 } 
+             };
+              
+             int main() {
+                 parallel_for(blocked_range<int>(0, 100000000), 
+                              Func());
+              
+                 flattened2d<VecType> flat_view = flatten2d( MyVectors );
+                 for( flattened2d<VecType>::const_iterator 
+                      i = flat_view.begin(); i != flat_view.end(); ++i) 
+                     cout << *i << endl;
+                 return 0;
+             }
+              </pre>
+            </div>
+<div class="section"><h2 class="sectiontitle">Members</h2>
+            <pre>namespace tbb {
+            
+                template<typename Container>
+                class flattened2d {
+             
+                public:
+                    // Basic types
+                    typedef <em>implementation-dependent</em> size_type;
+                    typedef <em>implementation-dependent</em> difference_type;
+                    typedef <em>implementation-dependent</em> allocator_type;
+                    typedef <em>implementation-dependent</em> value_type;
+                    typedef <em>implementation-dependent</em> reference;
+                    typedef <em>implementation-dependent</em> const_reference;
+                    typedef <em>implementation-dependent</em> pointer;
+                    typedef <em>implementation-dependent</em> const_pointer;
+             
+                    typedef <em>implementation-dependent</em> iterator;
+                    typedef <em>implementation-dependent</em> const_iterator;
+             
+                    flattened2d( const Container& c );
+             
+                    flattened2d( const Container& c, 
+                                 typename Container::const_iterator first,
+                                typename Container::const_iterator last );
+             
+                    iterator begin();
+                    iterator end();
+                    const_iterator begin() const;
+                    const_iterator end() const;
+             
+                    size_type size() const;
+                };
+             
+                template <typename Container>
+                flattened2d<Container> flatten2d(const Container &c);
+             
+                template <typename Container>
+                flattened2d<Container> flatten2d(
+                    const Container &c, 
+                    const typename Container::const_iterator first, 
+                    const typename Container::const_iterator last);
+            }</pre></div>
+</div>
+
+    
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../reference/thread_local_storage.htm">Thread Local Storage</a></div>
+</div>
+<div>
+<ul class="ullinks">
+<li class="ulchildlink"><a href="../../reference/thread_local_storage/flattened2d_cls/whole_container_operations_2d_cls.htm">Whole Container Operations</a><br>
+</li>
+<li class="ulchildlink"><a href="../../reference/thread_local_storage/flattened2d_cls/concurrent_operations.htm">Concurrent Operations</a><br>
+</li>
+<li class="ulchildlink"><a href="../../reference/thread_local_storage/flattened2d_cls/iterators_2d_cls.htm">Iterators</a><br>
+</li>
+<li class="ulchildlink"><a href="../../reference/thread_local_storage/flattened2d_cls/utility_funcs.htm">Utility Functions</a><br>
+</li>
+</ul>
+</div>
+
+</body>
+</html>
diff --git a/doc/help/reference/thread_local_storage/flattened2d_cls/concurrent_operations.htm b/doc/help/reference/thread_local_storage/flattened2d_cls/concurrent_operations.htm
new file mode 100755
index 0000000..102b39d
--- /dev/null
+++ b/doc/help/reference/thread_local_storage/flattened2d_cls/concurrent_operations.htm
@@ -0,0 +1,83 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="Concurrent Operations">
+<meta name="DC.subject" content="Concurrent Operations">
+<meta name="keywords" content="Concurrent Operations">
+<meta name="DC.Relation" scheme="URI" content="../../../reference/thread_local_storage/flattened2d_cls.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="concurrent_operations">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../../intel_css_styles.css">
+<title>Concurrent Operations</title>
+</head>
+<body id="concurrent_operations">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(3);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="concurrent_operations"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Concurrent Operations</h1>
+ 
+   
+  <div> 
+	 <div class="section"> 
+		<p><strong>Safety</strong> 
+		</p>
+ 
+		<p>These operations may be invoked concurrently on the
+		  same 
+		  <samp class="codeph">flattened2d</samp>. 
+		
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"><span class="tabledesc">The following table provides additional information on the member
+			 of this template class. 
+		  </span><thead align="left"> 
+				<tr> 
+				  <th class="cellrowborder" valign="top" width="33.89830508474576%" id="d122179e41">Member 
+				  </th>
+ 
+				  <th class="cellrowborder" valign="top" width="66.10169491525423%" id="d122179e44">Description 
+				  </th>
+ 
+				</tr>
+</thead>
+ 
+			 <tbody> 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d122179e41 "><span class="keyword">size_type size() const</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d122179e44 "> 
+					 <p><strong>Returns</strong>: The sum of the sizes of
+						the inner containers that are viewable in the 
+						<samp class="codeph">flattened2d</samp>. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+			 </tbody>
+ 
+		  </table>
+</div>
+ 
+		</p>
+ 
+	 </div>
+ 
+  </div>
+
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../../reference/thread_local_storage/flattened2d_cls.htm">flattened2d Template Class</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/reference/thread_local_storage/flattened2d_cls/iterators_2d_cls.htm b/doc/help/reference/thread_local_storage/flattened2d_cls/iterators_2d_cls.htm
new file mode 100755
index 0000000..221c84f
--- /dev/null
+++ b/doc/help/reference/thread_local_storage/flattened2d_cls/iterators_2d_cls.htm
@@ -0,0 +1,123 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="Iterators">
+<meta name="DC.subject" content="Iterators">
+<meta name="keywords" content="Iterators">
+<meta name="DC.Relation" scheme="URI" content="../../../reference/thread_local_storage/flattened2d_cls.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="iterators_2d_cls">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../../intel_css_styles.css">
+<title>Iterators</title>
+</head>
+<body id="iterators_2d_cls">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(3);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="iterators_2d_cls"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Iterators</h1>
+ 
+   
+  <div> 
+	 <div class="section"> 
+		<p>Template class 
+		  <samp class="codeph">flattened2d</samp> supports forward iterators only. 
+		
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"><span class="tabledesc">The following table provides additional information on the
+			 members of this template class. 
+		  </span><thead align="left"> 
+				<tr> 
+				  <th class="cellrowborder" valign="top" width="33.89830508474576%" id="d122361e36">Member 
+				  </th>
+ 
+				  <th class="cellrowborder" valign="top" width="66.10169491525423%" id="d122361e39">Description 
+				  </th>
+ 
+				</tr>
+</thead>
+ 
+			 <tbody> 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d122361e36 "><span class="keyword">iterator begin()</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d122361e39 "> 
+					 <p><strong>Returns</strong>: 
+						<samp class="codeph">iterator</samp> pointing to the beginning of the
+						set of local copies. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d122361e36 "><span class="keyword">iterator end()</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d122361e39 "> 
+					 <p><strong>Returns</strong>: 
+						<samp class="codeph">iterator</samp> pointing to the end of the set of
+						local copies. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d122361e36 "><span class="keyword">const_iterator begin()
+						const</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d122361e39 "> 
+					 <p><strong>Returns</strong>: 
+						<samp class="codeph">const_iterator</samp> pointing to the beginning of
+						the set of local copies. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d122361e36 "><span class="keyword">const_iterator end()
+						const</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d122361e39 "> 
+					 <p><strong>Returns</strong>: 
+						<samp class="codeph">const_iterator</samp> pointing to the end of the
+						set of local copies. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+			 </tbody>
+ 
+		  </table>
+</div>
+ 
+		</p>
+ 
+	 </div>
+ 
+  </div>
+ 
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../../reference/thread_local_storage/flattened2d_cls.htm">flattened2d Template Class</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/reference/thread_local_storage/flattened2d_cls/utility_funcs.htm b/doc/help/reference/thread_local_storage/flattened2d_cls/utility_funcs.htm
new file mode 100755
index 0000000..e4aa2e7
--- /dev/null
+++ b/doc/help/reference/thread_local_storage/flattened2d_cls/utility_funcs.htm
@@ -0,0 +1,91 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="Utility Functions">
+<meta name="DC.subject" content="Utility Functions">
+<meta name="keywords" content="Utility Functions">
+<meta name="DC.Relation" scheme="URI" content="../../../reference/thread_local_storage/flattened2d_cls.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="utility_funcs">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../../intel_css_styles.css">
+<title>Utility Functions</title>
+</head>
+<body id="utility_funcs">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(3);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="utility_funcs"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Utility Functions</h1>
+ 
+  
+  <div>
+	 
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"><span class="tabledesc">The following table provides additional information on the members
+		  of this template class. 
+		</span><thead align="left"> 
+			 <tr> 
+				<th class="cellrowborder" valign="top" width="33.89830508474576%" id="d122729e29">Member 
+				</th>
+ 
+				<th class="cellrowborder" valign="top" width="66.10169491525423%" id="d122729e32">Description 
+				</th>
+ 
+			 </tr>
+</thead>
+ 
+		  <tbody> 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d122729e29 "><span class="keyword">template <typename Container> 
+					 flattened2d<Container> flatten2d(const Container &c, const typename
+					 Container::const_iterator b, const typename Container::const_iterator
+					 e)</span> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d122729e32 ">
+				  <p><strong>Returns</strong>: Constructs and returns a 
+					 <samp class="codeph">flattened2d</samp> that provides iterators that
+					 traverse the elements in the containers within the half-open range 
+					 <samp class="codeph">[b, e)</samp> of Container c.
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d122729e29 "><span class="keyword">template <typename Container>
+					 flattened2d( const Container &c )</span> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d122729e32 ">
+				  <p><strong>Returns</strong>: Constructs and returns a 
+					 <samp class="codeph">flattened2d</samp> that provides iterators that
+					 traverse the elements in all of the containers within Container c.
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+		  </tbody>
+ 
+		</table>
+</div>
+ 
+  </div>
+ 
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../../reference/thread_local_storage/flattened2d_cls.htm">flattened2d Template Class</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/reference/thread_local_storage/flattened2d_cls/whole_container_operations_2d_cls.htm b/doc/help/reference/thread_local_storage/flattened2d_cls/whole_container_operations_2d_cls.htm
new file mode 100755
index 0000000..ab22ba4
--- /dev/null
+++ b/doc/help/reference/thread_local_storage/flattened2d_cls/whole_container_operations_2d_cls.htm
@@ -0,0 +1,101 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="Whole Container Operations">
+<meta name="DC.subject" content="Whole Container Operations">
+<meta name="keywords" content="Whole Container Operations">
+<meta name="DC.Relation" scheme="URI" content="../../../reference/thread_local_storage/flattened2d_cls.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="whole_container_operations_2d_cls">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../../intel_css_styles.css">
+<title>Whole Container Operations</title>
+</head>
+<body id="whole_container_operations_2d_cls">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(3);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="whole_container_operations_2d_cls"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Whole Container Operations</h1>
+ 
+  
+  <div>
+	 <div class="section">
+		<p><strong>Safety</strong>
+		</p>
+ 
+		<p>These operations must not be invoked concurrently
+		  on the same 
+		  <samp class="codeph">flattened2d</samp>. 
+		</p>
+
+		
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"><span class="tabledesc">The following table provides additional information on the
+			 members of this template class. 
+		  </span><thead align="left"> 
+				<tr> 
+				  <th class="cellrowborder" valign="top" width="33.89830508474576%" id="d122949e42">Member 
+				  </th>
+ 
+				  <th class="cellrowborder" valign="top" width="66.10169491525423%" id="d122949e45">Description 
+				  </th>
+ 
+				</tr>
+</thead>
+ 
+			 <tbody> 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d122949e42 "><span class="keyword">flattened2d( const Container&
+						c )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d122949e45 ">
+					 <p>Constructs a 
+						<samp class="codeph">flattened2d</samp> representing the sequence of
+						elements in the inner containers contained by outer container c.
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d122949e42 "><span class="keyword">flattened2d( const Container&
+						c, typename Container::const_iterator first, typename Container::const_iterator
+						last )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d122949e45 ">
+					 <p>Constructs a 
+						<samp class="codeph">flattened2d</samp> representing the sequence of
+						elements in the inner containers in the half-open interval 
+						<samp class="codeph">[<em>first, last</em>)</samp> of Container c.
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+			 </tbody>
+ 
+		  </table>
+</div>
+
+	 </div>
+ 
+  </div>
+
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../../reference/thread_local_storage/flattened2d_cls.htm">flattened2d Template Class</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/reference/threads.htm b/doc/help/reference/threads.htm
new file mode 100755
index 0000000..34b989e
--- /dev/null
+++ b/doc/help/reference/threads.htm
@@ -0,0 +1,186 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="Threads">
+<meta name="DC.subject" content="Threads">
+<meta name="keywords" content="Threads">
+<meta name="DC.Relation" scheme="URI" content="../reference/reference.htm">
+<meta name="DC.Relation" scheme="URI" content="../reference/threads/thread_cls.htm">
+<meta name="DC.Relation" scheme="URI" content="../reference/threads/thread_id.htm">
+<meta name="DC.Relation" scheme="URI" content="../reference/threads/this_thread_namespace.htm">
+<meta name="DC.Relation" scheme="URI" content="general_conventions/namespaces.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="threads">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../intel_css_styles.css">
+<title>Threads</title>
+</head>
+<body id="threads">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(1);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="threads"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Threads</h1>
+ 
+  
+  <div> 
+	 <div class="section"> 
+		<p>Intel® Threading Building Blocks (Intel® TBB)
+		  provides a wrapper around the platform's native threads, based upon the N3000
+		  working draft for C++11. Using this wrapper has two benefits:
+		</p>
+ 
+		<ul type="disc"> 
+		  <li> 
+			 <p>It makes threaded code portable across
+				platforms.
+			 </p>
+ 
+		  </li>
+ 
+		  <li> 
+			 <p>It eases later migration to ISO C++11
+				threads.
+			 </p>
+ 
+		  </li>
+ 
+		</ul>
+ 
+		<p>The library defines the wrapper in namespace 
+		  <samp class="codeph">std</samp>, not namespace 
+		  <samp class="codeph">tbb</samp>, as explained in Section Namespace.
+		</p>
+ 
+		<p>The significant departures from N3000 are shown in
+		  the table below. 
+		</p>
+ 
+		
+<div class="tablenoborder"><a name="tbl36"><!-- --></a><table cellpadding="4" summary="" id="tbl36" width="100%" frame="hsides" border="1" rules="all"><caption><span class="tablecap">Differences Between N3000 and Intel® TBB
+		  Thread Class</span></caption> 
+		   
+		   
+		  <thead align="left">
+			 <tr> 
+				<th class="cellrowborder" valign="top" width="NaN%" id="d123197e64"> 
+				  <p>N3000
+				  </p>
+ 
+				</th>
+ 
+				<th class="row-nocellborder" valign="top" width="NaN%" id="d123197e70"> 
+				  <p>Intel® TBB
+				  </p>
+ 
+				</th>
+ 
+			 </tr>
+</thead>
+
+		  <tbody> 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="NaN%" headers="d123197e64 "> 
+				  <p><samp class="codeph">template<class Rep, class
+						Period> std::this_thread::sleep_for(</samp>
+				  </p>
+ 
+				  <p><samp class="codeph">const chrono::duration<Rep,
+						Period>& rel_time)</samp>
+				  </p>
+ 
+				</td>
+ 
+				<td class="row-nocellborder" valign="top" width="NaN%" headers="d123197e70 "> 
+				  <p><samp class="codeph">std::this_thread::sleep_for(
+						tick_count::interval_t )</samp>
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="NaN%" headers="d123197e64 "> 
+				  <p>rvalue reference parameters
+				  </p>
+ 
+				</td>
+ 
+				<td class="row-nocellborder" valign="top" width="NaN%" headers="d123197e70 "> 
+				  <p>Parameter changed to plain value, or
+					 function removed, as appropriate.
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="NaN%" headers="d123197e64 "> 
+				  <p>constructor for 
+					 <samp class="codeph">std::thread</samp> takes arbitrary number of
+					 arguments.
+				  </p>
+ 
+				</td>
+ 
+				<td class="row-nocellborder" valign="top" width="NaN%" headers="d123197e70 "> 
+				  <p>constructor for 
+					 <samp class="codeph">std::thread</samp> takes 0-3 arguments.
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+		  </tbody>
+ 
+		</table>
+</div>
+ 
+		<p>The other changes are for compatibility with the
+		  current C++ standard or Intel® TBB. For example, constructors that have an
+		  arbitrary number of arguments require the variadic template features of C++11.
+		</p>
+ 
+		<div class="Note"><h3 class="NoteTipHead">
+					Caution</h3> 
+		  <p>Threads are heavy weight entities on most
+			 systems, and running too many threads on a system can seriously degrade
+			 performance. Consider using a task based solution instead if practical. 
+		  </p>
+ 
+		</div> 
+	 </div>
+ 
+  </div>
+ 
+  
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../reference/reference.htm">Intel® Threading Building Blocks Reference Manual</a></div>
+</div>
+<div class="See Also">
+<ul class="ullinks">
+<li class="ulchildlink"><a href="../reference/threads/thread_cls.htm">thread Class</a><br>
+</li>
+<li class="ulchildlink"><a href="../reference/threads/thread_id.htm">thread::id</a><br>
+</li>
+<li class="ulchildlink"><a href="../reference/threads/this_thread_namespace.htm">this_thread Namespace</a><br>
+</li>
+</ul>
+
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="general_conventions/namespaces.htm">Namespaces, std Namespace 
+		  </a></div></div>
+</div>
+
+</body>
+</html>
diff --git a/doc/help/reference/threads/this_thread_namespace.htm b/doc/help/reference/threads/this_thread_namespace.htm
new file mode 100755
index 0000000..1dee748
--- /dev/null
+++ b/doc/help/reference/threads/this_thread_namespace.htm
@@ -0,0 +1,129 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="this_thread Namespace">
+<meta name="DC.subject" content="this_thread Namespace">
+<meta name="keywords" content="this_thread Namespace">
+<meta name="DC.Relation" scheme="URI" content="../../reference/threads.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="this_thread_namespace">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../intel_css_styles.css">
+<title>this_thread Namespace</title>
+</head>
+<body id="this_thread_namespace">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(2);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="this_thread_namespace"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">this_thread Namespace</h1>
+ 
+   
+  <div> 
+	 <div class="section"><h2 class="sectiontitle">Description</h2> 
+		 
+		<p>Namespace this_thread contains global functions
+		  related to threading. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Members</h2> 
+		 
+		<pre> namepace tbb {
+        namespace this_thread {
+            thread::id get_id();
+            void yield();
+            void sleep( const tick_count::interval_t );
+        }
+    }
+     </pre> 
+		
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"><span class="tabledesc">The following table provides additional information on the
+			 members of this template class. 
+		  </span><thead align="left"> 
+				<tr> 
+				  <th class="cellrowborder" valign="top" width="33.89830508474576%" id="d123595e46">Member 
+				  </th>
+ 
+				  <th class="cellrowborder" valign="top" width="66.10169491525423%" id="d123595e49">Description 
+				  </th>
+ 
+				</tr>
+</thead>
+ 
+			 <tbody> 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d123595e46 "><span class="keyword">thread::id get_id()</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d123595e49 "> 
+					 <p><strong>Returns</strong>: Id of the current thread.
+						
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d123595e46 "><span class="keyword">void yield()</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d123595e49 "> 
+					 <p>Offers to suspend current thread so that
+						another thread may run. 
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d123595e46 "><span class="keyword">void sleep_for( const
+						tick_count::interval_t & i)</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d123595e49 "> 
+					 <p>Current thread blocks for at least time
+						interval 
+						<em>i</em>. 
+					 </p>
+ 
+					 <p><strong>Example</strong> 
+					 </p>
+ 
+					 <pre>            using namespace tbb;
+     
+    void Foo() {
+        // Sleep 30 seconds
+        this_thread::sleep_for( tick_count::interval_t(30) );
+    }
+     </pre> 
+				  </td>
+ 
+				</tr>
+ 
+			 </tbody>
+ 
+		  </table>
+</div>
+ 
+	 </div>
+ 
+  </div>
+ 
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../reference/threads.htm">Threads</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/reference/threads/thread_cls.htm b/doc/help/reference/threads/thread_cls.htm
new file mode 100755
index 0000000..20f895b
--- /dev/null
+++ b/doc/help/reference/threads/thread_cls.htm
@@ -0,0 +1,91 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="thread Class">
+<meta name="DC.subject" content="thread Class">
+<meta name="keywords" content="thread Class">
+<meta name="DC.Relation" scheme="URI" content="../../reference/threads.htm">
+<meta name="DC.Relation" scheme="URI" content="../../reference/threads/thread_cls/thread_cls_members.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="thread_cls">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../intel_css_styles.css">
+<title>thread Class</title>
+</head>
+<body id="thread_cls">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(2);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="thread_cls"><!-- --></a>
+
+
+    <h1 class="topictitle1">thread Class</h1>
+
+    
+<div>
+        <div class="section"><h2 class="sectiontitle">Summary</h2>
+            <p>Represents a thread of execution.</p>
+</div>
+
+    
+        <div class="section"><h2 class="sectiontitle">Syntax</h2>
+            
+            <pre>class thread;</pre></div>
+<div class="section"><h2 class="sectiontitle">Header</h2>
+            <p>
+                <pre>#include "tbb/compat/thread"</pre>
+            </p>
+</div>
+<div class="section"><h2 class="sectiontitle">Description</h2>
+            <p>Class <samp class="codeph">thread</samp> provides a platform independent interface to native
+                threads. An instance represents a thread. A platform-specific thread handle can be
+                obtained via method <samp class="codeph">native_handle()</samp>.</p>
+</div>
+<div class="section"><h2 class="sectiontitle">Members</h2>
+<pre>namespace std {    
+    class thread {
+    public:
+    #if _WIN32||_WIN64
+    typedef HANDLE native_handle_type;
+    #else
+    typedef pthread_t native_handle_type;
+    #endif // _WIN32||_WIN64
+    
+    class id;
+    
+    thread();
+    template <typename F> explicit thread(F f);
+        template <typename F, typename X> thread(F f, X x);
+            template <typename F, typename X, typename Y>
+                thread (F f, X x, Y y);
+                thread& operator=( thread& x);
+                ~thread();
+                
+                bool joinable() const;
+                void join();
+                void detach();
+                id get_id() const;
+                native_handle_type native_handle();
+                
+                static unsigned hardware_concurrency();
+</pre> </div>
+
+            
+    </div>
+ 
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../reference/threads.htm">Threads</a></div>
+</div>
+<div>
+<ul class="ullinks">
+<li class="ulchildlink"><a href="../../reference/threads/thread_cls/thread_cls_members.htm">thread Class Members</a><br>
+</li>
+</ul>
+</div>
+
+</body>
+</html>
diff --git a/doc/help/reference/threads/thread_cls/thread_cls_members.htm b/doc/help/reference/threads/thread_cls/thread_cls_members.htm
new file mode 100755
index 0000000..1f3e318
--- /dev/null
+++ b/doc/help/reference/threads/thread_cls/thread_cls_members.htm
@@ -0,0 +1,229 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="thread Class Members">
+<meta name="DC.subject" content="TestMetaData">
+<meta name="keywords" content="TestMetaData">
+<meta name="DC.Relation" scheme="URI" content="../../../reference/threads/thread_cls.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="thread_cls">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../../intel_css_styles.css">
+<title>thread Class Members</title>
+</head>
+<body id="thread_cls">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(3);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="thread_cls"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">thread Class Members</h1>
+ 
+   
+  <div> 
+	 
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"><span class="tabledesc">The following table provides additional information on the members
+		  of this template class. 
+		</span><thead align="left"> 
+			 <tr> 
+				<th class="cellrowborder" valign="top" width="33.89830508474576%" id="d124061e29">Member 
+				</th>
+ 
+				<th class="cellrowborder" valign="top" width="66.10169491525423%" id="d124061e32">Description 
+				</th>
+ 
+			 </tr>
+</thead>
+ 
+		  <tbody> 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d124061e29 "><span class="keyword">thread()</span> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d124061e32 "> 
+				  <p>Constructs a thread that does not represent
+					 a thread of execution, with get_id()==id(). 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d124061e29 "><span class="keyword">template<typename F> thread(F
+					 f)</span> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d124061e32 "> 
+				  <p>Construct a thread that evaluates f() 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d124061e29 "><span class="keyword">template<typename F, typename
+					 X> thread(F f, X x)</span> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d124061e32 "> 
+				  <p>Constructs a thread that evaluates f(x). 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d124061e29 "><span class="keyword">template<typename F, typename X,
+					 typename Y> thread(F f, X x, Y y)</span> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d124061e32 "> 
+				  <p>Constructs thread that evaluates f(x,y). 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d124061e29 "><span class="keyword">thread& operator=(thread&
+					 x)</span> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d124061e32 "> 
+				  <p>If joinable(), calls detach(). Then assigns the state of x to
+					 *this and sets x to default constructed state. 
+				  </p>
+ 
+				  <div class="Note"><h3 class="NoteTipHead">
+					Caution</h3> 
+					 <p> Assignment moves the state instead of copying it. 
+					 </p>
+ 
+				  </div> 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d124061e29 "><span class="keyword">~thread</span> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d124061e32 "> 
+				  <p>if( joinable() ) detach(). 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d124061e29 "><span class="keyword">bool joinable() const</span> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d124061e32 "> 
+				  <p><strong>Returns</strong>: get_id()!=id() 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d124061e29 "><span class="keyword">void join()</span> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d124061e32 "> 
+				  <p><strong>Requirements</strong>: joinable()==true 
+				  </p>
+ 
+				  <p><strong>Effects</strong>: Wait for thread to complete. Afterwards,
+					 joinable()==false. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d124061e29 "><span class="keyword">void detach()</span> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d124061e32 "> 
+				  <p><strong>Requirements</strong>: joinable()==true 
+				  </p>
+ 
+				  <p><strong>Effects</strong>: Sets *this to default constructed state and
+					 returns without blocking. The thread represented by *this continues execution. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d124061e29 "><span class="keyword">id get_id() const</span> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d124061e32 "> 
+				  <p><strong>Returns</strong>: id of the thread, or a default-constructed id
+					 if *this does not represent a thread. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d124061e29 "><span class="keyword">native_handle_type
+					 native_handle()</span> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d124061e32 "> 
+				  <p><strong>Returns</strong>: Native thread handle. The handle is a HANDLE
+					 on Windows* operating systems and a pthread_t on Linux* and OS X* operating
+					 systems. For these systems, native_handle() returns 0 if joinable()==false. 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d124061e29 "><span class="keyword">static unsigned
+					 hardware_concurrency()</span> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d124061e32 "> 
+				  <p><strong>Returns</strong>: The number of hardware
+					 threads. For example, 4 on a system with a single Intel® Core™2 Quad processor.
+					 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+		  </tbody>
+ 
+		</table>
+</div>
+ 
+  </div>
+ 
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../../reference/threads/thread_cls.htm">thread Class</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/reference/threads/thread_id.htm b/doc/help/reference/threads/thread_id.htm
new file mode 100755
index 0000000..f0f6e9a
--- /dev/null
+++ b/doc/help/reference/threads/thread_id.htm
@@ -0,0 +1,71 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="thread::id">
+<meta name="DC.subject" content="thread::id">
+<meta name="keywords" content="thread::id">
+<meta name="DC.Relation" scheme="URI" content="../../reference/threads.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="thread_id">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../intel_css_styles.css">
+<title>thread::id</title>
+</head>
+<body id="thread_id">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(2);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="thread_id"><!-- --></a>
+
+
+    <h1 class="topictitle1">thread::id</h1>
+
+    
+<div>
+        <div class="section"><h2 class="sectiontitle">Summary</h2>
+            
+            <p>Unique identifier for a thread.</p>
+
+            </div>
+<div class="section"><h2 class="sectiontitle">Syntax</h2>
+            <pre>class thread::id;</pre>
+            </div>
+<div class="section"><h2 class="sectiontitle">Header</h2>
+            <pre>#include "tbb/compat/thread"</pre>
+            </div>
+<div class="section"><h2 class="sectiontitle">Description</h2>
+            <p>A <samp class="codeph">thread::id</samp> is an identifier value for a thread that remains unique over the thread's lifetime. A special value <samp class="codeph">thread::id()</samp> represents no thread of execution. The instances are totally ordered. </p>
+
+            </div>
+<div class="section"><h2 class="sectiontitle">Members</h2>
+            <pre>namespace tbb {    
+                    class thread::id {
+                    public:
+                        id();
+                    };
+                    template<typename charT, typename traits>
+                    std::basic_ostream<charT, traits>& 
+                        operator<< (std::basic_ostream<charT, traits> &out,
+                                    thread::id id)
+                        
+                    bool operator==(thread::id x, thread::id y);
+                    bool operator!=(thread::id x, thread::id y);
+                    bool operator<(thread::id x, thread::id y);
+                    bool operator<=(thread::id x, thread::id y);
+                    bool operator>(thread::id x, thread::id y);
+                    bool operator>=(thread::id x, thread::id y);
+                } // namespace tbb</pre></div>
+    
+    </div>
+ 
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../reference/threads.htm">Threads</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/reference/timing.htm b/doc/help/reference/timing.htm
new file mode 100755
index 0000000..66eb8e0
--- /dev/null
+++ b/doc/help/reference/timing.htm
@@ -0,0 +1,53 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="Timing">
+<meta name="DC.subject" content="Timing">
+<meta name="keywords" content="Timing">
+<meta name="DC.Relation" scheme="URI" content="../reference/reference.htm">
+<meta name="DC.Relation" scheme="URI" content="../reference/timing/tick_count_cls.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="timing">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../intel_css_styles.css">
+<title>Timing</title>
+</head>
+<body id="timing">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(1);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="timing"><!-- --></a>
+
+
+    <h1 class="topictitle1">Timing</h1>
+
+    
+<div>
+        <div class="section"><p> Parallel programming is about speeding up <em>wall</em>
+                <em>clock</em> time, which is the real time that it takes a program to run.
+                Unfortunately, some of the obvious wall clock timing routines provided by operating
+                systems do not always work reliably across threads, because the hardware thread
+                clocks are not synchronized. The library provides support for timing across threads.
+                The routines are wrappers around operating services that we have verified as safe to
+                use across threads. </p>
+
+        </div>
+
+</div>
+ 
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../reference/reference.htm">Intel® Threading Building Blocks Reference Manual</a></div>
+</div>
+<div>
+<ul class="ullinks">
+<li class="ulchildlink"><a href="../reference/timing/tick_count_cls.htm">tick_count Class</a><br>
+</li>
+</ul>
+</div>
+
+</body>
+</html>
diff --git a/doc/help/reference/timing/tick_count_cls.htm b/doc/help/reference/timing/tick_count_cls.htm
new file mode 100755
index 0000000..a8e7703
--- /dev/null
+++ b/doc/help/reference/timing/tick_count_cls.htm
@@ -0,0 +1,87 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="tick_count Class">
+<meta name="DC.subject" content="tick_count Class">
+<meta name="keywords" content="tick_count Class">
+<meta name="DC.Relation" scheme="URI" content="../../reference/timing.htm">
+<meta name="DC.Relation" scheme="URI" content="../../reference/timing/tick_count_cls/tick_count_cls_members.htm">
+<meta name="DC.Relation" scheme="URI" content="../../reference/timing/tick_count_cls/tick_count_interval_t_cls.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="tick_count_cls">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../intel_css_styles.css">
+<title>tick_count Class</title>
+</head>
+<body id="tick_count_cls">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(2);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="tick_count_cls"><!-- --></a>
+
+
+    <h1 class="topictitle1">tick_count Class</h1>
+
+    
+<div>
+        <div class="section"><h2 class="sectiontitle">Summary</h2>
+            
+            <p>Class for computing wall-clock times.</p>
+
+            </div>
+<div class="section"><h2 class="sectiontitle">Syntax</h2>
+            <pre>class tick_count;</pre>
+            </div>
+<div class="section"><h2 class="sectiontitle">Header</h2>
+            <pre>#include "tbb/tick_count.h"</pre>
+            </div>
+<div class="section"><h2 class="sectiontitle">Description</h2>
+            <p>A <samp class="codeph">tick_count</samp> is an absolute timestamp. Two <samp class="codeph">tick_count</samp> objects may be subtracted to compute a relative time <samp class="codeph">tick_count::interval_t</samp>, which can be converted to seconds. </p>
+
+            <p>Example</p>
+
+<pre>using namespace tbb;
+    
+    void Foo() {
+        tick_count t0 = tick_count::now();
+        ...action being timed...
+        tick_count t1 = tick_count::now();
+        printf("time for action = %g seconds\n", (t1-t0).seconds() );
+    }</pre>
+            </div>
+<div class="section"><h2 class="sectiontitle">Members</h2>
+<pre>
+ namespace tbb {
+
+        class tick_count {
+        public:
+            class interval_t;
+            static tick_count now();
+            static double resolution();
+        };
+
+        tick_count::interval_t  operator-( const tick_count&  t1, 
+                                           const tick_count& t0 );
+    } // tbb</pre>
+        </div>
+
+</div>
+ 
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../reference/timing.htm">Timing</a></div>
+</div>
+<div>
+<ul class="ullinks">
+<li class="ulchildlink"><a href="../../reference/timing/tick_count_cls/tick_count_cls_members.htm">tick_count Class Members</a><br>
+</li>
+<li class="ulchildlink"><a href="../../reference/timing/tick_count_cls/tick_count_interval_t_cls.htm">tick_count::interval_t Class</a><br>
+</li>
+</ul>
+</div>
+
+</body>
+</html>
diff --git a/doc/help/reference/timing/tick_count_cls/tick_count_cls_members.htm b/doc/help/reference/timing/tick_count_cls/tick_count_cls_members.htm
new file mode 100755
index 0000000..f1c6e78
--- /dev/null
+++ b/doc/help/reference/timing/tick_count_cls/tick_count_cls_members.htm
@@ -0,0 +1,112 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="tick_count Class Members">
+<meta name="DC.subject" content="TestMetaData">
+<meta name="keywords" content="TestMetaData">
+<meta name="DC.Relation" scheme="URI" content="../../../reference/timing/tick_count_cls.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="thread_cls">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../../intel_css_styles.css">
+<title>tick_count Class Members</title>
+</head>
+<body id="thread_cls">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(3);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="thread_cls"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">tick_count Class Members</h1>
+ 
+   
+  <div> 
+      <div class="section">
+	 
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"><span class="tabledesc">The following table provides additional information on the members
+		  of this template class. 
+		</span><thead align="left"> 
+			 <tr> 
+				<th class="cellrowborder" valign="top" width="33.89830508474576%" id="d125237e31">Member 
+				</th>
+ 
+				<th class="cellrowborder" valign="top" width="66.10169491525423%" id="d125237e34">Description 
+				</th>
+ 
+			 </tr>
+</thead>
+ 
+		  <tbody> 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d125237e31 "><span class="keyword">static tick_count now()</span> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d125237e34 "> 
+				  <p>
+                                    Current wall clock timestamp.
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d125237e31 "><span class="keyword">static double resolution()</span> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d125237e34 "> 
+				  <p>
+                                     The resolution of the clock in seconds.
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d125237e31 "><span class="keyword">tick_count::interval_t operator-( const tick_count& t1,
+                                     const tick_count& t0 )</span> 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d125237e34 "> 
+				  <p>
+                                     Relative time that t1 occurred after t0.
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+		  </tbody>
+ 
+		</table>
+</div>
+ 
+         <div class="Note"><h3 class="NoteTipHead">
+					Caution</h3> 
+	        <p> 
+                On Microsoft Windows* operating systems, the current implementation
+                uses the function <samp class="codeph">QueryPerformanceCounter</samp>. Some 
+                systems may have bugs in their basic input/output system (BIOS) or
+                hardware abstraction layer (HAL) that cause different processors to
+                return different time results.
+		</p>
+ 
+         </div> 
+        </div>
+
+  </div>
+ 
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../../reference/timing/tick_count_cls.htm">tick_count Class</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/reference/timing/tick_count_cls/tick_count_interval_t_cls.htm b/doc/help/reference/timing/tick_count_cls/tick_count_interval_t_cls.htm
new file mode 100755
index 0000000..cb3cdcb
--- /dev/null
+++ b/doc/help/reference/timing/tick_count_cls/tick_count_interval_t_cls.htm
@@ -0,0 +1,237 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="reference">
+<meta name="DC.Title" content="tick_count::interval_t Class">
+<meta name="DC.subject" content="tick_count::interval_t Class">
+<meta name="keywords" content="tick_count::interval_t Class">
+<meta name="DC.Relation" scheme="URI" content="../../../reference/timing/tick_count_cls.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="tick_count_interval_t_cls">
+<meta name="DC.Language" content="en-US">
+<link rel="stylesheet" type="text/css" href="../../../intel_css_styles.css">
+<title>tick_count::interval_t Class</title>
+</head>
+<body id="tick_count_interval_t_cls">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(3);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="tick_count_interval_t_cls"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">tick_count::interval_t Class</h1>
+ 
+  
+  <div> 
+	 <div class="section"><h2 class="sectiontitle">Summary</h2> 
+		 
+		<p>Class for relative wall-clock time.
+		</p>
+ 
+	 </div>
+
+	 <div class="section"><h2 class="sectiontitle">Syntax</h2>
+		 
+		<pre>class tick_count::interval_t;</pre> 
+	 </div>
+
+	 <div class="section"><h2 class="sectiontitle">Header</h2>
+		 
+		<pre>#include "tbb/tick_count.h"</pre> 
+	 </div>
+
+	 <div class="section"><h2 class="sectiontitle">Description</h2>
+		 
+		<p>A 
+		  <samp class="codeph">tick_count::interval_t</samp> represents relative wall clock
+		  duration. 
+		</p>
+ 
+	 </div>
+
+	 <div class="section"><h2 class="sectiontitle">Members</h2>
+		
+		<pre>
+namespace tbb {
+
+    class tick_count::interval_t {
+    public:
+        interval_t();
+        explicit interval_t( double sec );
+        double seconds() const;
+        interval_t operator+=( const interval_t& i );
+        interval_t operator-=( const interval_t& i );
+    };
+
+    tick_count::interval_t operator+( 
+        const tick_count::interval_t& i, 
+        const tick_count::interval_t& j );
+
+    tick_count::interval_t operator-( 
+        const tick_count::interval_t& i, 
+        const tick_count::interval_t& j );
+
+} // namespace tbb
+                </pre> 
+		
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"><span class="tabledesc">The following table provides additional information on the
+			 members of this template class. 
+		  </span><thead align="left"> 
+				<tr> 
+				  <th class="cellrowborder" valign="top" width="33.89830508474576%" id="d125500e76">Member 
+				  </th>
+ 
+				  <th class="cellrowborder" valign="top" width="66.10169491525423%" id="d125500e79">Description 
+				  </th>
+ 
+				</tr>
+</thead>
+ 
+			 <tbody> 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d125500e76 "><span class="keyword">interval_t()</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d125500e79 ">
+					 <p>Constructs 
+						<samp class="codeph">interval_t</samp> representing zero time duration.
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d125500e76 "><span class="keyword">interval_t( double sec )</span>
+					 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d125500e79 ">
+					 <p>Constructs 
+						<samp class="codeph">interval_t</samp> representing specified number of
+						seconds.
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d125500e76 "><span class="keyword">double seconds() const</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d125500e79 ">
+					 <p><strong>Returns</strong>: Time interval measured in
+						seconds.
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d125500e76 "><span class="keyword">interval_t operator+=( const
+						interval_t& i )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d125500e79 ">
+					 <p><samp class="codeph">*this = *this + i</samp>
+					 </p>
+ 
+					 <p><strong>Returns</strong>: Reference to 
+						<samp class="codeph">*this</samp>.
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d125500e76 "><span class="keyword">interval_t operator-=( const
+						interval_t& i )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d125500e79 ">
+					 <p><samp class="codeph">*this = *this - i</samp>
+					 </p>
+ 
+					 <p><strong>Returns</strong>: Reference to 
+						<samp class="codeph">*this</samp>.
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d125500e76 "><span class="keyword">interval_t operator+ ( const
+						interval_t& i, const interval_t& j )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d125500e79 ">
+					 <p><strong>Returns</strong>: Interval_t representing
+						sum of intervals 
+						<samp class="codeph"><em>i</em> 
+						</samp>and 
+						<samp class="codeph"><em>j</em></samp>.
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+				<tr> 
+				  <td class="cellrowborder" valign="top" width="33.89830508474576%" headers="d125500e76 "><span class="keyword">interval_t operator- ( const
+						interval_t& i, const interval_t& j )</span> 
+				  </td>
+ 
+				  <td class="cellrowborder" valign="top" width="66.10169491525423%" headers="d125500e79 ">
+					 <p><strong>Returns</strong>
+					 </p>
+ 
+					 <p><samp class="codeph">Interval_t</samp> representing
+						difference of intervals 
+						<samp class="codeph"><em>i</em> 
+						</samp>and<samp class="codeph"> 
+						  <em>j</em>.</samp>
+					 </p>
+ 
+				  </td>
+ 
+				</tr>
+ 
+		
+			 </tbody>
+ 
+		  </table>
+</div>
+
+                <div class="Note"><h3 class="NoteTipHead">
+					Caution</h3> 
+	            <p> 
+                    On Microsoft Windows* operating systems, the current implementation of
+                    <samp class="codeph">tick_count::seconds()</samp> uses the function
+                    <samp class="codeph">QueryPerformanceFrequency</samp>.  Repeated calls to
+                    <samp class="codeph">tick_count::seconds()</samp> result in multiple calls to
+                    <samp class="codeph">QueryPerformanceFrequency</samp>, which can be inefficient.
+                    In tight loops accumulated time should be stored as
+                    <samp class="codeph">tick_count::interval_t</samp> values, with conversion to
+                    <samp class="codeph">tick_count::seconds()</samp> performed outside measured code.
+		    </p>
+ 
+                 </div> 
+	 </div>
+ 
+  </div>
+ 
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../../reference/timing/tick_count_cls.htm">tick_count Class</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/search.js b/doc/help/search.js
new file mode 100755
index 0000000..6846e25
--- /dev/null
+++ b/doc/help/search.js
@@ -0,0 +1,471 @@
+//*==============================================================================
+//*    ** DO NOT REMOVE OR MODIFY THIS COPYRIGHT MESSAGE **
+//*
+//*    Helpware Search 1.1
+//*    Copyright (c) 2004-2011 The Helpware Group
+//*    http://helpware.net/FAR/
+//*    Requires a Modern Browser that supports JavaScript such as Firefox/IE4/GoogleChrome/Opera/Safari/Netscape
+//*    WARNING: You must purchase a copy of FAR HTML v4 or greater to use this file.
+//*
+//*==============================================================================
+//*  31-May-2005: RWC - Fixed Offby one error in highlighting. First word would not highlight. 
+//*  10-June-2009: RWC - All files now saved in UTF-8 file format. Search is now Unicode based. Previously ANSI based.
+//*     - Added reBreakChars to allow multiple text break chars. Was just space char (0x20).
+//*  12-Sept-2011: RWC - Search highlighting now works for all browsers (previously just Internet Explorer).
+//*  04-Sept-2012: RWC - Select first item when result list loads.
+//*
+
+
+//var SearchFiles = ["index.htm","Search_OzNet.html"...
+//var SearchTitles =["Molecular products","OzNet Web"...
+//var SearchIndexes = [["0-0",[128,129,256,257,323]]...
+// ...,["WATER;",[355,361]],["WATER-CIRCULATOR",[383]],...
+
+
+//Options
+var PARAM_PartialMatchOK = true;
+var PARAM_TargetWindow = 'content';
+
+//Globals - SearchResults is an array of Page Indexes
+var SearchResults = [];
+var gFindList = [];
+var gFirstFindCall = true;
+
+//Chars that break words in an entry field   //RWC002 - Space, Ideographic Space
+var reBreakChars = new RegExp( "[\u0020\u3000]{1}", "gi" );    
+
+//------------------------------------------------------------------------------
+// Get Operator Type
+//   text should be Uppercase. Return 0 = normal search text
+//------------------------------------------------------------------------------
+var OPT_AND = 1;
+var OPT_OR  = 2;
+var OPT_NOT = 3;
+function xxGetOpType(text) {
+  if ((text=="NOT")||(text=="!")) return OPT_NOT;
+  else if ((text=="AND")||(text== "&")||(text== "+")) return OPT_AND;
+  else if ((text=="OR")||(text== "|")) return OPT_OR;
+  else return(0);
+  }
+
+
+//----------------------------------------------------------------------------
+// ProcessSearchTerms()
+//----------------------------------------------------------------------------
+// Params
+//   ss -- string of terms to parse and find
+//   DefaultOp - Search Operator to default to for each list term (OPT_OR, OPT_AND, OPT_NOT)
+// Desc
+//   Parse ss string --> String list. Default Return.
+//   Items forced Uppercase (since Database and all calls use uppercase for speed)
+//   User can insert override 'AND', 'OR', 'NOT' into the list of terms to
+//   alter how the next item is searched. After that we go back to Defaultop.
+// Optimization
+//   Pass in SearchIndexes + SearchResults arrays (by ref) so no global lookups - speed up loops
+//----------------------------------------------------------------------------
+function ProcessSearchTerms(ss, DefaultOp) {
+  //Parse string into array
+  var items = ss.split(reBreakChars);
+
+  //----------------------------------------
+  // Remove empty list entried due to multiple spaces passed to split()
+  // Force all items to Uppercase
+  //----------------------------------------
+  var c = 0;
+  for (var i = 0; i < items.length; i++)
+    if (items[i] != "") { items[c] = items[i].toUpperCase(); c++; }
+  items.length = c;
+
+  var CheckOp = true;
+  var otype = DefaultOp;
+  for (var i = 0; i < items.length; i++) {
+
+    //----------------------------------------
+    // Check for Override Operators.
+    // Don't allow Op override if working with NOT terms
+    //----------------------------------------
+    if ((CheckOp) && (DefaultOp != OPT_NOT)) {
+      otype = xxGetOpType(items[i]);
+      CheckOp = (otype == 0);
+      if (CheckOp) otype = DefaultOp;
+      else continue;
+    }
+    CheckOp = true;
+
+    //----------------------------------------
+    // Find Text results ==> SearchResults
+    //----------------------------------------
+    if (otype==OPT_OR)  FindText_OR(items[i], SearchIndexes, SearchResults);
+    if (otype==OPT_AND) FindText_AND(items[i], SearchIndexes, SearchResults);
+    if (otype==OPT_NOT) FindText_DEL(items[i], SearchIndexes, SearchResults);
+
+    //build list of find words
+    if (DefaultOp!=OPT_NOT)
+      gFindList[gFindList.length] = items[i];
+
+    //Clear global flag
+    gFirstFindCall = false;
+  }
+}
+
+//------------------------------------------------------------------------------
+// s1 - Any words (OR) -->> one or more words present in a document is a result. Ie. Get the OR of all word search results.
+// s2 - All words (AND) -->> all words must be present in each result document. Ie. Get the AND of all word search results.
+// s3 - Not these words (NOT) -->> Only makes sense when used with the above. Knock out Topics containing these words.
+// b4 - Partial Word matching is ok - otherwise we match exaclty what is entered
+// s5 - target window -- default = 'content'
+// ----------------------------------------------
+// -- To match similar spellings in a full-text search, select the Match similar words check box.
+//    eg  "add", "adds", and "added".
+// -- To search for words in document titles only, select the Search titles only check box.
+// -- To highlight words in searched topics
+//------------------------------------------------------------------------------
+//  Notes
+//  - DoSearch(s1, s2, s3. partial)
+//     S1 is a string of words separated by spaces. Words are OR'd together
+//     S2 is a string of words separated by spaces. Words are AND'd together
+//     S3 is a string of words separated by spaces. Words are Deleted from other results
+//  - User can override default properties of S1 and S2 by using the following keywords
+//    "OR","|" the next word is OR'd
+//    "AND","&","+" the next word is AND'd
+//    "NOT","!" the next word is removed
+//
+//------------------------------------------------------------------------------
+function DoSearch(s1, s2, s3, b4, s5)
+{
+  //----------------------------------------------------------------------------
+  // Init
+  //   - Reset First AND call flag. The first time must be an OR.
+  //   - Clear SearchResults list
+  //   - Clear target list control
+  //----------------------------------------------------------------------------
+  gFirstFindCall = true;
+  SearchResults.length = 0;
+  gFindList.length = 0;
+  if (document.forms['searchform'].SearchResultList)
+    document.forms['searchform'].SearchResultList.length = 0;
+  PARAM_PartialMatchOK = b4;
+  if (s5 == '') PARAM_TargetWindow = 'content';
+    else PARAM_TargetWindow = s5;
+
+  //----------------------------------------------------------------------------
+  //1. (OR) Find documents with "Any of these Words"  ==> SearchResults
+  //2. (AND) Find documents with "All these Words"  ==> SearchResults
+  //3. (NOT) SearchResults must NOT files containing these words ==> Remove from SearchResults
+  //----------------------------------------------------------------------------
+  ProcessSearchTerms(s1, OPT_OR);
+  ProcessSearchTerms(s2, OPT_AND);
+  ProcessSearchTerms(s3, OPT_NOT);
+  
+  //----------------------------------------------------------------------------
+  // Display SearchResults
+  //----------------------------------------------------------------------------
+  if (SearchResults.length == 0) {
+    alert("No matches found!");
+    return(0); }
+
+  //Search Results list exists  
+  if (document.forms['searchform'].SearchResultList)
+  {
+    //Fill SearchResults List -- 500 item limit same as H1.x and H2.x
+    for(var i=0;((i<SearchResults.length) && (i<500));i++) {
+      var new_option = document.createElement('option');
+      new_option.text = SearchTitles[SearchResults[i]];
+      new_option.text= new_option.text.replace(/\&/g,'&');
+      new_option.value = SearchFiles[SearchResults[i]];
+      document.forms['searchform'].SearchResultList[i]=new_option;
+    }
+
+    //open the first file
+    // ** Comment this line out if you don't want the first Search result displayed automatically ** 
+    OpenResultListDoc();
+
+  }
+  else {
+    ShowSearchResultsWindow();
+  }
+
+  return(SearchResults.length);
+
+}
+
+
+
+//----------------------------------------------------------------------------
+// OR -- Add only Unique items to the SearchResults Array
+//   items - array of Idxs to OR into SearchResults
+//   SearchResults - Pass in by ref to to optomize global scope access
+//----------------------------------------------------------------------------
+function OR_WithSearchResults(items, SearchResults) {
+  var found;
+  for (var i = 0; i < items.length; i++) {
+
+    //Already in list?
+    found = false;
+    for (var k = 0; (k < SearchResults.length) && (!found); k++)
+      if (items[i] == SearchResults[k])
+        found = true;
+
+    //Not in list? Then Add it!
+    if (!found)
+      SearchResults[SearchResults.length] = items[i];
+  }
+}
+
+//----------------------------------------------------------------------------
+// AND -- Keep only the intersection of items and SearchResults
+//   items - array of Idxs to AND into SearchResults
+//   SearchResults - Pass in by ref to to optomize global scope access
+//----------------------------------------------------------------------------
+function AND_WithSearchResults(items, SearchResults) {
+  var count = 0;
+  for (var i = 0; i < SearchResults.length; i++)
+    for (var k = 0; k < items.length; k++) {
+      if (items[k] == SearchResults[i]) {
+        SearchResults[count] = SearchResults[i];
+        count++;
+        break;
+      }
+    }
+  SearchResults.length = count;
+}
+
+//----------------------------------------------------------------------------
+// DEL -- Remove items from SearchResults list
+//   items - array of Idxs to DEL from SearchResults
+//   SearchResults - Pass in by ref to to optomize global scope access
+//----------------------------------------------------------------------------
+function DEL_WithSearchResults(items, SearchResults) {
+  var count = 0;
+  var found; 
+  for (var i = 0; i < SearchResults.length; i++) {
+
+    //Its Delete Item in the Result list?
+    found = false;
+    for (var k = 0; (k < items.length) && (!found); k++)
+      if (items[k] == SearchResults[i]) {
+        found = true;
+        break;
+      }
+
+    //Not Found in delete list? then keep Result
+    if (!found) {
+      SearchResults[count] = SearchResults[i];
+      count++;
+      }
+  }
+  SearchResults.length = count;
+}
+
+
+//----------------------------------------------------------------------------
+// Find Database Text
+// By this stage all strings are Uppercase
+// Optimization
+//   - String Compare - check length the same, and check first char match before
+//     going on to actually do a string compare.
+//   - Pass Global SearchIndexes in instead of accessing out of scope many times
+//----------------------------------------------------------------------------
+
+//Find Text (in SearchIndex passed in by ref) and OR matches into SearchResults list
+function FindText_OR(SrchText, SearchIndexes, SearchResults)
+{
+  if (PARAM_PartialMatchOK) {
+    for(var i=0;i<SearchIndexes.length;i++)
+      if((SearchIndexes[i][0].length >= SrchText.length)
+      && (SearchIndexes[i][0].indexOf(SrchText) >= 0)) {
+        OR_WithSearchResults(SearchIndexes[i][1], SearchResults);
+      }
+  }
+  else {
+    //Not Partial - Fast - Find exact match and break out  
+    for(var i=0;i<SearchIndexes.length;i++)
+      if((SearchIndexes[i][0].length == SrchText.length)
+      && (SearchIndexes[i][0] == SrchText)) {
+        OR_WithSearchResults(SearchIndexes[i][1], SearchResults);
+        break;
+      }
+  }
+}
+
+//Find Text (in SearchIndex passed in by ref) and AND matches into SearchResults list
+function FindText_AND(SrchText, SearchIndexes, SearchResults)
+{
+  //Optimization: Take copy to minimize global out of scope lookups
+  var FirstFindCall = gFirstFindCall;
+
+  //If 2nd or 3rd... item and No SearchResults then Nothing to AND with
+  if ((!FirstFindCall) && (SearchResults.length == 0))
+    return;
+
+  var tempList = [];
+  if (PARAM_PartialMatchOK) {
+    for(var i=0;i<SearchIndexes.length;i++)
+      if((SearchIndexes[i][0].length >= SrchText.length)
+      && (SearchIndexes[i][0].indexOf(SrchText) >= 0))
+        OR_WithSearchResults(SearchIndexes[i][1], tempList);
+  }
+  else {
+    //Not Partial - Fast - Find exact match and break out
+    for(var i=0;i<SearchIndexes.length;i++)
+      if((SearchIndexes[i][0].length == SrchText.length)
+      && (SearchIndexes[i][0] == SrchText)) {
+        OR_WithSearchResults(SearchIndexes[i][1], tempList);
+        //Exact match - we are done
+        break;
+      }
+  }
+
+  //Add Results
+  //1st call wont have results yet -- We must OR into SearchResults as AND would not do nothing
+  if (tempList.length >= 0) {
+    if (FirstFindCall)
+      OR_WithSearchResults(tempList, SearchResults);
+    else
+      AND_WithSearchResults(tempList, SearchResults);
+  }
+  else
+    //No Results + not first call -- AND will wipe out all results
+    if (!FirstFindCall)
+      SearchResults.length = 0;
+}
+
+
+//Find Text (in SearchIndex passed in by ref) and DELETE matches from SearchResults list
+function FindText_DEL(SrchText, SearchIndexes, SearchResults)
+{
+  //first check there is something to delete from
+  if (SearchResults.length)
+    for(var i=0;i<SearchIndexes.length;i++)
+      if((SearchIndexes[i][0].length == SrchText.length)
+      &&(SearchIndexes[i][0]==SrchText)) {
+
+        //Send match words idx array off to be deleted from SearchResults
+        DEL_WithSearchResults(SearchIndexes[i][1], SearchResults);
+
+        //We found the word and its idx array data -- Jobs done
+        break;
+      }
+}
+
+
+
+//------------------------------------------------------------------------------
+// Highlight search hits
+//------------------------------------------------------------------------------
+
+var targetWin = null;
+var highlightStartTag = "<span style='background-color:#FFFF00;color:#222222;'>";  //yellow highlight
+var highlightEndTag = "</span>";
+
+//------------------------------------------------------------------------------
+// Highlight text by adding HTML tags before and after all occurrences of the search term.
+// Acknowledgments: Thank you Sujit Kumar Shah - http://www.sks.com.np/article/14/pure-javascript-search-and-text-highlighting.html
+//------------------------------------------------------------------------------
+function doHighlight(bodyText, searchTerm) 
+{
+  var newText = "";
+  var i = -1;
+  var lcSearchTerm = searchTerm.toLowerCase();
+  var lcBodyText = bodyText.toLowerCase();
+    
+  while (bodyText.length > 0) {
+    i = lcBodyText.indexOf(lcSearchTerm, i+1);
+    if (i < 0) {
+      newText += bodyText;
+      bodyText = "";
+    } else {
+      // skip anything inside an HTML tag
+      if (bodyText.lastIndexOf(">", i) >= bodyText.lastIndexOf("<", i)) {
+        // skip anything inside a <script> block
+        if (lcBodyText.lastIndexOf("/script>", i) >= lcBodyText.lastIndexOf("<script", i)) {
+          newText += bodyText.substring(0, i) + highlightStartTag + bodyText.substr(i, searchTerm.length) + highlightEndTag;
+          bodyText = bodyText.substr(i + searchTerm.length);
+          lcBodyText = bodyText.toLowerCase();
+          i = -1;
+        }
+      }
+    }
+  }
+  return newText;
+}
+
+// Highlight search terms
+function HighlightTopic() {
+  var bodyText = targetWin.document.body.innerHTML;
+  for(var k = 0; k < gFindList.length; k++) {
+    bodyText = doHighlight(bodyText, gFindList[k]);
+  }
+  targetWin.document.body.innerHTML = bodyText;
+}
+
+//------------------------------------------------------------------------------
+// Open List item in Browser - Target = PARAM_TargetWindow
+//------------------------------------------------------------------------------
+function OpenResultListDoc() {
+  //Something selected in the search result list?
+  var iSelect = document.forms['searchform'].SearchResultList.selectedIndex;
+  if (iSelect < 0) {
+    iSelect = 0;
+    document.forms['searchform'].SearchResultList.selectedIndex = 0;
+  }
+
+  //Open the selected file
+  if (window.navigator.userAgent.indexOf("Netscape") > 0) {
+    top.right.location.href = document.forms['searchform'].SearchResultList.options[iSelect].value;
+    targetWin = top.right.window;
+  }
+  else //all other browsers
+    targetWin = open(document.forms['searchform'].SearchResultList.options[iSelect].value, PARAM_TargetWindow);
+
+  //Highlight search hits on a delay
+  if (targetWin)
+    setTimeout('HighlightTopic()',1000);
+}
+
+
+//------------------------------------------------------------------------------
+// Search Results Window -- called if user does not
+//  -- 500 item limit same as H1.x and H2.x
+//------------------------------------------------------------------------------
+function ShowSearchResultsWindow() {
+  var newWindow = window.open("about:blank", "searchValue", "width=500, height=300, resizable=yes, maximizable=no, status=yes, scrollbars=yes");
+  newWindow.document.write('<html>\n<head>\n<title>Search Results</title>\n');
+  newWindow.document.write('</head>\n');
+  newWindow.document.write('<body>\n');
+
+  //Fill SearchResults List
+  for(var i=0;((i<SearchResults.length) && (i<500));i++) {
+    //Search Topic Title
+    var aTitle = SearchTitles[SearchResults[i]];
+    //URL
+    var aURL = SearchFiles[SearchResults[i]];
+
+    newWindow.document.write('<p>Title: '+ aTitle +'<br>\n');
+    newWindow.document.write('URL: <a href="'+ aURL +'">'+aURL+'</a></p>\n');
+  }
+
+  newWindow.document.write("</body>\n");
+  newWindow.document.write("</html>\n");
+  newWindow.document.close();
+//  self.name = "main";
+}
+
+//------------------------------------------------------------------------------
+// Other Script
+//------------------------------------------------------------------------------
+function CloseNavPane() {
+  if ((top.content.location == null) || (top.content.location == undefined) || (typeof(top.content.location.href) != "string") || (top.content.location.href == ""))
+    top.location="index.htm";   //can't work out the current content file - return home
+  else
+    top.location=top.content.location;
+}
+
+
+//------------------------------------------------------------------------------
+//
+//------------------------------------------------------------------------------
+
+
+
+
diff --git a/doc/help/searchdata.js b/doc/help/searchdata.js
new file mode 100755
index 0000000..22c0fa5
--- /dev/null
+++ b/doc/help/searchdata.js
@@ -0,0 +1,13 @@
+//===================================================================
+// Search data file create by FAR HTML: 22.01.2014 22:51:51
+// FAR is copyright (c) 2000-2009, Robert Chandler, The Helpware Group
+// Web Site: http://www.helpwaregroup.com/products/far
+//===================================================================
+
+var SearchFiles = ["main/Benefits.htm","main/help_support.htm","main/introducing.htm","main/legal_information.htm","main/notation.htm","main/title.htm","reference/algorithms.htm","reference/appendices.htm","reference/containers_overview.htm","reference/environment.htm","reference/exceptions.htm","reference/flow_graph.htm","reference/general_conventions.htm","reference/introducing.htm","reference/memory_allocation.htm","reference/reference.htm","reference/synchronization.htm","reference/t [...]
+
+var SearchTitles = ["Intel® Threading Building Blocks Benefits","Getting Help and Support","Introducing Intel® Threading Building Blocks","Legal Information","Notational Conventions","Intel® Threading Building Blocks Documentation","Algorithms","Appendices","Containers Overview","Environment","Exceptions","Flow Graph","General Conventions","Introducing Intel® Threading Building Blocks","Memory Allocation","Intel® Threading Building Blocks Reference Manual","Synchronization","Task Groups" [...]
+
+var SearchIndexes = [["-",[3,5,48,68,75,87,88,138,172,178,200,215,217,238,244,251,260,286,298,309]],["--",[244]],["&",[20,22,23,25,27,28,29,36,39,45,61,66,70,73,84,85,89,94,97,120,167,172,173,193,194,197,220,221,222,227,232,234,239,249,252,254,256,259,265,279,280,287,308,310,321]],["&#XA0;",[129]],["&&",[145,260,308,323]],["&);",[55,65,97]],["&A",[73,84,85,89,94,98,120]],["&A)",[170]],["&A;",[286,289]],["&B)",[94]],["&B);",[84,94]],["&C",[222,230]],["&C);",[222]],["&C.X);",[286,289]],["& [...]
+//debug_FilesScanned=324
+//debug_UniqueWordsFound=8951
diff --git a/doc/help/tbb_userguide/Advanced_Example.htm b/doc/help/tbb_userguide/Advanced_Example.htm
new file mode 100755
index 0000000..b826f2c
--- /dev/null
+++ b/doc/help/tbb_userguide/Advanced_Example.htm
@@ -0,0 +1,124 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="Advanced Example">
+<meta name="DC.subject" content="Advanced Example">
+<meta name="keywords" content="Advanced Example">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/Parallelizing_Simple_Loops.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="tutorial_Advanced_Example">
+<link rel="stylesheet" type="text/css" href="../intel_css_styles.css">
+<title>Advanced Example</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="tutorial_Advanced_Example">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(1);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="tutorial_Advanced_Example"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Advanced Example</h1>
+ 
+   
+  <div> 
+	 <p>An example of a more advanced associative operation is to find the index
+		where 
+		<samp class="codeph">Foo(i)</samp> is minimized. A serial version might look like
+		this: 
+	 </p>
+ 
+	 <pre>long SerialMinIndexFoo( const float a[], size_t n ) {
+    float value_of_min = FLT_MAX;        // FLT_MAX from <climits>
+    long index_of_min = -1;
+    for( size_t i=0; i<n; ++i ) {
+        float value = Foo(a[i]);
+        if( value<value_of_min ) {
+            value_of_min = value;
+            index_of_min = i;
+        }
+    }  
+    return index_of_min;
+}</pre> 
+	 <p>The loop works by keeping track of the minimum value found so far, and
+		the index of this value. This is the only information carried between loop
+		iterations. To convert the loop to use 
+		<samp class="codeph">parallel_reduce</samp>, the function object must keep track of
+		the carried information, and how to merge this information when iterations are
+		spread across multiple threads. Also, the function object must record a pointer
+		to 
+		<samp class="codeph">a</samp> to provide context. 
+	 </p>
+ 
+	 <p>The following code shows the complete function object. 
+	 </p>
+ 
+	 <pre>class MinIndexFoo {
+    const float *const my_a;
+public:
+    float value_of_min;
+    long index_of_min; 
+    void operator()( const blocked_range<size_t>& r ) {
+        const float *a = my_a;
+        for( size_t i=r.begin(); i!=r.end(); ++i ) {
+           float value = Foo(a[i]);    
+           if( value<value_of_min ) {
+               value_of_min = value;
+               index_of_min = i;
+           }
+        }
+    <span style="color:blue"><strong>}</strong></span>
+ 
+    MinIndexFoo( MinIndexFoo& x, split ) : 
+        my_a(x.my_a), 
+        value_of_min(FLT_MAX),    // FLT_MAX from <climits>
+        index_of_min(-1) 
+   {}
+ 
+    void join( const SumFoo& y ) {
+        if( y.value_of_min<value_of_min ) {
+            value_of_min = y.value_of_min;
+            index_of_min = y.index_of_min;
+        }
+    }
+             
+    MinIndexFoo( const float a[] ) :
+        my_a(a), 
+        value_of_min(FLT_MAX),    // FLT_MAX from <climits>
+        index_of_min(-1),
+    {}
+};</pre> 
+	 <p>Now 
+		<samp class="codeph">SerialMinIndex</samp> can be rewritten using 
+		<samp class="codeph">parallel_reduce</samp> as shown below: 
+	 </p>
+ 
+	 <pre>long ParallelMinIndexFoo( float a[], size_t n ) {
+    MinIndexFoo mif(a);
+    parallel_reduce(blocked_range<size_t>(0,n), mif );
+<span style="color:blue">   </span> return <span style="color:blue"><strong>mif.</strong></span>index_of_min<span style="color:blue"><strong>;</strong></span>
+}</pre> 
+	 <p>The directory 
+		<samp class="codeph">examples/parallel_reduce/primes</samp> contains a prime number
+		finder based on 
+		<samp class="codeph">parallel_reduce</samp>. 
+	 </p>
+ 
+  </div>
+ 
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../tbb_userguide/Parallelizing_Simple_Loops.htm">Parallelizing Simple Loops</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/tbb_userguide/Advanced_Idiom_Waiting_on_an_Element.htm b/doc/help/tbb_userguide/Advanced_Idiom_Waiting_on_an_Element.htm
new file mode 100755
index 0000000..351dda5
--- /dev/null
+++ b/doc/help/tbb_userguide/Advanced_Idiom_Waiting_on_an_Element.htm
@@ -0,0 +1,125 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="Advanced Idiom: Waiting on an Element">
+<meta name="DC.subject" content="Advanced Idiom: Waiting on an Element">
+<meta name="keywords" content="Advanced Idiom: Waiting on an Element">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/concurrent_vector.htm">
+<meta name="DC.Relation" scheme="URI" content="Memory_Consistency.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="tutorial_Advanced_Idiom_Waiting_on_an_Element">
+<link rel="stylesheet" type="text/css" href="../intel_css_styles.css">
+<title>Advanced Idiom: Waiting on an Element</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="tutorial_Advanced_Idiom_Waiting_on_an_Element">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(1);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="tutorial_Advanced_Idiom_Waiting_on_an_Element"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Advanced Idiom: Waiting on an Element</h1>
+ 
+   
+  <div> 
+	 <p>Sometimes a thread must wait for an element 
+		<samp class="codeph"><var>v</var>[<var>i</var>]</samp> that is being
+		asynchronously added by another thread. The following idiom can be used for the
+		wait: 
+	 </p>
+ 
+	 <ol> 
+		<li> 
+		  <p>Wait until 
+			 <samp class="codeph"><var>i</var><<var>v</var>.size()</samp>.
+			 Afterwards, 
+			 <samp class="codeph"><var>v</var>[<var>i</var>]</samp> is known
+			 to be allocated, but perhaps not constructed. 
+		  </p>
+ 
+		</li>
+ 
+		<li> 
+		  <p>Wait for 
+			 <samp class="codeph"><var>v</var>[<var>i</var>]</samp> to be
+			 constructed. 
+		  </p>
+ 
+		</li>
+ 
+	 </ol>
+ 
+	 <p>A good way to do step 2 is to wait for an atomic flag in the element to
+		become non-zero. Sometimes the entire element is the flag. To ensure that the
+		flag is zero until the element is constructed, do the following: 
+	 </p>
+ 
+	 <ul type="disc"> 
+		<li> 
+		  <p>Instantiate 
+			 <samp class="codeph">concurrent_vector</samp> with an allocator that allocates
+			 zeroed memory, such as 
+			 <samp class="codeph">tbb::zero_allocator</samp>. 
+		  </p>
+ 
+		</li>
+ 
+		<li> 
+		  <p>Making the element constructor set the flag to non-zero as its last
+			 action. 
+		  </p>
+ 
+		</li>
+ 
+	 </ul>
+ 
+	 <p>Below is an example where the vector elements are atomic pointers. It
+		assumes that pointers added to the vector are non-NULL, hence the flag is the
+		pointer itself. 
+	 </p>
+ 
+<pre>#include ″tbb/compat/thread″
+#include ″tbb/tbb_allocator.h″ // zero_allocator defined here
+#include ″tbb/atomic.h″
+#include ″tbb/concurrent_vector.h″
+ 
+using namespace tbb;
+typedef concurrent_vector<atomic<Foo*>, zero_allocator<atomic<Foo*> > > FooVector;
+ 
+Foo* FetchElement( const FooVector& v, size_t i ) {
+    // Wait for ith element to be allocated
+    while( i>=v.size() )
+        std::this_thread::yield();
+    // Wait for ith element to be constructed
+    while( v[i]==NULL )
+        std::this_thread::yield();
+    return v[i];
+}</pre>
+	 <p>In general, the flag must be an atomic type to ensure proper memory
+		consistency. 
+	 </p>
+ 
+  </div>
+ 
+  
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../tbb_userguide/concurrent_vector.htm">concurrent_vector</a></div>
+</div>
+<div class="See Also">
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="Memory_Consistency.htm">Memory Consistency 
+		  </a></div></div>
+</div> 
+
+</body>
+</html>
diff --git a/doc/help/tbb_userguide/Advanced_Topic_Other_Kinds_of_Iteration_Spaces.htm b/doc/help/tbb_userguide/Advanced_Topic_Other_Kinds_of_Iteration_Spaces.htm
new file mode 100755
index 0000000..6243c16
--- /dev/null
+++ b/doc/help/tbb_userguide/Advanced_Topic_Other_Kinds_of_Iteration_Spaces.htm
@@ -0,0 +1,123 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="Advanced Topic: Other Kinds of Iteration Spaces">
+<meta name="DC.subject" content="Advanced Topic: Other Kinds of Iteration Spaces">
+<meta name="keywords" content="Advanced Topic: Other Kinds of Iteration Spaces">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/Parallelizing_Simple_Loops.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="tutorial_Advanced_Topic_Other_Kinds_of_Iteration_Spaces">
+<link rel="stylesheet" type="text/css" href="../intel_css_styles.css">
+<title>Advanced Topic: Other Kinds of Iteration Spaces</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="tutorial_Advanced_Topic_Other_Kinds_of_Iteration_Spaces">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(1);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="tutorial_Advanced_Topic_Other_Kinds_of_Iteration_Spaces"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Advanced Topic: Other Kinds of Iteration Spaces</h1>
+ 
+  
+  <div>
+	 <p>The examples so far have used the class 
+		<samp class="codeph">blocked_range<T></samp> to specify ranges. This class is
+		useful in many situations, but it does not fit every situation. You can use
+		Intel® Threading Building Blocks to define your own iteration space objects.
+		The object must specify how it can be split into subspaces by providing two
+		methods and a "splitting constructor". If your class is called 
+		<samp class="codeph">R</samp>, the methods and constructor could be as follows:
+	 </p>
+
+	 <pre>class R {
+    // True if range is empty
+    bool empty() const;
+    // True if range can be split into non-empty subranges
+    bool is_divisible() const;
+    // Split r into subranges r and *this
+    R( R& r, split );
+    ...
+};</pre>
+	 <p>The method 
+		<samp class="codeph">empty</samp> should return true if the range is empty. The
+		method 
+		<samp class="codeph">is_divisible</samp> should return true if the range can be
+		split into two non-empty subspaces, and such a split is worth the overhead. The
+		splitting constructor should take two arguments: 
+	 </p>
+ 
+	 <ul type="disc">
+		<li>
+		  <p>The first of type 
+			 <samp class="codeph">R</samp> 
+		  </p>
+
+		</li>
+
+		<li>
+		  <p>The second of type 
+	 <span class="option">tbb::split</span>
+	 </p>
+
+	 </li>
+
+	 </ul>
+
+	 <p>The second argument is not used; it serves only to distinguish the
+		constructor from an ordinary copy constructor. The splitting constructor should
+		attempt to split 
+		<samp class="codeph">r</samp> roughly into two halves, and update 
+		<samp class="codeph">r</samp> to be the first half, and let constructed object be
+		the second half. The two halves should be non-empty. The parallel algorithm
+		templates call the splitting constructor on 
+		<samp class="codeph">r</samp> only if 
+		<samp class="codeph">r.is_divisible</samp> is true. 
+	 </p>
+
+	 <p>The iteration space does not have to be linear. Look at 
+		<samp class="codeph">tbb/blocked_range2d.h</samp> for an example of a range that is
+		two-dimensional. Its splitting constructor attempts to split the range along
+		its longest axis. When used with 
+		<samp class="codeph">parallel_for</samp>, it causes the loop to be "recursively
+		blocked" in a way that improves cache usage. This nice cache behavior means
+		that using 
+		<samp class="codeph">parallel_for</samp> over a 
+		<samp class="codeph">blocked_range2d<T></samp> can make a loop run faster than
+		the sequential equivalent, even on a single processor.
+	 </p>
+
+	 <div class="section"><h2 class="sectiontitle">Code Samples</h2>
+		
+		<p>The directory 
+		  <samp class="codeph">examples/parallel_for/seismic</samp> contains a simple
+		  seismic wave simulation based on 
+		  <samp class="codeph">parallel_for</samp> and 
+		  <samp class="codeph">blocked_range</samp>. The directory 
+		  <samp class="codeph">examples/parallel_for/tachyon</samp> contains a more complex
+		  example of a ray tracer based on 
+		  <samp class="codeph">parallel_for</samp> and 
+		  <samp class="codeph">blocked_range2d</samp>.
+		</p>
+
+	 </div>
+
+  </div>
+
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../tbb_userguide/Parallelizing_Simple_Loops.htm">Parallelizing Simple Loops</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/tbb_userguide/Atomic_Operations.htm b/doc/help/tbb_userguide/Atomic_Operations.htm
new file mode 100755
index 0000000..a446990
--- /dev/null
+++ b/doc/help/tbb_userguide/Atomic_Operations.htm
@@ -0,0 +1,388 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="Atomic Operations">
+<meta name="DC.subject" content="Atomic Operations">
+<meta name="keywords" content="Atomic Operations">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/title.htm">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/Why_atomic_T_Has_No_Constructors.htm">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/Memory_Consistency.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="tutorial_Atomic_Operations">
+<link rel="stylesheet" type="text/css" href="../intel_css_styles.css">
+<title>Atomic Operations</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="tutorial_Atomic_Operations">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(1);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="tutorial_Atomic_Operations"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Atomic Operations</h1>
+ 
+  
+  <div>
+	 <p>You can avoid mutual exclusion using atomic operations. When a thread
+		performs an atomic operation, the other threads see it as happening
+		instantaneously. The advantage of atomic operations is that they are relatively
+		quick compared to locks, and do not suffer from deadlock and convoying. The
+		disadvantage is that they only do a limited set of operations, and often these
+		are not enough to synthesize more complicated operations efficiently. But
+		nonetheless you should not pass up an opportunity to use an atomic operation in
+		place of mutual exclusion. Class 
+		<samp class="codeph">atomic<<var>T</var>></samp> implements atomic
+		operations with C++ style.
+	 </p>
+
+	 <p>A classic use of atomic operations is for thread-safe reference
+		counting. Suppose x is a reference count of type 
+		<samp class="codeph">int</samp>, and the program needs to take some action when the
+		reference count becomes zero. In single-threaded code, you could use a plain 
+		<samp class="codeph">int</samp> for x, and write 
+		<samp class="codeph">--x; if(x==0) action().</samp> But this method might fail for
+		multithreaded code, because two threads might interleave their operations as
+		shown in the following table, where t<sub>a</sub> and t<sub>b</sub> represent
+		machine registers, and time progresses downwards:
+	 </p>
+ 
+	 
+<div class="tablenoborder"><a name="tbl12"><!-- --></a><table cellpadding="4" summary="" id="tbl12" width="100%" frame="border" border="1" cellspacing="0" rules="all"><caption><span class="tablecap">Interleaving of Machine Instructions</span></caption> 
+	 <thead align="left"> 
+		<tr> 
+		  <th class="cellrowborder" valign="top" width="53.92156862745098%" id="d126840e63">
+			 <p>Thread A
+			 </p>
+
+		  </th>
+ 
+		  <th class="cellrowborder" valign="top" width="46.07843137254902%" id="d126840e69">
+			 <p>Thread B
+			 </p>
+
+		  </th>
+
+		</tr>
+</thead>
+ 
+	 <tbody> 
+		<tr> 
+		  <td class="cellrowborder" valign="top" width="53.92156862745098%" headers="d126840e63 ">
+			 <pre>t<sub>a</sub>  = x</pre>
+		  </td>
+ 
+		  <td class="cellrowborder" valign="top" width="46.07843137254902%" headers="d126840e69 ">
+			 <pre> </pre>
+		  </td>
+
+		</tr>
+ 
+		<tr> 
+		  <td class="cellrowborder" valign="top" width="53.92156862745098%" headers="d126840e63 ">
+			 <pre> </pre>
+		  </td>
+ 
+		  <td class="cellrowborder" valign="top" width="46.07843137254902%" headers="d126840e69 ">
+			 <pre>t<sub>b</sub> = x</pre>
+		  </td>
+
+		</tr>
+ 
+		<tr> 
+		  <td class="cellrowborder" valign="top" width="53.92156862745098%" headers="d126840e63 ">
+			 <pre>x = t<sub>a</sub> -<sub> </sub>1</pre>
+		  </td>
+ 
+		  <td class="cellrowborder" valign="top" width="46.07843137254902%" headers="d126840e69 ">
+			 <pre> </pre>
+		  </td>
+
+		</tr>
+ 
+		<tr> 
+		  <td class="cellrowborder" valign="top" width="53.92156862745098%" headers="d126840e63 ">
+			 <pre> </pre>
+		  </td>
+ 
+		  <td class="cellrowborder" valign="top" width="46.07843137254902%" headers="d126840e69 ">
+			 <pre>x = t<sub>b</sub> –<sub> </sub>1</pre>
+		  </td>
+
+		</tr>
+ 
+		<tr> 
+		  <td class="cellrowborder" valign="top" width="53.92156862745098%" headers="d126840e63 ">
+			 <pre>if( x==0 )</pre>
+		  </td>
+ 
+		  <td class="cellrowborder" valign="top" width="46.07843137254902%" headers="d126840e69 ">
+			 <pre> </pre>
+		  </td>
+
+		</tr>
+ 
+		<tr> 
+		  <td class="cellrowborder" valign="top" width="53.92156862745098%" headers="d126840e63 ">
+			 <pre> </pre>
+		  </td>
+ 
+		  <td class="cellrowborder" valign="top" width="46.07843137254902%" headers="d126840e69 ">
+			 <pre>if( x==0 )</pre>
+		  </td>
+
+		</tr>
+
+	 </tbody>
+
+  </table>
+</div>
+
+  <p>Though the code intended for 
+	 <samp class="codeph">x</samp> to be decremented twice, it ends up with only one less
+	 than its original value. Also, another problem results because the test of 
+	 <var>x</var> is separate from the decrement: If 
+	 <var>x</var> starts out as two, and both threads decrement 
+	 <var>x</var> before either thread evaluates the 
+	 <samp class="codeph">if</samp> condition, 
+	 <em>both</em> threads would call 
+	 <samp class="codeph">action()</samp>. To correct this problem, you need to ensure that
+	 only one thread at a time does the decrement 
+	 <em>and</em> ensure that the value checked by the "if" is the result of the
+	 decrement. You can do this by introducing a mutex, but it is much faster and
+	 simpler to declare 
+	 <var>x</var> as 
+	 <samp class="codeph">atomic<int></samp> and write
+	 "<samp class="codeph">if(--<var>x</var>==0) action()</samp>". The method 
+	 <samp class="codeph">atomic<int>::operator--</samp> acts atomically; no other
+	 thread can interfere.
+  </p>
+
+  <p><samp class="codeph">atomic<<var>T</var>></samp> supports atomic
+	 operations on type 
+	 <var>T</var>, which must be an integral, enumeration, or pointer
+	 type. There are five fundamental operations supported, with additional
+	 interfaces in the form of overloaded operators for syntactic convenience. For
+	 example, 
+	 <samp class="codeph">++</samp>, 
+	 <samp class="codeph">--</samp>, 
+	 <samp class="codeph">-=</samp>, and 
+	 <samp class="codeph">+=</samp> operations on 
+	 <samp class="codeph">atomic<<var>T</var>></samp> are all forms of the
+	 fundamental operation 
+	 <em>fetch-and-add</em>. The following are the five fundamental operations on
+	 a variable 
+	 <var>x</var> of type 
+	 <samp class="codeph">atomic<<var>T</var>></samp>.
+  </p>
+ 
+  
+<div class="tablenoborder"><a name="tbl13"><!-- --></a><table cellpadding="4" summary="" id="tbl13" width="100%" frame="border" border="1" cellspacing="0" rules="all"><caption><span class="tablecap">Fundamental Operations on a Variable x of Type atomic<T></span></caption> 
+	 <tbody> 
+		<tr> 
+		  <td class="cellrowborder" valign="top" width="30%">
+			 <p><samp class="codeph">= 
+				  <var>x</var></samp>
+			 </p>
+
+		  </td>
+ 
+		  <td class="cellrowborder" valign="top" width="70%">
+			 <p>read the value of 
+				<var>x</var>
+			 </p>
+
+		  </td>
+
+		</tr>
+ 
+		<tr> 
+		  <td class="cellrowborder" valign="top" width="30%">
+			 <p><samp class="codeph"><var>x</var>=</samp>
+			 </p>
+
+		  </td>
+ 
+		  <td class="cellrowborder" valign="top" width="70%">
+			 <p>write the value of 
+				<var>x</var>, and return it
+			 </p>
+
+		  </td>
+
+		</tr>
+ 
+		<tr> 
+		  <td class="cellrowborder" valign="top" width="30%">
+			 <p><samp class="codeph"><var>x</var>.fetch_and_store(y)</samp>
+			 </p>
+
+		  </td>
+ 
+		  <td class="cellrowborder" valign="top" width="70%">
+			 <p>do 
+				<samp class="codeph"><var>x</var>=<var>y</var></samp> and
+				return the old value of 
+				<var>x</var>
+			 </p>
+
+		  </td>
+
+		</tr>
+ 
+		<tr> 
+		  <td class="cellrowborder" valign="top" width="30%">
+			 <p><samp class="codeph"><var>x</var>.fetch_and_add(<var>y</var>)</samp>
+			 </p>
+
+		  </td>
+ 
+		  <td class="cellrowborder" valign="top" width="70%">
+			 <p>do 
+				<samp class="codeph"><var>x</var>+=<var>y</var></samp> and
+				return the old value of 
+				<var>x</var>
+			 </p>
+
+		  </td>
+
+		</tr>
+ 
+		<tr> 
+		  <td class="cellrowborder" valign="top" width="30%">
+			 <p><samp class="codeph"><var>x</var>.compare_and_swap(<var>y</var>,<var>z</var>)</samp>
+			 </p>
+
+		  </td>
+ 
+		  <td class="cellrowborder" valign="top" width="70%">
+			 <p>if 
+				<var>x</var> equals 
+				<var>z</var>, then do 
+				<samp class="codeph"><var>x</var>=<var>y</var></samp>. In
+				either case, return old value of 
+				<var>x</var>.
+			 </p>
+
+		  </td>
+
+		</tr>
+
+	 </tbody>
+
+  </table>
+</div>
+
+  <p>Because these operations happen atomically, they can be used safely
+	 without mutual exclusion. Consider the following example:
+  </p>
+
+  <pre>atomic<unsigned> counter;
+ 
+unsigned GetUniqueInteger() {
+    return counter.fetch_and_add(1);
+}</pre>
+  <p>The routine 
+	 <samp class="codeph">GetUniqueInteger</samp> returns a different integer each time it
+	 is called, until the counter wraps around. This is true no matter how many
+	 threads call 
+	 <samp class="codeph">GetUniqueInteger</samp> simultaneously. 
+  </p>
+
+  <p>The operation 
+	 <samp class="codeph">compare_and_swap</samp> is a fundamental operation to many
+	 non-blocking algorithms. A problem with mutual exclusion is that if a thread
+	 holding a lock is suspended, all other threads are blocked until the holding
+	 thread resumes. Non-blocking algorithms avoid this problem by using atomic
+	 operations instead of locking. They are generally complicated and require
+	 sophisticated analysis to verify. However, the following idiom is
+	 straightforward and worth knowing. It updates a shared variable 
+	 <samp class="codeph">globalx</samp> in a way that is somehow based on its old value:
+  </p>
+
+  <pre>atomic<int> globalx;
+ 
+int UpdateX() {      // Update x and return old value of x.
+    do {
+        // Read globalX
+        oldx = globalx;
+        // Compute new value 
+        newx = ...expression involving oldx....
+        // Store new value if another thread has not changed globalX.
+    } while( globalx.compare_and_swap(newx,oldx)!=oldx );
+    return oldx;
+}</pre>
+  <p>Worse, some threads iterate the loop until no other thread interferes.
+	 Typically, if the update takes only a few instructions, the idiom is faster
+	 than the corresponding mutual-exclusion solution. 
+  </p>
+
+  <div class="Note"><h3 class="NoteTipHead">
+					Caution</h3>
+	 <p>If the following sequence thwarts your intent, then the update idiom is
+		inappropriate:
+	 </p>
+ 
+	 <ol>
+		<li>
+		  <p>A thread reads a value 
+			 <var>A</var> from 
+			 <samp class="codeph">globalx</samp>
+		  </p>
+
+		</li>
+
+		<li>
+		  <p>Other threads change 
+			 <samp class="codeph">globalx</samp> from 
+			 <var>A</var> to 
+			 <var>B</var> to 
+			 <var>A</var>
+		  </p>
+
+		</li>
+
+		<li>
+		  <p>The thread in step 1 does its 
+			 <samp class="codeph">compare_and_swap</samp>, reading 
+			 <var>A</var> and thus not detecting the intervening change to
+			 
+			 <var>B</var>. 
+		  </p>
+
+		</li>
+
+	 </ol>
+
+  </div>
+  <p>The problem is called the 
+	 <em>ABA</em> 
+	 <em>problem</em>. It is frequently a problem in designing non-blocking
+	 algorithms for linked data structures. See the Internet for more information.
+  </p>
+
+  </div>
+
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../tbb_userguide/title.htm">Intel® Threading Building Blocks (Intel® TBB) User Guide</a></div>
+</div>
+<div>
+<ul class="ullinks">
+<li class="ulchildlink"><a href="../tbb_userguide/Why_atomic_T_Has_No_Constructors.htm">Why atomic<T> Has No Constructors in C++03 mode</a><br>
+</li>
+<li class="ulchildlink"><a href="../tbb_userguide/Memory_Consistency.htm">Memory Consistency</a><br>
+</li>
+</ul>
+</div>
+
+</body>
+</html>
diff --git a/doc/help/tbb_userguide/Automatic_Chunking.htm b/doc/help/tbb_userguide/Automatic_Chunking.htm
new file mode 100755
index 0000000..160c253
--- /dev/null
+++ b/doc/help/tbb_userguide/Automatic_Chunking.htm
@@ -0,0 +1,73 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="Automatic Chunking">
+<meta name="DC.subject" content="Automatic Chunking">
+<meta name="keywords" content="Automatic Chunking">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/parallel_for.htm">
+<meta name="DC.Relation" scheme="URI" content="Controlling_Chunking.htm#tutorial_Controlling_Chunking">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="tutorial_Automatic_Chunking">
+<link rel="stylesheet" type="text/css" href="../intel_css_styles.css">
+<title>Automatic Chunking</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="tutorial_Automatic_Chunking">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(1);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="tutorial_Automatic_Chunking"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Automatic Chunking</h1>
+ 
+   
+  <div> 
+	 <p>A parallel loop construct incurs overhead cost for every chunk of work
+		that it schedules. Since version 2.2, Intel® Threading Building Blocks (Intel® TBB) chooses chunk sizes
+		automatically, depending upon load balancing needs.<a href="#ftn1"><sup><sup>[1]</sup></sup></a>
+		The heuristic attempts to limit overheads while still providing ample
+		opportunities for load balancing. 
+	 </p>
+ 
+	 <div class="Note"><h3 class="NoteTipHead">
+					Caution</h3> 
+		<p>Typically a loop needs to take at least a million clock cycles to make
+		  it worth using 
+		  <samp class="codeph">parallel_for</samp>. For example, a loop that takes at least
+		  500 microseconds on a 2 GHz processor might benefit from 
+		  <samp class="codeph">parallel_for</samp>. 
+		</p>
+ 
+	 </div> 
+	 <p>The default automatic chunking is recommended for most uses. As with
+		most heuristics, however, there are situations where controlling the chunk size
+		more precisely might yield better performance. 
+	 </p>
+ 
+  </div>
+ 
+  
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../tbb_userguide/parallel_for.htm">parallel_for</a></div>
+</div>
+<div class="See Also">
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="Controlling_Chunking.htm#tutorial_Controlling_Chunking">Controlling Chunking 
+		  </a></div></div>
+</div> 
+<p class="tfootnote"><a id="ftn1"><sup>[1]</sup></a>  In Intel® TBB 2.1, the default
+		  was 
+		  <em>not</em> automatic. Compile with 
+		  <samp class="codeph">TBB_DEPRECATED=1</samp> to get the old default behavior.</p>
+</body>
+</html>
diff --git a/doc/help/tbb_userguide/Automically_Replacing_malloc.htm b/doc/help/tbb_userguide/Automically_Replacing_malloc.htm
new file mode 100755
index 0000000..e06e6f4
--- /dev/null
+++ b/doc/help/tbb_userguide/Automically_Replacing_malloc.htm
@@ -0,0 +1,61 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="Automatically Replacing malloc and Other C/C++ Functions for Dynamic Memory Allocation">
+<meta name="DC.subject" content="Automatically Replacing malloc and Other C/C++ Functions for Dynamic Memory Allocation, malloc, dynamic memory allocation">
+<meta name="keywords" content="Automatically Replacing malloc and Other C/C++ Functions for Dynamic Memory Allocation, malloc, dynamic memory allocation">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/Memory_Allocation.htm">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/Linux_C_Dynamic_Memory_Interface_Replacement.htm">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/Windows_C_Dynamic_Memory_Interface_Replacement.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="tutorial_Automically_Replacing_malloc">
+<link rel="stylesheet" type="text/css" href="../intel_css_styles.css">
+<title>Automatically Replacing malloc and Other C/C++ Functions for Dynamic Memory Allocation</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="tutorial_Automically_Replacing_malloc">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(1);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="tutorial_Automically_Replacing_malloc"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Automatically Replacing 
+	 <samp class="codeph">malloc</samp> and Other C/C++ Functions for Dynamic Memory
+	 Allocation</h1>
+ 
+  
+  <div> 
+	 <p>On Windows* and Linux* operating systems, it is possible to
+		automatically replace all calls to standard functions for dynamic memory
+		allocation (such as 
+		<samp class="codeph">malloc</samp>) with the Intel® Threading Building Blocks
+		(Intel® TBB) scalable equivalents. Doing so can sometimes improve application
+		performance. 
+	 </p>
+
+  </div>
+
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../tbb_userguide/Memory_Allocation.htm">Memory Allocation</a></div>
+</div>
+<div>
+<ul class="ullinks">
+<li class="ulchildlink"><a href="../tbb_userguide/Linux_C_Dynamic_Memory_Interface_Replacement.htm">Linux* OS C/C++ Dynamic Memory Interface Replacement</a><br>
+</li>
+<li class="ulchildlink"><a href="../tbb_userguide/Windows_C_Dynamic_Memory_Interface_Replacement.htm">Windows* OS C/C++ Dynamic Memory Interface Replacement</a><br>
+</li>
+</ul>
+</div>
+
+</body>
+</html>
diff --git a/doc/help/tbb_userguide/Bandwidth_and_Cache_Affinity.htm b/doc/help/tbb_userguide/Bandwidth_and_Cache_Affinity.htm
new file mode 100755
index 0000000..42a1620
--- /dev/null
+++ b/doc/help/tbb_userguide/Bandwidth_and_Cache_Affinity.htm
@@ -0,0 +1,181 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="Bandwidth and Cache Affinity">
+<meta name="DC.subject" content="Bandwidth and Cache Affinity">
+<meta name="keywords" content="Bandwidth and Cache Affinity">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/parallel_for.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="tutorial_Bandwidth_and_Cache_Affinity">
+<link rel="stylesheet" type="text/css" href="../intel_css_styles.css">
+<title>Bandwidth and Cache Affinity</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="tutorial_Bandwidth_and_Cache_Affinity">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(1);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="tutorial_Bandwidth_and_Cache_Affinity"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Bandwidth and Cache Affinity</h1>
+ 
+   
+  <div> 
+	 <p>For a sufficiently simple function 
+		<samp class="codeph">Foo</samp>, the examples might not show good speedup when
+		written as parallel loops. The cause could be insufficient system bandwidth
+		between the processors and memory. In that case, you may have to rethink your
+		algorithm to take better advantage of cache. Restructuring to better utilize
+		the cache usually benefits the parallel program as well as the serial program. 
+	 </p>
+ 
+	 <p>An alternative to restructuring that works in some cases is 
+		<samp class="codeph">affinity_partitioner.</samp> It not only automatically chooses
+		the grainsize, but also optimizes for cache affinity. Using 
+		<samp class="codeph">affinity_partitioner</samp> can significantly improve
+		performance when: 
+	 </p>
+ 
+	 <ul type="disc"> 
+		<li> 
+		  <p>The computation does a few operations per data access. 
+		  </p>
+ 
+		</li>
+ 
+		<li> 
+		  <p>The data acted upon by the loop fits in cache. 
+		  </p>
+ 
+		</li>
+ 
+		<li> 
+		  <p>The loop, or a similar loop, is re-executed over the same data. 
+		  </p>
+ 
+		</li>
+ 
+		<li> 
+		  <p>There are more than two hardware threads available. If only two
+			 threads are available, the default scheduling in Intel® Threading Building
+			 Blocks (Intel® TBB) usually provides sufficient cache affinity. 
+		  </p>
+ 
+		</li>
+ 
+	 </ul>
+ 
+	 <p>The following code shows how to use 
+		<samp class="codeph">affinity_partitioner</samp>. 
+	 </p>
+ 
+	 <pre>#include "tbb/tbb.h"
+ 
+void ParallelApplyFoo( float a[], size_t n ) {
+    static affinity_partitioner ap;
+    parallel_for(blocked_range<size_t>(0,n), ApplyFoo(a), ap);
+}
+ 
+void TimeStepFoo( float a[], size_t n, int steps ) {    
+    for( int t=0; t<steps; ++t )
+        ParallelApplyFoo( a, n );
+}</pre> 
+	 <p>In the example, the 
+		<samp class="codeph">affinity_partitioner</samp> object 
+		<samp class="codeph">ap</samp> lives between loop iterations. It remembers where
+		iterations of the loop ran, so that each iteration can be handed to the same
+		thread that executed it before. The example code gets the lifetime of the
+		partitioner right by declaring the 
+		<samp class="codeph">affinity_partitioner</samp> as a local static object. Another
+		approach would be to declare it at a scope outside the iterative loop in 
+		<samp class="codeph">TimeStepFoo</samp>, and hand it down the call chain to 
+		<samp class="codeph">parallel_for</samp>. 
+	 </p>
+ 
+	 <p>If the data does not fit across the system’s caches, there may be little
+		benefit. The following figure shows the situations. 
+	 </p>
+ 
+	 <div class="fignone" id="fig3"><a name="fig3"><!-- --></a><span class="figcap">Benefit of Affinity Determined by Relative Size of Data Set and
+		  Cache</span> 
+		<br><img src="Images/image007.jpg" width="453" height="178"><br> 
+	 </div>
+ 
+	 <p>The next figure shows how parallel speedup might vary with the size of a
+		data set. The computation for the example is 
+		<samp class="codeph">A[i]+=B[i]</samp> for 
+		<samp class="codeph">i</samp> in the range [0,N). It was chosen for dramatic effect.
+		You are unlikely to see quite this much variation in your code. The graph shows
+		not much improvement at the extremes. For small N, parallel scheduling overhead
+		dominates, resulting in little speedup. For large N, the data set is too large
+		to be carried in cache between loop invocations. The peak in the middle is the
+		sweet spot for affinity. Hence 
+		<samp class="codeph">affinity_partitioner</samp> should be considered a tool, not a
+		cure-all, when there is a low ratio of computations to memory accesses. 
+	 </p>
+ 
+	 <div class="fignone" id="fig4"><a name="fig4"><!-- --></a><span class="figcap">Improvement from Affinity Dependent on Array Size</span> 
+		<br><img src="Images/image008.jpg" width="551" height="192"><br> 
+	 </div>
+ 
+	 <p> 
+	 
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"> 
+		   
+		  <thead align="left">
+			 <tr>
+				<th class="cellrowborder" align="left" valign="top" width="100%" id="d128272e134">
+				  <p>Optimization Notice
+				  </p>
+
+				</th>
+
+			 </tr>
+</thead>
+ 
+		  <tbody> 
+			 <tr> 
+				<td class="bgcolor(#ccecff)" bgcolor="#ccecff" valign="top" width="100%" headers="d128272e134 ">
+				  Intel's compilers may or may not optimize to the same degree for non-Intel
+				  microprocessors for optimizations that are not unique to Intel microprocessors.
+				  These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other
+				  optimizations. Intel does not guarantee the availability, functionality, or
+				  effectiveness of any optimization on microprocessors not manufactured by Intel.
+				  Microprocessor-dependent optimizations in this product are intended for use
+				  with Intel microprocessors. Certain optimizations not specific to Intel
+				  microarchitecture are reserved for Intel microprocessors. Please refer to the
+				  applicable product User and Reference Guides for more information regarding the
+				  specific instruction sets covered by this notice. 
+				  <p>Notice revision #20110804 
+				  </p>
+
+				</td>
+ 
+			 </tr>
+ 
+		  </tbody>
+ 
+		</table>
+</div>
+ 
+	 </p>
+ 
+  </div>
+ 
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../tbb_userguide/parallel_for.htm">parallel_for</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/tbb_userguide/Cancellation_Without_An_Exception.htm b/doc/help/tbb_userguide/Cancellation_Without_An_Exception.htm
new file mode 100755
index 0000000..bf8bb34
--- /dev/null
+++ b/doc/help/tbb_userguide/Cancellation_Without_An_Exception.htm
@@ -0,0 +1,93 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="Cancellation Without An Exception">
+<meta name="DC.subject" content="Cancellation Without An Exception">
+<meta name="keywords" content="Cancellation Without An Exception">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/Exceptions_and_Cancellation.htm">
+<meta name="DC.Relation" scheme="URI" content="Lambda_Expressions.htm#tutorial_Lambda_Expressions">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="tutorial_Cancellation_Without_An_Exception">
+<link rel="stylesheet" type="text/css" href="../intel_css_styles.css">
+<title>Cancellation Without An Exception</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="tutorial_Cancellation_Without_An_Exception">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(1);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="tutorial_Cancellation_Without_An_Exception"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Cancellation Without An Exception</h1>
+ 
+   
+  <div> 
+	 <p>To cancel an algorithm but not throw an exception, use the expression 
+		<samp class="codeph">task::self().cancel_group_execution()</samp>. The part 
+		<samp class="codeph">task::self()</samp> references the innermost Intel® TBB task on
+		the current thread. Calling 
+		<samp class="codeph">cancel_group_execution()</samp> cancels all tasks in its 
+		<samp class="codeph">task_group_context</samp>, which is explained in more detail in
+		
+		<strong>Cancellation and Nested Parallelism</strong>. The method returns 
+		<samp class="codeph">true</samp> if it actually causes cancellation, 
+		<samp class="codeph">false</samp> if the 
+		<samp class="codeph">task_group_context</samp> was already cancelled. 
+	 </p>
+ 
+	 <p>The example below shows how to use 
+		<samp class="codeph">task::self().cancel_group_execution()</samp>. 
+	 </p>
+ 
+	 <pre>#include "tbb/tbb.h"
+#include <vector>
+#include <iostream>
+ 
+using namespace tbb;
+using namespace std;
+ 
+vector<int> Data;
+ 
+struct Update {
+    void operator()( const blocked_range<int>& r ) const {
+        for( int i=r.begin(); i!=r.end(); ++i )
+            if( i<Data.size() ) {
+                ++Data[i];
+            } else {
+                // Cancel related tasks.
+                if( task::self().cancel_group_execution() )
+                    cout << "Index " << i << " caused cancellation\n";
+                return;
+            }
+    }
+};
+ 
+int main() {
+    Data.resize(1000);
+    parallel_for( blocked_range<int>(0, 2000), Update());
+    return 0;
+}</pre> 
+  </div>
+ 
+  
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../tbb_userguide/Exceptions_and_Cancellation.htm">Exceptions and Cancellation</a></div>
+</div>
+<div class="See Also">
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="Lambda_Expressions.htm#tutorial_Lambda_Expressions">Lambda Expressions
+		  </a></div></div>
+</div> 
+
+</body>
+</html>
diff --git a/doc/help/tbb_userguide/Cancellation_and_Nested_Parallelism.htm b/doc/help/tbb_userguide/Cancellation_and_Nested_Parallelism.htm
new file mode 100755
index 0000000..d756d3f
--- /dev/null
+++ b/doc/help/tbb_userguide/Cancellation_and_Nested_Parallelism.htm
@@ -0,0 +1,234 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="Cancellation and Nested Parallelism">
+<meta name="DC.subject" content="Cancellation and Nested Parallelism">
+<meta name="keywords" content="Cancellation and Nested Parallelism">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/Exceptions_and_Cancellation.htm">
+<meta name="DC.Relation" scheme="URI" content="The_Task_Scheduler.htm#tutorial_The_Task_Scheduler">
+<meta name="DC.Relation" scheme="URI" content="Lambda_Expressions.htm#tutorial_Lambda_Expressions">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="tutorial_Cancellation_and_Nested_Parallelism">
+<link rel="stylesheet" type="text/css" href="../intel_css_styles.css">
+<title>Cancellation and Nested Parallelism</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="tutorial_Cancellation_and_Nested_Parallelism">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(1);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="tutorial_Cancellation_and_Nested_Parallelism"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Cancellation and Nested Parallelism</h1>
+ 
+   
+  <div> 
+	 <p>The discussion so far was simplified by assuming non-nested parallelism
+		and skipping details of 
+		<samp class="codeph">task_group_context</samp>. This topic explains both. 
+	 </p>
+ 
+	 <p>An Intel® Threading Building Blocks (Intel® TBB) algorithm executes by
+		creating 
+		<samp class="codeph">task</samp> objects that execute the snippets of code that you
+		supply to the algorithm template. By default, these 
+		<samp class="codeph">task</samp> objects are associated with a 
+		<samp class="codeph">task_group_context</samp> created by the algorithm. Nested
+		Intel® TBB algorithms create a tree of these 
+		<samp class="codeph">task_group_context</samp> objects. Cancelling a 
+		<samp class="codeph">task_group_context</samp> cancels all of its child 
+		<samp class="codeph">task_group_context</samp> objects, and transitively all its
+		descendants. Hence an algorithm and all algorithms it called can be cancelled
+		with a single request. 
+	 </p>
+ 
+	 <p>Exceptions propagate upwards. Cancellation propagates downwards. The
+		opposition interplays to cleanly stop a nested computation when an exception
+		occurs. For example, consider the tree in the following figure. Imagine that
+		each node represents an algorithm and its 
+		<samp class="codeph">task_group_context</samp>. 
+	 </p>
+ 
+	 <div class="fignone" id="fig6"><a name="fig6"><!-- --></a><span class="figcap">Tree of 
+		  <span class="keyword">task_group_context</span></span> 
+		<br><img src="Images/image013.jpg" width="261" height="131"><br> 
+	 </div>
+ 
+	 <p>Suppose that the algorithm in C throws an exception and no node catches
+		the exception. Intel® TBB propagates the exception upwards, cancelling related
+		subtrees downwards, as follows: 
+	 </p>
+ 
+	 <ol> 
+		<li> 
+		  <p>Handle exception in C: 
+		  </p>
+ 
+		  <ol class="abc" type="a"> 
+			 <li> 
+				<p>Capture exception in C. 
+				</p>
+ 
+			 </li>
+ 
+			 <li> 
+				<p>Cancel tasks in C. 
+				</p>
+ 
+			 </li>
+ 
+			 <li> 
+				<p>Throw exception from C to B. 
+				</p>
+ 
+			 </li>
+ 
+		  </ol>
+ 
+		</li>
+ 
+		<li> 
+		  <p>Handle exception in B: 
+		  </p>
+ 
+		  <ol class="abc" type="a"> 
+			 <li> 
+				<p>Capture exception in B. 
+				</p>
+ 
+			 </li>
+ 
+			 <li> 
+				<p>Cancel tasks in B and, by downwards propagation, in D. 
+				</p>
+ 
+			 </li>
+ 
+			 <li> 
+				<p>Throw an exception out of B to A. 
+				</p>
+ 
+			 </li>
+ 
+		  </ol>
+ 
+		</li>
+ 
+		<li> 
+		  <p>Handle exception in A: 
+		  </p>
+ 
+		  <ol class="abc" type="a"> 
+			 <li> 
+				<p>Capture exception in A. 
+				</p>
+ 
+			 </li>
+ 
+			 <li> 
+				<p>Cancel tasks in A and, by downwards propagation, in E, F, and G.
+				  
+				</p>
+ 
+			 </li>
+ 
+			 <li> 
+				<p>Throw an exception upwards out of A. 
+				</p>
+ 
+			 </li>
+ 
+		  </ol>
+ 
+		</li>
+ 
+	 </ol>
+ 
+	 <p>If your code catches the exception at any level, then Intel® TBB does
+		not propagate it any further. For example, an exception that does not escape
+		outside the body of a 
+		<samp class="codeph">parallel_for</samp> does not cause cancellation of other
+		iterations. 
+	 </p>
+ 
+	 <p>To prevent downwards propagation of cancellation into an algorithm,
+		construct an 'isolated' 
+		<samp class="codeph">task_group_context</samp> on the stack and pass it to the
+		algorithm explicitly. The 
+		<samp class="codeph"><span style="color:blue"><strong>bold font</strong></span></samp> in
+		the following example shows how. The example uses C++11 lambda expressions for
+		brevity. 
+	 </p>
+ 
+	 <pre>#include "tbb/tbb.h"
+ 
+bool Data[1000][1000];
+ 
+int main() {
+    try {
+        parallel_for( 0, 1000, 1, 
+            []( int i ) {
+                task_group_context root(task_group_context::isolated);
+                parallel_for( 0, 1000, 1,
+                   []( int  ) {
+                       Data[i][j] = true;
+                   }<span style="color:blue">,</span>
+                   <span style="color:blue"><strong>root</strong></span>);
+                throw "oops";
+            });
+    } catch(...) {
+    }
+    return 0;
+}</pre> 
+	 <p>The example performs two parallel loops: an outer loop over 
+		<samp class="codeph">i</samp> and inner loop over 
+		<samp class="codeph">j</samp>. The creation of the isolated 
+		<samp class="codeph">task_group_context</samp> 
+		<samp class="codeph">root</samp> protects the inner loop from downwards propagation
+		of cancellation from the 
+		<samp class="codeph">i</samp> loop. When the exception propagates to the outer loop,
+		any pending 
+		<samp class="codeph">outer</samp> iterations are cancelled, but not inner iterations
+		for an outer iteration that started. Hence when the program completes, each row
+		of 
+		<samp class="codeph">Data</samp> may be different, depending upon whether its
+		iteration 
+		<samp class="codeph">i</samp> ran at all, but within a row, the elements will be
+		homogenously 
+		<samp class="codeph">false</samp> or 
+		<samp class="codeph">true</samp>, not a mixture. 
+	 </p>
+ 
+	 <p>Removing the blue text would permit cancellation to propagate down into
+		the inner loop. In that case, a row of 
+		<samp class="codeph">Data</samp> might end up with both 
+		<samp class="codeph">true</samp> and 
+		<samp class="codeph">false</samp> values. 
+	 </p>
+ 
+  </div>
+ 
+  
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../tbb_userguide/Exceptions_and_Cancellation.htm">Exceptions and Cancellation</a></div>
+</div>
+<div class="See Also">
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="The_Task_Scheduler.htm#tutorial_The_Task_Scheduler">The Task Scheduler 
+		  </a></div>
+<div><a href="Lambda_Expressions.htm#tutorial_Lambda_Expressions">Lambda Expressions 
+		  </a></div></div>
+</div> 
+
+</body>
+</html>
diff --git a/doc/help/tbb_userguide/Concurrent_Queue_Classes.htm b/doc/help/tbb_userguide/Concurrent_Queue_Classes.htm
new file mode 100755
index 0000000..5447cae
--- /dev/null
+++ b/doc/help/tbb_userguide/Concurrent_Queue_Classes.htm
@@ -0,0 +1,81 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="Concurrent Queue Classes">
+<meta name="DC.subject" content="Concurrent Queue Classes">
+<meta name="keywords" content="Concurrent Queue Classes">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/Containers.htm">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/Iterating_Over_a_Concurrent_Queue_for_Debugging.htm">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/When_Not_to_Use_Queues.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="tutorial_Concurrent_Queue_Classes">
+<link rel="stylesheet" type="text/css" href="../intel_css_styles.css">
+<title>Concurrent Queue Classes</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="tutorial_Concurrent_Queue_Classes">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(1);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="tutorial_Concurrent_Queue_Classes"><!-- --></a>
+
+
+<h1 class="topictitle1">Concurrent Queue Classes</h1>
+
+<div><p>Template class <samp class="codeph">concurrent_queue<<em>T,Alloc</em>></samp> implements a concurrent queue with values of type <samp class="codeph">T</samp>. Multiple threads may simultaneously push and pop elements from the queue. The queue is unbounded and has no blocking operations.  The fundamental operations on it are <samp class="codeph">push</samp> and <samp class="codeph">try_pop</samp>. The <samp class="codeph">push</samp> operation works just like <samp class="co [...]
+<p>For example, consider the following serial code:</p>
+
+<pre>        extern std::queue<T> MySerialQueue;
+        T item;
+        if( !MySerialQueue.empty() ) {
+            item = MySerialQueue.front(); 
+            MySerialQueue.pop_front();
+            ... <em>process item</em>...
+        }</pre>
+<p>Even if each <span class="option">std::queue</span> method were implemented in a thread-safe manner, the composition of those methods as shown in the example would not be thread safe if there were other threads also popping from the same queue. For example, <samp class="codeph">MySerialQueue.empty()</samp> might return true just before another thread snatches the last item from <samp class="codeph">MySerialQueue</samp>. </p>
+<p>The equivalent thread-safe Intel® Threading Building Blocks (Intel® TBB) code is:</p>
+
+<pre>        extern concurrent_queue<T> MyQueue;
+        T item;
+        if( MyQueue.try_pop(item) ) {
+            ...<em>process item</em>...
+        }            </pre>
+<p>In a single-threaded program, a queue is a first-in first-out structure. But if multiple threads are pushing and popping concurrently, the definition of "first" is uncertain. Use of <samp class="codeph">concurrent_queue</samp> guarantees that if a thread pushes two values, and another thread pops those two values, they will be popped in the same order that they were pushed.</p>
+<p>Template class <samp class="codeph">concurrent_queue</samp> is unbounded and has no methods that wait. It is up to the user to provide synchronization to avoid overflow, or to wait for the queue to become non-empty. Typically this is appropriate when the synchronization has to be done at a higher level.  </p>
+<p>Template class <samp class="codeph">concurrent_bounded_queue<<em>T,Alloc</em>></samp> is a variant that adds blocking operations and the ability to specify a capacity. The methods of particular interest on it are: </p>
+
+<ul type="disc"><li><p><samp class="codeph">pop(<em>item</em>)</samp> waits until it can succeed. </p>
+</li>
+<li><p><samp class="codeph">push(<em>item</em>)</samp> waits until it can succeed without exceeding the queue's capacity.</p>
+</li>
+<li><p><samp class="codeph">try_push(<em>item</em>)</samp> pushes <var>item</var> only if it would not exceed the queue's capacity.</p>
+</li>
+<li><p>size() returns a <em>signed</em> integer.</p>
+</li>
+</ul>
+<p>The value of <span class="option">concurrent_queue::size()</span> is defined as the number of push operations started minus the number of pop operations started. If pops outnumber pushes, <samp class="codeph">size()</samp> becomes negative. For example, if a <samp class="codeph">concurrent_queue</samp> is empty, and there are <var>n</var> pending pop operations, <samp class="codeph">size()</samp> returns <span class="eqsymbol">-</span><var>n</var>. This provides an easy way for produc [...]
+<p>By default, a <samp class="codeph">concurrent_bounded_queue</samp> is unbounded. It may hold any number of values, until memory runs out. It can be bounded by setting the queue capacity with method <samp class="codeph">set_capacity</samp>.Setting the capacity causes <samp class="codeph">push</samp> to block until there is room in the queue. Bounded queues are slower than unbounded queues, so if there is a constraint elsewhere in your program that prevents the queue from becoming too l [...]
+</div>
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../tbb_userguide/Containers.htm">Containers</a></div>
+</div>
+<div>
+<ul class="ullinks">
+<li class="ulchildlink"><a href="../tbb_userguide/Iterating_Over_a_Concurrent_Queue_for_Debugging.htm">Iterating Over a Concurrent Queue for Debugging</a><br>
+</li>
+<li class="ulchildlink"><a href="../tbb_userguide/When_Not_to_Use_Queues.htm">When Not to Use Queues</a><br>
+</li>
+</ul>
+</div>
+
+</body>
+</html>
diff --git a/doc/help/tbb_userguide/Containers.htm b/doc/help/tbb_userguide/Containers.htm
new file mode 100755
index 0000000..3fd563b
--- /dev/null
+++ b/doc/help/tbb_userguide/Containers.htm
@@ -0,0 +1,116 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="Containers">
+<meta name="DC.subject" content="Containers">
+<meta name="keywords" content="Containers">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/title.htm">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/concurrent_hash_map.htm">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/concurrent_vector.htm">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/Concurrent_Queue_Classes.htm">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/Summary_of_Containers.htm">
+<meta name="DC.Relation" scheme="URI" content="Task-Based_Programming.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="tutorial_Containers">
+<link rel="stylesheet" type="text/css" href="../intel_css_styles.css">
+<title>Containers</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="tutorial_Containers">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(1);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="tutorial_Containers"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Containers</h1>
+ 
+   
+  <div> 
+	 <p>Intel® Threading Building Blocks (Intel® TBB) provides highly concurrent
+		container classes. These containers can be used with raw Windows* OS or Linux*
+		OS threads, or in conjunction with task-based programming. 
+	 </p>
+ 
+	 <p>A concurrent container allows multiple threads to concurrently access
+		and update items in the container. Typical C++ STL containers do not permit
+		concurrent update; attempts to modify them concurrently often result in
+		corrupting the container. STL containers can be wrapped in a mutex to make them
+		safe for concurrent access, by letting only one thread operate on the container
+		at a time, but that approach eliminates concurrency, thus restricting parallel
+		speedup. 
+	 </p>
+ 
+	 <p>Containers provided by Intel® TBB offer a much higher level of
+		concurrency, via one or both of the following methods: 
+	 </p>
+ 
+	 <ul type="disc"> 
+		<li> 
+		  <p><strong>Fine-grained locking:</strong> Multiple threads operate on the
+			 container by locking only those portions they really need to lock. As long as
+			 different threads access different portions, they can proceed concurrently. 
+		  </p>
+ 
+		</li>
+ 
+		<li> 
+		  <p><strong>Lock-free techniques:</strong> Different threads account and correct
+			 for the effects of other interfering threads. 
+		  </p>
+ 
+		</li>
+ 
+	 </ul>
+ 
+	 <p>Notice that highly-concurrent containers come at a cost. They
+		typically have higher overheads than regular STL containers. Operations on
+		highly-concurrent containers may take longer than for STL containers.
+		Therefore, use highly-concurrent containers when the speedup from the
+		additional concurrency that they enable outweighs their slower sequential
+		performance. 
+	 </p>
+ 
+	 <div class="Note"><h3 class="NoteTipHead">
+					Caution</h3> 
+		<p>As with most objects in C++, the constructor or destructor of a
+		  container object must not be invoked concurrently with another operation on the
+		  same object. Otherwise the resulting race may cause the operation to be
+		  executed on an undefined object. 
+		</p>
+ 
+	 </div> 
+  </div>
+ 
+  
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../tbb_userguide/title.htm">Intel® Threading Building Blocks (Intel® TBB) User Guide</a></div>
+</div>
+<div class="See Also">
+<ul class="ullinks">
+<li class="ulchildlink"><a href="../tbb_userguide/concurrent_hash_map.htm">concurrent_hash_map</a><br>
+</li>
+<li class="ulchildlink"><a href="../tbb_userguide/concurrent_vector.htm">concurrent_vector</a><br>
+</li>
+<li class="ulchildlink"><a href="../tbb_userguide/Concurrent_Queue_Classes.htm">Concurrent Queue Classes</a><br>
+</li>
+<li class="ulchildlink"><a href="../tbb_userguide/Summary_of_Containers.htm">Summary of Containers</a><br>
+</li>
+</ul>
+
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="Task-Based_Programming.htm">Task Based Programming
+		  </a></div></div>
+</div>
+
+</body>
+</html>
diff --git a/doc/help/tbb_userguide/Continuation_Passing.htm b/doc/help/tbb_userguide/Continuation_Passing.htm
new file mode 100755
index 0000000..e4101de
--- /dev/null
+++ b/doc/help/tbb_userguide/Continuation_Passing.htm
@@ -0,0 +1,191 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="Continuation Passing">
+<meta name="DC.subject" content="Continuation Passing">
+<meta name="keywords" content="Continuation Passing">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/Useful_Task_Techniques.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="tutorial_Continuation_Passing">
+<link rel="stylesheet" type="text/css" href="../intel_css_styles.css">
+<title>Continuation Passing</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="tutorial_Continuation_Passing">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(1);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="tutorial_Continuation_Passing"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Continuation Passing</h1>
+ 
+   
+  <div> 
+	 <p>Method 
+		<samp class="codeph">spawn_and_wait_for_all</samp> enables an executing parent task
+		to wait until its child tasks complete, but can incur some inefficiency. When a
+		thread calls 
+		<samp class="codeph">spawn_and_wait_for_all</samp>, it keeps busy until all of the
+		childen complete by working on other tasks. Sometimes the parent task becomes
+		ready to continue, but cannot do so immediately because its thread is still
+		executing one of the other tasks. The solution is for the parent to not wait on
+		its children, and instead spawn both children and return. The children are
+		allocated not as children of the parent, but as children of the parent’s 
+		<em>continuation task</em>. Any idle thread can steal and run the
+		continuation task when its children complete. 
+	 </p>
+ 
+	 <p>The "continuation-passing" variant of 
+		<samp class="codeph">FibTask</samp> described in 
+		<a href="Simple_Example_Fibonacci_Numbers.htm#tutorial_Simple_Example_Fibonacci_Numbers">Simple Example</a> is shown below. 
+	 <ul type="disc">
+		<li>
+		  <p>Insertions are shown in 
+			 <samp class="codeph"><span style="color:blue"><strong>bold font</strong></span></samp>
+		  </p>
+
+		</li>
+
+		<li>
+		  <p>Deletions are commented out.
+		  </p>
+
+		</li>
+
+	 </ul>
+
+	 </p>
+
+	 <pre><span style="color:blue"><strong>struct FibContinuation: public task {
+    long* const sum;
+    long x, y;
+    FibContinuation( long* sum_ ) : sum(sum_) {}
+    task* execute() {
+        *sum = x+y;
+        return NULL;
+    }
+};</strong></span>
+ 
+struct FibTask: public task {
+    const long n;
+    long* const sum;
+    FibTask( long n_, long* sum_ ) :
+        n(n_), sum(sum_)
+    {}
+    task* execute() {
+        if( n<CutOff ) {
+            *sum = SerialFib(n);
+            return NULL;
+        } else {
+            // long x, y; This line removed 
+            <span style="color:blue"><strong>FibContinuation& c = 
+                *new( allocate_continuation() ) FibContinuation(sum);</strong></span>
+            FibTask& a = *new( <span style="color:blue"><strong>c.</strong></span>allocate_child() ) FibTask(n-2,&<span style="color:blue">c.</span>x);
+            FibTask& b = *new( <span style="color:blue"><strong>c.</strong></span>allocate_child() ) FibTask(n-1,&<span style="color:blue">c.</span>y);
+            // Set ref_count to "two children plus one for the wait".
+            <span style="color:blue"><strong>c.</strong></span>set_ref_count(<span style="color:blue"><strong>2</strong></span>);
+            spawn( b );
+            <span style="color:blue"><strong>spawn</strong></span>( a );
+	    // *sum = x+y; This line removed
+            return NULL;
+        }
+    }
+};</pre> 
+	 <p>The following differences between the original version and the
+		continuation version need to be understood: 
+	 </p>
+ 
+	 <p>The big difference is that in the original version 
+		<samp class="codeph">x</samp> and 
+		<samp class="codeph">y</samp> were local variables in method 
+		<samp class="codeph">execute</samp>. In the continuation-passing version, they
+		cannot be local variables, because the parent returns before its children
+		complete. Instead, they are fields of the continuation task 
+		<samp class="codeph">FibContinuation.</samp> 
+	 </p>
+ 
+	 <p>The allocation logic is changed. The continuation is allocated with 
+		<samp class="codeph">allocate_continuation</samp>. It is similar to 
+		<samp class="codeph">allocate_child</samp>, except that it forwards the 
+		<em>successor</em> of 
+		<samp class="codeph">this</samp> to 
+		<samp class="codeph">c</samp>, and sets the 
+		<em>successor</em> of 
+		<samp class="codeph">this</samp> to NULL. The following figure summarizes the
+		transformation: 
+	 </p>
+ 
+	 <div class="fignone" id="fig9"><a name="fig9"><!-- --></a><span class="figcap">Action of 
+		  <samp class="codeph">allocate_continuation</samp></span> 
+		<br><img src="Images/image016.jpg" width="432" height="128"><br> 
+	 </div>
+ 
+	 <p>A property of the transformation is that it does not change the
+		reference count of the successor, and thus avoids interfering with
+		reference-counting logic. 
+	 </p>
+ 
+	 <p>The reference count is set to 
+		<samp class="codeph">2</samp>, the number of children. In the original version, it
+		was set to 
+		<samp class="codeph">3</samp> because 
+		<samp class="codeph">spawn_and_wait_for_all</samp> required the augmented count.
+		Furthermore, the code sets the reference count of the continuation instead of
+		the parent, because it is the execution of the continuation that waits on the
+		children. 
+	 </p>
+ 
+	 <p>The pointer 
+		<samp class="codeph">sum</samp> is passed to the continuation by the constructor,
+		because it is now 
+		<samp class="codeph">FibContinuation</samp> that stores into 
+		<samp class="codeph">*sum</samp>. The children are still allocated with 
+		<samp class="codeph">allocate_child</samp>, but notice that now they are allocated
+		as children of the continuation 
+		<samp class="codeph">c</samp>, not the parent. This is so that 
+		<samp class="codeph">c</samp>, and not 
+		<samp class="codeph">this</samp>, becomes the successor of the children that is
+		automatically spawned when both children complete. If you accidentally used 
+		<samp class="codeph">this.allocate_child()</samp>, then the parent task would run
+		again after both children completed. 
+	 </p>
+ 
+	 <p>If you remember how the original top-level code, 
+		<samp class="codeph">ParallelFib</samp>, was written, you might be worried now that
+		continuation-passing style breaks the code, because now the root 
+		<samp class="codeph">FibTask</samp> completes before the children are done, and the
+		top-level code used 
+		<samp class="codeph">spawn_root_and_wait</samp> to wait on the root 
+		<samp class="codeph">FibTask</samp>. This is not a problem, because 
+		<samp class="codeph">spawn_root_and_wait</samp> is designed to work correctly with
+		continuation-passing style. An invocation 
+		<samp class="codeph">spawn_root_and_wait(<var>x</var>)</samp> does not
+		actually wait for 
+		<var>x</var> to complete. Instead, it constructs a dummy
+		successor of 
+		<var>x</var>, and waits for the successors’s reference count to
+		be decremented. Because 
+		<samp class="codeph">allocate_continuation</samp> forwards this dummy successor to
+		the continuation, the dummy successor’s reference count is not decremented
+		until the continuation completes. 
+	 </p>
+ 
+  </div>
+ 
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../tbb_userguide/Useful_Task_Techniques.htm">Useful Task Techniques</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/tbb_userguide/Controlling_Chunking.htm b/doc/help/tbb_userguide/Controlling_Chunking.htm
new file mode 100755
index 0000000..2b5017f
--- /dev/null
+++ b/doc/help/tbb_userguide/Controlling_Chunking.htm
@@ -0,0 +1,302 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="Controlling Chunking">
+<meta name="DC.subject" content="Controlling Chunking">
+<meta name="keywords" content="Controlling Chunking">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/parallel_for.htm">
+<meta name="DC.Relation" scheme="URI" content="Automatic_Chunking.htm#tutorial_Automatic_Chunking">
+<meta name="DC.Relation" scheme="URI" content="Bandwidth_and_Cache_Affinity.htm#tutorial_Bandwidth_and_Cache_Affinity">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="tutorial_Controlling_Chunking">
+<link rel="stylesheet" type="text/css" href="../intel_css_styles.css">
+<title>Controlling Chunking</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="tutorial_Controlling_Chunking">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(1);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="tutorial_Controlling_Chunking"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Controlling Chunking </h1>
+ 
+   
+  <div> 
+	 <p>Chunking is controlled by a 
+		<em>partitioner</em> and a 
+		<em>grainsize.</em>To gain the most control over chunking, you specify
+		both. 
+	 </p>
+ 
+	 <ul type="disc"> 
+		<li> 
+		  <p>Specify 
+			 <samp class="codeph">simple_partitioner()</samp> as the third argument to 
+			 <samp class="codeph">parallel_for</samp>. Doing so turns off automatic chunking.
+			 
+		  </p>
+ 
+		</li>
+ 
+		<li> 
+		  <p>Specify the grainsize when constructing the range. The thread
+			 argument form of the constructor is 
+			 <samp class="codeph">blocked_range<<var>T</var>>(<em>begin</em>,<em>end</em>,<em>grainsize</em>)</samp>.
+			 The default value of 
+			 <var>grainsize</var> is 1. It is in units of loop iterations
+			 per chunk. 
+		  </p>
+ 
+		</li>
+ 
+	 </ul>
+ 
+	 <p>If the chunks are too small, the overhead may exceed the performance
+		advantage. 
+	 </p>
+ 
+	 <p>The following code is the last example from 
+		<span class="keyword">parallel_for</span>, modified to use an explicit grainsize 
+		<samp class="codeph">G</samp>. Additions are shown in 
+		<samp class="codeph"><span style="color:blue"><strong>bold font</strong></span></samp>. 
+	 </p>
+ 
+	 <pre>#include "tbb/tbb.h"
+ 
+void ParallelApplyFoo( float a[], size_t n ) {
+    parallel_for(blocked_range<size_t>(0,n<span style="color:blue"><strong>,G</strong></span>), ApplyFoo(a)<span style="color:blue">,</span> 
+                 simple_partitioner());
+}</pre> 
+	 <p>The grainsize sets a minimum threshold for parallelization. The 
+		<samp class="codeph">parallel_for</samp> in the example invokes 
+		<samp class="codeph">ApplyFoo::operator()</samp> on chunks, possibly of different
+		sizes. Let 
+		<em>chunksize</em> be the number of iterations in a chunk. Using 
+		<samp class="codeph">simple_partitioner</samp> guarantees that 
+		<span class="eqsymbol">⌈</span>G/2<span class="eqsymbol">⌉</span>
+		
+		<span class="eqsymbol">≤</span> 
+		<em>chunksize</em> 
+		<span class="eqsymbol">≤</span> G. 
+	 </p>
+ 
+	 <p>There is also an intermediate level of control where you specify the
+		grainsize for the range, but use an 
+		<samp class="codeph">auto_partitioner</samp> and 
+		<samp class="codeph">affinity_partitioner</samp>. An 
+		<samp class="codeph">auto_partitioner</samp> is the default partitioner. Both
+		partitioners implement the automatic grainsize heuristic described in 
+		<strong>Automatic Chunking</strong>. An 
+		<samp class="codeph">affinity_partitioner</samp> implies an additional hint, as
+		explained later in Section 
+		<strong>Bandwidth and Cache Affinity</strong>. Though these partitioners may cause
+		chunks to have more than G iterations, they never generate chunks with less
+		than 
+		<span class="eqsymbol">⌈</span>G/2<span class="eqsymbol">⌉</span>
+		iterations. Specifying a range with an explicit grainsize may occasionally be
+		useful to prevent these partitioners from generating wastefully small chunks if
+		their heuristics fail. 
+	 </p>
+ 
+	 <p>Because of the impact of grainsize on parallel loops, it is worth
+		reading the following material even if you rely on 
+		<samp class="codeph">auto_partitioner</samp> and 
+		<samp class="codeph">affinity_partitioner</samp> to choose the grainsize
+		automatically. 
+	 </p>
+ 
+	 
+<div class="tablenoborder"><a name="fig1"><!-- --></a><table cellpadding="4" summary="" id="fig1" frame="void" border="1" rules="none" cellspacing="2"><caption><span class="tablecap">Packaging Overhead Versus Grainsize</span></caption> 
+		<tbody> 
+		  <tr> 
+			 <td class="noborder" align="center" valign="middle" width="NaN%"><br><img width="161" height="163" src="Images/image002.jpg"><br> 
+			 </td>
+ 
+			 <td class="noborder" align="center" valign="middle" width="NaN%"><br><img width="157" height="144" src="Images/image004.jpg"><br> 
+			 </td>
+ 
+		  </tr>
+ 
+		  <tr> 
+			 <td class="noborder" align="center" valign="top" width="NaN%"> 
+				<p>Case A 
+				</p>
+ 
+			 </td>
+ 
+			 <td class="noborder" align="center" valign="top" width="NaN%"> 
+				<p>Case B 
+				</p>
+ 
+			 </td>
+ 
+		  </tr>
+ 
+		</tbody>
+ 
+	 </table>
+</div>
+ 
+	 <p>The above figure illustrates the impact of grainsize by showing the
+		useful work as the gray area inside a brown border that represents overhead.
+		Both Case A and Case B have the same total gray area. Case A shows how too
+		small a grainsize leads to a relatively high proportion of overhead. Case B
+		shows how a large grainsize reduces this proportion, at the cost of reducing
+		potential parallelism. The overhead as a fraction of useful work depends upon
+		the grainsize, not on the number of grains. Consider this relationship and not
+		the total number of iterations or number of processors when setting a
+		grainsize. 
+	 </p>
+ 
+	 <p>A rule of thumb is that 
+		<samp class="codeph">grainsize</samp> iterations of 
+		<samp class="codeph">operator()</samp> should take at least 100,000 clock cycles to
+		execute. For example, if a single iteration takes 100 clocks, then the 
+		<samp class="codeph">grainsize</samp> needs to be at least 1000 iterations. When in
+		doubt, do the following experiment: 
+	 </p>
+ 
+	 <ol> 
+		<li> 
+		  <p>Set the 
+			 <samp class="codeph">grainsize</samp> parameter higher than necessary. The
+			 grainsize is specified in units of loop iterations. If you have no idea of how
+			 many clock cycles an iteration might take, start with 
+			 <samp class="codeph">grainsize</samp>=100,000. The rationale is that each
+			 iteration normally requires at least one clock per iteration. In most cases,
+			 step 3 will guide you to a much smaller value. 
+		  </p>
+ 
+		</li>
+ 
+		<li> 
+		  <p>Run your algorithm. 
+		  </p>
+ 
+		</li>
+ 
+		<li> 
+		  <p>Iteratively halve the 
+			 <var>grainsize</var> parameter and see how much the algorithm
+			 slows down or speeds up as the value decreases. 
+		  </p>
+ 
+		</li>
+ 
+	 </ol>
+ 
+	 <p>A drawback of setting a grainsize too high is that it can reduce
+		parallelism. For example, if the grainsize is 1000 and the loop has 2000
+		iterations, the 
+		<samp class="codeph">parallel_for</samp> distributes the loop across only two
+		processors, even if more are available. However, if you are unsure, err on the
+		side of being a little too high instead of a little too low, because too low a
+		value hurts serial performance, which in turns hurts parallel performance if
+		there is other parallelism available higher up in the call tree. 
+	 </p>
+ 
+	 <div class="Note"><h3 class="NoteTipHead">
+					Tip</h3> 
+		<p>You do not have to set the grainsize too precisely. 
+		</p>
+ 
+	 </div> 
+	 <p>The next figure shows the typical "bathtub curve" for execution time
+		versus grainsize, based on the floating point 
+		<samp class="codeph">a[i]=b[i]*c</samp> computation over a million indices. There is
+		little work per iteration. The times were collected on a four-socket machine
+		with eight hardware threads. 
+	 </p>
+ 
+	 <div class="fignone" id="fig2"><a name="fig2"><!-- --></a><span class="figcap">Wall Clock Time Versus Grainsize </span> 
+		<br><img width="462" height="193" src="Images/image006.jpg"><br> 
+	 </div>
+ 
+	 <p>The scale is logarithmic. The downward slope on the left side indicates
+		that with a grainsize of one, most of the overhead is parallel scheduling
+		overhead, not useful work. An increase in grainsize brings a proportional
+		decrease in parallel overhead. Then the curve flattens out because the parallel
+		overhead becomes insignificant for a sufficiently large grainsize. At the end
+		on the right, the curve turns up because the chunks are so large that there are
+		fewer chunks than available hardware threads. Notice that a grainsize over the
+		wide range 100-100,000 works quite well. 
+	 </p>
+ 
+	 <div class="Note"><h3 class="NoteTipHead">
+					Tip</h3> 
+		<p>A general rule of thumb for parallelizing loop nests is to parallelize
+		  the outermost one possible. The reason is that each iteration of an outer loop
+		  is likely to provide a bigger grain of work than an iteration of an inner loop.
+		  
+		</p>
+ 
+	 </div> 
+	 <p> 
+	 
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"> 
+		   
+		  <thead align="left">
+			 <tr>
+				<th class="cellrowborder" align="left" valign="top" width="100%" id="d130143e300">
+				  <p>Optimization Notice
+				  </p>
+
+				</th>
+
+			 </tr>
+</thead>
+ 
+		  <tbody> 
+			 <tr> 
+				<td class="bgcolor(#ccecff)" bgcolor="#ccecff" valign="top" width="100%" headers="d130143e300 ">
+				  Intel's compilers may or may not optimize to the same degree for non-Intel
+				  microprocessors for optimizations that are not unique to Intel microprocessors.
+				  These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other
+				  optimizations. Intel does not guarantee the availability, functionality, or
+				  effectiveness of any optimization on microprocessors not manufactured by Intel.
+				  Microprocessor-dependent optimizations in this product are intended for use
+				  with Intel microprocessors. Certain optimizations not specific to Intel
+				  microarchitecture are reserved for Intel microprocessors. Please refer to the
+				  applicable product User and Reference Guides for more information regarding the
+				  specific instruction sets covered by this notice. 
+				  <p>Notice revision #20110804 
+				  </p>
+
+				</td>
+ 
+			 </tr>
+ 
+		  </tbody>
+ 
+		</table>
+</div>
+ 
+	 </p>
+ 
+  </div>
+ 
+  
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../tbb_userguide/parallel_for.htm">parallel_for</a></div>
+</div>
+<div class="See Also">
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="Automatic_Chunking.htm#tutorial_Automatic_Chunking">Automatic Chunking 
+		  </a></div>
+<div><a href="Bandwidth_and_Cache_Affinity.htm#tutorial_Bandwidth_and_Cache_Affinity">Bandwidth and Cache Affinity 
+		  </a></div></div>
+</div> 
+
+</body>
+</html>
diff --git a/doc/help/tbb_userguide/Cook_Until_Done_parallel_do.htm b/doc/help/tbb_userguide/Cook_Until_Done_parallel_do.htm
new file mode 100755
index 0000000..41ad02e
--- /dev/null
+++ b/doc/help/tbb_userguide/Cook_Until_Done_parallel_do.htm
@@ -0,0 +1,141 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="Cook Until Done: parallel_do">
+<meta name="DC.subject" content="Cook Until Done: parallel_do">
+<meta name="keywords" content="Cook Until Done: parallel_do">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/Parallelizing_Complex_Loops.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="tutorial_Cook_Until_Done_parallel_do">
+<link rel="stylesheet" type="text/css" href="../intel_css_styles.css">
+<title>Cook Until Done: parallel_do</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="tutorial_Cook_Until_Done_parallel_do">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(1);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="tutorial_Cook_Until_Done_parallel_do"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Cook Until Done: parallel_do</h1>
+ 
+  
+  <div>
+	 <p>For some loops, the end of the iteration space is not known in advance,
+		or the loop body may add more iterations to do before the loop exits. You can
+		deal with both situations using the template class 
+  <span class="option">tbb::parallel_do</span>.
+  </p>
+
+  <p>A linked list is an example of an iteration space that is not known in
+	 advance. In parallel programming, it is usually better to use dynamic arrays
+	 instead of linked lists, because accessing items in a linked list is inherently
+	 serial. But if you are limited to linked lists, the items can be safely
+	 processed in parallel, and processing each item takes at least a few thousand
+	 instructions, you can use 
+	 <samp class="codeph">parallel_do</samp> to gain some parallelism. 
+  </p>
+
+  <p>For example, consider the following serial code:
+  </p>
+
+  <pre>void SerialApplyFooToList( const std::list<Item>& list ) {
+    for( std::list<Item>::const_iterator i=list.begin() i!=list.end(); ++i ) 
+        Foo(*i);
+}</pre>
+  <p>If 
+	 <samp class="codeph">Foo</samp> takes at least a few thousand instructions to run, you
+	 can get parallel speedup by converting the loop to use 
+	 <samp class="codeph">parallel_do</samp>. To do so, define an object with a 
+	 <samp class="codeph">const</samp> qualified 
+	 <samp class="codeph">operator()</samp>. This is similar to a C++ function object from
+	 the C++ standard header 
+	 <samp class="codeph"><functional></samp>, except that 
+	 <samp class="codeph">operator()</samp> must be 
+	 <samp class="codeph">const</samp>.
+  </p>
+
+  <pre>class ApplyFoo {
+public:
+    void operator()( Item& item ) const {
+        Foo(item);
+    }
+};</pre>
+  <p>The parallel form of 
+	 <samp class="codeph">SerialApplyFooToList</samp> is as follows:
+  </p>
+
+  <pre>void ParallelApplyFooToList( const std::list<Item>& list ) {
+    parallel_do( list.begin(), list.end(), ApplyFoo() ); 
+}</pre>
+  <p>An invocation of 
+	 <samp class="codeph">parallel_do</samp> never causes two threads to act on an input
+	 iterator concurrently. Thus typical definitions of input iterators for
+	 sequential programs work correctly. This convenience makes 
+	 <samp class="codeph">parallel_do</samp> unscalable, because the fetching of work is
+	 serial. But in many situations, you still get useful speedup over doing things
+	 sequentially.
+  </p>
+
+  <p>There are two ways that 
+	 <samp class="codeph">parallel_do</samp> can acquire work scalably. 
+  </p>
+ 
+  <ul type="disc">
+	 <li>
+		<p>The iterators can be random-access iterators.
+		</p>
+
+	 </li>
+
+	 <li>
+		<p>The body argument to 
+		  <samp class="codeph">parallel_do</samp>, if it takes a second argument 
+		  <em>feeder</em> of type 
+		  <samp class="codeph">parallel_do<Item>&</samp>, can add more work by
+		  calling 
+		  <samp class="codeph"><em>feeder</em>.add(<em>item</em>)</samp>. For example, suppose
+		  processing a node in a tree is a prerequisite to processing its descendants.
+		  With 
+		  <samp class="codeph">parallel_do</samp>, after processing a node, you could use 
+		  <samp class="codeph"><var>feeder</var>.add</samp> to add the descendant
+		  nodes. The instance of 
+		  <samp class="codeph">parallel_do</samp> does not terminate until all items have
+		  been processed. 
+		</p>
+
+	 </li>
+
+  </ul>
+
+  <div class="section"><h2 class="sectiontitle">Code Sample</h2>
+	 
+	 <p>The directory 
+		<samp class="codeph">examples/parallel_do/parallel_preorder</samp> contains a small
+		application that uses 
+		<samp class="codeph">parallel_do</samp> to perform parallel preorder traversal of an
+		acyclic directed graph. The example shows how 
+		<samp class="codeph">parallel_do_feeder</samp> can be used to add more work.
+	 </p>
+
+  </div>
+
+  </div>
+
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../tbb_userguide/Parallelizing_Complex_Loops.htm">Parallelizing Complex Loops</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/tbb_userguide/Debug_Versus_Release_Libraries.htm b/doc/help/tbb_userguide/Debug_Versus_Release_Libraries.htm
new file mode 100755
index 0000000..7d1cafa
--- /dev/null
+++ b/doc/help/tbb_userguide/Debug_Versus_Release_Libraries.htm
@@ -0,0 +1,195 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="Debug Versus Release Libraries">
+<meta name="DC.subject" content="Debug Versus Release Libraries">
+<meta name="keywords" content="Debug Versus Release Libraries">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/Package_Contents.htm">
+<meta name="DC.Relation" scheme="URI" content="../reference/reference.htm#reference">
+<meta name="DC.Relation" scheme="URI" content="Initializing_and_Terminating_the_Library.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="tutorial_Debug_Versus_Release_Libraries">
+<link rel="stylesheet" type="text/css" href="../intel_css_styles.css">
+<title>Debug Versus Release Libraries</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="tutorial_Debug_Versus_Release_Libraries">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(1);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="tutorial_Debug_Versus_Release_Libraries"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Debug Versus Release Libraries</h1>
+ 
+   
+  <div> 
+	 <p>The following table details the Intel® Threading Building
+     Blocks (Intel® TBB) dynamic shared libraries that
+		come in debug and release versions. 
+	 </p>
+ 
+	 
+<div class="tablenoborder"><a name="tbl2"><!-- --></a><table cellpadding="4" summary="" id="tbl2" width="100%" frame="border" border="1" cellspacing="0" rules="all"><caption><span class="tablecap">Dynamic Shared Libraries Included in Intel® Threading Building
+	 Blocks</span></caption> 
+	 <thead align="left"> 
+		<tr> 
+		  <th class="cellrowborder" valign="top" width="31.439393939393938%" id="d131082e40"> 
+			 <p>Library 
+			 </p>
+ 
+			 <p>(*.dll, lib*.so, or lib*.dylib) 
+			 </p>
+ 
+		  </th>
+ 
+		  <th class="cellrowborder" valign="top" width="34.84848484848485%" id="d131082e49"> 
+			 <p>Description 
+			 </p>
+ 
+		  </th>
+ 
+		  <th class="cellrowborder" valign="top" width="33.71212121212121%" id="d131082e55"> 
+			 <p>When to Use 
+			 </p>
+ 
+		  </th>
+ 
+		</tr>
+</thead>
+ 
+	 <tbody> 
+		<tr> 
+		  <td class="cellrowborder" valign="top" width="31.439393939393938%" headers="d131082e40 "> 
+			 <p><samp class="codeph">tbb_debug</samp> 
+			 </p>
+ 
+			 <p><samp class="codeph">tbbmalloc_debug</samp> 
+			 </p>
+ 
+			 <p><samp class="codeph">tbbmalloc_proxy_debug</samp> 
+			 </p>
+ 
+		  </td>
+ 
+		  <td class="cellrowborder" valign="top" width="34.84848484848485%" headers="d131082e49 "> 
+			 <p>These versions have extensive internal checking for correct use of
+				the library. 
+			 </p>
+ 
+		  </td>
+ 
+		  <td class="cellrowborder" valign="top" width="33.71212121212121%" headers="d131082e55 "> 
+			 <p>Use with code that is compiled with the macro 
+				<samp class="codeph">TBB_USE_DEBUG</samp> set to 1. 
+			 </p>
+ 
+		  </td>
+ 
+		</tr>
+ 
+		<tr> 
+		  <td class="cellrowborder" valign="top" width="31.439393939393938%" headers="d131082e40 "> 
+			 <p><samp class="codeph">tbb</samp> 
+			 </p>
+ 
+			 <p><samp class="codeph">tbbmalloc</samp> 
+			 </p>
+ 
+			 <p><samp class="codeph">tbbmalloc_proxy</samp> 
+			 </p>
+ 
+		  </td>
+ 
+		  <td class="cellrowborder" valign="top" width="34.84848484848485%" headers="d131082e49 "> 
+			 <p>These versions deliver top performance. They eliminate most
+				checking for correct use of the library. 
+			 </p>
+ 
+		  </td>
+ 
+		  <td class="cellrowborder" valign="top" width="33.71212121212121%" headers="d131082e55 "> 
+			 <p>Use with code compiled with 
+				<samp class="codeph">TBB_USE_DEBUG</samp> undefined or set to zero. 
+			 </p>
+ 
+		  </td>
+ 
+		</tr>
+ 
+	 </tbody>
+ 
+  </table>
+</div>
+ 
+  <div class="Note"><h3 class="NoteTipHead">
+					Tip</h3> 
+	 <p>Test your programs with the debug versions of the libraries first, to
+		assure that you are using the library correctly.  With the release versions,
+		incorrect usage may result in unpredictable program behavior. 
+	 </p>
+ 
+  </div> 
+  <p>Intel® TBB supports Intel® Parallel Inspector, Intel® Inspector XE, Intel®
+	 Parallel Amplifier, and Intel® VTune™ Amplifier XE. Full support of these tools
+	 requires compiling with macro 
+	 <samp class="codeph">TBB_USE_THREADING_TOOLS</samp>=1. That symbol defaults to 1 in
+	 the following conditions: 
+  </p>
+ 
+  <ul type="disc"> 
+	 <li> 
+		<p>When 
+		  <samp class="codeph">TBB_USE_DEBUG=1</samp>. 
+		</p>
+ 
+	 </li>
+ 
+	 <li> 
+		<p>On the Microsoft Windows* operating system, when 
+		  <samp class="codeph">_DEBUG=1</samp>. 
+		</p>
+ 
+	 </li>
+ 
+  </ul>
+ 
+  <p>The Intel® Threading Building Blocks Reference section explains the
+	 default values in more detail. 
+  </p>
+ 
+  <div class="Note"><h3 class="NoteTipHead">
+					Caution</h3> 
+	 <p>The instrumentation support for Intel® Parallel Inspector and Intel®
+		Inspector XE becomes live after the first initialization of the task library.
+		If the library components are used before this initialization occurs, Intel®
+		Parallel Inspector and Intel® Inspector XE may falsely report race conditions
+		that are not really races. 
+	 </p>
+ 
+  </div> 
+  </div>
+ 
+  
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../tbb_userguide/Package_Contents.htm">Package Contents</a></div>
+</div>
+<div class="See Also">
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="../reference/reference.htm#reference"> Intel® Threading Building Blocks Reference Manual 
+		  </a></div>
+<div><a href="Initializing_and_Terminating_the_Library.htm">Initializing and Terminating the Library 
+		  </a></div></div>
+</div> 
+
+</body>
+</html>
diff --git a/doc/help/tbb_userguide/Design_Patterns/Agglomeration.htm b/doc/help/tbb_userguide/Design_Patterns/Agglomeration.htm
new file mode 100755
index 0000000..d139214
--- /dev/null
+++ b/doc/help/tbb_userguide/Design_Patterns/Agglomeration.htm
@@ -0,0 +1,214 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="Agglomeration">
+<meta name="DC.subject" content="Agglomeration">
+<meta name="keywords" content="Agglomeration">
+<meta name="DC.Relation" scheme="URI" content="../../tbb_userguide/Design_Patterns/Design_Patterns.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="Agglomeration">
+<link rel="stylesheet" type="text/css" href="../../intel_css_styles.css">
+<title>Agglomeration</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="Agglomeration">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(2);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="Agglomeration"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Agglomeration</h1>
+ 
+   
+  <div> 
+	 <div class="section"><h2 class="sectiontitle">Problem</h2> 
+		 
+		<p>Parallelism is so fine grained that overhead of parallel scheduling or
+		  communication swamps the useful work. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Context</h2> 
+		 
+		<p>Many algorithms permit parallelism at a very fine grain, on the order
+		  of a few instructions per task. But synchronization between threads usually
+		  requires orders of magnitude more cycles. For example, elementwise addition of
+		  two arrays can be done fully in parallel, but if each scalar addition is
+		  scheduled as a separate task, most of the time will be spent doing
+		  synchronization instead of useful addition. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Forces</h2> 
+		 
+		<ul type="disc"> 
+		  <li> 
+			 <p>Individual computations can be done in parallel, but are small.
+				For practical use of Intel® Threading Building Blocks (Intel® TBB),
+				"small" here means less than 10,000 clock cycles. 
+			 </p>
+ 
+		  </li>
+ 
+		  <li> 
+			 <p>The parallelism is for sake of performance and not required for
+				semantic reasons. 
+			 </p>
+ 
+		  </li>
+ 
+		</ul>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Solution</h2> 
+		 
+		<p>Group the computations into blocks. Evaluate computations within a
+		  block serially. 
+		</p>
+ 
+		<p>The block size should be chosen to be large enough to amortize
+		  parallel overhead. Too large a block size may limit parallelism or load
+		  balancing because the number of blocks becomes too small to distribute work
+		  evenly across processors. 
+		</p>
+ 
+		<p>The choice of block topology is typically driven by two concerns: 
+		</p>
+ 
+		<ul type="disc"> 
+		  <li> 
+			 <p>Minimizing synchronization between blocks. 
+			 </p>
+ 
+		  </li>
+ 
+		  <li> 
+			 <p>Minimizing cache traffic between blocks. 
+			 </p>
+ 
+		  </li>
+ 
+		</ul>
+ 
+		<p>If the computations are completely independent, then the blocks will
+		  be independent too, and then only cache traffic issues must be considered. 
+		</p>
+ 
+		<p>If the loop is "small", on the order of less than 10,000 clock cycles,
+		  then it may be impractical to parallelize at all, because the optimal
+		  agglomeration might be a single block, 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Examples</h2> 
+		 
+		<p>Intel® TBB loop templates such as 
+		  <samp class="codeph">tbb::parallel_for</samp> that take a 
+		  <em>range</em> argument support automatic agglomeration. 
+		</p>
+ 
+		<p>When agglomerating, think about cache effects. Avoid having cache
+		  lines cross between groups if possible. 
+		</p>
+ 
+		<p>There may be boundary to interior ratio effects. For example, if the
+		  computations form a 2D grid, and communicate only with nearest neighbors, then
+		  the computation per block grows quadratically (with the block’s area), but the
+		  cross-block communication grows with linearly (with the block’s perimeter). The
+		  following figure shows four different ways to agglomerate an 8×8 grid. If doing
+		  such analysis, be careful to consider that information is transferred in cache
+		  line units. For a given area, the perimeter may be minimized when the block is
+		  square with respect to the underlying grid of cache lines, not square with
+		  respect to the logical grid. 
+		</p>
+ 
+		<div class="fignone" id="fig1"><a name="fig1"><!-- --></a><span class="figcap">Four different agglomerations of an 8×8 grid.</span> 
+		  <img width="301" height="293" src="Images/image002.jpg"> 
+		</div>
+ 
+		<p>Also consider vectorization. Blocks that contain long contiguous
+		  subsets of data may better enable vectorization. 
+		</p>
+ 
+		<p>For recursive computations, most of the work is towards the leaves, so
+		  the solution is to treat subtrees as a groups as shown in the following figure.
+		  
+		</p>
+ 
+		<div class="fignone" id="fig2"><a name="fig2"><!-- --></a><span class="figcap">Agglomeration of a recursive computation</span> 
+		  <img width="291" height="150" src="Images/image003.jpg"> 
+		</div>
+ 
+		<p>Often such an agglomeration is achieved by recursing serially once
+		  some threshold is reached. For example, a recursive sort might solve
+		  sub-problems in parallel only if they are above a certain threshold size. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Reference</h2> 
+		 
+		<p>Ian Foster introduced the term "agglomeration" in his book 
+		  <cite>Designing and Building Parallel Programs</cite>
+		  http://www.mcs.anl.gov/~itf/dbpp. There agglomeration is part of a four step 
+		  <strong>PCAM</strong> design method: 
+		</p>
+ 
+		<ol> 
+		  <li> 
+			 <p><strong>P</strong>artitioning - break the program into the smallest tasks
+				possible. 
+			 </p>
+ 
+		  </li>
+ 
+		  <li> 
+			 <p><strong>C</strong>ommunication – figure out what communication is required
+				between tasks. When using Intel® TBB, communication is usually cache line
+				transfers. Though they are automatic, understanding which ones happen between
+				tasks helps guide the agglomeration step. 
+			 </p>
+ 
+		  </li>
+ 
+		  <li> 
+			 <p><strong>A</strong>gglomeration – combine tasks into larger tasks. His book
+				has an extensive list of considerations that is worth reading. 
+			 </p>
+ 
+		  </li>
+ 
+		  <li> 
+			 <p><strong>M</strong>apping – map tasks onto processors. The Intel® TBB task
+				scheduler does this step for you. 
+			 </p>
+ 
+		  </li>
+ 
+		</ol>
+ 
+	 </div>
+ 
+  </div>
+ 
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../tbb_userguide/Design_Patterns/Design_Patterns.htm">Design Patterns</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/tbb_userguide/Design_Patterns/Compare_and_Swap_Loop.htm b/doc/help/tbb_userguide/Design_Patterns/Compare_and_Swap_Loop.htm
new file mode 100755
index 0000000..a937d5b
--- /dev/null
+++ b/doc/help/tbb_userguide/Design_Patterns/Compare_and_Swap_Loop.htm
@@ -0,0 +1,209 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="Compare and Swap Loop">
+<meta name="DC.subject" content="Compare and Swap Loop">
+<meta name="keywords" content="Compare and Swap Loop">
+<meta name="DC.Relation" scheme="URI" content="../../tbb_userguide/Design_Patterns/Design_Patterns.htm">
+<meta name="DC.Relation" scheme="URI" content="Reduction.htm#Reduction">
+<meta name="DC.Relation" scheme="URI" content="Reference_Counting.htm#Reference_Counting">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="Compare_and_Swap_Loop">
+<link rel="stylesheet" type="text/css" href="../../intel_css_styles.css">
+<title>Compare and Swap Loop</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="Compare_and_Swap_Loop">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(2);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="Compare_and_Swap_Loop"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Compare and Swap Loop</h1>
+ 
+   
+  <div> 
+	 <div class="section"><h2 class="sectiontitle">Problem</h2> 
+		 
+		<p>Atomically update a scalar value so that a predicate is satisfied. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Context</h2> 
+		 
+		<p>Often a shared variable must be updated atomically, by a transform
+		  that maps its old value to a new value. The transform might be a transition of
+		  a finite state machine, or recording global knowledge. For instance, the shared
+		  variable might be recording the maximum value that any thread has seen so far. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Forces</h2> 
+		 
+		<ul type="disc"> 
+		  <li> 
+			 <p>The variable is read and updated by multiple threads. 
+			 </p>
+ 
+		  </li>
+ 
+		  <li> 
+			 <p>The hardware implements "compare and swap" for a variable of that
+				type. 
+			 </p>
+ 
+		  </li>
+ 
+		  <li> 
+			 <p>Protecting the update with a mutex is to be avoided. 
+			 </p>
+ 
+		  </li>
+ 
+		</ul>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Related</h2> 
+		 
+		<ul type="disc"> 
+		  <li>Reduction 
+		  </li>
+ 
+		  <li>Reference Counting 
+		  </li>
+ 
+		</ul>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Solution</h2> 
+		 
+		<p>The solution is to atomically snapshot the current value, and then use
+		  
+		  <samp class="codeph">atomic<T>::compare_and_swap</samp> to update it. Retry
+		  until the 
+		  <samp class="codeph">compare_and_swap</samp> succeeds. In some cases it may be
+		  possible to exit before the 
+		  <samp class="codeph">compare_and_swap</samp> succeeds because the current value
+		  meets some condition. 
+		</p>
+ 
+		<p>The template below does the update x=f(x) atomically. 
+		</p>
+ 
+<pre>// Atomically perform x=f(x).
+template<typename F, typename T>
+void AtomicUpdate( atomic<T>& x, F f ) {
+   int o;
+   do {
+       // Take a snapshot
+       o = x;
+       // Attempt to install new value computed from snapshot
+   } while( x.compare_and_swap(f(o),o)!=o );
+}</pre> 
+		<p>It is critical to take a snapshot and use it for intermediate
+		  calculations, because the value of X may be changed by other threads in the
+		  meantime. 
+		</p>
+ 
+		<p>The following code shows how the template might be used to maintain a
+		  global maximum of any value seen by 
+		  <samp class="codeph">RecordMax</samp>. 
+		</p>
+ 
+		<pre>// Atomically perform UpperBound = max(UpperBound,y) 
+void RecordMax( int y ) {
+   extern atomic<int> UpperBound;
+   AtomicUpdate(UpperBound, [&](int value){return std::max(value,y);} );
+}</pre> 
+		<p>When y is not going to increase 
+		  <samp class="codeph">UpperBound</samp>, the call to 
+		  <samp class="codeph">AtomicUpdate</samp> will waste time doing the redundant
+		  operation 
+		  <samp class="codeph">compare_and_swap(o,o)</samp>. In general, this kind of
+		  redundancy can be eliminated by making the loop in 
+		  <samp class="codeph">AtomicUpdate</samp> exit early if 
+		  <samp class="codeph">f(o)==o</samp>. In this particular case where 
+		  <samp class="codeph">F==std::max<int></samp>, that test can be further
+		  simplified. The following custom version of 
+		  <samp class="codeph">RecordMax</samp> has the simplified test. 
+		</p>
+ 
+		<pre>// Atomically perform UpperBound =max(UpperBound,y) 
+void RecordMax( int y ) . .
+   extern atomic<int> UpperBound;
+   do {
+       // Take a snapshot
+       int o = UpperBound;
+       // Quit if snapshot meets condition.
+       if( o>=y ) break;
+       // Attempt to install new value.
+   } while( UpperBound.compare_and_swap(y,o)!=o );
+}</pre> 
+		<p>Because all participating threads modify a common location, the
+		  performance of a compare and swap loop can be poor under high contention. Thus
+		  the applicability of more efficient patterns should be considered first. In
+		  particular: 
+		</p>
+ 
+		<ul type="disc"> 
+		  <li> 
+			 <p>If the overall purpose is a reduction, use the reduction pattern
+				instead. 
+			 </p>
+ 
+		  </li>
+ 
+		  <li> 
+			 <p>If the update is addition or subtraction, use 
+				<samp class="codeph">atomic<T>::fetch_and_add</samp>. If the update is
+				addition or subtraction by one, use 
+				<samp class="codeph">atomic<T>::operater++</samp> or 
+				<samp class="codeph">atomic<T>::operator--</samp>. These methods
+				typically employ direct hardware support that avoids a compare and swap loop. 
+			 </p>
+ 
+		  </li>
+ 
+		</ul>
+ 
+		<div class="Note"><h3 class="NoteTipHead">
+					Caution</h3> 
+		  <p>When using 
+			 <samp class="codeph">compare_and_swap</samp> to update links in a linked
+			 structure, be sure you understand if the "ABA problem" is an issue. See the
+			 Internet for discourses on the subject.
+		  </p>
+ 
+		</div> 
+	 </div>
+ 
+  </div>
+ 
+  
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../tbb_userguide/Design_Patterns/Design_Patterns.htm">Design Patterns</a></div>
+</div>
+<div class="See Also">
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="Reduction.htm#Reduction">Reduction 
+		  </a></div>
+<div><a href="Reference_Counting.htm#Reference_Counting">Reference Counting 
+		  </a></div></div>
+</div> 
+
+</body>
+</html>
diff --git a/doc/help/tbb_userguide/Design_Patterns/Design_Patterns.htm b/doc/help/tbb_userguide/Design_Patterns/Design_Patterns.htm
new file mode 100755
index 0000000..cafdf3b
--- /dev/null
+++ b/doc/help/tbb_userguide/Design_Patterns/Design_Patterns.htm
@@ -0,0 +1,149 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="Design Patterns">
+<meta name="DC.Relation" scheme="URI" content="../../tbb_userguide/title.htm">
+<meta name="DC.Relation" scheme="URI" content="../../tbb_userguide/Design_Patterns/Agglomeration.htm">
+<meta name="DC.Relation" scheme="URI" content="../../tbb_userguide/Design_Patterns/Elementwise.htm">
+<meta name="DC.Relation" scheme="URI" content="../../tbb_userguide/Design_Patterns/Odd-Even_Communication.htm">
+<meta name="DC.Relation" scheme="URI" content="../../tbb_userguide/Design_Patterns/Wavefront.htm">
+<meta name="DC.Relation" scheme="URI" content="../../tbb_userguide/Design_Patterns/Reduction.htm">
+<meta name="DC.Relation" scheme="URI" content="../../tbb_userguide/Design_Patterns/Divide_and_Conquer.htm">
+<meta name="DC.Relation" scheme="URI" content="../../tbb_userguide/Design_Patterns/GUI_Thread.htm">
+<meta name="DC.Relation" scheme="URI" content="../../tbb_userguide/Design_Patterns/Non-Preemptive_Priorities.htm">
+<meta name="DC.Relation" scheme="URI" content="../../tbb_userguide/Design_Patterns/Local_Serializer.htm">
+<meta name="DC.Relation" scheme="URI" content="../../tbb_userguide/Design_Patterns/Fenced_Data_Transfer.htm">
+<meta name="DC.Relation" scheme="URI" content="../../tbb_userguide/Design_Patterns/Lazy_Initialization.htm">
+<meta name="DC.Relation" scheme="URI" content="../../tbb_userguide/Design_Patterns/Reference_Counting.htm">
+<meta name="DC.Relation" scheme="URI" content="../../tbb_userguide/Design_Patterns/Compare_and_Swap_Loop.htm">
+<meta name="DC.Relation" scheme="URI" content="../../tbb_userguide/Design_Patterns/General_References.htm">
+<meta name="DC.Relation" scheme="URI" content="../Lambda_Expressions.htm#tutorial_Lambda_Expressions">
+<meta name="DC.Relation" scheme="URI" content="General_References.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="Introduction">
+<link rel="stylesheet" type="text/css" href="../../intel_css_styles.css">
+<title>Design Patterns</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="Introduction">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(2);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="Introduction"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Design Patterns</h1>
+ 
+   
+  <div> 
+	 <p>This section provides some common parallel programming patterns and how
+		to implement them in Intel® Threading Building Blocks (Intel® TBB). 
+	 </p>
+ 
+	 <p>The description of each pattern has the following format: 
+	 </p>
+ 
+	 <ul type="disc"> 
+		<li> 
+		  <p><strong>Problem</strong> – describes the problem to be solved. 
+		  </p>
+ 
+		</li>
+ 
+		<li> 
+		  <p><strong>Context</strong> – describes contexts in which the problem arises. 
+		  </p>
+ 
+		</li>
+ 
+		<li> 
+		  <p><strong>Forces</strong> . considerations that drive use of the pattern. 
+		  </p>
+ 
+		</li>
+ 
+		<li> 
+		  <p><strong>Solution</strong> . describes how to implement the pattern. 
+		  </p>
+ 
+		</li>
+ 
+		<li> 
+		  <p><strong>Example</strong> – presents an example implementation. 
+		  </p>
+ 
+		</li>
+ 
+	 </ul>
+ 
+	 <p>Variations and examples are sometimes discussed. The code examples are
+		intended to emphasize key points and are not full-fledged code. Examples may
+		omit obvious const overloads of non-const methods. 
+	 </p>
+ 
+	 <p>Much of the nomenclature and examples are adapted from Web pages created
+		by Eun-Gyu and Marc Snir, and the Berkeley parallel patterns wiki. See links in
+		the General References section. 
+	 </p>
+ 
+	 <p>For brevity, some of the code examples use C++11 lambda expressions. It
+		is straightforward, albeit sometimes tedious, to translate such lambda
+		expressions into equivalent C++98 code. 
+	 </p>
+ 
+  </div>
+ 
+  
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../tbb_userguide/title.htm">Intel® Threading Building Blocks (Intel® TBB) User Guide</a></div>
+</div>
+<div class="See Also">
+<ul class="ullinks">
+<li class="ulchildlink"><a href="../../tbb_userguide/Design_Patterns/Agglomeration.htm">Agglomeration</a><br>
+</li>
+<li class="ulchildlink"><a href="../../tbb_userguide/Design_Patterns/Elementwise.htm">Elementwise</a><br>
+</li>
+<li class="ulchildlink"><a href="../../tbb_userguide/Design_Patterns/Odd-Even_Communication.htm">Odd-Even Communication</a><br>
+</li>
+<li class="ulchildlink"><a href="../../tbb_userguide/Design_Patterns/Wavefront.htm">Wavefront</a><br>
+</li>
+<li class="ulchildlink"><a href="../../tbb_userguide/Design_Patterns/Reduction.htm">Reduction</a><br>
+</li>
+<li class="ulchildlink"><a href="../../tbb_userguide/Design_Patterns/Divide_and_Conquer.htm">Divide and Conquer</a><br>
+</li>
+<li class="ulchildlink"><a href="../../tbb_userguide/Design_Patterns/GUI_Thread.htm">GUI Thread</a><br>
+</li>
+<li class="ulchildlink"><a href="../../tbb_userguide/Design_Patterns/Non-Preemptive_Priorities.htm">Non-Preemptive Priorities</a><br>
+</li>
+<li class="ulchildlink"><a href="../../tbb_userguide/Design_Patterns/Local_Serializer.htm">Local Serializer</a><br>
+</li>
+<li class="ulchildlink"><a href="../../tbb_userguide/Design_Patterns/Fenced_Data_Transfer.htm">Fenced Data Transfer</a><br>
+</li>
+<li class="ulchildlink"><a href="../../tbb_userguide/Design_Patterns/Lazy_Initialization.htm">Lazy Initialization</a><br>
+</li>
+<li class="ulchildlink"><a href="../../tbb_userguide/Design_Patterns/Reference_Counting.htm">Reference Counting</a><br>
+</li>
+<li class="ulchildlink"><a href="../../tbb_userguide/Design_Patterns/Compare_and_Swap_Loop.htm">Compare and Swap Loop</a><br>
+</li>
+<li class="ulchildlink"><a href="../../tbb_userguide/Design_Patterns/General_References.htm">General References</a><br>
+</li>
+</ul>
+
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="../Lambda_Expressions.htm#tutorial_Lambda_Expressions">Lambda Expressions 
+		  </a></div>
+<div><a href="General_References.htm">General References 
+		  </a></div></div>
+</div> 
+
+</body>
+</html>
diff --git a/doc/help/tbb_userguide/Design_Patterns/Divide_and_Conquer.htm b/doc/help/tbb_userguide/Design_Patterns/Divide_and_Conquer.htm
new file mode 100755
index 0000000..5eff0c9
--- /dev/null
+++ b/doc/help/tbb_userguide/Design_Patterns/Divide_and_Conquer.htm
@@ -0,0 +1,259 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="Divide and Conquer">
+<meta name="DC.subject" content="Divide and Conquer">
+<meta name="keywords" content="Divide and Conquer">
+<meta name="DC.Relation" scheme="URI" content="../../tbb_userguide/Design_Patterns/Design_Patterns.htm">
+<meta name="DC.Relation" scheme="URI" content="Agglomeration.htm#Agglomeration">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="Divide_and_Conquer">
+<link rel="stylesheet" type="text/css" href="../../intel_css_styles.css">
+<title>Divide and Conquer</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="Divide_and_Conquer">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(2);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="Divide_and_Conquer"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Divide and Conquer</h1>
+ 
+   
+  <div> 
+	 <div class="section"><h2 class="sectiontitle">Problem</h2> 
+		 
+		<p>Parallelize a divide and conquer algorithm. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Context</h2> 
+		 
+		<p>Divide and conquer is widely used in serial algorithms. Common
+		  examples are quicksort and mergesort. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Forces</h2> 
+		 
+		<ul type="disc"> 
+		  <li> 
+			 <p>Problem can be transformed into subproblems that can be solved
+				independently. 
+			 </p>
+ 
+		  </li>
+ 
+		  <li> 
+			 <p>Splitting problem or merging solutions is relatively cheap
+				compared to cost of solving the subproblems. 
+			 </p>
+ 
+		  </li>
+ 
+		</ul>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Solution</h2> 
+		 
+		<p>There are several ways to implement divide and conquer in Intel®
+		  Threading Building Blocks (Intel® TBB). The best choice depends upon
+		  circumstances. 
+		</p>
+ 
+		<ul type="disc"> 
+		  <li> 
+			 <p>If division always yields the same number of subproblems, use
+				recursion and 
+				<samp class="codeph">tbb::parallel_invoke</samp>. 
+			 </p>
+ 
+		  </li>
+ 
+		  <li> 
+			 <p>If the number of subproblems varies, use recursion and 
+				<samp class="codeph">tbb::task_group</samp>. 
+			 </p>
+ 
+		  </li>
+ 
+		  <li> 
+			 <p>If ultimate efficiency and scalability is important, use 
+				<samp class="codeph">tbb::task</samp> and continuation passing style. 
+			 </p>
+ 
+		  </li>
+ 
+		</ul>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Example</h2> 
+		 
+		<p>Quicksort is a classic divide-and-conquer algorithm. It divides a
+		  sorting problem into two subsorts. A simple serial version looks
+		  like:<a name="fnsrc_1" href="#fntarg_1"><sup>1</sup></a> 
+		</p>
+ 
+		<pre>void SerialQuicksort( T* begin, T* end ) {
+   if( end-begin>1  ) {
+       using namespace std;
+       T* mid = partition( begin+1, end, bind2nd(less<T>(),*begin) );
+       swap( *begin, mid[-1] );
+       SerialQuicksort( begin, mid-1 );
+       SerialQuicksort( mid, end );
+   }
+}</pre> 
+		<p>The number of subsorts is fixed at two, so 
+		  <samp class="codeph">tbb::parallel_invoke</samp> provides a simple way to
+		  parallelize it. The parallel code is shown below: 
+		</p>
+ 
+		<pre>void ParallelQuicksort( T* begin, T* end ) {
+   if( end-begin>1 ) {
+       using namespace std;
+       T* mid = partition( begin+1, end, bind2nd(less<T>(),*begin) );
+       swap( *begin, mid[-1] );
+       tbb::parallel_invoke( [=]{ParallelQuicksort( begin, mid-1 );},
+                             [=]{ParallelQuicksort( mid, end );} );
+   }
+}</pre> 
+		<p>Eventually the subsorts become small enough that serial execution is
+		  more efficient. The following variation, with the change shown in 
+		  <samp class="codeph"><span style="color:blue"><strong>bold font</strong></span></samp>,
+		  does sorts of less than 500 elements using the earlier serial code. 
+		</p>
+ 
+		<pre>void ParallelQuicksort( T* begin, T* end ) {
+   if( end-begin>=<span style="color:blue"><strong>500</strong></span> ) {
+       using namespace std;
+       T* mid = partition( begin+1, end, bind2nd(less<T>(),*begin) );
+       swap( *begin, mid[-1] );
+       tbb::parallel_invoke( [=]{ParallelQuicksort( begin, mid-1 );},
+                             [=]{ParallelQuicksort( mid, end );} );
+   } <span style="color:blue"><strong>else {
+       SerialQuicksort( begin, end );
+   }</strong></span>
+}</pre> 
+		<p>The change is an instance of the Agglomeration pattern. 
+		</p>
+ 
+		<p>The next example considers a problem where there are a variable number
+		  of subproblems. The problem involves a tree-like description of a mechanical
+		  assembly. There are two kinds of nodes: 
+		</p>
+ 
+		<ul type="disc"> 
+		  <li> 
+			 <p>Leaf nodes represent individual parts. 
+			 </p>
+ 
+		  </li>
+ 
+		  <li> 
+			 <p>Internal nodes represent groups of parts. 
+			 </p>
+ 
+		  </li>
+ 
+		</ul>
+ 
+		<p>The problem is to find all nodes that collide with a target node. The
+		  following code shows a serial solution that walks the tree. It records in 
+		  <samp class="codeph">Hits</samp> any nodes that collide with 
+		  <samp class="codeph">Target</samp>. 
+		</p>
+ 
+		<pre>std::list<Node*> Hits;
+Node* Target;
+ 
+void SerialFindCollisions( Node& x ) {
+   if( x.is_leaf() ) {
+       if( x.collides_with( *Target ) )
+           Hits.push_back(&x);
+   } else {
+       for( Node::const_iterator y=x.begin();y!=x.end(); ++y )
+           SerialFindCollisions(*y);
+   }
+} </pre> 
+		<p id="ParallelFindCollisions"><a name="ParallelFindCollisions"><!-- --></a>A parallel version is shown below. 
+		</p>
+ 
+		<pre>typedef tbb::enumerable_thread_specific<std::list<Node*> > LocalList;
+LocalList LocalHits; 
+Node* Target;    // Target node    
+ 
+void ParallelWalk( Node& x ) {
+   if( x.is_leaf() ) {
+       if( x.collides_with( *Target ) )
+           LocalHits.local().push_back(&x);
+   } else {
+       // Recurse on each child y of x in parallel
+       tbb::task_group g;
+       for( Node::const_iterator y=x.begin(); y!=x.end(); ++y )
+           g.run( [=]{ParallelWalk(*y);} );
+       // Wait for recursive calls to complete
+       g.wait();
+   }
+}
+ 
+void ParallelFindCollisions( Node& x ) {
+   ParallelWalk(x);
+   for(LocalList::iterator i=LocalHits.begin();i!=LocalHits.end(); ++i)
+       Hits.splice( Hits.end(), *i );
+} </pre> 
+		<p>The recursive walk is parallelized using class 
+		  <samp class="codeph">task_group</samp> to do recursive calls in parallel. 
+		</p>
+ 
+		<p>There is another significant change because of the parallelism that is
+		  introduced. Because it would be unsafe to update 
+		  <samp class="codeph">Hits</samp> concurrently, the parallel walk uses variable 
+		  <samp class="codeph">LocalHits</samp> to accumulate results. Because it is of type
+		  
+		  <samp class="codeph">enumerable_thread_specific</samp>, each thread accumulates
+		  its own private result. The results are spliced together into Hits after the
+		  walk completes. 
+		</p>
+ 
+		<p>The results will 
+		  <em>not</em> be in the same order as the original serial code. 
+		</p>
+ 
+		<p>If parallel overhead is high, use the agglomeration pattern. For
+		  example, use the serial walk for subtrees under a certain threshold. 
+		</p>
+ 
+	 </div>
+ 
+  </div>
+ 
+  
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../tbb_userguide/Design_Patterns/Design_Patterns.htm">Design Patterns</a></div>
+</div>
+<div class="See Also">
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="Agglomeration.htm#Agglomeration">Agglomeration 
+		  </a></div></div>
+</div> 
+<p><a name="fntarg_1" href="#fnsrc_1"><sup>1</sup></a>  Production quality quicksort implementations typically use more
+			 sophisticated pivot selection, explicit stacks instead of recursion, and some
+			 other sorting algorithm for small subsorts. The simple algorithm is used here
+			 to focus on exposition of the parallel pattern.</p>
+</body>
+</html>
diff --git a/doc/help/tbb_userguide/Design_Patterns/Elementwise.htm b/doc/help/tbb_userguide/Design_Patterns/Elementwise.htm
new file mode 100755
index 0000000..0be5d89
--- /dev/null
+++ b/doc/help/tbb_userguide/Design_Patterns/Elementwise.htm
@@ -0,0 +1,158 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="Elementwise">
+<meta name="DC.subject" content="Elementwise">
+<meta name="keywords" content="Elementwise">
+<meta name="DC.Relation" scheme="URI" content="../../tbb_userguide/Design_Patterns/Design_Patterns.htm">
+<meta name="DC.Relation" scheme="URI" content="Agglomeration.htm#Agglomeration">
+<meta name="DC.Relation" scheme="URI" content="Reduction.htm#Reduction">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="Elementwise">
+<link rel="stylesheet" type="text/css" href="../../intel_css_styles.css">
+<title>Elementwise</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="Elementwise">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(2);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="Elementwise"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Elementwise</h1>
+ 
+   
+  <div> 
+	 <div class="section"><h2 class="sectiontitle">Problem</h2> 
+		 
+		<p>Initiate similar independent computations across items in a data set,
+		  and wait until all complete. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Context</h2> 
+		 
+		<p>Many serial algorithms sweep over a set of items and do an independent
+		  computation on each item. However, if some kind of summary information is
+		  collected, use the Reduction pattern instead. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Forces</h2> 
+		 
+		<p>No information is carried or merged between the computations. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Solution</h2> 
+		 
+		<p>If the number of items is known in advance, use 
+		  <samp class="codeph">tbb::parallel_for</samp>. If not, consider using 
+		  <samp class="codeph">tbb::parallel_do</samp>. 
+		</p>
+ 
+		<p>Use agglomeration if the individual computations are small relative to
+		  scheduler overheads. 
+		</p>
+ 
+		<p>If the pattern is followed by a reduction on the same data, consider
+		  doing the element-wise operation as part of the reduction, so that the
+		  combination of the two patterns is accomplished in a single sweep instead of
+		  two sweeps. Doing so may improve performance by reducing traffic through the
+		  memory hierarchy. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Example</h2> 
+		 
+		<p>Convolution is often used in signal processing. The convolution of a
+		  filter 
+		  <var>c</var> and signal 
+		  <var>x</var> is computed as: 
+		</p>
+<br><img width="99" height="29" src="Images/image004.jpg"><br> 
+		<p>Serial code for this computation might look like: 
+		</p>
+ 
+		<pre>// Assumes c[0..clen-1] and x[1-clen..xlen-1] are defined
+for( int i=0; i<xlen+clen-1; ++i ) {
+   float tmp = 0;
+   for( int j=0; j<clen; ++j )
+       tmp += c[j]*x[i-j];
+   y[i] = tmp;
+}</pre> 
+		<p>For simplicity, the fragment assumes that 
+		  <samp class="codeph">x</samp> is a pointer into an array padded with zeros such
+		  that 
+		  <samp class="codeph">x[k]</samp>returns zero when 
+		  <samp class="codeph">k<0</samp> or 
+		  <samp class="codeph">k≥xlen</samp>. 
+		</p>
+ 
+		<p>The inner loop does not fit the elementwise pattern, because each
+		  iteration depends on the previous iteration. However, the outer loop fits the
+		  elementwise pattern. It is straightforward to render it using 
+		  <samp class="codeph">tbb::parallel_for</samp> as shown: 
+		</p>
+ 
+		<pre>tbb::parallel_for( 0, xlen+clen-1, [=]( int i ) { 
+   float tmp = 0;
+   for( int j=0; j<clen; ++j )
+       tmp += c[j]*x[i-j];
+   y[i] = tmp;
+});</pre> 
+		<p><samp class="codeph">tbb::parallel_for</samp> does automatic agglomeration by
+		  implicitly using <samp class="codeph">tbb::auto_partitioner</samp> in its underlying
+		  implementation. If there is reason to agglomerate explicitly, use the overload
+		  of 
+		  <samp class="codeph">tbb::parallel_for</samp> that takes an explicit range
+		  argument. The following shows the example transformed to use the overload. 
+		</p>
+ 
+		<pre>tbb::parallel_for(
+   tbb::blocked_range<int>(0,xlen+clen-1,1000),
+   [=]( tbb::blocked_range<int> r ) { 
+		 int end = r.end();
+       for( int i=r.begin(); i!=end; ++i ) {
+           float tmp = 0;
+           for( int j=0; j<clen; ++j )
+               tmp += c[j]*x[i-j];
+           y[i] = tmp;
+       }
+   }
+);</pre> 
+		<p>  
+		</p>
+ 
+	 </div>
+ 
+  </div>
+ 
+  
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../tbb_userguide/Design_Patterns/Design_Patterns.htm">Design Patterns</a></div>
+</div>
+<div class="See Also">
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="Agglomeration.htm#Agglomeration">Agglomeration 
+		  </a></div>
+<div><a href="Reduction.htm#Reduction">Reduction 
+		  </a></div></div>
+</div> 
+
+</body>
+</html>
diff --git a/doc/help/tbb_userguide/Design_Patterns/Fenced_Data_Transfer.htm b/doc/help/tbb_userguide/Design_Patterns/Fenced_Data_Transfer.htm
new file mode 100755
index 0000000..a3bd468
--- /dev/null
+++ b/doc/help/tbb_userguide/Design_Patterns/Fenced_Data_Transfer.htm
@@ -0,0 +1,218 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="Fenced Data Transfer">
+<meta name="DC.subject" content="Fenced Data Transfer">
+<meta name="keywords" content="Fenced Data Transfer">
+<meta name="DC.Relation" scheme="URI" content="../../tbb_userguide/Design_Patterns/Design_Patterns.htm">
+<meta name="DC.Relation" scheme="URI" content="Lazy_Initialization.htm#Lazy_Initialization">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="Fenced_Data_Transfer">
+<link rel="stylesheet" type="text/css" href="../../intel_css_styles.css">
+<title>Fenced Data Transfer</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="Fenced_Data_Transfer">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(2);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="Fenced_Data_Transfer"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Fenced Data Transfer</h1>
+ 
+   
+  <div> 
+	 <div class="section"><h2 class="sectiontitle">Problem</h2> 
+		 
+		<p>Write a message to memory and have another processor read it on
+		  hardware that does not have a sequentially consistent memory model. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Context</h2> 
+		 
+		<p>The problem normally arises only when unsynchronized threads
+		  concurrently act on a memory location, or are using reads and writes to create
+		  synchronization. High level synchronization constructs normally include
+		  mechanisms that prevent unwanted reordering. 
+		</p>
+ 
+		<p>Modern hardware and compilers can reorder memory operations in a way
+		  that preserves the order of a thread's operation from its viewpoint, but not as
+		  observed by other threads. A serial common idiom is to write a message and mark
+		  it as ready to ready as shown in the following code: 
+		</p>
+ 
+		<pre>bool Ready;                    
+std::string Message;
+ 
+void Send( const std::string& src ) {. // Executed by thread 1
+   Message=src;
+   Ready = true;
+}
+ 
+bool Receive( std::string& dst ) {    // Executed by thread 2
+   bool result = Ready;
+   if( result ) dst=Message;
+   return result;              // Return true if message was received.
+}</pre> 
+		<p>Two key assumptions of the code are: 
+		</p>
+ 
+		<ol class="abc"> 
+		  <li> 
+			 <p><samp class="codeph">Ready</samp> does not become true until 
+				<samp class="codeph">Message</samp> is written. 
+			 </p>
+ 
+		  </li>
+ 
+		  <li> 
+			 <p><samp class="codeph">Message</samp> is not read until 
+				<samp class="codeph">Ready</samp> becomes true. 
+			 </p>
+ 
+		  </li>
+ 
+		</ol>
+ 
+		<p>These assumptions are trivially true on uniprocessor hardware.
+		  However, they may break on multiprocessor hardware. Reordering by the hardware
+		  or compiler can cause the sender's writes to appear out of order to the
+		  receiver (thus breaking condition a) or the receiver's reads to appear out of
+		  order (thus breaking condition b). 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Forces</h2> 
+		 
+		<ul type="disc"> 
+		  <li> 
+			 <p>Creating synchronization via raw reads and writes. 
+			 </p>
+ 
+		  </li>
+ 
+		</ul>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Related</h2> 
+		 
+		<ul type="disc"> 
+		  <li>Lazy Initialization 
+		  </li>
+ 
+		</ul>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Solution</h2> 
+		 
+		<p>Change the flag from 
+		  <samp class="codeph">bool</samp> to 
+		  <samp class="codeph">tbb::atomic<bool></samp> for the flag that indicates
+		  when the message is ready. Here is the previous example, with modifications
+		  shown in 
+		  <samp class="codeph"><span style="color:blue"><strong>bold font</strong></span></samp>. 
+		</p>
+ 
+		<pre><span style="color:blue"><strong>tbb::atomic<</strong></span>bool<span style="color:blue"><strong>></strong></span> Ready;
+std::string Message;
+ 
+void Send( const std::string& src ) {. // Executed by thread 1
+   Message=src;
+   Ready = true;
+}
+ 
+bool Receive( std::string& dst ) {    // Executed by thread 2
+   bool result = Ready;
+   if( result ) dst=Message;
+   return result;              // Return true if message was received.
+}</pre> 
+		<p>A write to a 
+		  <samp class="codeph">tbb::atomic</samp> value has 
+		  <em>release</em> semantics, which means that all of its prior writes will
+		  be seen before the releasing write. A read from 
+		  <samp class="codeph">tbb::atomic</samp> value has 
+		  <em>acquire</em> semantics, which means that all of its subsequent reads
+		  will happen after the acquiring read. The implementation of 
+		  <samp class="codeph">tbb::atomic</samp> ensures that both the compiler and the
+		  hardware observe these ordering constraints. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Variations</h2> 
+		 
+		<p>Higher level synchronization constructs normally include the necessary
+		  
+		  <em>acquire</em> and 
+		  <em>release</em> fences. For example, mutexes are normally implemented
+		  such that acquisition of a lock has 
+		  <em>acquire</em> semantics and release of a lock has 
+		  <em>release</em> semantics. Thus a thread that acquires a lock on a mutex
+		  always sees any memory writes done by another thread before it released a lock
+		  on that mutex. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Non Solutions</h2> 
+		 
+		<p>Mistaken solutions are so often proposed that it is worth
+		  understanding why they are wrong. 
+		</p>
+ 
+		<p>One common mistake is to assume that declaring the flag with the 
+		  <samp class="codeph">volatile</samp> keyword solves the problem. Though the 
+		  <samp class="codeph">volatile</samp> keyword forces a write to happen immediately,
+		  it generally has no effect on the visible ordering of that write with respect
+		  to other memory operations. An exception to this rule are processors from the
+		  Intel® Itanium® processor family, which by convention assign acquire semantics
+		  to 
+		  <samp class="codeph">volatile</samp> reads and release semantics to volatile
+		  writes. 
+		</p>
+ 
+		<p>Another mistake is to assume that conditionally executed code cannot
+		  happen before the condition is tested. However, the compiler or hardware may
+		  speculatively hoist the conditional code above the condition. 
+		</p>
+ 
+		<p>Similarly, it is a mistake to assume that a processor cannot read the
+		  target of a pointer before reading the pointer. A modern processor does not
+		  read individual values from main memory. It reads cache lines. The target of a
+		  pointer may be in a cache line that has already been read before the pointer
+		  was read, thus giving the appearance that the processor presciently read the
+		  pointer target. 
+		</p>
+ 
+	 </div>
+ 
+  </div>
+ 
+  
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../tbb_userguide/Design_Patterns/Design_Patterns.htm">Design Patterns</a></div>
+</div>
+<div class="See Also">
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="Lazy_Initialization.htm#Lazy_Initialization">Lazy Initialization 
+		  </a></div></div>
+</div> 
+
+</body>
+</html>
diff --git a/doc/help/tbb_userguide/Design_Patterns/GUI_Thread.htm b/doc/help/tbb_userguide/Design_Patterns/GUI_Thread.htm
new file mode 100755
index 0000000..81f1d66
--- /dev/null
+++ b/doc/help/tbb_userguide/Design_Patterns/GUI_Thread.htm
@@ -0,0 +1,284 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="GUI Thread">
+<meta name="DC.subject" content="GUI Thread">
+<meta name="keywords" content="GUI Thread">
+<meta name="DC.Relation" scheme="URI" content="../../tbb_userguide/Design_Patterns/Design_Patterns.htm">
+<meta name="DC.Relation" scheme="URI" content="Non-Preemptive_Priorities.htm#Non-Preemptive_Priorities">
+<meta name="DC.Relation" scheme="URI" content="Local_Serializer.htm#Local_Serializer">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="GUI_Thread">
+<link rel="stylesheet" type="text/css" href="../../intel_css_styles.css">
+<title>GUI Thread</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="GUI_Thread">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(2);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="GUI_Thread"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">GUI Thread</h1>
+ 
+   
+  <div> 
+	 <div class="section"><h2 class="sectiontitle">Problem</h2> 
+		 
+		<p>A user interface thread must remain responsive to user requests, and
+		  must not get bogged down in long computations. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Context</h2> 
+		 
+		<p>Graphical user interfaces often have a dedicated thread ("GUI thread")
+		  for servicing user interactions. The thread must remain responsive to user
+		  requests even while the application has long computations running. For example,
+		  the user might want to press a "cancel" button to stop the long running
+		  computation. If the GUI thread takes part in the long running computation, it
+		  will not be able to respond to user requests. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Forces</h2> 
+		 
+		<ul type="disc"> 
+		  <li> 
+			 <p>The GUI thread services an event loop. 
+			 </p>
+ 
+		  </li>
+ 
+		  <li> 
+			 <p>The GUI thread needs to offload work onto other threads without
+				waiting for the work to complete. 
+			 </p>
+ 
+		  </li>
+ 
+		  <li> 
+			 <p>The GUI thread must be responsive to the event loop and not become
+				dedicated to doing the offloaded work. 
+			 </p>
+ 
+		  </li>
+ 
+		</ul>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Related</h2> 
+		 
+		<ul type="disc"> 
+		  <li>Non-Preemptive Priorities 
+		  </li>
+ 
+		  <li>Local Serializer 
+		  </li>
+ 
+		</ul>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Solution</h2> 
+		 
+		<p>The GUI thread offloads the work by firing off a task to do it using
+		  method 
+		  <samp class="codeph">task::enqueue</samp>. When finished, the task posts an event
+		  to the GUI thread to indicate that the work is done. The semantics of 
+		  <samp class="codeph">enqueue</samp> cause the task to eventually run on a worker
+		  thread distinct from the calling thread. The method was introduced in Intel®
+		  Threading Building Blocks (Intel® TBB) 3.0. 
+		</p>
+ 
+		<p>The following figure sketches the communication paths. Items in black
+		  are executed by the GUI thread; items in blue are executed by another thread. 
+		</p>
+ 
+		<div class="fignone" id="fig5"><a name="fig5"><!-- --></a><span class="figcap">GUI Thread pattern</span> 
+		  <br><img width="400" height="150" src="Images/image007.jpg"><br> 
+		</div>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Example</h2> 
+		 
+		<p>The example is for the Microsoft Windows* operating systems, though
+		  similar principles apply to any GUI using an event loop idiom. For each event,
+		  the GUI thread calls a user-defined function 
+		  <samp class="codeph">WndProc</samp>. to process an event. The key parts are shown
+		  in 
+		  <samp class="codeph"><span style="color:blue"><strong>bold font</strong></span></samp>. 
+		</p>
+ 
+		<pre><span style="color:blue"><strong>// Event posted from enqueued task when it finishes its work</strong></span><strong>.</strong>
+<span style="color:blue"><strong>const UINT WM_POP_FOO = WM_USER+0;</strong></span>
+
+<span style="color:blue"><strong>// Queue for transmitting results from enqueued task to GUI thread</strong></span><span style="color:blue"><strong>.</strong></span>
+<span style="color:blue"><strong>tbb::concurrent_queue<Foo>ResultQueue;</strong></span>
+
+<span style="color:blue"><strong>// GUI thread’s private copy of most recently computed result.</strong></span>
+<span style="color:blue"><strong>Foo CurrentResult;</strong></span>
+ 
+LRESULT CALLBACK WndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam) {
+   switch(msg) {
+       case WM_COMMAND:
+           switch (LOWORD(wParam)) {
+               case IDM_LONGRUNNINGWORK:
+                   <span style="color:blue"><strong>// User requested a long computation. Delegate it to another thread.</strong></span>
+                   <span style="color:blue"><strong>LaunchLongRunningWork(hWnd);</strong></span>
+                   break;
+               case IDM_EXIT:
+                   DestroyWindow(hWnd);
+                   break;
+               default:
+                   return DefWindowProc(hWnd, msg, wParam, lParam);
+           }
+           break;
+       <span style="color:blue"><strong>case WM_POP_FOO:</strong></span>
+           <span style="color:blue"><strong>// There is another result in ResultQueue for me to grab.</strong></span>
+           <span style="color:blue"><strong>ResultQueue.try_pop(CurrentResult);</strong></span>
+           <span style="color:blue"><strong>// Update the window with the latest result.</strong></span>
+           <span style="color:blue"><strong>RedrawWindow</strong></span>( hWnd, NULL, NULL, RDW_ERASE|RDW_INVALIDATE );
+           break;
+       case WM_PAINT: 
+           <span style="color:blue"><strong><em>Repaint the window using CurrentResult</em></strong></span>
+           break;
+       case WM_DESTROY:
+           PostQuitMessage(0);
+           break;
+       default:
+           return DefWindowProc( hWnd, msg, wParam, lParam );
+   }
+   return 0;
+} </pre> 
+		<p>The GUI thread processes long computations as follows: 
+		</p>
+ 
+		<ol> 
+		  <li> 
+			 <p>The GUI thread calls 
+				<samp class="codeph">LongRunningWork</samp>, which hands off the work to a
+				worker thread and immediately returns. 
+			 </p>
+ 
+		  </li>
+ 
+		  <li> 
+			 <p>The GUI thread continues servicing the event loop. If it has to
+				repaint the window, it uses the value of<samp class="codeph">CurrentResult</samp>, which
+				is the most recent 
+				<samp class="codeph">Foo</samp> that it has seen. 
+			 </p>
+ 
+		  </li>
+ 
+		</ol>
+ 
+		<p>When a worker finishes the long computation, it pushes the result into
+		  ResultQueue, and sends a message WM_POP_FOO to the GUI thread. 
+		</p>
+ 
+		<ol> 
+		  <li> 
+			 <p>The GUI thread services a 
+				<samp class="codeph">WM_POP_FOO</samp> message by popping an item from
+				ResultQueue into CurrentResult. The 
+				<samp class="codeph">try_pop</samp> always succeeds because there is exactly
+				one 
+				<samp class="codeph">WM_POP_FOO</samp> message for each item in 
+				<samp class="codeph">ResultQueue</samp>. 
+			 </p>
+ 
+		  </li>
+ 
+		</ol>
+ 
+		<p>Routine 
+		  <samp class="codeph">LaunchLongRunningWork</samp> creates a root task and launches
+		  it using method 
+		  <samp class="codeph">task::enqeueue</samp>. The task is a root task because it has
+		  no successor task waiting on it. 
+		</p>
+ 
+		<pre>class LongTask: public tbb::task {
+   HWND hWnd;
+   tbb::task* execute() {
+       Do long computation
+       Foo x = result of long computation
+       ResultQueue.push( x );
+       // Notify GUI thread that result is available.
+        PostMessage(hWnd,WM_POP_FOO,0,0);
+       return NULL;
+   }
+public:
+   LongTask( HWND hWnd_ ) : hWnd(hWnd_) {}
+};
+ 
+void LaunchLongRunningWork( HWND hWnd ) {
+   LongTask* t = new( tbb::task::allocate_root() ) LongTask(hWnd); 
+   tbb::task::enqueue(*t);
+}</pre> 
+		<p>It is essential to use method 
+		  <samp class="codeph">task::enqueue</samp> and not method 
+		  <samp class="codeph">task::spawn</samp>. The reason is that method 
+		  <samp class="codeph">enqueue</samp> ensures that the task eventually executes when
+		  resources permit, even if no thread explicitly waits on the task. In contrast,
+		  method 
+		  <samp class="codeph">spawn</samp> may postpone execution of the task until it is
+		  explicitly waited upon. 
+		</p>
+ 
+		<p>The example uses a 
+		  <samp class="codeph">concurrent_queue</samp> for workers to communicate results
+		  back to the GUI thread. Since only the most recent result matters in the
+		  example, and alternative would be to use a shared variable protected by a
+		  mutex. However, doing so would block the worker while the GUI thread was
+		  holding a lock on the mutex, and vice versa. Using 
+		  <samp class="codeph">concurrent_queue</samp> provides a simple robust solution. 
+		</p>
+ 
+		<p>If two long computations are in flight, there is a chance that the
+		  first computation completes after the second one. If displaying the result of
+		  the most recently requested computation is important, then associate a request
+		  serial number with the computation. The GUI thread can pop from 
+		  <samp class="codeph">ResultQueue</samp> into a temporary variable, check the
+		  serial number, and update 
+		  <samp class="codeph">CurrentResult</samp> only if doing so advances the serial
+		  number. 
+		</p>
+ 
+	 </div>
+ 
+  </div>
+ 
+  
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../tbb_userguide/Design_Patterns/Design_Patterns.htm">Design Patterns</a></div>
+</div>
+<div class="See Also">
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="Non-Preemptive_Priorities.htm#Non-Preemptive_Priorities">Non-Preemptive Priorities 
+		  </a> provides informtion on how to implement priorities 
+		  </div>
+<div><a href="Local_Serializer.htm#Local_Serializer">Local Serializer 
+		  </a> provides information on how to force serial ordering of certain
+			 tasks 
+		  </div></div>
+</div> 
+
+</body>
+</html>
diff --git a/doc/help/tbb_userguide/Design_Patterns/General_References.htm b/doc/help/tbb_userguide/Design_Patterns/General_References.htm
new file mode 100755
index 0000000..36eb058
--- /dev/null
+++ b/doc/help/tbb_userguide/Design_Patterns/General_References.htm
@@ -0,0 +1,92 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="General References">
+<meta name="DC.subject" content="General References">
+<meta name="keywords" content="General References">
+<meta name="DC.Relation" scheme="URI" content="../../tbb_userguide/Design_Patterns/Design_Patterns.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="General_References">
+<link rel="stylesheet" type="text/css" href="../../intel_css_styles.css">
+<title>General References</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="General_References">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(2);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="General_References"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">General References</h1>
+ 
+   
+  <div> 
+	 <p>This section lists general references. References specific to a pattern
+		are listed at the end of the topic for the pattern. 
+	 </p>
+ 
+	 <ul type="disc"> 
+		<li> 
+		  <p>E. Gamma, R. Helm, R. Johnson, J. Vlissides. 
+			 <cite>Design Patterns</cite> (1995). 
+		  </p>
+ 
+		</li>
+ 
+		<li> 
+		  <p>Berkeley Pattern Language for Parallel Programming,
+			 http://parlab.eecs.berkeley.edu/wiki/patterns 
+		  </p>
+ 
+		</li>
+ 
+		<li> 
+		  <p>T. Mattson, B. Sanders, B. Massingill. 
+			 <cite>Patterns for Parallel Programming</cite> (2005). 
+		  </p>
+ 
+		</li>
+ 
+		<li> 
+		  <p>ParaPLoP 2009,
+			 http://www.upcrc.illinois.edu/workshops/paraplop09/program.html 
+		  </p>
+ 
+		</li>
+ 
+		<li> 
+		  <p>ParaPLoP 2010,
+			 http://www.upcrc.illinois.edu/workshops/paraplop10/program.html 
+		  </p>
+ 
+		</li>
+ 
+		<li> 
+		  <p>Eun-Gyu Kim and Marc Snir, 
+			 <em>Parallel Programming Patterns</em>,
+			 http://www.cs.illinois.edu/homes/snir/PPP/index.html 
+		  </p>
+ 
+		</li>
+ 
+	 </ul>
+ 
+  </div>
+ 
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../tbb_userguide/Design_Patterns/Design_Patterns.htm">Design Patterns</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/tbb_userguide/Design_Patterns/Images/image002.jpg b/doc/help/tbb_userguide/Design_Patterns/Images/image002.jpg
new file mode 100755
index 0000000..63ef8c6
Binary files /dev/null and b/doc/help/tbb_userguide/Design_Patterns/Images/image002.jpg differ
diff --git a/doc/help/tbb_userguide/Design_Patterns/Images/image003.jpg b/doc/help/tbb_userguide/Design_Patterns/Images/image003.jpg
new file mode 100755
index 0000000..30feff0
Binary files /dev/null and b/doc/help/tbb_userguide/Design_Patterns/Images/image003.jpg differ
diff --git a/doc/help/tbb_userguide/Design_Patterns/Images/image004.jpg b/doc/help/tbb_userguide/Design_Patterns/Images/image004.jpg
new file mode 100755
index 0000000..c32972c
Binary files /dev/null and b/doc/help/tbb_userguide/Design_Patterns/Images/image004.jpg differ
diff --git a/doc/help/tbb_userguide/Design_Patterns/Images/image005.jpg b/doc/help/tbb_userguide/Design_Patterns/Images/image005.jpg
new file mode 100755
index 0000000..bd79381
Binary files /dev/null and b/doc/help/tbb_userguide/Design_Patterns/Images/image005.jpg differ
diff --git a/doc/help/tbb_userguide/Design_Patterns/Images/image006.jpg b/doc/help/tbb_userguide/Design_Patterns/Images/image006.jpg
new file mode 100755
index 0000000..4145519
Binary files /dev/null and b/doc/help/tbb_userguide/Design_Patterns/Images/image006.jpg differ
diff --git a/doc/help/tbb_userguide/Design_Patterns/Images/image007.jpg b/doc/help/tbb_userguide/Design_Patterns/Images/image007.jpg
new file mode 100755
index 0000000..dcaba0e
Binary files /dev/null and b/doc/help/tbb_userguide/Design_Patterns/Images/image007.jpg differ
diff --git a/doc/help/tbb_userguide/Design_Patterns/Lazy_Initialization.htm b/doc/help/tbb_userguide/Design_Patterns/Lazy_Initialization.htm
new file mode 100755
index 0000000..ba8b52e
--- /dev/null
+++ b/doc/help/tbb_userguide/Design_Patterns/Lazy_Initialization.htm
@@ -0,0 +1,283 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="Lazy Initialization">
+<meta name="DC.subject" content="Lazy Initialization">
+<meta name="keywords" content="Lazy Initialization">
+<meta name="DC.Relation" scheme="URI" content="../../tbb_userguide/Design_Patterns/Design_Patterns.htm">
+<meta name="DC.Relation" scheme="URI" content="Fenced_Data_Transfer.htm#Fenced_Data_Transfer">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="Lazy_Initialization">
+<link rel="stylesheet" type="text/css" href="../../intel_css_styles.css">
+<title>Lazy Initialization</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="Lazy_Initialization">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(2);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="Lazy_Initialization"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Lazy Initialization</h1>
+ 
+   
+  <div> 
+	 <div class="section"><h2 class="sectiontitle">Problem</h2> 
+		 
+		<p>Perform an initialization the first time it is needed. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Context</h2> 
+		 
+		<p>Initializing data structures lazily is a common technique. Not only
+		  does it avoid the cost of initializing unused data structures, it is often a
+		  more convenient way to structure a program. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Forces</h2> 
+		 
+		<ul type="disc"> 
+		  <li> 
+			 <p>Threads share access to an object. 
+			 </p>
+ 
+		  </li>
+ 
+		  <li> 
+			 <p>The object should not be created until the first access. 
+			 </p>
+ 
+		  </li>
+ 
+		</ul>
+ 
+		<p>The second force covers several possible motivations: 
+		</p>
+ 
+		<ul type="disc"> 
+		  <li> 
+			 <p>The object is expensive to create and creating it early would slow
+				down program startup. 
+			 </p>
+ 
+		  </li>
+ 
+		  <li> 
+			 <p>It is not used in every run of the program. 
+			 </p>
+ 
+		  </li>
+ 
+		  <li> 
+			 <p>Early initialization would require adding code where it is
+				undesirable for readability or structural reasons. 
+			 </p>
+ 
+		  </li>
+ 
+		</ul>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Related</h2> 
+		 
+		<ul type="disc"> 
+		  <li>Fenced Data Transfer 
+		  </li>
+ 
+		</ul>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Solutions</h2> 
+		 
+		<p>A parallel solution is substantially trickier, because it must deal
+		  with several concurrency issues. 
+		</p>
+ 
+		<div class="nobullet"> 
+		   
+			 <p class="nobullet"><strong>Races:</strong> If two threads attempt to simultaneously access to
+				the object for the first time, and thus cause creation of the object, the race
+				must be resolved in a way that both threads end up with a reference to the same
+				object of type 
+				<samp class="codeph">T</samp>. 
+			 </p>
+ 
+		   
+		   
+			 <p class="nobullet"><strong>Memory leaks:</strong> In the event of a race, the implementation
+				must ensure that any extra transient 
+				<samp class="codeph">T</samp> objects are cleaned up. 
+			 </p>
+ 
+		   
+		   
+			 <p class="nobullet"><strong>Memory consistency:</strong> If thread X executes 
+				<samp class="codeph">value=new T()</samp>, all other threads must see stores
+				by 
+				<samp class="codeph">new T()</samp> occur before the assignment 
+				<samp class="codeph">value=</samp>. 
+			 </p>
+ 
+		   
+		   
+			 <p class="nobullet"><strong>Deadlock:</strong> What if the constructor of 
+				<samp class="codeph">T()</samp> requires acquiring a lock, but the current
+				holder of that lock is also racing to access the object for the first time? 
+			 </p>
+ 
+		   
+		</div>
+ 
+		<p>There are two solutions. One is based on double-check locking. The
+		  other relies on compare-and-swap. Because the tradeoffs and issues are subtle,
+		  most of the discussion is in the following examples section. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Examples</h2> 
+		 
+		<p>An Intel® Threading Building Blocks (Intel® TBB) implementation of the "double-check" pattern is shown
+		  below. 
+		</p>
+ 
+		<pre>template<typename T, typename Mutex=tbb::mutex>
+class lazy {
+   tbb::atomic<T*> value;
+   Mutex mut;
+public:
+   lazy() : value() {}                    // Initializes value to NULL
+   ~lazy() {delete value;}
+   T& get() {
+       if( !value ) {                     // Read of value has <em>acquire</em> semantics. 
+           Mutex::scoped_lock lock(mut);
+           if( !value ) value = new T();. // Write of value has <em>release</em> semantics 
+       }
+       return *value;
+   }
+};</pre> 
+		<p>The name comes from the way that the pattern deals with races. There
+		  is one check done without locking and one check done after locking. The first
+		  check handles the presumably common case that the initialization has already
+		  been done, without any locking. The second check deals with cases where two
+		  threads both see an uninitialized value, and both try to acquire the lock. In
+		  that case, the second thread to acquire the lock will see that the
+		  initialization has already occurred. 
+		</p>
+ 
+		<p>If 
+		  <samp class="codeph">T()</samp> throws an exception, the solution is correct
+		  because 
+		  <samp class="codeph">value</samp> will still be NULL and the mutex unlocked when
+		  object 
+		  <samp class="codeph">lock</samp> is destroyed. 
+		</p>
+ 
+		<p>The solution correctly addresses memory consistency issues. A write to
+		  a 
+		<samp class="codeph">tbb::atomic</samp> value has 
+		<em>release</em> semantics, which means that all of its prior writes will
+		be seen before the releasing write. A read from 
+		<samp class="codeph">tbb::atomic</samp> value has 
+		<em>acquire</em> semantics, which means that all of its subsequent reads
+		will happen after the acquiring read. Both of these properties are critical to
+		the solution. The releasing write ensures that the construction of 
+		<samp class="codeph">T()</samp> is seen to occur before the assignment to value. The
+		acquiring read ensures that when the caller reads from 
+		<samp class="codeph">*value</samp>, the reads occur after the
+		"<samp class="codeph">if(!value)</samp>" check. The release/acquire is
+		essentially the Fenced Data Transfer pattern, where the
+		"message" is the fully constructed instance 
+		<samp class="codeph">T()</samp>, and the "ready" flag is the pointer 
+		<samp class="codeph">value</samp>. 
+		</p>
+ 
+		<p>The solution described involves blocking threads while initialization
+		  occurs. Hence it can suffer the usual pathologies associated with blocking. For
+		  example, if the thread first acquires the lock is suspended by the OS, all
+		  other threads will have to wait until that thread resumes. A lock-free
+		  variation avoids this problem by making all contending threads attempt
+		  initialization, and atomically deciding which attempt succeeds. 
+		</p>
+ 
+		<p>An Intel® TBB implementation of the non-blocking variant follows. It
+		  also uses double-check, but without a lock. 
+		</p>
+ 
+		<pre>template<typename T>
+class lazy {
+   tbb::atomic<T*> value;
+public:
+   lazy() : value() {}                    // Initializes value to NULL
+   ~lazy() {delete value;}
+   T& get() {
+       if( !value ) {
+           T* tmp = new T();
+           if( value.compare_and_swap(tmp,NULL)!=NULL )
+               // Another thread installed the value, so throw away mine.
+               delete tmp;
+       }
+       return *value;
+   }
+};</pre> 
+		<p>The second check is performed by the expression<samp class="codeph">
+			 value.compare_and_swap(tmp,NULL)!=NULL</samp>, which conditionally assigns 
+		  <samp class="codeph">value=tmp</samp> if 
+		  <samp class="codeph">value==NULL</samp>, and returns true if the old 
+		  <samp class="codeph">value</samp> was NULL. Thus if multiple threads attempt
+		  simultaneous initialization, the first thread to execute the 
+		  <samp class="codeph">compare_and_swap</samp> will set value to point to its T
+		  object. Other contenders that execute the 
+		  <samp class="codeph">compare_and_swap</samp> will get back a non-NULL pointer,
+		  and know that they should delete their transient T objects. 
+		</p>
+ 
+		<p>As with the locking solution, memory consistency issues are addressed
+		  by the semantics of 
+		<samp class="codeph">tbb::atomic</samp>. The first check has 
+		<em>acquire</em> semantics and the 
+		<samp class="codeph">compare_and_swap</samp> has both 
+		<em>acquire</em> and 
+		<em>release</em> semantics. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">References</h2> 
+		 
+		<p>Lawrence Crowl, "Dynamic Initialization and Destruction with Concurrency",
+		  http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2660.htm 
+		</p>
+ 
+	 </div>
+ 
+  </div>
+ 
+  
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../tbb_userguide/Design_Patterns/Design_Patterns.htm">Design Patterns</a></div>
+</div>
+<div class="See Also">
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="Fenced_Data_Transfer.htm#Fenced_Data_Transfer">Fenced Data Transfer 
+		  </a></div></div>
+</div> 
+
+</body>
+</html>
diff --git a/doc/help/tbb_userguide/Design_Patterns/Local_Serializer.htm b/doc/help/tbb_userguide/Design_Patterns/Local_Serializer.htm
new file mode 100755
index 0000000..cd6d296
--- /dev/null
+++ b/doc/help/tbb_userguide/Design_Patterns/Local_Serializer.htm
@@ -0,0 +1,410 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="Local Serializer">
+<meta name="DC.subject" content="Local Serializer">
+<meta name="keywords" content="Local Serializer">
+<meta name="DC.Relation" scheme="URI" content="../../tbb_userguide/Design_Patterns/Design_Patterns.htm">
+<meta name="DC.Relation" scheme="URI" content="Non-Preemptive_Priorities.htm#Non-Preemptive_Priorities">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="Local_Serializer">
+<link rel="stylesheet" type="text/css" href="../../intel_css_styles.css">
+<title>Local Serializer</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="Local_Serializer">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(2);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="Local_Serializer"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Local Serializer</h1>
+ 
+   
+  <div> 
+	 <div class="section"><h2 class="sectiontitle">Context</h2> 
+		 
+		<p>Consider an interactive program. To maximize concurrency and
+		  responsiveness, operations requested by the user can be implemented as tasks.
+		  The order of operations can be important. For example, suppose the program
+		  presents editable text to the user. There might be operations to select text
+		  and delete selected text. Reversing the order of "select" and "delete"
+		  operations on the same buffer would be bad. However, commuting operations on
+		  different buffers might be okay. Hence the goal is to establish serial ordering
+		  of tasks associated with a given object, but not constrain ordering of tasks
+		  between different objects. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Forces</h2> 
+		 
+		<ul type="disc"> 
+		  <li> 
+			 <p>Operations associated with a certain object must be performed in
+				serial order. 
+			 </p>
+ 
+		  </li>
+ 
+		  <li> 
+			 <p>Serializing with a lock would be wasteful because threads would be
+				waiting at the lock when they could be doing useful work elsewhere. 
+			 </p>
+ 
+		  </li>
+ 
+		</ul>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Solution</h2> 
+		 
+		<p>Sequence the work items using a FIFO (first-in first-out structure).
+		  Always keep an item in flight if possible. If no item is in flight when a work
+		  item appears, put the item in flight. Otherwise, push the item onto the FIFO.
+		  When the current item in flight completes, pop another item from the FIFO and
+		  put it in flight. 
+		</p>
+ 
+		<p>The logic can be implemented without mutexes, by using 
+		  <samp class="codeph">concurrent_queue</samp> for the FIFO and 
+		  <samp class="codeph">atomic<int></samp> to count the number of items waiting
+		  and in flight. The example explains the accounting in detail. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Example</h2> 
+		 
+		<p>The following example builds on the Non-Preemptive Priorities example
+		  to implement local serialization in addition to priorities. It implements three
+		  priority levels and local serializers. The user interface for it follows: 
+		</p>
+ 
+		<pre>enum Priority {
+   P_High,
+   P_Medium,
+   P_Low
+};
+ 
+template<typename Func>
+void EnqueueWork( Priority p, Func f, Serializer* s=NULL );</pre> 
+		<p>Template function 
+		  <samp class="codeph">EnqueueWork</samp> causes functor 
+		  <var>f</var> to run when the three constraints in the following
+		  table are met. 
+		</p>
+ 
+		
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"><caption><span class="tablecap">Implementation of Constraints</span></caption> 
+		  <thead align="left"> 
+			 <tr> 
+				<th class="cellrowborder" valign="top" width="66.39676113360325%" id="d134980e118"> 
+				  <p>Constraint 
+				  </p>
+ 
+				</th>
+ 
+				<th class="cellrowborder" valign="top" width="33.603238866396765%" id="d134980e124"> 
+				  <p>Resolved by class... 
+				  </p>
+ 
+				</th>
+ 
+			 </tr>
+</thead>
+ 
+		  <tbody> 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="66.39676113360325%" headers="d134980e118 "> 
+				  <p>Any prior work for the 
+					 <samp class="codeph">Serializer</samp> has completed. 
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="33.603238866396765%" headers="d134980e124 "> 
+				  <p><samp class="codeph">Serializer</samp> 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="66.39676113360325%" headers="d134980e118 "> 
+				  <p>A thread is available. 
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="33.603238866396765%" headers="d134980e124 "> 
+				  <p><samp class="codeph">RunWorkItem</samp> 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+			 <tr> 
+				<td class="cellrowborder" valign="top" width="66.39676113360325%" headers="d134980e118 "> 
+				  <p>No higher priority work is ready to run. 
+				  </p>
+ 
+				</td>
+ 
+				<td class="cellrowborder" valign="top" width="33.603238866396765%" headers="d134980e124 "> 
+				  <p><samp class="codeph">ReadyPileType</samp> 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+		  </tbody>
+ 
+		</table>
+</div>
+ 
+		<p>Constraints on a given functor are resolved from top to bottom in the
+		  table. The first constraint does not exist when s is NULL. The implementation
+		  of 
+		  <samp class="codeph">EnqueueWork</samp> packages the functor in a 
+		  <samp class="codeph">SerializedWorkItem</samp> and routes it to the class that
+		  enforces the first relevant constraint between pieces of work. 
+		</p>
+ 
+		<pre>template<typename Func>
+void EnqueueWork( Priority p, Func f, Serializer* s=NULL ) {
+   WorkItem* item = new SerializedWorkItem<Func>( p, f, s );
+   if( s )
+       s->add(item);
+   else
+       ReadyPile.add(item);
+}</pre> 
+		<p>A 
+		  <samp class="codeph">SerializedWorkItem</samp> is derived from a 
+		  <samp class="codeph">WorkItem</samp>, which serves as a way to pass around a
+		  prioritized piece of work without knowing further details of the work. 
+		</p>
+ 
+		<pre>// Abstract base class for a prioritized piece of work.
+class WorkItem {
+public:
+   WorkItem( Priority p ) : priority(p) {}
+   // Derived class defines the actual work.
+   virtual void run() = 0;
+   const Priority priority;
+};
+ 
+template<typename Func>
+class SerializedWorkItem: public WorkItem {
+<span xml:lang="PT-BR">   Serializer* serializer;</span>
+<span xml:lang="PT-BR">   Func f;</span>
+<span xml:lang="PT-BR">   /*override*/ void run() {</span>
+<span xml:lang="PT-BR">       f();</span>
+<span xml:lang="PT-BR">       Serializer* s = serializer;</span>
+<span xml:lang="PT-BR">       // Destroy f before running Serializer’s next functor.</span>
+       delete this;
+       if( s )
+           s->noteCompletion();
+   }
+public:
+   SerializedWorkItem( Priority p, const Func& f_, Serializer* s ) :
+       WorkItem(p), serializer(s), f(f_) 
+   {}
+};</pre> 
+		<p>Base class 
+		  <samp class="codeph">WorkItem</samp> is the same as class WorkItem in the example
+		  for Non-Preemptive Priorities. The notion of serial constraints is completely
+		  hidden from the base class, thus permitting the framework to extend other kinds
+		  of constraints or lack of constraints. Class 
+		  <samp class="codeph">SerializedWorkItem</samp> is essentially 
+		  <samp class="codeph">ConcreteWorkItem</samp> from the example for Non-Preemptive
+		  Priorities, extended with a 
+		  <samp class="codeph">Serializer</samp> aspect. 
+		</p>
+ 
+		<p>Virtual method 
+		  <samp class="codeph">run()</samp> is invoked when it becomes time to run the
+		  functor. It performs three steps: 
+		</p>
+ 
+		<ol> 
+		  <li> 
+			 <p>Run the functor 
+			 </p>
+ 
+		  </li>
+ 
+		  <li> 
+			 <p>Destroy the functor. 
+			 </p>
+ 
+		  </li>
+ 
+		  <li> 
+			 <p>Notify the 
+				<samp class="codeph">Serializer</samp> that the functor completed, and thus
+				unconstraining the next waiting functor. 
+			 </p>
+ 
+		  </li>
+ 
+		</ol>
+ 
+		<p>Step 3 is the difference from the operation of ConcreteWorkItem::run.
+		  Step 2 could be done after step 3 in some contexts to increase concurrency
+		  slightly. However, the presented order is recommended because if step 2 takes
+		  non-trivial time, it likely has side effects that should complete before the
+		  next functor runs. 
+		</p>
+ 
+		<p>Class 
+		  <samp class="codeph">Serializer</samp> implements the core of the Local Serializer
+		  pattern: 
+		</p>
+ 
+		<pre>class Serializer {
+   tbb::concurrent_queue<WorkItem*> queue;
+   tbb::atomic<int> count;         // Count of queued items and in-flight item
+   void moveOneItemToReadyPile() { // Transfer item from queue to ReadyPile
+       WorkItem* item;
+       queue.try_pop(item);
+       ReadyPile.add(item);
+   }
+public:
+   void add( WorkItem* item ) {
+       queue.push(item);
+       if( ++count==1 )
+           moveOneItemToReadyPile();
+   }
+   void noteCompletion() {        // Called when WorkItem completes.
+       if( ‐‐count!=0 )
+           moveOneItemToReadyPile();
+   }
+};</pre> 
+		<p>The class maintains two members: 
+		</p>
+ 
+		<ul type="disc"> 
+		  <li> 
+			 <p>A queue of WorkItem waiting for prior work to complete. 
+			 </p>
+ 
+		  </li>
+ 
+		  <li> 
+			 <p>A count of queued or in-flight work. 
+			 </p>
+ 
+		  </li>
+ 
+		</ul>
+ 
+		<p>Mutexes are avoided by using 
+		  <samp class="codeph">concurrent_queue<WorkItem*></samp> and 
+		  <samp class="codeph">atomic<int></samp> along with careful ordering of
+		  operations. The transitions of count are the key understanding how class 
+		  <samp class="codeph">Serializer</samp> works. 
+		</p>
+ 
+		<ul type="disc"> 
+		  <li> 
+			 <p>If method 
+				<samp class="codeph">add</samp> increments 
+				<samp class="codeph">count</samp> from 0 to 1, this indicates that no other
+				work is in flight and thus the work should be moved to the 
+				<samp class="codeph">ReadyPile</samp>. 
+			 </p>
+ 
+		  </li>
+ 
+		  <li> 
+			 <p>If method 
+				<samp class="codeph">noteCompletion</samp> decrements count and it is 
+				<em>not</em> from 1 to 0, then the queue is non-empty and another
+				item in the queue should be moved to 
+				<samp class="codeph">ReadyPile.</samp> 
+			 </p>
+ 
+		  </li>
+ 
+		</ul>
+ 
+		<p>Class 
+		  <samp class="codeph">ReadyPile</samp> is explained in the example for
+		  Non-Preemptive Priorities. 
+		</p>
+ 
+		<p>If priorities are not necessary, there are two variations on method 
+		  <samp class="codeph">moveOneItemToReadyPile</samp>, with different implications. 
+		</p>
+ 
+		<ul type="disc"> 
+		  <li> 
+			 <p>Method 
+				<samp class="codeph">moveOneItemToReadyPile</samp> could directly
+				invoke<samp class="codeph">item->run()</samp>. This approach has relatively low
+				overhead and high thread locality for a given 
+				<samp class="codeph">Serializer</samp>. But it is unfair. If the 
+				<samp class="codeph">Serializer</samp> has a continual stream of tasks, the
+				thread operating on it will keep servicing those tasks to the exclusion of
+				others. 
+			 </p>
+ 
+		  </li>
+ 
+		  <li> 
+			 <p>Method 
+				<samp class="codeph">moveOneItemToReadyPile</samp> could invoke 
+				<samp class="codeph">task::enqueue</samp> to enqueue a task that invokes 
+				<samp class="codeph">item->run()</samp>. Doing so introduces higher
+				overhead and less locality than the first approach, but avoids starvation. 
+			 </p>
+ 
+		  </li>
+ 
+		</ul>
+ 
+		<p>The conflict between fairness and maximum locality is fundamental. The
+		  best resolution depends upon circumstance. 
+		</p>
+ 
+		<p>The pattern generalizes to constraints on work items more general than
+		  those maintained by class Serializer. A generalized 
+		  <samp class="codeph">Serializer::add</samp> determines if a work item is
+		  unconstrained, and if so, runs it immediately. A generalized 
+		  <samp class="codeph">Serializer::noteCompletion</samp> runs all previously
+		  constrained items that have become unconstrained by the completion of the
+		  current work item. The term "run" means to run work immediately, or if there
+		  are more constraints, forwarding the work to the next constraint resolver. 
+		</p>
+ 
+	 </div>
+ 
+  </div>
+ 
+  
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../tbb_userguide/Design_Patterns/Design_Patterns.htm">Design Patterns</a></div>
+</div>
+<div class="See Also">
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="Non-Preemptive_Priorities.htm#Non-Preemptive_Priorities">Non-Preemptive Priorities 
+		  </a></div></div>
+</div> 
+
+</body>
+</html>
diff --git a/doc/help/tbb_userguide/Design_Patterns/Non-Preemptive_Priorities.htm b/doc/help/tbb_userguide/Design_Patterns/Non-Preemptive_Priorities.htm
new file mode 100755
index 0000000..c09508a
--- /dev/null
+++ b/doc/help/tbb_userguide/Design_Patterns/Non-Preemptive_Priorities.htm
@@ -0,0 +1,214 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="Non-Preemptive Priorities">
+<meta name="DC.subject" content="Non-Preemptive Priorities">
+<meta name="keywords" content="Non-Preemptive Priorities">
+<meta name="DC.Relation" scheme="URI" content="../../tbb_userguide/Design_Patterns/Design_Patterns.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="Non-Preemptive_Priorities">
+<link rel="stylesheet" type="text/css" href="../../intel_css_styles.css">
+<title>Non-Preemptive Priorities</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="Non-Preemptive_Priorities">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(2);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="Non-Preemptive_Priorities"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Non-Preemptive Priorities</h1>
+ 
+  
+  <div> 
+	 <div class="section"><h2 class="sectiontitle">Problem</h2> 
+		
+		<p>Choose the next work item to do, based on priorities. 
+		</p>
+
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Context</h2> 
+		
+		<p>The scheduler in Intel® Threading Building Blocks (Intel® TBB) chooses
+		  tasks using rules based on scalability concerns. The rules are based on the
+		  order in which tasks were spawned or enqueued, and are oblivious to the
+		  contents of tasks. However, sometimes it is best to choose work based on some
+		  kind of priority relationship. 
+		</p>
+
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Forces</h2> 
+		 
+		<ul type="disc">
+		  <li>
+			 <p>Given multiple work items, there is a rule for which item should
+				be done next that is 
+				<em>not</em> the default Intel® TBB rule.
+			 </p>
+
+		  </li>
+
+		  <li>
+			 <p>Preemptive priorities are not necessary. If a higher priority item
+				appears, it is not necessary to immediately stop lower priority items in
+				flight. If preemptive priorities are necessary, then non-preemptive tasking is
+				inappropriate. Use threads instead.
+			 </p>
+
+		  </li>
+
+		</ul>
+
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Solution</h2> 
+		
+		<p>Put the work in a shared work pile. Decouple tasks from specific work,
+		  so that task execution chooses the actual piece of work to be selected from the
+		  pile. 
+		</p>
+
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Example</h2> 
+		 
+		<p id="NonPreemptivePrioritiesExample"><a name="NonPreemptivePrioritiesExample"><!-- --></a>The following example implements
+		  three priority levels. The user interface for it and top-level implementation
+		  follow:
+		</p>
+
+		<pre>enum Priority {
+   P_High,
+   P_Medium,
+   P_Low
+};
+ 
+template<typename Func>
+void EnqueueWork( Priority p, Func f ) {
+   WorkItem* item = new ConcreteWorkItem<Func>( p, f );
+   ReadyPile.add(item);
+}</pre>
+		<p>The caller provides a priority 
+		  <samp class="codeph">p</samp> and a functor 
+		  <samp class="codeph">f</samp> to routine 
+		  <samp class="codeph">EnqueueWork</samp>. The functor may be the result of a
+		  lambda expression. 
+		  <samp class="codeph">EnqueueWork</samp> packages 
+		  <samp class="codeph">f</samp> as a 
+		  <samp class="codeph">WorkItem</samp> and adds it to global object 
+		  <samp class="codeph">ReadyPile</samp>. 
+		</p>
+
+		<p>Class 
+		  <samp class="codeph">WorkItem</samp> provides a uniform interface for running
+		  functors of unknown type:
+		</p>
+
+		<pre>// Abstract base class for a prioritized piece of work.
+class WorkItem {
+public:
+   WorkItem( Priority p ) : priority(p) {}
+   // Derived class defines the actual work.
+   virtual void run() = 0;
+   const Priority priority;
+};
+ 
+template<typename Func></pre>
+		<pre id="ConcreteWorkItem"><a name="ConcreteWorkItem"><!-- --></a>class ConcreteWorkItem: public WorkItem {
+   Func f;
+   /*override*/ void run() {
+       f();
+       delete this;
+   }
+public:
+   ConcreteWorkItem( Priority p, const Func& f_ ) :
+       WorkItem(p), f(f_)
+   {}
+};</pre>
+		<p>Class 
+		  <samp class="codeph">ReadyPile</samp> contains the core pattern. It maintains a
+		  collection of work and fires off tasks that choose work from the collection:
+		</p>
+
+		<pre id="ReadyPile"><a name="ReadyPile"><!-- --></a>class ReadyPileType {
+   // One queue for each priority level
+   tbb::concurrent_queue<WorkItem*> level[P_Low+1];
+public:
+   void add( WorkItem* item ) {
+       level[item->priority].push(item);
+       tbb::task::enqueue(*new(tbb::task::allocate_root()) RunWorkItem);
+   }
+   void runNextWorkItem() {
+       // Scan queues in priority order for an item.
+       WorkItem* item=NULL;
+       for( int i=P_High; i<=P_Low; ++i )
+           if( level[i].try_pop(item) )
+               break;
+       assert(item);
+       item->run();
+   }
+};
+ 
+ReadyPileType ReadyPile;</pre>
+		<p>The task enqueued by 
+		  <samp class="codeph">add(item)</samp> does 
+		  <em>not</em> necessarily execute that item. The task executes 
+		  <samp class="codeph">runNextWorkItem()</samp>, which may find a higher priority
+		  item. There is one task for each item, but the mapping resolves when the task
+		  actually executes, not when it is created. 
+		</p>
+
+		<p>Here are the details of class 
+		  <samp class="codeph">RunWorkItem</samp>:
+		</p>
+
+		<pre>class RunWorkItem: public tbb::task {
+   /*override*/tbb::task* execute(); // Private override of virtual method
+};
+...
+tbb::task* RunWorkItem::execute() { 
+   ReadyPile.runNextWorkItem();
+   return NULL;
+};</pre>
+		<p><samp class="codeph">RunWorkItem</samp> objects are fungible. They enable the
+		  Intel® TBB scheduler to choose when to do a work item, not which work item to
+		  do. The override of virtual method 
+		<samp class="codeph">task::execute</samp> is private because all calls to it are
+		dispatched via base class 
+		<samp class="codeph">task</samp>.
+		</p>
+
+		<p>Other priority schemes can be implemented by changing the internals
+		  for 
+		  <samp class="codeph">ReadyPileType</samp>. A priority queue could be used to
+		  implement very fine grained priorities.
+		</p>
+
+		<p>The scalability of the pattern is limited by the scalability of 
+		  <samp class="codeph">ReadyPileType</samp>. Ideally scalable concurrent
+		  containers should be used for it.
+		</p>
+
+	 </div>
+ 
+  </div>
+ 
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../tbb_userguide/Design_Patterns/Design_Patterns.htm">Design Patterns</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/tbb_userguide/Design_Patterns/Odd-Even_Communication.htm b/doc/help/tbb_userguide/Design_Patterns/Odd-Even_Communication.htm
new file mode 100755
index 0000000..2072688
--- /dev/null
+++ b/doc/help/tbb_userguide/Design_Patterns/Odd-Even_Communication.htm
@@ -0,0 +1,120 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="Odd-Even Communication">
+<meta name="DC.subject" content="Odd-Even Communication">
+<meta name="keywords" content="Odd-Even Communication">
+<meta name="DC.Relation" scheme="URI" content="../../tbb_userguide/Design_Patterns/Design_Patterns.htm">
+<meta name="DC.Relation" scheme="URI" content="General_References.htm#General_References">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="Odd-Even_Communication">
+<link rel="stylesheet" type="text/css" href="../../intel_css_styles.css">
+<title>Odd-Even Communication</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="Odd-Even_Communication">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(2);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="Odd-Even_Communication"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Odd-Even Communication</h1>
+ 
+   
+  <div> 
+	 <div class="section"><h2 class="sectiontitle">Problem</h2> 
+		 
+		<p>Operations on data cannot be done entirely independently, but data can
+		  be partitioned into two subsets such that all operations on a subset can run in
+		  parallel. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Context</h2> 
+		 
+		<p>Solvers for partial differential equations can often be modified to
+		  follow this pattern. For example, for a 2D grid with only nearest-neighbor
+		  communication, it may be possible to treat the grid as a checkerboard, and
+		  alternate between updating red squares and black squares. 
+		</p>
+ 
+		<p>Another context is staggered grid ("leap frog") Finite
+		  Difference Time Domain (FDTD. solvers, which naturally fit the pattern. The
+		  code 
+		  <samp class="codeph">examples/parallel_for/seismic/</samp> uses such a solver. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Forces</h2> 
+		 
+		<ul type="disc"> 
+		  <li> 
+			 <p>Dependencies between items form a bipartite graph. 
+			 </p>
+ 
+		  </li>
+ 
+		</ul>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Solution</h2> 
+		 
+		<p>Alternate between updating one subset and then the other subset. Apply
+		  the elementwise pattern to each subset. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Example</h2> 
+		 
+		<p>The example in 
+		  <samp class="codeph">examples/parallel_for/seismic</samp> demonstrates the
+		  principle. In it, two physical fields 
+		  <em>velocity</em> and 
+		  <em>stress</em> each depend upon each other, and so cannot all be updated
+		  simultaneously. However, the 
+		  <em>velocity</em> calculations can be done independently as long as the 
+		  <em>stress</em> values remain fixed, and vice-versa. So the code
+		  alternates updates of the 
+		  <em>velocity</em> and 
+		  <em>stress</em> fields. Each update is done using 
+		  <samp class="codeph">tbb::parallel_for</samp>. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">References</h2> 
+		 
+		<p>Eun-Gyu Kim and Mark Snir, "Odd-Even Communication Group",
+		  http://www.cs.uiuc.edu/homes/snir/PPP/patterns/oddeven.pdf
+		</p>
+ 
+	 </div>
+ 
+  </div>
+ 
+  
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../tbb_userguide/Design_Patterns/Design_Patterns.htm">Design Patterns</a></div>
+</div>
+<div class="See Also">
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="General_References.htm#General_References">General References 
+		  </a></div></div>
+</div> 
+
+</body>
+</html>
diff --git a/doc/help/tbb_userguide/Design_Patterns/Reduction.htm b/doc/help/tbb_userguide/Design_Patterns/Reduction.htm
new file mode 100755
index 0000000..0204e69
--- /dev/null
+++ b/doc/help/tbb_userguide/Design_Patterns/Reduction.htm
@@ -0,0 +1,267 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="Reduction">
+<meta name="DC.subject" content="Reduction">
+<meta name="keywords" content="Reduction">
+<meta name="DC.Relation" scheme="URI" content="../../tbb_userguide/Design_Patterns/Design_Patterns.htm">
+<meta name="DC.Relation" scheme="URI" content="Agglomeration.htm#Agglomeration">
+<meta name="DC.Relation" scheme="URI" content="Elementwise.htm#Elementwise">
+<meta name="DC.Relation" scheme="URI" content="Divide_and_Conquer.htm#Divide_and_Conquer">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="Reduction">
+<link rel="stylesheet" type="text/css" href="../../intel_css_styles.css">
+<title>Reduction</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="Reduction">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(2);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="Reduction"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Reduction</h1>
+ 
+   
+  <div> 
+	 <div class="section"><h2 class="sectiontitle">Problem</h2> 
+		 
+		<p>Perform an associative reduction operation across a data set. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Context</h2> 
+		 
+		<p>Many serial algorithms sweep over a set of items to collect summary
+		  information. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Forces</h2> 
+		 
+		<p>The summary can be expressed as an associative operation over the data
+		  set, or at least is close enough to associative that reassociation does not
+		  matter. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Solution</h2> 
+		 
+		<p>Two solutions exist in Intel® Threading Building Blocks (Intel® TBB).
+		  The choice on which to use depends upon several considerations: 
+		</p>
+ 
+		<ul type="disc"> 
+		  <li> 
+			 <p>Is the operation commutative as well as associative? 
+			 </p>
+ 
+		  </li>
+ 
+		  <li> 
+			 <p>Are instances of the reduction type expensive to construct and
+				destroy. For example, a floating point number is inexpensive to construct. A
+				sparse floating-point matrix might be very expensive to construct. 
+			 </p>
+ 
+		  </li>
+ 
+		</ul>
+ 
+		<p>Use 
+		  <samp class="codeph">tbb::parallel_reduce</samp> when the objects are inexpensive
+		  to construct. It works even if the reduction operation is not commutative. The
+		  Intel® TBB Tutorial describes how to use 
+		  <samp class="codeph">tbb::parallel_reduce</samp> for basic reductions. 
+		</p>
+ 
+		<p>Use 
+		  <samp class="codeph">tbb::parallel_for</samp> and 
+		  <samp class="codeph">tbb::combinable</samp> if the reduction operation is
+		  commutative and instances of the type are expensive. 
+		</p>
+ 
+		<p>If the operation is not precisely associative but a precisely
+		  deterministic result is required, use recursive reduction and parallelize it
+		  using 
+		  <samp class="codeph">tbb::parallel_invoke</samp>. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Examples</h2> 
+		 
+		<p>The examples presented here illustrate the various solutions and some
+		  tradeoffs. 
+		</p>
+ 
+		<p>The first example uses
+		  <samp class="codeph">tbb::parallel_reduce</samp> to do a + reduction over sequence
+		  of type <samp class="codeph">T</samp>. The sequence is defined by a half-open interval [first,last). 
+		</p>
+ 
+		<pre>T AssocReduce( const T* first, const T* last, T identity ) {
+   return tbb::parallel_reduce(
+       // Index range for reduction
+       tbb::blocked_range<const T*>(first,last),
+       // Identity element
+       identity,
+       // Reduce a subrange and partial sum
+       [&]( tbb::blocked_range<const T*> r, T partial_sum )->float {
+           return std::accumulate( r.begin(), r.end(), partial_sum );
+       },
+       // Reduce two partial sums
+       std::plus<T>()
+   );
+} </pre> 
+		<p>The third and fourth arguments to this form of <samp class="codeph">parallel_reduce</samp> are a
+		  built in form of the agglomeration pattern. If there is an elementwise action
+		  to be performed before the reduction, incorporating it into the third argument
+		  (reduction of a subrange) may improve performance because of better locality of
+		  reference. 
+		</p>
+ 
+		<p>The second example assumes the + is commutative on <samp class="codeph">T</samp>. It is a good
+		  solution when <samp class="codeph">T</samp> objects are expensive to construct. 
+		</p>
+ 
+		<pre>T CombineReduce( const T* first, const T* last, T identity ) {
+   tbb::combinable<T> sum(identity);
+   tbb::parallel_for(
+       tbb::blocked_range<const T*>(first,last),
+       [&]( tbb::blocked_range<const T*> r ) {
+           sum.local() += std::accumulate(r.begin(), r.end(), identity);
+       }
+   );
+   return sum.combine( []( const T& x, const T& y ) {return x+y;} );
+}</pre> 
+		<p>Sometimes it is desirable to destructively use the partial results to
+		  generate the final result. For example, if the partial results are lists, they
+		  can be spliced together to form the final result. In that case use class 
+		  <samp class="codeph">tbb::enumerable_thread_specific</samp> instead of 
+		  <samp class="codeph">combinable</samp>. The 
+		  <samp class="codeph">ParallelFindCollisions</samp>
+		  example in <em>Divide amd Conquer</em> demonstrates the technique. 
+		</p>
+ 
+		<p>Floating-point addition and multiplication are almost associative.
+		  Reassociation can cause changes because of rounding effects. The techniques
+		  shown so far reassociate terms non-deterministically. Fully deterministic
+		  parallel reduction for a not quite associative operation requires using
+		  deterministic reassociation. The code below demonstrates this in the form of a
+		  template that does a + reduction over a sequence of values of type <samp class="codeph">T</samp>. 
+		</p>
+ 
+		<pre>template<typename T>
+T RepeatableReduce( const T* first, const T* last, T identity ) {
+   if( last-first<=1000 ) {
+       // Use serial reduction
+       return std::accumulate( first, last, identity );
+   } else {
+       // Do parallel divide-and-conquer reduction
+       const T* mid = first+(last-first)/2;
+       T left, right;
+       tbb::parallel_invoke(
+           [&]{left=RepeatableReduce(first,mid,identity);},
+           [&]{right=RepeatableReduce(mid,last,identity);} 
+       );
+       return left+right;
+   }
+}</pre> 
+		<p>The outer if-else is an instance of the agglomeration pattern for
+		  recursive computations. The reduction graph, though not a strict binary tree,
+		  is fully deterministic. Thus the result will always be the same for a given
+		  input sequence, assuming all threads do identical floating-point rounding. 
+		</p>
+ 
+		<p>The final example shows how a problem that typically is not viewed as
+		  a reduction can be parallelized by viewing it as a reduction. The problem is
+		  retrieving floating-point exception flags for a computation across a data set.
+		  The serial code might look something like: 
+		</p>
+ 
+		<pre>   feclearexcept(FE_ALL_EXCEPT); 
+   for( int i=0; i<N; ++i )
+       C[i]=A[i]*B[i];
+   int flags = fetestexcept(FE_ALL_EXCEPT);
+   if (flags & FE_DIVBYZERO) ...;
+   if (flags & FE_OVERFLOW) ...;
+   ...</pre> 
+		<p>The code can be parallelized by computing chunks of the loop
+		  separately, and merging floating-point flags from each chunk. To do this with 
+		  <samp class="codeph">tbb:parallel_reduce</samp>, first define a
+		  "body" type, as shown below. 
+		</p>
+ 
+		<pre>struct ComputeChunk {
+   int flags;          // Holds floating-point exceptions seen so far.
+   void reset_fpe() {
+       flags=0;
+       feclearexcept(FE_ALL_EXCEPT);
+   }
+   ComputeChunk () {
+       reset_fpe();
+   }
+   // "Splitting constructor"called by parallel_reduce when splitting a range into subranges.
+   ComputeChunk ( const ComputeChunk&, tbb::split ) {
+       reset_fpe();
+   }
+   // Operates on a chunk and collects floating-point exception state into flags member.
+   void operator()( tbb::blocked_range<int> r ) {
+       int end=r.end();
+       for( int i=r.begin(); i!=end; ++i )
+           C[i] = A[i]/B[i];
+       // It is critical to do |= here, not =, because otherwise we
+       // might lose earlier exceptions from the same thread.
+       flags |= fetestexcept(FE_ALL_EXCEPT);
+   }
+   // Called by parallel_reduce when joining results from two subranges.
+   void join( Body& other ) {
+       flags |= other.flags;
+   }
+};</pre> 
+		<p>Then invoke it as follows: 
+		</p>
+ 
+		<pre>// Construction of cc implicitly resets FP exception state.
+   ComputeChunk cc;
+   tbb::parallel_reduce( tbb::blocked_range<int>(0,N), cc );
+   if (cc.flags & FE_DIVBYZERO) ...;
+   if (cc.flags & FE_OVERFLOW) ...;
+   ...</pre> 
+		<p>  
+		</p>
+ 
+	 </div>
+ 
+  </div>
+ 
+  
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../tbb_userguide/Design_Patterns/Design_Patterns.htm">Design Patterns</a></div>
+</div>
+<div class="See Also">
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="Agglomeration.htm#Agglomeration">Agglomeration 
+		  </a></div>
+<div><a href="Elementwise.htm#Elementwise">Elementwise 
+		  </a></div>
+<div><a href="Divide_and_Conquer.htm#Divide_and_Conquer">Divide and Conquer 
+		  </a></div></div>
+</div> 
+
+</body>
+</html>
diff --git a/doc/help/tbb_userguide/Design_Patterns/Reference_Counting.htm b/doc/help/tbb_userguide/Design_Patterns/Reference_Counting.htm
new file mode 100755
index 0000000..2aeac5b
--- /dev/null
+++ b/doc/help/tbb_userguide/Design_Patterns/Reference_Counting.htm
@@ -0,0 +1,171 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="Reference Counting">
+<meta name="DC.subject" content="Reference Counting">
+<meta name="keywords" content="Reference Counting">
+<meta name="DC.Relation" scheme="URI" content="../../tbb_userguide/Design_Patterns/Design_Patterns.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="Reference_Counting">
+<link rel="stylesheet" type="text/css" href="../../intel_css_styles.css">
+<title>Reference Counting</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="Reference_Counting">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(2);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="Reference_Counting"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Reference Counting</h1>
+ 
+   
+  <div> 
+	 <div class="section"><h2 class="sectiontitle">Problem</h2> 
+		 
+		<p>Destroy an object when it will no longer be used. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Context</h2> 
+		 
+		<p>Often it is desirable to destroy an object when it is known that it
+		  will not be used in the future. Reference counting is a common serial solution
+		  that extends to parallel programming if done carefully. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Forces</h2> 
+		 
+		<ul type="disc"> 
+		  <li> 
+			 <p>If there are cycles of references, basic reference counting is
+				insufficient unless the cycle is explicitly broken. 
+			 </p>
+ 
+		  </li>
+ 
+		  <li> 
+			 <p>Atomic counting is relatively expensive in hardware. 
+			 </p>
+ 
+		  </li>
+ 
+		</ul>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Solution</h2> 
+		 
+		<p>Thread-safe reference counting is like serial reference counting,
+		  except that the increment/decrement is done atomically, and the decrement and
+		  test "count is zero?" must act as a single atomic operation. The
+		  following example uses 
+		  <samp class="codeph">tbb::atomic<int></samp> to achieve this. 
+		</p>
+ 
+		<pre>template<typename T>
+class counted {
+   tbb::atomic<int> my_count;
+   T value;
+public:
+   // Construct object with a single reference to it.
+   counted() {my_count=1;}
+   // Add reference
+   void add_ref() {++my_count;}
+   // Remove reference. Return true if it was the last reference.
+   bool remove_ref() {return ‐‐my_count==0;}
+   // Get reference to underlying object
+   T& get() {
+       assert(my_count>0);
+       return my_value;
+   }
+};</pre> 
+		<p>It is incorrect to use a separate read for testing if the count is
+		  zero. The following code would be an incorrect implementation of method 
+		  <samp class="codeph">remove_ref</samp>() because two threads might both execute
+		  the decrement, and then both read 
+		  <samp class="codeph">my_count</samp> as zero. Hence two callers would both be told
+		  incorrectly that they had removed the last reference. 
+		</p>
+ 
+		<pre>      ‐‐my_count;
+      return my_count==0. <span style="color:blue"><strong>// WRONG!</strong></span></pre> 
+		<p>The decrement may need to have a 
+		  <em>release</em> fence so that any pending writes complete before the
+		  object is deleted. 
+		</p>
+ 
+		<p>There is no simple way to atomically copy a pointer and increment its
+		  reference count, because there will be a timing hole between the copying and
+		  the increment where the reference count is too low, and thus another thread
+		  might decrement the count to zero and delete the object. Two ways to address
+		  the problem are "hazard pointers" and "pass the buck". See the references below
+		  for details. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Variations</h2> 
+		 
+		<p>Atomic increment/decrement can be more than an order of magnitude more
+		  expensive than ordinary increment/decrement. The serial optimization of
+		  eliminating redundant increment/decrement operations becomes more important
+		  with atomic reference counts. 
+		</p>
+ 
+		<p>Weighted reference counting can be used to reduce costs if the
+		  pointers are unshared but the referent is shared. Associate a 
+		  <em>weight</em> with each pointer. The reference count is the sum of the
+		  weights. A pointer 
+		  <samp class="codeph">x</samp> can be copied as a pointer 
+		  <samp class="codeph">x</samp>' without updating the reference count by splitting
+		  the original weight between x and x'. If the weight of x is too low to split,
+		  then first add a constant W to the reference count and weight of x. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">References</h2> 
+		 
+		<p>D. Bacon and V.T. Rajan, "Concurrent Cycle Collection in Reference
+		  Counted Systems" in 
+		  <cite>Proc. European Conf. on Object-Oriented Programming</cite> (June
+		  2001). Describes a garbage collector based on reference counting that does
+		  collect cycles. 
+		</p>
+ 
+		<p>M. Michael, "Hazard Pointers: Safe Memory Reclamation for Lock-Free
+		  Objects" in IEEE Transactions on Parallel and Distributed Systems (June 2004).
+		  Describes the "hazard pointer" technique. 
+		</p>
+ 
+		<p>M. Herlihy, V. Luchangco, and M. Moir, "The Repeat Offender Problem: A
+		  Mechanism for Supporting Dynamic-Sized, Lock-Free Data Structures" in 
+		  <cite>Proceedings of the 16th International Symposium on Distributed
+			 Computing</cite> (Oct. 2002). Describes the "pass the buck" technique. 
+		</p>
+ 
+	 </div>
+ 
+  </div>
+ 
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../tbb_userguide/Design_Patterns/Design_Patterns.htm">Design Patterns</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/tbb_userguide/Design_Patterns/Wavefront.htm b/doc/help/tbb_userguide/Design_Patterns/Wavefront.htm
new file mode 100755
index 0000000..906ddd1
--- /dev/null
+++ b/doc/help/tbb_userguide/Design_Patterns/Wavefront.htm
@@ -0,0 +1,225 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="Wavefront">
+<meta name="DC.subject" content="Wavefront">
+<meta name="keywords" content="Wavefront">
+<meta name="DC.Relation" scheme="URI" content="../../tbb_userguide/Design_Patterns/Design_Patterns.htm">
+<meta name="DC.Relation" scheme="URI" content="General_References.htm#General_References">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="Wavefront">
+<link rel="stylesheet" type="text/css" href="../../intel_css_styles.css">
+<title>Wavefront</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="Wavefront">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(2);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="Wavefront"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Wavefront</h1>
+ 
+   
+  <div> 
+	 <div class="section"><h2 class="sectiontitle">Problem</h2> 
+		 
+		<p>Perform computations on items in a data set, where the computation on
+		  an item uses results from computations on predecessor items. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Context</h2> 
+		 
+		<p>The dependences between computations form an acyclic graph. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Forces</h2> 
+		 
+		<ul type="disc"> 
+		  <li> 
+			 <p>Dependence constraints between items form an acyclic graph. 
+			 </p>
+ 
+		  </li>
+ 
+		  <li> 
+			 <p>The number of immediate predecessors in the graph is known in
+				advance, or can be determined some time before the last predecessor completes. 
+			 </p>
+ 
+		  </li>
+ 
+		</ul>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Solution</h2> 
+		 
+		<p>The solution is a parallel variant of topological sorting, using 
+		  <samp class="codeph">tbb::parallel_do</samp> to process items. Associate an atomic
+		  counter with each item. Initialize each counter to the number of predecessors.
+		  Invoke tbb::parallel_do to process the items that have no predessors (have
+		  counts of zero). After an item is processed, decrement the counters of its
+		  successors. If a successor's counter reaches zero, add that successor to the 
+		  <samp class="codeph">tbb::parallel_do</samp> via a "feeder". 
+		</p>
+ 
+		<p>If the number of predecessors for an item cannot be determined in
+		  advance, treat the information "know number of predecessors" as an
+		  additional predecessor. When the number of predecessors becomes known, treat
+		  this conceptual predecessor as completed. 
+		</p>
+ 
+		<p>If the overhead of counting individual items is excessive, aggregate
+		  items into blocks, and do the wavefront over the blocks. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Example</h2> 
+		 
+		<p>Below is a serial kernel for the longest common subsequence algorithm.
+		  The parameters are strings 
+		  <samp class="codeph">x</samp> and 
+		  <samp class="codeph">y</samp> with respective lengths 
+		  <samp class="codeph">xlen</samp> and 
+		  <samp class="codeph">ylen</samp>. 
+		</p>
+ 
+		<pre>int F[MAX_LEN+1][MAX_LEN+1];
+
+void SerialLCS( const char* x, size_t xlen, const char* y, size_t ylen )
+{
+   for( size_t i=1; i<=xlen; ++i )
+       for( size_t j=1; j<=ylen; ++j )
+           F[i][j] = x[i-1]==y[j-1] ? F[i-1][j-1]+1:
+                                      max(F[i][j-1],F[i-1][j]);
+}</pre> 
+		<p>The kernel sets 
+		  <samp class="codeph">F[i][j]</samp> to the length of the longest common
+		  subsequence shared by 
+		  <samp class="codeph">x[0..i-1]</samp> and 
+		  <samp class="codeph">y[0..j-1]</samp>. It assumes that F[0][0..ylen] and 
+		  <samp class="codeph">F[0..xlen][0]</samp> have already been initialized to zero. 
+		</p>
+ 
+		<p>The following figure shows the data dependences for calculating 
+		  <samp class="codeph">F[i][j]</samp>. 
+		</p>
+ 
+		<div class="fignone" id="fig3"><a name="fig3"><!-- --></a><span class="figcap">Data dependences for longest common substring
+			 calculation.</span> 
+		  <br><img width="122" height="122" src="Images/image005.jpg"><br> 
+		</div>
+ 
+		<p>The following figure shows the gray diagonal dependence is the
+		  transitive closure of other dependencies. Thus for parallelization purposes it
+		  is a redundant dependence that can be ignored. 
+		</p>
+ 
+		<div class="fignone" id="fig4"><a name="fig4"><!-- --></a><span class="figcap">Diagonal dependence is redundant.</span> 
+		  <br><img width="122" height="122" src="Images/image006.jpg"><br> 
+		</div>
+ 
+		<p>It is generally good to remove redundant dependences from
+		  consideration, because the atomic counting incurs a cost for each dependence
+		  considered. 
+		</p>
+ 
+		<p>Another consideration is grain size. Scheduling each 
+		  <samp class="codeph">F[i][j]</samp> element calculation separately is
+		  prohibitively expensive. A good solution is to aggregate the elements into
+		  contiguous blocks, and process the contents of a block serially. The blocks
+		  have the same dependence pattern, but at a block scale. Hence scheduling
+		  overheads can be amortized over blocks. 
+		</p>
+ 
+		<p>The parallel code follows. Each block consists of 
+		  <samp class="codeph">N×N</samp> elements. Each block has an associated atomic
+		  counter. Array 
+		  <samp class="codeph">Count</samp> organizes these counters for easy lookup. The
+		  code initializes the counters and then rolls a wavefront using 
+		  <samp class="codeph">parallel_do</samp>, starting with the block at the origin
+		  since it has no predecessors. 
+		</p>
+ 
+		<pre>const int N = 64;
+tbb::atomic<char> Count[MAX_LEN/N+1][MAX_LEN/N+1];
+ 
+void ParallelLCS( const char* x, size_t xlen, const char* y, size_t ylen ) {
+   // Initialize predecessor counts for blocks.
+   size_t m = (xlen+N-1)/N;
+   size_t n = (ylen+N-1)/N;
+   for( int i=0; i<m; ++i )
+       for( int j=0; j<n; ++j )
+           Count[i][j] = (i>0)+(j>0);
+   // Roll the wavefront from the origin.
+   typedef pair<size_t,size_t> block;
+   block origin(0,0);
+   tbb::parallel_do( &origin, &origin+1,
+       [=]( const block& b, tbb::parallel_do_feeder<block>&feeder ) {
+           // Extract bounds on block
+           size_t bi = b.first;
+           size_t bj = b.second;
+           size_t xl = N*bi+1;
+           size_t xu = min(xl+N,xlen+1);
+           size_t yl = N*bj+1;
+           size_t yu = min(yl+N,ylen+1);
+           // Process the block
+           for( size_t i=xl; i<xu; ++i )
+               for( size_t j=yl; j<yu; ++j )
+                   F[i][j] = x[i-1]==y[j-1] ? F[i-1][j-1]+1:
+                                              max(F[i][j-1],F[i-1][j]);
+           // Account for successors
+           if( bj+1<n && ‐‐Count[bi][bj+1]==0 )
+               feeder.add( block(bi,bj+1) );
+           if( bi+1<m && ‐‐Count[bi+1][bj]==0 )
+               feeder.add( block(bi+1,bj) );       }
+   );
+}</pre> 
+		<p>A regular structure simplifies implementation of the wavefront
+		  pattern, but is not required. The parallel preorder traversal in 
+		  <samp class="codeph">examples/parallel_do/parallel_preorder</samp> applies the
+		  wavefront pattern to traverse each node of a graph in parallel, subject to the
+		  constraint that a node is traversed after its predecessors are traversed. In
+		  that example, each node in the graph stores its predecessor count. 
+		</p>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">References</h2> 
+		 
+		<p>Eun-Gyu Kim and Mark Snir, "Wavefront Pattern",
+		  http://www.cs.uiuc.edu/homes/snir/PPP/patterns/wavefront.pdf 
+		</p>
+ 
+	 </div>
+ 
+  </div>
+ 
+  
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../../tbb_userguide/Design_Patterns/Design_Patterns.htm">Design Patterns</a></div>
+</div>
+<div class="See Also">
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="General_References.htm#General_References">General References 
+		  </a></div></div>
+</div> 
+
+</body>
+</html>
diff --git a/doc/help/tbb_userguide/Empty_Tasks.htm b/doc/help/tbb_userguide/Empty_Tasks.htm
new file mode 100755
index 0000000..c1dfa93
--- /dev/null
+++ b/doc/help/tbb_userguide/Empty_Tasks.htm
@@ -0,0 +1,46 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="Empty Tasks">
+<meta name="DC.subject" content="Empty Tasks">
+<meta name="keywords" content="Empty Tasks">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/Useful_Task_Techniques.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="tutorial_Empty_Tasks">
+<link rel="stylesheet" type="text/css" href="../intel_css_styles.css">
+<title>Empty Tasks</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="tutorial_Empty_Tasks">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(1);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="tutorial_Empty_Tasks"><!-- --></a>
+
+
+<h1 class="topictitle1">Empty Tasks</h1>
+
+<div><p>You might need a task that does not do anything but wait for its children to complete. The header <samp class="codeph">task.h</samp> defines class <samp class="codeph">empty_task</samp> for this purpose. Its definition is as follows:</p>
+<pre>// Task that does nothing. Useful for synchronization.
+class empty_task: public task {
+    /*override*/ task* execute() {
+        return NULL;
+    }
+};</pre><p>A good example of <samp class="codeph">empty_task</samp> in action is provided in <samp class="codeph">tbb/parallel_for</samp>.<samp class="codeph">h</samp>, in method <span class="option">start_for::execute()</span>. The code there uses continuation-passing style. It creates two child tasks, and uses an <samp class="codeph">empty_task</samp> as the continuation when the child tasks complete. The top level routine <samp class="codeph">parallel_for</samp> (in <samp class="codep [...]
+</div>
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../tbb_userguide/Useful_Task_Techniques.htm">Useful Task Techniques</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/tbb_userguide/Exceptions_and_Cancellation.htm b/doc/help/tbb_userguide/Exceptions_and_Cancellation.htm
new file mode 100755
index 0000000..a723c23
--- /dev/null
+++ b/doc/help/tbb_userguide/Exceptions_and_Cancellation.htm
@@ -0,0 +1,130 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="Exceptions and Cancellation">
+<meta name="DC.subject" content="Exceptions and Cancellation">
+<meta name="keywords" content="Exceptions and Cancellation">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/title.htm">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/Cancellation_Without_An_Exception.htm">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/Cancellation_and_Nested_Parallelism.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="tutorial_Exceptions_and_Cancellation">
+<link rel="stylesheet" type="text/css" href="../intel_css_styles.css">
+<title>Exceptions and Cancellation</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="tutorial_Exceptions_and_Cancellation">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(1);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="tutorial_Exceptions_and_Cancellation"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Exceptions and Cancellation</h1>
+ 
+   
+  <div> 
+	 <p>Intel® Threading Building Blocks (Intel® TBB) supports exceptions and
+		cancellation. When code inside an Intel® TBB algorithm throws an exception, the
+		following steps generally occur: 
+	 </p>
+ 
+	 <ol> 
+		<li> 
+		  <p>The exception is captured. Any further exceptions inside the
+			 algorithm are ignored. 
+		  </p>
+ 
+		</li>
+ 
+		<li> 
+		  <p>The algorithm is cancelled. Pending iterations are not executed. If
+			 there is Intel® TBB parallelism nested inside, the nested parallelism may also
+			 be cancelled as explained in 
+			 <strong>Cancellation and Nested Parallelism</strong>. 
+		  </p>
+ 
+		</li>
+ 
+		<li> 
+		  <p>Once all parts of the algorithm stop, an exception is thrown on the
+			 thread that invoked the algorithm. 
+		  </p>
+ 
+		</li>
+ 
+	 </ol>
+ 
+	 <p>The exception thrown in step 3 might be the original exception, or might
+		merely be a summary of type 
+		<samp class="codeph">captured_exception</samp>. The latter usually occurs on current
+		systems because propagating exceptions between threads requires support for the
+		C++ 
+		<samp class="codeph">std::exception_ptr</samp> functionality. As compilers evolve to
+		support this functionality, future versions of Intel® TBB might throw the
+		original exception. So be sure your code can catch either type of exception.
+		The following example demonstrates exception handling. 
+	 </p>
+ 
+	 <pre>#include "tbb/tbb.h"
+#include <vector>
+#include <iostream>
+ 
+using namespace tbb;
+using namespace std;
+ 
+vector<int> Data;
+ 
+struct Update {
+    void operator()( const blocked_range<int>& r ) const {
+        for( int i=r.begin(); i!=r.end(); ++i )
+            Data.at(i) += 1;
+    }
+};
+ 
+int main() {
+    Data.resize(1000);
+    try {
+        parallel_for( blocked_range<int>(0, 2000), Update());
+    } catch( captured_exception& ex ) {
+       cout << "captured_exception: " << ex.what() << endl;
+    } catch( out_of_range& ex ) {
+       cout << "out_of_range: " << ex.what() << endl;
+    }
+    return 0;
+}</pre> 
+	 <p>The 
+		<samp class="codeph">parallel_for</samp> attempts to iterate over 2000 elements of a
+		vector with only 1000 elements. Hence the expression 
+		<samp class="codeph">Data.at(i)</samp> sometimes throws an exception 
+		<samp class="codeph">std::out_of_range</samp> during execution of the algorithm.
+		When the exception happens, the algorithm is cancelled and an exception thrown
+		at the call site to 
+		<samp class="codeph">parallel_for</samp>. 
+	 </p>
+ 
+  </div>
+ 
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../tbb_userguide/title.htm">Intel® Threading Building Blocks (Intel® TBB) User Guide</a></div>
+</div>
+<div>
+<ul class="ullinks">
+<li class="ulchildlink"><a href="../tbb_userguide/Cancellation_Without_An_Exception.htm">Cancellation Without An Exception</a><br>
+</li>
+<li class="ulchildlink"><a href="../tbb_userguide/Cancellation_and_Nested_Parallelism.htm">Cancellation and Nested Parallelism</a><br>
+</li>
+</ul>
+</div>
+
+</body>
+</html>
diff --git a/doc/help/tbb_userguide/General_Acyclic_Graphs_of_Tasks.htm b/doc/help/tbb_userguide/General_Acyclic_Graphs_of_Tasks.htm
new file mode 100755
index 0000000..591e4ce
--- /dev/null
+++ b/doc/help/tbb_userguide/General_Acyclic_Graphs_of_Tasks.htm
@@ -0,0 +1,155 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="General Acyclic Graphs of Tasks">
+<meta name="DC.subject" content="General Acyclic Graphs of Tasks">
+<meta name="keywords" content="General Acyclic Graphs of Tasks">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/The_Task_Scheduler.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="tutorial_General_Acyclic_Graphs_of_Tasks">
+<link rel="stylesheet" type="text/css" href="../intel_css_styles.css">
+<title>General Acyclic Graphs of Tasks</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="tutorial_General_Acyclic_Graphs_of_Tasks">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(1);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="tutorial_General_Acyclic_Graphs_of_Tasks"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">General Acyclic Graphs of Tasks</h1>
+ 
+  
+  <div>
+	 <p>The task graphs considered so far have a tree structure where each task
+		has a single successor 
+		<samp class="codeph">task::parent()</samp> waiting for it to complete. To
+		accommodate more complex graphs where a task has multiple successors, 
+        Intel® Threading Building Blocks (Intel® TBB) 2.2 and later has methods 
+        that allow direct manipulation of a task's reference count.
+	 </p>
+
+	 <p>For example, consider a MxN array of tasks where each task depends on
+		the tasks to the left and above it. The following figure shows such an example:
+	 </p>
+
+	 <div class="fignone" id="fig11"><a name="fig11"><!-- --></a><span class="figcap">Task graph where some tasks have more than one
+		  successor.</span> 
+		<br><img src="Images/image018.jpg" width="216" height="120"><br>
+	 </div>
+
+	 <p>The following code evaluates such a task graph, where each task computes
+		a sum of inputs from its neighbors to the left and above it. 
+	 </p>
+
+	 <pre>const int M=3, N=4;
+ 
+class DagTask: public tbb::task {
+public:
+    const int i, j;
+    // input[0] = sum from above, input[1] = sum from left
+    double input[2];
+    double sum;
+    // successor[0] = successor below, successor[1] = successor to right
+    DagTask* successor[2];
+    DagTask( int i_, int j_ ) : i(i_), j(j_) {
+        input[0] = input[1] = 0;
+    }
+    task* execute() {
+        __TBB_ASSERT( ref_count()==0, NULL );
+        sum = i==0 && j==0 ? 1 : input[0]+input[1];
+        for( int k=0; k<2; ++k )
+            if( DagTask* t = successor[k] ) {
+                t->input[k] = sum;
+                if( t->decrement_ref_count()==0 )
+                    spawn( *t );
+            }
+        return NULL;
+    }
+};
+ 
+double BuildAndEvaluateDAG() {
+    DagTask* x[M][N];
+    for( int i=M; --i>=0; )
+        for( int j=N; --j>=0; ) {
+            x[i][j] = new( tbb::task::allocate_root() ) DagTask(i,j);
+            x[i][j]->successor[0] = i+1<M ? x[i+1][j] : NULL;
+            x[i][j]->successor[1] = j+1<N ? x[i][j+1] : NULL;
+            x[i][j]->set_ref_count((i>0)+(j>0));
+        }
+    // Add extra reference to last task, because it is waited on
+    // by spawn_and_wait_for_all.
+    x[M-1][N-1]->increment_ref_count();
+    // Wait for all but last task to complete.
+    x[M-1][N-1]->spawn_and_wait_for_all(*x[0][0]);
+    // Last task is not executed implicitly, so execute it explicitly.
+    x[M-1][N-1]->execute();
+    double result = x[M-1][N-1]->sum;
+    // Destroy last task.
+    task::destroy(*x[M-1][N-1]);
+    return result;
+}</pre>
+	 <p>Function 
+		<samp class="codeph">BuildAndEvaluateDAG</samp> first builds an array of 
+		<samp class="codeph">DagTask</samp>. It allocates each task as a root task because 
+		<samp class="codeph">task::parent()</samp> is not used to record successor
+		relationships. The reference count of each task is initialized to the number of
+		its predecessors. It evaluates the graph by spawning the initial task 
+		<samp class="codeph">x[0][0]</samp> and waiting for 
+		<samp class="codeph">x[M-1][N-1]</samp> to complete. As each task completes, it
+		decrements the reference count of its successors, and spawns any successor
+		whose count becomes zero. Given a sufficient number of processors, execution
+		sweeps diagonally over the graph like a wave front from top left to bottom
+		right.
+	 </p>
+
+	 <p>The last task 
+		<samp class="codeph">x[M-1][N-1]</samp> requires special handling because of its
+		special interaction with 
+		<samp class="codeph">BuildAndEvaluateDAG</samp>:
+	 </p>
+ 
+	 <ul type="disc">
+		<li>
+		  <p>The last task is used to wait explicitly for other tasks to
+			 complete. Method 
+			 <samp class="codeph">wait_for_all</samp> requires that the last task's reference
+			 count be set to one more than the number of its predecessors. Thus the last
+			 task is not implicitly executed when its predecessors complete. 
+		  </p>
+
+		</li>
+
+		<li>
+		  <p>The value 
+			 <samp class="codeph">sum</samp> must be extracted from the last task before it
+			 is destroyed.
+		  </p>
+
+		</li>
+
+	 </ul>
+
+	 <p>Hence the example explicitly executes the last task, extracts its sum,
+		and then destroys it. 
+	 </p>
+
+  </div>
+
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../tbb_userguide/The_Task_Scheduler.htm">The Task Scheduler</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/tbb_userguide/How_Task_Scheduling_Works.htm b/doc/help/tbb_userguide/How_Task_Scheduling_Works.htm
new file mode 100755
index 0000000..5e14e8d
--- /dev/null
+++ b/doc/help/tbb_userguide/How_Task_Scheduling_Works.htm
@@ -0,0 +1,244 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="How Task Scheduling Works">
+<meta name="DC.subject" content="How Task Scheduling Works">
+<meta name="keywords" content="How Task Scheduling Works">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/The_Task_Scheduler.htm">
+<meta name="DC.Relation" scheme="URI" content="Scheduler_Bypass.htm">
+<meta name="DC.Relation" scheme="URI" content="Simple_Example_Fibonacci_Numbers.htm#tutorial_Simple_Example_Fibonacci_Numbers">
+<meta name="DC.Relation" scheme="URI" content="Continuation_Passing.htm#tutorial_Continuation_Passing">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="tutorial_How_Task_Scheduling_Works">
+<link rel="stylesheet" type="text/css" href="../intel_css_styles.css">
+<title>How Task Scheduling Works</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="tutorial_How_Task_Scheduling_Works">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(1);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="tutorial_How_Task_Scheduling_Works"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">How Task Scheduling Works</h1>
+ 
+   
+  <div> 
+	 <p>The scheduler evaluates a 
+		<em>task graph.</em> The graph is a directed graph where each node is a
+		task. Each task points to its 
+		<em>successor</em>, which is another task that is waiting on it to
+		complete, or NULL. Method 
+  <span class="option">task::parent</span><samp class="codeph">()</samp>
+  gives you read-only access to the successor pointer. Each task has a 
+  <em>refcount</em> that counts the number of tasks that have it as a successor.
+  The graph evolves over time. 
+  </p>
+ 
+  <div class="fignone" id="fig7"><a name="fig7"><!-- --></a><span class="figcap">Snapshot of Task Graph for the Fibonacci Example</span> 
+	 <br><img src="Images/image014.jpg"><br> 
+  </div>
+ 
+  <p> The figure above shows a snapshot of a task graph for the Fibonacci
+	 example where: 
+  </p>
+ 
+  <ul type="disc"> 
+	 <li> 
+		<p>Tasks A, B, and C spawned child tasks that they are waiting upon.
+		  Their 
+		  <em>refcount</em> values are the number of children in flight plus one.
+		  The extra one is part of a convention for explicit waiting that is explained
+		  later in this section. 
+		</p>
+ 
+	 </li>
+ 
+	 <li> 
+		<p>Task D is running, but has not yet spawned any children, and so it has
+		  not had to set its reference count yet. 
+		</p>
+ 
+	 </li>
+ 
+	 <li> 
+		<p>Tasks E, F, and G have been spawned, but have not yet started
+		  executing. 
+		</p>
+ 
+	 </li>
+ 
+  </ul>
+ 
+  <p>The scheduler runs tasks in a way that tends to minimize both memory
+	 demands and cross-thread communication. The intuition is that a balance must be
+	 reached between depth-first and breadth-first execution. Assuming that the tree
+	 is finite, depth-first is best for sequential execution for the following
+	 reasons: 
+  </p>
+ 
+  <ul type="disc"> 
+	 <li> 
+		<p><strong>Strike when the cache is hot</strong>. The deepest tasks are the most
+		  recently created tasks, and therefore are hottest in cache. Also, if they can
+		  complete, then task C can continue executing, and though not the hottest in
+		  cache, it is still warmer than the older tasks above it. 
+		</p>
+ 
+	 </li>
+ 
+	 <li> 
+		<p><strong>Minimize space</strong>. Executing the shallowest task leads to
+		  breadth-first unfolding of the tree. This creates an exponential number of
+		  nodes that coexist simultaneously. In contrast, depth-first execution creates
+		  the same number of nodes, but only a linear number have to exist at the same
+		  time, because it stacks the other ready tasks (E, F, and G in the picture). 
+		</p>
+ 
+	 </li>
+ 
+  </ul>
+ 
+  <p>Though breadth-first execution has a severe problem with memory
+	 consumption, it does maximize parallelism if you have an unlimited number of
+	 physical threads. Since physical threads are limited, it is better to use only
+	 enough breadth-first execution to keep the available processors busy. 
+  </p>
+ 
+  <p>The scheduler implements a hybrid of depth-first and breadth-first
+	 execution. Each thread has its own deque<a href="#ftn8"><sup><sup>[8]</sup></sup></a> of tasks that are ready to
+	 run. When a thread spawns a task, it pushes it onto the bottom of its deque.
+	 The following figure shows a snapshot of a thread's deque that corresponds to
+	 the task graph in figure above. 
+  </p>
+ 
+  <div class="fignone" id="fig8"><a name="fig8"><!-- --></a><span class="figcap">A Thread's Deque</span> 
+	 <br><img src="Images/image015.jpg" width="222" height="93"><br> 
+  </div>
+ 
+  <p>When a thread participates in task graph evaluation, it continually
+	 executes a task obtained by the first rule below that applies:
+  </p>
+ 
+  <ol> 
+	 <li> 
+		<p id="Execution_Rules"><a name="Execution_Rules"><!-- --></a>Get the task returned by method 
+		  <samp class="codeph">execute</samp> for the previous task. This rule does not
+		  apply if 
+		  <samp class="codeph">execute</samp> returned 
+		  <samp class="codeph">NULL</samp>. 
+		</p>
+ 
+	 </li>
+ 
+	 <li> 
+		<p>Pop a task from the 
+		  <em>bottom</em> of its 
+		  <em>own</em> deque. This rule does not apply if the deque is empty. 
+		</p>
+ 
+	 </li>
+ 
+	 <li> 
+		<p>Steal a task from the 
+		  <em>top</em> of 
+		  <em>another</em> randomly chosen deque. If the chosen deque is empty, the
+		  thread tries this rule again until it succeeds. 
+		</p>
+ 
+	 </li>
+ 
+  </ol>
+ 
+  <p>Rule 1 is discussed in 
+	 <strong>Scheduler Bypass</strong>. The overall effect of rule 2 is to execute the 
+	 <em>youngest</em> task spawned by the thread, which causes depth-first
+	 execution until the thread runs out of work. Then rule 3 applies. It steals the
+	 
+	 <em>oldest</em> task spawned by another thread, which causes temporary
+	 breadth-first execution that converts potential parallelism into actual
+	 parallelism. 
+  </p>
+ 
+  <p>Getting a task is always automatic; it happens as part of task graph
+	 evaluation. Putting a task into a deque can be explicit or implicit. A thread
+	 always pushes a task onto the bottom of its own deque, never another thread's
+	 deque. Only theft can transfer a task spawned by one thread to another thread. 
+  </p>
+ 
+  <p>There are three conditions that cause a thread to push a task onto its
+	 deque: 
+  </p>
+ 
+  <ul type="disc"> 
+	 <li> 
+		<p>The task is explicitly spawned by the thread, for example, by method 
+		  <samp class="codeph">spawn</samp>. 
+		</p>
+ 
+	 </li>
+ 
+	 <li> 
+		<p>A task has been marked for re-execution by method 
+		  <samp class="codeph">task::recycle_to_reexecute</samp>. 
+		</p>
+ 
+	 </li>
+ 
+	 <li> 
+		<p>The thread completes execution of the last predecessor task 
+		  <em>and</em> after doing so implicitly decrements the task's reference
+		  count to zero. If so, the thread implicitly pushes the successor task onto the
+		  bottom of its deque. Completing the last child does not cause the reference
+		  count to become zero if the reference count includes extra references. 
+		</p>
+ 
+	 </li>
+ 
+  </ul>
+ 
+  <p>The example in 
+	 <strong>Fibonacci Numbers</strong> does not have implicit pushing, because it
+	 explicitly waits for children to complete. It uses 
+	 <samp class="codeph">set_ref_count(3)</samp> for a task having only two children. The
+	 extra reference protects the successor from being implicitly pushed. 
+	 <strong>Continuation Passing</strong> has a similar example that employs implicit
+	 pushing. It uses 
+	 <samp class="codeph">set_ref_count(2)</samp> for a task having two children, so that
+	 that task executes automatically when the children complete. 
+  </p>
+ 
+  <p>To summarize, the task scheduler's fundamental strategy is 'breadth-first
+	 theft and depth-first work". The breadth-first theft rule raises
+	 parallelism sufficiently to keep threads busy. The depth-first work rule keeps
+	 each thread operating efficiently once it has sufficient work to do. 
+  </p>
+ 
+  </div>
+ 
+  
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../tbb_userguide/The_Task_Scheduler.htm">The Task Scheduler</a></div>
+</div>
+<div class="See Also">
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="Scheduler_Bypass.htm">Scheduler Bypass 
+		  </a></div>
+<div><a href="Simple_Example_Fibonacci_Numbers.htm#tutorial_Simple_Example_Fibonacci_Numbers">Simple Example: Fibonacci Numbers 
+		  </a></div>
+<div><a href="Continuation_Passing.htm#tutorial_Continuation_Passing">
+		  </a></div></div>
+</div> 
+<p class="tfootnote"><a id="ftn8"><sup>[8]</sup></a>   Double-ended queue.</p>
+</body>
+</html>
diff --git a/doc/help/tbb_userguide/Images/image002.jpg b/doc/help/tbb_userguide/Images/image002.jpg
new file mode 100755
index 0000000..5e06ac8
Binary files /dev/null and b/doc/help/tbb_userguide/Images/image002.jpg differ
diff --git a/doc/help/tbb_userguide/Images/image004.jpg b/doc/help/tbb_userguide/Images/image004.jpg
new file mode 100755
index 0000000..6784605
Binary files /dev/null and b/doc/help/tbb_userguide/Images/image004.jpg differ
diff --git a/doc/help/tbb_userguide/Images/image006.jpg b/doc/help/tbb_userguide/Images/image006.jpg
new file mode 100755
index 0000000..23f2393
Binary files /dev/null and b/doc/help/tbb_userguide/Images/image006.jpg differ
diff --git a/doc/help/tbb_userguide/Images/image007.jpg b/doc/help/tbb_userguide/Images/image007.jpg
new file mode 100755
index 0000000..726b44d
Binary files /dev/null and b/doc/help/tbb_userguide/Images/image007.jpg differ
diff --git a/doc/help/tbb_userguide/Images/image008.jpg b/doc/help/tbb_userguide/Images/image008.jpg
new file mode 100755
index 0000000..e5a2a4b
Binary files /dev/null and b/doc/help/tbb_userguide/Images/image008.jpg differ
diff --git a/doc/help/tbb_userguide/Images/image009.jpg b/doc/help/tbb_userguide/Images/image009.jpg
new file mode 100755
index 0000000..1a326c1
Binary files /dev/null and b/doc/help/tbb_userguide/Images/image009.jpg differ
diff --git a/doc/help/tbb_userguide/Images/image010.jpg b/doc/help/tbb_userguide/Images/image010.jpg
new file mode 100755
index 0000000..c84ab1d
Binary files /dev/null and b/doc/help/tbb_userguide/Images/image010.jpg differ
diff --git a/doc/help/tbb_userguide/Images/image011.jpg b/doc/help/tbb_userguide/Images/image011.jpg
new file mode 100755
index 0000000..2297c1c
Binary files /dev/null and b/doc/help/tbb_userguide/Images/image011.jpg differ
diff --git a/doc/help/tbb_userguide/Images/image012.jpg b/doc/help/tbb_userguide/Images/image012.jpg
new file mode 100755
index 0000000..e9b011c
Binary files /dev/null and b/doc/help/tbb_userguide/Images/image012.jpg differ
diff --git a/doc/help/tbb_userguide/Images/image013.jpg b/doc/help/tbb_userguide/Images/image013.jpg
new file mode 100755
index 0000000..838f39e
Binary files /dev/null and b/doc/help/tbb_userguide/Images/image013.jpg differ
diff --git a/doc/help/tbb_userguide/Images/image014.jpg b/doc/help/tbb_userguide/Images/image014.jpg
new file mode 100755
index 0000000..7def57e
Binary files /dev/null and b/doc/help/tbb_userguide/Images/image014.jpg differ
diff --git a/doc/help/tbb_userguide/Images/image015.jpg b/doc/help/tbb_userguide/Images/image015.jpg
new file mode 100755
index 0000000..7fbedc7
Binary files /dev/null and b/doc/help/tbb_userguide/Images/image015.jpg differ
diff --git a/doc/help/tbb_userguide/Images/image016.jpg b/doc/help/tbb_userguide/Images/image016.jpg
new file mode 100755
index 0000000..a35a2c9
Binary files /dev/null and b/doc/help/tbb_userguide/Images/image016.jpg differ
diff --git a/doc/help/tbb_userguide/Images/image017.jpg b/doc/help/tbb_userguide/Images/image017.jpg
new file mode 100755
index 0000000..bd8bfb1
Binary files /dev/null and b/doc/help/tbb_userguide/Images/image017.jpg differ
diff --git a/doc/help/tbb_userguide/Images/image018.jpg b/doc/help/tbb_userguide/Images/image018.jpg
new file mode 100755
index 0000000..b727bac
Binary files /dev/null and b/doc/help/tbb_userguide/Images/image018.jpg differ
diff --git a/doc/help/tbb_userguide/Initializing_and_Terminating_the_Library.htm b/doc/help/tbb_userguide/Initializing_and_Terminating_the_Library.htm
new file mode 100755
index 0000000..6921bbf
--- /dev/null
+++ b/doc/help/tbb_userguide/Initializing_and_Terminating_the_Library.htm
@@ -0,0 +1,75 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="Initializing and Terminating the Library">
+<meta name="DC.subject" content="Initializing and Terminating the Library">
+<meta name="keywords" content="Initializing and Terminating the Library">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/Parallelizing_Simple_Loops.htm">
+<meta name="DC.Relation" scheme="URI" content="../reference/task_scheduler/task_scheduler_init_cls.htm#task_scheduler_init_cls">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="tutorial_Initializing_and_Terminating_the_Library">
+<link rel="stylesheet" type="text/css" href="../intel_css_styles.css">
+<title>Initializing and Terminating the Library</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="tutorial_Initializing_and_Terminating_the_Library">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(1);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="tutorial_Initializing_and_Terminating_the_Library"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Initializing and Terminating the Library</h1>
+ 
+  
+  <div>
+	 <p>Intel® Threading Building Blocks (Intel® TBB) 2.2 and later automatically initializes the 
+        task scheduler. You can use class 
+		<samp class="codeph">task_scheduler_init</samp> to explicitly initialize the task
+		scheduler, which can be useful for doing any of the following:
+	 </p>
+ 
+	 <ul type="disc">
+		<li>
+		  <p>Control when the task scheduler is constructed and destroyed.
+		  </p>
+
+		</li>
+
+		<li>
+		  <p>Specify the number of threads used by the task scheduler.
+		  </p>
+
+		</li>
+
+		<li>
+		  <p>Specify the stack size for worker threads.
+		  </p>
+
+		</li>
+
+	 </ul>
+
+  </div>
+
+  
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../tbb_userguide/Parallelizing_Simple_Loops.htm">Parallelizing Simple Loops</a></div>
+</div>
+<div class="See Also">
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="../reference/task_scheduler/task_scheduler_init_cls.htm#task_scheduler_init_cls">task_scheduler_init Class
+		  </a></div></div>
+</div>
+
+</body>
+</html>
diff --git a/doc/help/tbb_userguide/Integration_Plug-In_for_Microsoft_Visual_Studio_Projects.htm b/doc/help/tbb_userguide/Integration_Plug-In_for_Microsoft_Visual_Studio_Projects.htm
new file mode 100755
index 0000000..959e423
--- /dev/null
+++ b/doc/help/tbb_userguide/Integration_Plug-In_for_Microsoft_Visual_Studio_Projects.htm
@@ -0,0 +1,52 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="Integration Plug-In for Microsoft Visual Studio* Projects">
+<meta name="DC.subject" content="Integration Plug-In for Microsoft Visual Studio* Projects">
+<meta name="keywords" content="Integration Plug-In for Microsoft Visual Studio* Projects">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/Windows_OS.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="tutorial_Integration_Plug-In_for_Microsoft_Visual_Studio_Projects">
+<link rel="stylesheet" type="text/css" href="../intel_css_styles.css">
+<title>Integration Plug-In for Microsoft Visual Studio* Projects</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="tutorial_Integration_Plug-In_for_Microsoft_Visual_Studio_Projects">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(1);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="tutorial_Integration_Plug-In_for_Microsoft_Visual_Studio_Projects"><!-- --></a>
+
+
+<h1 class="topictitle1">Integration Plug-In for Microsoft Visual Studio* Projects</h1>
+
+<div><p>The plug-in simplifies integration of Intel® Threading Building Blocks (Intel® TBB) into Microsoft Visual Studio* projects. It can be downloaded from <a href="http://threadingbuildingblocks.org/" target="_blank">http://threadingbuildingblocks.org</a> > Downloads > Extras. The plug-in enables you to quickly add the following to Microsoft Visual C++* projects:</p>
+
+<ul type="disc"><li><p>The path to the Intel® TBB header files</p>
+</li>
+<li><p>The path to the Intel® TBB libraries</p>
+</li>
+<li><p>The specific Intel® TBB libraries to link with</p>
+</li>
+<li><p>The specific Intel® TBB settings</p>
+</li>
+</ul>
+<p>The plug-in works with C++ projects created in Microsoft Visual Studio* 2003, 2005 and 2008 (except Express editions).</p>
+<p>To use this functionality unzip the downloaded package <samp class="codeph">msvs_plugin.zip</samp>, open <samp class="codeph">it</samp>, and follow the instructions in <samp class="codeph">README.txt</samp> to install it.</p>
+</div>
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../tbb_userguide/Windows_OS.htm">Windows* OS</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/tbb_userguide/Iterating_Over_a_Concurrent_Queue_for_Debugging.htm b/doc/help/tbb_userguide/Iterating_Over_a_Concurrent_Queue_for_Debugging.htm
new file mode 100755
index 0000000..1562642
--- /dev/null
+++ b/doc/help/tbb_userguide/Iterating_Over_a_Concurrent_Queue_for_Debugging.htm
@@ -0,0 +1,48 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="Iterating Over a Concurrent Queue for Debugging">
+<meta name="DC.subject" content="Iterating Over a Concurrent Queue for Debugging">
+<meta name="keywords" content="Iterating Over a Concurrent Queue for Debugging">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/Concurrent_Queue_Classes.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="tutorial_Iterating_Over_a_Concurrent_Queue_for_Debugging">
+<link rel="stylesheet" type="text/css" href="../intel_css_styles.css">
+<title>Iterating Over a Concurrent Queue for Debugging</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="tutorial_Iterating_Over_a_Concurrent_Queue_for_Debugging">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(1);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="tutorial_Iterating_Over_a_Concurrent_Queue_for_Debugging"><!-- --></a>
+
+
+<h1 class="topictitle1">Iterating Over a Concurrent Queue for Debugging</h1>
+
+<div><p>The template classes <samp class="codeph">concurrent_queue</samp> and <samp class="codeph">concurrent_bounded_queue</samp> support STL-style iteration. This support is intended only for debugging, when you need to dump a queue. The iterators go forwards only, and are too slow to be very useful in production code. If a queue is modified, all iterators pointing to it become invalid and unsafe to use. The following snippet dumps a queue. The <samp class="codeph">operator<<</sa [...]
+
+<pre>concurrent_queue<Foo> q;
+...
+typedef concurrent_queue<Foo>::const_iterator iter;
+for(iter i(q.unsafe_begin()); i!=q.unsafe_end(); ++i ) {
+    cout << *i;
+}</pre>
+<p>The prefix <samp class="codeph">unsafe_</samp> on the methods is a reminder that they are not concurrency safe.</p>
+</div>
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../tbb_userguide/Concurrent_Queue_Classes.htm">Concurrent Queue Classes</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/tbb_userguide/Lambda_Expressions.htm b/doc/help/tbb_userguide/Lambda_Expressions.htm
new file mode 100755
index 0000000..cdb5f0f
--- /dev/null
+++ b/doc/help/tbb_userguide/Lambda_Expressions.htm
@@ -0,0 +1,175 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="Lambda Expressions">
+<meta name="DC.subject" content="Lambda Expressions">
+<meta name="keywords" content="Lambda Expressions">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/parallel_for.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="tutorial_Lambda_Expressions">
+<link rel="stylesheet" type="text/css" href="../intel_css_styles.css">
+<title>Lambda Expressions</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="tutorial_Lambda_Expressions">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(1);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="tutorial_Lambda_Expressions"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Lambda Expressions</h1>
+ 
+   
+  <div> 
+	 <p>Version 11.0 and later of the Intel® C++ Compiler implements C++11
+		lambda expressions, which make the Intel® Threading Building Blocks (Intel®
+		TBB) 
+		<samp class="codeph">parallel_for</samp> much easier to use. A lambda expression
+		lets the compiler do the tedious work of creating a function object. 
+	 </p>
+ 
+	 <p>Below is the example from the previous section, rewritten with a lambda
+		expression. The lambda expression, shown in 
+		<samp class="codeph"><span style="color:blue"><strong>bold font</strong></span></samp>,
+		replaces both the declaration and construction of function object 
+		<samp class="codeph">ApplyFoo</samp> in the example of the previous section. 
+	 </p>
+ 
+	 <pre>#include "tbb/tbb.h"
+ 
+using namespace tbb;
+ 
+void ParallelApplyFoo( float* a, size_t n ) {
+   parallel_for( blocked_range<size_t>(0,n), 
+      <strong>[=](const blocked_range<size_t>& r) {</strong>
+                     <span style="color:blue"> <strong>for(size_t i=r.begin(); i!=r.end(); ++i)</strong> </span>
+                         <span style="color:blue"> <strong>Foo(a[i]);</strong> </span>
+                  <span style="color:blue"><strong>}</strong></span>
+    );
+}</pre> 
+	 <p>The [=] introduces the lambda expression. The expression creates a
+		function object very similar to 
+		<samp class="codeph">ApplyFoo</samp>. When local variables like 
+		<samp class="codeph">a</samp> and 
+		<samp class="codeph">n</samp> are declared outside the lambda expression, but used
+		inside it, they are "captured" as fields inside the function object. The [=]
+		specifies that capture is by value. Writing [&] instead would capture the
+		values by reference. After the [=] is the parameter list and definition for the
+		
+		<samp class="codeph">operator()</samp> of the generated function object. The
+		compiler documentation says more about lambda expressions and other implemented
+		C++11 features. It is worth reading more complete descriptions of lambda
+		expressions than can fit here, because lambda expressions are a powerful
+		feature for using template libraries in general. 
+	 </p>
+ 
+	 <p>C++11 support is off by default in the compiler. The following table
+		shows the option for turning it on. 
+	 </p>
+ 
+	 
+<div class="tablenoborder"><a name="tbl9"><!-- --></a><table cellpadding="4" summary="" id="tbl9" width="100%" frame="border" border="1" cellspacing="0" rules="all"><caption><span class="tablecap">Sample Compilation Commands for Using Lambda Expressions</span></caption> 
+		<thead align="left"> 
+		  <tr> 
+			 <th class="cellrowborder" valign="top" width="30.959752321981426%" id="d138701e94"> 
+				<p>Environment 
+				</p>
+ 
+			 </th>
+ 
+			 <th class="cellrowborder" valign="top" width="69.04024767801857%" id="d138701e100"> 
+				<p>Intel® C++ Compiler (Version 11.0) 
+				</p>
+ 
+				<p>Compilation Command and Option 
+				</p>
+ 
+			 </th>
+ 
+		  </tr>
+</thead>
+ 
+		<tbody> 
+		  <tr> 
+			 <td class="cellrowborder" valign="top" width="30.959752321981426%" headers="d138701e94 "> 
+				<p>Windows* OS systems 
+				</p>
+ 
+			 </td>
+ 
+			 <td class="cellrowborder" valign="top" width="69.04024767801857%" headers="d138701e100 "> 
+				<p><samp class="codeph">icl /Qstd:c++0x foo.cpp</samp> 
+				</p>
+ 
+			 </td>
+ 
+		  </tr>
+ 
+		  <tr> 
+			 <td class="cellrowborder" valign="top" width="30.959752321981426%" headers="d138701e94 "> 
+				<p>Linux* OS systems 
+				</p>
+ 
+				<p>OS X* systems 
+				</p>
+ 
+			 </td>
+ 
+			 <td class="cellrowborder" valign="top" width="69.04024767801857%" headers="d138701e100 "> 
+				<p><samp class="codeph">icc -std=c++0x foo.cpp</samp> 
+				</p>
+ 
+			 </td>
+ 
+		  </tr>
+ 
+		</tbody>
+ 
+	 </table>
+</div>
+ 
+	 <p>For further compactness, Intel® TBB has a form of 
+		<samp class="codeph">parallel_for</samp> expressly for parallel looping over a
+		consecutive range of integers. The expression 
+		<samp class="codeph">parallel_for(<var>first</var>,<var>last</var>,<var>step</var>,<var>f</var>)</samp>
+		is like writing 
+		<samp class="codeph">for(auto i=<var>first</var>;
+		  i<<var>last</var>;
+		  i+=<var>step</var>)<var>f</var>(i)</samp> except that each
+		f(i) can be evaluated in parallel if resources permit. The 
+		<var>step</var> parameter is optional. Here is the previous
+		example rewritten in the compact form: 
+	 </p>
+ 
+	 <pre>#include "tbb/tbb.h"
+ 
+using namespace tbb;
+ 
+#pragma warning(disable: 588)
+ 
+void ParallelApplyFoo(float a[], size_t n) {
+    parallel_for(size_t(0), n, [=](size_t i) {Foo(a[i]);});
+}</pre> 
+	 <p>The compact form supports only unidimensional iteration spaces of
+		integers and the automatic chunking feature detailed on the following section. 
+	 </p>
+ 
+  </div>
+ 
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../tbb_userguide/parallel_for.htm">parallel_for</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/tbb_userguide/Linux_C_Dynamic_Memory_Interface_Replacement.htm b/doc/help/tbb_userguide/Linux_C_Dynamic_Memory_Interface_Replacement.htm
new file mode 100755
index 0000000..8d8b69e
--- /dev/null
+++ b/doc/help/tbb_userguide/Linux_C_Dynamic_Memory_Interface_Replacement.htm
@@ -0,0 +1,70 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="Linux* OS C/C++ Dynamic Memory Interface Replacement">
+<meta name="DC.subject" content="Linux* OS C/C++ Dynamic Memory Interface Replacement">
+<meta name="keywords" content="Linux* OS C/C++ Dynamic Memory Interface Replacement">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/Automically_Replacing_malloc.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="tutorial_Linux_C_Dynamic_Memory_Interface_Replacement">
+<link rel="stylesheet" type="text/css" href="../intel_css_styles.css">
+<title>Linux* OS C/C++ Dynamic Memory Interface Replacement</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="tutorial_Linux_C_Dynamic_Memory_Interface_Replacement">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(1);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="tutorial_Linux_C_Dynamic_Memory_Interface_Replacement"><!-- --></a>
+
+
+<h1 class="topictitle1">Linux* OS C/C++ Dynamic Memory Interface Replacement </h1>
+
+<div><p>Replacements are provided by the proxy library (release version <samp class="codeph">libtbbmalloc_proxy.so.2</samp>, debug version <samp class="codeph">libtbbmalloc_proxy_debug.so.2</samp>). Replacement can be done either via loading the proxy library at run-time (without changing of executable file via <samp class="codeph">LD_PRELOAD</samp>), or by linking with the proxy library.</p>
+<p>The proxy library implements the following dynamic memory functions:</p>
+
+<ul type="disc"><li><p>C library: <samp class="codeph">malloc</samp>, <samp class="codeph">calloc</samp>, <samp class="codeph">realloc</samp>, <samp class="codeph">free</samp></p>
+</li>
+<li><p>Standard POSIX* function: <samp class="codeph">posix_memalign</samp></p>
+</li>
+<li><p>Obsolete functions: <samp class="codeph">valloc</samp>, <samp class="codeph">memalign</samp>, <samp class="codeph">pvalloc</samp>, <samp class="codeph">mallopt</samp></p>
+</li>
+<li><p>Global C++ operators <samp class="codeph">new</samp> and <samp class="codeph">delete</samp>.</p>
+</li>
+</ul>
+<p>A directory with the proxy library and the appropriate scalable memory allocator library must be available for dynamic loading. To make it available for loading, either include it in <samp class="codeph">LD_LIBRARY_PATH</samp> or add it to <samp class="codeph">/etc/ld.so.conf</samp>.</p>
+<p>The following limitations for replacement exist:</p>
+
+<ul type="disc"><li><p>Replacement does not work for applications that use non-standard calls to the glibc memory allocator.</p>
+</li>
+<li><p>Mono is not supported.</p>
+</li>
+</ul>
+
+<div class="section"><h2 class="sectiontitle">Examples</h2>
+<p>Below is an example of how to set <samp class="codeph">LD_PRELOAD</samp> and link a program to use the replacements.</p>
+<pre># Set LD_PRELOAD so that loader loads release version of proxy 
+LD_PRELOAD=libtbbmalloc_proxy.so.2 
+# Link with release version of proxy and scalable allocator
+g++ foo.o bar.o -ltbbmalloc_proxy -ltbbmalloc -o a.out</pre><p>Here is a variation that shows how to link in the debug versions of the library.</p>
+<pre># Set LD_PRELOAD so that loader loads debug version of proxy
+LD_PRELOAD=libtbbmalloc_proxy_debug.so.2 
+# Link with debug version of proxy and scalable allocator
+g++ foo.o bar.o -ltbbmalloc_proxy_debug -ltbbmalloc_debug -o a.out</pre></div>
+</div>
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../tbb_userguide/Automically_Replacing_malloc.htm">Automatically Replacing malloc and Other C/C++ Functions for Dynamic Memory Allocation</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/tbb_userguide/Linux_OS.htm b/doc/help/tbb_userguide/Linux_OS.htm
new file mode 100755
index 0000000..bcb76ee
--- /dev/null
+++ b/doc/help/tbb_userguide/Linux_OS.htm
@@ -0,0 +1,484 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="Linux* OS">
+<meta name="DC.subject" content="Linux* OS">
+<meta name="keywords" content="Linux* OS">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/Package_Contents.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="tutorial_Linux_OS">
+<link rel="stylesheet" type="text/css" href="../intel_css_styles.css">
+<title>Linux* OS</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="tutorial_Linux_OS">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(1);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="tutorial_Linux_OS"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Linux* OS</h1>
+ 
+   
+  <div> 
+	 <p>On Linux* operating systems, the default installation location is 
+		<samp class="codeph">/opt/intel/composer_xe_2013/tbb</samp>. The following table
+		describes the subdirectories. 
+	 </p>
+ 
+	 
+<div class="tablenoborder"><a name="tbl5"><!-- --></a><table cellpadding="4" summary="" id="tbl5" width="100%" frame="border" border="1" cellspacing="0" rules="all"><caption><span class="tablecap">Intel® Threading Building Blocks Subdirectories on Linux* OS</span></caption> 
+	 <thead align="left"> 
+		<tr> 
+		  <th class="cellrowborder" valign="top" width="16.079632465543643%" id="d139408e43"> 
+			 <p>Item 
+			 </p>
+ 
+		  </th>
+ 
+		  <th class="cellrowborder" valign="top" width="76.26339969372128%" id="d139408e49"> 
+			 <p>Location 
+			 </p>
+ 
+		  </th>
+ 
+		  <th class="cellrowborder" valign="top" width="7.656967840735068%" id="d139408e55"> 
+			 <p>Environment Variable 
+			 </p>
+ 
+		  </th>
+ 
+		</tr>
+</thead>
+ 
+	 <tbody> 
+		<tr> 
+		  <td class="cellrowborder" valign="top" width="16.079632465543643%" headers="d139408e43 "> 
+			 <p>Include files 
+			 </p>
+ 
+		  </td>
+ 
+		  <td class="cellrowborder" valign="top" width="76.26339969372128%" headers="d139408e49 "> 
+			 <p><samp class="codeph">include/tbb/*.h</samp> 
+			 </p>
+ 
+		  </td>
+ 
+		  <td class="cellrowborder" valign="top" width="7.656967840735068%" headers="d139408e55 "> 
+			 <p><samp class="codeph">CPATH</samp> 
+			 </p>
+ 
+		  </td>
+ 
+		</tr>
+ 
+		<tr> 
+		  <td class="cellrowborder" valign="top" width="16.079632465543643%" headers="d139408e43 "> 
+			 <p>Shared libraries 
+			 </p>
+ 
+		  </td>
+ 
+		  <td class="cellrowborder" valign="top" width="76.26339969372128%" headers="d139408e49 "> 
+			 <pre>lib/<<var>arch</var>>/<<var>gccversion</var>>/lib<<var>lib</var>><<var>variant</var>>.so</pre> 
+			 <p>where 
+			 </p>
+ 
+			 <p> 
+			 
+<div class="tablenoborder"><table cellpadding="4" summary="" width="100%" frame="border" border="1" cellspacing="0" rules="all"> 
+				  <thead align="left"> 
+					 <tr> 
+						<th class="cellrowborder" valign="top" width="37.202380952380956%" id="d139408e129"> 
+						  <p><<var>arch</var>> 
+						  </p>
+ 
+						</th>
+ 
+						<th class="cellrowborder" valign="top" width="62.797619047619044%" id="d139408e138"> 
+						  <p>Processor and OS 
+						  </p>
+ 
+						</th>
+ 
+					 </tr>
+</thead>
+ 
+				  <tbody> 
+					 <tr> 
+						<td class="cellrowborder" valign="top" width="37.202380952380956%" headers="d139408e129 "> 
+						  <p><samp class="codeph">android</samp> 
+						  </p>
+ 
+						</td>
+ 
+						<td class="cellrowborder" valign="top" width="62.797619047619044%" headers="d139408e138 "> 
+						  <p> Android 
+						  </p>
+ 
+						</td>
+ 
+					 </tr>
+ 
+					 <tr> 
+						<td class="cellrowborder" valign="top" width="37.202380952380956%" headers="d139408e129 "> 
+						  <p><samp class="codeph">ia32</samp> 
+						  </p>
+ 
+						</td>
+ 
+						<td class="cellrowborder" valign="top" width="62.797619047619044%" headers="d139408e138 "> 
+						  <p> IA-32 processors 
+						  </p>
+ 
+						</td>
+ 
+					 </tr>
+ 
+					 <tr> 
+						<td class="cellrowborder" valign="top" width="37.202380952380956%" headers="d139408e129 "> 
+						  <p><samp class="codeph">intel64</samp> 
+						  </p>
+ 
+						</td>
+ 
+						<td class="cellrowborder" valign="top" width="62.797619047619044%" headers="d139408e138 "> 
+						  <p>Intel® 64 architecture processors 
+						  </p>
+ 
+						</td>
+ 
+					 </tr>
+ 
+					 <tr> 
+						<td class="cellrowborder" valign="top" width="37.202380952380956%" headers="d139408e129 "> 
+						  <p><samp class="codeph">mic</samp> 
+						  </p>
+ 
+						</td>
+ 
+						<td class="cellrowborder" valign="top" width="62.797619047619044%" headers="d139408e138 "> 
+						  <p> Intel® Many Integrated Core architecture 
+						  </p>
+ 
+						</td>
+ 
+					 </tr>
+ 
+				  </tbody>
+ 
+				</table>
+</div>
+ 
+			 </p>
+ 
+			 <p> 
+			 
+<div class="tablenoborder"><table cellpadding="4" summary="" width="100%" frame="border" border="1" cellspacing="0" rules="all"> 
+				  <thead align="left"> 
+					 <tr> 
+						<th class="cellrowborder" valign="top" width="37.014925373134325%" id="d139408e231"> 
+						  <p><samp class="codeph"><<em>gccversion</em>></samp> 
+						  </p>
+ 
+						</th>
+ 
+						<th class="cellrowborder" valign="top" width="62.98507462686567%" id="d139408e242"> 
+						  <p>Linux OS configuration 
+						  </p>
+ 
+						</th>
+ 
+					 </tr>
+</thead>
+ 
+				  <tbody> 
+					 <tr> 
+						<td class="cellrowborder" valign="top" width="37.014925373134325%" headers="d139408e231 "> 
+						  <p><samp class="codeph">gcc4.1</samp> 
+						  </p>
+ 
+						</td>
+ 
+						<td class="cellrowborder" valign="top" width="62.98507462686567%" headers="d139408e242 "> 
+						  <p>gcc version number between 4.1 and 4.4 that do not support 
+							<samp class="codeph">exception_ptr</samp> 
+						  </p>
+ 
+						</td>
+ 
+					 </tr>
+ 
+					 <tr> 
+						<td class="cellrowborder" valign="top" width="37.014925373134325%" headers="d139408e231 "> 
+						  <p><samp class="codeph">gcc4.4</samp>
+						  </p>
+ 
+						</td>
+ 
+						<td class="cellrowborder" valign="top" width="62.98507462686567%" headers="d139408e242 "> 
+						  <p>gcc version 4.4 or higher that may or may not support 
+							<samp class="codeph">exception_ptr</samp> 
+						  </p>
+ 
+						</td>
+ 
+					 </tr>
+ 
+					 <tr> 
+						<td class="cellrowborder" valign="top" width="37.014925373134325%" headers="d139408e231 "> 
+						  <p>(none)</p>
+ 
+						</td>
+ 
+						<td class="cellrowborder" valign="top" width="62.98507462686567%" headers="d139408e242 ">  
+						  <p>For the case where 
+						     <<samp class="codeph"><var>arch</var>> </samp> is 
+						     <samp class="codeph">android</samp> or <samp class="codeph">mic</samp>. 
+						  </p>
+ 
+						</td>
+ 
+					 </tr>
+ 
+				  </tbody>
+ 
+				</table>
+</div>
+ 
+			 </p>
+ 
+			 <p> 
+			 
+<div class="tablenoborder"><table cellpadding="4" summary="" width="100%" frame="border" border="1" cellspacing="0" rules="all"> 
+				  <thead align="left"> 
+					 <tr> 
+						<th class="cellrowborder" valign="top" width="37.202380952380956%" id="d139408e333"> 
+						  <p><samp class="codeph"><<var>lib</var>></samp> 
+						  </p>
+ 
+						</th>
+ 
+						<th class="cellrowborder" valign="top" width="62.797619047619044%" id="d139408e344"> 
+						  <p>Version 
+						  </p>
+ 
+						</th>
+ 
+					 </tr>
+</thead>
+ 
+				  <tbody> 
+					 <tr> 
+						<td class="cellrowborder" valign="top" width="37.202380952380956%" headers="d139408e333 "> 
+						  <p><samp class="codeph">tbb</samp> 
+						  </p>
+ 
+						</td>
+ 
+						<td class="cellrowborder" valign="top" width="62.797619047619044%" headers="d139408e344 "> 
+						  <p>General library 
+						  </p>
+ 
+						</td>
+ 
+					 </tr>
+ 
+					 <tr> 
+						<td class="cellrowborder" valign="top" width="37.202380952380956%" headers="d139408e333 "> 
+						  <p><samp class="codeph">tbbmalloc</samp> 
+						  </p>
+ 
+						</td>
+ 
+						<td class="cellrowborder" valign="top" width="62.797619047619044%" headers="d139408e344 "> 
+						  <p>Memory allocator 
+						  </p>
+ 
+						</td>
+ 
+					 </tr>
+ 
+					 <tr> 
+						<td class="cellrowborder" valign="top" width="37.202380952380956%" headers="d139408e333 "> 
+						  <p><samp class="codeph">tbbmalloc_proxy</samp> 
+						  </p>
+ 
+						</td>
+ 
+						<td class="cellrowborder" valign="top" width="62.797619047619044%" headers="d139408e344 "> 
+						  <p>Substitution for default memory allocator 
+						  </p>
+ 
+						</td>
+ 
+					 </tr>
+ 
+					 <tr> 
+						<td class="cellrowborder" valign="top" width="37.202380952380956%" headers="d139408e333 "> 
+						  <p><samp class="codeph">tbb_preview</samp> 
+						  </p>
+ 
+						</td>
+ 
+						<td class="cellrowborder" valign="top" width="62.797619047619044%" headers="d139408e344 "> 
+						  <p>Community preview features library 
+						  </p>
+ 
+						</td>
+ 
+					 </tr>
+ 
+				  </tbody>
+ 
+				</table>
+</div>
+ 
+			 </p>
+ 
+			 <p> 
+			 
+<div class="tablenoborder"><table cellpadding="4" summary="" width="100%" frame="border" border="1" cellspacing="0" rules="all"> 
+				  <thead align="left"> 
+					 <tr> 
+						<th class="cellrowborder" valign="top" width="37.202380952380956%" id="d139408e438"> 
+						  <p><samp class="codeph"><<var>variant</var>></samp> 
+						  </p>
+ 
+						</th>
+ 
+						<th class="cellrowborder" valign="top" width="62.797619047619044%" id="d139408e449"> 
+						  <p>Version 
+						  </p>
+ 
+						</th>
+ 
+					 </tr>
+</thead>
+ 
+				  <tbody> 
+					 <tr> 
+						<td class="cellrowborder" valign="top" width="37.202380952380956%" headers="d139408e438 "> 
+						  <p>(none) 
+						  </p>
+ 
+						</td>
+ 
+						<td class="cellrowborder" valign="top" width="62.797619047619044%" headers="d139408e449 "> 
+						  <p>Release version 
+						  </p>
+ 
+						</td>
+ 
+					 </tr>
+ 
+					 <tr> 
+						<td class="cellrowborder" valign="top" width="37.202380952380956%" headers="d139408e438 "> 
+						  <p><samp class="codeph">_debug</samp> 
+						  </p>
+ 
+						</td>
+ 
+						<td class="cellrowborder" valign="top" width="62.797619047619044%" headers="d139408e449 "> 
+						  <p>Debug version 
+						  </p>
+ 
+						</td>
+ 
+					 </tr>
+ 
+				  </tbody>
+ 
+				</table>
+</div>
+ 
+			 </p>
+ 
+		  </td>
+ 
+		  <td class="cellrowborder" valign="top" width="7.656967840735068%" headers="d139408e55 "> 
+			 <p><samp class="codeph">LIBRARY_PATH</samp> 
+			 </p>
+ 
+			 <p><samp class="codeph">LD_LIBRARY_PATH</samp> 
+			 </p>
+ 
+		  </td>
+ 
+		</tr>
+ 
+		<tr> 
+		  <td class="cellrowborder" valign="top" width="16.079632465543643%" headers="d139408e43 "> 
+			 <p>Examples 
+			 </p>
+ 
+		  </td>
+ 
+		  <td class="cellrowborder" valign="top" width="76.26339969372128%" headers="d139408e49 "> 
+			 <p><samp class="codeph">examples/<<var>class</var>>/*/.</samp> 
+			 </p>
+ 
+		  </td>
+ 
+		  <td class="cellrowborder" valign="top" width="7.656967840735068%" headers="d139408e55 "> 
+			 <p>  
+			 </p>
+ 
+		  </td>
+ 
+		</tr>
+ 
+		<tr> 
+		  <td class="cellrowborder" valign="top" width="16.079632465543643%" headers="d139408e43 "> 
+			 <p>GNU Makefile for example 
+			 </p>
+ 
+		  </td>
+ 
+		  <td class="cellrowborder" valign="top" width="76.26339969372128%" headers="d139408e49 "> 
+			 <p><samp class="codeph">examples/<<var>class</var>>/*/Makefile</samp>
+				
+			 </p>
+ 
+			 <p>where 
+				<var>class</var> describes the class being demonstrated. 
+			 </p>
+ 
+		  </td>
+ 
+		  <td class="cellrowborder" valign="top" width="7.656967840735068%" headers="d139408e55 "> 
+			 <p><strong> </strong> 
+			 </p>
+ 
+		  </td>
+ 
+		</tr>
+ 
+	 </tbody>
+ 
+  </table>
+</div>
+ 
+  <p>  
+  </p>
+ 
+  </div>
+ 
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../tbb_userguide/Package_Contents.htm">Package Contents</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/tbb_userguide/Lock_Pathologies.htm b/doc/help/tbb_userguide/Lock_Pathologies.htm
new file mode 100755
index 0000000..8931c0d
--- /dev/null
+++ b/doc/help/tbb_userguide/Lock_Pathologies.htm
@@ -0,0 +1,137 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="Lock Pathologies">
+<meta name="DC.subject" content="Lock Pathologies">
+<meta name="keywords" content="Lock Pathologies">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/Mutual_Exclusion.htm">
+<meta name="DC.Relation" scheme="URI" content="Atomic_Operations.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="tutorial_Lock_Pathologies">
+<link rel="stylesheet" type="text/css" href="../intel_css_styles.css">
+<title>Lock Pathologies</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="tutorial_Lock_Pathologies">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(1);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="tutorial_Lock_Pathologies"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Lock Pathologies</h1>
+ 
+   
+  <div> 
+	 <p>Locks can introduce performance and correctness problems. If you are new
+		to locking, here are some of the problems to avoid: 
+	 </p>
+ 
+	 <div class="section"><h2 class="sectiontitle">Deadlock</h2> 
+		 
+		<p>Deadlock happens when threads are trying to acquire more than one
+		  lock, and each holds some of the locks the other threads need to proceed. More
+		  precisely, deadlock happens when: 
+		</p>
+ 
+		<ul type="disc"> 
+		  <li> 
+			 <p>There is a cycle of threads 
+			 </p>
+ 
+		  </li>
+ 
+		  <li> 
+			 <p>Each thread holds at least one lock on a mutex, and is waiting on
+				a mutex for which the 
+				<em>next</em> thread in the cycle already has a lock. 
+			 </p>
+ 
+		  </li>
+ 
+		  <li> 
+			 <p>No thread is willing to give up its lock. 
+			 </p>
+ 
+		  </li>
+ 
+		</ul>
+ 
+		<p>Think of classic gridlock at an intersection – each car has "acquired"
+		  part of the road, but needs to "acquire" the road under another car to get
+		  through. Two common ways to avoid deadlock are: 
+		</p>
+ 
+		<ul type="disc"> 
+		  <li> 
+			 <p>Avoid needing to hold two locks at the same time. Break your
+				program into small actions in which each can be accomplished while holding a
+				single lock. 
+			 </p>
+ 
+		  </li>
+ 
+		  <li> 
+			 <p>Always acquire locks in the same order. For example, if you have
+				"outer container" and "inner container" mutexes, and need to acquire a lock on
+				one of each, you could always acquire the "outer sanctum" one first. Another
+				example is "acquire locks in alphabetical order" in a situation where the locks
+				have names. Or if the locks are unnamed, acquire locks in order of the mutex’s
+				numerical addresses. 
+			 </p>
+ 
+		  </li>
+ 
+		  <li> 
+			 <p>Use atomic operations instead of locks. 
+			 </p>
+ 
+		  </li>
+ 
+		</ul>
+ 
+	 </div>
+ 
+	 <div class="section"><h2 class="sectiontitle">Convoying</h2> 
+		 
+		<p>Another common problem with locks is 
+		  <em>convoying</em>. Convoying occurs when the operating system interrupts
+		  a thread that is holding a lock. All other threads must wait until the
+		  interrupted thread resumes and releases the lock. Fair mutexes can make the
+		  situation even worse, because if a waiting thread is interrupted, all the
+		  threads behind it must wait for it to resume. 
+		</p>
+ 
+		<p>To minimize convoying, try to hold the lock as briefly as possible.
+		  Precompute whatever you can before acquiring the lock. 
+		</p>
+ 
+		<p>To avoid convoying, use atomic operations instead of locks where
+		  possible. 
+		</p>
+ 
+	 </div>
+ 
+  </div>
+ 
+  
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../tbb_userguide/Mutual_Exclusion.htm">Mutual Exclusion</a></div>
+</div>
+<div class="See Also">
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="Atomic_Operations.htm">Atomic Operations
+		  </a></div></div>
+</div> 
+
+</body>
+</html>
diff --git a/doc/help/tbb_userguide/Memory_Allocation.htm b/doc/help/tbb_userguide/Memory_Allocation.htm
new file mode 100755
index 0000000..d43a18e
--- /dev/null
+++ b/doc/help/tbb_userguide/Memory_Allocation.htm
@@ -0,0 +1,78 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="Memory Allocation">
+<meta name="DC.subject" content="Memory Allocation">
+<meta name="keywords" content="Memory Allocation">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/title.htm">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/Which_Dynamic_Libraries_to_Use.htm">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/Automically_Replacing_malloc.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="tutorial_Memory_Allocation">
+<link rel="stylesheet" type="text/css" href="../intel_css_styles.css">
+<title>Memory Allocation</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="tutorial_Memory_Allocation">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(1);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="tutorial_Memory_Allocation"><!-- --></a>
+
+
+<h1 class="topictitle1">Memory Allocation</h1>
+
+
+<div>
+
+<p>Intel® Threading Building Blocks (Intel® TBB) provides two memory allocator templates that are similar to the STL template class <span class="option">std::allocator</span>. These two templates,  <samp class="codeph">scalable_allocator<T></samp> and <samp class="codeph">cache_aligned_allocator<T></samp>, address critical issues in parallel programming as follows:</p>
+
+
+<ul type="disc"><li><p><strong>Scalability</strong>. Problems of scalability arise when using memory allocators originally designed for serial programs, on threads that might have to compete for a single shared pool in a way that allows only one thread to allocate at a time. Use the memory allocator template <samp class="codeph">scalable_allocator<T></samp> to avoid such scalability bottlenecks. This template can improve the performance of programs that rapidly allocate and free me [...]
+</li>
+
+<li><p><strong>False sharing</strong>. Problems of sharing arise when two threads access different words that share the same cache line. The problem is that a cache line is the unit of information interchange between processor caches. If one processor modifies a cache line and another processor reads (or writes) the same cache line, the cache line must be moved from one processor to the other, even if the two processors are dealing with different words within the line. False sharing can  [...]
+</li>
+</ul>
+
+
+<p>Use the class <samp class="codeph">cache_aligned_allocator<T></samp> to always allocate on a cache line. Two objects allocated by <samp class="codeph">cache_aligned_allocator</samp> are guaranteed to not have false sharing. If an object is allocated by <samp class="codeph">cache_aligned_allocator</samp> and another object is allocated some other way, there is no guarantee. The interface to <samp class="codeph">cache_aligned_allocator</samp> is identical to <span class="option">s [...]
+
+
+<p>The following code shows how to declare an STL vector that uses <samp class="codeph">cache_aligned_allocator</samp> for allocation:</p>
+
+
+<pre>std::vector<int,cache_aligned_allocator<int> >;</pre>
+
+<p><div class="Note"><h3 class="NoteTipHead">
+					Tip</h3>The functionality of <samp class="codeph">cache_aligned_allocator<T></samp> comes at some cost in space, because it must allocate at least one cache line’s worth of memory, even for a small object. So use <samp class="codeph">cache_aligned_allocator<T></samp> only if false sharing is likely to be a real problem.</div></p>
+
+
+<p>The scalable memory allocator incorporates McRT technology developed by Intel’s PSL  CTG team.</p>
+
+
+</div>
+
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../tbb_userguide/title.htm">Intel® Threading Building Blocks (Intel® TBB) User Guide</a></div>
+</div>
+<div>
+<ul class="ullinks">
+<li class="ulchildlink"><a href="../tbb_userguide/Which_Dynamic_Libraries_to_Use.htm">Which Dynamic Libraries to Use</a><br>
+</li>
+<li class="ulchildlink"><a href="../tbb_userguide/Automically_Replacing_malloc.htm">Automatically Replacing malloc and Other C/C++ Functions for Dynamic Memory Allocation</a><br>
+</li>
+</ul>
+</div>
+
+</body>
+</html>
diff --git a/doc/help/tbb_userguide/Memory_Consistency.htm b/doc/help/tbb_userguide/Memory_Consistency.htm
new file mode 100755
index 0000000..22fcfb1
--- /dev/null
+++ b/doc/help/tbb_userguide/Memory_Consistency.htm
@@ -0,0 +1,188 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="Memory Consistency">
+<meta name="DC.subject" content="Memory Consistency">
+<meta name="keywords" content="Memory Consistency">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/Atomic_Operations.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="tutorial_Memory_Consistency">
+<link rel="stylesheet" type="text/css" href="../intel_css_styles.css">
+<title>Memory Consistency</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="tutorial_Memory_Consistency">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(1);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="tutorial_Memory_Consistency"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Memory Consistency</h1>
+ 
+   
+  <div> 
+	 <p>Some architectures, such as IA-64 architecture, have "weak memory
+		consistency", in which memory operations on different addresses may be
+		reordered by the hardware for sake of efficiency. The subject is complex, and
+		it is recommended that the interested reader consult other works (Intel 2002,
+		Robison 2003) on the subject. If you are programming only for IA-32 and Intel®
+		64 architecture platforms, you can skip this section. 
+	 </p>
+ 
+	 <p>Class 
+		<samp class="codeph">atomic</samp><T> permits you to enforce certain ordering
+		of memory operations as described in the following table. 
+	 </p>
+ 
+	 
+<div class="tablenoborder"><a name="tbl14"><!-- --></a><table cellpadding="4" summary="" id="tbl14" width="100%" frame="border" border="1" cellspacing="0" rules="all"><caption><span class="tablecap">Ordering Constraints</span></caption> 
+	 <thead align="left"> 
+		<tr> 
+		  <th class="cellrowborder" valign="top" width="12.059369202226346%" id="d141454e46"> 
+			 <p>Kind 
+			 </p>
+ 
+		  </th>
+ 
+		  <th class="cellrowborder" valign="top" width="58.070500927643785%" id="d141454e52"> 
+			 <p>Description 
+			 </p>
+ 
+		  </th>
+ 
+		  <th class="cellrowborder" valign="top" width="29.87012987012987%" id="d141454e58"> 
+			 <p>Default For 
+			 </p>
+ 
+		  </th>
+ 
+		</tr>
+</thead>
+ 
+	 <tbody> 
+		<tr> 
+		  <td class="cellrowborder" valign="top" width="12.059369202226346%" headers="d141454e46 "> 
+			 <p><samp class="codeph">acquire 
+				</samp> 
+			 </p>
+ 
+		  </td>
+ 
+		  <td class="cellrowborder" valign="top" width="58.070500927643785%" headers="d141454e52 "> 
+			 <p>Operations after the atomic operation never move over it. 
+			 </p>
+ 
+		  </td>
+ 
+		  <td class="cellrowborder" valign="top" width="29.87012987012987%" headers="d141454e58 "> 
+			 <p>read 
+			 </p>
+ 
+		  </td>
+ 
+		</tr>
+ 
+		<tr> 
+		  <td class="cellrowborder" valign="top" width="12.059369202226346%" headers="d141454e46 "> 
+			 <p><samp class="codeph">release</samp> 
+			 </p>
+ 
+		  </td>
+ 
+		  <td class="cellrowborder" valign="top" width="58.070500927643785%" headers="d141454e52 "> 
+			 <p>Operations before the atomic operation never move over it. 
+			 </p>
+ 
+		  </td>
+ 
+		  <td class="cellrowborder" valign="top" width="29.87012987012987%" headers="d141454e58 "> 
+			 <p>write 
+			 </p>
+ 
+		  </td>
+ 
+		</tr>
+ 
+		<tr> 
+		  <td class="cellrowborder" valign="top" width="12.059369202226346%" headers="d141454e46 "> 
+			 <p>sequentially consistent 
+			 </p>
+ 
+		  </td>
+ 
+		  <td class="cellrowborder" valign="top" width="58.070500927643785%" headers="d141454e52 "> 
+			 <p>Operations on either side never move over the atomic operation and
+				the sequentially consistent atomic operations have a global order. 
+			 </p>
+ 
+		  </td>
+ 
+		  <td class="cellrowborder" valign="top" width="29.87012987012987%" headers="d141454e58 "> 
+			 <p><samp class="codeph">fetch_and_store</samp> 
+			 </p>
+ 
+			 <p><samp class="codeph">fetch_and_add 
+				</samp> 
+			 </p>
+ 
+			 <p><samp class="codeph">compare_and_swap</samp> 
+			 </p>
+ 
+		  </td>
+ 
+		</tr>
+ 
+	 </tbody>
+ 
+  </table>
+</div>
+ 
+  <p>The rightmost column lists the operations that default to a particular
+	 constraint. Use these defaults to avoid unexpected surprises. For read and
+	 write, the defaults are the only constraints available. However, if you are
+	 familiar with weak memory consistency, you might want to change the default
+	 sequential consistency for the other operations to weaker constraints. To do
+	 this, use variants that take a template argument. The argument can be 
+	 <samp class="codeph">acquire</samp> or 
+	 <samp class="codeph">release</samp>, which are values of the enum type 
+	 <samp class="codeph">memory_semantics</samp>. 
+  </p>
+ 
+  <p>For example, suppose various threads are producing parts of a data
+	 structure, and you want to signal a consuming thread when the data structure is
+	 ready. One way to do this is to initialize an atomic counter with the number of
+	 busy producers, and as each producer finishes, it executes: 
+  </p>
+ 
+  <pre>refcount.fetch_and_add<release>(-1);</pre> 
+  <p>The argument 
+	 <samp class="codeph">release</samp> guarantees that the producer's writes to shared
+	 memory occurs before 
+	 <samp class="codeph">refcount</samp> is decremented. Similarly, when the consumer
+	 checks 
+	 <samp class="codeph">refcount</samp>, the consumer must use an 
+	 <samp class="codeph">acquire</samp> fence, which is the default for reads, so that the
+	 consumer's reads of the data structure do not happen until after the consumer
+	 sees 
+	 <samp class="codeph">refcount</samp> become 0. 
+  </p>
+ 
+  </div>
+ 
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../tbb_userguide/Atomic_Operations.htm">Atomic Operations</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/tbb_userguide/Microsoft_Visual_Studio_Code_Examples.htm b/doc/help/tbb_userguide/Microsoft_Visual_Studio_Code_Examples.htm
new file mode 100755
index 0000000..c262217
--- /dev/null
+++ b/doc/help/tbb_userguide/Microsoft_Visual_Studio_Code_Examples.htm
@@ -0,0 +1,102 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="Microsoft Visual Studio* Code Examples">
+<meta name="DC.subject" content="Microsoft Visual Studio* Code Examples">
+<meta name="keywords" content="Microsoft Visual Studio* Code Examples">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/Windows_OS.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="tutorial_Microsoft_Visual_Studio_Code_Examples">
+<link rel="stylesheet" type="text/css" href="../intel_css_styles.css">
+<title>Microsoft Visual Studio* Code Examples</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="tutorial_Microsoft_Visual_Studio_Code_Examples">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(1);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="tutorial_Microsoft_Visual_Studio_Code_Examples"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Microsoft Visual Studio* Code Examples</h1>
+ 
+  
+  <div>
+	 <p>The solution files in the package are for Microsoft Visual Studio* 2005.
+		Later versions of Microsoft* Visual Studio can convert them. Each example has
+		two solution files, one for the Microsoft compiler (*<samp class="codeph">_cl.sln</samp>)
+		and one for the Intel compiler (*<samp class="codeph">_icl.sln</samp>).
+	 </p>
+
+	 <p>To run one of the solution files in 
+		<samp class="codeph">examples\*\*\msvs\.</samp>:
+	 </p>
+ 
+	 <ol>
+		<li>
+		  <p>Start Microsoft Visual Studio*.
+		  </p>
+
+		</li>
+
+		<li>
+		  <p>Open a solution file in the 
+			 <samp class="codeph">msvs</samp> directory.
+		  </p>
+
+		</li>
+
+		<li>
+		  <p>In Microsoft Visual Studio*, press 
+			 <strong>Ctrl-F5</strong> to compile and run the example. Use 
+			 <strong>Ctrl-F5</strong>, not 
+			 <strong>Shift-F5</strong>, so that you can inspect the console window after the
+			 example finishes.
+		  </p>
+
+		</li>
+
+	 </ol>
+
+	 <p>The Microsoft Visual Studio* solution files for the examples require
+		that an environment variable specify where the library is installed. The
+		installer sets this variable. 
+	 </p>
+
+	 <p>The makefiles for the examples require that 
+		<samp class="codeph">INCLUDE</samp>, 
+		<samp class="codeph">LIB</samp>, and 
+		<samp class="codeph">PATH</samp> variables are set as indicated in the Windows* OS
+		topic. You can set these variables in the following way:
+	 </p>
+
+	 <p>
+	 <ul type="disc">
+		<li>Go to 
+		  <samp class="codeph"><<em>install_dir</em>>\bin\</samp> directory and run the
+		  batch file 
+		  <samp class="codeph">tbbvars.bat</samp>.
+		</li>
+
+	 </ul>
+
+	 </p>
+
+  </div>
+
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../tbb_userguide/Windows_OS.htm">Windows* OS</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/tbb_userguide/More_on_HashCompare.htm b/doc/help/tbb_userguide/More_on_HashCompare.htm
new file mode 100755
index 0000000..886a1a5
--- /dev/null
+++ b/doc/help/tbb_userguide/More_on_HashCompare.htm
@@ -0,0 +1,107 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="More on HashCompare">
+<meta name="DC.subject" content="More on HashCompare">
+<meta name="keywords" content="More on HashCompare">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/concurrent_hash_map.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="tutorial_More_on_HashCompare">
+<link rel="stylesheet" type="text/css" href="../intel_css_styles.css">
+<title>More on HashCompare</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="tutorial_More_on_HashCompare">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(1);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="tutorial_More_on_HashCompare"><!-- --></a>
+
+
+<h1 class="topictitle1">More on HashCompare</h1>
+
+<div><p>There are several ways to make the <samp class="codeph"><var>HashCompare</var></samp> argument for <samp class="codeph">concurrent_hash_map</samp> work for your own types.</p>
+
+<ul type="disc"><li><p>Specify the <samp class="codeph"><var>HashCompare</var></samp> argument explicitly</p>
+</li>
+<li><p>Let the <samp class="codeph"><var>HashCompare</var></samp> default to <samp class="codeph">tbb_hash_compare<<var>Key</var>></samp> and do one of the following:</p>
+
+<ul type="disc"><li><p>Define a specialization of template <samp class="codeph">tbb_hash_compare<<var>Key</var>></samp>.</p>
+</li>
+<li><p>Define an overload of function <samp class="codeph">tbb_hasher(<var>Key</var>)</samp>.</p>
+</li>
+<li><p>Rely on the definitions of <samp class="codeph">tbb_hasher(<var>Key</var>)</samp> provided by the library.</p>
+</li>
+</ul>
+</li>
+</ul>
+<p>Function <samp class="codeph">tbb_hasher</samp> is predefined for the following types: </p>
+
+<ul type="disc"><li><p>Types convertible to <samp class="codeph">size_t</samp>, such as integral types. </p>
+</li>
+<li><p>Pointer types.</p>
+</li>
+<li><p>Instances of <samp class="codeph">std::basic_string</samp>.</p>
+</li>
+<li><p><samp class="codeph">std::pair<<var>Key1</var>,<var>Key2</var>></samp>, where <samp class="codeph">tbb_hasher(<var>Key</var>)</samp> and <samp class="codeph">tbb_hasher(<var>Key2</var>)</samp> are defined.</p>
+</li>
+</ul>
+<p>For example, if you have keys of type <samp class="codeph">Foo</samp>, and <samp class="codeph">operator==</samp> is defined for <samp class="codeph">Foo</samp>, you just have to provide a definition of <samp class="codeph">tbb_hasher</samp> as shown below: </p>
+
+<pre>size_t tbb_hasher(const Foo& f) {
+    size_t h = ...compute hash code for f...
+    return h;
+};</pre>
+<p>In general, the definition of <samp class="codeph">tbb_hash_compare<<var>Key</var>></samp> or <samp class="codeph"><var>HashCompare</var></samp> must provide two signatures:</p>
+
+<ul type="disc"><li><p>A method <samp class="codeph">hash</samp> that maps a <samp class="codeph"><var>Key</var></samp> to a <samp class="codeph">size_t</samp></p>
+</li>
+<li><p>A method <samp class="codeph">equal</samp> that determines if two keys are equal</p>
+</li>
+</ul>
+<p>The signatures go together in a single class because <em>if two keys are equal, then they must hash to the same value</em>, otherwise the hash table might not work. You could trivially meet this requirement by always hashing to <samp class="codeph">0</samp>, but that would cause tremendous inefficiency. Ideally, each key should hash to a different value, or at least the probability of two distinct keys hashing to the same value should be kept low.</p>
+<p>The methods of <samp class="codeph"><em>HashCompare</em></samp> should be <samp class="codeph">static</samp> unless you need to have them behave differently for different instances. If so, then you should construct the <samp class="codeph">concurrent_hash_map</samp> using the constructor that takes a <samp class="codeph"><em>HashCompare</em></samp> as a parameter. The following example is a variation on an earlier example with instance-dependent methods. The instance performs both cas [...]
+
+<pre>// Structure that defines hashing and comparison operations
+class VariantHashCompare {
+    // If true, then case of letters is ignored.
+    bool ignore_case;
+public:
+    size_t hash(const string& x) const {
+        size_t h = 0;
+        for(const char* s = x.c_str(); *s; s++) 
+            h = (h*16777179)^*(ignore_case?tolower(*s):*s);
+        return h;
+    }
+    // True if strings are equal
+    bool equal(const string& x, const string& y) const {
+        if( ignore_case )
+            strcasecmp(x.c_str(), y.c_str())==0;
+        else
+            return x==y;
+    }
+    VariantHashCompare(bool ignore_case_) : ignore_case(ignore_case_) {}
+};
+ 
+typedef concurrent_hash_map<string,int, VariantHashCompare> VariantStringTable;
+ 
+VariantStringTable CaseSensitiveTable(VariantHashCompare(false));
+VariantStringTable CaseInsensitiveTable(VariantHashCompare(true));</pre>
+<p>The directory <samp class="codeph">examples/concurrent_hash_map/count_strings</samp> contains a complete example that uses <samp class="codeph">concurrent_hash_map</samp> to enable multiple processors to cooperatively build a histogram. </p>
+</div>
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../tbb_userguide/concurrent_hash_map.htm">concurrent_hash_map</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/tbb_userguide/Mutex_Flavors.htm b/doc/help/tbb_userguide/Mutex_Flavors.htm
new file mode 100755
index 0000000..530338c
--- /dev/null
+++ b/doc/help/tbb_userguide/Mutex_Flavors.htm
@@ -0,0 +1,536 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="Mutex Flavors">
+<meta name="DC.subject" content="Mutex Flavors">
+<meta name="keywords" content="Mutex Flavors">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/Mutual_Exclusion.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="tutorial_Mutex_Flavors">
+<link rel="stylesheet" type="text/css" href="../intel_css_styles.css">
+<title>Mutex Flavors</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="tutorial_Mutex_Flavors">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(1);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="tutorial_Mutex_Flavors"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Mutex Flavors</h1>
+ 
+   
+  <div> 
+	 <p>Connoisseurs of mutexes distinguish various attributes of mutexes. It
+		helps to know some of these, because they involve tradeoffs of generality and
+		efficiency. Picking the right one often helps performance. Mutexes can be
+		described by the following qualities, also summarized in the table below. 
+	 </p>
+ 
+	 <ul type="disc"> 
+		<li> 
+		  <p><strong>Scalable</strong>. Some mutexes are called 
+			 <em>scalable</em>. In a strict sense, this is not an accurate name,
+			 because a mutex limits execution to one thread at a time. A 
+			 <em>scalable mutex</em> is one that does not do 
+			 <em>worse</em> than this. A mutex can do worse than serialize execution
+			 if the waiting threads consume excessive processor cycles and memory bandwidth,
+			 reducing the speed of threads trying to do real work. Scalable mutexes are
+			 often slower than non-scalable mutexes under light contention, so a
+			 non-scalable mutex may be better. When in doubt, use a scalable mutex. 
+		  </p>
+ 
+		</li>
+ 
+		<li> 
+		  <p><strong>Fair</strong>. Mutexes can be 
+			 <em>fair</em> or 
+			 <em>unfair</em>. A fair mutex lets threads through in the order they
+			 arrived. Fair mutexes avoid starving threads. Each thread gets its turn.
+			 However, unfair mutexes can be faster, because they let threads that are
+			 running go through first, instead of the thread that is next in line which may
+			 be sleeping on account of an interrupt. 
+		  </p>
+ 
+		</li>
+ 
+		<li> 
+		  <p><strong>Recursive</strong>. Mutexes can be 
+			 <em>recursive</em> or 
+			 <em>non-recursive</em>. A recursive mutex allows a thread that is
+			 already holding a lock on the mutex to acquire another lock on the mutex. This
+			 is useful in some recursive algorithms, but typically adds overhead to the lock
+			 implementation. 
+		  </p>
+ 
+		</li>
+ 
+		<li> 
+		  <p><strong>Yield or Block</strong>. This is an implementation detail that impacts
+			 performance. On long waits, an Intel® Threading Building Blocks (Intel® TBB)
+			 mutex either 
+			 <em>yields</em> or 
+			 <em>blocks</em>. Here 
+			 <em>yields</em> means to repeatedly poll whether progress can be made,
+			 and if not, temporarily yield<a href="#ftn5"><sup><sup>[5]</sup></sup></a> the
+			 processor. To 
+			 <em>block</em> means to yield the processor until the mutex permits
+			 progress. Use the yielding mutexes if waits are typically short and blocking
+			 mutexes if waits are typically long. 
+		  </p>
+ 
+		</li>
+ 
+	 </ul>
+ 
+	 <p>The following is a summary of mutex behaviors: 
+	 </p>
+ 
+	 <ul type="disc"> 
+		<li> 
+		  <p><samp class="codeph">spin_mutex</samp> is non-scalable, unfair, non-recursive,
+			 and spins in user space. It would seem to be the worst of all possible worlds,
+			 except that it is 
+			 <em>very fast</em> in 
+			 <em>lightly contended</em> situations. If you can design your program
+			 so that contention is somehow spread out among many 
+			 <samp class="codeph">spin_mutex</samp> objects, you can improve performance over
+			 using other kinds of mutexes. If a mutex is heavily contended, your algorithm
+			 will not scale anyway. Consider redesigning the algorithm instead of looking
+			 for a more efficient lock. 
+		  </p>
+ 
+		</li>
+ 
+		<li> 
+		  <p><samp class="codeph">queuing_mutex</samp> is scalable, fair, non-recursive, and
+			 spins in user space. Use it when scalability and fairness are important. 
+		  </p>
+ 
+		</li>
+ 
+		<li> 
+		  <p><samp class="codeph">spin_rw_mutex</samp> and 
+			 <samp class="codeph">queuing_rw_mutex</samp> are similar to 
+			 <samp class="codeph">spin_mutex</samp> and 
+			 <samp class="codeph">queuing_mutex</samp>, but additionally support 
+			 <em>reader</em> locks. 
+		  </p>
+ 
+		</li>
+ 
+		<li> 
+		  <p><samp class="codeph">mutex</samp> and 
+			 <samp class="codeph">recursive_mutex</samp> are wrappers around the system’s
+			 "native" mutual exclusion. On Windows* operating systems it is implemented on
+			 top of 
+			 <samp class="codeph">CRITICAL_SECTION</samp>. On Linux* and OS X* operating
+			 systems it is implemented on top of 
+			 <samp class="codeph">pthread</samp> mutex. The advantages of using the wrapper
+			 are that it adds an exception-safe interface and it provides an interface
+			 identical to the other mutexes in Intel® TBB, which makes it easy to swap in a
+			 different kind of mutex later if warranted by performance measurements. 
+		  </p>
+ 
+		</li>
+ 
+		<li> 
+		  <p><samp class="codeph">null_mutex</samp> and 
+			 <samp class="codeph">null_rw_mutex</samp> do nothing. They can be useful as
+			 template arguments. For example, suppose you are defining a container template
+			 and know that some instantiations will be shared by multiple threads and need
+			 internal locking, but others will be private to a thread and not need locking.
+			 You can define the template to take a Mutex type parameter. The parameter can
+			 be one of the real mutex types when locking is necessary, and 
+			 <samp class="codeph">null_mutex</samp> when locking is unnecessary. 
+		  </p>
+ 
+		</li>
+ 
+	 </ul>
+ 
+	 
+<div class="tablenoborder"><a name="tbl11"><!-- --></a><table cellpadding="4" summary="" id="tbl11" width="100%" frame="border" border="1" cellspacing="0" rules="all"><caption><span class="tablecap">Traits and Behaviors of Mutexes</span></caption> 
+	 <thead align="left"> 
+		<tr> 
+		  <th class="cellrowborder" valign="top" width="26.247689463955638%" id="d142672e207"> 
+			 <p>Mutex 
+			 </p>
+ 
+		  </th>
+ 
+		  <th class="cellrowborder" valign="top" width="17.744916820702404%" id="d142672e213"> 
+			 <p>Scalable 
+			 </p>
+ 
+		  </th>
+ 
+		  <th class="cellrowborder" valign="top" width="17.56007393715342%" id="d142672e219"> 
+			 <p>Fair 
+			 </p>
+ 
+		  </th>
+ 
+		  <th class="cellrowborder" valign="top" width="14.602587800369685%" id="d142672e225"> 
+			 <p>Recursive 
+			 </p>
+ 
+		  </th>
+ 
+		  <th class="cellrowborder" valign="top" width="12.199630314232902%" id="d142672e231"> 
+			 <p>Long Wait 
+			 </p>
+ 
+		  </th>
+ 
+		  <th class="cellrowborder" valign="top" width="11.645101663585953%" id="d142672e238"> 
+			 <p>Size 
+			 </p>
+ 
+		  </th>
+ 
+		</tr>
+</thead>
+ 
+	 <tbody> 
+		<tr> 
+		  <td class="cellrowborder" valign="top" width="26.247689463955638%" headers="d142672e207 "> 
+			 <p><samp class="codeph">mutex</samp> 
+			 </p>
+ 
+		  </td>
+ 
+		  <td class="cellrowborder" valign="top" width="17.744916820702404%" headers="d142672e213 "> 
+			 <p>OS dependent 
+			 </p>
+ 
+		  </td>
+ 
+		  <td class="cellrowborder" valign="top" width="17.56007393715342%" headers="d142672e219 "> 
+			 <p>OS dependent 
+			 </p>
+ 
+		  </td>
+ 
+		  <td class="cellrowborder" valign="top" width="14.602587800369685%" headers="d142672e225 "> 
+			 <p>no 
+			 </p>
+ 
+		  </td>
+ 
+		  <td class="cellrowborder" valign="top" width="12.199630314232902%" headers="d142672e231 "> 
+			 <p>blocks 
+			 </p>
+ 
+		  </td>
+ 
+		  <td class="cellrowborder" valign="top" width="11.645101663585953%" headers="d142672e238 "> 
+			 <p>≥ 3 words 
+			 </p>
+ 
+		  </td>
+ 
+		</tr>
+ 
+		<tr> 
+		  <td class="cellrowborder" valign="top" width="26.247689463955638%" headers="d142672e207 "> 
+			 <p><samp class="codeph">recursive_mutex</samp> 
+			 </p>
+ 
+		  </td>
+ 
+		  <td class="cellrowborder" valign="top" width="17.744916820702404%" headers="d142672e213 "> 
+			 <p>OS dependent 
+			 </p>
+ 
+		  </td>
+ 
+		  <td class="cellrowborder" valign="top" width="17.56007393715342%" headers="d142672e219 "> 
+			 <p>OS dependent 
+			 </p>
+ 
+		  </td>
+ 
+		  <td class="cellrowborder" valign="top" width="14.602587800369685%" headers="d142672e225 "> 
+			 <p>yes 
+			 </p>
+ 
+		  </td>
+ 
+		  <td class="cellrowborder" valign="top" width="12.199630314232902%" headers="d142672e231 "> 
+			 <p>blocks 
+			 </p>
+ 
+		  </td>
+ 
+		  <td class="cellrowborder" valign="top" width="11.645101663585953%" headers="d142672e238 "> 
+			 <p>≥ 3 words 
+			 </p>
+ 
+		  </td>
+ 
+		</tr>
+ 
+		<tr> 
+		  <td class="cellrowborder" valign="top" width="26.247689463955638%" headers="d142672e207 "> 
+			 <p><samp class="codeph">spin_mutex</samp> 
+			 </p>
+ 
+		  </td>
+ 
+		  <td class="cellrowborder" valign="top" width="17.744916820702404%" headers="d142672e213 "> 
+			 <p>no 
+			 </p>
+ 
+		  </td>
+ 
+		  <td class="cellrowborder" valign="top" width="17.56007393715342%" headers="d142672e219 "> 
+			 <p>no 
+			 </p>
+ 
+		  </td>
+ 
+		  <td class="cellrowborder" valign="top" width="14.602587800369685%" headers="d142672e225 "> 
+			 <p>no 
+			 </p>
+ 
+		  </td>
+ 
+		  <td class="cellrowborder" valign="top" width="12.199630314232902%" headers="d142672e231 "> 
+			 <p>yields 
+			 </p>
+ 
+		  </td>
+ 
+		  <td class="cellrowborder" valign="top" width="11.645101663585953%" headers="d142672e238 "> 
+			 <p>1 byte 
+			 </p>
+ 
+		  </td>
+ 
+		</tr>
+ 
+		<tr> 
+		  <td class="cellrowborder" valign="top" width="26.247689463955638%" headers="d142672e207 "> 
+			 <p><samp class="codeph">queuing_mutex</samp> 
+			 </p>
+ 
+		  </td>
+ 
+		  <td class="cellrowborder" valign="top" width="17.744916820702404%" headers="d142672e213 "> 
+			 <p>✓ 
+			 </p>
+ 
+		  </td>
+ 
+		  <td class="cellrowborder" valign="top" width="17.56007393715342%" headers="d142672e219 "> 
+			 <p>✓ 
+			 </p>
+ 
+		  </td>
+ 
+		  <td class="cellrowborder" valign="top" width="14.602587800369685%" headers="d142672e225 "> 
+			 <p>no 
+			 </p>
+ 
+		  </td>
+ 
+		  <td class="cellrowborder" valign="top" width="12.199630314232902%" headers="d142672e231 "> 
+			 <p>yields 
+			 </p>
+ 
+		  </td>
+ 
+		  <td class="cellrowborder" valign="top" width="11.645101663585953%" headers="d142672e238 "> 
+			 <p>1 word 
+			 </p>
+ 
+		  </td>
+ 
+		</tr>
+ 
+		<tr> 
+		  <td class="cellrowborder" valign="top" width="26.247689463955638%" headers="d142672e207 "> 
+			 <p><samp class="codeph">spin_rw_mutex</samp> 
+			 </p>
+ 
+		  </td>
+ 
+		  <td class="cellrowborder" valign="top" width="17.744916820702404%" headers="d142672e213 "> 
+			 <p>no 
+			 </p>
+ 
+		  </td>
+ 
+		  <td class="cellrowborder" valign="top" width="17.56007393715342%" headers="d142672e219 "> 
+			 <p>no 
+			 </p>
+ 
+		  </td>
+ 
+		  <td class="cellrowborder" valign="top" width="14.602587800369685%" headers="d142672e225 "> 
+			 <p>no 
+			 </p>
+ 
+		  </td>
+ 
+		  <td class="cellrowborder" valign="top" width="12.199630314232902%" headers="d142672e231 "> 
+			 <p>yields 
+			 </p>
+ 
+		  </td>
+ 
+		  <td class="cellrowborder" valign="top" width="11.645101663585953%" headers="d142672e238 "> 
+			 <p>1 word 
+			 </p>
+ 
+		  </td>
+ 
+		</tr>
+ 
+		<tr> 
+		  <td class="cellrowborder" valign="top" width="26.247689463955638%" headers="d142672e207 "> 
+			 <p><samp class="codeph">queuing_rw_mutex</samp> 
+			 </p>
+ 
+		  </td>
+ 
+		  <td class="cellrowborder" valign="top" width="17.744916820702404%" headers="d142672e213 "> 
+			 <p>✓ 
+			 </p>
+ 
+		  </td>
+ 
+		  <td class="cellrowborder" valign="top" width="17.56007393715342%" headers="d142672e219 "> 
+			 <p>✓ 
+			 </p>
+ 
+		  </td>
+ 
+		  <td class="cellrowborder" valign="top" width="14.602587800369685%" headers="d142672e225 "> 
+			 <p>no 
+			 </p>
+ 
+		  </td>
+ 
+		  <td class="cellrowborder" valign="top" width="12.199630314232902%" headers="d142672e231 "> 
+			 <p>yields 
+			 </p>
+ 
+		  </td>
+ 
+		  <td class="cellrowborder" valign="top" width="11.645101663585953%" headers="d142672e238 "> 
+			 <p>1 word 
+			 </p>
+ 
+		  </td>
+ 
+		</tr>
+ 
+		<tr> 
+		  <td class="cellrowborder" valign="top" width="26.247689463955638%" headers="d142672e207 "> 
+			 <p><samp class="codeph">null_mutex</samp><a href="#ftn6"><sup><sup>[6]</sup></sup></a> 
+			 </p>
+ 
+		  </td>
+ 
+		  <td class="cellrowborder" valign="top" width="17.744916820702404%" headers="d142672e213 "> 
+			 <p>moot 
+			 </p>
+ 
+		  </td>
+ 
+		  <td class="cellrowborder" valign="top" width="17.56007393715342%" headers="d142672e219 "> 
+			 <p>✓ 
+			 </p>
+ 
+		  </td>
+ 
+		  <td class="cellrowborder" valign="top" width="14.602587800369685%" headers="d142672e225 "> 
+			 <p>✓ 
+			 </p>
+ 
+		  </td>
+ 
+		  <td class="cellrowborder" valign="top" width="12.199630314232902%" headers="d142672e231 "> 
+			 <p>never 
+			 </p>
+ 
+		  </td>
+ 
+		  <td class="cellrowborder" valign="top" width="11.645101663585953%" headers="d142672e238 "> 
+			 <p>empty 
+			 </p>
+ 
+		  </td>
+ 
+		</tr>
+ 
+		<tr> 
+		  <td class="cellrowborder" valign="top" width="26.247689463955638%" headers="d142672e207 "> 
+			 <p><samp class="codeph">null_rw_mutex</samp> 
+			 </p>
+ 
+		  </td>
+ 
+		  <td class="cellrowborder" valign="top" width="17.744916820702404%" headers="d142672e213 "> 
+			 <p>moot 
+			 </p>
+ 
+		  </td>
+ 
+		  <td class="cellrowborder" valign="top" width="17.56007393715342%" headers="d142672e219 "> 
+			 <p>✓ 
+			 </p>
+ 
+		  </td>
+ 
+		  <td class="cellrowborder" valign="top" width="14.602587800369685%" headers="d142672e225 "> 
+			 <p>✓ 
+			 </p>
+ 
+		  </td>
+ 
+		  <td class="cellrowborder" valign="top" width="12.199630314232902%" headers="d142672e231 "> 
+			 <p>never 
+			 </p>
+ 
+		  </td>
+ 
+		  <td class="cellrowborder" valign="top" width="11.645101663585953%" headers="d142672e238 "> 
+			 <p>empty 
+			 </p>
+ 
+		  </td>
+ 
+		</tr>
+ 
+	 </tbody>
+ 
+  </table>
+</div>
+ 
+  </div>
+ 
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../tbb_userguide/Mutual_Exclusion.htm">Mutual Exclusion</a></div>
+</div>
+<div></div>
+<p class="tfootnote"><a id="ftn5"><sup>[5]</sup></a>   The yielding is implemented via 
+				<samp class="codeph">SwitchToThread()</samp> on Microsoft Windows* operating
+				systems and by 
+				<samp class="codeph">sched_yield()</samp> on other systems.</p><p class="tfootnote"><a id="ftn6"><sup>[6]</sup></a>   Null mutexes are considered
+				  fair by Intel® TBB because they cannot cause starvation. They lack any
+				  non-static data members.</p>
+</body>
+</html>
diff --git a/doc/help/tbb_userguide/Mutual_Exclusion.htm b/doc/help/tbb_userguide/Mutual_Exclusion.htm
new file mode 100755
index 0000000..82c0ec4
--- /dev/null
+++ b/doc/help/tbb_userguide/Mutual_Exclusion.htm
@@ -0,0 +1,187 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="Mutual Exclusion">
+<meta name="DC.subject" content="Mutual Exclusion">
+<meta name="keywords" content="Mutual Exclusion">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/title.htm">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/Mutex_Flavors.htm">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/Reader_Writer_Mutexes.htm">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/UpgradeDowngrade.htm">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/Lock_Pathologies.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="tutorial_Mutual_Exclusion">
+<link rel="stylesheet" type="text/css" href="../intel_css_styles.css">
+<title>Mutual Exclusion</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="tutorial_Mutual_Exclusion">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(1);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="tutorial_Mutual_Exclusion"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Mutual Exclusion</h1>
+ 
+   
+  <div> 
+	 <p>Mutual exclusion controls how many threads can simultaneously run a
+		region of code. In Intel® Threading Building Blocks (Intel® TBB), mutual
+		exclusion is implemented by 
+		<em>mutexes</em> and 
+		<em>locks.</em> A mutex is an object on which a thread can acquire a lock.
+		Only one thread at a time can have a lock on a mutex; other threads have to
+		wait their turn. 
+	 </p>
+ 
+	 <p>The simplest mutex is 
+		<samp class="codeph">spin_mutex</samp>. A thread trying to acquire a lock on a 
+		<samp class="codeph">spin_mutex</samp> busy waits until it can acquire the lock. A 
+		<samp class="codeph">spin_mutex</samp> is appropriate when the lock is held for only
+		a few instructions. For example, the following code uses a mutex 
+		<samp class="codeph">FreeListMutex</samp> to protect a shared variable 
+		<samp class="codeph">FreeList</samp>. It checks that only a single thread has access
+		to 
+		<samp class="codeph">FreeList</samp> at a time. The black font shows the usual
+		sequential code. Insertions added to make the code thread-safe, are shown in 
+		<samp class="codeph"><span style="color:blue"><strong>bold font</strong></span></samp>. 
+	 </p>
+ 
+	 <pre>Node* FreeList;
+<span style="color:blue"><strong>typedef spin_mutex FreeListMutexType;</strong></span>
+<span style="color:blue"><strong>FreeListMutexType FreeListMutex;</strong></span>
+ 
+Node* AllocateNode() {
+    Node* n;
+    <span style="color:blue"><strong>{</strong></span>
+        <span style="color:blue"><strong>FreeListMutexType::scoped_lock lock(FreeListMutex);</strong></span>
+        n = FreeList;
+        if( n )
+            FreeList = n->next;
+    <span style="color:blue"><strong>}</strong></span>
+    if( !n ) 
+        n = new Node();
+    return n;
+}
+ 
+void FreeNode( Node* n ) {
+    <span style="color:blue"><strong>FreeListMutexType::scoped_lock lock(FreeListMutex);</strong></span>
+    n->next = FreeList;
+    FreeList = n;
+}</pre> 
+	 <p>The constructor for 
+		<samp class="codeph">scoped_lock</samp> waits until there are no other locks on 
+		<samp class="codeph">FreeListMutex</samp>. The destructor releases the lock. The
+		braces inside routine 
+		<samp class="codeph">AllocateNode</samp> may look unusual. Their role is to keep the
+		lifetime of the lock as short as possible, so that other waiting threads can
+		get their chance as soon as possible. 
+	 </p>
+ 
+	 <div class="Note"><h3 class="NoteTipHead">
+					Caution</h3> 
+		<p>Be sure to name the lock object, otherwise it will be destroyed too
+		  soon. For example, if the creation of the 
+		  <samp class="codeph">scoped_lock</samp> object in the example is changed to 
+		</p>
+ 
+		<pre>FreeListMutexType::scoped_lock (FreeListMutex);</pre> 
+		<p>then the 
+		  <samp class="codeph">scoped_lock</samp> is destroyed when execution reaches the
+		  semicolon, which releases the lock 
+		  <em>before</em> 
+		  <samp class="codeph">FreeList</samp> is accessed. 
+		</p>
+ 
+	 </div> 
+	 <p>The following shows an alternative way to write 
+		<samp class="codeph">AllocateNode</samp>: 
+	 </p>
+ 
+	 <pre>Node* AllocateNode() {
+    Node* n;
+    FreeListMutexType::scoped_lock lock;
+    lock.acquire(FreeListMutex);
+    n = FreeList;
+    if( n )
+        FreeList = n->next;
+    lock.release();
+    if( !n ) 
+        n = new Node();
+    return n;
+}</pre> 
+	 <p>Method 
+		<samp class="codeph">acquire</samp> waits until it can acquire a lock on the mutex;
+		method 
+		<samp class="codeph">release</samp> releases the lock. 
+	 </p>
+ 
+	 <p>It is recommended that you add extra braces where possible, to clarify
+		to maintainers which code is protected by the lock. 
+	 </p>
+ 
+	 <p>If you are familiar with C interfaces for locks, you may be wondering
+		why there are not simply acquire and release methods on the mutex object
+		itself. The reason is that the C interface would not be exception safe, because
+		if the protected region threw an exception, control would skip over the
+		release. With the object-oriented interface, destruction of the 
+		<samp class="codeph">scoped_lock</samp> object causes the lock to be released, no
+		matter whether the protected region was exited by normal control flow or an
+		exception. This is true even for our version of 
+		<samp class="codeph">AllocateNode</samp> that used methods 
+		<samp class="codeph">acquire</samp> and 
+		<samp class="codeph">release –</samp> the explicit release causes the lock to be
+		released earlier, and the destructor then sees that the lock was released and
+		does nothing. 
+	 </p>
+ 
+	 <p>All mutexes in Intel® TBB have a similar interface, which not only makes
+		them easier to learn, but enables generic programming. For example, all of the
+		mutexes have a nested 
+		<samp class="codeph">scoped_lock</samp> type, so given a mutex of type 
+		<samp class="codeph"><var>M</var></samp>, the corresponding lock type is 
+		<samp class="codeph"><var>M</var>::scoped_lock</samp>. 
+	 </p>
+ 
+	 <div class="Note"><h3 class="NoteTipHead">
+					Tip</h3> 
+		<p>It is recommended that you always use a 
+		  <samp class="codeph">typedef</samp> for the mutex type, as shown in the previous
+		  examples. That way, you can change the type of the lock later without having to
+		  edit the rest of the code. In the examples, you could replace the 
+		  <samp class="codeph">typedef</samp> with 
+		  <samp class="codeph">typedef queuing_mutex FreeListMutexType</samp>, and the code
+		  would still be correct. 
+		</p>
+ 
+	 </div> 
+  </div>
+ 
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../tbb_userguide/title.htm">Intel® Threading Building Blocks (Intel® TBB) User Guide</a></div>
+</div>
+<div>
+<ul class="ullinks">
+<li class="ulchildlink"><a href="../tbb_userguide/Mutex_Flavors.htm">Mutex Flavors</a><br>
+</li>
+<li class="ulchildlink"><a href="../tbb_userguide/Reader_Writer_Mutexes.htm">Reader Writer Mutexes</a><br>
+</li>
+<li class="ulchildlink"><a href="../tbb_userguide/UpgradeDowngrade.htm">Upgrade/Downgrade</a><br>
+</li>
+<li class="ulchildlink"><a href="../tbb_userguide/Lock_Pathologies.htm">Lock Pathologies</a><br>
+</li>
+</ul>
+</div>
+
+</body>
+</html>
diff --git a/doc/help/tbb_userguide/Non-Linear_Pipelines.htm b/doc/help/tbb_userguide/Non-Linear_Pipelines.htm
new file mode 100755
index 0000000..58dc5c6
--- /dev/null
+++ b/doc/help/tbb_userguide/Non-Linear_Pipelines.htm
@@ -0,0 +1,46 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="Non-Linear Pipelines">
+<meta name="DC.subject" content="Non-Linear Pipelines">
+<meta name="keywords" content="Non-Linear Pipelines">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/Working_on_the_Assembly_Line_pipeline.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="tutorial_Non-Linear_Pipelines">
+<link rel="stylesheet" type="text/css" href="../intel_css_styles.css">
+<title>Non-Linear Pipelines</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="tutorial_Non-Linear_Pipelines">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(1);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="tutorial_Non-Linear_Pipelines"><!-- --></a>
+
+
+<h1 class="topictitle1">Non-Linear Pipelines</h1>
+
+<div><p>Template function <samp class="codeph">parallel_pipeline</samp> supports only linear pipelines. It does not directly handle more baroque plumbing, such as in the diagram below.</p>
+<div class="fignone" id="image011"><a name="image011"><!-- --></a><br><img width="281" height="107" src="Images/image011.jpg"><br></div>
+<p>However, you can still use a pipeline for this. Just topologically sort the filters into a linear order, like this:</p>
+<p>The light gray arrows are the original arrows that are now implied by transitive closure of the other arrows. It might seem that lot of parallelism is lost by forcing a linear order on the filters, but in fact the only loss is in the <em>latency</em> of the pipeline, not the throughput. The latency is the time it takes a token to flow from the beginning to the end of the pipeline. Given a sufficient number of processors, the latency of the original non-linear pipeline is three filters [...]
+<div class="fignone" id="image012"><a name="image012"><!-- --></a><br><img width="281" height="107" src="Images/image012.jpg"><br></div>
+<p>In the linear pipeline, the latency is five filters. The behavior of filters A, B, D and E above may need to be modified in order to properly handle objects that don’t need to be acted upon by the filter other than to be passed along to the next filter in the pipeline.</p>
+<p>The throughput remains the same, because regardless of the topology, the throughput is still limited by the throughput of the slowest serial filter. If <samp class="codeph">parallel_pipeline</samp> supported non-linear pipelines, it would add a lot of programming complexity, and not improve throughput. The linear limitation of <samp class="codeph">parallel_pipeline</samp> is a good tradeoff of gain versus pain.</p>
+</div>
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../tbb_userguide/Working_on_the_Assembly_Line_pipeline.htm">Working on the Assembly Line: pipeline</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/tbb_userguide/OS_X_Systems.htm b/doc/help/tbb_userguide/OS_X_Systems.htm
new file mode 100755
index 0000000..737a42e
--- /dev/null
+++ b/doc/help/tbb_userguide/OS_X_Systems.htm
@@ -0,0 +1,386 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="OS X* Systems">
+<meta name="DC.subject" content="OS X* Systems">
+<meta name="keywords" content="OS X* Systems">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/Package_Contents.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="tutorial_OS_X_Systems">
+<link rel="stylesheet" type="text/css" href="../intel_css_styles.css">
+<title>OS X* Systems</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="tutorial_OS_X_Systems">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(1);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="tutorial_OS_X_Systems"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">OS X* Systems</h1>
+ 
+   
+  <div> 
+	<p>This section uses <<em>install_dir</em>> to indicate the
+		top-level installation directory. The following table describes the
+		subdirectory structure for OS X*, relative to <<em>install_dir</em>>.
+	</p>
+
+	 
+<div class="tablenoborder"><a name="tbl6"><!-- --></a><table cellpadding="4" summary="" id="tbl6" width="100%" frame="border" border="1" cellspacing="0" rules="all"><caption><span class="tablecap">Intel® Threading Building Blocks Subdirectories on OS X*
+	 Systems</span></caption> 
+	 <thead align="left"> 
+		<tr> 
+		  <th class="cellrowborder" valign="top" width="16.94915254237288%" id="d145213e46"> 
+			 <p>Item 
+			 </p>
+ 
+		  </th>
+ 
+		  <th class="cellrowborder" valign="top" width="59.32203389830508%" id="d145213e52"> 
+			 <p>Location 
+			 </p>
+ 
+		  </th>
+ 
+		  <th class="cellrowborder" valign="top" width="23.728813559322035%" id="d145213e58"> 
+			 <p>Environment Variable 
+			 </p>
+ 
+		  </th>
+ 
+		</tr>
+</thead>
+ 
+	 <tbody> 
+		<tr> 
+		  <td class="cellrowborder" valign="top" width="16.94915254237288%" headers="d145213e46 "> 
+			 <p>Include files 
+			 </p>
+ 
+		  </td>
+ 
+		  <td class="cellrowborder" valign="top" width="59.32203389830508%" headers="d145213e52 "> 
+			 <p><samp class="codeph">include/tbb/*.h</samp> 
+			 </p>
+ 
+		  </td>
+ 
+		  <td class="cellrowborder" valign="top" width="23.728813559322035%" headers="d145213e58 "> 
+			 <p><samp class="codeph">CPATH</samp> 
+			 </p>
+ 
+		  </td>
+ 
+		</tr>
+ 
+		<tr> 
+		  <td class="cellrowborder" valign="top" width="16.94915254237288%" headers="d145213e46 "> 
+			 <p>Shared libraries 
+			 </p>
+ 
+		  </td>
+ 
+		  <td class="cellrowborder" valign="top" width="59.32203389830508%" headers="d145213e52 "> 
+			 <p><samp class="codeph">lib/<<var>libc++</var>>/<<var>lib</var>><<var>variant</var>>.dylib</samp>
+				
+			 </p>
+ 
+			 <p>where: 
+			 </p>
+ 
+			 <p> 
+			 
+<div class="tablenoborder"><table cellpadding="4" summary="" width="100%" frame="border" border="1" cellspacing="0" rules="all"> 
+				  <thead align="left"> 
+					 <tr> 
+						<th class="cellrowborder" valign="top" width="35.2760736196319%" id="d145213e131"> 
+						  <p><<var>libc++</var>> 
+						  </p>
+ 
+						</th>
+ 
+						<th class="cellrowborder" valign="top" width="64.7239263803681%" id="d145213e140"> 
+						  <p><var>Version</var> 
+						  </p>
+ 
+						</th>
+ 
+					 </tr>
+</thead>
+ 
+				  <tbody> 
+					 <tr> 
+						<td class="cellrowborder" valign="top" width="35.2760736196319%" headers="d145213e131 "> 
+						  <p><samp class="codeph">libc++</samp> 
+						  </p>
+ 
+						</td>
+ 
+						<td class="cellrowborder" valign="top" width="64.7239263803681%" headers="d145213e140 "> 
+						  <p>Libraries that depend on libc++ standard library 
+						  </p>
+ 
+						</td>
+ 
+					 </tr>
+ 
+					 <tr> 
+						<td class="cellrowborder" valign="top" width="35.2760736196319%" headers="d145213e131 "> 
+						  <p>(none) 
+						  </p>
+ 
+						</td>
+ 
+						<td class="cellrowborder" valign="top" width="64.7239263803681%" headers="d145213e140 "> 
+						  <p>Libraries that depend on libstdc++ standard library 
+						  </p>
+ 
+						</td>
+ 
+					 </tr>
+ 
+				  </tbody>
+ 
+				</table>
+</div>
+ 
+			 </p>
+ 
+			 <p> 
+			 
+<div class="tablenoborder"><table cellpadding="4" summary="" width="100%" frame="border" border="1" cellspacing="0" rules="all"> 
+				  <thead align="left"> 
+					 <tr> 
+						<th class="cellrowborder" valign="top" width="35.2760736196319%" id="d145213e199"> 
+						  <p><<var>lib</var>> 
+						  </p>
+ 
+						</th>
+ 
+						<th class="cellrowborder" valign="top" width="64.7239263803681%" id="d145213e208"> 
+						  <p><var>Version</var> 
+						  </p>
+ 
+						</th>
+ 
+					 </tr>
+</thead>
+ 
+				  <tbody> 
+					 <tr> 
+						<td class="cellrowborder" valign="top" width="35.2760736196319%" headers="d145213e199 "> 
+						  <p><samp class="codeph">libtbb</samp> 
+						  </p>
+ 
+						</td>
+ 
+						<td class="cellrowborder" valign="top" width="64.7239263803681%" headers="d145213e208 "> 
+						  <p>General library 
+						  </p>
+ 
+						</td>
+ 
+					 </tr>
+ 
+					 <tr> 
+						<td class="cellrowborder" valign="top" width="35.2760736196319%" headers="d145213e199 "> 
+						  <p><samp class="codeph">libtbbmalloc</samp> 
+						  </p>
+ 
+						</td>
+ 
+						<td class="cellrowborder" valign="top" width="64.7239263803681%" headers="d145213e208 "> 
+						  <p>Memory allocator 
+						  </p>
+ 
+						</td>
+ 
+					 </tr>
+ 
+					 <tr> 
+						<td class="cellrowborder" valign="top" width="35.2760736196319%" headers="d145213e199 "> 
+						  <p><samp class="codeph">libtbb_preview</samp> 
+						  </p>
+ 
+						</td>
+ 
+						<td class="cellrowborder" valign="top" width="64.7239263803681%" headers="d145213e208 "> 
+						  <p>Community preview features library 
+						  </p>
+ 
+						</td>
+ 
+					 </tr>
+ 
+				  </tbody>
+ 
+				</table>
+</div>
+ 
+			 </p>
+ 
+			 <p> 
+			 
+<div class="tablenoborder"><table cellpadding="4" summary="" width="100%" frame="border" border="1" cellspacing="0" rules="all"> 
+				  <thead align="left"> 
+					 <tr> 
+						<th class="cellrowborder" valign="top" width="35.2760736196319%" id="d145213e286"> 
+						  <p><<var>variant</var>> 
+						  </p>
+ 
+						</th>
+ 
+						<th class="cellrowborder" valign="top" width="64.7239263803681%" id="d145213e295"> 
+						  <p><var>Version</var> 
+						  </p>
+ 
+						</th>
+ 
+					 </tr>
+</thead>
+ 
+				  <tbody> 
+					 <tr> 
+						<td class="cellrowborder" valign="top" width="35.2760736196319%" headers="d145213e286 "> 
+						  <p>(none) 
+						  </p>
+ 
+						</td>
+ 
+						<td class="cellrowborder" valign="top" width="64.7239263803681%" headers="d145213e295 "> 
+						  <p>Release version 
+						  </p>
+ 
+						</td>
+ 
+					 </tr>
+ 
+					 <tr> 
+						<td class="cellrowborder" valign="top" width="35.2760736196319%" headers="d145213e286 "> 
+						  <p><samp class="codeph">_debug</samp> 
+						  </p>
+ 
+						</td>
+ 
+						<td class="cellrowborder" valign="top" width="64.7239263803681%" headers="d145213e295 "> 
+						  <p>Debug version 
+						  </p>
+ 
+						</td>
+ 
+					 </tr>
+ 
+				  </tbody>
+ 
+				</table>
+</div>
+ 
+			 </p>
+ 
+		  </td>
+ 
+		  <td class="cellrowborder" valign="top" width="23.728813559322035%" headers="d145213e58 "> 
+			 <p><samp class="codeph">LIBRARY_PATH</samp> 
+			 </p>
+ 
+			 <p><samp class="codeph">DYLD_LIBRARY_PATH</samp> 
+			 </p>
+ 
+		  </td>
+ 
+		</tr>
+ 
+		<tr> 
+		  <td class="cellrowborder" valign="top" width="16.94915254237288%" headers="d145213e46 "> 
+			 <p>Examples 
+			 </p>
+ 
+		  </td>
+ 
+		  <td class="cellrowborder" valign="top" width="59.32203389830508%" headers="d145213e52 "> 
+			 <p><samp class="codeph">examples/<var><class></var>/*/.</samp> 
+			 </p>
+ 
+		  </td>
+ 
+		  <td class="cellrowborder" valign="top" width="23.728813559322035%" headers="d145213e58 "> 
+			 <p>  
+			 </p>
+ 
+		  </td>
+ 
+		</tr>
+ 
+		<tr> 
+		  <td class="cellrowborder" valign="top" width="16.94915254237288%" headers="d145213e46 "> 
+			 <p>GNU Makefile for example 
+			 </p>
+ 
+		  </td>
+ 
+		  <td class="cellrowborder" valign="top" width="59.32203389830508%" headers="d145213e52 "> 
+			 <p><samp class="codeph">examples/<var><class></var>/*/Makefile</samp>
+				
+			 </p>
+ 
+			 <p>where 
+				<var>class</var> describes the class being demonstrated. 
+			 </p>
+ 
+		  </td>
+ 
+		  <td class="cellrowborder" valign="top" width="23.728813559322035%" headers="d145213e58 "> 
+			 <p>  
+			 </p>
+ 
+		  </td>
+ 
+		</tr>
+ 
+		<tr> 
+		  <td class="cellrowborder" valign="top" width="16.94915254237288%" headers="d145213e46 "> 
+			 <p>Xcode* Project 
+			 </p>
+ 
+		  </td>
+ 
+		  <td class="cellrowborder" valign="top" width="59.32203389830508%" headers="d145213e52 "> 
+			 <p><samp class="codeph">examples/<var><class></var>/*/xcode/</samp>
+				
+			 </p>
+ 
+		  </td>
+ 
+		  <td class="cellrowborder" valign="top" width="23.728813559322035%" headers="d145213e58 "> 
+			 <p>  
+			 </p>
+ 
+		  </td>
+ 
+		</tr>
+ 
+	 </tbody>
+ 
+  </table>
+</div>
+ 
+  </div>
+ 
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../tbb_userguide/Package_Contents.htm">Package Contents</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/tbb_userguide/Open_Source_Version.htm b/doc/help/tbb_userguide/Open_Source_Version.htm
new file mode 100755
index 0000000..017f420
--- /dev/null
+++ b/doc/help/tbb_userguide/Open_Source_Version.htm
@@ -0,0 +1,474 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="Open Source Version">
+<meta name="DC.subject" content="Open Source Version">
+<meta name="keywords" content="Open Source Version">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/Package_Contents.htm">
+<meta name="DC.Relation" scheme="URI" content="Windows_OS.htm#tutorial_Windows_OS">
+<meta name="DC.Relation" scheme="URI" content="Linux_OS.htm#tutorial_Linux_OS">
+<meta name="DC.Relation" scheme="URI" content="OS_X_Systems.htm#tutorial_OS_X_Systems">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="tutorial_Open_Source_Version">
+<link rel="stylesheet" type="text/css" href="../intel_css_styles.css">
+<title>Open Source Version</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="tutorial_Open_Source_Version">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(1);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="tutorial_Open_Source_Version"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Open Source Version</h1>
+ 
+   
+  <div> 
+	 <p>The following table describes typical subdirectories of an open source
+		version of the library. 
+	 </p>
+ 
+	 
+<div class="tablenoborder"><a name="tbl7"><!-- --></a><table cellpadding="4" summary="" id="tbl7" width="100%" frame="border" border="1" cellspacing="0" rules="all"><caption><span class="tablecap">Typical Intel® Threading Building Blocks Subdirectories in Open Source
+	 Release</span></caption> 
+	 <tbody> 
+		<tr> 
+		  <td class="cellrowborder" valign="top" width="20%"> 
+			 <p>Include files 
+			 </p>
+ 
+		  </td>
+ 
+		  <td class="cellrowborder" valign="top" width="80%"> 
+			 <p><samp class="codeph">include/tbb/*.h</samp> 
+			 </p>
+ 
+		  </td>
+ 
+		</tr>
+ 
+		<tr> 
+		  <td class="cellrowborder" valign="top" width="20%"> 
+			 <p>Source files 
+			 </p>
+ 
+		  </td>
+ 
+		  <td class="cellrowborder" valign="top" width="80%"> 
+			 <p><samp class="codeph">src/</samp> 
+			 </p>
+ 
+		  </td>
+ 
+		</tr>
+ 
+		<tr> 
+		  <td class="cellrowborder" valign="top" width="20%"> 
+			 <p>Documentation 
+			 </p>
+ 
+		  </td>
+ 
+		  <td class="cellrowborder" valign="top" width="80%"> 
+			 <p><samp class="codeph">doc/</samp> 
+			 </p>
+ 
+		  </td>
+ 
+		</tr>
+ 
+		<tr> 
+		  <td class="cellrowborder" valign="top" width="20%"> 
+			 <p>Environment scripts 
+			 </p>
+ 
+		  </td>
+ 
+		  <td class="cellrowborder" valign="top" width="80%"> 
+			 <p><samp class="codeph">bin/*.{sh,csh,bat}</samp> 
+			 </p>
+ 
+		  </td>
+ 
+		</tr>
+ 
+		<tr> 
+		  <td class="cellrowborder" valign="top" width="20%"> 
+			 <p>Binaries 
+			 </p>
+ 
+		  </td>
+ 
+		  <td class="cellrowborder" valign="top" width="80%"> 
+			 <p><samp class="codeph">lib/<<var>arch</var>>/<<var>version</var>>/<<var>lib</var>><<em>variant</em>>.{lib,so,dylib}</samp>
+				
+			 </p>
+ 
+			 <p><samp class="codeph">bin /<<var>arch</var>>
+				  /<<var>version</var>>
+				  /<<var>lib</var>><<em>variant</em>> .{dll,pdb}</samp> 
+			 </p>
+ 
+			 <p>where: 
+			 </p>
+ 
+			 <p> 
+			 
+<div class="tablenoborder"><table cellpadding="4" summary="" width="100%" frame="border" border="1" cellspacing="0" rules="all"> 
+				  <thead align="left"> 
+					 <tr> 
+						<th class="cellrowborder" valign="top" width="31.06796116504854%" id="d146479e164"> 
+						  <p><<var>arch</var>> 
+						  </p>
+ 
+						</th>
+ 
+						<th class="cellrowborder" valign="top" width="68.93203883495146%" id="d146479e173"> 
+						  <p>Processor 
+						  </p>
+ 
+						</th>
+ 
+					 </tr>
+</thead>
+ 
+				  <tbody> 
+					 <tr> 
+						<td class="cellrowborder" valign="top" width="31.06796116504854%" headers="d146479e164 "> 
+						  <p>ia32 
+						  </p>
+ 
+						</td>
+ 
+						<td class="cellrowborder" valign="top" width="68.93203883495146%" headers="d146479e173 "> 
+						  <p>Intel® IA-32 processors 
+						  </p>
+ 
+						</td>
+ 
+					 </tr>
+ 
+					 <tr> 
+						<td class="cellrowborder" valign="top" width="31.06796116504854%" headers="d146479e164 "> 
+						  <p>intel64 
+						  </p>
+ 
+						</td>
+ 
+						<td class="cellrowborder" valign="top" width="68.93203883495146%" headers="d146479e173 "> 
+						  <p>Intel® 64 architecture processors 
+						  </p>
+ 
+						</td>
+ 
+					 </tr>
+ 
+				  </tbody>
+ 
+				</table>
+</div>
+ 
+			 </p>
+ 
+			 <p> 
+			 
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="border" border="1" cellspacing="0" rules="all"> 
+				  <thead align="left"> 
+					 <tr> 
+						<th class="cellrowborder" valign="top" width="46.10951008645533%" id="d146479e229"> 
+						  <p><<var>version</var>> 
+						  </p>
+ 
+						</th>
+ 
+						<th class="cellrowborder" valign="top" width="20.7492795389049%" id="d146479e238"> 
+						  <p>OS 
+						  </p>
+ 
+						</th>
+ 
+						<th class="cellrowborder" valign="top" width="33.14121037463977%" id="d146479e244"> 
+						  <p>Environment 
+						  </p>
+ 
+						</th>
+ 
+					 </tr>
+</thead>
+ 
+				  <tbody> 
+					 <tr> 
+						<td class="cellrowborder" valign="top" width="46.10951008645533%" headers="d146479e229 "> 
+						  <p>8, 9, _mt 
+						  </p>
+ 
+						</td>
+ 
+						<td class="cellrowborder" valign="top" width="20.7492795389049%" headers="d146479e238 "> 
+						  <p>Microsoft Windows* 
+						  </p>
+ 
+						</td>
+ 
+						<td class="cellrowborder" valign="top" width="33.14121037463977%" headers="d146479e244 "> 
+						  <p>See <<em>vcversion</em>> 
+							 <strong>Windows* OS</strong> topic 
+						  </p>
+ 
+						</td>
+ 
+					 </tr>
+ 
+					 <tr> 
+						<td class="cellrowborder" valign="top" width="46.10951008645533%" headers="d146479e229 "> 
+						  <p><samp class="codeph">cc< 
+								<var>gccversion</var> >_libc< 
+								<var>glibcversion</var> >_kernel< 
+								<var>kernelversion</var> ></samp> 
+						  </p>
+ 
+						</td>
+ 
+						<td class="cellrowborder" valign="top" width="20.7492795389049%" headers="d146479e238 "> 
+						  <p>Linux* 
+						  </p>
+ 
+						</td>
+ 
+						<td class="cellrowborder" valign="top" width="33.14121037463977%" headers="d146479e244 "> 
+						  <p>See 
+							 <strong>Linux* OS</strong> topic. 
+						  </p>
+ 
+						</td>
+ 
+					 </tr>
+ 
+					 <tr> 
+						<td class="cellrowborder" valign="top" width="46.10951008645533%" headers="d146479e229 "> 
+						  <p><samp class="codeph">cc<<var>gccversion</var>>_os<<var>osversion</var>></samp>
+							 
+						  </p>
+ 
+						</td>
+ 
+						<td class="cellrowborder" valign="top" width="20.7492795389049%" headers="d146479e238 "> 
+						  <p>OS X* 
+						  </p>
+ 
+						</td>
+ 
+						<td class="cellrowborder" valign="top" width="33.14121037463977%" headers="d146479e244 "> 
+						  <p>See 
+							 <strong>OS X* Systems</strong> Topic 
+						  </p>
+ 
+						</td>
+ 
+					 </tr>
+ 
+				  </tbody>
+ 
+				</table>
+</div>
+ 
+			 </p>
+ 
+			 <p> 
+			 
+<div class="tablenoborder"><table cellpadding="4" summary="" width="100%" frame="border" border="1" cellspacing="0" rules="all"> 
+				  <thead align="left"> 
+					 <tr> 
+						<th class="cellrowborder" valign="top" width="41.10032362459547%" id="d146479e364"> 
+						  <p><<var>lib</var>> 
+						  </p>
+ 
+						</th>
+ 
+						<th class="cellrowborder" valign="top" width="58.89967637540453%" id="d146479e373"> 
+						  <p>Version 
+						  </p>
+ 
+						</th>
+ 
+					 </tr>
+</thead>
+ 
+				  <tbody> 
+					 <tr> 
+						<td class="cellrowborder" valign="top" width="41.10032362459547%" headers="d146479e364 "> 
+						  <p><samp class="codeph">tbb</samp> 
+						  </p>
+ 
+						</td>
+ 
+						<td class="cellrowborder" valign="top" width="58.89967637540453%" headers="d146479e373 "> 
+						  <p>General library 
+						  </p>
+ 
+						</td>
+ 
+					 </tr>
+ 
+					 <tr> 
+						<td class="cellrowborder" valign="top" width="41.10032362459547%" headers="d146479e364 "> 
+						  <p><samp class="codeph">tbbmalloc</samp> 
+						  </p>
+ 
+						</td>
+ 
+						<td class="cellrowborder" valign="top" width="58.89967637540453%" headers="d146479e373 "> 
+						  <p>Memory allocator 
+						  </p>
+ 
+						</td>
+ 
+					 </tr>
+ 
+					 <tr> 
+						<td class="cellrowborder" valign="top" width="41.10032362459547%" headers="d146479e364 "> 
+						  <p><samp class="codeph">tbbmalloc_proxy</samp> 
+						  </p>
+ 
+						</td>
+ 
+						<td class="cellrowborder" valign="top" width="58.89967637540453%" headers="d146479e373 "> 
+						  <p>Substitution for default memory allocator 
+						  </p>
+ 
+						</td>
+ 
+					 </tr>
+ 
+					 <tr> 
+						<td class="cellrowborder" valign="top" width="41.10032362459547%" headers="d146479e364 "> 
+						  <p><samp class="codeph">tbb_preview</samp> 
+						  </p>
+ 
+						</td>
+ 
+						<td class="cellrowborder" valign="top" width="58.89967637540453%" headers="d146479e373 "> 
+						  <p>Community preview features library 
+						  </p>
+ 
+						</td>
+ 
+					 </tr>
+ 
+				  </tbody>
+ 
+				</table>
+</div>
+ 
+			 </p>
+ 
+			 <p> 
+			 
+<div class="tablenoborder"><table cellpadding="4" summary="" width="100%" frame="border" border="1" cellspacing="0" rules="all"> 
+				  <thead align="left"> 
+					 <tr> 
+						<th class="cellrowborder" valign="top" width="34.95145631067961%" id="d146479e466"> 
+						  <p><<var>variant</var>> 
+						  </p>
+ 
+						</th>
+ 
+						<th class="cellrowborder" valign="top" width="65.0485436893204%" id="d146479e475"> 
+						  <p>Version 
+						  </p>
+ 
+						</th>
+ 
+					 </tr>
+</thead>
+ 
+				  <tbody> 
+					 <tr> 
+						<td class="cellrowborder" valign="top" width="34.95145631067961%" headers="d146479e466 "> 
+						  <p>(none) 
+						  </p>
+ 
+						</td>
+ 
+						<td class="cellrowborder" valign="top" width="65.0485436893204%" headers="d146479e475 "> 
+						  <p>Release version 
+						  </p>
+ 
+						</td>
+ 
+					 </tr>
+ 
+					 <tr> 
+						<td class="cellrowborder" valign="top" width="34.95145631067961%" headers="d146479e466 "> 
+						  <p><samp class="codeph">_debug</samp> 
+						  </p>
+ 
+						</td>
+ 
+						<td class="cellrowborder" valign="top" width="65.0485436893204%" headers="d146479e475 "> 
+						  <p>Debug version 
+						  </p>
+ 
+						</td>
+ 
+					 </tr>
+ 
+				  </tbody>
+ 
+				</table>
+</div>
+ 
+			 </p>
+ 
+		  </td>
+ 
+		</tr>
+ 
+		<tr> 
+		  <td class="cellrowborder" valign="top" width="20%"> 
+			 <p>Examples 
+			 </p>
+ 
+		  </td>
+ 
+		  <td class="cellrowborder" valign="top" width="80%"> 
+			 <p><samp class="codeph">examples\<var><class></var>\*\.</samp> 
+			 </p>
+ 
+		  </td>
+ 
+		</tr>
+ 
+	 </tbody>
+ 
+  </table>
+</div>
+ 
+  </div>
+ 
+  
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../tbb_userguide/Package_Contents.htm">Package Contents</a></div>
+</div>
+<div class="See Also">
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="Windows_OS.htm#tutorial_Windows_OS">Windows* OS 
+		  </a></div>
+<div><a href="Linux_OS.htm#tutorial_Linux_OS">Linux* OS 
+		  </a></div>
+<div><a href="OS_X_Systems.htm#tutorial_OS_X_Systems">OS X* Systems 
+		  </a></div></div>
+</div> 
+
+</body>
+</html>
diff --git a/doc/help/tbb_userguide/Package_Contents.htm b/doc/help/tbb_userguide/Package_Contents.htm
new file mode 100755
index 0000000..ac012bc
--- /dev/null
+++ b/doc/help/tbb_userguide/Package_Contents.htm
@@ -0,0 +1,68 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="Package Contents">
+<meta name="DC.subject" content="Package Contents">
+<meta name="keywords" content="Package Contents">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/title.htm">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/Debug_Versus_Release_Libraries.htm">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/Scalable_Memory_Allocator.htm">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/Windows_OS.htm">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/Linux_OS.htm">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/OS_X_Systems.htm">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/Open_Source_Version.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="tutorial_Package_Contents">
+<link rel="stylesheet" type="text/css" href="../intel_css_styles.css">
+<title>Package Contents</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="tutorial_Package_Contents">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(1);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="tutorial_Package_Contents"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Package Contents</h1>
+ 
+   
+  <div> 
+	 <p>Intel® Threading Building Blocks (Intel® TBB) includes dynamic shared
+		library files, header files, and code examples for Windows*, Linux*, and OS X*
+		operating systems that you can compile and run as described in this section. 
+	 </p>
+ 
+  </div>
+ 
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../tbb_userguide/title.htm">Intel® Threading Building Blocks (Intel® TBB) User Guide</a></div>
+</div>
+<div>
+<ul class="ullinks">
+<li class="ulchildlink"><a href="../tbb_userguide/Debug_Versus_Release_Libraries.htm">Debug Versus Release Libraries</a><br>
+</li>
+<li class="ulchildlink"><a href="../tbb_userguide/Scalable_Memory_Allocator.htm">Scalable Memory Allocator</a><br>
+</li>
+<li class="ulchildlink"><a href="../tbb_userguide/Windows_OS.htm">Windows* OS</a><br>
+</li>
+<li class="ulchildlink"><a href="../tbb_userguide/Linux_OS.htm">Linux* OS</a><br>
+</li>
+<li class="ulchildlink"><a href="../tbb_userguide/OS_X_Systems.htm">OS X* Systems</a><br>
+</li>
+<li class="ulchildlink"><a href="../tbb_userguide/Open_Source_Version.htm">Open Source Version</a><br>
+</li>
+</ul>
+</div>
+
+</body>
+</html>
diff --git a/doc/help/tbb_userguide/Parallelizing_Complex_Loops.htm b/doc/help/tbb_userguide/Parallelizing_Complex_Loops.htm
new file mode 100755
index 0000000..9f1418a
--- /dev/null
+++ b/doc/help/tbb_userguide/Parallelizing_Complex_Loops.htm
@@ -0,0 +1,64 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="Parallelizing Complex Loops">
+<meta name="DC.subject" content="Parallelizing Complex Loops">
+<meta name="keywords" content="Parallelizing Complex Loops">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/title.htm">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/Cook_Until_Done_parallel_do.htm">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/Working_on_the_Assembly_Line_pipeline.htm">
+<meta name="DC.Relation" scheme="URI" content="Parallelizing_Simple_Loops.htm#tutorial_Parallelizing_Simple_Loops">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="tutorial_Parallelizing_Complex_Loops">
+<link rel="stylesheet" type="text/css" href="../intel_css_styles.css">
+<title>Parallelizing Complex Loops</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="tutorial_Parallelizing_Complex_Loops">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(1);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="tutorial_Parallelizing_Complex_Loops"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Parallelizing Complex Loops</h1>
+ 
+  
+  <div>
+	 <p>You can successfully parallelize many applications using only the
+		constructs in the 
+		<strong>Parallelizing Simple Loops</strong> section. However, some situations call
+		for other parallel patterns. This section describes the support for some of
+		these alternate patterns.
+	 </p>
+
+  </div>
+
+  
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../tbb_userguide/title.htm">Intel® Threading Building Blocks (Intel® TBB) User Guide</a></div>
+</div>
+<div class="See Also">
+<ul class="ullinks">
+<li class="ulchildlink"><a href="../tbb_userguide/Cook_Until_Done_parallel_do.htm">Cook Until Done: parallel_do</a><br>
+</li>
+<li class="ulchildlink"><a href="../tbb_userguide/Working_on_the_Assembly_Line_pipeline.htm">Working on the Assembly Line: pipeline</a><br>
+</li>
+</ul>
+
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="Parallelizing_Simple_Loops.htm#tutorial_Parallelizing_Simple_Loops">Parallelizing Simple Loops
+		  </a></div></div>
+</div>
+
+</body>
+</html>
diff --git a/doc/help/tbb_userguide/Parallelizing_Simple_Loops.htm b/doc/help/tbb_userguide/Parallelizing_Simple_Loops.htm
new file mode 100755
index 0000000..035610f
--- /dev/null
+++ b/doc/help/tbb_userguide/Parallelizing_Simple_Loops.htm
@@ -0,0 +1,159 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="Parallelizing Simple Loops">
+<meta name="DC.subject" content="Parallelizing Simple Loops">
+<meta name="keywords" content="Parallelizing Simple Loops">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/title.htm">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/Initializing_and_Terminating_the_Library.htm">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/parallel_for.htm">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/parallel_reduce.htm">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/Advanced_Example.htm">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/Advanced_Topic_Other_Kinds_of_Iteration_Spaces.htm">
+<meta name="DC.Relation" scheme="URI" content="Debug_Versus_Release_Libraries.htm#tutorial_Debug_Versus_Release_Libraries">
+<meta name="DC.Relation" scheme="URI" content="Which_Dynamic_Libraries_to_Use.htm#tutorial_Which_Dynamic_Libraries_to_Use">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="tutorial_Parallelizing_Simple_Loops">
+<link rel="stylesheet" type="text/css" href="../intel_css_styles.css">
+<title>Parallelizing Simple Loops</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="tutorial_Parallelizing_Simple_Loops">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(1);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="tutorial_Parallelizing_Simple_Loops"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Parallelizing Simple Loops</h1>
+ 
+   
+  <div> 
+	 <p>The simplest form of scalable parallelism is a loop of iterations that
+		can each run simultaneously without interfering with each other. The following
+		sections demonstrate how to parallelize simple loops. 
+	 </p>
+ 
+	 <div class="Note"><h3 class="NoteTipHead">
+					Note</h3> 
+		<p>Intel® Threading Building Blocks (Intel® TBB) components are defined
+		  in namespace 
+		  <samp class="codeph">tbb</samp>. For brevity’s sake, the namespace is explicit in
+		  the first mention of a component, but implicit afterwards. 
+		</p>
+ 
+	 </div> 
+	 <p>When compiling Intel® TBB programs, be sure to link in the Intel® TBB
+		shared library, otherwise undefined references will occur. The following table
+		shows compilation commands that use the debug version of the library. Remove
+		the "<samp class="codeph">_debug</samp>" portion to link against the production version of
+		the library. See 
+		<samp class="codeph">doc/Getting_Started.pdf</samp> for other command line
+		possibilities. 
+	 </p>
+ 
+	 
+<div class="tablenoborder"><a name="tbl8"><!-- --></a><table cellpadding="4" summary="" id="tbl8" width="100%" frame="border" border="1" cellspacing="0" rules="all"><caption><span class="tablecap">Sample command lines for simple debug builds</span></caption><thead align="left"> 
+		<tr> 
+		  <th class="cellrowborder" valign="top" width="50%" id="d148147e56">Operating System 
+		  </th>
+ 
+		  <th class="cellrowborder" valign="top" width="50%" id="d148147e59">Command line 
+		  </th>
+ 
+		</tr>
+</thead>
+ 
+	 <tbody> 
+		<tr> 
+		  <td class="cellrowborder" valign="top" width="50%" headers="d148147e56 "> 
+			 <p>Windows* OS 
+			 </p>
+ 
+		  </td>
+ 
+		  <td class="cellrowborder" valign="top" width="50%" headers="d148147e59 "> 
+			 <p> 
+				<samp class="codeph">icl /MD example.cpp tbb_debug.lib 
+				</samp> 
+			 </p>
+ 
+		  </td>
+ 
+		</tr>
+ 
+		<tr> 
+		  <td class="cellrowborder" valign="top" width="50%" headers="d148147e56 "> 
+			 <p>Linux* OS 
+			 </p>
+ 
+		  </td>
+ 
+		  <td class="cellrowborder" valign="top" width="50%" headers="d148147e59 "> 
+			 <p> 
+				<samp class="codeph">icc example.cpp -ltbb_debug</samp> 
+			 </p>
+ 
+		  </td>
+ 
+		</tr>
+ 
+		<tr> 
+		  <td class="cellrowborder" valign="top" width="50%" headers="d148147e56 "> 
+			 <p>OS X* Systems 
+			 </p>
+ 
+		  </td>
+ 
+		  <td class="cellrowborder" valign="top" width="50%" headers="d148147e59 "> 
+			 <p> 
+				<samp class="codeph">icc example.cpp -ltbb_debug</samp> 
+			 </p>
+ 
+		  </td>
+ 
+		</tr>
+ 
+	 </tbody>
+ 
+  </table>
+</div>
+ 
+  </div>
+ 
+  
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../tbb_userguide/title.htm">Intel® Threading Building Blocks (Intel® TBB) User Guide</a></div>
+</div>
+<div class="See Also">
+<ul class="ullinks">
+<li class="ulchildlink"><a href="../tbb_userguide/Initializing_and_Terminating_the_Library.htm">Initializing and Terminating the Library</a><br>
+</li>
+<li class="ulchildlink"><a href="../tbb_userguide/parallel_for.htm">parallel_for</a><br>
+</li>
+<li class="ulchildlink"><a href="../tbb_userguide/parallel_reduce.htm">parallel_reduce</a><br>
+</li>
+<li class="ulchildlink"><a href="../tbb_userguide/Advanced_Example.htm">Advanced Example</a><br>
+</li>
+<li class="ulchildlink"><a href="../tbb_userguide/Advanced_Topic_Other_Kinds_of_Iteration_Spaces.htm">Advanced Topic: Other Kinds of Iteration Spaces</a><br>
+</li>
+</ul>
+
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="Debug_Versus_Release_Libraries.htm#tutorial_Debug_Versus_Release_Libraries">Debug Versus Release Libraries 
+		  </a></div>
+<div><a href="Which_Dynamic_Libraries_to_Use.htm#tutorial_Which_Dynamic_Libraries_to_Use">Which Dynamic Libraries to Use 
+		  </a></div></div>
+</div> 
+
+</body>
+</html>
diff --git a/doc/help/tbb_userguide/Partitioner_Summary.htm b/doc/help/tbb_userguide/Partitioner_Summary.htm
new file mode 100755
index 0000000..4d3ce05
--- /dev/null
+++ b/doc/help/tbb_userguide/Partitioner_Summary.htm
@@ -0,0 +1,196 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="Partitioner Summary">
+<meta name="DC.subject" content="Partitioner Summary">
+<meta name="keywords" content="Partitioner Summary">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/parallel_for.htm">
+<meta name="DC.Relation" scheme="URI" content="parallel_for.htm#tutorial_parallel_for">
+<meta name="DC.Relation" scheme="URI" content="parallel_reduce.htm#tutorial_parallel_reduce">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="tutorial_Partitioner_Summary">
+<link rel="stylesheet" type="text/css" href="../intel_css_styles.css">
+<title>Partitioner Summary</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="tutorial_Partitioner_Summary">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(1);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="tutorial_Partitioner_Summary"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Partitioner Summary</h1>
+ 
+   
+  <div> 
+	 <p>The parallel loop templates 
+		<samp class="codeph">parallel_for</samp> and 
+		<samp class="codeph">parallel_reduce</samp> take an optional 
+		<em>partitioner</em> argument, which specifies a strategy for executing the
+		loop. The following table summarizes the three partitioners and their effect
+		when used in conjunction with 
+		<samp class="codeph">blocked_range</samp>. 
+	 </p>
+ 
+	 
+<div class="tablenoborder"><a name="tbl10"><!-- --></a><table cellpadding="4" summary="" id="tbl10" width="100%" frame="border" border="1" cellspacing="0" rules="all"><caption><span class="tablecap">Partitioners</span></caption> 
+	 <thead align="left"> 
+		<tr> 
+		  <th class="cellrowborder" valign="top" width="33.23076923076923%" id="d148489e52"> 
+			 <p>Partitioner 
+			 </p>
+ 
+		  </th>
+ 
+		  <th class="cellrowborder" valign="top" width="30.76923076923077%" id="d148489e58"> 
+			 <p>Description 
+			 </p>
+ 
+		  </th>
+ 
+		  <th class="cellrowborder" valign="top" width="36%" id="d148489e64"> 
+			 <p>When Used with blocked_range(i,j,<var>g</var>) 
+			 </p>
+ 
+		  </th>
+ 
+		</tr>
+</thead>
+ 
+	 <tbody> 
+		<tr> 
+		  <td class="cellrowborder" valign="top" width="33.23076923076923%" headers="d148489e52 "> 
+			 <p><samp class="codeph">simple_partitioner</samp> 
+			 </p>
+ 
+		  </td>
+ 
+		  <td class="cellrowborder" valign="top" width="30.76923076923077%" headers="d148489e58 "> 
+			 <p>Chunksize bounded by grain size. 
+			 </p>
+ 
+		  </td>
+ 
+		  <td class="cellrowborder" valign="top" width="36%" headers="d148489e64 "> 
+			 <p><samp class="codeph"><var>g</var>/2 ≤ 
+				  <var>chunksize</var> ≤ 
+				  <var>g</var></samp> 
+			 </p>
+ 
+		  </td>
+ 
+		</tr>
+ 
+		<tr> 
+		  <td class="cellrowborder" valign="top" width="33.23076923076923%" headers="d148489e52 "> 
+			 <p><samp class="codeph">auto_partitioner</samp> (default)<a href="#ftn4"><sup><sup>[4]</sup></sup></a> 
+			 </p>
+ 
+		  </td>
+ 
+		  <td class="cellrowborder" valign="top" width="30.76923076923077%" headers="d148489e58 "> 
+			 <p>Automatic chunk size. 
+			 </p>
+ 
+		  </td>
+ 
+		  <td class="cellrowborder" valign="top" width="36%" headers="d148489e64 "> 
+			 <p><samp class="codeph"><var>g</var>/2 ≤ 
+				  <var>chunksize</var></samp> 
+			 </p>
+ 
+		  </td>
+ 
+		</tr>
+ 
+		<tr> 
+		  <td class="cellrowborder" valign="top" width="33.23076923076923%" headers="d148489e52 "> 
+			 <p><samp class="codeph">affinity_partitioner</samp> 
+			 </p>
+ 
+		  </td>
+ 
+		  <td class="cellrowborder" valign="top" width="30.76923076923077%" headers="d148489e58 "> 
+			 <p>Automatic chunk size and cache affinity. 
+			 </p>
+ 
+		  </td>
+ 
+		</tr>
+ 
+	 </tbody>
+ 
+  </table>
+</div>
+ 
+  <p>An 
+	 <samp class="codeph">auto_partitioner</samp> is used when no partitioner is specified.
+	 In general, the 
+	 <samp class="codeph">auto_partitioner</samp> or 
+	 <samp class="codeph">affinity_partitioner</samp> should be used, because these tailor
+	 the number of chunks based on available execution resources. However, 
+	 <samp class="codeph">simple_partitioner</samp> can be useful in the following
+	 situations: 
+  </p>
+ 
+  <ul type="disc"> 
+	 <li> 
+		<p>The subrange size for 
+		  <samp class="codeph">operator()</samp> must not exceed a limit. That might be
+		  advantageous, for example, if your 
+		  <samp class="codeph">operator()</samp> needs a temporary array proportional to the
+		  size of the range. With a limited subrange size, you can use an automatic
+		  variable for the array instead of having to use dynamic memory allocation. 
+		</p>
+ 
+	 </li>
+ 
+	 <li> 
+		<p>A large subrange might use cache inefficiently. For example, suppose
+		  the processing of a subrange involves repeated sweeps over the same memory
+		  locations. Keeping the subrange below a limit might enable the repeatedly
+		  referenced memory locations to fit in cache. See the use of 
+		  <samp class="codeph">parallel_reduce</samp> in 
+		  <samp class="codeph">examples/parallel_reduce/primes/primes.cpp</samp> for an
+		  example of this scenario. 
+		</p>
+ 
+	 </li>
+ 
+	 <li> 
+		<p>You want to tune to a specific machine. 
+		</p>
+ 
+	 </li>
+ 
+  </ul>
+ 
+  </div>
+ 
+  
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../tbb_userguide/parallel_for.htm">parallel_for</a></div>
+</div>
+<div class="See Also">
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="parallel_for.htm#tutorial_parallel_for">parallel_for 
+		  </a></div>
+<div><a href="parallel_reduce.htm#tutorial_parallel_reduce">parallel_reduce 
+		  </a></div></div>
+</div> 
+<p><a id="ftn4"><sup>[4]</sup></a>  >Prior to 
+                  Intel® Threading Building Blocks (Intel® TBB) 2.2, the default was 
+				  <samp class="codeph">simple_partitioner</samp>. Compile with 
+				  <samp class="codeph">TBB_DEPRECATED=1</samp> to get the old default.</p>
+</body>
+</html>
diff --git a/doc/help/tbb_userguide/Reader_Writer_Mutexes.htm b/doc/help/tbb_userguide/Reader_Writer_Mutexes.htm
new file mode 100755
index 0000000..f50b6cc
--- /dev/null
+++ b/doc/help/tbb_userguide/Reader_Writer_Mutexes.htm
@@ -0,0 +1,72 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="Reader Writer Mutexes">
+<meta name="DC.subject" content="Reader Writer Mutexes">
+<meta name="keywords" content="Reader Writer Mutexes">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/Mutual_Exclusion.htm">
+<meta name="DC.Relation" scheme="URI" content="UpgradeDowngrade.htm#tutorial_UpgradeDowngrade">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="tutorial_Reader_Writer_Mutexes">
+<link rel="stylesheet" type="text/css" href="../intel_css_styles.css">
+<title>Reader Writer Mutexes</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="tutorial_Reader_Writer_Mutexes">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(1);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="tutorial_Reader_Writer_Mutexes"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Reader Writer Mutexes</h1>
+ 
+  
+  <div>
+	 <p>Mutual exclusion is necessary when at least one thread 
+		<em>writes</em> to a shared variable. But it does no harm to permit
+		multiple readers into a protected region. The reader-writer variants of the
+		mutexes, denoted by 
+		<samp class="codeph">_rw_</samp> in the class names, enable multiple readers by
+		distinguishing 
+		<em>reader locks</em> from 
+		<em>writer locks.</em> There can be more than one reader lock on a given
+		mutex.
+	 </p>
+
+	 <p>Requests for a reader lock are distinguished from requests for a writer
+		lock via an extra boolean parameter in the constructor for 
+		<samp class="codeph">scoped_lock</samp>. The parameter is 
+		<span class="keyword">false</span> to request a reader lock and 
+		<span class="keyword">true</span> to request a writer lock. It defaults to 
+		<samp class="codeph">true</samp> so that when omitted, a 
+		<samp class="codeph">spin_rw_mutex</samp> or 
+		<samp class="codeph">queuing_rw_mutex</samp> behaves like its
+		non-<samp class="codeph">_rw_</samp> counterpart. 
+	 </p>
+
+  </div>
+
+  
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../tbb_userguide/Mutual_Exclusion.htm">Mutual Exclusion</a></div>
+</div>
+<div class="See Also">
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="UpgradeDowngrade.htm#tutorial_UpgradeDowngrade">Upgrade/Downgrade
+		  </a> example where the parameter is explicitly 
+			 false in order to obtain a reader lock.
+		  </div></div>
+</div>
+
+</body>
+</html>
diff --git a/doc/help/tbb_userguide/Recursive_Chain_Reaction_.htm b/doc/help/tbb_userguide/Recursive_Chain_Reaction_.htm
new file mode 100755
index 0000000..e5e71e8
--- /dev/null
+++ b/doc/help/tbb_userguide/Recursive_Chain_Reaction_.htm
@@ -0,0 +1,67 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="Recursive Chain Reaction">
+<meta name="DC.subject" content="Recursive Chain Reaction">
+<meta name="keywords" content="Recursive Chain Reaction">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/Useful_Task_Techniques.htm">
+<meta name="DC.Relation" scheme="URI" content="Advanced_Example.htm#tutorial_Advanced_Example">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="tutorial_Recursive_Chain_Reaction_">
+<link rel="stylesheet" type="text/css" href="../intel_css_styles.css">
+<title>Recursive Chain Reaction</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="tutorial_Recursive_Chain_Reaction_">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(1);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="tutorial_Recursive_Chain_Reaction_"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Recursive Chain Reaction </h1>
+ 
+  
+  <div>
+	 <p>The scheduler works best with tree-structured task graphs, because that
+		is where the strategy of "breadth-first theft and depth-first work" applies
+		very well. Also, tree-structured task graphs allow fast creation of many tasks.
+		For example, if a master task tries to create 
+		<var>N</var> children directly, it will take
+		O(<var>N</var>) steps. But with tree structured forking, it takes only
+		O(lg(<var>N</var>)) steps.
+	 </p>
+
+	 <p>Often domains are not obviously tree structured, but you can easily map
+		them to trees. For example, 
+		<samp class="codeph">parallel_for</samp> (in 
+		<samp class="codeph">tbb/parallel_for</samp>) works over an iteration space, such as a sequence of integers. Template function 
+		<samp class="codeph">parallel_for</samp> uses that definition to recursively map the
+		iteration space onto a binary tree.
+	 </p>
+
+  </div>
+
+  
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../tbb_userguide/Useful_Task_Techniques.htm">Useful Task Techniques</a></div>
+</div>
+<div class="See Also">
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="Advanced_Example.htm#tutorial_Advanced_Example">Advanced Example
+		  </a>  shows how the iteration space is defined in terms of how to split
+			 it into two halves.
+		  </div></div>
+</div>
+
+</body>
+</html>
diff --git a/doc/help/tbb_userguide/Recycling.htm b/doc/help/tbb_userguide/Recycling.htm
new file mode 100755
index 0000000..f443e90
--- /dev/null
+++ b/doc/help/tbb_userguide/Recycling.htm
@@ -0,0 +1,175 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="Recycling">
+<meta name="DC.subject" content="Recycling">
+<meta name="keywords" content="Recycling">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/Useful_Task_Techniques.htm">
+<meta name="DC.Relation" scheme="URI" content="Scheduler_Bypass.htm#tutorial_Scheduler_Bypass">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="tutorial_Recycling">
+<link rel="stylesheet" type="text/css" href="../intel_css_styles.css">
+<title>Recycling</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="tutorial_Recycling">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(1);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="tutorial_Recycling"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Recycling</h1>
+ 
+   
+  <div> 
+	 <p>Not only can you bypass the scheduler, you might also bypass task
+		allocation and deallocation. The opportunity frequently arises for recursive
+		tasks that do scheduler bypass. Consider the example in the 
+		<strong>Scheduler Bypass</strong> section. After it creates continuation task
+		"<samp class="codeph">c</samp>", it performs the following steps: 
+	 </p>
+ 
+	 <ol> 
+		<li> 
+		  <p>Create child task "<samp class="codeph">a</samp>". 
+		  </p>
+ 
+		</li>
+ 
+		<li> 
+		  <p>Create and spawn child task "<samp class="codeph">b</samp>" 
+		  </p>
+ 
+		</li>
+ 
+		<li> 
+		  <p>Return from method 
+			 <samp class="codeph">execute()</samp> with pointer to task "<samp class="codeph">a</samp>".
+			 
+		  </p>
+ 
+		</li>
+ 
+		<li> 
+		  <p>Destroy parent task. 
+		  </p>
+ 
+		</li>
+ 
+	 </ol>
+ 
+	 <p>Recycling the parent as "<samp class="codeph">a</samp>" can avoid the task creation
+		destruction done by steps 1 and 4. Furthermore, in many scenarios step 1 copies
+		state from the parent. Recycling the parent as task "<samp class="codeph">a</samp>"
+		eliminates the copying overhead. 
+	 </p>
+ 
+	 <p>The following code shows the changes required to implement recycling in
+		the scheduler-bypass example. 
+	 </p>
+ 
+	 <pre>struct FibTask: public task {
+    long n;
+    long* sum;
+    ...
+    task* execute() {
+        if( n<CutOff ) {
+            *sum = SerialFib(n);
+            return NULL;
+        } else {
+            FibContinuation& c = 
+                *new( allocate_continuation() ) FibContinuation(sum);
+            // FibTask& a = *new( c.allocate_child() ) FibTask(n-2,&c.x); This line removed
+            FibTask& b = *new( c.allocate_child() ) FibTask(n-1,&c.y);
+            recycle_as_child_of(c);
+            n -= 2;
+            sum = &c.x;
+            // Set ref_count to "two children".
+            c.set_ref_count(2);
+            spawn( b );
+            // return &a; This line removed
+            return this;
+        }
+    }
+};</pre> 
+	 <p>The child that was previously called 
+		<samp class="codeph">a</samp> is now the recycled 
+		<samp class="codeph">this</samp>. The call 
+		<samp class="codeph">recycle_as_child_of(c)</samp> has several effects: 
+	 </p>
+ 
+	 <ul type="disc"> 
+		<li> 
+		  <p>It marks 
+			 <samp class="codeph">this</samp> as to 
+			 <em>not</em> be automatically destroyed when 
+			 <samp class="codeph">execute()</samp> returns. 
+		  </p>
+ 
+		</li>
+ 
+		<li> 
+		  <p>It sets the successor of 
+			 <samp class="codeph">this</samp> to be 
+			 <samp class="codeph">c</samp>. 
+		  </p>
+ 
+		</li>
+ 
+	 </ul>
+ 
+	 <p>To prevent reference-counting problems, 
+		<samp class="codeph">recycle_as_child_of</samp> has a prerequisite that 
+		<samp class="codeph">this</samp> must have a NULL successor. This is the case after 
+		<samp class="codeph">allocate_continuation</samp> occurs. The following figure shows
+		how 
+		<samp class="codeph">allocate_continuation</samp> and 
+		<samp class="codeph">recycle_as_child_of</samp> transform the task graph. 
+	 </p>
+ 
+	 <div class="fignone" id="fig10"><a name="fig10"><!-- --></a><span class="figcap">Action of 
+		  <samp class="codeph">allocate_continuation</samp> Followed By 
+		  <samp class="codeph">recycle_as_child_of</samp></span> 
+		<br><img src="Images/image017.jpg" width="529" height="212"><br> 
+	 </div>
+ 
+	 <p>When recycling, ensure that the original task’s fields are not used
+		after the task might start running. The example uses the scheduler bypass trick
+		to ensure this. You can spawn the recycled task instead, as long as none of its
+		fields are used after the spawning. This restriction applies even to any 
+		<samp class="codeph">const</samp> fields, because after spawning the task might run
+		and be destroyed before the parent progresses any further. 
+	 </p>
+ 
+	 <div class="Note"><h3 class="NoteTipHead">
+					Note</h3> 
+		<p>A similar method, 
+		  <samp class="codeph">task::recycle_as_continuation()</samp> recycles a task as a
+		  continuation instead of a child. 
+		</p>
+ 
+	 </div> 
+  </div>
+ 
+  
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../tbb_userguide/Useful_Task_Techniques.htm">Useful Task Techniques</a></div>
+</div>
+<div class="See Also">
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="Scheduler_Bypass.htm#tutorial_Scheduler_Bypass">Scheduler Bypass 
+		  </a></div></div>
+</div> 
+
+</body>
+</html>
diff --git a/doc/help/tbb_userguide/References.htm b/doc/help/tbb_userguide/References.htm
new file mode 100755
index 0000000..7e4f5a1
--- /dev/null
+++ b/doc/help/tbb_userguide/References.htm
@@ -0,0 +1,56 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="References">
+<meta name="DC.subject" content="References">
+<meta name="keywords" content="References">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/title.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="tutorial_References">
+<link rel="stylesheet" type="text/css" href="../intel_css_styles.css">
+<title>References</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="tutorial_References">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(1);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="tutorial_References"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">References</h1>
+ 
+  
+  <div>
+	 <p><strong>[1]</strong>   "Memory Consistency & .NET", Arch D. Robison, Dr.
+		Dobb’s Journal, April 2003.
+	 </p>
+
+	 <p><strong>[2]</strong>   A Formal Specification of Intel® Itanium® Processor Family
+		Memory Ordering, Intel Corporation, October 2002.
+	 </p>
+
+	 <p><strong>[3]</strong>   "Cilk: An Efficient Multithreaded Runtime System", Robert
+		Blumofe, Christopher Joerg, Bradley Kuszmaul, C. Leiserson, and Keith Randall,
+		Proceedings of the fifth ACM SIGPLAN symposium on Principles and practice of
+		parallel programming, 1995.
+	 </p>
+
+  </div>
+
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../tbb_userguide/title.htm">Intel® Threading Building Blocks (Intel® TBB) User Guide</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/tbb_userguide/Scalable_Memory_Allocator.htm b/doc/help/tbb_userguide/Scalable_Memory_Allocator.htm
new file mode 100755
index 0000000..88f21fa
--- /dev/null
+++ b/doc/help/tbb_userguide/Scalable_Memory_Allocator.htm
@@ -0,0 +1,66 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="Scalable Memory Allocator">
+<meta name="DC.subject" content="Scalable Memory Allocator">
+<meta name="keywords" content="Scalable Memory Allocator">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/Package_Contents.htm">
+<meta name="DC.Relation" scheme="URI" content="Memory_Allocation.htm#tutorial_Memory_Allocation">
+<meta name="DC.Relation" scheme="URI" content="Which_Dynamic_Libraries_to_Use.htm#tutorial_Which_Dynamic_Libraries_to_Use">
+<meta name="DC.Relation" scheme="URI" content="Automically_Replacing_malloc.htm#tutorial_Automically_Replacing_malloc">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="tutorial_Scalable_Memory_Allocator">
+<link rel="stylesheet" type="text/css" href="../intel_css_styles.css">
+<title>Scalable Memory Allocator</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="tutorial_Scalable_Memory_Allocator">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(1);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="tutorial_Scalable_Memory_Allocator"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Scalable Memory Allocator</h1>
+ 
+   
+  <div> 
+	 <p>Both the debug and release versions of Intel® Threading Building Blocks
+		(Intel® TBB) consists of two dynamic shared libraries, one with general support
+		and the other with a scalable memory allocator. The latter is distinguished by 
+		<samp class="codeph">malloc</samp> in its name. For example, the release versions
+		for Windows* OS are 
+		<samp class="codeph">tbb.dll</samp> and 
+		<span class="filepath">tbbmalloc.dll</span> respectively. Applications may choose
+		to use only the general library, or only the scalable memory allocator, or
+		both. See the links below for more information on memory allocation. 
+	 </p>
+ 
+  </div>
+ 
+  
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../tbb_userguide/Package_Contents.htm">Package Contents</a></div>
+</div>
+<div class="See Also">
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="Memory_Allocation.htm#tutorial_Memory_Allocation">Memory Allocation 
+		  </a></div>
+<div><a href="Which_Dynamic_Libraries_to_Use.htm#tutorial_Which_Dynamic_Libraries_to_Use">Which Dynamic Libraries to Use 
+		  </a></div>
+<div><a href="Automically_Replacing_malloc.htm#tutorial_Automically_Replacing_malloc">Automically Replacing malloc and Other C/C++ Functions for
+			 Dynamic Memory Allocation 
+		  </a></div></div>
+</div> 
+
+</body>
+</html>
diff --git a/doc/help/tbb_userguide/Scheduler_Bypass.htm b/doc/help/tbb_userguide/Scheduler_Bypass.htm
new file mode 100755
index 0000000..269ed20
--- /dev/null
+++ b/doc/help/tbb_userguide/Scheduler_Bypass.htm
@@ -0,0 +1,127 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="Scheduler Bypass">
+<meta name="DC.subject" content="Scheduler Bypass">
+<meta name="keywords" content="Scheduler Bypass">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/Useful_Task_Techniques.htm">
+<meta name="DC.Relation" scheme="URI" content="Continuation_Passing.htm#tutorial_Continuation_Passing">
+<meta name="DC.Relation" scheme="URI" content="Recycling.htm#tutorial_Recycling">
+<meta name="DC.Relation" scheme="URI" content="How_Task_Scheduling_Works.htm#tutorial_How_Task_Scheduling_Works">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="tutorial_Scheduler_Bypass">
+<link rel="stylesheet" type="text/css" href="../intel_css_styles.css">
+<title>Scheduler Bypass</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="tutorial_Scheduler_Bypass">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(1);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="tutorial_Scheduler_Bypass"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Scheduler Bypass</h1>
+ 
+   
+  <div> 
+	 <p>Scheduler bypass is an optimization where you directly specify the next
+		task to run. Continuation-passing style often opens up an opportunity for
+		scheduler bypass. For example, at the end of the continuation-passing example
+		in the previous section, method 
+		<samp class="codeph">execute()</samp> spawns task "a" and returns. By the execution
+		rules in 
+		<strong>How Task Scheduling Works</strong>, that sequence causes the executing
+		thread to do the following: 
+	 </p>
+ 
+	 <ol> 
+		<li> 
+		  <p>Push task "<samp class="codeph">a</samp>" onto the thread's deque. 
+		  </p>
+ 
+		</li>
+ 
+		<li> 
+		  <p>Return from method 
+			 <samp class="codeph">execute()</samp>. 
+		  </p>
+ 
+		</li>
+ 
+		<li> 
+		  <p>Pop task "<samp class="codeph">a</samp>" from the thread's deque, unless it is
+			 stolen by another thread. 
+		  </p>
+ 
+		</li>
+ 
+	 </ol>
+ 
+	 <p>Steps 1 and 3 introduce unnecessary deque operations, or worse yet,
+		permit stealing that can hurt locality without adding significant parallelism.
+		Method 
+		<samp class="codeph">execute()</samp>can avoid these problems by returning a pointer
+		to 
+		<samp class="codeph">a</samp> instead of spawning it. When using the method shown in
+		
+		<strong>How Task Scheduling Works</strong>, 
+		<samp class="codeph">a</samp> becomes the next task executed by the thread.
+		Furthermore, this approach guarantees that the thread executes 
+		<samp class="codeph">a</samp>, not some other thread.
+		
+	 </p>
+ 
+	 <p>The following example shows the changes to the example in the previous
+		section in 
+		<samp class="codeph"><span style="color:blue"><strong>bold font</strong></span></samp>: 
+	 </p>
+ 
+	 <pre>struct FibTask: public task {
+    ...
+    task* execute() {
+        if( n<CutOff ) {
+            *sum = SerialFib(n);
+            return NULL;
+        } else {
+            FibContinuation& c = 
+                *new( allocate_continuation() ) FibContinuation(sum);
+ 
+            FibTask& a = *new( c.allocate_child() ) FibTask(n-2,&c.x);
+            FibTask& b = *new( c.allocate_child() ) FibTask(n-1,&c.y);
+            // Set ref_count to "two children".
+            c.set_ref_count(2);
+            spawn( b );
+            // spawn( a ); This line removed
+            // return NULL; This line removed
+            <span style="color:blue"><strong>return &a;</strong></span>
+        }
+    }
+};</pre> 
+  </div>
+ 
+  
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../tbb_userguide/Useful_Task_Techniques.htm">Useful Task Techniques</a></div>
+</div>
+<div class="See Also">
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="Continuation_Passing.htm#tutorial_Continuation_Passing">Continuation Passing 
+		  </a></div>
+<div><a href="Recycling.htm#tutorial_Recycling">Recycling 
+		  </a></div>
+<div><a href="How_Task_Scheduling_Works.htm#tutorial_How_Task_Scheduling_Works">How Task Scheduling Works 
+		  </a></div></div>
+</div> 
+
+</body>
+</html>
diff --git a/doc/help/tbb_userguide/Simple_Example_Fibonacci_Numbers.htm b/doc/help/tbb_userguide/Simple_Example_Fibonacci_Numbers.htm
new file mode 100755
index 0000000..aff9672
--- /dev/null
+++ b/doc/help/tbb_userguide/Simple_Example_Fibonacci_Numbers.htm
@@ -0,0 +1,247 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="Simple Example: Fibonacci Numbers">
+<meta name="DC.subject" content="Simple Example: Fibonacci Numbers">
+<meta name="keywords" content="Simple Example: Fibonacci Numbers">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/The_Task_Scheduler.htm">
+<meta name="DC.Relation" scheme="URI" content="Scheduler_Bypass.htm#tutorial_Scheduler_Bypass">
+<meta name="DC.Relation" scheme="URI" content="How_Task_Scheduling_Works.htm#tutorial_How_Task_Scheduling_Works">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="tutorial_Simple_Example_Fibonacci_Numbers">
+<link rel="stylesheet" type="text/css" href="../intel_css_styles.css">
+<title>Simple Example: Fibonacci Numbers</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="tutorial_Simple_Example_Fibonacci_Numbers">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(1);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="tutorial_Simple_Example_Fibonacci_Numbers"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Simple Example: Fibonacci Numbers</h1>
+ 
+   
+  <div> 
+	 <p>This section uses computation of the 
+		<var>n</var>th Fibonacci number as an example. This example uses
+		an inefficient method to compute Fibonacci numbers, but it demonstrates the
+		basics of a task library using a simple recursive pattern. To get scalable
+		speedup out of task-based programming, you need to specify a lot of tasks. This
+		is typically done in Intel® TBB with a recursive task pattern. 
+	 </p>
+ 
+	 <p>This is the serial code: 
+	 </p>
+ 
+	 <pre>long SerialFib( long n ) {
+    if( n<2 )
+        return n;
+    else
+        return SerialFib(n-1)+SerialFib(n-2);
+}</pre> 
+	 <p>The top-level code for the parallel task-based version is: 
+	 </p>
+ 
+	 <pre>long ParallelFib( long n ) {
+    long sum;
+    FibTask& a = *new(task::allocate_root()) FibTask(n,&sum);
+    task::spawn_root_and_wait(a);
+    return sum;
+}</pre> 
+	 <p>This code uses a task of type 
+		<samp class="codeph">FibTask</samp> to do the real work. It involves the following
+		distinct steps: 
+	 </p>
+ 
+	 <ol> 
+		<li> 
+		  <p>Allocate space for the task. This is done by a special "overloaded
+			 new" and method 
+	 <span class="option">task::allocate_root</span>. The 
+	 <samp class="codeph">_root</samp> suffix in the name denotes the fact that the task
+	 created has no parent. It is the root of a task tree. Tasks must be allocated
+	 by special methods so that the space can be efficiently recycled when the task
+	 completes. 
+	 </p>
+ 
+	 </li>
+ 
+	 <li> 
+		<p>Construct the task with the constructor 
+		  <samp class="codeph">FibTask(n,&sum)</samp> invoked by 
+		  <samp class="codeph">new</samp>. When the task is run in step 3, it computes the
+		  nth Fibonacci number and stores it into 
+		  <samp class="codeph">*sum</samp>. 
+		</p>
+ 
+	 </li>
+ 
+	 <li> 
+		<p>Run the task to completion with 
+		  <samp class="codeph">task::spawn_root_and_wait</samp>. 
+		</p>
+ 
+	 </li>
+ 
+	 </ol>
+ 
+	 <p>The real work is inside struct 
+		<samp class="codeph">FibTask</samp>. Its definition is shown below. 
+	 </p>
+ 
+	 <pre>class FibTask: public task {
+public:
+    const long n;
+    long* const sum;
+    FibTask( long n_, long* sum_ ) :
+        n(n_), sum(sum_)
+    {}
+    task* execute() {      // Overrides virtual function task::execute
+        if( n<CutOff ) {
+            *sum = SerialFib(n);
+        } else {
+            long x, y;
+            FibTask& a = *new( allocate_child() ) FibTask(n-1,&x);
+            FibTask& b = *new( allocate_child() ) FibTask(n-2,&y);
+            // Set ref_count to 'two children plus one for the wait".
+            set_ref_count(3);
+            // Start b running.
+            spawn( b );
+            // Start a running and wait for all children (a and b).
+            spawn_and_wait_for_all(a);
+            // Do the sum
+            *sum = x+y;
+        }
+        return NULL;
+    }
+};</pre> 
+	 <p>It is a relatively large piece of code, compared to 
+		<samp class="codeph">SerialFib</samp>, because it expresses parallelism without the
+		help of any extensions to standard C++. 
+	 </p>
+ 
+	 <p>Like all tasks scheduled by Intel® TBB, 
+		<samp class="codeph">FibTask</samp> is derived from class 
+		<samp class="codeph">task</samp>. Fields 
+		<samp class="codeph">n</samp> and 
+		<samp class="codeph">sum</samp> hold respectively the input value and pointer to the
+		output. These are copies of the arguments passed to the constructor for 
+		<samp class="codeph">FibTask</samp>. Method 
+		<samp class="codeph">execute</samp> does the actual computation. Every task must
+		provide a definition of 
+		<samp class="codeph">execute</samp> that overrides the pure virtual method 
+	 <span class="option">task::execute</span>. The definition should do the work of the
+	 task, and return either NULL, or a pointer to the next task to run. In this
+	 simple example, it returns NULL. For more information on the non-NULL case see 
+	 <strong>Scheduler Bypass</strong>. 
+	 </p>
+ 
+	 <p>Method 
+	 <span class="option">FibTask::execute()</span>does the following: 
+	 </p>
+ 
+	 <ul type="disc"> 
+		<li> 
+		  <p>Checks if 
+			 <samp class="codeph">n</samp> is so small that serial execution would be faster.
+			 Finding the right value of 
+			 <samp class="codeph">CutOff</samp> requires some experimentation. A value of at
+			 least 16 works well in practice for getting most of the possible speedup out of
+			 this example. Resorting to a sequential algorithm when the problem size becomes
+			 small is characteristic of most divide-and-conquer patterns for parallelism.
+			 Finding the point at which to switch requires experimentation, so be sure to
+			 write your code in a way that allows you to experiment. 
+		  </p>
+ 
+		</li>
+ 
+		<li> 
+		  <p>If the 
+			 <samp class="codeph">else</samp> is taken, the code creates and runs two child
+			 tasks that compute the (<samp class="codeph">n</samp>-1)th and (<samp class="codeph">n</samp>-2)th
+			 Fibonacci numbers. Here, inherited method 
+			 <samp class="codeph">allocate_child()</samp> is used to allocate space for the
+			 task. Remember that the top-level routine 
+			 <samp class="codeph">ParallelFib</samp> used 
+			 <samp class="codeph">allocate_root()</samp> to allocate space for a task. The
+			 difference is that here the task is creating 
+			 <em>child</em> tasks. This relationship is indicated by the choice of
+			 allocation method. 
+		  </p>
+ 
+		</li>
+ 
+		<li> 
+		  <p>Calls 
+			 <samp class="codeph">set_ref_count(3)</samp>. The number 
+			 <samp class="codeph">3</samp> represents the two children and an additional
+			 implicit reference that is required by method 
+			 <samp class="codeph">spawn_and_wait_for_all</samp>. Make sure to call 
+			 <samp class="codeph">set_reference_count(3)</samp> before spawning any children.
+			 Failure to do so results in undefined behavior. The debug version of the
+			 library usually detects and reports this type of error. 
+		  </p>
+ 
+		</li>
+ 
+		<li> 
+		  <p>Spawns two child tasks. Spawning a task indicates to the scheduler
+			 that it can run the task whenever it chooses, possibly in parallel with other
+			 tasks. For more information on the execution policy see 
+			 <strong>How Task Scheduling Works</strong>. The first spawning, by method 
+			 <samp class="codeph">spawn</samp>, returns immediately without waiting for the
+			 child task to start executing. The second spawning, by method 
+			 <samp class="codeph">spawn_and_wait_for_all</samp>, causes the parent to wait
+			 until all currently allocated child tasks are finished. 
+		  </p>
+ 
+		</li>
+ 
+		<li> 
+		  <p>After the two child tasks complete, the parent computes 
+			 <samp class="codeph">x+y</samp> and stores it in 
+			 <samp class="codeph">*sum</samp>. 
+		  </p>
+ 
+		</li>
+ 
+	 </ul>
+ 
+	 <p>At first glance, the parallelism might appear to be limited, because the
+		task creates only two child tasks. The trick here is 
+		<em>recursive parallelism.</em> The two child tasks each create two child
+		tasks, and so on, until 
+		<samp class="codeph">n<Cutoff</samp>. This chain reaction creates a lot of
+		potential parallelism. The advantage of the task scheduler is that it turns
+		this potential parallelism into real parallelism in a very efficient way,
+		because it chooses tasks to run in a way that keeps physical threads busy with
+		relatively little context switching. 
+	 </p>
+ 
+  </div>
+ 
+  
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../tbb_userguide/The_Task_Scheduler.htm">The Task Scheduler</a></div>
+</div>
+<div class="See Also">
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="Scheduler_Bypass.htm#tutorial_Scheduler_Bypass">Scheduler Bypass 
+		  </a></div>
+<div><a href="How_Task_Scheduling_Works.htm#tutorial_How_Task_Scheduling_Works">How Task Scheduling Works 
+		  </a></div></div>
+</div> 
+
+</body>
+</html>
diff --git a/doc/help/tbb_userguide/Summary_of_Containers.htm b/doc/help/tbb_userguide/Summary_of_Containers.htm
new file mode 100755
index 0000000..8c39119
--- /dev/null
+++ b/doc/help/tbb_userguide/Summary_of_Containers.htm
@@ -0,0 +1,40 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="Summary of Containers">
+<meta name="DC.subject" content="Summary of Containers">
+<meta name="keywords" content="Summary of Containers">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/Containers.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="tutorial_Summary_of_Containers">
+<link rel="stylesheet" type="text/css" href="../intel_css_styles.css">
+<title>Summary of Containers</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="tutorial_Summary_of_Containers">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(1);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="tutorial_Summary_of_Containers"><!-- --></a>
+
+
+<h1 class="topictitle1">Summary of Containers</h1>
+
+<div><p>The high-level containers in Intel® Threading Building Blocks enable common idioms for concurrent access. They are suitable for scenarios where the alternative would be a serial container with a lock around it.</p>
+</div>
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../tbb_userguide/Containers.htm">Containers</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/tbb_userguide/Summary_of_Loops_and_Pipelines.htm b/doc/help/tbb_userguide/Summary_of_Loops_and_Pipelines.htm
new file mode 100755
index 0000000..1f8d4e3
--- /dev/null
+++ b/doc/help/tbb_userguide/Summary_of_Loops_and_Pipelines.htm
@@ -0,0 +1,40 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="Summary of Loops and Pipelines">
+<meta name="DC.subject" content="Summary of Loops and Pipelines">
+<meta name="keywords" content="Summary of Loops and Pipelines">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/Working_on_the_Assembly_Line_pipeline.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="tutorial_Summary_of_Loops_and_Pipelines">
+<link rel="stylesheet" type="text/css" href="../intel_css_styles.css">
+<title>Summary of Loops and Pipelines</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="tutorial_Summary_of_Loops_and_Pipelines">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(1);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="tutorial_Summary_of_Loops_and_Pipelines"><!-- --></a>
+
+
+<h1 class="topictitle1">Summary of Loops and Pipelines</h1>
+
+<div><p>The high-level loop and pipeline templates in Intel® Threading Building Blocks give you efficient scalable ways to exploit the power of multi-core chips without having to start from scratch. They let you design your software at a high task-pattern level and not worry about low-level manipulation of threads. Because they are generic, you can customize them to your specific needs. Have fun using these templates to unlock the power of multi-core.</p>
+</div>
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../tbb_userguide/Working_on_the_Assembly_Line_pipeline.htm">Working on the Assembly Line: pipeline</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/tbb_userguide/Task-Based_Programming.htm b/doc/help/tbb_userguide/Task-Based_Programming.htm
new file mode 100755
index 0000000..ad4f7dd
--- /dev/null
+++ b/doc/help/tbb_userguide/Task-Based_Programming.htm
@@ -0,0 +1,156 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="Task-Based Programming">
+<meta name="DC.subject" content="Task-Based Programming">
+<meta name="keywords" content="Task-Based Programming">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/The_Task_Scheduler.htm">
+<meta name="DC.Relation" scheme="URI" content="How_Task_Scheduling_Works.htm#tutorial_How_Task_Scheduling_Works">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="tutorial_Task-Based_Programming">
+<link rel="stylesheet" type="text/css" href="../intel_css_styles.css">
+<title>Task-Based Programming</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="tutorial_Task-Based_Programming">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(1);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="tutorial_Task-Based_Programming"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Task-Based Programming</h1>
+ 
+  
+  <div>
+	 <p>When striving for performance, programming in terms of threads can be a
+		poor way to do multithreaded programming. It is much better to formulate your
+		program in terms of 
+		<em>logical tasks</em>, not threads, for several reasons.
+	 </p>
+ 
+	 <ul type="disc">
+		<li>
+		  <p>Matching parallelism to available resources
+		  </p>
+
+		</li>
+
+		<li>
+		  <p>Faster task startup and shutdown
+		  </p>
+
+		</li>
+
+		<li>
+		  <p>More efficient evaluation order
+		  </p>
+
+		</li>
+
+		<li>
+		  <p>Improved load balancing
+		  </p>
+
+		</li>
+
+		<li>
+		  <p>Higher–level thinking
+		  </p>
+
+		</li>
+
+	 </ul>
+
+	 <p>The following paragraphs explain these points in detail.
+	 </p>
+
+	 <p>The threads you create with a threading package are 
+		<em>logical</em> threads, which map onto the 
+		<em>physical threads</em> of the hardware. For computations that do not
+		wait on external devices, highest efficiency usually occurs when there is
+		exactly one running logical thread per physical thread. Otherwise, there can be
+		inefficiencies from the mismatch<em>. Undersubscription</em> occurs when there
+		are not enough running logical threads to keep the physical threads working. 
+		<em>Oversubscription</em> occurs when there are more running logical
+		threads than physical threads. Oversubscription usually leads to 
+		<em>time sliced</em> execution of logical threads, which incurs overheads
+		as discussed in Appendix A, 
+		<em>Costs of Time Slicing</em>. The scheduler tries to avoid
+		oversubscription, by having one logical thread per physical thread, and mapping
+		tasks to logical threads, in a way that tolerates interference by other threads
+		from the same or other processes.
+	 </p>
+
+	 <p>The key advantage of tasks versus logical threads is that tasks are much
+		
+		<em>lighter weight</em> than logical threads. On Linux systems, starting
+		and terminating a task is about 18 times faster than starting and terminating a
+		thread. On Windows systems, the ratio is more than 100. This is because a
+		thread has its own copy of a lot of resources, such as register state and a
+		stack. On Linux, a thread even has its own process id. A task in Intel®
+		Threading Building Blocks, in contrast, is typically a small routine, and also,
+		cannot be preempted at the task level (though its logical thread can be
+		preempted).
+	 </p>
+
+	 <p>Tasks in Intel® Threading Building Blocks are efficient too because 
+		<em>the scheduler is unfair.</em> Thread schedulers typically distribute
+		time slices in a round-robin fashion. This distribution is called "fair",
+		because each logical thread gets its fair share of time. Thread schedulers are
+		typically fair because it is the safest strategy to undertake without
+		understanding the higher-level organization of a program. In task-based
+		programming, the task scheduler does have some higher-level information, and so
+		can sacrifice fairness for efficiency. Indeed, it often delays starting a task
+		until it can make useful progress. 
+	 </p>
+
+	 <p>The scheduler does 
+		<em>load balancing.</em> In addition to using the right number of threads,
+		it is important to distribute work evenly across those threads. As long as you
+		break your program into enough small tasks, the scheduler usually does a good
+		job of assigning tasks to threads to balance load. With thread-based
+		programming, you are often stuck dealing with load-balancing
+		yourself, which can be tricky to get right. 
+	 </p>
+
+	 <div class="Note"><h3 class="NoteTipHead">
+					Tip</h3>
+		<p>Design your programs to try to create many more tasks than there are
+		  threads, and let the task scheduler choose the mapping from tasks to threads.
+		</p>
+
+	 </div>
+	 <p>Finally, the main advantage of using tasks instead of threads is that
+		they let you think at a higher, task-based, level. With thread-based
+		programming, you are forced to think at the low level of physical threads to
+		get good efficiency, because you have one logical thread per physical thread to
+		avoid undersubscription or oversubscription. You also have to deal with the
+		relatively coarse grain of threads. With tasks, you can concentrate on the
+		logical dependences between tasks, and leave the efficient scheduling to the
+		scheduler.
+	 </p>
+
+  </div>
+
+  
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../tbb_userguide/The_Task_Scheduler.htm">The Task Scheduler</a></div>
+</div>
+<div class="See Also">
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="How_Task_Scheduling_Works.htm#tutorial_How_Task_Scheduling_Works">How Task Scheduling Works
+		  </a></div></div>
+</div>
+
+</body>
+</html>
diff --git a/doc/help/tbb_userguide/Task_Scheduler_Summary.htm b/doc/help/tbb_userguide/Task_Scheduler_Summary.htm
new file mode 100755
index 0000000..9d2048d
--- /dev/null
+++ b/doc/help/tbb_userguide/Task_Scheduler_Summary.htm
@@ -0,0 +1,51 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="Task Scheduler Summary">
+<meta name="DC.subject" content="Task Scheduler Summary">
+<meta name="keywords" content="Task Scheduler Summary">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/The_Task_Scheduler.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="tutorial_Task_Scheduler_Summary">
+<link rel="stylesheet" type="text/css" href="../intel_css_styles.css">
+<title>Task Scheduler Summary</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="tutorial_Task_Scheduler_Summary">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(1);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="tutorial_Task_Scheduler_Summary"><!-- --></a>
+
+
+<h1 class="topictitle1">Task Scheduler Summary</h1>
+
+<div><p>The task scheduler works most efficiently for fork-join parallelism with lots of forks, so that the task-stealing can cause sufficient breadth-first behavior to occupy threads, which then conduct themselves in a depth-first manner until they need to steal more work. </p>
+<p>The task scheduler is not the simplest possible scheduler because it is designed for speed. If you need to use it directly, it may be best to hide it behind a higher-level interface, as the templates <samp class="codeph">parallel_for</samp>, <samp class="codeph">parallel_reduce</samp>, etc. do. Some of the details to remember are:</p>
+
+<ul type="disc"><li><p>Always use <samp class="codeph">new(<var>allocation_method</var>) <var>T</var></samp> to allocate a <samp class="codeph">task</samp>, where <em>allocation_method</em> is one of the allocation methods of class <samp class="codeph">task</samp>. Do not create local or file-scope instances of a <samp class="codeph">task</samp>.</p>
+</li>
+<li><p>All siblings should be allocated before any start running, unless you are using <samp class="codeph">allocate_additional_child_of</samp>.</p>
+</li>
+<li><p>Exploit continuation passing, scheduler bypass, and task recycling to squeeze out maximum performance.</p>
+</li>
+<li><p>If a task completes, and was not marked for re-execution, it is automatically destroyed. Also, its successor’s reference count is decremented, and if it hits zero, the successor is automatically spawned. </p>
+</li>
+</ul>
+</div>
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../tbb_userguide/The_Task_Scheduler.htm">The Task Scheduler</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/tbb_userguide/The_Task_Scheduler.htm b/doc/help/tbb_userguide/The_Task_Scheduler.htm
new file mode 100755
index 0000000..91be95e
--- /dev/null
+++ b/doc/help/tbb_userguide/The_Task_Scheduler.htm
@@ -0,0 +1,64 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="The Task Scheduler">
+<meta name="DC.subject" content="The Task Scheduler">
+<meta name="keywords" content="The Task Scheduler">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/title.htm">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/Task-Based_Programming.htm">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/When_Task-Based_Programming_Is_Inappropriate.htm">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/Simple_Example_Fibonacci_Numbers.htm">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/How_Task_Scheduling_Works.htm">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/Useful_Task_Techniques.htm">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/General_Acyclic_Graphs_of_Tasks.htm">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/Task_Scheduler_Summary.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="tutorial_The_Task_Scheduler">
+<link rel="stylesheet" type="text/css" href="../intel_css_styles.css">
+<title>The Task Scheduler</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="tutorial_The_Task_Scheduler">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(1);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="tutorial_The_Task_Scheduler"><!-- --></a>
+
+
+<h1 class="topictitle1">The Task Scheduler</h1>
+
+<div><p>This section introduces the Intel® Threading Building Blocks (Intel® TBB) <em>task scheduler</em>. The task scheduler is the engine that powers the loop templates. When practical, you should use the loop templates instead of the task scheduler, because the templates hide the complexity of the scheduler. However, if you have an algorithm that does not naturally map onto one of the high-level templates, use the task scheduler. All of the scheduler functionality that is used [...]
+</div>
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../tbb_userguide/title.htm">Intel® Threading Building Blocks (Intel® TBB) User Guide</a></div>
+</div>
+<div>
+<ul class="ullinks">
+<li class="ulchildlink"><a href="../tbb_userguide/Task-Based_Programming.htm">Task-Based Programming</a><br>
+</li>
+<li class="ulchildlink"><a href="../tbb_userguide/When_Task-Based_Programming_Is_Inappropriate.htm">When Task-Based Programming Is Inappropriate</a><br>
+</li>
+<li class="ulchildlink"><a href="../tbb_userguide/Simple_Example_Fibonacci_Numbers.htm">Simple Example: Fibonacci Numbers</a><br>
+</li>
+<li class="ulchildlink"><a href="../tbb_userguide/How_Task_Scheduling_Works.htm">How Task Scheduling Works</a><br>
+</li>
+<li class="ulchildlink"><a href="../tbb_userguide/Useful_Task_Techniques.htm">Useful Task Techniques</a><br>
+</li>
+<li class="ulchildlink"><a href="../tbb_userguide/General_Acyclic_Graphs_of_Tasks.htm">General Acyclic Graphs of Tasks</a><br>
+</li>
+<li class="ulchildlink"><a href="../tbb_userguide/Task_Scheduler_Summary.htm">Task Scheduler Summary</a><br>
+</li>
+</ul>
+</div>
+
+</body>
+</html>
diff --git a/doc/help/tbb_userguide/Throughput_of_pipeline.htm b/doc/help/tbb_userguide/Throughput_of_pipeline.htm
new file mode 100755
index 0000000..70cb31e
--- /dev/null
+++ b/doc/help/tbb_userguide/Throughput_of_pipeline.htm
@@ -0,0 +1,70 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="Throughput of pipeline">
+<meta name="DC.subject" content="Throughput of pipeline">
+<meta name="keywords" content="Throughput of pipeline">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/Working_on_the_Assembly_Line_pipeline.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="tutorial_Throughput_of_pipeline">
+<link rel="stylesheet" type="text/css" href="../intel_css_styles.css">
+<title>Throughput of pipeline</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="tutorial_Throughput_of_pipeline">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(1);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="tutorial_Throughput_of_pipeline"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Throughput of pipeline</h1>
+ 
+  
+  <div>
+	 <p>The throughput of a pipeline is the rate at which tokens flow through
+		it, and is limited by two constraints. First, if a pipeline is run with 
+		<var>N</var> tokens, then obviously there cannot be more than 
+		<var>N</var> operations running in parallel. Selecting the right
+		value of 
+		<var>N</var> may involve some experimentation. Too low a value
+		limits parallelism; too high a value may demand too many resources (for
+		example, more buffers). Second, the throughput of a pipeline is limited by the
+		throughput of the slowest sequential filter. This is true even for a pipeline
+		with no parallel filters. No matter how fast the other filters are, the slowest
+		sequential filter is the bottleneck. So in general you should try to keep the
+		sequential filters fast, and when possible, shift work to the parallel filters.
+	 </p>
+
+	 <p>The text processing example has relatively poor speedup, because the
+		serial filters are limited by the I/O speed of the system. Indeed, even with
+		files that are on a local disk, you are unlikely to see a speedup much more
+		than 2. To really benefit from a pipeline, the parallel filters need to be
+		doing some heavy lifting compared to the serial filters. 
+	 </p>
+
+	 <p>The window size, or sub-problem size for each token, can also limit
+		throughput. Making windows too small may cause overheads to dominate the useful
+		work. Making windows too large may cause them to spill out of cache. A good
+		guideline is to try for a large window size that still fits in cache. You may
+		have to experiment a bit to find a good window size.
+	 </p>
+
+  </div>
+
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../tbb_userguide/Working_on_the_Assembly_Line_pipeline.htm">Working on the Assembly Line: pipeline</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/tbb_userguide/Timing.htm b/doc/help/tbb_userguide/Timing.htm
new file mode 100755
index 0000000..fbbd4e2
--- /dev/null
+++ b/doc/help/tbb_userguide/Timing.htm
@@ -0,0 +1,46 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="Timing">
+<meta name="DC.subject" content="Timing">
+<meta name="keywords" content="Timing">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/title.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="tutorial_Timing">
+<link rel="stylesheet" type="text/css" href="../intel_css_styles.css">
+<title>Timing</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="tutorial_Timing">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(1);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="tutorial_Timing"><!-- --></a>
+
+
+<h1 class="topictitle1">Timing</h1>
+
+<div><p>When measuring the performance of parallel programs, it is usually <em>wall clock</em> time, not CPU time, that matters. The reason is that better parallelization typically increases aggregate CPU time by employing more CPUs. The goal of parallelizing a program is usually to make it run <em>faster</em> in real time.</p>
+<p>The class <samp class="codeph">tick_count</samp> in Intel® Threading Building Blocks (Intel® TBB) provides a simple interface for measuring wall clock time. A <samp class="codeph">tick_count</samp> value obtained from the static method <span class="option">tick_count::now()</span> represents the current absolute time. Subtracting two <samp class="codeph">tick_count</samp> values yields a relative time in <samp class="codeph">tick_count::interval_t</samp>, which you can convert [...]
+<pre>tick_count t0 = tick_count::now();
+... do some work ...
+tick_count t1 = tick_count::now();
+printf("work took %g seconds\n",(t1-t0).seconds());</pre><p>Unlike some timing interfaces, <samp class="codeph">tick_count</samp> is guaranteed to be safe to use across threads. It is valid to subtract <samp class="codeph">tick_count</samp> values that were created by different threads. A <samp class="codeph">tick_count</samp> difference can be converted to seconds.</p>
+<p>The resolution of <samp class="codeph">tick_count</samp> corresponds to the highest resolution timing service on the platform that is valid across threads in the same process. Since the CPU timer registers are <em>not</em> valid across threads on some platforms, this means that the resolution of <span class="option">tick_count</span> can not be guaranteed to be consistent across platforms.</p>
+</div>
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../tbb_userguide/title.htm">Intel® Threading Building Blocks (Intel® TBB) User Guide</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/tbb_userguide/UpgradeDowngrade.htm b/doc/help/tbb_userguide/UpgradeDowngrade.htm
new file mode 100755
index 0000000..ac6904e
--- /dev/null
+++ b/doc/help/tbb_userguide/UpgradeDowngrade.htm
@@ -0,0 +1,94 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="Upgrade/Downgrade">
+<meta name="DC.subject" content="Upgrade/Downgrade">
+<meta name="keywords" content="Upgrade/Downgrade">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/Mutual_Exclusion.htm">
+<meta name="DC.Relation" scheme="URI" content="Lock_Pathologies.htm#tutorial_Lock_Pathologies">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="tutorial_UpgradeDowngrade">
+<link rel="stylesheet" type="text/css" href="../intel_css_styles.css">
+<title>Upgrade/Downgrade</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="tutorial_UpgradeDowngrade">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(1);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="tutorial_UpgradeDowngrade"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Upgrade/Downgrade</h1>
+ 
+  
+  <div>
+	 <p>It is possible to upgrade a reader lock to a writer lock, by using the
+		method 
+		<samp class="codeph">upgrade_to_writer</samp>. Here is an example.
+	 </p>
+
+	 <pre>std::vector<string> MyVector;
+typedef spin_rw_mutex MyVectorMutexType;
+MyVectorMutexType MyVectorMutex;
+ 
+void AddKeyIfMissing( const string& key ) {
+    // Obtain a reader lock on MyVectorMutex
+    MyVectorMutexType::scoped_lock lock(MyVectorMutex,/*is_writer=*/false);
+    size_t n = MyVector.size();
+    for( size_t i=0; i<n; ++i )
+        if( MyVector[i]==key ) return;
+    if( !lock.upgrade_to_writer() )
+        // Check if key was added while lock was temporarily released
+        for( int i=n; i<MyVector.size(); ++i )
+           if(MyVector[i]==key ) return; 
+    vector.push_back(key);
+}</pre>
+	 <p>Note that the vector must sometimes be searched again. This is necessary
+		because 
+		<samp class="codeph">upgrade_to_writer</samp> might have to temporarily release the
+		lock before it can upgrade. Otherwise, deadlock might ensue, as discussed in 
+		<strong>Lock Pathologies</strong>. Method 
+		<samp class="codeph">upgrade_to_writer</samp> returns a 
+		<samp class="codeph">bool</samp> that is true if it successfully upgraded the lock
+		without releasing it, and false if the lock was released temporarily. Thus when
+		
+		<samp class="codeph">upgrade_to_writer</samp> returns false, the code must rerun the
+		search to check that the key was not inserted by another writer. The example
+		presumes that keys are always added to the end of the vector, and that keys are
+		never removed. Because of these assumptions, it does not have to re-search the
+		entire vector, but only the elements beyond those originally searched. The key
+		point to remember is that when 
+		<samp class="codeph">upgrade_to_writer</samp> returns false, any assumptions
+		established while holding a reader lock may have been invalidated, and must be
+		rechecked.
+	 </p>
+
+	 <p>For symmetry, there is a corresponding method 
+		<samp class="codeph">downgrade_to_reader</samp>, though in practice there are few
+		reasons to use it.
+	 </p>
+
+  </div>
+
+  
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../tbb_userguide/Mutual_Exclusion.htm">Mutual Exclusion</a></div>
+</div>
+<div class="See Also">
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="Lock_Pathologies.htm#tutorial_Lock_Pathologies">Lock Pathologies
+		  </a></div></div>
+</div>
+
+</body>
+</html>
diff --git a/doc/help/tbb_userguide/Useful_Task_Techniques.htm b/doc/help/tbb_userguide/Useful_Task_Techniques.htm
new file mode 100755
index 0000000..93d8c24
--- /dev/null
+++ b/doc/help/tbb_userguide/Useful_Task_Techniques.htm
@@ -0,0 +1,58 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="Useful Task Techniques">
+<meta name="DC.subject" content="Useful Task Techniques">
+<meta name="keywords" content="Useful Task Techniques">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/The_Task_Scheduler.htm">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/Recursive_Chain_Reaction_.htm">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/Continuation_Passing.htm">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/Scheduler_Bypass.htm">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/Recycling.htm">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/Empty_Tasks.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="tutorial_Useful_Task_Techniques">
+<link rel="stylesheet" type="text/css" href="../intel_css_styles.css">
+<title>Useful Task Techniques</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="tutorial_Useful_Task_Techniques">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(1);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="tutorial_Useful_Task_Techniques"><!-- --></a>
+
+
+<h1 class="topictitle1">Useful Task Techniques</h1>
+
+<div><p>This section explains programming techniques for making best use of the scheduler.</p>
+</div>
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../tbb_userguide/The_Task_Scheduler.htm">The Task Scheduler</a></div>
+</div>
+<div>
+<ul class="ullinks">
+<li class="ulchildlink"><a href="../tbb_userguide/Recursive_Chain_Reaction_.htm">Recursive Chain Reaction</a><br>
+</li>
+<li class="ulchildlink"><a href="../tbb_userguide/Continuation_Passing.htm">Continuation Passing</a><br>
+</li>
+<li class="ulchildlink"><a href="../tbb_userguide/Scheduler_Bypass.htm">Scheduler Bypass</a><br>
+</li>
+<li class="ulchildlink"><a href="../tbb_userguide/Recycling.htm">Recycling</a><br>
+</li>
+<li class="ulchildlink"><a href="../tbb_userguide/Empty_Tasks.htm">Empty Tasks</a><br>
+</li>
+</ul>
+</div>
+
+</body>
+</html>
diff --git a/doc/help/tbb_userguide/Using_Circular_Buffers.htm b/doc/help/tbb_userguide/Using_Circular_Buffers.htm
new file mode 100755
index 0000000..ac7cee3
--- /dev/null
+++ b/doc/help/tbb_userguide/Using_Circular_Buffers.htm
@@ -0,0 +1,64 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="Using Circular Buffers">
+<meta name="DC.subject" content="Using Circular Buffers">
+<meta name="keywords" content="Using Circular Buffers">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/Working_on_the_Assembly_Line_pipeline.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="tutorial_Using_Circular_Buffers">
+<link rel="stylesheet" type="text/css" href="../intel_css_styles.css">
+<title>Using Circular Buffers</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="tutorial_Using_Circular_Buffers">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(1);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="tutorial_Using_Circular_Buffers"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Using Circular Buffers</h1>
+ 
+  
+  <div>
+	 <p>Circular buffers can sometimes be used to minimize the overhead of
+		allocating and freeing the items passed between pipeline filters. If the first
+		filter to create an item and last filter to consume an item are both 
+		<samp class="codeph">serial_in_order</samp>, the items can be allocated and freed
+		via a circular buffer of size at least 
+		<samp class="codeph">ntoken</samp>, where 
+		<samp class="codeph">ntoken</samp> is the first parameter to 
+		<samp class="codeph">parallel_pipeline</samp>. Under these conditions, no checking
+		of whether an item is still in use is necessary. 
+	 </p>
+
+	 <p>The reason this works is that at most 
+		<samp class="codeph">ntoken</samp> items can be in flight, and items will be freed
+		in the order that they were allocated. Hence by the time the circular buffer
+		wraps around to reallocate an item, the item must have been freed from its
+		previous use in the pipeline. If the first and last filter are 
+		<em>not</em> 
+		<samp class="codeph">serial_in_order</samp>, then you have to keep track of which
+		buffers are currently in use, because buffers might not be retired in the same
+		order they were allocated.
+	 </p>
+
+  </div>
+
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../tbb_userguide/Working_on_the_Assembly_Line_pipeline.htm">Working on the Assembly Line: pipeline</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/tbb_userguide/When_Not_to_Use_Queues.htm b/doc/help/tbb_userguide/When_Not_to_Use_Queues.htm
new file mode 100755
index 0000000..620226a
--- /dev/null
+++ b/doc/help/tbb_userguide/When_Not_to_Use_Queues.htm
@@ -0,0 +1,96 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="When Not to Use Queues">
+<meta name="DC.subject" content="When Not to Use Queues">
+<meta name="keywords" content="When Not to Use Queues">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/Concurrent_Queue_Classes.htm">
+<meta name="DC.Relation" scheme="URI" content="Cook_Until_Done_parallel_do.htm#tutorial_Cook_Until_Done_parallel_do">
+<meta name="DC.Relation" scheme="URI" content="Working_on_the_Assembly_Line_pipeline.htm#tutorial_Working_on_the_Assembly_Line_pipeline">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="tutorial_When_Not_to_Use_Queues">
+<link rel="stylesheet" type="text/css" href="../intel_css_styles.css">
+<title>When Not to Use Queues</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="tutorial_When_Not_to_Use_Queues">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(1);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="tutorial_When_Not_to_Use_Queues"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">When Not to Use Queues</h1>
+ 
+   
+  <div> 
+	 <p>Queues are widely used in parallel programs to buffer consumers from
+		producers. Before using an explicit queue, however, consider using 
+		<samp class="codeph">parallel_do</samp> or 
+		<samp class="codeph">pipeline</samp> instead. These options are often more efficient
+		than queues for the following reasons: 
+	 </p>
+ 
+	 <ul type="disc"> 
+		<li> 
+		  <p>A queue is inherently a bottle neck, because it must maintain
+			 first-in first-out order. 
+		  </p>
+ 
+		</li>
+ 
+		<li> 
+		  <p>A thread that is popping a value may have to wait idly until the
+			 value is pushed. 
+		  </p>
+ 
+		</li>
+ 
+		<li> 
+		  <p>A queue is a passive data structure. If a thread pushes a value, it
+			 could take time until it pops the value, and in the meantime the value (and
+			 whatever it references) becomes "cold" in cache. Or worse yet, another thread
+			 pops the value, and the value (and whatever it references) must be moved to the
+			 other processor. 
+		  </p>
+ 
+		</li>
+ 
+	 </ul>
+ 
+	 <p>In contrast, 
+		<samp class="codeph">parallel_do</samp> and 
+		<samp class="codeph">pipeline</samp> avoid these bottlenecks. Because their
+		threading is implicit, they optimize use of worker threads so that they do
+		other work until a value shows up. They also try to keep items hot in cache.
+		For example, when another work item is added to a 
+		<samp class="codeph">parallel_do</samp>, it is kept local to the thread that added
+		it unless another idle thread can steal it before the "hot" thread processes
+		it. This way, items are more often processed by the hot thread. 
+	 </p>
+ 
+  </div>
+ 
+  
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../tbb_userguide/Concurrent_Queue_Classes.htm">Concurrent Queue Classes</a></div>
+</div>
+<div class="See Also">
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="Cook_Until_Done_parallel_do.htm#tutorial_Cook_Until_Done_parallel_do">Cook Until Done: parallel_do 
+		  </a></div>
+<div><a href="Working_on_the_Assembly_Line_pipeline.htm#tutorial_Working_on_the_Assembly_Line_pipeline">Working on the Assembly Line: pipeline 
+		  </a></div></div>
+</div> 
+
+</body>
+</html>
diff --git a/doc/help/tbb_userguide/When_Task-Based_Programming_Is_Inappropriate.htm b/doc/help/tbb_userguide/When_Task-Based_Programming_Is_Inappropriate.htm
new file mode 100755
index 0000000..257702e
--- /dev/null
+++ b/doc/help/tbb_userguide/When_Task-Based_Programming_Is_Inappropriate.htm
@@ -0,0 +1,40 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="When Task-Based Programming Is Inappropriate">
+<meta name="DC.subject" content="When Task-Based Programming Is Inappropriate">
+<meta name="keywords" content="When Task-Based Programming Is Inappropriate">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/The_Task_Scheduler.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="tutorial_When_Task-Based_Programming_Is_Inappropriate">
+<link rel="stylesheet" type="text/css" href="../intel_css_styles.css">
+<title>When Task-Based Programming Is Inappropriate</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="tutorial_When_Task-Based_Programming_Is_Inappropriate">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(1);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="tutorial_When_Task-Based_Programming_Is_Inappropriate"><!-- --></a>
+
+
+<h1 class="topictitle1">When Task-Based Programming Is Inappropriate</h1>
+
+<div><p>Using the task scheduler is usually the best approach to threading for performance, however there are cases when the task scheduler is not appropriate. The task scheduler is intended for high-performance algorithms composed from non-blocking tasks. It still works if the tasks rarely block. However, if threads block frequently, there is a performance loss when using the task scheduler because while the thread is blocked, it is not working on any tasks. Blocking typically occurs wh [...]
+</div>
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../tbb_userguide/The_Task_Scheduler.htm">The Task Scheduler</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/tbb_userguide/Which_Dynamic_Libraries_to_Use.htm b/doc/help/tbb_userguide/Which_Dynamic_Libraries_to_Use.htm
new file mode 100755
index 0000000..031ed45
--- /dev/null
+++ b/doc/help/tbb_userguide/Which_Dynamic_Libraries_to_Use.htm
@@ -0,0 +1,149 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="Which Dynamic Libraries to Use">
+<meta name="DC.subject" content="Which Dynamic Libraries to Use">
+<meta name="keywords" content="Which Dynamic Libraries to Use">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/Memory_Allocation.htm">
+<meta name="DC.Relation" scheme="URI" content="Scalable_Memory_Allocator.htm#tutorial_Scalable_Memory_Allocator">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="tutorial_Which_Dynamic_Libraries_to_Use">
+<link rel="stylesheet" type="text/css" href="../intel_css_styles.css">
+<title>Which Dynamic Libraries to Use</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="tutorial_Which_Dynamic_Libraries_to_Use">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(1);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="tutorial_Which_Dynamic_Libraries_to_Use"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Which Dynamic Libraries to Use</h1>
+ 
+   
+  <div> 
+	 <p>The template 
+		<samp class="codeph">scalable_allocator<T></samp> requires the Intel® Threading Building Blocks (Intel® TBB)
+		scalable memory allocator library as described in 
+		<strong>Scalable Memory Allocator</strong>. It does not require the Intel® TBB
+		general library, and can be used independently of the rest of Intel® TBB. 
+	 </p>
+ 
+	 <p>The templates 
+		<samp class="codeph">tbb_allocator<T></samp> and 
+		<samp class="codeph">cache_aligned_allocator<T></samp> use the scalable
+		allocator library if it is present otherwise it reverts to using 
+		<samp class="codeph">malloc</samp> and 
+		<samp class="codeph">free</samp>. Thus, you can use these templates even in
+		applications that choose to omit the scalable memory allocator library. 
+	 </p>
+ 
+	 <p>The rest of Intel® Threading Building Blocks can be used with or without
+		the Intel® TBB scalable memory allocator library. 
+	 </p>
+ 
+	 
+<div class="tablenoborder"><a name="tbl15"><!-- --></a><table cellpadding="4" summary="" id="tbl15" width="100%" frame="border" border="1" cellspacing="0" rules="all"><caption><span class="tablecap">Templates and Libraries</span></caption> 
+	 <thead align="left"> 
+		<tr> 
+		  <th class="cellrowborder" valign="top" width="37.77777777777778%" id="d151616e64"> 
+			 <p>Template 
+			 </p>
+ 
+		  </th>
+ 
+		  <th class="cellrowborder" valign="top" width="36.11111111111111%" id="d151616e70"> 
+			 <p>Requirements 
+			 </p>
+ 
+		  </th>
+ 
+		  <th class="cellrowborder" valign="top" width="26.111111111111114%" id="d151616e76"> 
+			 <p>Notes 
+			 </p>
+ 
+		  </th>
+ 
+		</tr>
+</thead>
+ 
+	 <tbody> 
+		<tr> 
+		  <td class="cellrowborder" valign="top" width="37.77777777777778%" headers="d151616e64 "> 
+			 <p><samp class="codeph">scalable_allocator<T></samp> 
+			 </p>
+ 
+		  </td>
+ 
+		  <td class="cellrowborder" valign="top" width="36.11111111111111%" headers="d151616e70 "> 
+			 <p>Intel® Threading Building Blocks scalable memory allocator
+				library. See 
+				<strong>Scalable Memory Allocator</strong>.
+			 </p>
+ 
+		  </td>
+ 
+		  <td class="cellrowborder" valign="top" width="26.111111111111114%" headers="d151616e76 "> 
+			 <p>  
+			 </p>
+ 
+		  </td>
+ 
+		</tr>
+ 
+		<tr> 
+		  <td class="cellrowborder" valign="top" width="37.77777777777778%" headers="d151616e64 "> 
+			 <p><samp class="codeph">tbb_allocator<T></samp> 
+			 </p>
+ 
+			 <p><samp class="codeph">cache_aligned_allocator<T></samp> 
+			 </p>
+ 
+		  </td>
+ 
+		  <td class="cellrowborder" valign="top" width="36.11111111111111%" headers="d151616e70 "> 
+			 <p>  
+			 </p>
+ 
+		  </td>
+ 
+		  <td class="cellrowborder" valign="top" width="26.111111111111114%" headers="d151616e76 "> 
+			 <p>Uses the scalable allocator library if it is present, otherwise it
+				reverts to using 
+				<samp class="codeph">malloc</samp> and 
+				<samp class="codeph">free</samp>. 
+			 </p>
+ 
+		  </td>
+ 
+		</tr>
+ 
+	 </tbody>
+ 
+  </table>
+</div>
+ 
+  </div>
+ 
+  
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../tbb_userguide/Memory_Allocation.htm">Memory Allocation</a></div>
+</div>
+<div class="See Also">
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="Scalable_Memory_Allocator.htm#tutorial_Scalable_Memory_Allocator">Scalable Memory Allocator
+		  </a></div></div>
+</div>
+
+</body>
+</html>
diff --git a/doc/help/tbb_userguide/Why_atomic_T_Has_No_Constructors.htm b/doc/help/tbb_userguide/Why_atomic_T_Has_No_Constructors.htm
new file mode 100755
index 0000000..dc95d95
--- /dev/null
+++ b/doc/help/tbb_userguide/Why_atomic_T_Has_No_Constructors.htm
@@ -0,0 +1,126 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="Why atomic<T> Has No Constructors in C++03 mode">
+<meta name="DC.subject" content="atomic<T> constructors, constructors, atomic<T>">
+<meta name="keywords" content="atomic<T> constructors, constructors, atomic<T>">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/Atomic_Operations.htm">
+<meta name="DC.Relation" scheme="URI" content="Atomic_Operations.htm#tutorial_Atomic_Operations">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="tutorial_Why_atomic_T_Has_No_Constructors">
+<link rel="stylesheet" type="text/css" href="../intel_css_styles.css">
+<title>Why atomic<T> Has No Constructors in C++03 mode</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="tutorial_Why_atomic_T_Has_No_Constructors">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(1);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="tutorial_Why_atomic_T_Has_No_Constructors"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Why atomic<T> Has No Constructors in C++03 mode</h1>
+ 
+   
+  <div> 
+	 <p>In C++03 mode template class 
+		<samp class="codeph">atomic<<var>T</var>></samp> deliberately has no
+		declared constructors, because examples like 
+		<samp class="codeph">GetUniqueInteger</samp>, shown in the Atomic Operations
+		section, are commonly required to work correctly even before all file-scope
+		constructors have been called. If 
+		<samp class="codeph">atomic<<var>T</var>></samp> declared a
+		constructor, a file-scope instance might be initialized after it had been
+		referenced. 
+	 </p>
+ 
+	 <p>As for any C++ class with no declared constructors, an object 
+		<var>X</var> of type 
+		<samp class="codeph">atomic<<var>T</var>></samp> is automatically
+		initialized to zero in the following contexts: 
+	 </p>
+ 
+	 <ul type="disc"> 
+		<li> 
+		  <p><var>X</var> is declared as a file-scope variable or as a
+			 static data member of a class. 
+		  </p>
+ 
+		</li>
+ 
+		<li> 
+		  <p><span class="keyword">x</span> is a member of a class and explicitly listed in
+			 the constructor's initializer list. 
+		  </p>
+ 
+		</li>
+ 
+	 </ul>
+ 
+	 <p>The code below illustrates these points. 
+	 </p>
+ 
+	 <pre>atomic<int> x;  // zero-initialized because it is at file scope
+ 
+class Foo {
+    atomic<int> y;
+    atomic<int> notzeroed;
+    static atomic<int> z;
+public:
+    Foo() :
+        y()     // zero-initializes y.
+    {
+        // notzeroed has unspecified value here.
+    }
+};
+ 
+atomic<int> Foo::z; // zero-initialized because it is a static member</pre> 
+	 <p>In C++11 mode, template class 
+		<samp class="codeph">atomic<<var>T</var>></samp> has two constructors
+		: 
+	 </p>
+ 
+	 <ul type="disc"> 
+		<li> 
+		  <p><samp class="codeph">atomic() = default;</samp> default constructor generated
+			 by compiler. This constructor behaves same as if there were no user defined
+			 constrcutors declared at all. This constructor keeps backward compatibilty with
+			 C++03 mode, e.g. allow zero-initilization of global objects. 
+		  </p>
+ 
+		</li>
+ 
+		<li> 
+		  <p><samp class="codeph">constexpr atomic(<var>T</var> arg);</samp> this
+			 constructor allows initialization of atomic variable during translation time,
+			 only if the argument is itself a translation time constant, otherwise
+			 initialization is performed at run time. 
+		  </p>
+ 
+		</li>
+ 
+	 </ul>
+ 
+  </div>
+ 
+  
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../tbb_userguide/Atomic_Operations.htm">Atomic Operations</a></div>
+</div>
+<div class="See Also">
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="Atomic_Operations.htm#tutorial_Atomic_Operations">Atomic Operations
+		  </a></div></div>
+</div>
+
+</body>
+</html>
diff --git a/doc/help/tbb_userguide/Windows_C_Dynamic_Memory_Interface_Replacement.htm b/doc/help/tbb_userguide/Windows_C_Dynamic_Memory_Interface_Replacement.htm
new file mode 100755
index 0000000..834aa9f
--- /dev/null
+++ b/doc/help/tbb_userguide/Windows_C_Dynamic_Memory_Interface_Replacement.htm
@@ -0,0 +1,58 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="Windows* OS C/C++ Dynamic Memory Interface Replacement">
+<meta name="DC.subject" content="Windows* OS C/C++ Dynamic Memory Interface Replacement">
+<meta name="keywords" content="Windows* OS C/C++ Dynamic Memory Interface Replacement">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/Automically_Replacing_malloc.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="tutorial_Windows_C_Dynamic_Memory_Interface_Replacement">
+<link rel="stylesheet" type="text/css" href="../intel_css_styles.css">
+<title>Windows* OS C/C++ Dynamic Memory Interface Replacement</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="tutorial_Windows_C_Dynamic_Memory_Interface_Replacement">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(1);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="tutorial_Windows_C_Dynamic_Memory_Interface_Replacement"><!-- --></a>
+
+
+<h1 class="topictitle1">Windows* OS C/C++ Dynamic Memory Interface Replacement</h1>
+
+<div><p>Replacements are provided by a proxy library (release version <samp class="codeph">tbbmalloc_proxy.dll</samp>, debug version <samp class="codeph">tbbmalloc_debug_proxy.dll</samp>). Replacement can be done in one of two ways:</p>
+
+<ul type="disc"><li><p>Add the following header to a source code of any binary which is loaded during application startup.</p>
+<pre>#include "tbb/tbbmalloc_proxy.h"</pre></li>
+<li><p>Alternatively, add the following parameters to the linker options for the .exe or .dll file that is loaded during application startup. </p>
+<p>For 32-bit code (note the triple underscore):</p>
+<pre>tbbmalloc_proxy.lib /INCLUDE:"___TBB_malloc_proxy"</pre><p>For 64-bit code (note the double underscore):</p>
+<pre>tbbmalloc_proxy.lib /INCLUDE:"__TBB_malloc_proxy"</pre></li>
+</ul>
+<p>The proxy library implements the following dynamic memory functions:</p>
+
+<ul type="disc"><li><p>Standard C run-time dynamic memory functions: <samp class="codeph">malloc</samp>, <samp class="codeph">calloc</samp>, <samp class="codeph">realloc</samp>, <samp class="codeph">free</samp></p>
+</li>
+<li><p>Global C++ operators <samp class="codeph">new</samp> and <samp class="codeph">delete</samp>. </p>
+</li>
+<li><p>Microsoft* C run-time library function <samp class="codeph">_msize</samp></p>
+</li>
+		</ul>
+<p>A directory with the proxy library and the appropriate scalable memory allocator library must be available for loading. For example, include the directory in <samp class="codeph">%PATH%</samp>.</p>
+</div>
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../tbb_userguide/Automically_Replacing_malloc.htm">Automatically Replacing malloc and Other C/C++ Functions for Dynamic Memory Allocation</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/tbb_userguide/Windows_OS.htm b/doc/help/tbb_userguide/Windows_OS.htm
new file mode 100755
index 0000000..ed4e096
--- /dev/null
+++ b/doc/help/tbb_userguide/Windows_OS.htm
@@ -0,0 +1,638 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="Windows* OS">
+<meta name="DC.subject" content="Windows* OS">
+<meta name="keywords" content="Windows* OS">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/Package_Contents.htm">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/Microsoft_Visual_Studio_Code_Examples.htm">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/Integration_Plug-In_for_Microsoft_Visual_Studio_Projects.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="tutorial_Windows_OS">
+<link rel="stylesheet" type="text/css" href="../intel_css_styles.css">
+<title>Windows* OS</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="tutorial_Windows_OS">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(1);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="tutorial_Windows_OS"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Windows* OS</h1>
+ 
+   
+  <div> 
+	 <p>This section uses <<em>install_dir</em>> to indicate the
+		top-level installation directory. The following table describes the
+		subdirectory structure for Windows* OS, relative to <<em>install_dir</em>>. 
+	 </p>
+ 
+	 
+<div class="tablenoborder"><a name="tbl3"><!-- --></a><table cellpadding="4" summary="" id="tbl3" width="100%" frame="border" border="1" cellspacing="0" rules="all"><caption><span class="tablecap">Intel® Threading Building Blocks Subdirectories 
+	 Windows* OS</span></caption> 
+	 <thead align="left"> 
+		<tr> 
+		  <th class="cellrowborder" valign="top" width="19.433962264150946%" id="d152427e46"> 
+			 <p>Item 
+			 </p>
+ 
+		  </th>
+ 
+		  <th class="cellrowborder" valign="top" width="63.0188679245283%" id="d152427e52"> 
+			 <p>Location 
+			 </p>
+ 
+		  </th>
+ 
+		  <th class="cellrowborder" valign="top" width="17.547169811320753%" id="d152427e58"> 
+			 <p>Environment Variable 
+			 </p>
+ 
+		  </th>
+ 
+		</tr>
+</thead>
+ 
+	 <tbody> 
+		<tr> 
+		  <td class="cellrowborder" valign="top" width="19.433962264150946%" headers="d152427e46 "> 
+			 <p><span class="keyword">Include</span> files 
+			 </p>
+ 
+		  </td>
+ 
+		  <td class="cellrowborder" valign="top" width="63.0188679245283%" headers="d152427e52 "> 
+			 <p><samp class="codeph">include</samp><samp class="codeph">\tbb\*.h</samp> 
+			 </p>
+ 
+		  </td>
+ 
+		  <td class="cellrowborder" valign="top" width="17.547169811320753%" headers="d152427e58 "> 
+			 <p><samp class="codeph">INCLUDE</samp> 
+			 </p>
+ 
+		  </td>
+ 
+		</tr>
+ 
+		<tr> 
+		  <td class="cellrowborder" valign="top" width="19.433962264150946%" headers="d152427e46 "> 
+			 <p><span class="keyword">.lib</span> files 
+			 </p>
+ 
+		  </td>
+ 
+		  <td class="cellrowborder" valign="top" width="63.0188679245283%" headers="d152427e52 "> 
+			 <p><samp class="codeph">lib\<<var>arch</var> >\vc
+				  <<var>vcversion</var> >\<<var>lib</var>
+				  ><<var>variant</var> >.lib</samp> 
+			 </p>
+ 
+		  </td>
+ 
+		  <td class="cellrowborder" valign="top" width="17.547169811320753%" headers="d152427e58 "> 
+			 <p><samp class="codeph">LIB</samp> 
+			 </p>
+ 
+		  </td>
+ 
+		</tr>
+ 
+		<tr> 
+		  <td class="cellrowborder" valign="top" width="19.433962264150946%" headers="d152427e46 "> 
+			 <p><span class="keyword">.dll 
+				</span>files 
+			 </p>
+ 
+		  </td>
+ 
+		  <td class="cellrowborder" valign="top" width="63.0188679245283%" headers="d152427e52 "> 
+			 <p><samp class="codeph">..\redist\ <<var>arch</var>>\tbb\vc
+				  <<var>vcversion</var>> \<<var>lib</var>
+				  ><<var>variant</var> >.dll</samp> 
+			 
+<div class="tablenoborder"><table cellpadding="4" summary="" width="100%" frame="border" border="1" cellspacing="0" rules="all"> 
+				  <thead align="left"> 
+					 <tr> 
+						<th class="cellrowborder" valign="top" width="31.06796116504854%" id="d152427e173"> 
+						  <p><<var>arch</var>> 
+						  </p>
+ 
+						</th>
+ 
+						<th class="cellrowborder" valign="top" width="68.93203883495146%" id="d152427e182"> 
+						  <p>Processor 
+						  </p>
+ 
+						</th>
+ 
+					 </tr>
+</thead>
+ 
+				  <tbody> 
+					 <tr> 
+						<td class="cellrowborder" valign="top" width="31.06796116504854%" headers="d152427e173 "> 
+						  <p>ia32 
+						  </p>
+ 
+						</td>
+ 
+						<td class="cellrowborder" valign="top" width="68.93203883495146%" headers="d152427e182 "> 
+						  <p>Intel® IA-32 processors 
+						  </p>
+ 
+						</td>
+ 
+					 </tr>
+ 
+					 <tr> 
+						<td class="cellrowborder" valign="top" width="31.06796116504854%" headers="d152427e173 "> 
+						  <p>intel64 
+						  </p>
+ 
+						</td>
+ 
+						<td class="cellrowborder" valign="top" width="68.93203883495146%" headers="d152427e182 "> 
+						  <p>Intel® 64 architecture processors 
+						  </p>
+ 
+						</td>
+ 
+					 </tr>
+ 
+				  </tbody>
+ 
+				</table>
+</div>
+ 
+			 </p>
+ 
+			 <p> 
+			 
+<div class="tablenoborder"><table cellpadding="4" summary="" width="100%" frame="border" border="1" cellspacing="0" rules="all"> 
+				  <thead align="left"> 
+					 <tr> 
+						<th class="cellrowborder" valign="top" width="31.715210355987054%" id="d152427e237"> 
+						  <p><<var>vcversion</var>> 
+						  </p>
+ 
+						</th>
+ 
+						<th class="cellrowborder" valign="top" width="68.28478964401295%" id="d152427e246"> 
+						  <p>Environment 
+						  </p>
+ 
+						</th>
+ 
+					 </tr>
+</thead>
+ 
+				  <tbody> 
+					 <tr> 
+						<td class="cellrowborder" valign="top" width="31.715210355987054%" headers="d152427e237 "> 
+						  <p>9 
+						  </p>
+ 
+						</td>
+ 
+						<td class="cellrowborder" valign="top" width="68.28478964401295%" headers="d152427e246 "> 
+						  <p>Microsoft Visual Studio* 2008 
+						  </p>
+ 
+						</td>
+ 
+					 </tr>
+ 
+					 <tr> 
+						<td class="cellrowborder" valign="top" width="31.715210355987054%" headers="d152427e237 "> 
+						  <p>10
+						  </p>
+ 
+						</td>
+ 
+						<td class="cellrowborder" valign="top" width="68.28478964401295%" headers="d152427e246 "> 
+						  <p>Microsoft Visual Studio* 2010 
+						  </p>
+ 
+						</td>
+ 
+					 </tr>
+ 
+					 <tr> 
+						<td class="cellrowborder" valign="top" width="31.715210355987054%" headers="d152427e237 "> 
+						  <p>11 
+						  </p>
+ 
+						</td>
+ 
+						<td class="cellrowborder" valign="top" width="68.28478964401295%" headers="d152427e246 "> 
+						  <p>Microsoft Visual Studio* 2012 
+						  </p>
+ 
+						</td>
+ 
+					 </tr>
+ 
+					 <tr> 
+						<td class="cellrowborder" valign="top" width="31.715210355987054%" headers="d152427e237 "> 
+						  <p>11_ui 
+						  </p>
+ 
+						</td>
+ 
+						<td class="cellrowborder" valign="top" width="68.28478964401295%" headers="d152427e246 "> 
+						  <p>Microsoft Windows Store* applications 
+						  </p>
+ 
+						</td>
+ 
+					 </tr>
+ 
+					 <tr> 
+						<td class="cellrowborder" valign="top" width="31.715210355987054%" headers="d152427e237 "> 
+						  <p>12 
+						  </p>
+ 
+						</td>
+ 
+						<td class="cellrowborder" valign="top" width="68.28478964401295%" headers="d152427e246 "> 
+						  <p>Microsoft Visual Studio* 2013 
+						  </p>
+ 
+						</td>
+ 
+					 </tr>
+ 
+					 <tr> 
+						<td class="cellrowborder" valign="top" width="31.715210355987054%" headers="d152427e237 "> 
+						  <p>_mt 
+						  </p>
+ 
+						</td>
+ 
+						<td class="cellrowborder" valign="top" width="68.28478964401295%" headers="d152427e246 "> 
+						  <p>Independent of Microsoft Visual Studio* version. 
+						  </p>
+ 
+						</td>
+ 
+					 </tr>
+ 
+				  </tbody>
+ 
+				</table>
+</div>
+ 
+			 </p>
+ 
+			 <p> 
+			 
+<div class="tablenoborder"><table cellpadding="4" summary="" width="100%" frame="border" border="1" cellspacing="0" rules="all"> 
+				  <thead align="left"> 
+					 <tr> 
+						<th class="cellrowborder" valign="top" width="41.10032362459547%" id="d152427e362"> 
+						  <p><<var>lib</var>> 
+						  </p>
+ 
+						</th>
+ 
+						<th class="cellrowborder" valign="top" width="58.89967637540453%" id="d152427e371"> 
+						  <p>Version 
+						  </p>
+ 
+						</th>
+ 
+					 </tr>
+</thead>
+ 
+				  <tbody> 
+					 <tr> 
+						<td class="cellrowborder" valign="top" width="41.10032362459547%" headers="d152427e362 "> 
+						  <p><samp class="codeph">tbb</samp> 
+						  </p>
+ 
+						</td>
+ 
+						<td class="cellrowborder" valign="top" width="58.89967637540453%" headers="d152427e371 "> 
+						  <p>General library 
+						  </p>
+ 
+						</td>
+ 
+					 </tr>
+ 
+					 <tr> 
+						<td class="cellrowborder" valign="top" width="41.10032362459547%" headers="d152427e362 "> 
+						  <p><samp class="codeph">tbbmalloc</samp> 
+						  </p>
+ 
+						</td>
+ 
+						<td class="cellrowborder" valign="top" width="58.89967637540453%" headers="d152427e371 "> 
+						  <p>Memory allocator 
+						  </p>
+ 
+						</td>
+ 
+					 </tr>
+ 
+					 <tr> 
+						<td class="cellrowborder" valign="top" width="41.10032362459547%" headers="d152427e362 "> 
+						  <p><samp class="codeph">tbbmalloc_proxy</samp> 
+						  </p>
+ 
+						</td>
+ 
+						<td class="cellrowborder" valign="top" width="58.89967637540453%" headers="d152427e371 "> 
+						  <p>Substitution for default memory allocator 
+						  </p>
+ 
+						</td>
+ 
+					 </tr>
+ 
+					 <tr> 
+						<td class="cellrowborder" valign="top" width="41.10032362459547%" headers="d152427e362 "> 
+						  <p><samp class="codeph">tbb_preview</samp> 
+						  </p>
+ 
+						</td>
+ 
+						<td class="cellrowborder" valign="top" width="58.89967637540453%" headers="d152427e371 "> 
+						  <p>Community preview features library 
+						  </p>
+ 
+						</td>
+ 
+					 </tr>
+ 
+				  </tbody>
+ 
+				</table>
+</div>
+ 
+			 </p>
+ 
+			 <p> 
+			 
+<div class="tablenoborder"><table cellpadding="4" summary="" width="100%" frame="border" border="1" cellspacing="0" rules="all"> 
+				  <thead align="left"> 
+					 <tr> 
+						<th class="cellrowborder" valign="top" width="34.95145631067961%" id="d152427e464"> 
+						  <p><<var>variant</var>> 
+						  </p>
+ 
+						</th>
+ 
+						<th class="cellrowborder" valign="top" width="65.0485436893204%" id="d152427e473"> 
+						  <p>Version 
+						  </p>
+ 
+						</th>
+ 
+					 </tr>
+</thead>
+ 
+				  <tbody> 
+					 <tr> 
+						<td class="cellrowborder" valign="top" width="34.95145631067961%" headers="d152427e464 "> 
+						  <p>(none) 
+						  </p>
+ 
+						</td>
+ 
+						<td class="cellrowborder" valign="top" width="65.0485436893204%" headers="d152427e473 "> 
+						  <p>Release version 
+						  </p>
+ 
+						</td>
+ 
+					 </tr>
+ 
+					 <tr> 
+						<td class="cellrowborder" valign="top" width="34.95145631067961%" headers="d152427e464 "> 
+						  <p><samp class="codeph">_debug</samp> 
+						  </p>
+ 
+						</td>
+ 
+						<td class="cellrowborder" valign="top" width="65.0485436893204%" headers="d152427e473 "> 
+						  <p>Debug version 
+						  </p>
+ 
+						</td>
+ 
+					 </tr>
+ 
+				  </tbody>
+ 
+				</table>
+</div>
+ 
+			 </p>
+ 
+		  </td>
+ 
+		  <td class="cellrowborder" valign="top" width="17.547169811320753%" headers="d152427e58 "> 
+			 <p><samp class="codeph">PATH</samp> 
+			 </p>
+ 
+		  </td>
+ 
+		</tr>
+ 
+		<tr> 
+		  <td class="cellrowborder" valign="top" width="19.433962264150946%" headers="d152427e46 "> 
+			 <p><span class="keyword">.pdb</span> files 
+			 </p>
+ 
+		  </td>
+ 
+		  <td class="cellrowborder" valign="top" width="63.0188679245283%" headers="d152427e52 "> 
+			 <p>Same as corresponding 
+				<samp class="codeph">.dll</samp> file. 
+			 </p>
+ 
+		  </td>
+ 
+		</tr>
+ 
+		<tr> 
+		  <td class="cellrowborder" valign="top" width="19.433962264150946%" headers="d152427e46 "> 
+			 <p>Examples 
+			 </p>
+ 
+		  </td>
+ 
+		  <td class="cellrowborder" valign="top" width="63.0188679245283%" headers="d152427e52 "> 
+			 <p><samp class="codeph">examples\<var><class></var>\*\.</samp> 
+			 </p>
+ 
+		  </td>
+ 
+		  <td class="cellrowborder" valign="top" width="17.547169811320753%" headers="d152427e58 "> 
+			 <p>  
+			 </p>
+ 
+		  </td>
+ 
+		</tr>
+ 
+		<tr> 
+		  <td class="cellrowborder" valign="top" width="19.433962264150946%" headers="d152427e46 "> 
+			 <p>Microsoft Visual Studio Solution File for Example 
+			 </p>
+ 
+		  </td>
+ 
+		  <td class="cellrowborder" valign="top" width="63.0188679245283%" headers="d152427e52 "> 
+			 <p><samp class="codeph">examples\<var><class></var>\*\msvs\*<<var>compiler</var>>.sln</samp>
+				
+			 </p>
+ 
+			 <p>where: 
+			 </p>
+ 
+			 <p><var>class</var> describes the class being demonstrated. 
+			 
+<div class="tablenoborder"><table cellpadding="4" summary="" width="100%" frame="border" border="1" cellspacing="0" rules="all"> 
+				  <thead align="left"> 
+					 <tr> 
+						<th class="cellrowborder" valign="top" width="25.062656641604008%" id="d152427e613"> 
+						  <p><<var>compiler</var>> 
+						  </p>
+ 
+						</th>
+ 
+						<th class="cellrowborder" valign="top" width="74.93734335839599%" id="d152427e622"> 
+						  <p>Version 
+						  </p>
+ 
+						</th>
+ 
+					 </tr>
+</thead>
+ 
+				  <tbody> 
+					 <tr> 
+						<td class="cellrowborder" valign="top" width="25.062656641604008%" headers="d152427e613 "> 
+						  <p><samp class="codeph">cl 
+							 </samp> 
+						  </p>
+ 
+						</td>
+ 
+						<td class="cellrowborder" valign="top" width="74.93734335839599%" headers="d152427e622 "> 
+						  <p>Microsoft* Visual C++* 
+						  </p>
+ 
+						</td>
+ 
+					 </tr>
+ 
+					 <tr> 
+						<td class="cellrowborder" valign="top" width="25.062656641604008%" headers="d152427e613 "> 
+						  <p><samp class="codeph">icl</samp> 
+						  </p>
+ 
+						</td>
+ 
+						<td class="cellrowborder" valign="top" width="74.93734335839599%" headers="d152427e622 "> 
+						  <p>Intel® C++ Compiler 
+						  </p>
+ 
+						</td>
+ 
+					 </tr>
+ 
+				  </tbody>
+ 
+				</table>
+</div>
+ 
+			 </p>
+ 
+		  </td>
+ 
+		  <td class="cellrowborder" valign="top" width="17.547169811320753%" headers="d152427e58 "> 
+			 <p><samp class="codeph"> </samp> 
+			 </p>
+ 
+		  </td>
+ 
+		</tr>
+ 
+	 </tbody>
+ 
+  </table>
+</div>
+ 
+  <p>The last column shows which environment variables are used by the
+	 Microsoft or Intel compilers to find these subdirectories. 
+  </p>
+ 
+  <div class="Note"><h3 class="NoteTipHead">
+					Caution</h3> 
+	 <p>Ensure that the relevant product directories are mentioned by the
+		environment variables; otherwise the compiler might not find the required
+		files. 
+	 </p>
+ 
+  </div> 
+  <div class="Note"><h3 class="NoteTipHead">
+					Caution</h3> 
+	 <p>Windows* OS run-time libraries come in thread-safe and thread-unsafe
+		forms. Using non-thread-safe versions with Intel® TBB may cause undefined
+		results. When using Intel® TBB, be sure to link with the thread-safe versions.
+		The following shows the compiler options for linking with thread-safe versions
+		of C/C++ run-time for 
+		<samp class="codeph">cl</samp> or 
+		<samp class="codeph">icl</samp>: 
+	 <ul type="disc"> 
+		<li>Options for dynamic linking: 
+	 <span class="option">/MDd</span> (debug); 
+	 <span class="option">/MD</span> (release) 
+	 </li>
+ 
+	 <li>Options for static linking: 
+	 <span class="option">/MTd</span> (debug); 
+	 <span class="option">/MT</span> (release) 
+	 </li>
+ 
+	 </ul>
+ 
+	 </p>
+ 
+	 <p>Not using one of these options causes Intel® TBB to report an error
+		during compilation. In all cases, linking to the Intel® TBB library is dynamic.
+		
+	 </p>
+ 
+  </div> 
+  </div>
+ 
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../tbb_userguide/Package_Contents.htm">Package Contents</a></div>
+</div>
+<div>
+<ul class="ullinks">
+<li class="ulchildlink"><a href="../tbb_userguide/Microsoft_Visual_Studio_Code_Examples.htm">Microsoft Visual Studio* Code Examples</a><br>
+</li>
+<li class="ulchildlink"><a href="../tbb_userguide/Integration_Plug-In_for_Microsoft_Visual_Studio_Projects.htm">Integration Plug-In for Microsoft Visual Studio* Projects</a><br>
+</li>
+</ul>
+</div>
+
+</body>
+</html>
diff --git a/doc/help/tbb_userguide/Working_on_the_Assembly_Line_pipeline.htm b/doc/help/tbb_userguide/Working_on_the_Assembly_Line_pipeline.htm
new file mode 100755
index 0000000..c9c113e
--- /dev/null
+++ b/doc/help/tbb_userguide/Working_on_the_Assembly_Line_pipeline.htm
@@ -0,0 +1,432 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="Working on the Assembly Line: pipeline">
+<meta name="DC.subject" content="Working on the Assembly Line: pipeline">
+<meta name="keywords" content="Working on the Assembly Line: pipeline">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/Parallelizing_Complex_Loops.htm">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/Using_Circular_Buffers.htm">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/Throughput_of_pipeline.htm">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/Non-Linear_Pipelines.htm">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/Summary_of_Loops_and_Pipelines.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="tutorial_Working_on_the_Assembly_Line_pipeline">
+<link rel="stylesheet" type="text/css" href="../intel_css_styles.css">
+<title>Working on the Assembly Line: pipeline</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="tutorial_Working_on_the_Assembly_Line_pipeline">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(1);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="tutorial_Working_on_the_Assembly_Line_pipeline"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Working on the Assembly Line: pipeline</h1>
+ 
+   
+  <div> 
+	 <p><em>Pipelining</em> is a common parallel pattern that mimics a traditional
+		manufacturing assembly line. Data flows through a series of pipeline filters
+		and each filter processes the data in some way. Given an incoming stream of
+		data, some of these filters can operate in parallel, and others cannot. For
+		example, in video processing, some operations on frames do not depend on other
+		frames, and so can be done on multiple frames at the same time. On the other
+		hand, some operations on frames require processing prior frames first. 
+	 </p>
+ 
+	 <p>The Intel® Threading Building Blocks (Intel® TBB) classes 
+		<samp class="codeph">pipeline</samp> and 
+		<samp class="codeph">filter</samp> implement the pipeline pattern. A simple text
+		processing example will be used to demonstrate the usage of 
+		<samp class="codeph">pipeline</samp> and 
+		<samp class="codeph">filter</samp> to perform parallel formatting. The example reads
+		a text file, squares each decimal numeral in the text, and writes the modified
+		text to a new file. Below is a picture of the pipeline. 
+	 </p>
+ 
+	 <div class="Note"><h3 class="NoteTipHead">
+					Caution</h3> Because the body object provided to the filters of
+		the 
+		<samp class="codeph">parallel_pipline</samp> might be copied, its 
+		<samp class="codeph">operator()</samp> should not modify the body. Otherwise the
+		modification might or might not become visible to the thread that invoked 
+		<samp class="codeph">parallel_pipeline</samp>, depending upon whether 
+		<samp class="codeph">operator()</samp> is acting on the original or a copy. As a
+		reminder of this nuance, 
+		<samp class="codeph">parallel_pipeline</samp> requires that the body object's 
+		<samp class="codeph">operator()</samp> be declared 
+		<samp class="codeph">const</samp>. 
+	 </div> 
+	 
+<div class="tablenoborder"><table cellpadding="4" summary="" frame="void" border="1" rules="none" cellspacing="2"> 
+		  <tbody> 
+			 <tr> 
+				<td class="noborder" valign="top" width="NaN%"> 
+				  <p>Read chunk<br> from input file 
+				  </p>
+ 
+				</td>
+ 
+				<td class="noborder" valign="top" width="NaN%"><br><img src="Images/image010.jpg" width="31" height="26"><br> 
+				</td>
+ 
+				<td class="noborder" valign="top" width="NaN%"> 
+				  <p>Square numerals 
+					 <br> in chunk 
+				  </p>
+ 
+				</td>
+ 
+				<td class="noborder" valign="top" width="NaN%"><br><img src="Images/image010.jpg" width="31" height="26"><br> 
+				</td>
+ 
+				<td class="noborder" valign="top" width="NaN%"> 
+				  <p>Write chunk 
+					 <br> to output file 
+				  </p>
+ 
+				</td>
+ 
+			 </tr>
+ 
+		  </tbody>
+ 
+		</table>
+</div>
+ 
+	 <p>Assume that the raw file I/O is sequential. The squaring filter can be
+		done in parallel. That is, if you can serially read 
+		<var>n</var> chunks very quickly, you can transform each of the 
+		<var>n</var> chunks in parallel, as long as they are written in
+		the proper order to the output file. Though the raw I/O is sequential, the
+		formatting of input and output can be moved to the middle filter, and thus be
+		parallel. 
+	 </p>
+ 
+	 <p>To amortize parallel scheduling overheads, the filters operate on chunks
+		of text. Each input chunk is approximately 4000 characters. Each chunk is
+		represented by an instance of class 
+		<samp class="codeph">TextSlice</samp>: 
+	 </p>
+ 
+	 <pre>// Holds a slice of text.
+/** Instances *must* be allocated/freed using methods herein, because the C++ declaration
+   represents only the header of a much larger object in memory. */
+class TextSlice {
+    // Pointer to one past last character in sequence
+    char* logical_end;
+    // Pointer to one past last available byte in sequence.
+    char* physical_end;
+public:
+    // Allocate a TextSlice object that can hold up to max_size characters.
+    static TextSlice* allocate( size_t max_size ) {
+        // +1 leaves room for a terminating null character.
+        TextSlice* t = (TextSlice*)tbb::tbb_allocator<char>().allocate( sizeof(TextSlice)+max_size+1 );
+        t->logical_end = t->begin();
+        t->physical_end = t->begin()+max_size;
+        return t;
+    }
+    // Free this TextSlice object
+    void free() {
+        tbb::tbb_allocator<char>().deallocate((char*)this, sizeof(TextSlice)+(physical_end-begin())+1);
+    }
+    // Pointer to beginning of sequence
+    char* begin() {return (char*)(this+1);}
+    // Pointer to one past last character in sequence
+    char* end() {return logical_end;}
+    // Length of sequence
+    size_t size() const {return logical_end-(char*)(this+1);}
+    // Maximum number of characters that can be appended to sequence
+    size_t avail() const {return physical_end-logical_end;}
+    // Append sequence [first,last) to this sequence.
+    void append( char* first, char* last ) {
+        memcpy( logical_end, first, last-first );
+        logical_end += last-first;
+    }
+    // Set end() to given value.
+    void set_end( char* p ) {logical_end=p;}
+};</pre> 
+	 <p>Below is the top-level code for building and running the pipeline. 
+		<samp class="codeph">TextSlice</samp> objects are passed between filters using
+		pointers to avoid the overhead of copying a 
+		<samp class="codeph">TextSlice</samp>. 
+	 </p>
+ 
+	 <pre>void RunPipeline( int ntoken, FILE* input_file, FILE* output_file ) {
+    tbb::parallel_pipeline(
+        ntoken,
+        tbb::make_filter<void,TextSlice*>(
+            tbb::filter::serial_in_order, MyInputFunc(input_file) )
+    &
+        tbb::make_filter<TextSlice*,TextSlice*>(
+            tbb::filter::parallel, MyTransformFunc() )
+    &
+        tbb::make_filter<TextSlice*,void>(
+            tbb::filter::serial_in_order, MyOutputFunc(output_file) ) );
+} </pre> 
+	 <p>The parameter 
+		<samp class="codeph"><em>ntoken</em></samp> to method 
+		<samp class="codeph">parallel_pipeline</samp> controls the level of parallelism.
+		Conceptually, tokens flow through the pipeline. In a serial in-order filter,
+		each token must be processed serially in order. In a parallel filter, multiple
+		tokens can by processed in parallel by the filter. If the number of tokens were
+		unlimited, there might be a problem where the unordered filter in the middle
+		keeps gaining tokens because the output filter cannot keep up. This situation
+		typically leads to undesirable resource consumption by the middle filter. The
+		parameter to method 
+		<samp class="codeph">parallel_pipeline</samp> specifies the maximum number of tokens
+		that can be in flight. Once this limit is reached, the pipeline never creates a
+		new token at the input filter until another token is destroyed at the output
+		filter. 
+	 </p>
+ 
+	 <p>The second parameter specifies the sequence of filters. Each filter is
+		constructed by function 
+		<samp class="codeph">make_filter<</samp><em>inputType</em><samp class="codeph"><em>,</em></samp><em>outputType</em><samp class="codeph">>(</samp><em>mode</em><samp class="codeph">,</samp><em>functor</em>).
+		
+	 </p>
+ 
+	 <ul type="disc"> 
+		<li> 
+		  <p>The 
+			 <em>inputType</em> specifies the type of values input by a filter. For
+			 the input filter, the type is 
+			 <samp class="codeph">void</samp>. 
+		  </p>
+ 
+		</li>
+ 
+		<li> 
+		  <p>The 
+			 <em>outputType</em> specifies the type of values output by a filter.
+			 For the output filter, the type is 
+			 <samp class="codeph">void</samp>. 
+		  </p>
+ 
+		</li>
+ 
+		<li> 
+		  <p>The 
+			 <em>mode</em> specifies whether the filter processes items in parallel,
+			 serial in-order, or serial out-of-order. 
+		  </p>
+ 
+		</li>
+ 
+		<li> 
+		  <p>The 
+			 <em>functor</em> specifies how to produce an output value from an input
+			 value. 
+		  </p>
+ 
+		</li>
+ 
+	 </ul>
+ 
+	 <p>The filters are concatenated with 
+		<samp class="codeph">operator&</samp>. When concatenating two filters, the 
+		<em>outputType</em> of the first filter must match the 
+		<em>inputType</em> of the second filter. 
+	 </p>
+ 
+	 <p>The filters can be constructed and concatenated ahead of time. An
+		equivalent version of the previous example that does this follows: 
+	 </p>
+ 
+	 <pre>void RunPipeline( int ntoken, FILE* input_file, FILE* output_file ) {
+    tbb::filter_t<void,TextSlice*> f1( tbb::filter::serial_in_order, 
+                                       MyInputFunc(input_file) );
+    tbb::filter_t<TextSlice*,TextSlice*> f2(tbb::filter::parallel, 
+                                            MyTransformFunc() );
+    tbb::filter_t<TextSlice*,void> f3(tbb::filter::serial_in_order, 
+                                      MyOutputFunc(output_file) );
+    tbb::filter_t<void,void> f = f1 & f2 & f3;
+    tbb::parallel_pipeline(ntoken,f);
+}</pre> 
+	 <p>The input filter must be 
+		<samp class="codeph">serial_in_order</samp> in this example because the filter reads
+		chunks from a sequential file and the output filter must write the chunks in
+		the same order. All 
+		<samp class="codeph">serial_in_order</samp> filters process items in the same order.
+		Thus if an item arrives at 
+		<samp class="codeph">MyOutputFunc</samp> out of the order established by 
+		<samp class="codeph">MyInputFunc</samp>, the pipeline automatically delays invoking 
+		<samp class="codeph">MyOutputFunc::operator()</samp> on the item until its
+		predecessors are processed. There is another kind of serial filter, 
+		<samp class="codeph">serial_out_of_order</samp>, that does not preserve order. 
+	 </p>
+ 
+	 <p>The middle filter operates on purely local data. Thus any number of
+		invocations of its functor can run concurrently. Hence it is specified as a
+		parallel filter. 
+	 </p>
+ 
+	 <p>The functors for each filter are explained in detail now. The output
+		functor is the simplest. All it has to do is write a 
+		<samp class="codeph">TextSlice</samp> to a file and free the 
+		<samp class="codeph">TextSlice</samp>. 
+	 </p>
+ 
+	 <pre>// Functor that writes a TextSlice to a file.
+class MyOutputFunc {
+    FILE* my_output_file;
+public:
+    MyOutputFunc( FILE* output_file );
+    void operator()( TextSlice* item ) const;
+};
+ 
+MyOutputFunc::MyOutputFunc( FILE* output_file ) :
+    my_output_file(output_file)
+{
+}
+ 
+void MyOutputFunc::operator()( TextSlice* out ) const {
+    size_t n = fwrite( out->begin(), 1, out->size(), my_output_file );
+    if( n!=out->size() ) {
+        fprintf(stderr,"Can't write into file '%s'\n", OutputFileName);
+        exit(1);
+    }
+    out->free();
+} </pre> 
+	 <p>Method 
+		<samp class="codeph">operator()</samp> processes a 
+		<samp class="codeph">TextSlice</samp>. The parameter 
+		<samp class="codeph">out</samp> points to the 
+		<samp class="codeph">TextSlice</samp> to be processed. Since it is used for the last
+		filter of the pipeline, it returns 
+		<samp class="codeph">void</samp>. 
+	 </p>
+ 
+	 <p>The functor for the middle filter is similar, but a bit more complex. It
+		returns a pointer to the 
+		<samp class="codeph">TextSlice</samp> that it produces. 
+	 </p>
+ 
+	 <pre>// Functor that changes each decimal number to its square.
+class MyTransformFunc {
+public:
+    TextSlice* operator()( TextSlice* input ) const;
+};
+
+TextSlice* MyTransformFunc::operator()( TextSlice* input ) const {
+    // Add terminating null so that strtol works right even if number is at end of the input.
+    *input->end() = '\0';
+    char* p = input->begin();
+    TextSlice* out = TextSlice::allocate( 2*MAX_CHAR_PER_INPUT_SLICE );
+    char* q = out->begin();
+    for(;;) {
+        while( p<input->end() && !isdigit(*p) )
+            *q++ = *p++;
+        if( p==input->end() )
+            break;
+        long x = strtol( p, &p, 10 );
+        // Note: no overflow checking is needed here, as we have twice the
+        // input string length, but the square of a non-negative integer n
+        // cannot have more than twice as many digits as n.
+        long y = x*x;
+        sprintf(q,"%ld",y);
+        q = strchr(q,0);
+    }
+    out->set_end(q);
+    input->free();
+    return out;
+} </pre> 
+	 <p>The input functor is the most complicated, because it has to ensure that
+		no numeral crosses a boundary. When it finds what could be a numeral crossing
+		into the next slice, it copies the partial numeral to the next slice.
+		Furthermore, it has to indicate when the end of input is reached. It does this
+		by invoking method 
+		<samp class="codeph">stop()</samp> on a special argument of type 
+		<samp class="codeph">flow_control</samp>. This idiom is required for any functor
+		used for the first filter of a pipline. It is shown in 
+		<samp class="codeph"><span style="color:blue"><strong>bold font</strong></span></samp> in
+		the following code for the functor: 
+	 </p>
+ 
+	 <pre>TextSlice* next_slice = NULL;
+
+class MyInputFunc {
+public:
+    MyInputFunc( FILE* input_file_ );
+    MyInputFunc( const MyInputFunc& f ) : input_file(f.input_file) { }
+    ~MyInputFunc();
+    TextSlice* operator()( tbb::flow_control& fc ) const;
+private:
+    FILE* input_file;
+};
+ 
+MyInputFunc::MyInputFunc( FILE* input_file_ ) :
+    input_file(input_file_) { }
+ 
+MyInputFunc::~MyInputFunc() {
+}
+ 
+TextSlice* MyInputFunc::operator()( <span style="color:blue"><strong>tbb::flow_control& fc</strong></span> ) const {
+    // Read characters into space that is available in the next slice.
+    if( !next_slice )
+        next_slice = TextSlice::allocate( MAX_CHAR_PER_INPUT_SLICE );
+    size_t m = next_slice->avail();
+    size_t n = fread( next_slice->end(), 1, m, input_file );
+    if( !n && next_slice->size()==0 ) {
+        // No more characters to process
+        <span style="color:blue"><strong>fc.stop()</strong></span>;
+        return NULL;
+    } else {
+        // Have more characters to process.
+        TextSlice* t = next_slice;
+        next_slice = TextSlice::allocate( MAX_CHAR_PER_INPUT_SLICE );
+        char* p = t->end()+n;
+        if( n==m ) {
+            // Might have read partial number.  
+            // If so, transfer characters of partial number to next slice.
+            while( p>t->begin() && isdigit(p[-1]) )
+                --p;
+            assert(p>t->begin(),"Number too large to fit in buffer.\n");
+            next_slice->append( p, t->end()+n );
+        }
+        t->set_end(p);
+        return t;
+    }
+}</pre> 
+	 <p>The copy constructor must be defined because the functor is copied when
+		the filter_t is built from the functor, and again when the pipeline runs. 
+	 </p>
+ 
+	 <p>The 
+		<samp class="codeph">parallel_pipeline</samp> syntax is new in Intel® TBB 3.0. The
+		directory 
+		<samp class="codeph">examples/pipeline/square</samp> contains the complete code for
+		the squaring example in an older lower-level syntax where the filters are
+		defined via inheritance. The Reference manual describes both syntaxes. 
+	 </p>
+ 
+  </div>
+ 
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../tbb_userguide/Parallelizing_Complex_Loops.htm">Parallelizing Complex Loops</a></div>
+</div>
+<div>
+<ul class="ullinks">
+<li class="ulchildlink"><a href="../tbb_userguide/Using_Circular_Buffers.htm">Using Circular Buffers</a><br>
+</li>
+<li class="ulchildlink"><a href="../tbb_userguide/Throughput_of_pipeline.htm">Throughput of pipeline</a><br>
+</li>
+<li class="ulchildlink"><a href="../tbb_userguide/Non-Linear_Pipelines.htm">Non-Linear Pipelines</a><br>
+</li>
+<li class="ulchildlink"><a href="../tbb_userguide/Summary_of_Loops_and_Pipelines.htm">Summary of Loops and Pipelines</a><br>
+</li>
+</ul>
+</div>
+
+</body>
+</html>
diff --git a/doc/help/tbb_userguide/appendix_A.htm b/doc/help/tbb_userguide/appendix_A.htm
new file mode 100755
index 0000000..b934864
--- /dev/null
+++ b/doc/help/tbb_userguide/appendix_A.htm
@@ -0,0 +1,86 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="Appendix A Costs of Time Slicing">
+<meta name="DC.subject" content="Appendix A Costs of Time Slicing">
+<meta name="keywords" content="Appendix A Costs of Time Slicing">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/title.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="tutorial_appendix_A">
+<link rel="stylesheet" type="text/css" href="../intel_css_styles.css">
+<title>Appendix A Costs of Time Slicing</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="tutorial_appendix_A">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(1);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="tutorial_appendix_A"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">Appendix A Costs of Time Slicing</h1>
+ 
+  
+  <div>
+	 <p>Time slicing enables there to be more logical threads than physical
+		threads. Each logical thread is serviced for a 
+		<em>time slice</em> by a physical thread. If a thread runs longer than a
+		time slice, as most do, it relinquishes the physical thread until it gets
+		another turn. This appendix details the costs incurred by time slicing.
+	 </p>
+
+	 <p>The most obvious is the time for 
+		<em>context switching</em> between logical threads. Each context switch
+		requires that the processor save all its registers for the previous logical
+		thread that it was executing, and load its registers for the next logical
+		thread that it runs. 
+	 </p>
+
+	 <p>A more subtle cost is 
+		<em>cache cooling</em>. Processors keep recently accessed data in cache
+		memory, which is very fast, but also relatively small compared to main memory.
+		When the processor runs out of cache memory, it has to evict items from cache
+		and put them back into main memory. Typically, it chooses the least recently
+		used items in the cache. (The reality of set-associative caches is a bit more
+		complicated, but this is not a cache primer.) When a logical thread gets its
+		time slice, as it references a piece of data for the first time, this data will
+		be pulled into cache, taking hundreds of cycles. If it is referenced frequently
+		enough to not be evicted, each subsequent reference will find it in cache, and
+		only take a few cycles. Such data is called "hot in cache". Time slicing undoes
+		this, because if a thread A finishes its time slice, and subsequently thread B
+		runs on the same physical thread, B will tend to evict data that was hot in
+		cache for A, unless both threads need the data. When thread A gets its next
+		time slice, it will need to reload evicted data, at the cost of hundreds of
+		cycles for each cache miss. Or worse yet, the next time slice for thread A may
+		be on a different physical thread that has a different cache altogether.
+	 </p>
+
+	 <p>Another cost is 
+		<em>lock preemption.</em> This happens if a thread acquires a lock on a
+		resource, and its time slice runs out before it releases the lock. No matter
+		how short a time the thread intended to hold the lock, it is now going to hold
+		it for at least as long as it takes for its next turn at a time slice to come
+		up. Any other threads waiting on the lock either pointlessly busy-wait, or lose
+		the rest of their time slice. The effect is called 
+		<em>convoying</em>, because the threads end up "bumper to bumper" waiting
+		for the preempted thread in front to resume driving. 
+	 </p>
+
+  </div>
+
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../tbb_userguide/title.htm">Intel® Threading Building Blocks (Intel® TBB) User Guide</a></div>
+</div>
+<div></div>
+
+</body>
+</html>
diff --git a/doc/help/tbb_userguide/appendix_B.htm b/doc/help/tbb_userguide/appendix_B.htm
new file mode 100755
index 0000000..89be74d
--- /dev/null
+++ b/doc/help/tbb_userguide/appendix_B.htm
@@ -0,0 +1,80 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="Appendix B Mixing With Other Threading Packages">
+<meta name="DC.subject" content="Appendix B Mixing With Other Threading Packages">
+<meta name="keywords" content="Appendix B Mixing With Other Threading Packages">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/title.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="tutorial_appendix_B">
+<link rel="stylesheet" type="text/css" href="../intel_css_styles.css">
+<title>Appendix B Mixing With Other Threading Packages</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="tutorial_appendix_B">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(1);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="tutorial_appendix_B"><!-- --></a>
+
+
+<h1 class="topictitle1">Appendix B Mixing With Other Threading Packages</h1>
+
+<div><p>Intel® Threading Building Blocks (Intel® TBB) can be mixed with other threading packages. No special effort is required to use any part of Intel® TBB with other threading packages.<a href="#ftn9"><sup><sup>[9]</sup></sup></a></p>
+<p>Here is an example that parallelizes an outer loop with OpenMP and an inner loop with Intel® Threading Building Blocks. </p>
+
+<pre>int M, N;
+ 
+struct InnerBody {
+    ...
+};
+ 
+void TBB_NestedInOpenMP() {
+#pragma omp parallel
+    {
+#pragma omp for
+        for( int i=0; i<M; ++ ) {
+            parallel_for( blocked_range<int>(0,N,10), InnerBody(i) );
+        }
+    }
+}</pre>
+<p>The details of <samp class="codeph">InnerBody</samp> are omitted for brevity. The <samp class="codeph">#pragma omp parallel</samp> causes the OpenMP to create a team of threads, and each thread executes the block statement associated with the pragma. The <samp class="codeph">#pragma omp for</samp> indicates that the compiler should use the previously created thread team to execute the loop in parallel.</p>
+<p>Here is the same example written using POSIX* Threads.</p>
+
+<pre>int M, N;
+ 
+struct InnerBody {
+    ...
+};
+ 
+void* OuterLoopIteration( void* args ) {
+    int i = (int)args;
+    parallel_for( blocked_range<int>(0,N,10), InnerBody(i) );
+}
+ 
+void TBB_NestedInPThreads() {
+    std::vector<pthread_t> id( M );
+    // Create thread for each outer loop iteration
+    for( int i=0; i<M; ++i )
+        pthread_create( &id[i], NULL, OuterLoopIteration, NULL );
+    // Wait for outer loop threads to finish
+    for( int i=0; i<M; ++i )
+        pthread_join( &id[i], NULL );
+} </pre>
+</div>
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../tbb_userguide/title.htm">Intel® Threading Building Blocks (Intel® TBB) User Guide</a></div>
+</div>
+<div></div>
+<p class="tfootnote"><a id="ftn9"><sup>[9]</sup></a>   Intel® TBB 2.1 required creating a <samp class="codeph">tbb::task_scheduler_init</samp> object in each thread that invokes the task scheduler or a parallel algorithm. Intel® TBB 2.2 and later versions automatically create the task scheduler.  </p>
+</body>
+</html>
diff --git a/doc/help/tbb_userguide/concurrent_hash_map.htm b/doc/help/tbb_userguide/concurrent_hash_map.htm
new file mode 100755
index 0000000..ea739d7
--- /dev/null
+++ b/doc/help/tbb_userguide/concurrent_hash_map.htm
@@ -0,0 +1,112 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="concurrent_hash_map">
+<meta name="DC.subject" content="concurrent_hash_map">
+<meta name="keywords" content="concurrent_hash_map">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/Containers.htm">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/More_on_HashCompare.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="tutorial_concurrent_hash_map">
+<link rel="stylesheet" type="text/css" href="../intel_css_styles.css">
+<title>concurrent_hash_map</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="tutorial_concurrent_hash_map">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(1);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="tutorial_concurrent_hash_map"><!-- --></a>
+
+
+<h1 class="topictitle1">concurrent_hash_map</h1>
+
+<div><p>A <samp class="codeph">concurrent_hash_map<<var>Key</var>, <var>T</var>, <var>HashCompare</var> ></samp> is a hash table that permits concurrent accesses. The table is a map from a key to a type <var>T</var>. The traits type <span class="keyword">HashCompare</span> defines how to hash a key and how to compare two keys. </p>
+<p>The following example builds a <samp class="codeph">concurrent_hash_map</samp> where the keys are strings and the corresponding data is the number of times each string occurs in the array <samp class="codeph">Data</samp>. </p>
+
+<pre>#include "tbb/concurrent_hash_map.h"
+#include "tbb/blocked_range.h"
+#include "tbb/parallel_for.h"
+#include <string>
+ 
+using namespace tbb;
+using namespace std;
+ 
+// Structure that defines hashing and comparison operations for user's type.
+struct MyHashCompare {
+    static size_t hash( const string& x ) {
+        size_t h = 0;
+        for( const char* s = x.c_str(); *s; ++s )
+            h = (h*17)^*s;
+        return h;
+    }
+    //! True if strings are equal
+    static bool equal( const string& x, const string& y ) {
+        return x==y;
+    }
+};
+ 
+// A concurrent hash table that maps strings to ints.
+typedef concurrent_hash_map<string,int,MyHashCompare> StringTable;
+ 
+// Function object for counting occurrences of strings.
+struct Tally {
+    StringTable& table;
+    Tally( StringTable& table_ ) : table(table_) {}
+    void operator()( const blocked_range<string*> range ) const {
+        for( string* p=range.begin(); p!=range.end(); ++p ) {
+            StringTable::accessor a;
+            table.insert( a, *p );
+            a->second += 1;
+        }
+    }
+};
+ 
+const size_t N = 1000000;
+ 
+string Data[N];
+ 
+void CountOccurrences() {
+    // Construct empty table.
+    StringTable table;
+ 
+    // Put occurrences into the table
+    parallel_for( blocked_range<string*>( Data, Data+N, 1000 ),
+                  Tally(table) );
+ 
+    // Display the occurrences
+    for( StringTable::iterator i=table.begin(); i!=table.end(); ++i )
+        printf("%s %d\n",i->first.c_str(),i->second);
+}</pre>
+<p>A <samp class="codeph">concurrent_hash_map</samp> acts as a container of elements of type <span class="option">std::pair</span><samp class="codeph"><const <var>Key</var>,<var>T</var>></samp>. Typically, when accessing a container element, you are interested in either updating it or reading it. The template class <samp class="codeph">concurrent_hash_map</samp> supports these two purposes respectively with the classes <samp class="codeph">accessor</samp> and <samp class="codeph">c [...]
+<p>The methods <samp class="codeph">find</samp> and <samp class="codeph">insert</samp> take an <samp class="codeph">accessor</samp> or <samp class="codeph">const_accessor</samp> as an argument. The choice tells <samp class="codeph">concurrent_hash_map</samp> whether you are asking for <em>update</em> or <em>read-only</em> access. Once the method returns, the access lasts until the <samp class="codeph">accessor</samp> or <samp class="codeph">const_accessor</samp> is destroyed. Because hav [...]
+
+<pre>        StringTable accessor a;
+        for( string* p=range.begin(); p!=range.end(); ++p ) {
+            table.insert( a, *p );
+            a->second += 1;
+            a.release();
+        }</pre>
+<p>The method <samp class="codeph">remove(key)</samp> can also operate concurrently. It implicitly requests write access. Therefore before removing the key, it waits on any other extant accesses on <samp class="codeph">key</samp>.</p>
+</div>
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../tbb_userguide/Containers.htm">Containers</a></div>
+</div>
+<div>
+<ul class="ullinks">
+<li class="ulchildlink"><a href="../tbb_userguide/More_on_HashCompare.htm">More on HashCompare</a><br>
+</li>
+</ul>
+</div>
+
+</body>
+</html>
diff --git a/doc/help/tbb_userguide/concurrent_vector.htm b/doc/help/tbb_userguide/concurrent_vector.htm
new file mode 100755
index 0000000..7f571e5
--- /dev/null
+++ b/doc/help/tbb_userguide/concurrent_vector.htm
@@ -0,0 +1,127 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="concurrent_vector">
+<meta name="DC.subject" content="concurrent_vector">
+<meta name="keywords" content="concurrent_vector">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/Containers.htm">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/Advanced_Idiom_Waiting_on_an_Element.htm">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="tutorial_concurrent_vector">
+<link rel="stylesheet" type="text/css" href="../intel_css_styles.css">
+<title>concurrent_vector</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="tutorial_concurrent_vector">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(1);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="tutorial_concurrent_vector"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">concurrent_vector</h1>
+ 
+  
+  <div>
+	 <p><samp class="codeph">A concurrent_vector<<var>T</var>></samp> is a
+		dynamically growable array of 
+		<var>T</var>. It is safe to grow a 
+		<samp class="codeph">concurrent_vector</samp> while other threads are also operating
+		on elements of it, or even growing it themselves. For safe concurrent growing, 
+		<samp class="codeph">concurrent_vector</samp> has three methods that support common
+		uses of dynamic arrays: 
+		<samp class="codeph">push_back</samp>, 
+		<samp class="codeph">grow_by</samp>, and 
+		<samp class="codeph">grow_to_at_least</samp>. 
+	 </p>
+
+	 <p>Method 
+		<samp class="codeph">push_back(<var>x</var>)</samp> safely appends x to the
+		array. Method 
+		<samp class="codeph">grow_by(<var>n</var>)</samp> safely appends 
+		<samp class="codeph"><var>n</var></samp> consecutive elements initialized
+		with 
+		<samp class="codeph"><var>T</var>()</samp>. Both methods return an iterator
+		pointing to the first appended element. Each element is initialized with 
+		<samp class="codeph"><var>T</var>()</samp>. So for example, the following
+		routine safely appends a C string to a shared vector:
+	 </p>
+
+<pre>void Append( concurrent_vector<char>& vector, const char* string ) {
+    size_t n = strlen(string)+1;
+    std::copy( string, string+n, vector.grow_by(n) );
+}</pre>
+	 <p>The related method 
+		<samp class="codeph">grow_to_at_least(<var>n</var>)</samp>grows a vector to
+		size 
+		<var>n</var> if it is shorter. Concurrent calls to the growth
+		methods do not necessarily return in the order that elements are appended to
+		the vector.
+	 </p>
+
+	 <p>Method 
+		<samp class="codeph">size()</samp> returns the number of elements in the vector,
+		which may include elements that are still undergoing concurrent construction by
+		methods 
+		<samp class="codeph">push_back</samp>, 
+		<samp class="codeph">grow_by,</samp> or 
+		<samp class="codeph">grow_to_at_least</samp>. The example uses 
+	 <span class="option">std::copy</span> and iterators, not 
+	 <samp class="codeph">strcpy and pointers</samp>, because elements in a 
+	 <samp class="codeph">concurrent_vector</samp> might not be at consecutive addresses.
+	 It is safe to use the iterators while the 
+	 <samp class="codeph">concurrent_vector</samp> is being grown, as long as the iterators
+	 never go past the current value of 
+	 <samp class="codeph">end()</samp>. However, the iterator may reference an element
+	 undergoing concurrent construction. You must synchronize construction and
+	 access.
+	 </p>
+
+	 <p>A 
+		<samp class="codeph">concurrent_vector<<var>T</var>></samp> never
+		moves an element until the array is cleared, which can be an advantage over the
+		STL 
+	 <span class="option">std::vector</span> even for single-threaded code. However, 
+	 <samp class="codeph">concurrent_vector</samp> does have more overhead than 
+	 <span class="option">std::vector</span>. Use 
+	 <samp class="codeph">concurrent_vector</samp> only if you really need the ability to
+	 dynamically resize it while other accesses are (or might be) in flight, or
+	 require that an element never move.
+	 </p>
+
+	 <div class="Note"><h3 class="NoteTipHead">
+					Caution</h3>
+		<p>Operations on 
+		  <samp class="codeph">concurrent_vector</samp> are concurrency safe with respect to
+		  
+		  <em>growing</em>, not for clearing or destroying a vector. Never invoke
+		  method 
+		  <samp class="codeph">clear()</samp> if there are other operations in flight on the
+		  
+		  <samp class="codeph">concurrent_vector</samp>.
+		</p>
+
+	 </div>
+  </div>
+
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../tbb_userguide/Containers.htm">Containers</a></div>
+</div>
+<div>
+<ul class="ullinks">
+<li class="ulchildlink"><a href="../tbb_userguide/Advanced_Idiom_Waiting_on_an_Element.htm">Advanced Idiom: Waiting on an Element</a><br>
+</li>
+</ul>
+</div>
+
+</body>
+</html>
diff --git a/doc/help/tbb_userguide/parallel_for.htm b/doc/help/tbb_userguide/parallel_for.htm
new file mode 100755
index 0000000..74427f4
--- /dev/null
+++ b/doc/help/tbb_userguide/parallel_for.htm
@@ -0,0 +1,207 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="parallel_for">
+<meta name="DC.subject" content="parallel_for">
+<meta name="keywords" content="parallel_for">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/Parallelizing_Simple_Loops.htm">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/Lambda_Expressions.htm">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/Automatic_Chunking.htm">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/Controlling_Chunking.htm">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/Bandwidth_and_Cache_Affinity.htm">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/Partitioner_Summary.htm">
+<meta name="DC.Relation" scheme="URI" content="Advanced_Topic_Other_Kinds_of_Iteration_Spaces.htm#tutorial_Advanced_Topic_Other_Kinds_of_Iteration_Spaces">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="tutorial_parallel_for">
+<link rel="stylesheet" type="text/css" href="../intel_css_styles.css">
+<title>parallel_for</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="tutorial_parallel_for">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(1);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="tutorial_parallel_for"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">parallel_for</h1>
+ 
+   
+  <div> 
+	 <p>Suppose you want to apply a function 
+		<samp class="codeph">Foo</samp> to each element of an array, and it is safe to
+		process each element concurrently. Here is the sequential code to do this: 
+	 </p>
+ 
+	 <pre>void SerialApplyFoo( float a[], size_t n ) {
+    for( size_t i=0; i!=n; ++i )
+        Foo(a[i]);
+}</pre> 
+	 <p>The iteration space here is of type 
+		<samp class="codeph">size_t</samp>, and goes from 
+		<samp class="codeph">0</samp> to 
+		<samp class="codeph">n-1</samp>. The template function 
+	 <span class="option">tbb::parallel_for</span> breaks this iteration space into chunks,
+	 and runs each chunk on a separate thread. The first step in parallelizing this
+	 loop is to convert the loop body into a form that operates on a chunk. The form
+	 is an STL-style function object, called the 
+	 <em>body</em> object, in which 
+	 <samp class="codeph">operator()</samp> processes a chunk. The following code declares
+	 the body object. The extra code required for Intel® Threading Building Blocks
+	 is shown in 
+	 <samp class="codeph"><span style="color:blue"><strong>bold font</strong></span></samp>. 
+	 </p>
+ 
+	 <pre><span style="color:blue"><strong>#include "tbb/tbb.h</strong>"</span>
+ 
+<span style="color:blue"><strong>using namespace tbb;</strong></span>
+ 
+<span style="color:blue"><strong>class ApplyFoo {</strong></span>
+    <span style="color:blue"><strong>float *const my_a;</strong></span>
+<span style="color:blue"><strong>public:</strong></span>
+    <span style="color:blue"><strong>void operator()( const blocked_range<size_t>& r ) const {</strong></span>
+        <span style="color:blue"><strong>float *a = my_a;</strong></span>
+        for( size_t i=r.begin(); i!=r.end(); ++i ) 
+           Foo(a[i]);
+    <span style="color:blue"><strong>}</strong></span>
+    <span style="color:blue"><strong>ApplyFoo( float a[] ) :</strong></span>
+        <span style="color:blue"><strong>my_a(a)</strong></span>
+    <span style="color:blue"><strong>{}</strong></span>
+<span style="color:blue"><strong>};</strong></span></pre> 
+	 <p>The 
+		<samp class="codeph">using</samp> directive in the example enables you to use the
+		library identifiers without having to write out the namespace prefix 
+		<samp class="codeph">tbb</samp> before each identifier. The rest of the examples
+		assume that such a 
+		<samp class="codeph">using</samp> directive is present. 
+	 </p>
+ 
+	 <p>Note the argument to 
+		<samp class="codeph">operator()</samp>. A 
+		<samp class="codeph">blocked_range<T></samp> is a template class provided by
+		the library. It describes a one-dimensional iteration space over type 
+		<samp class="codeph">T</samp>. Class 
+		<samp class="codeph">parallel_for</samp> works with other kinds of iteration spaces
+		too. The library provides 
+		<samp class="codeph">blocked_range2d</samp> for two-dimensional spaces. You can
+		define your own spaces as explained in 
+		<strong>Advanced Topic: Other Kinds of Iteration Spaces</strong>. 
+	 </p>
+ 
+	 <p>An instance of 
+		<samp class="codeph">ApplyFoo</samp> needs member fields that remember all the local
+		variables that were defined outside the original loop but used inside it.
+		Usually, the constructor for the body object will initialize these fields,
+		though 
+		<samp class="codeph">parallel_for</samp> does not care how the body object is
+		created. Template function 
+		<samp class="codeph">parallel_for</samp> requires that the body object have a copy
+		constructor, which is invoked to create a separate copy (or copies) for each
+		worker thread. It also invokes the destructor to destroy these copies. In most
+		cases, the implicitly generated copy constructor and destructor work correctly.
+		If they do not, it is almost always the case (as usual in C++) that you must
+		define 
+		<em>both</em> to be consistent. 
+	 </p>
+ 
+	 <p>Because the body object might be copied, its 
+		<samp class="codeph">operator()</samp> should not modify the body. Otherwise the
+		modification might or might not become visible to the thread that invoked 
+		<samp class="codeph">parallel_for</samp>, depending upon whether 
+		<samp class="codeph">operator()</samp> is acting on the original or a copy. As a
+		reminder of this nuance, 
+		<samp class="codeph">parallel_for</samp> requires that the body object's 
+		<samp class="codeph">operator()</samp> be declared 
+		<samp class="codeph">const</samp>. 
+	 </p>
+ 
+	 <p>The example 
+		<samp class="codeph">operator()</samp> loads 
+		<samp class="codeph">my_a</samp> into a local variable 
+		<samp class="codeph">a</samp>. Though not necessary, there are two reasons for doing
+		this in the example: 
+	 </p>
+ 
+	 <ul type="disc"> 
+		<li> 
+		  <p><strong>Style</strong>. It makes the loop body look more like the original. 
+		  </p>
+ 
+		</li>
+ 
+		<li> 
+		  <p><strong>Performance</strong>. Sometimes putting frequently accessed values
+			 into local variables helps the compiler optimize the loop better, because local
+			 variables are often easier for the compiler to track. 
+		  </p>
+ 
+		</li>
+ 
+	 </ul>
+ 
+	 <p>Once you have the loop body written as a body object, invoke the
+		template function 
+		<samp class="codeph">parallel_for</samp>, as follows: 
+	 </p>
+ 
+	 <pre>#include "tbb/tbb.h"
+ 
+void ParallelApplyFoo( float a[], size_t n ) {
+    parallel_for(blocked_range<size_t>(0,n), ApplyFoo(a));
+}</pre> 
+	 <p>The 
+		<samp class="codeph">blocked_range</samp> constructed here represents the entire
+		iteration space from 0 to n-1, which 
+		<samp class="codeph">parallel_for</samp> divides into subspaces for each processor.
+		The general form of the constructor is 
+		<samp class="codeph">blocked_range<T>(<em>begin</em>,<em>end</em>,<em>grainsize</em>)</samp>.
+		The 
+		<var>T</var> specifies the value type. The arguments 
+		<var>begin</var> and 
+		<samp class="codeph"><em>end</em></samp> specify the iteration space STL-style as a
+		half-open interval [<samp class="codeph"><em>begin</em></samp>,<var>end</var>). The
+		argument 
+		<em>grainsize</em> is explained in the 
+		<strong>Controlling Chunking 
+		</strong>section. The example uses the default grainsize of 1 because by
+		default 
+		<samp class="codeph">parallel_for</samp> applies a heuristic that works well with
+		the default grainsize. 
+	 </p>
+ 
+  </div>
+ 
+  
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../tbb_userguide/Parallelizing_Simple_Loops.htm">Parallelizing Simple Loops</a></div>
+</div>
+<div class="See Also">
+<ul class="ullinks">
+<li class="ulchildlink"><a href="../tbb_userguide/Lambda_Expressions.htm">Lambda Expressions</a><br>
+</li>
+<li class="ulchildlink"><a href="../tbb_userguide/Automatic_Chunking.htm">Automatic Chunking</a><br>
+</li>
+<li class="ulchildlink"><a href="../tbb_userguide/Controlling_Chunking.htm">Controlling Chunking</a><br>
+</li>
+<li class="ulchildlink"><a href="../tbb_userguide/Bandwidth_and_Cache_Affinity.htm">Bandwidth and Cache Affinity</a><br>
+</li>
+<li class="ulchildlink"><a href="../tbb_userguide/Partitioner_Summary.htm">Partitioner Summary</a><br>
+</li>
+</ul>
+
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="Advanced_Topic_Other_Kinds_of_Iteration_Spaces.htm#tutorial_Advanced_Topic_Other_Kinds_of_Iteration_Spaces">Advanced Topic: Other Kinds of Iteration Spaces 
+		  </a></div></div>
+</div> 
+
+</body>
+</html>
diff --git a/doc/help/tbb_userguide/parallel_reduce.htm b/doc/help/tbb_userguide/parallel_reduce.htm
new file mode 100755
index 0000000..f1d8f4a
--- /dev/null
+++ b/doc/help/tbb_userguide/parallel_reduce.htm
@@ -0,0 +1,230 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="parallel_reduce">
+<meta name="DC.subject" content="parallel_reduce">
+<meta name="keywords" content="parallel_reduce">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/Parallelizing_Simple_Loops.htm">
+<meta name="DC.Relation" scheme="URI" content="parallel_for.htm#tutorial_parallel_for">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="tutorial_parallel_reduce">
+<link rel="stylesheet" type="text/css" href="../intel_css_styles.css">
+<title>parallel_reduce</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="tutorial_parallel_reduce">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(1);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="tutorial_parallel_reduce"><!-- --></a>
+
+ 
+  <h1 class="topictitle1">parallel_reduce</h1>
+ 
+   
+  <div> 
+	 <p>A loop can do a reduction, as in this summation: 
+	 </p>
+ 
+	 <pre>float SerialSumFoo( float a[], size_t n ) {
+    float sum = 0;
+    for( size_t i=0; i!=n; ++i )
+        sum += Foo(a[i]);
+    return sum;
+}</pre> 
+	 <p>If the iterations are independent, you can parallelize this loop using
+		the template class 
+		<samp class="codeph">parallel_reduce</samp> as follows: 
+	 </p>
+ 
+	 <pre>float ParallelSumFoo( const float a[], size_t n ) {
+    SumFoo sf(a);
+    parallel_reduce( blocked_range<size_t>(0,n), sf );
+    return <span style="color:blue"><strong>sf.my_</strong></span>sum;
+}</pre> 
+	 <p>The class 
+		<samp class="codeph">SumFoo</samp> specifies details of the reduction, such as how
+		to accumulate subsums and combine them. Here is the definition of class 
+		<samp class="codeph">SumFoo</samp>: 
+	 </p>
+ 
+	 <pre>class SumFoo {
+    float* my_a;
+public:
+    float my_sum; 
+    void operator()( const blocked_range<size_t>& r ) {
+        float *a = my_a;
+        float sum = my_sum;
+        size_t end = r.end();
+        for( size_t i=r.begin(); i!=end; ++i ) 
+            sum += Foo(a[i]); 
+        <span style="color:blue"><strong>my_sum = sum;</strong></span>    
+    <span style="color:blue"><strong>}</strong></span>
+ 
+    SumFoo( SumFoo& x, split ) : my_a(x.my_a), my_sum(0) {}
+ 
+    void join( const SumFoo& y ) {my_sum+=y.my_sum;}
+             
+    SumFoo(float a[] ) :
+        my_a(a), my_sum(0)
+    {}
+};</pre> 
+	 <p>Note the differences with class 
+		<samp class="codeph">ApplyFoo</samp> from 
+		<span class="keyword">parallel_for</span>. First, 
+		<samp class="codeph">operator()</samp> is 
+		<em>not</em> 
+		<samp class="codeph">const</samp>. This is because it must update 
+	 <span class="option">SumFoo::my_sum</span>. Second, 
+	 <samp class="codeph">SumFoo</samp> has a 
+	 <em>splitting constructor</em> and a method 
+	 <samp class="codeph">join</samp> that must be present for 
+	 <samp class="codeph">parallel_reduce</samp> to work. The splitting constructor takes
+	 as arguments a reference to the original object, and a dummy argument of type 
+	 <samp class="codeph">split</samp>, which is defined by the library. The dummy argument
+	 distinguishes the splitting constructor from a copy constructor. 
+	 </p>
+ 
+	 <div class="Note"><h3 class="NoteTipHead">
+					Tip</h3> 
+		<p>In the example, the definition of 
+		  <samp class="codeph">operator()</samp> uses local temporary variables
+		  (<samp class="codeph">a</samp>, 
+		  <samp class="codeph">sum</samp>, 
+		  <samp class="codeph">end</samp>) for scalar values accessed inside the loop. This
+		  technique can improve performance by making it obvious to the compiler that the
+		  values can be held in registers instead of memory. If the values are too large
+		  to fit in registers, or have their address taken in a way the compiler cannot
+		  track, the technique might not help. With a typical optimizing compiler, using
+		  local temporaries for only written variables (such as 
+		  <samp class="codeph">sum</samp> in the example) can suffice, because then the
+		  compiler can deduce that the loop does not write to any of the other locations,
+		  and hoist the other reads to outside the loop. 
+		</p>
+ 
+	 </div> 
+	 <p>When a worker thread is available, as decided by the task scheduler, 
+		<samp class="codeph">parallel_reduce</samp> invokes the splitting constructor to
+		create a subtask for the worker. When the subtask completes, 
+		<samp class="codeph">parallel_reduce</samp> uses method 
+		<samp class="codeph">join</samp> to accumulate the result of the subtask. The graph
+		at the top of the following figure shows the split-join sequence that happens
+		when a worker is available: 
+	 </p>
+ 
+	 <div class="fignone" id="fig5"><a name="fig5"><!-- --></a><span class="figcap">Graph of the Split-join Sequence</span> 
+		<br><img src="Images/image009.jpg" width="512" height="438"><br> 
+	 </div>
+ 
+	 <p>An arc in the above figure indicates order in time. The splitting
+		constructor might run concurrently while object x is being used for the first
+		half of the reduction. Therefore, all actions of the splitting constructor that
+		creates y must be made thread safe with respect to x. So if the splitting
+		constructor needs to increment a reference count shared with other objects, it
+		should use an atomic increment. 
+	 </p>
+ 
+	 <p>If a worker is not available, the second half of the iteration is
+		reduced using the same body object that reduced the first half. That is the
+		reduction of the second half starts where reduction of the first half finished.
+		
+	 </p>
+ 
+	 <div class="Note"><h3 class="NoteTipHead">
+					Caution</h3> 
+		<p>Because split/join are not used if workers are unavailable, 
+		  <samp class="codeph">parallel_reduce</samp> does not necessarily do recursive
+		  splitting. 
+		</p>
+ 
+	 </div> 
+	 <div class="Note"><h3 class="NoteTipHead">
+					Caution</h3> 
+		<p>Because the same body might be used to accumulate multiple subranges,
+		  it is critical that 
+		  <samp class="codeph">operator()</samp> not discard earlier accumulations. The code
+		  below shows an incorrect definition of 
+		  <samp class="codeph">SumFoo::operator()</samp>. 
+		</p>
+ 
+	 </div> 
+	 <pre>class SumFoo {
+    ...
+public:
+    float my_sum; 
+    void operator()( const blocked_range<size_t>& r ) {
+        ...
+        float <span style="color:blue"><strong>sum = 0;</strong></span>  // WRONG – should be 'sum = <span style="color:blue"><strong>my_sum</strong></span>".
+        ...
+        for( ... ) 
+            sum += Foo(a[i]); 
+        my_sum = sum;   
+    }
+    ...
+};</pre> 
+	 <p>With the mistake, the body returns a partial sum for the last subrange
+		instead of all subranges to which 
+		<samp class="codeph">parallel_reduce</samp> applies it. 
+	 </p>
+ 
+	 <p>The rules for partitioners and grain sizes for 
+		<samp class="codeph">parallel_reduce</samp> are the same as for 
+		<samp class="codeph">parallel_for</samp>. 
+	 </p>
+ 
+	 <p><samp class="codeph">parallel_reduce</samp> generalizes to any associative
+		operation. In general, the splitting constructor does two things: 
+	 </p>
+ 
+	 <ul type="disc"> 
+		<li> 
+		  <p>Copy read-only information necessary to run the loop body. 
+		  </p>
+ 
+		</li>
+ 
+		<li> 
+		  <p>Initialize the reduction variable(s) to the identity element of the
+			 operation(s). 
+		  </p>
+ 
+		</li>
+ 
+	 </ul>
+ 
+	 <p>The join method should do the corresponding merge(s). You can do more
+		than one reduction at the same time: you can gather the min and max with a
+		single 
+		<samp class="codeph">parallel_reduce</samp>. 
+	 </p>
+ 
+	 <div class="Note"><h3 class="NoteTipHead">
+					Note</h3> 
+		<p>The reduction operation can be non-commutative. The example still
+		  works if floating-point addition is replaced by string concatenation. 
+		</p>
+ 
+	 </div> 
+  </div>
+ 
+  
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../tbb_userguide/Parallelizing_Simple_Loops.htm">Parallelizing Simple Loops</a></div>
+</div>
+<div class="See Also">
+<h2>See Also</h2>
+<div class="linklist">
+<div><a href="parallel_for.htm#tutorial_parallel_for">parallel_for 
+		  </a></div></div>
+</div> 
+
+</body>
+</html>
diff --git a/doc/help/tbb_userguide/title.htm b/doc/help/tbb_userguide/title.htm
new file mode 100755
index 0000000..ba3a31c
--- /dev/null
+++ b/doc/help/tbb_userguide/title.htm
@@ -0,0 +1,92 @@
+<!DOCTYPE html
+  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns:MSHelp="http://www.microsoft.com/MSHelp/" lang="en-us" xml:lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="DC.Type" content="topic">
+<meta name="DC.Title" content="Intel® Threading Building Blocks (Intel® TBB) User Guide">
+<meta name="DC.Relation" scheme="URI" content="../main/title.htm">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/Package_Contents.htm">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/Parallelizing_Simple_Loops.htm">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/Parallelizing_Complex_Loops.htm">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/Exceptions_and_Cancellation.htm">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/Containers.htm">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/Mutual_Exclusion.htm">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/Atomic_Operations.htm">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/Timing.htm">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/Memory_Allocation.htm">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/The_Task_Scheduler.htm">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/Design_Patterns/Design_Patterns.htm">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/appendix_A.htm">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/appendix_B.htm">
+<meta name="DC.Relation" scheme="URI" content="../tbb_userguide/References.htm">
+<meta name="prodname" content="Intel® Threading Building Blocks User Guide">
+<meta name="version" content="4.2">
+<meta name="release" content="319872-009US">
+<meta name="DC.Format" content="XHTML">
+<meta name="DC.Identifier" content="tutorial_title">
+<link rel="stylesheet" type="text/css" href="../intel_css_styles.css">
+<title>Intel® Threading Building Blocks (Intel® TBB) User Guide</title>
+<xml>
+<MSHelp:Attr Name="DocSet" Value="Intel"></MSHelp:Attr>
+<MSHelp:Attr Name="Locale" Value="kbEnglish"></MSHelp:Attr>
+<MSHelp:Attr Name="TopicType" Value="kbReference"></MSHelp:Attr>
+</xml>
+</head>
+<body id="tutorial_title">
+ <!-- ==============(Start:NavScript)================= -->
+ <script src="..\NavScript.js" language="JavaScript1.2" type="text/javascript"></script>
+ <script language="JavaScript1.2" type="text/javascript">WriteNavLink(1);</script>
+ <!-- ==============(End:NavScript)================= -->
+<a name="tutorial_title"><!-- --></a>
+
+ 
+  <h1 class="firsttitle"> Intel® Threading Building Blocks (Intel®
+	 TBB) User Guide</h1>
+ 
+   
+  <div> 
+	 <p> Intel® TBB 4.2 - Windows* OS 
+	 </p>
+ 
+  </div>
+ 
+
+<div class="familylinks">
+<div class="parentlink"><strong>Parent topic:</strong> <a href="../main/title.htm">Intel® Threading Building Blocks Documentation</a></div>
+</div>
+<div>
+<ul class="ullinks">
+<li class="ulchildlink"><a href="../tbb_userguide/Package_Contents.htm">Package Contents</a><br>
+</li>
+<li class="ulchildlink"><a href="../tbb_userguide/Parallelizing_Simple_Loops.htm">Parallelizing Simple Loops</a><br>
+</li>
+<li class="ulchildlink"><a href="../tbb_userguide/Parallelizing_Complex_Loops.htm">Parallelizing Complex Loops</a><br>
+</li>
+<li class="ulchildlink"><a href="../tbb_userguide/Exceptions_and_Cancellation.htm">Exceptions and Cancellation</a><br>
+</li>
+<li class="ulchildlink"><a href="../tbb_userguide/Containers.htm">Containers</a><br>
+</li>
+<li class="ulchildlink"><a href="../tbb_userguide/Mutual_Exclusion.htm">Mutual Exclusion</a><br>
+</li>
+<li class="ulchildlink"><a href="../tbb_userguide/Atomic_Operations.htm">Atomic Operations</a><br>
+</li>
+<li class="ulchildlink"><a href="../tbb_userguide/Timing.htm">Timing</a><br>
+</li>
+<li class="ulchildlink"><a href="../tbb_userguide/Memory_Allocation.htm">Memory Allocation</a><br>
+</li>
+<li class="ulchildlink"><a href="../tbb_userguide/The_Task_Scheduler.htm">The Task Scheduler</a><br>
+</li>
+<li class="ulchildlink"><a href="../tbb_userguide/Design_Patterns/Design_Patterns.htm">Design Patterns</a><br>
+</li>
+<li class="ulchildlink"><a href="../tbb_userguide/appendix_A.htm">Appendix A Costs of Time Slicing</a><br>
+</li>
+<li class="ulchildlink"><a href="../tbb_userguide/appendix_B.htm">Appendix B Mixing With Other Threading Packages</a><br>
+</li>
+<li class="ulchildlink"><a href="../tbb_userguide/References.htm">References</a><br>
+</li>
+</ul>
+</div>
+
+</body>
+</html>
diff --git a/doc/help/tree.css b/doc/help/tree.css
new file mode 100755
index 0000000..1e50546
--- /dev/null
+++ b/doc/help/tree.css
@@ -0,0 +1,106 @@
+
+.treeDiv
+{
+   font-family: verdana,arial,sans-serif;
+   font-size: 70.5%;
+   font-weight: normal;
+   background-color: #F1F1F1;   /* main background color */
+   color: #000000;               /* text color */ 
+   overflow: auto;
+   margin: 0px 0px 0px 0px;
+   padding: 0px 0px 0px 2px;  // 8px is better left padding but obscures the scroll bar in Chrome */
+}
+.treeNode
+{
+   white-space: nowrap;
+   text-indent: -14px;
+   margin: 5px 2px 5px 14px;
+}
+
+A.treeUnselected:hover, A.treeSelected:hover
+
+{
+   border-top: 1px solid #999999;
+   border-right: 1px solid #999999;
+   border-left: 1px solid #999999;
+   border-bottom: 1px solid #999999;
+   background-color: #CCCCCC;	     /* Rollover color */
+   color: #000000;                      /* Rollover text color */
+   text-decoration: none;
+
+}
+
+A.treeUnselected, A.treeSelected
+
+{
+   
+   color: Black;
+
+   padding: 1px 3px 1px 3px;
+
+   text-decoration: none;
+
+}
+
+A.treeSelected
+
+{
+
+   background-color: #FFFFFF;	   /* Node selection color */
+   border-top: 1px solid #999999;
+
+   border-right: 1px solid #999999;
+   border-left: 1px solid #999999;
+   border-bottom: 1px solid #999999;
+   color: #000000;               /* selected text color */ 
+}
+A.treeUnselected
+
+{
+   
+   border-top: solid 1px transparent;	    /* Non Select color - Should match background color */
+   border-right: solid 1px transparent;
+
+   border-left: solid 1px transparent;
+   border-bottom: solid 1px transparent;
+   background-color: transparent;
+
+
+   color: #000000;               /* text color */ 
+}
+
+.treeSubnodes
+
+{
+
+   display: block;
+
+}
+
+.treeSubnodesHidden
+
+{
+  
+   display: none;
+}
+
+.treeNode IMG.treeNoLinkImage, .treeNode IMG.treeLinkImage
+
+{
+   
+   width: 9px;		   /* Icon size in pixels*/
+   height: 9px;
+   
+   margin-left: 5px;
+   
+   margin-right: 0px;
+
+}
+
+.treeNode IMG.treeLinkImage
+
+{
+   
+   cursor: pointer;
+
+}
diff --git a/doc/help/tree.js b/doc/help/tree.js
new file mode 100755
index 0000000..202242d
--- /dev/null
+++ b/doc/help/tree.js
@@ -0,0 +1,394 @@
+// Copyright © 2009-2011, Rob Chandler.
+// Please don't use this file without purchasing FAR. http://helpware.net/FAR/
+// This effectively licenses you to use my code. This code (before modification) was 
+// first written by Jean-Claude Manoli.
+// Changes
+// RWC: 2005-04-01 - Fix image pre-load section. Last line had typo causing some images not to load
+// RWC: 2005-05-21 - Some work fixing TOC Sync
+// RWC: 2008-01-30 - Change resizeTree() to be compatible with non-MS browsers
+// RWC: 2009-06-10 - All files now saved in UTF-8 file format.
+// RWC: 2009-09-26 - Allow Opera browser to scroll the tree when syncing TOC.
+// RWC: 2011-09-10 - Fix Sync for \\server\ UNC paths.
+// RWC: 2011-09-11 - Fix Sync for CJK paths.
+// RWC: 2012-09-04 - Added selectNext(fwd) & findLinkNode()
+
+
+/* Original Copyright © 2002 Jean-Claude Manoli [jc at manoli.net]
+ *
+ * This software is provided 'as-is', without any express or implied warranty.
+ * In no event will the author(s) be held liable for any damages arising from
+ * the use of this software.
+ * 
+ * Permission is granted to anyone to use this software for any purpose,
+ * including commercial applications, and to alter it and redistribute it
+ * freely, subject to the following restrictions:
+ * 
+ *   1. The origin of this software must not be misrepresented; you must not
+ *      claim that you wrote the original software. If you use this software
+ *      in a product, an acknowledgment in the product documentation would be
+ *      appreciated but is not required.
+ * 
+ *   2. Altered source versions must be plainly marked as such, and must not
+ *      be misrepresented as being the original software.
+ * 
+ *   3. This notice may not be removed or altered from any source distribution.
+ */ 
+
+
+
+var treeSelected = null; //last treeNode clicked
+
+//pre-load tree nodes images
+var imgPlus = new Image();
+imgPlus.src="treenodeplus.gif";
+var imgMinus = new Image();
+imgMinus.src="treenodeminus.gif";
+var imgDot = new Image();
+imgDot.src="treenodedot.gif";    //rwc - fixed. Was... imgPlus.src="treenodedot.gif";
+
+
+function findNode(el)
+{
+// Takes element and determines if it is a treeNode.
+// If not, seeks a treeNode in its parents.
+	while (el != null)
+	{
+		if (el.className == "treeNode")
+		{
+			break;
+		}
+		else
+		{
+			el = el.parentNode;
+		}
+	}
+	return el;
+}
+
+
+function clickAnchor(el)
+{
+// handles click on a TOC link
+//
+	expandNode(el.parentNode);
+	selectNode(el.parentNode);
+	el.blur();
+}
+
+function findLinkNode(node)
+{
+	if (node == null || node == undefined)
+		node = treeSelected;
+	node = findNode(node);
+	if (node == null)  
+		return null;
+	var anchors = node.getElementsByTagName('A');
+	if (anchors.length > 0)
+		return anchors[0];
+	return null;
+}
+
+
+function selectNext(fwd)
+{
+// Sync forward or back from current selected. Return href of newly selected node.
+//
+	var el;
+	var aref = "";
+        var node = document.getElementById('treeRoot');
+	var anchors = node.getElementsByTagName('A');
+
+	//nothing selected? - Select the first node
+	if (treeSelected == null)  
+	{
+		if (anchors.length > 0 && anchors[0] != null && anchors[0] != undefined)
+		{
+			el = anchors[0];
+			selectAndShowNode(el);
+			aref = el.getAttribute('href');
+		}
+	}
+	else //select the next node
+	{
+		for(var i = 0; i < anchors.length; i++)
+		{
+			el = anchors[i];
+			if (findNode(el) == treeSelected)  // find the current selected node & walk fwd or back
+			{
+				if (fwd) el = anchors[i+1];
+				else     el = anchors[i-1];
+				if (el != null && el != undefined)
+				{
+					selectAndShowNode(el);	
+					aref = el.getAttribute('href');
+				}
+				break;		
+			}
+		}
+	}
+	return aref;
+}
+
+
+function selectNode(el)
+{
+// Un-selects currently selected node, if any, and selects the specified node
+//
+	if (treeSelected != null)
+	{
+		setSubNodeClass(treeSelected, 'A', 'treeUnselected');
+	}
+	setSubNodeClass(el, 'A', 'treeSelected');
+	treeSelected = el;
+}
+
+
+function setSubNodeClass(el, nodeName, className)
+{
+// Sets the specified class name on el's first child that is a nodeName element
+//
+	var child;
+	for (var i=0; i < el.childNodes.length; i++)
+	{
+		child = el.childNodes[i];
+		if (child.nodeName == nodeName)
+		{
+			child.className = className;
+			break;
+		}
+	}
+}
+
+
+function expandCollapse(el)
+{
+//	If source treeNode has child nodes, expand or collapse view of treeNode
+//
+	if (el == null)
+		return;	//Do nothing if it isn't a treeNode
+		
+	var child;
+	var imgEl;
+	for(var i=0; i < el.childNodes.length; i++)
+	{
+		child = el.childNodes[i];
+		if (child.src)
+		{
+			imgEl = child;
+		}
+		else if (child.className == "treeSubnodesHidden")
+		{
+			child.className = "treeSubnodes";
+			imgEl.src = "treenodeminus.gif";
+			break;
+		}
+		else if (child.className == "treeSubnodes")
+		{
+			child.className = "treeSubnodesHidden";
+			imgEl.src = "treenodeplus.gif";
+			break;
+		}
+	}
+}
+
+
+function expandNode(el)
+{
+//	If source treeNode has child nodes, expand it
+//
+	var child;
+	var imgEl;
+	for(var i=0; i < el.childNodes.length; i++)
+	{
+		child = el.childNodes[i];
+		if (child.src)
+		{
+			imgEl = child;
+		}
+		if (child.className == "treeSubnodesHidden")
+		{
+			child.className = "treeSubnodes";
+			imgEl.src = "treenodeminus.gif";
+			break;
+		}
+	}
+}
+
+function GetUnixPath(url)
+{
+	var path = url.replace(/\\/g, '/');         // DOS to Unix slash
+	path = path.replace(/\/\/\//, "//");        // Force 2 slashes xxx://xxx
+	path = path.replace(/\/\/\//, "//");
+	path = path.replace(/\/\/\//, "//");
+	path = path.replace(/\/\/\//, "//");
+	return path;
+}
+
+
+function syncTree(href)
+{
+// Selects and scrolls into view the node that references the specified URL
+//
+        //RWC 2005-05-21 - This is the real URL base of the TOC
+        var gbase = GetUnixPath(location.href);
+        gbase = decodeURI(gbase);
+        gbase = gbase.substr(0, gbase.lastIndexOf('/') + 1);   //trim off file name. Leave trailing /
+
+	var loc = new String();
+	loc = GetUnixPath(href);
+
+	loc = encodeURI(loc); //encode as valid URI
+        //RWC 2005-05-21 - properly Scrub URL of encoding
+        loc = decodeURI(loc);  //Converts %2520 -> %20  (under FireFox)
+        loc = decodeURI(loc);  //Converts %20 = ' '
+
+	var tocEl = findHref(document.getElementById('treeRoot'), loc, gbase);
+	if (tocEl != null)
+	{
+		selectAndShowNode(tocEl);
+	}
+}
+
+function findHref(node, href, base)
+{
+// find the <a> element with the specified href value
+//
+        //RWC 24/3/2006: Consider any bookmark on the URL to test
+        var href_BaseURL = '';
+        var iBookmark = href.indexOf('#');
+        if (iBookmark > 0)
+          href_BaseURL = href.substr(0, iBookmark);
+
+
+	var el;
+	var anchors = node.getElementsByTagName('A');
+	for (var i = 0; i < anchors.length; i++)
+	{
+		el = anchors[i];
+		var aref = new String();
+		aref = el.getAttribute('href');
+		
+		if ((aref.substring(0, 7) != 'http://') 
+		&& (aref.substring(0, 8) != 'https://')
+		&& (aref.substring(0, 7) != 'file://'))
+		{
+			aref = base + aref;
+		}
+
+		aref = GetUnixPath(decodeURI(aref));
+                //if (i < 5)
+	        //  alert('aref=' + aref + ', href=' + href + ', base=' + base);
+
+                //RWC: If href has #bookmark and aref does not then compare without bookmarks
+                if ((href_BaseURL.length > 0) && (aref.indexOf('#') < 0))
+                  if (aref == href_BaseURL)
+                     return el;
+
+		if (aref == href)
+		{
+			return el;
+		}
+	}
+	return null;
+}
+
+function selectAndShowNode(node)
+{
+// Selects and scrolls into view the specified node
+//
+	var el = findNode(node);
+	if (el != null) 
+	{
+		selectNode(el);
+		do 
+		{
+			expandNode(el);
+			el = findNode(el.parentNode);
+		} while ((el != null))  
+		
+		//vertical scroll element into view
+		var windowTop;
+		var windowBottom;
+		var treeDiv = document.getElementById('tree');
+		
+		var ua = window.navigator.userAgent.toLowerCase();
+		if ((i = ua.indexOf('msie')) != -1)
+		{
+			windowTop = node.offsetTop - treeDiv.scrollTop;
+			windowBottom = treeDiv.clientHeight - windowTop - node.offsetHeight;
+		}
+		else if (ua.indexOf('gecko') != -1)
+		{
+			windowTop = node.offsetTop - treeDiv.offsetTop - treeDiv.scrollTop;
+			windowBottom = treeDiv.clientHeight - windowTop - node.offsetHeight;
+		}
+		else if (ua.indexOf('opera') != -1)
+		{
+			windowTop = node.offsetTop - treeDiv.offsetTop - treeDiv.scrollTop;
+			windowBottom = treeDiv.clientHeight - windowTop - node.offsetHeight;
+		}
+		else 
+		{
+			return;
+		}
+		
+		if (windowTop < 0)
+		{
+			treeDiv.scrollTop += windowTop - 18;
+			return;
+		}
+		if (windowBottom < 0)
+		{
+			treeDiv.scrollTop -= windowBottom - 18;
+			return;
+		}
+	}
+}
+
+
+
+function GetFrameWidth() 
+{ 
+	var x = 300; 
+	if (self.innerHeight) // all except Explorer 
+   	    x = self.innerWidth; 
+	else if (document.documentElement && document.documentElement.clientHeight) // Explorer 6 Strict Mode 
+	    x = document.documentElement.clientWidth; 
+	else if (document.body) // other Explorers 
+	    x = document.body.clientWidth; 
+	return(x); 
+} 
+
+function GetFrameHeight() 
+{ 
+	var y = 400; 
+	if (self.innerHeight) // all except Explorer 
+	    y = self.innerHeight; 
+	else if (document.documentElement && document.documentElement.clientWidth) // Explorer 6 Strict Mode 
+	    y = document.documentElement.clientHeight; 
+	else if (document.body) // other Explorers 
+	    y = document.body.clientHeight; 
+	return(y); 
+} 
+
+function resizeTree() 
+{
+	var treeDiv = document.getElementById("tree");
+	var DivFooter = document.getElementById("DivFooter");
+              var xTop = treeDiv.offsetTop;
+	if ((DivFooter != null) && (DivFooter != undefined))
+	    xTop = xTop + DivFooter.offsetHeight;
+	treeDiv.style.width = GetFrameWidth();
+	var HH = GetFrameHeight(); 
+	if (HH -  xTop > 0)
+	    treeDiv.style.height = HH -  xTop;
+}
+
+// old original func
+//function resizeTree()
+//{
+//	var treeDiv = document.getElementById('tree');
+//	//treeDiv.setAttribute('style', 'width: ' + document.body.offsetWidth + 'px; height: ' + (document.body.offsetHeight - 27) + 'px;');
+//	treeDiv.style.width = document.documentElement.offsetWidth;
+//	treeDiv.style.height = document.documentElement.offsetHeight - 27;
+//}
diff --git a/doc/help/treenodedot.gif b/doc/help/treenodedot.gif
new file mode 100755
index 0000000..c135603
Binary files /dev/null and b/doc/help/treenodedot.gif differ
diff --git a/doc/help/treenodeminus.gif b/doc/help/treenodeminus.gif
new file mode 100755
index 0000000..1deac2f
Binary files /dev/null and b/doc/help/treenodeminus.gif differ
diff --git a/doc/help/treenodeplus.gif b/doc/help/treenodeplus.gif
new file mode 100755
index 0000000..2d15c14
Binary files /dev/null and b/doc/help/treenodeplus.gif differ
diff --git a/doc/html/a00001.html b/doc/html/a00001.html
new file mode 100644
index 0000000..55b5a43
--- /dev/null
+++ b/doc/html/a00001.html
@@ -0,0 +1,59 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Requirements on range concept</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li class="current"><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="index.html">Main Page</a></li><li class="navelem"><a class="el" href="a00008.html">TBB concepts</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">Requirements on range concept </div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><p>Class <code>R</code> implementing the concept of range must define:</p>
+<ul>
+<li><div class="fragment"><div class="line">R::R( <span class="keyword">const</span> R& ); </div>
+</div><!-- fragment --> Copy constructor</li>
+<li><div class="fragment"><div class="line">R::~R(); </div>
+</div><!-- fragment --> Destructor</li>
+<li><div class="fragment"><div class="line"><span class="keywordtype">bool</span> R::is_divisible() <span class="keyword">const</span>; </div>
+</div><!-- fragment --> True if range can be partitioned into two subranges</li>
+<li><div class="fragment"><div class="line"><span class="keywordtype">bool</span> R::empty() <span class="keyword">const</span>; </div>
+</div><!-- fragment --> True if range is empty</li>
+<li><div class="fragment"><div class="line">R::R( R& r, split ); </div>
+</div><!-- fragment --> Split range <code>r</code> into two subranges. </li>
+</ul>
+</div></div><!-- contents -->
+<hr>
+<p></p>
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
+<p></p>
+Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
+registered trademarks or trademarks of Intel Corporation or its
+subsidiaries in the United States and other countries.
+<p></p>
+* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00002.html b/doc/html/a00002.html
new file mode 100644
index 0000000..97196c9
--- /dev/null
+++ b/doc/html/a00002.html
@@ -0,0 +1,62 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Requirements on parallel_do body</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li class="current"><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="index.html">Main Page</a></li><li class="navelem"><a class="el" href="a00008.html">TBB concepts</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">Requirements on parallel_do body </div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><p>Class <code>Body</code> implementing the concept of parallel_do body must define:</p>
+<ul>
+<li><div class="fragment"><div class="line">B::operator()( </div>
+<div class="line">        cv_item_type item,</div>
+<div class="line">        parallel_do_feeder<item_type>& feeder</div>
+<div class="line">) <span class="keyword">const</span></div>
+<div class="line"></div>
+<div class="line">OR</div>
+<div class="line"></div>
+<div class="line">B::operator()( cv_item_type& item ) <span class="keyword">const</span></div>
+</div><!-- fragment --> Process item. May be invoked concurrently for the same <code>this</code> but different <code>item</code>.</li>
+<li><div class="fragment"><div class="line">item_type( <span class="keyword">const</span> item_type& ) </div>
+</div><!-- fragment --> Copy a work item.</li>
+<li><div class="fragment"><div class="line">~item_type() </div>
+</div><!-- fragment --> Destroy a work item </li>
+</ul>
+</div></div><!-- contents -->
+<hr>
+<p></p>
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
+<p></p>
+Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
+registered trademarks or trademarks of Intel Corporation or its
+subsidiaries in the United States and other countries.
+<p></p>
+* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00003.html b/doc/html/a00003.html
new file mode 100644
index 0000000..ae35648
--- /dev/null
+++ b/doc/html/a00003.html
@@ -0,0 +1,55 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Requirements on parallel_for body</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li class="current"><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="index.html">Main Page</a></li><li class="navelem"><a class="el" href="a00008.html">TBB concepts</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">Requirements on parallel_for body </div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><p>Class <code>Body</code> implementing the concept of parallel_for body must define:</p>
+<ul>
+<li><div class="fragment"><div class="line">Body::Body( <span class="keyword">const</span> Body& ); </div>
+</div><!-- fragment --> Copy constructor</li>
+<li><div class="fragment"><div class="line">Body::~Body(); </div>
+</div><!-- fragment --> Destructor</li>
+<li><div class="fragment"><div class="line"><span class="keywordtype">void</span> Body::operator()( Range& r ) <span class="keyword">const</span>; </div>
+</div><!-- fragment --> Function call operator applying the body to range <code>r</code>. </li>
+</ul>
+</div></div><!-- contents -->
+<hr>
+<p></p>
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
+<p></p>
+Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
+registered trademarks or trademarks of Intel Corporation or its
+subsidiaries in the United States and other countries.
+<p></p>
+* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00004.html b/doc/html/a00004.html
new file mode 100644
index 0000000..62957d9
--- /dev/null
+++ b/doc/html/a00004.html
@@ -0,0 +1,57 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Requirements on parallel_reduce body</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li class="current"><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="index.html">Main Page</a></li><li class="navelem"><a class="el" href="a00008.html">TBB concepts</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">Requirements on parallel_reduce body </div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><p>Class <code>Body</code> implementing the concept of parallel_reduce body must define:</p>
+<ul>
+<li><div class="fragment"><div class="line">Body::Body( Body&, split ); </div>
+</div><!-- fragment --> Splitting constructor. Must be able to run concurrently with operator() and method <code>join</code> </li>
+<li><div class="fragment"><div class="line">Body::~Body(); </div>
+</div><!-- fragment --> Destructor</li>
+<li><div class="fragment"><div class="line"><span class="keywordtype">void</span> Body::operator()( Range& r ); </div>
+</div><!-- fragment --> Function call operator applying body to range <code>r</code> and accumulating the result</li>
+<li><div class="fragment"><div class="line"><span class="keywordtype">void</span> Body::join( Body& b ); </div>
+</div><!-- fragment --> Join results. The result in <code>b</code> should be merged into the result of <code>this</code> </li>
+</ul>
+</div></div><!-- contents -->
+<hr>
+<p></p>
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
+<p></p>
+Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
+registered trademarks or trademarks of Intel Corporation or its
+subsidiaries in the United States and other countries.
+<p></p>
+* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00005.html b/doc/html/a00005.html
index 37d9a17..bb7dcf9 100644
--- a/doc/html/a00005.html
+++ b/doc/html/a00005.html
@@ -1,32 +1,40 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
-  <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<h1>tbb::interface6::aggregator_ext< handler_type > Member List</h1>This is the complete list of members for <a class="el" href="a00264.html">tbb::interface6::aggregator_ext< handler_type ></a>, including all inherited members.<p><table>
-  <tr bgcolor="#f0f0f0"><td><b>aggregator_ext</b>(const handler_type &h) (defined in <a class="el" href="a00264.html">tbb::interface6::aggregator_ext< handler_type ></a>)</td><td><a class="el" href="a00264.html">tbb::interface6::aggregator_ext< handler_type ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00264.html#fdd0a9ce522246b9e14ae5e44bc72d31">execute_impl</a>(aggregator_operation &op)</td><td><a class="el" href="a00264.html">tbb::interface6::aggregator_ext< handler_type ></a></td><td><code> [inline, protected]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00264.html#ccd88bf4333dc100ba97da8e2170277d">process</a>(aggregator_operation *op)</td><td><a class="el" href="a00264.html">tbb::interface6::aggregator_ext< handler_type ></a></td><td><code> [inline]</code></td></tr>
-</table><hr>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Requirements on parallel_reduce anonymous function objects (lambda functions)</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li class="current"><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">Requirements on parallel_reduce anonymous function objects (lambda functions) </div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><p>TO BE DOCUMENTED </p>
+</div></div><!-- contents -->
+<hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00006.html b/doc/html/a00006.html
index 3bf41fe..4413dc5 100644
--- a/doc/html/a00006.html
+++ b/doc/html/a00006.html
@@ -1,34 +1,56 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Requirements on parallel_scan body</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li class="current"><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<h1>tbb::interface6::aggregator Member List</h1>This is the complete list of members for <a class="el" href="a00263.html">tbb::interface6::aggregator</a>, including all inherited members.<p><table>
-  <tr bgcolor="#f0f0f0"><td><b>aggregator</b>() (defined in <a class="el" href="a00263.html">tbb::interface6::aggregator</a>)</td><td><a class="el" href="a00263.html">tbb::interface6::aggregator</a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>aggregator_ext</b>(const handler_type &h) (defined in <a class="el" href="a00264.html">tbb::interface6::aggregator_ext< handler_type ></a>)</td><td><a class="el" href="a00264.html">tbb::interface6::aggregator_ext< handler_type ></a></td><td><code> [inline, private]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00263.html#641c8dc43652589d12eefaef130c094d">execute</a>(const Body &b)</td><td><a class="el" href="a00263.html">tbb::interface6::aggregator</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00264.html#fdd0a9ce522246b9e14ae5e44bc72d31">execute_impl</a>(aggregator_operation &op)</td><td><a class="el" href="a00264.html">tbb::interface6::aggregator_ext< handler_type ></a></td><td><code> [inline, private]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00264.html#ccd88bf4333dc100ba97da8e2170277d">process</a>(aggregator_operation *op)</td><td><a class="el" href="a00264.html">tbb::interface6::aggregator_ext< handler_type ></a></td><td><code> [inline, private]</code></td></tr>
-</table><hr>
+<li class="navelem"><a class="el" href="index.html">Main Page</a></li><li class="navelem"><a class="el" href="a00008.html">TBB concepts</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">Requirements on parallel_scan body </div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><p>Class <code>Body</code> implementing the concept of parallel_scan body must define:</p>
+<ul>
+<li><div class="fragment"><div class="line">Body::Body( Body&, split ); </div>
+</div><!-- fragment --> Splitting constructor. Split <code>b</code> so that <code>this</code> and <code>b</code> can accumulate separately</li>
+<li><div class="fragment"><div class="line">Body::~Body(); </div>
+</div><!-- fragment --> Destructor</li>
+<li><div class="fragment"><div class="line"><span class="keywordtype">void</span> Body::operator()( <span class="keyword">const</span> Range& r, pre_scan_tag ); </div>
+</div><!-- fragment --> Preprocess iterations for range <code>r</code> </li>
+<li><div class="fragment"><div class="line"><span class="keywordtype">void</span> Body::operator()( <span class="keyword">const</span> Range& r, final_scan_tag ); </div>
+</div><!-- fragment --> Do final processing for iterations of range <code>r</code> </li>
+<li><div class="fragment"><div class="line"><span class="keywordtype">void</span> Body::reverse_join( Body& a ); </div>
+</div><!-- fragment --> Merge preprocessing state of <code>a</code> into <code>this</code>, where <code>a</code> was created earlier from <code>b</code> by b's splitting constructor </li>
+</ul>
+</div></div><!-- contents -->
+<hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00007.html b/doc/html/a00007.html
index bab4862..fcc6d22 100644
--- a/doc/html/a00007.html
+++ b/doc/html/a00007.html
@@ -1,31 +1,50 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Requirements on iterators for parallel_sort</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li class="current"><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<h1>tbb::aligned_space< T, N > Member List</h1>This is the complete list of members for <a class="el" href="a00265.html">tbb::aligned_space< T, N ></a>, including all inherited members.<p><table>
-  <tr class="memlist"><td><a class="el" href="a00265.html#0d702fc6b9e9d061ace3501b3c861cdf">begin</a>()</td><td><a class="el" href="a00265.html">tbb::aligned_space< T, N ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00265.html#024be075c23c0394c9a2518d993bcd9e">end</a>()</td><td><a class="el" href="a00265.html">tbb::aligned_space< T, N ></a></td><td><code> [inline]</code></td></tr>
-</table><hr>
+<li class="navelem"><a class="el" href="index.html">Main Page</a></li><li class="navelem"><a class="el" href="a00008.html">TBB concepts</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">Requirements on iterators for parallel_sort </div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><p>Requirements on value type <code>T</code> of <code>RandomAccessIterator</code> for <code>parallel_sort:</code> </p>
+<ul>
+<li><div class="fragment"><div class="line"><span class="keywordtype">void</span> swap( T& x, T& y ) </div>
+</div><!-- fragment --> Swaps <code>x</code> and <code>y</code> </li>
+<li><div class="fragment"><div class="line"><span class="keywordtype">bool</span> Compare::operator()( <span class="keyword">const</span> T& x, <span class="keyword">const</span> T& y ) </div>
+</div><!-- fragment --> True if x comes before y; </li>
+</ul>
+</div></div><!-- contents -->
+<hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00008.html b/doc/html/a00008.html
index 4e9a243..679bbb6 100644
--- a/doc/html/a00008.html
+++ b/doc/html/a00008.html
@@ -1,33 +1,54 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>TBB concepts</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li class="current"><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<h1>tbb::atomic< T > Member List</h1>This is the complete list of members for <a class="el" href="a00266.html">tbb::atomic< T ></a>, including all inherited members.<p><table>
-  <tr bgcolor="#f0f0f0"><td><b>atomic</b>() (defined in <a class="el" href="a00266.html">tbb::atomic< T ></a>)</td><td><a class="el" href="a00266.html">tbb::atomic< T ></a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>atomic</b>(T arg) (defined in <a class="el" href="a00266.html">tbb::atomic< T ></a>)</td><td><a class="el" href="a00266.html">tbb::atomic< T ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>operator=</b>(T rhs) (defined in <a class="el" href="a00266.html">tbb::atomic< T ></a>)</td><td><a class="el" href="a00266.html">tbb::atomic< T ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>operator=</b>(const atomic< T > &rhs) (defined in <a class="el" href="a00266.html">tbb::atomic< T ></a>)</td><td><a class="el" href="a00266.html">tbb::atomic< T ></a></td><td><code> [inline]</code></td></tr>
-</table><hr>
+<li class="navelem"><a class="el" href="index.html">Main Page</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">TBB concepts </div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><p>A concept is a set of requirements to a type, which are necessary and sufficient for the type to model a particular behavior or a set of behaviors. Some concepts are specific to a particular algorithm (e.g. algorithm body), while other ones are common to several algorithms (e.g. range concept).</p>
+<p>All TBB algorithms make use of different classes implementing various concepts. Implementation classes are supplied by the user as type arguments of template parameters and/or as objects passed as function call arguments. The library provides predefined implementations of some concepts (e.g. several kinds of <a class="el" href="a00001.html">ranges</a>), while other ones must always be implemented by the user.</p>
+<p>TBB defines a set of minimal requirements each concept must conform to. Here is the list of different concepts hyperlinked to the corresponding requirements specifications:</p>
+<ul>
+<li><a class="el" href="a00001.html">Requirements on range concept</a></li>
+<li><a class="el" href="a00002.html">Requirements on parallel_do body</a></li>
+<li><a class="el" href="a00003.html">Requirements on parallel_for body</a></li>
+<li><a class="el" href="a00004.html">Requirements on parallel_reduce body</a></li>
+<li><a class="el" href="a00006.html">Requirements on parallel_scan body</a></li>
+<li><a class="el" href="a00007.html">Requirements on iterators for parallel_sort</a> </li>
+</ul>
+</div></div><!-- contents -->
+<hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00009.html b/doc/html/a00009.html
index f30f548..8d1cdb1 100644
--- a/doc/html/a00009.html
+++ b/doc/html/a00009.html
@@ -1,33 +1,51 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
-  <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<h1>tbb::atomic< void * > Member List</h1>This is the complete list of members for <a class="el" href="a00267.html">tbb::atomic< void * ></a>, including all inherited members.<p><table>
-  <tr bgcolor="#f0f0f0"><td><b>atomic</b>() (defined in <a class="el" href="a00267.html">tbb::atomic< void * ></a>)</td><td><a class="el" href="a00267.html">tbb::atomic< void * ></a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>atomic</b>(void *arg) (defined in <a class="el" href="a00267.html">tbb::atomic< void * ></a>)</td><td><a class="el" href="a00267.html">tbb::atomic< void * ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>operator=</b>(void *rhs) (defined in <a class="el" href="a00267.html">tbb::atomic< void * ></a>)</td><td><a class="el" href="a00267.html">tbb::atomic< void * ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>operator=</b>(const atomic< void * > &rhs) (defined in <a class="el" href="a00267.html">tbb::atomic< void * ></a>)</td><td><a class="el" href="a00267.html">tbb::atomic< void * ></a></td><td><code> [inline]</code></td></tr>
-</table><hr>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>__TBB_malloc_proxy_caller Struct Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="a00242.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">__TBB_malloc_proxy_caller Struct Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<hr/>The documentation for this struct was generated from the following file:<ul>
+<li>tbbmalloc_proxy.h</li>
+</ul>
+</div><!-- contents -->
+<hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00010.html b/doc/html/a00010.html
index bbf5dff..a9913cd 100644
--- a/doc/html/a00010.html
+++ b/doc/html/a00010.html
@@ -1,42 +1,141 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::accessor Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<h1>tbb::blocked_range< Value > Member List</h1>This is the complete list of members for <a class="el" href="a00271.html">tbb::blocked_range< Value ></a>, including all inherited members.<p><table>
-  <tr class="memlist"><td><a class="el" href="a00271.html#18d2258400756ac1446dac7676b18df3">begin</a>() const </td><td><a class="el" href="a00271.html">tbb::blocked_range< Value ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00271.html#94607755c5110d199202234d58d022ac">blocked_range</a>()</td><td><a class="el" href="a00271.html">tbb::blocked_range< Value ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00271.html#14795a36ead1414b4371dbe1a4656359">blocked_range</a>(Value begin_, Value end_, size_type grainsize_=1)</td><td><a class="el" href="a00271.html">tbb::blocked_range< Value ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00271.html#4c0efd2be3f96a0ab3ba5085e8b3fcc7">blocked_range</a>(blocked_range &r, split)</td><td><a class="el" href="a00271.html">tbb::blocked_range< Value ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>blocked_range2d</b> (defined in <a class="el" href="a00271.html">tbb::blocked_range< Value ></a>)</td><td><a class="el" href="a00271.html">tbb::blocked_range< Value ></a></td><td><code> [friend]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>blocked_range3d</b> (defined in <a class="el" href="a00271.html">tbb::blocked_range< Value ></a>)</td><td><a class="el" href="a00271.html">tbb::blocked_range< Value ></a></td><td><code> [friend]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00271.html#1a8d05842c2b3dfc177bc4d347e4cef7">const_iterator</a> typedef</td><td><a class="el" href="a00271.html">tbb::blocked_range< Value ></a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00271.html#8f4f02f530eb3f2e7ea26e06f76aef9d">empty</a>() const </td><td><a class="el" href="a00271.html">tbb::blocked_range< Value ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00271.html#8b929d93ddc13f148b11bceef3a3bdf8">end</a>() const </td><td><a class="el" href="a00271.html">tbb::blocked_range< Value ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00271.html#fcd2e5b8b6c11fd3f20fc0aa9f11bbc2">grainsize</a>() const </td><td><a class="el" href="a00271.html">tbb::blocked_range< Value ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00271.html#41a58b703d574b6e1ca155df3576f578">is_divisible</a>() const </td><td><a class="el" href="a00271.html">tbb::blocked_range< Value ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00271.html#9eaa0b6beff1420f688570bbf6b8c462">size</a>() const </td><td><a class="el" href="a00271.html">tbb::blocked_range< Value ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00271.html#f5707bffea38eee5c9680f37358afb8e">size_type</a> typedef</td><td><a class="el" href="a00271.html">tbb::blocked_range< Value ></a></td><td></td></tr>
-</table><hr>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>interface5</b></li><li class="navelem"><a class="el" href="a00035.html">concurrent_hash_map</a></li><li class="navelem"><a class="el" href="a00010.html">accessor</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-types">Public Types</a> |
+<a href="#pub-methods">Public Member Functions</a> |
+<a href="a00335.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::accessor Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Allows write access to elements and combines data access, locking, and garbage collection.  
+ <a href="a00010.html#details">More...</a></p>
+
+<p><code>#include <concurrent_hash_map.h></code></p>
+<div class="dynheader">
+Inheritance diagram for tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::accessor:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00010.png" usemap="#tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::accessor_map" alt=""/>
+  <map id="tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::accessor_map" name="tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::accessor_map">
+<area href="a00047.html" title="Combines data access, locking, and garbage collection. " alt="tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::const_accessor" shape="rect" coords="0,56,488,80"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:a850178bbdcdbc4cf5955cab37eb8c42c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a850178bbdcdbc4cf5955cab37eb8c42c"></a>
+typedef <br class="typebreak"/>
+concurrent_hash_map::value_type </td><td class="memItemRight" valign="bottom"><a class="el" href="a00010.html#a850178bbdcdbc4cf5955cab37eb8c42c">value_type</a></td></tr>
+<tr class="memdesc:a850178bbdcdbc4cf5955cab37eb8c42c"><td class="mdescLeft"> </td><td class="mdescRight">Type of value. <br/></td></tr>
+<tr class="separator:a850178bbdcdbc4cf5955cab37eb8c42c"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="inherit_header pub_types_a00047"><td colspan="2" onclick="javascript:toggleInherit('pub_types_a00047')"><img src="closed.png" alt="-"/> Public Types inherited from <a class="el" href="a00047.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::const_accessor</a></td></tr>
+<tr class="memitem:aa8ca5aef4ee14b7eddb64767b8cd5fda inherit pub_types_a00047"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa8ca5aef4ee14b7eddb64767b8cd5fda"></a>
+typedef const <br class="typebreak"/>
+concurrent_hash_map::value_type </td><td class="memItemRight" valign="bottom"><a class="el" href="a00047.html#aa8ca5aef4ee14b7eddb64767b8cd5fda">value_type</a></td></tr>
+<tr class="memdesc:aa8ca5aef4ee14b7eddb64767b8cd5fda inherit pub_types_a00047"><td class="mdescLeft"> </td><td class="mdescRight">Type of value. <br/></td></tr>
+<tr class="separator:aa8ca5aef4ee14b7eddb64767b8cd5fda inherit pub_types_a00047"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a4e03905a33fbdafdb99113cc68d2bd4b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4e03905a33fbdafdb99113cc68d2bd4b"></a>
+reference </td><td class="memItemRight" valign="bottom"><a class="el" href="a00010.html#a4e03905a33fbdafdb99113cc68d2bd4b">operator*</a> () const </td></tr>
+<tr class="memdesc:a4e03905a33fbdafdb99113cc68d2bd4b"><td class="mdescLeft"> </td><td class="mdescRight">Return reference to associated value in hash table. <br/></td></tr>
+<tr class="separator:a4e03905a33fbdafdb99113cc68d2bd4b"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ab04f73bd4a4ca7df0dc91a7b4d66f987"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab04f73bd4a4ca7df0dc91a7b4d66f987"></a>
+pointer </td><td class="memItemRight" valign="bottom"><a class="el" href="a00010.html#ab04f73bd4a4ca7df0dc91a7b4d66f987">operator-></a> () const </td></tr>
+<tr class="memdesc:ab04f73bd4a4ca7df0dc91a7b4d66f987"><td class="mdescLeft"> </td><td class="mdescRight">Return pointer to associated value in hash table. <br/></td></tr>
+<tr class="separator:ab04f73bd4a4ca7df0dc91a7b4d66f987"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="inherit_header pub_methods_a00047"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00047')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="a00047.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::const_accessor</a></td></tr>
+<tr class="memitem:a6299b523d2ae8e2613f1bc160ca99b85 inherit pub_methods_a00047"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6299b523d2ae8e2613f1bc160ca99b85"></a>
+bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00047.html#a6299b523d2ae8e2613f1bc160ca99b85">empty</a> () const </td></tr>
+<tr class="memdesc:a6299b523d2ae8e2613f1bc160ca99b85 inherit pub_methods_a00047"><td class="mdescLeft"> </td><td class="mdescRight">True if result is empty. <br/></td></tr>
+<tr class="separator:a6299b523d2ae8e2613f1bc160ca99b85 inherit pub_methods_a00047"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a18390cb369369d72bdf7c867755b5190 inherit pub_methods_a00047"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a18390cb369369d72bdf7c867755b5190"></a>
+void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00047.html#a18390cb369369d72bdf7c867755b5190">release</a> ()</td></tr>
+<tr class="memdesc:a18390cb369369d72bdf7c867755b5190 inherit pub_methods_a00047"><td class="mdescLeft"> </td><td class="mdescRight">Set to null. <br/></td></tr>
+<tr class="separator:a18390cb369369d72bdf7c867755b5190 inherit pub_methods_a00047"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a8adf04e33e7c8c876ba849f26807713a inherit pub_methods_a00047"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8adf04e33e7c8c876ba849f26807713a"></a>
+const_reference </td><td class="memItemRight" valign="bottom"><a class="el" href="a00047.html#a8adf04e33e7c8c876ba849f26807713a">operator*</a> () const </td></tr>
+<tr class="memdesc:a8adf04e33e7c8c876ba849f26807713a inherit pub_methods_a00047"><td class="mdescLeft"> </td><td class="mdescRight">Return reference to associated value in hash table. <br/></td></tr>
+<tr class="separator:a8adf04e33e7c8c876ba849f26807713a inherit pub_methods_a00047"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a28fa9b9e6c35d7e80217e69a7afe1ee5 inherit pub_methods_a00047"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a28fa9b9e6c35d7e80217e69a7afe1ee5"></a>
+const_pointer </td><td class="memItemRight" valign="bottom"><a class="el" href="a00047.html#a28fa9b9e6c35d7e80217e69a7afe1ee5">operator-></a> () const </td></tr>
+<tr class="memdesc:a28fa9b9e6c35d7e80217e69a7afe1ee5 inherit pub_methods_a00047"><td class="mdescLeft"> </td><td class="mdescRight">Return pointer to associated value in hash table. <br/></td></tr>
+<tr class="separator:a28fa9b9e6c35d7e80217e69a7afe1ee5 inherit pub_methods_a00047"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a7b26d22d228cf0d8678c9b346c63752c inherit pub_methods_a00047"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7b26d22d228cf0d8678c9b346c63752c"></a>
+ </td><td class="memItemRight" valign="bottom"><a class="el" href="a00047.html#a7b26d22d228cf0d8678c9b346c63752c">const_accessor</a> ()</td></tr>
+<tr class="memdesc:a7b26d22d228cf0d8678c9b346c63752c inherit pub_methods_a00047"><td class="mdescLeft"> </td><td class="mdescRight">Create empty result. <br/></td></tr>
+<tr class="separator:a7b26d22d228cf0d8678c9b346c63752c inherit pub_methods_a00047"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:afbc0c85a146c912b9a0f94a7695957c7 inherit pub_methods_a00047"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afbc0c85a146c912b9a0f94a7695957c7"></a>
+ </td><td class="memItemRight" valign="bottom"><a class="el" href="a00047.html#afbc0c85a146c912b9a0f94a7695957c7">~const_accessor</a> ()</td></tr>
+<tr class="memdesc:afbc0c85a146c912b9a0f94a7695957c7 inherit pub_methods_a00047"><td class="mdescLeft"> </td><td class="mdescRight">Destroy result after releasing the underlying reference. <br/></td></tr>
+<tr class="separator:afbc0c85a146c912b9a0f94a7695957c7 inherit pub_methods_a00047"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
+Additional Inherited Members</h2></td></tr>
+<tr class="inherit_header pro_methods_a00047"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_a00047')"><img src="closed.png" alt="-"/> Protected Member Functions inherited from <a class="el" href="a00047.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::const_accessor</a></td></tr>
+<tr class="memitem:a05b74d408d8cd7773f7b5edfef97da1b inherit pro_methods_a00047"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a05b74d408d8cd7773f7b5edfef97da1b"></a>
+bool </td><td class="memItemRight" valign="bottom"><b>is_writer</b> ()</td></tr>
+<tr class="separator:a05b74d408d8cd7773f7b5edfef97da1b inherit pro_methods_a00047"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="inherit_header pro_attribs_a00047"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_a00047')"><img src="closed.png" alt="-"/> Protected Attributes inherited from <a class="el" href="a00047.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::const_accessor</a></td></tr>
+<tr class="memitem:ac9b96f45483ddbff95a95e8e666a8f28 inherit pro_attribs_a00047"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac9b96f45483ddbff95a95e8e666a8f28"></a>
+<a class="el" href="a00082.html">node</a> * </td><td class="memItemRight" valign="bottom"><b>my_node</b></td></tr>
+<tr class="separator:ac9b96f45483ddbff95a95e8e666a8f28 inherit pro_attribs_a00047"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a5034084f595666b47734f99a6eaefa9f inherit pro_attribs_a00047"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5034084f595666b47734f99a6eaefa9f"></a>
+hashcode_t </td><td class="memItemRight" valign="bottom"><b>my_hash</b></td></tr>
+<tr class="separator:a5034084f595666b47734f99a6eaefa9f inherit pro_attribs_a00047"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><h3>template<typename Key, typename T, typename HashCompare = tbb_hash_compare<Key>, typename A = tbb_allocator<std::pair<Key, T> >><br/>
+class tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::accessor</h3>
+
+<p>Allows write access to elements and combines data access, locking, and garbage collection. </p>
+</div><hr/>The documentation for this class was generated from the following file:<ul>
+<li>concurrent_hash_map.h</li>
+</ul>
+</div><!-- contents -->
+<hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00010.png b/doc/html/a00010.png
new file mode 100644
index 0000000..4a5d25e
Binary files /dev/null and b/doc/html/a00010.png differ
diff --git a/doc/html/a00011.html b/doc/html/a00011.html
index 5068a0c..c8a0517 100644
--- a/doc/html/a00011.html
+++ b/doc/html/a00011.html
@@ -1,38 +1,122 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::interface6::aggregator Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<h1>tbb::blocked_range2d< RowValue, ColValue > Member List</h1>This is the complete list of members for <a class="el" href="a00272.html">tbb::blocked_range2d< RowValue, ColValue ></a>, including all inherited members.<p><table>
-  <tr bgcolor="#f0f0f0"><td><b>blocked_range2d</b>(RowValue row_begin, RowValue row_end, typename row_range_type::size_type row_grainsize, ColValue col_begin, ColValue col_end, typename col_range_type::size_type col_grainsize) (defined in <a class="el" href="a00272.html">tbb::blocked_range2d< RowValue, ColValue ></a>)</td><td><a class="el" href="a00272.html">tbb::blocked_range2d< RowValue, ColValue ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>blocked_range2d</b>(RowValue row_begin, RowValue row_end, ColValue col_begin, ColValue col_end) (defined in <a class="el" href="a00272.html">tbb::blocked_range2d< RowValue, ColValue ></a>)</td><td><a class="el" href="a00272.html">tbb::blocked_range2d< RowValue, ColValue ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>blocked_range2d</b>(blocked_range2d &r, split) (defined in <a class="el" href="a00272.html">tbb::blocked_range2d< RowValue, ColValue ></a>)</td><td><a class="el" href="a00272.html">tbb::blocked_range2d< RowValue, ColValue ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>col_range_type</b> typedef (defined in <a class="el" href="a00272.html">tbb::blocked_range2d< RowValue, ColValue ></a>)</td><td><a class="el" href="a00272.html">tbb::blocked_range2d< RowValue, ColValue ></a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00272.html#392a46759af2c884957115771affa7f4">cols</a>() const </td><td><a class="el" href="a00272.html">tbb::blocked_range2d< RowValue, ColValue ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00272.html#d144cb2d88cef553420311aca8667a44">empty</a>() const </td><td><a class="el" href="a00272.html">tbb::blocked_range2d< RowValue, ColValue ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00272.html#ad36a9b38e4fef26d376f99552ce2d92">is_divisible</a>() const </td><td><a class="el" href="a00272.html">tbb::blocked_range2d< RowValue, ColValue ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00272.html#a807a22fe658ec38b8edfd69521d0383">row_range_type</a> typedef</td><td><a class="el" href="a00272.html">tbb::blocked_range2d< RowValue, ColValue ></a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00272.html#f496e7348a82652fba581203477cc07c">rows</a>() const </td><td><a class="el" href="a00272.html">tbb::blocked_range2d< RowValue, ColValue ></a></td><td><code> [inline]</code></td></tr>
-</table><hr>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>interface6</b></li><li class="navelem"><a class="el" href="a00011.html">aggregator</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> |
+<a href="a00352.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::interface6::aggregator Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Basic aggregator interface.  
+ <a href="a00011.html#details">More...</a></p>
+
+<p><code>#include <aggregator.h></code></p>
+<div class="dynheader">
+Inheritance diagram for tbb::interface6::aggregator:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00011.png" usemap="#tbb::interface6::aggregator_map" alt=""/>
+  <map id="tbb::interface6::aggregator_map" name="tbb::interface6::aggregator_map">
+<area href="a00012.html" alt="tbb::interface6::aggregator_ext< internal::basic_handler >" shape="rect" coords="0,0,335,24"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:aa7cc924b6f0d17578d61fd9002f59f84"><td class="memTemplParams" colspan="2">template<typename Body > </td></tr>
+<tr class="memitem:aa7cc924b6f0d17578d61fd9002f59f84"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00011.html#aa7cc924b6f0d17578d61fd9002f59f84">execute</a> (const Body &b)</td></tr>
+<tr class="memdesc:aa7cc924b6f0d17578d61fd9002f59f84"><td class="mdescLeft"> </td><td class="mdescRight">BASIC INTERFACE: Enter a function for exclusvie execution by the aggregator.  <a href="#aa7cc924b6f0d17578d61fd9002f59f84">More...</a><br/></td></tr>
+<tr class="separator:aa7cc924b6f0d17578d61fd9002f59f84"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
+Additional Inherited Members</h2></td></tr>
+<tr class="inherit_header pub_methods_a00012"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00012')"><img src="closed.png" alt="-"/> Private Member Functions inherited from <a class="el" href="a00012.html">tbb::interface6::aggregator_ext< internal::basic_handler ></a></td></tr>
+<tr class="memitem:a8ae120a21264cc1ea0a9cfafaa0634e4 inherit pub_methods_a00012"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8ae120a21264cc1ea0a9cfafaa0634e4"></a>
+ </td><td class="memItemRight" valign="bottom"><b>aggregator_ext</b> (const <a class="el" href="a00018.html">internal::basic_handler</a> &h)</td></tr>
+<tr class="separator:a8ae120a21264cc1ea0a9cfafaa0634e4 inherit pub_methods_a00012"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ae55b16ec6af204aa00d6a716fccec9f7 inherit pub_methods_a00012"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00012.html#ae55b16ec6af204aa00d6a716fccec9f7">process</a> (<a class="el" href="a00013.html">aggregator_operation</a> *op)</td></tr>
+<tr class="memdesc:ae55b16ec6af204aa00d6a716fccec9f7 inherit pub_methods_a00012"><td class="mdescLeft"> </td><td class="mdescRight">EXPERT INTERFACE: Enter a user-made operation into the aggregator's mailbox.  <a href="#ae55b16ec6af204aa00d6a716fccec9f7">More...</a><br/></td></tr>
+<tr class="separator:ae55b16ec6af204aa00d6a716fccec9f7 inherit pub_methods_a00012"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ad376e5c31d10e885f33964592aa629d4 inherit pro_methods_a00012"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00012.html#ad376e5c31d10e885f33964592aa629d4">execute_impl</a> (<a class="el" href="a00013.html">aggregator_operation</a> &op)</td></tr>
+<tr class="separator:ad376e5c31d10e885f33964592aa629d4 inherit pro_methods_a00012"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Basic aggregator interface. </p>
+</div><h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="aa7cc924b6f0d17578d61fd9002f59f84"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename Body > </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">void tbb::interface6::aggregator::execute </td>
+          <td>(</td>
+          <td class="paramtype">const Body & </td>
+          <td class="paramname"><em>b</em>)</td><td></td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>BASIC INTERFACE: Enter a function for exclusvie execution by the aggregator. </p>
+<p>The calling thread stores the function object in a basic_operation and places the operation in the aggregator's mailbox </p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>aggregator.h</li>
+</ul>
+</div><!-- contents -->
+<hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00011.png b/doc/html/a00011.png
new file mode 100644
index 0000000..d78b2db
Binary files /dev/null and b/doc/html/a00011.png differ
diff --git a/doc/html/a00012.html b/doc/html/a00012.html
index 71e4fd6..0795988 100644
--- a/doc/html/a00012.html
+++ b/doc/html/a00012.html
@@ -1,40 +1,148 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::interface6::aggregator_ext< handler_type > Class Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<h1>tbb::blocked_range3d< PageValue, RowValue, ColValue > Member List</h1>This is the complete list of members for <a class="el" href="a00273.html">tbb::blocked_range3d< PageValue, RowValue, ColValue ></a>, including all inherited members.<p><table>
-  <tr bgcolor="#f0f0f0"><td><b>blocked_range3d</b>(PageValue page_begin, PageValue page_end, RowValue row_begin, RowValue row_end, ColValue col_begin, ColValue col_end) (defined in <a class="el" href="a00273.html">tbb::blocked_range3d< PageValue, RowValue, ColValue ></a>)</td><td><a class="el" href="a00273.html">tbb::blocked_range3d< PageValue, RowValue, ColValue ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>blocked_range3d</b>(PageValue page_begin, PageValue page_end, typename page_range_type::size_type page_grainsize, RowValue row_begin, RowValue row_end, typename row_range_type::size_type row_grainsize, ColValue col_begin, ColValue col_end, typename col_range_type::size_type col_grainsize) (defined in <a class="el" href="a00273.html">tbb::blocked_range3d< PageValue, RowValue, ColValue ></a>)</td><td><a class="el" href="a00273.html">tbb::blocked_range3d [...]
-  <tr bgcolor="#f0f0f0"><td><b>blocked_range3d</b>(blocked_range3d &r, split) (defined in <a class="el" href="a00273.html">tbb::blocked_range3d< PageValue, RowValue, ColValue ></a>)</td><td><a class="el" href="a00273.html">tbb::blocked_range3d< PageValue, RowValue, ColValue ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>col_range_type</b> typedef (defined in <a class="el" href="a00273.html">tbb::blocked_range3d< PageValue, RowValue, ColValue ></a>)</td><td><a class="el" href="a00273.html">tbb::blocked_range3d< PageValue, RowValue, ColValue ></a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00273.html#3336ba9480fd6c43e158f9beb024c050">cols</a>() const </td><td><a class="el" href="a00273.html">tbb::blocked_range3d< PageValue, RowValue, ColValue ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00273.html#356860e1c977d91711e8216bd55c0b25">empty</a>() const </td><td><a class="el" href="a00273.html">tbb::blocked_range3d< PageValue, RowValue, ColValue ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00273.html#39d69191721c488e737ae5d9c5336b9c">is_divisible</a>() const </td><td><a class="el" href="a00273.html">tbb::blocked_range3d< PageValue, RowValue, ColValue ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00273.html#b8ebf17a552ba47825e9b3887855b719">page_range_type</a> typedef</td><td><a class="el" href="a00273.html">tbb::blocked_range3d< PageValue, RowValue, ColValue ></a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00273.html#cf971430aa12361d3ed245344b7c6764">pages</a>() const </td><td><a class="el" href="a00273.html">tbb::blocked_range3d< PageValue, RowValue, ColValue ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>row_range_type</b> typedef (defined in <a class="el" href="a00273.html">tbb::blocked_range3d< PageValue, RowValue, ColValue ></a>)</td><td><a class="el" href="a00273.html">tbb::blocked_range3d< PageValue, RowValue, ColValue ></a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00273.html#1584623e59ff32a8aa82006827508be4">rows</a>() const </td><td><a class="el" href="a00273.html">tbb::blocked_range3d< PageValue, RowValue, ColValue ></a></td><td><code> [inline]</code></td></tr>
-</table><hr>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>interface6</b></li><li class="navelem"><a class="el" href="a00012.html">aggregator_ext</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> |
+<a href="#pro-methods">Protected Member Functions</a> |
+<a href="a00351.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::interface6::aggregator_ext< handler_type > Class Template Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Aggregator base class and expert interface.  
+ <a href="a00012.html#details">More...</a></p>
+
+<p><code>#include <aggregator.h></code></p>
+<div class="dynheader">
+Inheritance diagram for tbb::interface6::aggregator_ext< handler_type >:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00012.png" usemap="#tbb::interface6::aggregator_ext< handler_type >_map" alt=""/>
+  <map id="tbb::interface6::aggregator_ext< handler_type >_map" name="tbb::interface6::aggregator_ext< handler_type >_map">
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a8ae120a21264cc1ea0a9cfafaa0634e4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8ae120a21264cc1ea0a9cfafaa0634e4"></a>
+ </td><td class="memItemRight" valign="bottom"><b>aggregator_ext</b> (const handler_type &h)</td></tr>
+<tr class="separator:a8ae120a21264cc1ea0a9cfafaa0634e4"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ae55b16ec6af204aa00d6a716fccec9f7"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00012.html#ae55b16ec6af204aa00d6a716fccec9f7">process</a> (<a class="el" href="a00013.html">aggregator_operation</a> *op)</td></tr>
+<tr class="memdesc:ae55b16ec6af204aa00d6a716fccec9f7"><td class="mdescLeft"> </td><td class="mdescRight">EXPERT INTERFACE: Enter a user-made operation into the aggregator's mailbox.  <a href="#ae55b16ec6af204aa00d6a716fccec9f7">More...</a><br/></td></tr>
+<tr class="separator:ae55b16ec6af204aa00d6a716fccec9f7"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
+Protected Member Functions</h2></td></tr>
+<tr class="memitem:ad376e5c31d10e885f33964592aa629d4"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00012.html#ad376e5c31d10e885f33964592aa629d4">execute_impl</a> (<a class="el" href="a00013.html">aggregator_operation</a> &op)</td></tr>
+<tr class="separator:ad376e5c31d10e885f33964592aa629d4"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><h3>template<typename handler_type><br/>
+class tbb::interface6::aggregator_ext< handler_type ></h3>
+
+<p>Aggregator base class and expert interface. </p>
+<p>An aggregator for collecting operations coming from multiple sources and executing them serially on a single thread. </p>
+</div><h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="ad376e5c31d10e885f33964592aa629d4"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename handler_type> </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">void <a class="el" href="a00012.html">tbb::interface6::aggregator_ext</a>< handler_type >::execute_impl </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="a00013.html">aggregator_operation</a> & </td>
+          <td class="paramname"><em>op</em>)</td><td></td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<p>Place operation in mailbox, then either handle mailbox or wait for the operation to be completed by a different thread. </p>
+
+</div>
+</div>
+<a class="anchor" id="ae55b16ec6af204aa00d6a716fccec9f7"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename handler_type> </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">void <a class="el" href="a00012.html">tbb::interface6::aggregator_ext</a>< handler_type >::process </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="a00013.html">aggregator_operation</a> * </td>
+          <td class="paramname"><em>op</em>)</td><td></td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>EXPERT INTERFACE: Enter a user-made operation into the aggregator's mailbox. </p>
+<p>Details of user-made operations must be handled by user-provided handler </p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>aggregator.h</li>
+</ul>
+</div><!-- contents -->
+<hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00012.png b/doc/html/a00012.png
new file mode 100644
index 0000000..75772ae
Binary files /dev/null and b/doc/html/a00012.png differ
diff --git a/doc/html/a00013.html b/doc/html/a00013.html
index aa8310f..3a50329 100644
--- a/doc/html/a00013.html
+++ b/doc/html/a00013.html
@@ -1,45 +1,126 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::interface6::aggregator_operation Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<h1>tbb::cache_aligned_allocator< T > Member List</h1>This is the complete list of members for <a class="el" href="a00276.html">tbb::cache_aligned_allocator< T ></a>, including all inherited members.<p><table>
-  <tr bgcolor="#f0f0f0"><td><b>address</b>(reference x) const  (defined in <a class="el" href="a00276.html">tbb::cache_aligned_allocator< T ></a>)</td><td><a class="el" href="a00276.html">tbb::cache_aligned_allocator< T ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>address</b>(const_reference x) const  (defined in <a class="el" href="a00276.html">tbb::cache_aligned_allocator< T ></a>)</td><td><a class="el" href="a00276.html">tbb::cache_aligned_allocator< T ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00276.html#4cdeea67af6c1fcd8f1d5e9c4cab61e8">allocate</a>(size_type n, const void *hint=0)</td><td><a class="el" href="a00276.html">tbb::cache_aligned_allocator< T ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>cache_aligned_allocator</b>() (defined in <a class="el" href="a00276.html">tbb::cache_aligned_allocator< T ></a>)</td><td><a class="el" href="a00276.html">tbb::cache_aligned_allocator< T ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>cache_aligned_allocator</b>(const cache_aligned_allocator &) (defined in <a class="el" href="a00276.html">tbb::cache_aligned_allocator< T ></a>)</td><td><a class="el" href="a00276.html">tbb::cache_aligned_allocator< T ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>cache_aligned_allocator</b>(const cache_aligned_allocator< U > &) (defined in <a class="el" href="a00276.html">tbb::cache_aligned_allocator< T ></a>)</td><td><a class="el" href="a00276.html">tbb::cache_aligned_allocator< T ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>const_pointer</b> typedef (defined in <a class="el" href="a00276.html">tbb::cache_aligned_allocator< T ></a>)</td><td><a class="el" href="a00276.html">tbb::cache_aligned_allocator< T ></a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>const_reference</b> typedef (defined in <a class="el" href="a00276.html">tbb::cache_aligned_allocator< T ></a>)</td><td><a class="el" href="a00276.html">tbb::cache_aligned_allocator< T ></a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00276.html#273d07524d386efc1366bf37af5f91f4">construct</a>(U *p, Args &&...args)</td><td><a class="el" href="a00276.html">tbb::cache_aligned_allocator< T ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00276.html#3d4eadf188f7d85d3805ae534e0b8e1c">deallocate</a>(pointer p, size_type)</td><td><a class="el" href="a00276.html">tbb::cache_aligned_allocator< T ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>difference_type</b> typedef (defined in <a class="el" href="a00276.html">tbb::cache_aligned_allocator< T ></a>)</td><td><a class="el" href="a00276.html">tbb::cache_aligned_allocator< T ></a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00276.html#fb23b687b4c0429dab4c7f8017266cf0">max_size</a>() const </td><td><a class="el" href="a00276.html">tbb::cache_aligned_allocator< T ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>pointer</b> typedef (defined in <a class="el" href="a00276.html">tbb::cache_aligned_allocator< T ></a>)</td><td><a class="el" href="a00276.html">tbb::cache_aligned_allocator< T ></a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>reference</b> typedef (defined in <a class="el" href="a00276.html">tbb::cache_aligned_allocator< T ></a>)</td><td><a class="el" href="a00276.html">tbb::cache_aligned_allocator< T ></a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>size_type</b> typedef (defined in <a class="el" href="a00276.html">tbb::cache_aligned_allocator< T ></a>)</td><td><a class="el" href="a00276.html">tbb::cache_aligned_allocator< T ></a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>value_type</b> typedef (defined in <a class="el" href="a00276.html">tbb::cache_aligned_allocator< T ></a>)</td><td><a class="el" href="a00276.html">tbb::cache_aligned_allocator< T ></a></td><td></td></tr>
-</table><hr>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>interface6</b></li><li class="navelem"><a class="el" href="a00013.html">aggregator_operation</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-types">Public Types</a> |
+<a href="#pub-methods">Public Member Functions</a> |
+<a href="#friends">Friends</a> |
+<a href="a00350.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::interface6::aggregator_operation Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="dynheader">
+Inheritance diagram for tbb::interface6::aggregator_operation:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00013.png" usemap="#tbb::interface6::aggregator_operation_map" alt=""/>
+  <map id="tbb::interface6::aggregator_operation_map" name="tbb::interface6::aggregator_operation_map">
+<area href="a00020.html" alt="tbb::interface6::internal::basic_operation_base" shape="rect" coords="0,56,289,80"/>
+<area href="a00019.html" alt="tbb::interface6::internal::basic_operation< Body >" shape="rect" coords="0,112,289,136"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:a855dc55cb1823ed4845f4ed6b0a87700"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><b>aggregator_operation_status</b> { <b>agg_waiting</b> =0, 
+<b>agg_finished</b>
+ }</td></tr>
+<tr class="separator:a855dc55cb1823ed4845f4ed6b0a87700"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:adc0e032aa604f1da85ffc7ec269b157f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adc0e032aa604f1da85ffc7ec269b157f"></a>
+void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00013.html#adc0e032aa604f1da85ffc7ec269b157f">start</a> ()</td></tr>
+<tr class="memdesc:adc0e032aa604f1da85ffc7ec269b157f"><td class="mdescLeft"> </td><td class="mdescRight">Call start before handling this operation. <br/></td></tr>
+<tr class="separator:adc0e032aa604f1da85ffc7ec269b157f"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ac7edadfe74f475783f3b429904e7010a"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00013.html#ac7edadfe74f475783f3b429904e7010a">finish</a> ()</td></tr>
+<tr class="memdesc:ac7edadfe74f475783f3b429904e7010a"><td class="mdescLeft"> </td><td class="mdescRight">Call finish when done handling this operation.  <a href="#ac7edadfe74f475783f3b429904e7010a">More...</a><br/></td></tr>
+<tr class="separator:ac7edadfe74f475783f3b429904e7010a"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:acbce3d13545770501b54df153bf1e690"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acbce3d13545770501b54df153bf1e690"></a>
+<a class="el" href="a00013.html">aggregator_operation</a> * </td><td class="memItemRight" valign="bottom"><b>next</b> ()</td></tr>
+<tr class="separator:acbce3d13545770501b54df153bf1e690"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a03cf9fad0ca21da61b83325a50e17d0b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a03cf9fad0ca21da61b83325a50e17d0b"></a>
+void </td><td class="memItemRight" valign="bottom"><b>set_next</b> (<a class="el" href="a00013.html">aggregator_operation</a> *n)</td></tr>
+<tr class="separator:a03cf9fad0ca21da61b83325a50e17d0b"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
+Friends</h2></td></tr>
+<tr class="memitem:a7f6e7d315f893b1b66d06ffdad12038e"><td class="memTemplParams" colspan="2"><a class="anchor" id="a7f6e7d315f893b1b66d06ffdad12038e"></a>
+template<typename handler_type > </td></tr>
+<tr class="memitem:a7f6e7d315f893b1b66d06ffdad12038e"><td class="memTemplItemLeft" align="right" valign="top">class </td><td class="memTemplItemRight" valign="bottom"><b>aggregator_ext</b></td></tr>
+<tr class="separator:a7f6e7d315f893b1b66d06ffdad12038e"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="ac7edadfe74f475783f3b429904e7010a"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">void tbb::interface6::aggregator_operation::finish </td>
+          <td>(</td>
+          <td class="paramname">)</td><td></td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Call finish when done handling this operation. </p>
+<p>The operation will be released to its originating thread, and possibly deleted. </p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>aggregator.h</li>
+</ul>
+</div><!-- contents -->
+<hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00013.png b/doc/html/a00013.png
new file mode 100644
index 0000000..70eef83
Binary files /dev/null and b/doc/html/a00013.png differ
diff --git a/doc/html/a00014.html b/doc/html/a00014.html
new file mode 100644
index 0000000..bf6806d
--- /dev/null
+++ b/doc/html/a00014.html
@@ -0,0 +1,82 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::aligned_space< T, N > Class Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00014.html">aligned_space</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> |
+<a href="a00244.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::aligned_space< T, N > Class Template Reference<div class="ingroups"><a class="el" href="a00236.html">Memory Allocation</a></div></div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Block of space aligned sufficiently to construct an array T with N elements.  
+ <a href="a00014.html#details">More...</a></p>
+
+<p><code>#include <aligned_space.h></code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a3525dbbac0d4eaedfe18bc57b7760857"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3525dbbac0d4eaedfe18bc57b7760857"></a>
+T * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00014.html#a3525dbbac0d4eaedfe18bc57b7760857">begin</a> ()</td></tr>
+<tr class="memdesc:a3525dbbac0d4eaedfe18bc57b7760857"><td class="mdescLeft"> </td><td class="mdescRight">Pointer to beginning of array. <br/></td></tr>
+<tr class="separator:a3525dbbac0d4eaedfe18bc57b7760857"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ae95620e1159984a2670bd418ed4748d0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae95620e1159984a2670bd418ed4748d0"></a>
+T * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00014.html#ae95620e1159984a2670bd418ed4748d0">end</a> ()</td></tr>
+<tr class="memdesc:ae95620e1159984a2670bd418ed4748d0"><td class="mdescLeft"> </td><td class="mdescRight">Pointer to one past last element in array. <br/></td></tr>
+<tr class="separator:ae95620e1159984a2670bd418ed4748d0"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><h3>template<typename T, size_t N><br/>
+class tbb::aligned_space< T, N ></h3>
+
+<p>Block of space aligned sufficiently to construct an array T with N elements. </p>
+<p>The elements are not constructed or destroyed by this class. </p>
+</div><hr/>The documentation for this class was generated from the following file:<ul>
+<li>aligned_space.h</li>
+</ul>
+</div><!-- contents -->
+<hr>
+<p></p>
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
+<p></p>
+Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
+registered trademarks or trademarks of Intel Corporation or its
+subsidiaries in the United States and other countries.
+<p></p>
+* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00015.html b/doc/html/a00015.html
index 352b5b6..ee605ad 100644
--- a/doc/html/a00015.html
+++ b/doc/html/a00015.html
@@ -1,32 +1,88 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::atomic< T > Struct Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<h1>tbb::cache_aligned_allocator< void > Member List</h1>This is the complete list of members for <a class="el" href="a00277.html">tbb::cache_aligned_allocator< void ></a>, including all inherited members.<p><table>
-  <tr bgcolor="#f0f0f0"><td><b>const_pointer</b> typedef (defined in <a class="el" href="a00277.html">tbb::cache_aligned_allocator< void ></a>)</td><td><a class="el" href="a00277.html">tbb::cache_aligned_allocator< void ></a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>pointer</b> typedef (defined in <a class="el" href="a00277.html">tbb::cache_aligned_allocator< void ></a>)</td><td><a class="el" href="a00277.html">tbb::cache_aligned_allocator< void ></a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>value_type</b> typedef (defined in <a class="el" href="a00277.html">tbb::cache_aligned_allocator< void ></a>)</td><td><a class="el" href="a00277.html">tbb::cache_aligned_allocator< void ></a></td><td></td></tr>
-</table><hr>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00015.html">atomic</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> |
+<a href="a00245.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::atomic< T > Struct Template Reference<div class="ingroups"><a class="el" href="a00237.html">Synchronization</a></div></div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Primary template for atomic.  
+ <a href="a00015.html#details">More...</a></p>
+
+<p><code>#include <atomic.h></code></p>
+<div class="dynheader">
+Inheritance diagram for tbb::atomic< T >:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00015.png" usemap="#tbb::atomic< T >_map" alt=""/>
+  <map id="tbb::atomic< T >_map" name="tbb::atomic< T >_map">
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a8624826901f5a3267853386bf880bd88"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8624826901f5a3267853386bf880bd88"></a>
+constexpr </td><td class="memItemRight" valign="bottom"><b>atomic</b> (T arg)</td></tr>
+<tr class="separator:a8624826901f5a3267853386bf880bd88"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a5942feb81281f810edddc61a48dd7a39"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5942feb81281f810edddc61a48dd7a39"></a>
+T </td><td class="memItemRight" valign="bottom"><b>operator=</b> (T rhs)</td></tr>
+<tr class="separator:a5942feb81281f810edddc61a48dd7a39"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a7d65b6cae3bd11c79a8e51e25055be52"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7d65b6cae3bd11c79a8e51e25055be52"></a>
+<a class="el" href="a00015.html">atomic</a>< T > & </td><td class="memItemRight" valign="bottom"><b>operator=</b> (const <a class="el" href="a00015.html">atomic</a>< T > &rhs)</td></tr>
+<tr class="separator:a7d65b6cae3bd11c79a8e51e25055be52"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><h3>template<typename T><br/>
+struct tbb::atomic< T ></h3>
+
+<p>Primary template for atomic. </p>
+<p>See the Reference for details. </p>
+</div><hr/>The documentation for this struct was generated from the following file:<ul>
+<li>atomic.h</li>
+</ul>
+</div><!-- contents -->
+<hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00015.png b/doc/html/a00015.png
new file mode 100644
index 0000000..257e923
Binary files /dev/null and b/doc/html/a00015.png differ
diff --git a/doc/html/a00016.html b/doc/html/a00016.html
new file mode 100644
index 0000000..abea826
--- /dev/null
+++ b/doc/html/a00016.html
@@ -0,0 +1,90 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::atomic< void * > Struct Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00016.html">atomic< void * ></a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> |
+<a href="a00246.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::atomic< void * > Struct Template Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Specialization for <a class="el" href="a00016.html" title="Specialization for atomic<void*>, for sake of not allowing arithmetic or operator->. ">atomic<void*></a>, for sake of not allowing arithmetic or operator->.  
+ <a href="a00016.html#details">More...</a></p>
+
+<p><code>#include <atomic.h></code></p>
+<div class="dynheader">
+Inheritance diagram for tbb::atomic< void * >:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00016.png" usemap="#tbb::atomic< void * >_map" alt=""/>
+  <map id="tbb::atomic< void * >_map" name="tbb::atomic< void * >_map">
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a744970055554db56a922b83dd1125dcf"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a744970055554db56a922b83dd1125dcf"></a>
+constexpr </td><td class="memItemRight" valign="bottom"><b>atomic</b> (void *arg)</td></tr>
+<tr class="separator:a744970055554db56a922b83dd1125dcf"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a3da2906b224154d9961054f07b2e310b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3da2906b224154d9961054f07b2e310b"></a>
+void * </td><td class="memItemRight" valign="bottom"><b>operator=</b> (void *rhs)</td></tr>
+<tr class="separator:a3da2906b224154d9961054f07b2e310b"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a8cb22d05fe655337f6129dc8f3ab6783"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8cb22d05fe655337f6129dc8f3ab6783"></a>
+<a class="el" href="a00015.html">atomic</a>< void * > & </td><td class="memItemRight" valign="bottom"><b>operator=</b> (const <a class="el" href="a00015.html">atomic</a>< void * > &rhs)</td></tr>
+<tr class="separator:a8cb22d05fe655337f6129dc8f3ab6783"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><h3>template<><br/>
+struct tbb::atomic< void * ></h3>
+
+<p>Specialization for <a class="el" href="a00016.html" title="Specialization for atomic<void*>, for sake of not allowing arithmetic or operator->. ">atomic<void*></a>, for sake of not allowing arithmetic or operator->. </p>
+</div><hr/>The documentation for this struct was generated from the following file:<ul>
+<li>atomic.h</li>
+</ul>
+</div><!-- contents -->
+<hr>
+<p></p>
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
+<p></p>
+Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
+registered trademarks or trademarks of Intel Corporation or its
+subsidiaries in the United States and other countries.
+<p></p>
+* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00016.png b/doc/html/a00016.png
new file mode 100644
index 0000000..c5aaf08
Binary files /dev/null and b/doc/html/a00016.png differ
diff --git a/doc/html/a00017.html b/doc/html/a00017.html
index b7914f7..25f6deb 100644
--- a/doc/html/a00017.html
+++ b/doc/html/a00017.html
@@ -1,39 +1,78 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::bad_last_alloc Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<h1>tbb::combinable< T > Member List</h1>This is the complete list of members for <a class="el" href="a00279.html">tbb::combinable< T ></a>, including all inherited members.<p><table>
-  <tr bgcolor="#f0f0f0"><td><b>clear</b>() (defined in <a class="el" href="a00279.html">tbb::combinable< T ></a>)</td><td><a class="el" href="a00279.html">tbb::combinable< T ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>combinable</b>() (defined in <a class="el" href="a00279.html">tbb::combinable< T ></a>)</td><td><a class="el" href="a00279.html">tbb::combinable< T ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>combinable</b>(finit _finit) (defined in <a class="el" href="a00279.html">tbb::combinable< T ></a>)</td><td><a class="el" href="a00279.html">tbb::combinable< T ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>combinable</b>(const combinable &other) (defined in <a class="el" href="a00279.html">tbb::combinable< T ></a>)</td><td><a class="el" href="a00279.html">tbb::combinable< T ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>combine</b>(combine_func_t f_combine) (defined in <a class="el" href="a00279.html">tbb::combinable< T ></a>)</td><td><a class="el" href="a00279.html">tbb::combinable< T ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>combine_each</b>(combine_func_t f_combine) (defined in <a class="el" href="a00279.html">tbb::combinable< T ></a>)</td><td><a class="el" href="a00279.html">tbb::combinable< T ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>local</b>() (defined in <a class="el" href="a00279.html">tbb::combinable< T ></a>)</td><td><a class="el" href="a00279.html">tbb::combinable< T ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>local</b>(bool &exists) (defined in <a class="el" href="a00279.html">tbb::combinable< T ></a>)</td><td><a class="el" href="a00279.html">tbb::combinable< T ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>operator=</b>(const combinable &other) (defined in <a class="el" href="a00279.html">tbb::combinable< T ></a>)</td><td><a class="el" href="a00279.html">tbb::combinable< T ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00279.html#2c87e79ae98588a5780f708773388843">~combinable</a>()</td><td><a class="el" href="a00279.html">tbb::combinable< T ></a></td><td><code> [inline]</code></td></tr>
-</table><hr>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00017.html">bad_last_alloc</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> |
+<a href="a00297.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::bad_last_alloc Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Exception for concurrent containers.  
+ <a href="a00017.html#details">More...</a></p>
+
+<p><code>#include <tbb_exception.h></code></p>
+<div class="dynheader">
+Inheritance diagram for tbb::bad_last_alloc:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00017.png" usemap="#tbb::bad_last_alloc_map" alt=""/>
+  <map id="tbb::bad_last_alloc_map" name="tbb::bad_last_alloc_map">
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a3dd95f1a9f15f50eed6a79c079b25d32"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3dd95f1a9f15f50eed6a79c079b25d32"></a>
+const char * </td><td class="memItemRight" valign="bottom"><b>what</b> () const   throw ()</td></tr>
+<tr class="separator:a3dd95f1a9f15f50eed6a79c079b25d32"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Exception for concurrent containers. </p>
+</div><hr/>The documentation for this class was generated from the following file:<ul>
+<li>tbb_exception.h</li>
+</ul>
+</div><!-- contents -->
+<hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00017.png b/doc/html/a00017.png
new file mode 100644
index 0000000..6cb758a
Binary files /dev/null and b/doc/html/a00017.png differ
diff --git a/doc/html/a00018.html b/doc/html/a00018.html
index 61850f9..814977b 100644
--- a/doc/html/a00018.html
+++ b/doc/html/a00018.html
@@ -1,31 +1,63 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::interface6::internal::basic_handler Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<h1>tbb::tbb_hash_compare< Key > Member List</h1>This is the complete list of members for <a class="el" href="a00360.html">tbb::tbb_hash_compare< Key ></a>, including all inherited members.<p><table>
-  <tr bgcolor="#f0f0f0"><td><b>equal</b>(const Key &a, const Key &b) (defined in <a class="el" href="a00360.html">tbb::tbb_hash_compare< Key ></a>)</td><td><a class="el" href="a00360.html">tbb::tbb_hash_compare< Key ></a></td><td><code> [inline, static]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>hash</b>(const Key &a) (defined in <a class="el" href="a00360.html">tbb::tbb_hash_compare< Key ></a>)</td><td><a class="el" href="a00360.html">tbb::tbb_hash_compare< Key ></a></td><td><code> [inline, static]</code></td></tr>
-</table><hr>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>interface6</b></li><li class="navelem"><b>internal</b></li><li class="navelem"><a class="el" href="a00018.html">basic_handler</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> |
+<a href="a00368.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::interface6::internal::basic_handler Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:afb0dec67968e9abdabb5a0e3ec8064a4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afb0dec67968e9abdabb5a0e3ec8064a4"></a>
+void </td><td class="memItemRight" valign="bottom"><b>operator()</b> (<a class="el" href="a00013.html">aggregator_operation</a> *op_list) const </td></tr>
+<tr class="separator:afb0dec67968e9abdabb5a0e3ec8064a4"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>aggregator.h</li>
+</ul>
+</div><!-- contents -->
+<hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00019.html b/doc/html/a00019.html
index 750c59a..2c77b97 100644
--- a/doc/html/a00019.html
+++ b/doc/html/a00019.html
@@ -1,94 +1,81 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::interface6::internal::basic_operation< Body > Class Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<h1>tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator > Member List</h1>This is the complete list of members for <a class="el" href="a00281.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a>, including all inherited members.<p><table>
-  <tr bgcolor="#f0f0f0"><td><b>allocator_type</b> typedef (defined in <a class="el" href="a00281.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a>)</td><td><a class="el" href="a00281.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>begin</b>() (defined in <a class="el" href="a00281.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a>)</td><td><a class="el" href="a00281.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>begin</b>() const  (defined in <a class="el" href="a00281.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a>)</td><td><a class="el" href="a00281.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00281.html#af34cb91b1d0f36a885a1a3432dd9af1">bucket_count</a>() const </td><td><a class="el" href="a00281.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00281.html#220686fe17b197eedf19dd856cd02e36">clear</a>()</td><td><a class="el" href="a00281.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00281.html#1ad413f5b666176e7669bf4c87d1ff3f">concurrent_hash_map</a>(const allocator_type &a=allocator_type())</td><td><a class="el" href="a00281.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00281.html#46b9896317662c3cfa3c876ad7592a7c">concurrent_hash_map</a>(size_type n, const allocator_type &a=allocator_type())</td><td><a class="el" href="a00281.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00281.html#6fb14710893308fb47aaeee55ee30dc3">concurrent_hash_map</a>(const concurrent_hash_map &table, const allocator_type &a=allocator_type())</td><td><a class="el" href="a00281.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00281.html#83c40f2053f208861b90390e12a36436">concurrent_hash_map</a>(I first, I last, const allocator_type &a=allocator_type())</td><td><a class="el" href="a00281.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00281.html#3bb2e3526ed741f0689c00d6cd022431">concurrent_hash_map</a>(const std::initializer_list< value_type > &il, const allocator_type &a=allocator_type())</td><td><a class="el" href="a00281.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>const_accessor</b> (defined in <a class="el" href="a00281.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a>)</td><td><a class="el" href="a00281.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a></td><td><code> [friend]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>const_iterator</b> typedef (defined in <a class="el" href="a00281.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a>)</td><td><a class="el" href="a00281.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>const_pointer</b> typedef (defined in <a class="el" href="a00281.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a>)</td><td><a class="el" href="a00281.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>const_range_type</b> typedef (defined in <a class="el" href="a00281.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a>)</td><td><a class="el" href="a00281.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>const_reference</b> typedef (defined in <a class="el" href="a00281.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a>)</td><td><a class="el" href="a00281.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00281.html#6968eb6feed2df36be421df0464297af">count</a>(const Key &key) const </td><td><a class="el" href="a00281.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>delete_node</b>(node_base *n) (defined in <a class="el" href="a00281.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a>)</td><td><a class="el" href="a00281.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a></td><td><code> [inline, protected]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>difference_type</b> typedef (defined in <a class="el" href="a00281.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a>)</td><td><a class="el" href="a00281.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00281.html#61ff2e5bb44e5469366fd5295e5d0ebe">empty</a>() const </td><td><a class="el" href="a00281.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>end</b>() (defined in <a class="el" href="a00281.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a>)</td><td><a class="el" href="a00281.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>end</b>() const  (defined in <a class="el" href="a00281.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a>)</td><td><a class="el" href="a00281.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>equal_range</b>(const Key &key) (defined in <a class="el" href="a00281.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a>)</td><td><a class="el" href="a00281.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>equal_range</b>(const Key &key) const  (defined in <a class="el" href="a00281.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a>)</td><td><a class="el" href="a00281.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00281.html#f27802b3a8d1863c29e743e9c6b4e870">erase</a>(const Key &key)</td><td><a class="el" href="a00281.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00281.html#e698ef3d70b2d1a29a7a5551784d3653">erase</a>(const_accessor &item_accessor)</td><td><a class="el" href="a00281.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00281.html#5f12d150d421420965db07368666a84f">erase</a>(accessor &item_accessor)</td><td><a class="el" href="a00281.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00281.html#0c964214eb38f54603aa75fdff6d2709">exclude</a>(const_accessor &item_accessor)</td><td><a class="el" href="a00281.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a></td><td><code> [protected]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00281.html#2afcc33dade7bb24e008d60c0df38230">find</a>(const_accessor &result, const Key &key) const </td><td><a class="el" href="a00281.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00281.html#7bc475d1968f7f0af3d736d7e8a0d7df">find</a>(accessor &result, const Key &key)</td><td><a class="el" href="a00281.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00281.html#6cbcacb4a256a85bf89576c101373ca7">get_allocator</a>() const </td><td><a class="el" href="a00281.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00281.html#47fe0e60151a9bd7a444db827772a4e6">insert</a>(const_accessor &result, const Key &key)</td><td><a class="el" href="a00281.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00281.html#54e0955ecd11575b4c07166838a72893">insert</a>(accessor &result, const Key &key)</td><td><a class="el" href="a00281.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00281.html#091efd2d12fdad4fe9e54d9629a9dfc3">insert</a>(const_accessor &result, const value_type &value)</td><td><a class="el" href="a00281.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00281.html#39183d78d6e8425917555ab542ab92de">insert</a>(accessor &result, const value_type &value)</td><td><a class="el" href="a00281.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00281.html#3f121a316af8135de476a30fae6d7c07">insert</a>(const value_type &value)</td><td><a class="el" href="a00281.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00281.html#1dd37fad87e561151ba1e242ca94bcc1">insert</a>(I first, I last)</td><td><a class="el" href="a00281.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>internal::hash_map_iterator</b> (defined in <a class="el" href="a00281.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a>)</td><td><a class="el" href="a00281.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a></td><td><code> [friend]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>internal::hash_map_range</b> (defined in <a class="el" href="a00281.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a>)</td><td><a class="el" href="a00281.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a></td><td><code> [friend]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00281.html#72c9c9e9655fcf096f5f0ed9c8ba6669">internal_copy</a>(const concurrent_hash_map &source)</td><td><a class="el" href="a00281.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a></td><td><code> [protected]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>internal_copy</b>(I first, I last) (defined in <a class="el" href="a00281.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a>)</td><td><a class="el" href="a00281.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a></td><td><code> [protected]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00281.html#8f5373b8e1864619d1ffcf3bf3f1f13d">internal_equal_range</a>(const Key &key, I end) const </td><td><a class="el" href="a00281.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a></td><td><code> [protected]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00281.html#2f76ed101a0ccc8875b846c2f747897e">internal_fast_find</a>(const Key &key) const </td><td><a class="el" href="a00281.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a></td><td><code> [inline, protected]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>iterator</b> typedef (defined in <a class="el" href="a00281.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a>)</td><td><a class="el" href="a00281.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>key_type</b> typedef (defined in <a class="el" href="a00281.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a>)</td><td><a class="el" href="a00281.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00281.html#3f3413264a99174a224ef96f6c4ea769">lookup</a>(bool op_insert, const Key &key, const T *t, const_accessor *result, bool write)</td><td><a class="el" href="a00281.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a></td><td><code> [protected]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>mapped_type</b> typedef (defined in <a class="el" href="a00281.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a>)</td><td><a class="el" href="a00281.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00281.html#2bce57fe9b594abe1e6d2568aea8b357">max_size</a>() const </td><td><a class="el" href="a00281.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>my_allocator</b> (defined in <a class="el" href="a00281.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a>)</td><td><a class="el" href="a00281.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a></td><td><code> [protected]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>my_hash_compare</b> (defined in <a class="el" href="a00281.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a>)</td><td><a class="el" href="a00281.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a></td><td><code> [protected]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>node_allocator_type</b> typedef (defined in <a class="el" href="a00281.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a>)</td><td><a class="el" href="a00281.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a></td><td><code> [protected]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00281.html#088d1aaccc816884a49e38f7065622c8">operator=</a>(const concurrent_hash_map &table)</td><td><a class="el" href="a00281.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00281.html#f765500afa7f55480f3991cfbe826b28">operator=</a>(const std::initializer_list< value_type > &il)</td><td><a class="el" href="a00281.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>pointer</b> typedef (defined in <a class="el" href="a00281.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a>)</td><td><a class="el" href="a00281.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>range</b>(size_type grainsize=1) (defined in <a class="el" href="a00281.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a>)</td><td><a class="el" href="a00281.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>range</b>(size_type grainsize=1) const  (defined in <a class="el" href="a00281.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a>)</td><td><a class="el" href="a00281.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>range_type</b> typedef (defined in <a class="el" href="a00281.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a>)</td><td><a class="el" href="a00281.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>reference</b> typedef (defined in <a class="el" href="a00281.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a>)</td><td><a class="el" href="a00281.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00281.html#94758113d8993cfe5afdf2d63a728869">rehash</a>(size_type n=0)</td><td><a class="el" href="a00281.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>rehash_bucket</b>(bucket *b_new, const hashcode_t h) (defined in <a class="el" href="a00281.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a>)</td><td><a class="el" href="a00281.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a></td><td><code> [inline, protected]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>search_bucket</b>(const key_type &key, bucket *b) const  (defined in <a class="el" href="a00281.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a>)</td><td><a class="el" href="a00281.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a></td><td><code> [inline, protected]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00281.html#6aa56a8b5a25e61a97fa0b54fe2b5659">size</a>() const </td><td><a class="el" href="a00281.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>size_type</b> typedef (defined in <a class="el" href="a00281.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a>)</td><td><a class="el" href="a00281.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00281.html#076f8d9e16110aac5f558777aa744eb6">swap</a>(concurrent_hash_map &table)</td><td><a class="el" href="a00281.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>value_type</b> typedef (defined in <a class="el" href="a00281.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a>)</td><td><a class="el" href="a00281.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00281.html#2aa8e2d28d5af1284cf78d20a9c22731">~concurrent_hash_map</a>()</td><td><a class="el" href="a00281.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a></td><td><code> [inline]</code></td></tr>
-</table><hr>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>interface6</b></li><li class="navelem"><b>internal</b></li><li class="navelem"><a class="el" href="a00019.html">basic_operation</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> |
+<a href="a00367.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::interface6::internal::basic_operation< Body > Class Template Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="dynheader">
+Inheritance diagram for tbb::interface6::internal::basic_operation< Body >:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00019.png" usemap="#tbb::interface6::internal::basic_operation< Body >_map" alt=""/>
+  <map id="tbb::interface6::internal::basic_operation< Body >_map" name="tbb::interface6::internal::basic_operation< Body >_map">
+<area href="a00020.html" alt="tbb::interface6::internal::basic_operation_base" shape="rect" coords="0,56,289,80"/>
+<area href="a00013.html" alt="tbb::interface6::aggregator_operation" shape="rect" coords="0,0,289,24"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:adf48b2339f7de2f002c24c8951a03057"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adf48b2339f7de2f002c24c8951a03057"></a>
+ </td><td class="memItemRight" valign="bottom"><b>basic_operation</b> (const Body &b)</td></tr>
+<tr class="separator:adf48b2339f7de2f002c24c8951a03057"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
+Additional Inherited Members</h2></td></tr>
+<tr class="inherit_header pub_types_a00013"><td colspan="2" onclick="javascript:toggleInherit('pub_types_a00013')"><img src="closed.png" alt="-"/> Public Types inherited from <a class="el" href="a00013.html">tbb::interface6::aggregator_operation</a></td></tr>
+<tr class="memitem:a855dc55cb1823ed4845f4ed6b0a87700 inherit pub_types_a00013"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><b>aggregator_operation_status</b> { <b>agg_waiting</b> =0, 
+<b>agg_finished</b>
+ }</td></tr>
+<tr class="separator:a855dc55cb1823ed4845f4ed6b0a87700 inherit pub_types_a00013"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>aggregator.h</li>
+</ul>
+</div><!-- contents -->
+<hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00019.png b/doc/html/a00019.png
new file mode 100644
index 0000000..cadf33a
Binary files /dev/null and b/doc/html/a00019.png differ
diff --git a/doc/html/a00020.html b/doc/html/a00020.html
new file mode 100644
index 0000000..09d6520
--- /dev/null
+++ b/doc/html/a00020.html
@@ -0,0 +1,98 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::interface6::internal::basic_operation_base Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>interface6</b></li><li class="navelem"><b>internal</b></li><li class="navelem"><a class="el" href="a00020.html">basic_operation_base</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#friends">Friends</a> |
+<a href="a00366.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::interface6::internal::basic_operation_base Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="dynheader">
+Inheritance diagram for tbb::interface6::internal::basic_operation_base:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00020.png" usemap="#tbb::interface6::internal::basic_operation_base_map" alt=""/>
+  <map id="tbb::interface6::internal::basic_operation_base_map" name="tbb::interface6::internal::basic_operation_base_map">
+<area href="a00013.html" alt="tbb::interface6::aggregator_operation" shape="rect" coords="0,0,289,24"/>
+<area href="a00019.html" alt="tbb::interface6::internal::basic_operation< Body >" shape="rect" coords="0,112,289,136"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
+Friends</h2></td></tr>
+<tr class="memitem:afe66260da7455bea5b701a3d8a537ba7"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afe66260da7455bea5b701a3d8a537ba7"></a>
+class </td><td class="memItemRight" valign="bottom"><b>basic_handler</b></td></tr>
+<tr class="separator:afe66260da7455bea5b701a3d8a537ba7"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
+Additional Inherited Members</h2></td></tr>
+<tr class="inherit_header pub_types_a00013"><td colspan="2" onclick="javascript:toggleInherit('pub_types_a00013')"><img src="closed.png" alt="-"/> Public Types inherited from <a class="el" href="a00013.html">tbb::interface6::aggregator_operation</a></td></tr>
+<tr class="memitem:a855dc55cb1823ed4845f4ed6b0a87700 inherit pub_types_a00013"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><b>aggregator_operation_status</b> { <b>agg_waiting</b> =0, 
+<b>agg_finished</b>
+ }</td></tr>
+<tr class="separator:a855dc55cb1823ed4845f4ed6b0a87700 inherit pub_types_a00013"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="inherit_header pub_methods_a00013"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00013')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="a00013.html">tbb::interface6::aggregator_operation</a></td></tr>
+<tr class="memitem:adc0e032aa604f1da85ffc7ec269b157f inherit pub_methods_a00013"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adc0e032aa604f1da85ffc7ec269b157f"></a>
+void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00013.html#adc0e032aa604f1da85ffc7ec269b157f">start</a> ()</td></tr>
+<tr class="memdesc:adc0e032aa604f1da85ffc7ec269b157f inherit pub_methods_a00013"><td class="mdescLeft"> </td><td class="mdescRight">Call start before handling this operation. <br/></td></tr>
+<tr class="separator:adc0e032aa604f1da85ffc7ec269b157f inherit pub_methods_a00013"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ac7edadfe74f475783f3b429904e7010a inherit pub_methods_a00013"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00013.html#ac7edadfe74f475783f3b429904e7010a">finish</a> ()</td></tr>
+<tr class="memdesc:ac7edadfe74f475783f3b429904e7010a inherit pub_methods_a00013"><td class="mdescLeft"> </td><td class="mdescRight">Call finish when done handling this operation.  <a href="#ac7edadfe74f475783f3b429904e7010a">More...</a><br/></td></tr>
+<tr class="separator:ac7edadfe74f475783f3b429904e7010a inherit pub_methods_a00013"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:acbce3d13545770501b54df153bf1e690 inherit pub_methods_a00013"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acbce3d13545770501b54df153bf1e690"></a>
+<a class="el" href="a00013.html">aggregator_operation</a> * </td><td class="memItemRight" valign="bottom"><b>next</b> ()</td></tr>
+<tr class="separator:acbce3d13545770501b54df153bf1e690 inherit pub_methods_a00013"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a03cf9fad0ca21da61b83325a50e17d0b inherit pub_methods_a00013"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a03cf9fad0ca21da61b83325a50e17d0b"></a>
+void </td><td class="memItemRight" valign="bottom"><b>set_next</b> (<a class="el" href="a00013.html">aggregator_operation</a> *n)</td></tr>
+<tr class="separator:a03cf9fad0ca21da61b83325a50e17d0b inherit pub_methods_a00013"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>aggregator.h</li>
+</ul>
+</div><!-- contents -->
+<hr>
+<p></p>
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
+<p></p>
+Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
+registered trademarks or trademarks of Intel Corporation or its
+subsidiaries in the United States and other countries.
+<p></p>
+* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00020.png b/doc/html/a00020.png
new file mode 100644
index 0000000..0f94299
Binary files /dev/null and b/doc/html/a00020.png differ
diff --git a/doc/html/a00021.html b/doc/html/a00021.html
index 60f6d95..4dbefc9 100644
--- a/doc/html/a00021.html
+++ b/doc/html/a00021.html
@@ -1,33 +1,272 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::blocked_range< Value > Class Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<h1>tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator >::bucket_accessor Member List</h1>This is the complete list of members for <a class="el" href="a00283.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator >::bucket_accessor</a>, including all inherited members.<p><table>
-  <tr class="memlist"><td><a class="el" href="a00283.html#d11c77f4d70a94d4fb344492bbf18007">acquire</a>(concurrent_hash_map *base, const hashcode_t h, bool writer=false)</td><td><a class="el" href="a00283.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator >::bucket_accessor</a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>bucket_accessor</b>(concurrent_hash_map *base, const hashcode_t h, bool writer=false) (defined in <a class="el" href="a00283.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator >::bucket_accessor</a>)</td><td><a class="el" href="a00283.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator >::bucket_accessor</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00283.html#07d958f151a0eaa92f50fd56ad6440e2">is_writer</a>()</td><td><a class="el" href="a00283.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator >::bucket_accessor</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00283.html#fa6314b861c574f86ed189b124cf5853">operator()</a>()</td><td><a class="el" href="a00283.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator >::bucket_accessor</a></td><td><code> [inline]</code></td></tr>
-</table><hr>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00021.html">blocked_range</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-types">Public Types</a> |
+<a href="#pub-methods">Public Member Functions</a> |
+<a href="#friends">Friends</a> |
+<a href="a00247.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::blocked_range< Value > Class Template Reference<div class="ingroups"><a class="el" href="a00234.html">Algorithms</a></div></div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>A range over which to iterate.  
+ <a href="a00021.html#details">More...</a></p>
+
+<p><code>#include <blocked_range.h></code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:ad56ca70af46acf8870b4970d8a809791"><td class="memItemLeft" align="right" valign="top">typedef Value </td><td class="memItemRight" valign="bottom"><a class="el" href="a00021.html#ad56ca70af46acf8870b4970d8a809791">const_iterator</a></td></tr>
+<tr class="memdesc:ad56ca70af46acf8870b4970d8a809791"><td class="mdescLeft"> </td><td class="mdescRight">Type of a value.  <a href="#ad56ca70af46acf8870b4970d8a809791">More...</a><br/></td></tr>
+<tr class="separator:ad56ca70af46acf8870b4970d8a809791"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a89b300cecd9d617e4ee801c786756e55"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a89b300cecd9d617e4ee801c786756e55"></a>
+typedef std::size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="a00021.html#a89b300cecd9d617e4ee801c786756e55">size_type</a></td></tr>
+<tr class="memdesc:a89b300cecd9d617e4ee801c786756e55"><td class="mdescLeft"> </td><td class="mdescRight">Type for size of a range. <br/></td></tr>
+<tr class="separator:a89b300cecd9d617e4ee801c786756e55"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:aad176ab2cbd0bd73c3c2065761af3ccc"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00021.html#aad176ab2cbd0bd73c3c2065761af3ccc">blocked_range</a> ()</td></tr>
+<tr class="memdesc:aad176ab2cbd0bd73c3c2065761af3ccc"><td class="mdescLeft"> </td><td class="mdescRight">Construct range with default-constructed values for begin and end.  <a href="#aad176ab2cbd0bd73c3c2065761af3ccc">More...</a><br/></td></tr>
+<tr class="separator:aad176ab2cbd0bd73c3c2065761af3ccc"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a49a97576004711b7159170fcaf488e4e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a49a97576004711b7159170fcaf488e4e"></a>
+ </td><td class="memItemRight" valign="bottom"><a class="el" href="a00021.html#a49a97576004711b7159170fcaf488e4e">blocked_range</a> (Value begin_, Value end_, <a class="el" href="a00021.html#a89b300cecd9d617e4ee801c786756e55">size_type</a> grainsize_=1)</td></tr>
+<tr class="memdesc:a49a97576004711b7159170fcaf488e4e"><td class="mdescLeft"> </td><td class="mdescRight">Construct range over half-open interval [begin,end), with the given grainsize. <br/></td></tr>
+<tr class="separator:a49a97576004711b7159170fcaf488e4e"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ae225fa10454b0fa33533dfb56f5060a2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae225fa10454b0fa33533dfb56f5060a2"></a>
+<a class="el" href="a00021.html#ad56ca70af46acf8870b4970d8a809791">const_iterator</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00021.html#ae225fa10454b0fa33533dfb56f5060a2">begin</a> () const </td></tr>
+<tr class="memdesc:ae225fa10454b0fa33533dfb56f5060a2"><td class="mdescLeft"> </td><td class="mdescRight">Beginning of range. <br/></td></tr>
+<tr class="separator:ae225fa10454b0fa33533dfb56f5060a2"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a99f829599d3e51b181a30b4cd57b06c6"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a99f829599d3e51b181a30b4cd57b06c6"></a>
+<a class="el" href="a00021.html#ad56ca70af46acf8870b4970d8a809791">const_iterator</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00021.html#a99f829599d3e51b181a30b4cd57b06c6">end</a> () const </td></tr>
+<tr class="memdesc:a99f829599d3e51b181a30b4cd57b06c6"><td class="mdescLeft"> </td><td class="mdescRight">One past last value in range. <br/></td></tr>
+<tr class="separator:a99f829599d3e51b181a30b4cd57b06c6"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a347ef8caa40edca3b7f475f182281140"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00021.html#a89b300cecd9d617e4ee801c786756e55">size_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00021.html#a347ef8caa40edca3b7f475f182281140">size</a> () const </td></tr>
+<tr class="memdesc:a347ef8caa40edca3b7f475f182281140"><td class="mdescLeft"> </td><td class="mdescRight">Size of the range.  <a href="#a347ef8caa40edca3b7f475f182281140">More...</a><br/></td></tr>
+<tr class="separator:a347ef8caa40edca3b7f475f182281140"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ab408f3cf90c85fa9203df5641a2f9bb1"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab408f3cf90c85fa9203df5641a2f9bb1"></a>
+<a class="el" href="a00021.html#a89b300cecd9d617e4ee801c786756e55">size_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00021.html#ab408f3cf90c85fa9203df5641a2f9bb1">grainsize</a> () const </td></tr>
+<tr class="memdesc:ab408f3cf90c85fa9203df5641a2f9bb1"><td class="mdescLeft"> </td><td class="mdescRight">The grain size for this range. <br/></td></tr>
+<tr class="separator:ab408f3cf90c85fa9203df5641a2f9bb1"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a59dec03416b3fefbf69600f798177710"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a59dec03416b3fefbf69600f798177710"></a>
+bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00021.html#a59dec03416b3fefbf69600f798177710">empty</a> () const </td></tr>
+<tr class="memdesc:a59dec03416b3fefbf69600f798177710"><td class="mdescLeft"> </td><td class="mdescRight">True if range is empty. <br/></td></tr>
+<tr class="separator:a59dec03416b3fefbf69600f798177710"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ad90ad1db0d4d9a301ef1c9e17712e8a0"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00021.html#ad90ad1db0d4d9a301ef1c9e17712e8a0">is_divisible</a> () const </td></tr>
+<tr class="memdesc:ad90ad1db0d4d9a301ef1c9e17712e8a0"><td class="mdescLeft"> </td><td class="mdescRight">True if range is divisible.  <a href="#ad90ad1db0d4d9a301ef1c9e17712e8a0">More...</a><br/></td></tr>
+<tr class="separator:ad90ad1db0d4d9a301ef1c9e17712e8a0"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a75cae12286f4d5492970ea630a9783b9"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00021.html#a75cae12286f4d5492970ea630a9783b9">blocked_range</a> (<a class="el" href="a00021.html">blocked_range</a> &r, <a class="el" href="a00129.html">split</a>)</td></tr>
+<tr class="memdesc:a75cae12286f4d5492970ea630a9783b9"><td class="mdescLeft"> </td><td class="mdescRight">Split range.  <a href="#a75cae12286f4d5492970ea630a9783b9">More...</a><br/></td></tr>
+<tr class="separator:a75cae12286f4d5492970ea630a9783b9"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
+Friends</h2></td></tr>
+<tr class="memitem:aa504612e6c1ba07b8846bcd323847680"><td class="memTemplParams" colspan="2"><a class="anchor" id="aa504612e6c1ba07b8846bcd323847680"></a>
+template<typename RowValue , typename ColValue > </td></tr>
+<tr class="memitem:aa504612e6c1ba07b8846bcd323847680"><td class="memTemplItemLeft" align="right" valign="top">class </td><td class="memTemplItemRight" valign="bottom"><b>blocked_range2d</b></td></tr>
+<tr class="separator:aa504612e6c1ba07b8846bcd323847680"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a83f67fe3b421dbaeee9040aae730d5e8"><td class="memTemplParams" colspan="2"><a class="anchor" id="a83f67fe3b421dbaeee9040aae730d5e8"></a>
+template<typename RowValue , typename ColValue , typename PageValue > </td></tr>
+<tr class="memitem:a83f67fe3b421dbaeee9040aae730d5e8"><td class="memTemplItemLeft" align="right" valign="top">class </td><td class="memTemplItemRight" valign="bottom"><b>blocked_range3d</b></td></tr>
+<tr class="separator:a83f67fe3b421dbaeee9040aae730d5e8"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><h3>template<typename Value><br/>
+class tbb::blocked_range< Value ></h3>
+
+<p>A range over which to iterate. </p>
+</div><h2 class="groupheader">Member Typedef Documentation</h2>
+<a class="anchor" id="ad56ca70af46acf8870b4970d8a809791"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename Value> </div>
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef Value <a class="el" href="a00021.html">tbb::blocked_range</a>< Value >::<a class="el" href="a00021.html#ad56ca70af46acf8870b4970d8a809791">const_iterator</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Type of a value. </p>
+<p>Called a const_iterator for sake of algorithms that need to treat a <a class="el" href="a00021.html" title="A range over which to iterate. ">blocked_range</a> as an STL container. </p>
+
+</div>
+</div>
+<h2 class="groupheader">Constructor & Destructor Documentation</h2>
+<a class="anchor" id="aad176ab2cbd0bd73c3c2065761af3ccc"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename Value> </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00021.html">tbb::blocked_range</a>< Value >::<a class="el" href="a00021.html">blocked_range</a> </td>
+          <td>(</td>
+          <td class="paramname">)</td><td></td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Construct range with default-constructed values for begin and end. </p>
+<p>Requires that Value have a default constructor. </p>
+
+</div>
+</div>
+<a class="anchor" id="a75cae12286f4d5492970ea630a9783b9"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename Value> </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00021.html">tbb::blocked_range</a>< Value >::<a class="el" href="a00021.html">blocked_range</a> </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="a00021.html">blocked_range</a>< Value > & </td>
+          <td class="paramname"><em>r</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="a00129.html">split</a> </td>
+          <td class="paramname"> </td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Split range. </p>
+<p>The new Range *this has the second half, the old range r has the first half. Unspecified if <a class="el" href="a00021.html#a99f829599d3e51b181a30b4cd57b06c6" title="One past last value in range. ">end()</a><<a class="el" href="a00021.html#ae225fa10454b0fa33533dfb56f5060a2" title="Beginning of range. ">begin()</a> or !is_divisible(). </p>
+
+</div>
+</div>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="ad90ad1db0d4d9a301ef1c9e17712e8a0"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename Value> </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool <a class="el" href="a00021.html">tbb::blocked_range</a>< Value >::is_divisible </td>
+          <td>(</td>
+          <td class="paramname">)</td><td></td>
+          <td> const</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>True if range is divisible. </p>
+<p>Unspecified if <a class="el" href="a00021.html#a99f829599d3e51b181a30b4cd57b06c6" title="One past last value in range. ">end()</a><<a class="el" href="a00021.html#ae225fa10454b0fa33533dfb56f5060a2" title="Beginning of range. ">begin()</a>. </p>
+
+<p>Referenced by <a class="el" href="a00022.html#ac84c6cc2ff8b0974ffa719fed804f586">tbb::blocked_range2d< RowValue, ColValue >::is_divisible()</a>, and <a class="el" href="a00023.html#a0fce6bcae6269c37623c3a2cdbb8bcf0">tbb::blocked_range3d< PageValue, RowValue, ColValue >::is_divisible()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a347ef8caa40edca3b7f475f182281140"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename Value> </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00021.html#a89b300cecd9d617e4ee801c786756e55">size_type</a> <a class="el" href="a00021.html">tbb::blocked_range</a>< Value >::size </td>
+          <td>(</td>
+          <td class="paramname">)</td><td></td>
+          <td> const</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Size of the range. </p>
+<p>Unspecified if <a class="el" href="a00021.html#a99f829599d3e51b181a30b4cd57b06c6" title="One past last value in range. ">end()</a><<a class="el" href="a00021.html#ae225fa10454b0fa33533dfb56f5060a2" title="Beginning of range. ">begin()</a>. </p>
+
+<p>Referenced by <a class="el" href="a00021.html#ad90ad1db0d4d9a301ef1c9e17712e8a0">tbb::blocked_range< I >::is_divisible()</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>blocked_range.h</li>
+</ul>
+</div><!-- contents -->
+<hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00022.html b/doc/html/a00022.html
index b813ee1..9e423a3 100644
--- a/doc/html/a00022.html
+++ b/doc/html/a00022.html
@@ -1,41 +1,106 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::blocked_range2d< RowValue, ColValue > Class Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<h1>tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator >::const_accessor Member List</h1>This is the complete list of members for <a class="el" href="a00284.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator >::const_accessor</a>, including all inherited members.<p><table>
-  <tr bgcolor="#f0f0f0"><td><b>accessor</b> (defined in <a class="el" href="a00284.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator >::const_accessor</a>)</td><td><a class="el" href="a00284.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator >::const_accessor</a></td><td><code> [friend]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>concurrent_hash_map< Key, T, HashCompare, Allocator ></b> (defined in <a class="el" href="a00284.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator >::const_accessor</a>)</td><td><a class="el" href="a00284.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator >::const_accessor</a></td><td><code> [friend]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00284.html#27399c613eb1aecd4660803955dda09d">const_accessor</a>()</td><td><a class="el" href="a00284.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator >::const_accessor</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00284.html#84c3080d0c6124d55c8bb4cf6055e65f">empty</a>() const </td><td><a class="el" href="a00284.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator >::const_accessor</a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>is_writer</b>() (defined in <a class="el" href="a00284.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator >::const_accessor</a>)</td><td><a class="el" href="a00284.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator >::const_accessor</a></td><td><code> [inline, protected]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>my_hash</b> (defined in <a class="el" href="a00284.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator >::const_accessor</a>)</td><td><a class="el" href="a00284.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator >::const_accessor</a></td><td><code> [protected]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>my_node</b> (defined in <a class="el" href="a00284.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator >::const_accessor</a>)</td><td><a class="el" href="a00284.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator >::const_accessor</a></td><td><code> [protected]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00284.html#9411df8197ceb4881ec4c7368a0a7f88">operator *</a>() const </td><td><a class="el" href="a00284.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator >::const_accessor</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00284.html#3d03a48ecb8cd9549bd8be64b09c9b0d">operator-></a>() const </td><td><a class="el" href="a00284.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator >::const_accessor</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00284.html#7db006d41b49dc5f1716a913769d4698">release</a>()</td><td><a class="el" href="a00284.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator >::const_accessor</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00284.html#a8e50238483ba451363dccebd981d346">value_type</a> typedef</td><td><a class="el" href="a00284.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator >::const_accessor</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00284.html#928769b139d53427e7075c1f86148e4c">~const_accessor</a>()</td><td><a class="el" href="a00284.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator >::const_accessor</a></td><td><code> [inline]</code></td></tr>
-</table><hr>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00022.html">blocked_range2d</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-types">Public Types</a> |
+<a href="#pub-methods">Public Member Functions</a> |
+<a href="a00248.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::blocked_range2d< RowValue, ColValue > Class Template Reference<div class="ingroups"><a class="el" href="a00234.html">Algorithms</a></div></div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>A 2-dimensional range that models the Range concept.  
+ <a href="a00022.html#details">More...</a></p>
+
+<p><code>#include <blocked_range2d.h></code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:ada609b296a9af0591cc34761b8538100"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ada609b296a9af0591cc34761b8538100"></a>
+typedef <a class="el" href="a00021.html">blocked_range</a>< RowValue > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00022.html#ada609b296a9af0591cc34761b8538100">row_range_type</a></td></tr>
+<tr class="memdesc:ada609b296a9af0591cc34761b8538100"><td class="mdescLeft"> </td><td class="mdescRight">Type for size of an iteration range. <br/></td></tr>
+<tr class="separator:ada609b296a9af0591cc34761b8538100"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a9820ed2f2560633d18bf35cece8b6493"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9820ed2f2560633d18bf35cece8b6493"></a>
+typedef <a class="el" href="a00021.html">blocked_range</a>< ColValue > </td><td class="memItemRight" valign="bottom"><b>col_range_type</b></td></tr>
+<tr class="separator:a9820ed2f2560633d18bf35cece8b6493"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a5aa4e2c389c4b833937fcad66efe2b6a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5aa4e2c389c4b833937fcad66efe2b6a"></a>
+ </td><td class="memItemRight" valign="bottom"><b>blocked_range2d</b> (RowValue row_begin, RowValue row_end, typename <a class="el" href="a00021.html#a89b300cecd9d617e4ee801c786756e55">row_range_type::size_type</a> row_grainsize, ColValue col_begin, ColValue col_end, typename <a class="el" href="a00021.html#a89b300cecd9d617e4ee801c786756e55">col_range_type::size_type</a> col_grainsize)</td></tr>
+<tr class="separator:a5aa4e2c389c4b833937fcad66efe2b6a"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aaf45f93921022437fdcb500585768a5e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aaf45f93921022437fdcb500585768a5e"></a>
+ </td><td class="memItemRight" valign="bottom"><b>blocked_range2d</b> (RowValue row_begin, RowValue row_end, ColValue col_begin, ColValue col_end)</td></tr>
+<tr class="separator:aaf45f93921022437fdcb500585768a5e"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a5805972c8c41b2681d286f9c9771cf52"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5805972c8c41b2681d286f9c9771cf52"></a>
+bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00022.html#a5805972c8c41b2681d286f9c9771cf52">empty</a> () const </td></tr>
+<tr class="memdesc:a5805972c8c41b2681d286f9c9771cf52"><td class="mdescLeft"> </td><td class="mdescRight">True if range is empty. <br/></td></tr>
+<tr class="separator:a5805972c8c41b2681d286f9c9771cf52"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ac84c6cc2ff8b0974ffa719fed804f586"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac84c6cc2ff8b0974ffa719fed804f586"></a>
+bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00022.html#ac84c6cc2ff8b0974ffa719fed804f586">is_divisible</a> () const </td></tr>
+<tr class="memdesc:ac84c6cc2ff8b0974ffa719fed804f586"><td class="mdescLeft"> </td><td class="mdescRight">True if range is divisible into two pieces. <br/></td></tr>
+<tr class="separator:ac84c6cc2ff8b0974ffa719fed804f586"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:af0e752d01b661b01c9a473473bea43fc"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af0e752d01b661b01c9a473473bea43fc"></a>
+ </td><td class="memItemRight" valign="bottom"><b>blocked_range2d</b> (<a class="el" href="a00022.html">blocked_range2d</a> &r, <a class="el" href="a00129.html">split</a>)</td></tr>
+<tr class="separator:af0e752d01b661b01c9a473473bea43fc"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a4f7299e74c40df57dee2433c07ce65ae"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4f7299e74c40df57dee2433c07ce65ae"></a>
+const <a class="el" href="a00022.html#ada609b296a9af0591cc34761b8538100">row_range_type</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="a00022.html#a4f7299e74c40df57dee2433c07ce65ae">rows</a> () const </td></tr>
+<tr class="memdesc:a4f7299e74c40df57dee2433c07ce65ae"><td class="mdescLeft"> </td><td class="mdescRight">The rows of the iteration space. <br/></td></tr>
+<tr class="separator:a4f7299e74c40df57dee2433c07ce65ae"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:af3bccfaf90126b285491096f78ca9473"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af3bccfaf90126b285491096f78ca9473"></a>
+const <a class="el" href="a00021.html">col_range_type</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="a00022.html#af3bccfaf90126b285491096f78ca9473">cols</a> () const </td></tr>
+<tr class="memdesc:af3bccfaf90126b285491096f78ca9473"><td class="mdescLeft"> </td><td class="mdescRight">The columns of the iteration space. <br/></td></tr>
+<tr class="separator:af3bccfaf90126b285491096f78ca9473"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><h3>template<typename RowValue, typename ColValue = RowValue><br/>
+class tbb::blocked_range2d< RowValue, ColValue ></h3>
+
+<p>A 2-dimensional range that models the Range concept. </p>
+</div><hr/>The documentation for this class was generated from the following file:<ul>
+<li>blocked_range2d.h</li>
+</ul>
+</div><!-- contents -->
+<hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00023.html b/doc/html/a00023.html
index e91490e..67dd32e 100644
--- a/doc/html/a00023.html
+++ b/doc/html/a00023.html
@@ -1,39 +1,113 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::blocked_range3d< PageValue, RowValue, ColValue > Class Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<h1>tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator >::accessor Member List</h1>This is the complete list of members for <a class="el" href="a00282.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator >::accessor</a>, including all inherited members.<p><table>
-  <tr class="memlist"><td><a class="el" href="a00284.html#27399c613eb1aecd4660803955dda09d">const_accessor</a>()</td><td><a class="el" href="a00284.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator >::const_accessor</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00284.html#84c3080d0c6124d55c8bb4cf6055e65f">empty</a>() const </td><td><a class="el" href="a00284.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator >::const_accessor</a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>is_writer</b>() (defined in <a class="el" href="a00284.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator >::const_accessor</a>)</td><td><a class="el" href="a00284.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator >::const_accessor</a></td><td><code> [inline, protected]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>my_hash</b> (defined in <a class="el" href="a00284.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator >::const_accessor</a>)</td><td><a class="el" href="a00284.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator >::const_accessor</a></td><td><code> [protected]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>my_node</b> (defined in <a class="el" href="a00284.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator >::const_accessor</a>)</td><td><a class="el" href="a00284.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator >::const_accessor</a></td><td><code> [protected]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00282.html#170280ea807a22e742095de3e8c5ea38">operator *</a>() const </td><td><a class="el" href="a00282.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator >::accessor</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00282.html#a807920cdffe3ec5c5e282b4d1ff92a2">operator-></a>() const </td><td><a class="el" href="a00282.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator >::accessor</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00284.html#7db006d41b49dc5f1716a913769d4698">release</a>()</td><td><a class="el" href="a00284.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator >::const_accessor</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00282.html#0b648be7a95a8fb2971042c15eb112c1">value_type</a> typedef</td><td><a class="el" href="a00282.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator >::accessor</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00284.html#928769b139d53427e7075c1f86148e4c">~const_accessor</a>()</td><td><a class="el" href="a00284.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator >::const_accessor</a></td><td><code> [inline]</code></td></tr>
-</table><hr>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00023.html">blocked_range3d</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-types">Public Types</a> |
+<a href="#pub-methods">Public Member Functions</a> |
+<a href="a00249.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::blocked_range3d< PageValue, RowValue, ColValue > Class Template Reference<div class="ingroups"><a class="el" href="a00234.html">Algorithms</a></div></div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>A 3-dimensional range that models the Range concept.  
+ <a href="a00023.html#details">More...</a></p>
+
+<p><code>#include <blocked_range3d.h></code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:a8cdc866378a12ce198da870d0439676f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8cdc866378a12ce198da870d0439676f"></a>
+typedef <a class="el" href="a00021.html">blocked_range</a>< PageValue > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00023.html#a8cdc866378a12ce198da870d0439676f">page_range_type</a></td></tr>
+<tr class="memdesc:a8cdc866378a12ce198da870d0439676f"><td class="mdescLeft"> </td><td class="mdescRight">Type for size of an iteration range. <br/></td></tr>
+<tr class="separator:a8cdc866378a12ce198da870d0439676f"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:abe15e1e06f47809a477272f733a8abf8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abe15e1e06f47809a477272f733a8abf8"></a>
+typedef <a class="el" href="a00021.html">blocked_range</a>< RowValue > </td><td class="memItemRight" valign="bottom"><b>row_range_type</b></td></tr>
+<tr class="separator:abe15e1e06f47809a477272f733a8abf8"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ab3bffd5ffb14ad9897b1a9bf22980768"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab3bffd5ffb14ad9897b1a9bf22980768"></a>
+typedef <a class="el" href="a00021.html">blocked_range</a>< ColValue > </td><td class="memItemRight" valign="bottom"><b>col_range_type</b></td></tr>
+<tr class="separator:ab3bffd5ffb14ad9897b1a9bf22980768"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:aa5159e07e2d601319eece538edb8add0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa5159e07e2d601319eece538edb8add0"></a>
+ </td><td class="memItemRight" valign="bottom"><b>blocked_range3d</b> (PageValue page_begin, PageValue page_end, RowValue row_begin, RowValue row_end, ColValue col_begin, ColValue col_end)</td></tr>
+<tr class="separator:aa5159e07e2d601319eece538edb8add0"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a671a22033260fa02734c5a1113dcf1ac"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a671a22033260fa02734c5a1113dcf1ac"></a>
+ </td><td class="memItemRight" valign="bottom"><b>blocked_range3d</b> (PageValue page_begin, PageValue page_end, typename <a class="el" href="a00021.html#a89b300cecd9d617e4ee801c786756e55">page_range_type::size_type</a> page_grainsize, RowValue row_begin, RowValue row_end, typename <a class="el" href="a00021.html#a89b300cecd9d617e4ee801c786756e55">row_range_type::size_type</a> row_grainsize, ColValue col_begin, ColValue col_end, typename <a class="el" href="a00021.html#a89b300cecd9d [...]
+<tr class="separator:a671a22033260fa02734c5a1113dcf1ac"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aea992e0cd3d105f964a633b1a0a1a05f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aea992e0cd3d105f964a633b1a0a1a05f"></a>
+bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00023.html#aea992e0cd3d105f964a633b1a0a1a05f">empty</a> () const </td></tr>
+<tr class="memdesc:aea992e0cd3d105f964a633b1a0a1a05f"><td class="mdescLeft"> </td><td class="mdescRight">True if range is empty. <br/></td></tr>
+<tr class="separator:aea992e0cd3d105f964a633b1a0a1a05f"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a0fce6bcae6269c37623c3a2cdbb8bcf0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0fce6bcae6269c37623c3a2cdbb8bcf0"></a>
+bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00023.html#a0fce6bcae6269c37623c3a2cdbb8bcf0">is_divisible</a> () const </td></tr>
+<tr class="memdesc:a0fce6bcae6269c37623c3a2cdbb8bcf0"><td class="mdescLeft"> </td><td class="mdescRight">True if range is divisible into two pieces. <br/></td></tr>
+<tr class="separator:a0fce6bcae6269c37623c3a2cdbb8bcf0"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a788ebedfb4a2eaa4bee11c2c967e0768"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a788ebedfb4a2eaa4bee11c2c967e0768"></a>
+ </td><td class="memItemRight" valign="bottom"><b>blocked_range3d</b> (<a class="el" href="a00023.html">blocked_range3d</a> &r, <a class="el" href="a00129.html">split</a>)</td></tr>
+<tr class="separator:a788ebedfb4a2eaa4bee11c2c967e0768"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a5b794fd53ba92106aeafa4eed85731d4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5b794fd53ba92106aeafa4eed85731d4"></a>
+const <a class="el" href="a00023.html#a8cdc866378a12ce198da870d0439676f">page_range_type</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="a00023.html#a5b794fd53ba92106aeafa4eed85731d4">pages</a> () const </td></tr>
+<tr class="memdesc:a5b794fd53ba92106aeafa4eed85731d4"><td class="mdescLeft"> </td><td class="mdescRight">The pages of the iteration space. <br/></td></tr>
+<tr class="separator:a5b794fd53ba92106aeafa4eed85731d4"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aeac1def585af81467573f30ebb42cb4f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aeac1def585af81467573f30ebb42cb4f"></a>
+const <a class="el" href="a00021.html">row_range_type</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="a00023.html#aeac1def585af81467573f30ebb42cb4f">rows</a> () const </td></tr>
+<tr class="memdesc:aeac1def585af81467573f30ebb42cb4f"><td class="mdescLeft"> </td><td class="mdescRight">The rows of the iteration space. <br/></td></tr>
+<tr class="separator:aeac1def585af81467573f30ebb42cb4f"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a308d7089a1d53ff26770a7040ed817cd"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a308d7089a1d53ff26770a7040ed817cd"></a>
+const <a class="el" href="a00021.html">col_range_type</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="a00023.html#a308d7089a1d53ff26770a7040ed817cd">cols</a> () const </td></tr>
+<tr class="memdesc:a308d7089a1d53ff26770a7040ed817cd"><td class="mdescLeft"> </td><td class="mdescRight">The columns of the iteration space. <br/></td></tr>
+<tr class="separator:a308d7089a1d53ff26770a7040ed817cd"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><h3>template<typename PageValue, typename RowValue = PageValue, typename ColValue = RowValue><br/>
+class tbb::blocked_range3d< PageValue, RowValue, ColValue ></h3>
+
+<p>A 3-dimensional range that models the Range concept. </p>
+</div><hr/>The documentation for this class was generated from the following file:<ul>
+<li>blocked_range3d.h</li>
+</ul>
+</div><!-- contents -->
+<hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00024.html b/doc/html/a00024.html
new file mode 100644
index 0000000..65b54ff
--- /dev/null
+++ b/doc/html/a00024.html
@@ -0,0 +1,56 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::flow::interface7::internal::broadcast_cache< T, M > Class Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>flow</b></li><li class="navelem"><b>interface7</b></li><li class="navelem"><b>internal</b></li><li class="navelem"><a class="el" href="a00024.html">broadcast_cache</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::flow::interface7::internal::broadcast_cache< T, M > Class Template Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="a00179.html">flow_graph.h</a></li>
+</ul>
+</div><!-- contents -->
+<hr>
+<p></p>
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
+<p></p>
+Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
+registered trademarks or trademarks of Intel Corporation or its
+subsidiaries in the United States and other countries.
+<p></p>
+* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00025.html b/doc/html/a00025.html
new file mode 100644
index 0000000..bb8b3df
--- /dev/null
+++ b/doc/html/a00025.html
@@ -0,0 +1,220 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::flow::interface7::broadcast_node< T > Class Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>flow</b></li><li class="navelem"><b>interface7</b></li><li class="navelem"><a class="el" href="a00025.html">broadcast_node</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-types">Public Types</a> |
+<a href="#pub-methods">Public Member Functions</a> |
+<a href="#pro-methods">Protected Member Functions</a> |
+<a href="#friends">Friends</a> |
+<a href="a00324.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::flow::interface7::broadcast_node< T > Class Template Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Forwards messages of type T to all successors.  
+ <a href="a00025.html#details">More...</a></p>
+
+<p><code>#include <flow_graph.h></code></p>
+<div class="dynheader">
+Inheritance diagram for tbb::flow::interface7::broadcast_node< T >:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00025.png" usemap="#tbb::flow::interface7::broadcast_node< T >_map" alt=""/>
+  <map id="tbb::flow::interface7::broadcast_node< T >_map" name="tbb::flow::interface7::broadcast_node< T >_map">
+<area href="a00063.html" title="The base of all graph nodes. " alt="tbb::flow::interface7::graph_node" shape="rect" coords="0,56,249,80"/>
+<area href="a00106.html" title="Pure virtual template class that defines a receiver of messages of type T. " alt="tbb::flow::interface7::receiver< T >" shape="rect" coords="259,56,508,80"/>
+<area href="a00124.html" title="Pure virtual template class that defines a sender of messages of type T. " alt="tbb::flow::interface7::sender< T >" shape="rect" coords="518,56,767,80"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:a396fad97f7b6c1235c45775c359bf875"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a396fad97f7b6c1235c45775c359bf875"></a>
+typedef T </td><td class="memItemRight" valign="bottom"><b>input_type</b></td></tr>
+<tr class="separator:a396fad97f7b6c1235c45775c359bf875"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:abb740e1db77807cf104c2337201ba62c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abb740e1db77807cf104c2337201ba62c"></a>
+typedef T </td><td class="memItemRight" valign="bottom"><b>output_type</b></td></tr>
+<tr class="separator:abb740e1db77807cf104c2337201ba62c"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a7fa00c900bb20ee3571e34c9ca65aa18"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7fa00c900bb20ee3571e34c9ca65aa18"></a>
+typedef <a class="el" href="a00124.html">sender</a>< <a class="el" href="a00106.html#a16eccc851b858604344bb8f1bb9eedc8">input_type</a> > </td><td class="memItemRight" valign="bottom"><b>predecessor_type</b></td></tr>
+<tr class="separator:a7fa00c900bb20ee3571e34c9ca65aa18"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a619fe24fac9c139c198fa421e002282c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a619fe24fac9c139c198fa421e002282c"></a>
+typedef <a class="el" href="a00106.html">receiver</a>< <a class="el" href="a00124.html#add86fddf72758d8e5b05b07650c6eeed">output_type</a> > </td><td class="memItemRight" valign="bottom"><b>successor_type</b></td></tr>
+<tr class="separator:a619fe24fac9c139c198fa421e002282c"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="inherit_header pub_types_a00106"><td colspan="2" onclick="javascript:toggleInherit('pub_types_a00106')"><img src="closed.png" alt="-"/> Public Types inherited from <a class="el" href="a00106.html">tbb::flow::interface7::receiver< T ></a></td></tr>
+<tr class="memitem:a16eccc851b858604344bb8f1bb9eedc8 inherit pub_types_a00106"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a16eccc851b858604344bb8f1bb9eedc8"></a>
+typedef T </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#a16eccc851b858604344bb8f1bb9eedc8">input_type</a></td></tr>
+<tr class="memdesc:a16eccc851b858604344bb8f1bb9eedc8 inherit pub_types_a00106"><td class="mdescLeft"> </td><td class="mdescRight">The input type of this receiver. <br/></td></tr>
+<tr class="separator:a16eccc851b858604344bb8f1bb9eedc8 inherit pub_types_a00106"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:afbadf5511bd568d283040cd88bd4e81e inherit pub_types_a00106"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afbadf5511bd568d283040cd88bd4e81e"></a>
+typedef <a class="el" href="a00124.html">sender</a>< T > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#afbadf5511bd568d283040cd88bd4e81e">predecessor_type</a></td></tr>
+<tr class="memdesc:afbadf5511bd568d283040cd88bd4e81e inherit pub_types_a00106"><td class="mdescLeft"> </td><td class="mdescRight">The predecessor type for this node. <br/></td></tr>
+<tr class="separator:afbadf5511bd568d283040cd88bd4e81e inherit pub_types_a00106"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="inherit_header pub_types_a00124"><td colspan="2" onclick="javascript:toggleInherit('pub_types_a00124')"><img src="closed.png" alt="-"/> Public Types inherited from <a class="el" href="a00124.html">tbb::flow::interface7::sender< T ></a></td></tr>
+<tr class="memitem:add86fddf72758d8e5b05b07650c6eeed inherit pub_types_a00124"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="add86fddf72758d8e5b05b07650c6eeed"></a>
+typedef T </td><td class="memItemRight" valign="bottom"><a class="el" href="a00124.html#add86fddf72758d8e5b05b07650c6eeed">output_type</a></td></tr>
+<tr class="memdesc:add86fddf72758d8e5b05b07650c6eeed inherit pub_types_a00124"><td class="mdescLeft"> </td><td class="mdescRight">The output type of this sender. <br/></td></tr>
+<tr class="separator:add86fddf72758d8e5b05b07650c6eeed inherit pub_types_a00124"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a7779627063a29d4d2a1fc905a5cae8db inherit pub_types_a00124"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7779627063a29d4d2a1fc905a5cae8db"></a>
+typedef <a class="el" href="a00106.html">receiver</a>< T > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00124.html#a7779627063a29d4d2a1fc905a5cae8db">successor_type</a></td></tr>
+<tr class="memdesc:a7779627063a29d4d2a1fc905a5cae8db inherit pub_types_a00124"><td class="mdescLeft"> </td><td class="mdescRight">The successor type for this node. <br/></td></tr>
+<tr class="separator:a7779627063a29d4d2a1fc905a5cae8db inherit pub_types_a00124"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:af6faf48f1b1aa2f2766c034b7f394d1f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af6faf48f1b1aa2f2766c034b7f394d1f"></a>
+ </td><td class="memItemRight" valign="bottom"><b>broadcast_node</b> (<a class="el" href="a00061.html">graph</a> &g)</td></tr>
+<tr class="separator:af6faf48f1b1aa2f2766c034b7f394d1f"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a467df310431cb8880df709d7686554eb"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a467df310431cb8880df709d7686554eb"></a>
+ </td><td class="memItemRight" valign="bottom"><b>broadcast_node</b> (const <a class="el" href="a00025.html">broadcast_node</a> &src)</td></tr>
+<tr class="separator:a467df310431cb8880df709d7686554eb"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aaba5a50d70a74c22ddee40c86f4be3ff"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aaba5a50d70a74c22ddee40c86f4be3ff"></a>
+void </td><td class="memItemRight" valign="bottom"><b>set_name</b> (const char *name)</td></tr>
+<tr class="separator:aaba5a50d70a74c22ddee40c86f4be3ff"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a36b5c86faa58a264d899b7c26286c80e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a36b5c86faa58a264d899b7c26286c80e"></a>
+virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#a36b5c86faa58a264d899b7c26286c80e">register_successor</a> (<a class="el" href="a00106.html">receiver</a>< T > &r)</td></tr>
+<tr class="memdesc:a36b5c86faa58a264d899b7c26286c80e"><td class="mdescLeft"> </td><td class="mdescRight">Adds a successor. <br/></td></tr>
+<tr class="separator:a36b5c86faa58a264d899b7c26286c80e"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a22d463b071df6e0b7ca11df27bb2637e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a22d463b071df6e0b7ca11df27bb2637e"></a>
+virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#a22d463b071df6e0b7ca11df27bb2637e">remove_successor</a> (<a class="el" href="a00106.html">receiver</a>< T > &r)</td></tr>
+<tr class="memdesc:a22d463b071df6e0b7ca11df27bb2637e"><td class="mdescLeft"> </td><td class="mdescRight">Removes s as a successor. <br/></td></tr>
+<tr class="separator:a22d463b071df6e0b7ca11df27bb2637e"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="inherit_header pub_methods_a00063"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00063')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a></td></tr>
+<tr class="memitem:a4badd313105e30f539882276353dcb8e inherit pub_methods_a00063"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4badd313105e30f539882276353dcb8e"></a>
+ </td><td class="memItemRight" valign="bottom"><b>graph_node</b> (<a class="el" href="a00061.html">graph</a> &g)</td></tr>
+<tr class="separator:a4badd313105e30f539882276353dcb8e inherit pub_methods_a00063"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="inherit_header pub_methods_a00106"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00106')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="a00106.html">tbb::flow::interface7::receiver< T ></a></td></tr>
+<tr class="memitem:a733889a9053478ef2fb2528e2205bf07 inherit pub_methods_a00106"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a733889a9053478ef2fb2528e2205bf07"></a>
+virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#a733889a9053478ef2fb2528e2205bf07">~receiver</a> ()</td></tr>
+<tr class="memdesc:a733889a9053478ef2fb2528e2205bf07 inherit pub_methods_a00106"><td class="mdescLeft"> </td><td class="mdescRight">Destructor. <br/></td></tr>
+<tr class="separator:a733889a9053478ef2fb2528e2205bf07 inherit pub_methods_a00106"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aee5067bb4f4b71ffa786c1b33cb9aa6a inherit pub_methods_a00106"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aee5067bb4f4b71ffa786c1b33cb9aa6a"></a>
+bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#aee5067bb4f4b71ffa786c1b33cb9aa6a">try_put</a> (const T &t)</td></tr>
+<tr class="memdesc:aee5067bb4f4b71ffa786c1b33cb9aa6a inherit pub_methods_a00106"><td class="mdescLeft"> </td><td class="mdescRight">Put an item to the receiver. <br/></td></tr>
+<tr class="separator:aee5067bb4f4b71ffa786c1b33cb9aa6a inherit pub_methods_a00106"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a16427aa709505de93ffe0d79136e4251 inherit pub_methods_a00106"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a16427aa709505de93ffe0d79136e4251"></a>
+virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#a16427aa709505de93ffe0d79136e4251">register_predecessor</a> (<a class="el" href="a00106.html#afbadf5511bd568d283040cd88bd4e81e">predecessor_type</a> &)</td></tr>
+<tr class="memdesc:a16427aa709505de93ffe0d79136e4251 inherit pub_methods_a00106"><td class="mdescLeft"> </td><td class="mdescRight">Add a predecessor to the node. <br/></td></tr>
+<tr class="separator:a16427aa709505de93ffe0d79136e4251 inherit pub_methods_a00106"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a55adae6228bbdc1539695e1ec20e9762 inherit pub_methods_a00106"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a55adae6228bbdc1539695e1ec20e9762"></a>
+virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#a55adae6228bbdc1539695e1ec20e9762">remove_predecessor</a> (<a class="el" href="a00106.html#afbadf5511bd568d283040cd88bd4e81e">predecessor_type</a> &)</td></tr>
+<tr class="memdesc:a55adae6228bbdc1539695e1ec20e9762 inherit pub_methods_a00106"><td class="mdescLeft"> </td><td class="mdescRight">Remove a predecessor from the node. <br/></td></tr>
+<tr class="separator:a55adae6228bbdc1539695e1ec20e9762 inherit pub_methods_a00106"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="inherit_header pub_methods_a00124"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00124')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="a00124.html">tbb::flow::interface7::sender< T ></a></td></tr>
+<tr class="memitem:ad50b8ac93e79cbdcd2bba11d35432f2c inherit pub_methods_a00124"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad50b8ac93e79cbdcd2bba11d35432f2c"></a>
+virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00124.html#ad50b8ac93e79cbdcd2bba11d35432f2c">try_get</a> (T &)</td></tr>
+<tr class="memdesc:ad50b8ac93e79cbdcd2bba11d35432f2c inherit pub_methods_a00124"><td class="mdescLeft"> </td><td class="mdescRight">Request an item from the sender. <br/></td></tr>
+<tr class="separator:ad50b8ac93e79cbdcd2bba11d35432f2c inherit pub_methods_a00124"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aa1b9dcf77ab558530ff93a706b4c4b5d inherit pub_methods_a00124"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa1b9dcf77ab558530ff93a706b4c4b5d"></a>
+virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00124.html#aa1b9dcf77ab558530ff93a706b4c4b5d">try_reserve</a> (T &)</td></tr>
+<tr class="memdesc:aa1b9dcf77ab558530ff93a706b4c4b5d inherit pub_methods_a00124"><td class="mdescLeft"> </td><td class="mdescRight">Reserves an item in the sender. <br/></td></tr>
+<tr class="separator:aa1b9dcf77ab558530ff93a706b4c4b5d inherit pub_methods_a00124"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a97ac316ddfb6bd7c7f2f56e3e819a30a inherit pub_methods_a00124"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a97ac316ddfb6bd7c7f2f56e3e819a30a"></a>
+virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00124.html#a97ac316ddfb6bd7c7f2f56e3e819a30a">try_release</a> ()</td></tr>
+<tr class="memdesc:a97ac316ddfb6bd7c7f2f56e3e819a30a inherit pub_methods_a00124"><td class="mdescLeft"> </td><td class="mdescRight">Releases the reserved item. <br/></td></tr>
+<tr class="separator:a97ac316ddfb6bd7c7f2f56e3e819a30a inherit pub_methods_a00124"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ad404d5218c7ae2556261ffa880cdf804 inherit pub_methods_a00124"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad404d5218c7ae2556261ffa880cdf804"></a>
+virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00124.html#ad404d5218c7ae2556261ffa880cdf804">try_consume</a> ()</td></tr>
+<tr class="memdesc:ad404d5218c7ae2556261ffa880cdf804 inherit pub_methods_a00124"><td class="mdescLeft"> </td><td class="mdescRight">Consumes the reserved item. <br/></td></tr>
+<tr class="separator:ad404d5218c7ae2556261ffa880cdf804 inherit pub_methods_a00124"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
+Protected Member Functions</h2></td></tr>
+<tr class="memitem:a07d030b43c6e2d9169a7e58db30a547b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a07d030b43c6e2d9169a7e58db30a547b"></a>
+task * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html#a07d030b43c6e2d9169a7e58db30a547b">try_put_task</a> (const T &t)</td></tr>
+<tr class="memdesc:a07d030b43c6e2d9169a7e58db30a547b"><td class="mdescLeft"> </td><td class="mdescRight">build a task to run the successor if possible. Default is old behavior. <br/></td></tr>
+<tr class="separator:a07d030b43c6e2d9169a7e58db30a547b"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a8a801d0d1be061681318f29d29818034"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8a801d0d1be061681318f29d29818034"></a>
+void </td><td class="memItemRight" valign="bottom"><b>reset</b> ()</td></tr>
+<tr class="separator:a8a801d0d1be061681318f29d29818034"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aabdeda0195408b744c824296eb1734f8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aabdeda0195408b744c824296eb1734f8"></a>
+void </td><td class="memItemRight" valign="bottom"><b>reset_receiver</b> ()</td></tr>
+<tr class="separator:aabdeda0195408b744c824296eb1734f8"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="inherit_header pro_methods_a00106"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_a00106')"><img src="closed.png" alt="-"/> Protected Member Functions inherited from <a class="el" href="a00106.html">tbb::flow::interface7::receiver< T ></a></td></tr>
+<tr class="memitem:ae91eab3e06d4139ac38f143c74fe9eab inherit pro_methods_a00106"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae91eab3e06d4139ac38f143c74fe9eab"></a>
+virtual bool </td><td class="memItemRight" valign="bottom"><b>is_continue_receiver</b> ()</td></tr>
+<tr class="separator:ae91eab3e06d4139ac38f143c74fe9eab inherit pro_methods_a00106"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
+Friends</h2></td></tr>
+<tr class="memitem:abaf9bf74ca5f2854d09f5f07337280eb"><td class="memTemplParams" colspan="2"><a class="anchor" id="abaf9bf74ca5f2854d09f5f07337280eb"></a>
+template<typename R , typename B > </td></tr>
+<tr class="memitem:abaf9bf74ca5f2854d09f5f07337280eb"><td class="memTemplItemLeft" align="right" valign="top">class </td><td class="memTemplItemRight" valign="bottom"><b>run_and_put_task</b></td></tr>
+<tr class="separator:abaf9bf74ca5f2854d09f5f07337280eb"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a1360e38efe396058978cf3754ad620f5"><td class="memTemplParams" colspan="2"><a class="anchor" id="a1360e38efe396058978cf3754ad620f5"></a>
+template<typename X , typename Y > </td></tr>
+<tr class="memitem:a1360e38efe396058978cf3754ad620f5"><td class="memTemplItemLeft" align="right" valign="top">class </td><td class="memTemplItemRight" valign="bottom"><b>internal::broadcast_cache</b></td></tr>
+<tr class="separator:a1360e38efe396058978cf3754ad620f5"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:acbd9ac2610587a99cd7d43344297cc49"><td class="memTemplParams" colspan="2"><a class="anchor" id="acbd9ac2610587a99cd7d43344297cc49"></a>
+template<typename X , typename Y > </td></tr>
+<tr class="memitem:acbd9ac2610587a99cd7d43344297cc49"><td class="memTemplItemLeft" align="right" valign="top">class </td><td class="memTemplItemRight" valign="bottom"><b>internal::round_robin_cache</b></td></tr>
+<tr class="separator:acbd9ac2610587a99cd7d43344297cc49"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
+Additional Inherited Members</h2></td></tr>
+<tr class="inherit_header pro_attribs_a00063"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_a00063')"><img src="closed.png" alt="-"/> Protected Attributes inherited from <a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a></td></tr>
+<tr class="memitem:a1caee1c5677047b05d18b1662ca6fdf8 inherit pro_attribs_a00063"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1caee1c5677047b05d18b1662ca6fdf8"></a>
+<a class="el" href="a00061.html">graph</a> & </td><td class="memItemRight" valign="bottom"><b>my_graph</b></td></tr>
+<tr class="separator:a1caee1c5677047b05d18b1662ca6fdf8 inherit pro_attribs_a00063"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:af48cd0cd4f6e44efc3b353adb55f86a8 inherit pro_attribs_a00063"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af48cd0cd4f6e44efc3b353adb55f86a8"></a>
+<a class="el" href="a00063.html">graph_node</a> * </td><td class="memItemRight" valign="bottom"><b>next</b></td></tr>
+<tr class="separator:af48cd0cd4f6e44efc3b353adb55f86a8 inherit pro_attribs_a00063"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a6917bffc3cb150319679bf2395e68caa inherit pro_attribs_a00063"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6917bffc3cb150319679bf2395e68caa"></a>
+<a class="el" href="a00063.html">graph_node</a> * </td><td class="memItemRight" valign="bottom"><b>prev</b></td></tr>
+<tr class="separator:a6917bffc3cb150319679bf2395e68caa inherit pro_attribs_a00063"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><h3>template<typename T><br/>
+class tbb::flow::interface7::broadcast_node< T ></h3>
+
+<p>Forwards messages of type T to all successors. </p>
+</div><hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="a00179.html">flow_graph.h</a></li>
+</ul>
+</div><!-- contents -->
+<hr>
+<p></p>
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
+<p></p>
+Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
+registered trademarks or trademarks of Intel Corporation or its
+subsidiaries in the United States and other countries.
+<p></p>
+* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00025.png b/doc/html/a00025.png
new file mode 100644
index 0000000..1ccd735
Binary files /dev/null and b/doc/html/a00025.png differ
diff --git a/doc/html/a00026.html b/doc/html/a00026.html
new file mode 100644
index 0000000..6c07f23
--- /dev/null
+++ b/doc/html/a00026.html
@@ -0,0 +1,96 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::bucket_accessor Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>interface5</b></li><li class="navelem"><a class="el" href="a00035.html">concurrent_hash_map</a></li><li class="navelem"><a class="el" href="a00026.html">bucket_accessor</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> |
+<a href="a00336.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::bucket_accessor Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>bucket accessor is to find, rehash, acquire a lock, and access a bucket  
+ <a href="a00026.html#details">More...</a></p>
+
+<p><code>#include <concurrent_hash_map.h></code></p>
+<div class="dynheader">
+Inheritance diagram for tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::bucket_accessor:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00026.png" usemap="#tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::bucket_accessor_map" alt=""/>
+  <map id="tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::bucket_accessor_map" name="tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::bucket_accessor_map">
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:ab8dc51ef88ff53cc6cc4e40e2c2818eb"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab8dc51ef88ff53cc6cc4e40e2c2818eb"></a>
+ </td><td class="memItemRight" valign="bottom"><b>bucket_accessor</b> (<a class="el" href="a00035.html">concurrent_hash_map</a> *base, const hashcode_t h, bool writer=false)</td></tr>
+<tr class="separator:ab8dc51ef88ff53cc6cc4e40e2c2818eb"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a0d7d8f3d101bb18056b8e5d4d2c8b079"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0d7d8f3d101bb18056b8e5d4d2c8b079"></a>
+void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00026.html#a0d7d8f3d101bb18056b8e5d4d2c8b079">acquire</a> (<a class="el" href="a00035.html">concurrent_hash_map</a> *base, const hashcode_t h, bool writer=false)</td></tr>
+<tr class="memdesc:a0d7d8f3d101bb18056b8e5d4d2c8b079"><td class="mdescLeft"> </td><td class="mdescRight">find a bucket by masked hashcode, optionally rehash, and acquire the lock <br/></td></tr>
+<tr class="separator:a0d7d8f3d101bb18056b8e5d4d2c8b079"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aaa8167e2961330435fd23eb92127805c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aaa8167e2961330435fd23eb92127805c"></a>
+bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00026.html#aaa8167e2961330435fd23eb92127805c">is_writer</a> ()</td></tr>
+<tr class="memdesc:aaa8167e2961330435fd23eb92127805c"><td class="mdescLeft"> </td><td class="mdescRight">check whether bucket is locked for write <br/></td></tr>
+<tr class="separator:aaa8167e2961330435fd23eb92127805c"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a16e714a5e77dbf8daf81973df30722d4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a16e714a5e77dbf8daf81973df30722d4"></a>
+bucket * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00026.html#a16e714a5e77dbf8daf81973df30722d4">operator()</a> ()</td></tr>
+<tr class="memdesc:a16e714a5e77dbf8daf81973df30722d4"><td class="mdescLeft"> </td><td class="mdescRight">get bucket pointer <br/></td></tr>
+<tr class="separator:a16e714a5e77dbf8daf81973df30722d4"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><h3>template<typename Key, typename T, typename HashCompare = tbb_hash_compare<Key>, typename A = tbb_allocator<std::pair<Key, T> >><br/>
+class tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::bucket_accessor</h3>
+
+<p>bucket accessor is to find, rehash, acquire a lock, and access a bucket </p>
+</div><hr/>The documentation for this class was generated from the following file:<ul>
+<li>concurrent_hash_map.h</li>
+</ul>
+</div><!-- contents -->
+<hr>
+<p></p>
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
+<p></p>
+Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
+registered trademarks or trademarks of Intel Corporation or its
+subsidiaries in the United States and other countries.
+<p></p>
+* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00026.png b/doc/html/a00026.png
new file mode 100644
index 0000000..9dea0c0
Binary files /dev/null and b/doc/html/a00026.png differ
diff --git a/doc/html/a00027.html b/doc/html/a00027.html
new file mode 100644
index 0000000..1ebc403
--- /dev/null
+++ b/doc/html/a00027.html
@@ -0,0 +1,502 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::flow::interface7::buffer_node< T, A > Class Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>flow</b></li><li class="navelem"><b>interface7</b></li><li class="navelem"><a class="el" href="a00027.html">buffer_node</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Classes</a> |
+<a href="#pub-types">Public Types</a> |
+<a href="#pub-methods">Public Member Functions</a> |
+<a href="#pro-types">Protected Types</a> |
+<a href="#pro-methods">Protected Member Functions</a> |
+<a href="#pro-attribs">Protected Attributes</a> |
+<a href="#friends">Friends</a> |
+<a href="a00325.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::flow::interface7::buffer_node< T, A > Class Template Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Forwards messages in arbitrary order.  
+ <a href="a00027.html#details">More...</a></p>
+
+<p><code>#include <flow_graph.h></code></p>
+<div class="dynheader">
+Inheritance diagram for tbb::flow::interface7::buffer_node< T, A >:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00027.png" usemap="#tbb::flow::interface7::buffer_node< T, A >_map" alt=""/>
+  <map id="tbb::flow::interface7::buffer_node< T, A >_map" name="tbb::flow::interface7::buffer_node< T, A >_map">
+<area href="a00063.html" title="The base of all graph nodes. " alt="tbb::flow::interface7::graph_node" shape="rect" coords="0,56,352,80"/>
+<area href="a00106.html" title="Pure virtual template class that defines a receiver of messages of type T. " alt="tbb::flow::interface7::receiver< T >" shape="rect" coords="724,56,1076,80"/>
+<area href="a00124.html" title="Pure virtual template class that defines a sender of messages of type T. " alt="tbb::flow::interface7::sender< T >" shape="rect" coords="1086,56,1438,80"/>
+<area href="a00091.html" title="Forwards messages in priority order. " alt="tbb::flow::interface7::priority_queue_node< T, Compare, A >" shape="rect" coords="362,168,714,192"/>
+<area href="a00092.html" title="Forwards messages in FIFO order. " alt="tbb::flow::interface7::queue_node< T, A >" shape="rect" coords="724,168,1076,192"/>
+<area href="a00125.html" title="Forwards messages in sequence order. " alt="tbb::flow::interface7::sequencer_node< T, A >" shape="rect" coords="724,224,1076,248"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Classes</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00028.html">buffer_operation</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:a57a0aab7103d1d0cbf27560c9acf6c8f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a57a0aab7103d1d0cbf27560c9acf6c8f"></a>
+typedef T </td><td class="memItemRight" valign="bottom"><b>input_type</b></td></tr>
+<tr class="separator:a57a0aab7103d1d0cbf27560c9acf6c8f"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:abedb8c98e62146c3473344b7148173b8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abedb8c98e62146c3473344b7148173b8"></a>
+typedef T </td><td class="memItemRight" valign="bottom"><b>output_type</b></td></tr>
+<tr class="separator:abedb8c98e62146c3473344b7148173b8"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a3c34a2182dcbbded45da979b0f405817"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3c34a2182dcbbded45da979b0f405817"></a>
+typedef <a class="el" href="a00124.html">sender</a>< <a class="el" href="a00106.html#a16eccc851b858604344bb8f1bb9eedc8">input_type</a> > </td><td class="memItemRight" valign="bottom"><b>predecessor_type</b></td></tr>
+<tr class="separator:a3c34a2182dcbbded45da979b0f405817"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a5e505e0c4a904e2c1ded8c7c8f657c3b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5e505e0c4a904e2c1ded8c7c8f657c3b"></a>
+typedef <a class="el" href="a00106.html">receiver</a>< <a class="el" href="a00124.html#add86fddf72758d8e5b05b07650c6eeed">output_type</a> > </td><td class="memItemRight" valign="bottom"><b>successor_type</b></td></tr>
+<tr class="separator:a5e505e0c4a904e2c1ded8c7c8f657c3b"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a60032183e0f0266dc17b140e47dd8fc1"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a60032183e0f0266dc17b140e47dd8fc1"></a>
+typedef <a class="el" href="a00027.html">buffer_node</a>< T, A > </td><td class="memItemRight" valign="bottom"><b>my_class</b></td></tr>
+<tr class="separator:a60032183e0f0266dc17b140e47dd8fc1"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="inherit_header pub_types_a00106"><td colspan="2" onclick="javascript:toggleInherit('pub_types_a00106')"><img src="closed.png" alt="-"/> Public Types inherited from <a class="el" href="a00106.html">tbb::flow::interface7::receiver< T ></a></td></tr>
+<tr class="memitem:a16eccc851b858604344bb8f1bb9eedc8 inherit pub_types_a00106"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a16eccc851b858604344bb8f1bb9eedc8"></a>
+typedef T </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#a16eccc851b858604344bb8f1bb9eedc8">input_type</a></td></tr>
+<tr class="memdesc:a16eccc851b858604344bb8f1bb9eedc8 inherit pub_types_a00106"><td class="mdescLeft"> </td><td class="mdescRight">The input type of this receiver. <br/></td></tr>
+<tr class="separator:a16eccc851b858604344bb8f1bb9eedc8 inherit pub_types_a00106"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:afbadf5511bd568d283040cd88bd4e81e inherit pub_types_a00106"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afbadf5511bd568d283040cd88bd4e81e"></a>
+typedef <a class="el" href="a00124.html">sender</a>< T > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#afbadf5511bd568d283040cd88bd4e81e">predecessor_type</a></td></tr>
+<tr class="memdesc:afbadf5511bd568d283040cd88bd4e81e inherit pub_types_a00106"><td class="mdescLeft"> </td><td class="mdescRight">The predecessor type for this node. <br/></td></tr>
+<tr class="separator:afbadf5511bd568d283040cd88bd4e81e inherit pub_types_a00106"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="inherit_header pub_types_a00124"><td colspan="2" onclick="javascript:toggleInherit('pub_types_a00124')"><img src="closed.png" alt="-"/> Public Types inherited from <a class="el" href="a00124.html">tbb::flow::interface7::sender< T ></a></td></tr>
+<tr class="memitem:add86fddf72758d8e5b05b07650c6eeed inherit pub_types_a00124"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="add86fddf72758d8e5b05b07650c6eeed"></a>
+typedef T </td><td class="memItemRight" valign="bottom"><a class="el" href="a00124.html#add86fddf72758d8e5b05b07650c6eeed">output_type</a></td></tr>
+<tr class="memdesc:add86fddf72758d8e5b05b07650c6eeed inherit pub_types_a00124"><td class="mdescLeft"> </td><td class="mdescRight">The output type of this sender. <br/></td></tr>
+<tr class="separator:add86fddf72758d8e5b05b07650c6eeed inherit pub_types_a00124"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a7779627063a29d4d2a1fc905a5cae8db inherit pub_types_a00124"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7779627063a29d4d2a1fc905a5cae8db"></a>
+typedef <a class="el" href="a00106.html">receiver</a>< T > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00124.html#a7779627063a29d4d2a1fc905a5cae8db">successor_type</a></td></tr>
+<tr class="memdesc:a7779627063a29d4d2a1fc905a5cae8db inherit pub_types_a00124"><td class="mdescLeft"> </td><td class="mdescRight">The successor type for this node. <br/></td></tr>
+<tr class="separator:a7779627063a29d4d2a1fc905a5cae8db inherit pub_types_a00124"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a152f7bb9ab1f033ec56caa451327634c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a152f7bb9ab1f033ec56caa451327634c"></a>
+ </td><td class="memItemRight" valign="bottom"><a class="el" href="a00027.html#a152f7bb9ab1f033ec56caa451327634c">buffer_node</a> (<a class="el" href="a00061.html">graph</a> &g)</td></tr>
+<tr class="memdesc:a152f7bb9ab1f033ec56caa451327634c"><td class="mdescLeft"> </td><td class="mdescRight">Constructor. <br/></td></tr>
+<tr class="separator:a152f7bb9ab1f033ec56caa451327634c"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a739635c43d1150f2c8dd3f455d698d36"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a739635c43d1150f2c8dd3f455d698d36"></a>
+ </td><td class="memItemRight" valign="bottom"><a class="el" href="a00027.html#a739635c43d1150f2c8dd3f455d698d36">buffer_node</a> (const <a class="el" href="a00027.html">buffer_node</a> &src)</td></tr>
+<tr class="memdesc:a739635c43d1150f2c8dd3f455d698d36"><td class="mdescLeft"> </td><td class="mdescRight">Copy constructor. <br/></td></tr>
+<tr class="separator:a739635c43d1150f2c8dd3f455d698d36"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a6d38f53c02a6fa64754826249dab5185"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6d38f53c02a6fa64754826249dab5185"></a>
+void </td><td class="memItemRight" valign="bottom"><b>set_name</b> (const char *name)</td></tr>
+<tr class="separator:a6d38f53c02a6fa64754826249dab5185"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ab458d9fa2c7d6f39ec62d4027c9da376"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00027.html#ab458d9fa2c7d6f39ec62d4027c9da376">register_successor</a> (<a class="el" href="a00106.html">receiver</a>< <a class="el" href="a00124.html#add86fddf72758d8e5b05b07650c6eeed">output_type</a> > &r)</td></tr>
+<tr class="memdesc:ab458d9fa2c7d6f39ec62d4027c9da376"><td class="mdescLeft"> </td><td class="mdescRight">Adds a new successor.  <a href="#ab458d9fa2c7d6f39ec62d4027c9da376">More...</a><br/></td></tr>
+<tr class="separator:ab458d9fa2c7d6f39ec62d4027c9da376"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a70d3c1fb1af11deb9b92fa753fa8604c"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00027.html#a70d3c1fb1af11deb9b92fa753fa8604c">remove_successor</a> (<a class="el" href="a00106.html">receiver</a>< <a class="el" href="a00124.html#add86fddf72758d8e5b05b07650c6eeed">output_type</a> > &r)</td></tr>
+<tr class="memdesc:a70d3c1fb1af11deb9b92fa753fa8604c"><td class="mdescLeft"> </td><td class="mdescRight">Removes a successor.  <a href="#a70d3c1fb1af11deb9b92fa753fa8604c">More...</a><br/></td></tr>
+<tr class="separator:a70d3c1fb1af11deb9b92fa753fa8604c"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a175cb77dfbdd0e322097a833a2271c1e"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00027.html#a175cb77dfbdd0e322097a833a2271c1e">try_get</a> (T &v)</td></tr>
+<tr class="memdesc:a175cb77dfbdd0e322097a833a2271c1e"><td class="mdescLeft"> </td><td class="mdescRight">Request an item from the <a class="el" href="a00027.html" title="Forwards messages in arbitrary order. ">buffer_node</a>.  <a href="#a175cb77dfbdd0e322097a833a2271c1e">More...</a><br/></td></tr>
+<tr class="separator:a175cb77dfbdd0e322097a833a2271c1e"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a3b12cdebf8cef15b90e3c9cd9e51019f"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00027.html#a3b12cdebf8cef15b90e3c9cd9e51019f">try_reserve</a> (T &v)</td></tr>
+<tr class="memdesc:a3b12cdebf8cef15b90e3c9cd9e51019f"><td class="mdescLeft"> </td><td class="mdescRight">Reserves an item.  <a href="#a3b12cdebf8cef15b90e3c9cd9e51019f">More...</a><br/></td></tr>
+<tr class="separator:a3b12cdebf8cef15b90e3c9cd9e51019f"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aaa3745fd4705345df16fb33954d93e30"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00027.html#aaa3745fd4705345df16fb33954d93e30">try_release</a> ()</td></tr>
+<tr class="memdesc:aaa3745fd4705345df16fb33954d93e30"><td class="mdescLeft"> </td><td class="mdescRight">Release a reserved item.  <a href="#aaa3745fd4705345df16fb33954d93e30">More...</a><br/></td></tr>
+<tr class="separator:aaa3745fd4705345df16fb33954d93e30"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a335072bc547c5e9b40f58dfeab525953"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00027.html#a335072bc547c5e9b40f58dfeab525953">try_consume</a> ()</td></tr>
+<tr class="memdesc:a335072bc547c5e9b40f58dfeab525953"><td class="mdescLeft"> </td><td class="mdescRight">Consumes a reserved item.  <a href="#a335072bc547c5e9b40f58dfeab525953">More...</a><br/></td></tr>
+<tr class="separator:a335072bc547c5e9b40f58dfeab525953"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="inherit_header pub_methods_a00063"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00063')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a></td></tr>
+<tr class="memitem:a4badd313105e30f539882276353dcb8e inherit pub_methods_a00063"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4badd313105e30f539882276353dcb8e"></a>
+ </td><td class="memItemRight" valign="bottom"><b>graph_node</b> (<a class="el" href="a00061.html">graph</a> &g)</td></tr>
+<tr class="separator:a4badd313105e30f539882276353dcb8e inherit pub_methods_a00063"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="inherit_header pub_methods_a00106"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00106')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="a00106.html">tbb::flow::interface7::receiver< T ></a></td></tr>
+<tr class="memitem:a733889a9053478ef2fb2528e2205bf07 inherit pub_methods_a00106"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a733889a9053478ef2fb2528e2205bf07"></a>
+virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#a733889a9053478ef2fb2528e2205bf07">~receiver</a> ()</td></tr>
+<tr class="memdesc:a733889a9053478ef2fb2528e2205bf07 inherit pub_methods_a00106"><td class="mdescLeft"> </td><td class="mdescRight">Destructor. <br/></td></tr>
+<tr class="separator:a733889a9053478ef2fb2528e2205bf07 inherit pub_methods_a00106"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aee5067bb4f4b71ffa786c1b33cb9aa6a inherit pub_methods_a00106"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aee5067bb4f4b71ffa786c1b33cb9aa6a"></a>
+bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#aee5067bb4f4b71ffa786c1b33cb9aa6a">try_put</a> (const T &t)</td></tr>
+<tr class="memdesc:aee5067bb4f4b71ffa786c1b33cb9aa6a inherit pub_methods_a00106"><td class="mdescLeft"> </td><td class="mdescRight">Put an item to the receiver. <br/></td></tr>
+<tr class="separator:aee5067bb4f4b71ffa786c1b33cb9aa6a inherit pub_methods_a00106"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a16427aa709505de93ffe0d79136e4251 inherit pub_methods_a00106"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a16427aa709505de93ffe0d79136e4251"></a>
+virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#a16427aa709505de93ffe0d79136e4251">register_predecessor</a> (<a class="el" href="a00106.html#afbadf5511bd568d283040cd88bd4e81e">predecessor_type</a> &)</td></tr>
+<tr class="memdesc:a16427aa709505de93ffe0d79136e4251 inherit pub_methods_a00106"><td class="mdescLeft"> </td><td class="mdescRight">Add a predecessor to the node. <br/></td></tr>
+<tr class="separator:a16427aa709505de93ffe0d79136e4251 inherit pub_methods_a00106"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a55adae6228bbdc1539695e1ec20e9762 inherit pub_methods_a00106"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a55adae6228bbdc1539695e1ec20e9762"></a>
+virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#a55adae6228bbdc1539695e1ec20e9762">remove_predecessor</a> (<a class="el" href="a00106.html#afbadf5511bd568d283040cd88bd4e81e">predecessor_type</a> &)</td></tr>
+<tr class="memdesc:a55adae6228bbdc1539695e1ec20e9762 inherit pub_methods_a00106"><td class="mdescLeft"> </td><td class="mdescRight">Remove a predecessor from the node. <br/></td></tr>
+<tr class="separator:a55adae6228bbdc1539695e1ec20e9762 inherit pub_methods_a00106"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-types"></a>
+Protected Types</h2></td></tr>
+<tr class="memitem:a0e9c45eefd5231c6a7f8e78ab4b3e3c1"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><b>op_type</b> { <br/>
+  <b>reg_succ</b>, 
+<b>rem_succ</b>, 
+<b>req_item</b>, 
+<b>res_item</b>, 
+<br/>
+  <b>rel_res</b>, 
+<b>con_res</b>, 
+<b>put_item</b>, 
+<b>try_fwd_task</b>
+<br/>
+ }</td></tr>
+<tr class="separator:a0e9c45eefd5231c6a7f8e78ab4b3e3c1"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a97578c4c0b47aa1e7281d0343f45c6e2"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><b>op_stat</b> { <b>WAIT</b> =0, 
+<b>SUCCEEDED</b>, 
+<b>FAILED</b>
+ }</td></tr>
+<tr class="separator:a97578c4c0b47aa1e7281d0343f45c6e2"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ac2ba7ceb6c4c435c5abc9846a91853e2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac2ba7ceb6c4c435c5abc9846a91853e2"></a>
+typedef size_t </td><td class="memItemRight" valign="bottom"><b>size_type</b></td></tr>
+<tr class="separator:ac2ba7ceb6c4c435c5abc9846a91853e2"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a7f1a187e32fb9a630a142ef37aeda958"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7f1a187e32fb9a630a142ef37aeda958"></a>
+typedef <br class="typebreak"/>
+internal::aggregating_functor<br class="typebreak"/>
+< <a class="el" href="a00027.html">my_class</a>, <a class="el" href="a00028.html">buffer_operation</a> > </td><td class="memItemRight" valign="bottom"><b>my_handler</b></td></tr>
+<tr class="separator:a7f1a187e32fb9a630a142ef37aeda958"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
+Protected Member Functions</h2></td></tr>
+<tr class="memitem:a2d09326016a31e17acd57f8e6ce58054"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2d09326016a31e17acd57f8e6ce58054"></a>
+virtual void </td><td class="memItemRight" valign="bottom"><b>handle_operations</b> (<a class="el" href="a00028.html">buffer_operation</a> *op_list)</td></tr>
+<tr class="separator:a2d09326016a31e17acd57f8e6ce58054"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a5fde962bed26ee41c370e48bce678320"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5fde962bed26ee41c370e48bce678320"></a>
+task * </td><td class="memItemRight" valign="bottom"><b>grab_forwarding_task</b> (<a class="el" href="a00028.html">buffer_operation</a> &op_data)</td></tr>
+<tr class="separator:a5fde962bed26ee41c370e48bce678320"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a19dbfc4065f57efd7375fcc1b259dd9c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a19dbfc4065f57efd7375fcc1b259dd9c"></a>
+bool </td><td class="memItemRight" valign="bottom"><b>enqueue_forwarding_task</b> (<a class="el" href="a00028.html">buffer_operation</a> &op_data)</td></tr>
+<tr class="separator:a19dbfc4065f57efd7375fcc1b259dd9c"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a8910a497040a4c6f1a6a1fb7a33a8888"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8910a497040a4c6f1a6a1fb7a33a8888"></a>
+virtual task * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00027.html#a8910a497040a4c6f1a6a1fb7a33a8888">forward_task</a> ()</td></tr>
+<tr class="memdesc:a8910a497040a4c6f1a6a1fb7a33a8888"><td class="mdescLeft"> </td><td class="mdescRight">This is executed by an enqueued task, the "forwarder". <br/></td></tr>
+<tr class="separator:a8910a497040a4c6f1a6a1fb7a33a8888"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:afa2dd93a1b42e77ccf7e1de0fddf3158"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afa2dd93a1b42e77ccf7e1de0fddf3158"></a>
+virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00027.html#afa2dd93a1b42e77ccf7e1de0fddf3158">internal_reg_succ</a> (<a class="el" href="a00028.html">buffer_operation</a> *op)</td></tr>
+<tr class="memdesc:afa2dd93a1b42e77ccf7e1de0fddf3158"><td class="mdescLeft"> </td><td class="mdescRight">Register successor. <br/></td></tr>
+<tr class="separator:afa2dd93a1b42e77ccf7e1de0fddf3158"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a46c7f9cd9130036244d4ea8efd74bf22"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a46c7f9cd9130036244d4ea8efd74bf22"></a>
+virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00027.html#a46c7f9cd9130036244d4ea8efd74bf22">internal_rem_succ</a> (<a class="el" href="a00028.html">buffer_operation</a> *op)</td></tr>
+<tr class="memdesc:a46c7f9cd9130036244d4ea8efd74bf22"><td class="mdescLeft"> </td><td class="mdescRight">Remove successor. <br/></td></tr>
+<tr class="separator:a46c7f9cd9130036244d4ea8efd74bf22"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a3aa7578ccbd3d5f986869ab8698c037c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3aa7578ccbd3d5f986869ab8698c037c"></a>
+virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00027.html#a3aa7578ccbd3d5f986869ab8698c037c">internal_forward_task</a> (<a class="el" href="a00028.html">buffer_operation</a> *op)</td></tr>
+<tr class="memdesc:a3aa7578ccbd3d5f986869ab8698c037c"><td class="mdescLeft"> </td><td class="mdescRight">Tries to forward valid items to successors. <br/></td></tr>
+<tr class="separator:a3aa7578ccbd3d5f986869ab8698c037c"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a2fe75e82e8dffa7d13fa9e82d9951dba"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2fe75e82e8dffa7d13fa9e82d9951dba"></a>
+virtual void </td><td class="memItemRight" valign="bottom"><b>internal_push</b> (<a class="el" href="a00028.html">buffer_operation</a> *op)</td></tr>
+<tr class="separator:a2fe75e82e8dffa7d13fa9e82d9951dba"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a574bf95b7b06f24bafb13aa586dd2c66"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a574bf95b7b06f24bafb13aa586dd2c66"></a>
+virtual void </td><td class="memItemRight" valign="bottom"><b>internal_pop</b> (<a class="el" href="a00028.html">buffer_operation</a> *op)</td></tr>
+<tr class="separator:a574bf95b7b06f24bafb13aa586dd2c66"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aeaea0922cb1344925524d892864f78e0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aeaea0922cb1344925524d892864f78e0"></a>
+virtual void </td><td class="memItemRight" valign="bottom"><b>internal_reserve</b> (<a class="el" href="a00028.html">buffer_operation</a> *op)</td></tr>
+<tr class="separator:aeaea0922cb1344925524d892864f78e0"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a5f90411a5cc3f5c7c4210f8bb4e73f68"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5f90411a5cc3f5c7c4210f8bb4e73f68"></a>
+virtual void </td><td class="memItemRight" valign="bottom"><b>internal_consume</b> (<a class="el" href="a00028.html">buffer_operation</a> *op)</td></tr>
+<tr class="separator:a5f90411a5cc3f5c7c4210f8bb4e73f68"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ae7b3eee1ec878f6f0055f6133b233c09"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae7b3eee1ec878f6f0055f6133b233c09"></a>
+virtual void </td><td class="memItemRight" valign="bottom"><b>internal_release</b> (<a class="el" href="a00028.html">buffer_operation</a> *op)</td></tr>
+<tr class="separator:ae7b3eee1ec878f6f0055f6133b233c09"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aa4517c0a58649ea5eb140ab4b786e1ec"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa4517c0a58649ea5eb140ab4b786e1ec"></a>
+task * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00027.html#aa4517c0a58649ea5eb140ab4b786e1ec">try_put_task</a> (const T &t)</td></tr>
+<tr class="memdesc:aa4517c0a58649ea5eb140ab4b786e1ec"><td class="mdescLeft"> </td><td class="mdescRight">receive an item, return a task *if possible <br/></td></tr>
+<tr class="separator:aa4517c0a58649ea5eb140ab4b786e1ec"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a5c02d02bdb7ab20055d2f0aaba8d3c9c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5c02d02bdb7ab20055d2f0aaba8d3c9c"></a>
+void </td><td class="memItemRight" valign="bottom"><b>reset</b> ()</td></tr>
+<tr class="separator:a5c02d02bdb7ab20055d2f0aaba8d3c9c"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aa4fe0ea40c0f1ed6d109eed8d8bf25ee"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa4fe0ea40c0f1ed6d109eed8d8bf25ee"></a>
+void </td><td class="memItemRight" valign="bottom"><b>reset_receiver</b> ()</td></tr>
+<tr class="separator:aa4fe0ea40c0f1ed6d109eed8d8bf25ee"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="inherit_header pro_methods_a00106"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_a00106')"><img src="closed.png" alt="-"/> Protected Member Functions inherited from <a class="el" href="a00106.html">tbb::flow::interface7::receiver< T ></a></td></tr>
+<tr class="memitem:ae91eab3e06d4139ac38f143c74fe9eab inherit pro_methods_a00106"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae91eab3e06d4139ac38f143c74fe9eab"></a>
+virtual bool </td><td class="memItemRight" valign="bottom"><b>is_continue_receiver</b> ()</td></tr>
+<tr class="separator:ae91eab3e06d4139ac38f143c74fe9eab inherit pro_methods_a00106"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
+Protected Attributes</h2></td></tr>
+<tr class="memitem:ade2fe89be00e023aafb1d3c380762048"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ade2fe89be00e023aafb1d3c380762048"></a>
+<a class="el" href="a00108.html">internal::round_robin_cache</a>< T, <br class="typebreak"/>
+<a class="el" href="a00084.html">null_rw_mutex</a> > </td><td class="memItemRight" valign="bottom"><b>my_successors</b></td></tr>
+<tr class="separator:ade2fe89be00e023aafb1d3c380762048"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a441fb73f0e15aed49945fb7ec9925e9f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a441fb73f0e15aed49945fb7ec9925e9f"></a>
+bool </td><td class="memItemRight" valign="bottom"><b>forwarder_busy</b></td></tr>
+<tr class="separator:a441fb73f0e15aed49945fb7ec9925e9f"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:adc948866a1eb4c7a95b0edc08872d487"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adc948866a1eb4c7a95b0edc08872d487"></a>
+internal::aggregator<br class="typebreak"/>
+< my_handler, <a class="el" href="a00028.html">buffer_operation</a> > </td><td class="memItemRight" valign="bottom"><b>my_aggregator</b></td></tr>
+<tr class="separator:adc948866a1eb4c7a95b0edc08872d487"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="inherit_header pro_attribs_a00063"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_a00063')"><img src="closed.png" alt="-"/> Protected Attributes inherited from <a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a></td></tr>
+<tr class="memitem:a1caee1c5677047b05d18b1662ca6fdf8 inherit pro_attribs_a00063"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1caee1c5677047b05d18b1662ca6fdf8"></a>
+<a class="el" href="a00061.html">graph</a> & </td><td class="memItemRight" valign="bottom"><b>my_graph</b></td></tr>
+<tr class="separator:a1caee1c5677047b05d18b1662ca6fdf8 inherit pro_attribs_a00063"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:af48cd0cd4f6e44efc3b353adb55f86a8 inherit pro_attribs_a00063"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af48cd0cd4f6e44efc3b353adb55f86a8"></a>
+<a class="el" href="a00063.html">graph_node</a> * </td><td class="memItemRight" valign="bottom"><b>next</b></td></tr>
+<tr class="separator:af48cd0cd4f6e44efc3b353adb55f86a8 inherit pro_attribs_a00063"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a6917bffc3cb150319679bf2395e68caa inherit pro_attribs_a00063"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6917bffc3cb150319679bf2395e68caa"></a>
+<a class="el" href="a00063.html">graph_node</a> * </td><td class="memItemRight" valign="bottom"><b>prev</b></td></tr>
+<tr class="separator:a6917bffc3cb150319679bf2395e68caa inherit pro_attribs_a00063"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
+Friends</h2></td></tr>
+<tr class="memitem:ad66dc7488e0c58eef0d3ae292d900c04"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad66dc7488e0c58eef0d3ae292d900c04"></a>
+class </td><td class="memItemRight" valign="bottom"><b>internal::forward_task_bypass< buffer_node< T, A > ></b></td></tr>
+<tr class="separator:ad66dc7488e0c58eef0d3ae292d900c04"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a8fa999cf286dcad00faeece4cbfa35d2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8fa999cf286dcad00faeece4cbfa35d2"></a>
+class </td><td class="memItemRight" valign="bottom"><b>internal::aggregating_functor< my_class, buffer_operation ></b></td></tr>
+<tr class="separator:a8fa999cf286dcad00faeece4cbfa35d2"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:abaf9bf74ca5f2854d09f5f07337280eb"><td class="memTemplParams" colspan="2"><a class="anchor" id="abaf9bf74ca5f2854d09f5f07337280eb"></a>
+template<typename R , typename B > </td></tr>
+<tr class="memitem:abaf9bf74ca5f2854d09f5f07337280eb"><td class="memTemplItemLeft" align="right" valign="top">class </td><td class="memTemplItemRight" valign="bottom"><b>run_and_put_task</b></td></tr>
+<tr class="separator:abaf9bf74ca5f2854d09f5f07337280eb"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a1360e38efe396058978cf3754ad620f5"><td class="memTemplParams" colspan="2"><a class="anchor" id="a1360e38efe396058978cf3754ad620f5"></a>
+template<typename X , typename Y > </td></tr>
+<tr class="memitem:a1360e38efe396058978cf3754ad620f5"><td class="memTemplItemLeft" align="right" valign="top">class </td><td class="memTemplItemRight" valign="bottom"><b>internal::broadcast_cache</b></td></tr>
+<tr class="separator:a1360e38efe396058978cf3754ad620f5"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:acbd9ac2610587a99cd7d43344297cc49"><td class="memTemplParams" colspan="2"><a class="anchor" id="acbd9ac2610587a99cd7d43344297cc49"></a>
+template<typename X , typename Y > </td></tr>
+<tr class="memitem:acbd9ac2610587a99cd7d43344297cc49"><td class="memTemplItemLeft" align="right" valign="top">class </td><td class="memTemplItemRight" valign="bottom"><b>internal::round_robin_cache</b></td></tr>
+<tr class="separator:acbd9ac2610587a99cd7d43344297cc49"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><h3>template<typename T, typename A = cache_aligned_allocator<T>><br/>
+class tbb::flow::interface7::buffer_node< T, A ></h3>
+
+<p>Forwards messages in arbitrary order. </p>
+</div><h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="ab458d9fa2c7d6f39ec62d4027c9da376"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T, typename A = cache_aligned_allocator<T>> </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node</a>< T, A >::register_successor </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="a00106.html">receiver</a>< <a class="el" href="a00124.html#add86fddf72758d8e5b05b07650c6eeed">output_type</a> > & </td>
+          <td class="paramname"><em>r</em>)</td><td></td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Adds a new successor. </p>
+<p>Adds successor r to the list of successors; may forward tasks. </p>
+
+<p>Implements <a class="el" href="a00124.html#a4dac8f53a1f8373c1f3a874b9617e4ec">tbb::flow::interface7::sender< T ></a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a70d3c1fb1af11deb9b92fa753fa8604c"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T, typename A = cache_aligned_allocator<T>> </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node</a>< T, A >::remove_successor </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="a00106.html">receiver</a>< <a class="el" href="a00124.html#add86fddf72758d8e5b05b07650c6eeed">output_type</a> > & </td>
+          <td class="paramname"><em>r</em>)</td><td></td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Removes a successor. </p>
+<p>Removes successor r from the list of successors. It also calls r.remove_predecessor(*this) to remove this node as a predecessor. </p>
+
+<p>Implements <a class="el" href="a00124.html#ac1ae19f49e31c6ca94dcf14732eb7a64">tbb::flow::interface7::sender< T ></a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a335072bc547c5e9b40f58dfeab525953"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T, typename A = cache_aligned_allocator<T>> </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node</a>< T, A >::try_consume </td>
+          <td>(</td>
+          <td class="paramname">)</td><td></td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Consumes a reserved item. </p>
+<p>true = item is removed from sender and reservation removed </p>
+
+<p>Reimplemented from <a class="el" href="a00124.html#ad404d5218c7ae2556261ffa880cdf804">tbb::flow::interface7::sender< T ></a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a175cb77dfbdd0e322097a833a2271c1e"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T, typename A = cache_aligned_allocator<T>> </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node</a>< T, A >::try_get </td>
+          <td>(</td>
+          <td class="paramtype">T & </td>
+          <td class="paramname"><em>v</em>)</td><td></td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Request an item from the <a class="el" href="a00027.html" title="Forwards messages in arbitrary order. ">buffer_node</a>. </p>
+<p>true = v contains the returned item<br/>
+ false = no item has been returned </p>
+
+<p>Reimplemented from <a class="el" href="a00124.html#ad50b8ac93e79cbdcd2bba11d35432f2c">tbb::flow::interface7::sender< T ></a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aaa3745fd4705345df16fb33954d93e30"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T, typename A = cache_aligned_allocator<T>> </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node</a>< T, A >::try_release </td>
+          <td>(</td>
+          <td class="paramname">)</td><td></td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Release a reserved item. </p>
+<p>true = item has been released and so remains in sender </p>
+
+<p>Reimplemented from <a class="el" href="a00124.html#a97ac316ddfb6bd7c7f2f56e3e819a30a">tbb::flow::interface7::sender< T ></a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a3b12cdebf8cef15b90e3c9cd9e51019f"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T, typename A = cache_aligned_allocator<T>> </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node</a>< T, A >::try_reserve </td>
+          <td>(</td>
+          <td class="paramtype">T & </td>
+          <td class="paramname"><em>v</em>)</td><td></td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Reserves an item. </p>
+<p>false = no item can be reserved<br/>
+ true = an item is reserved </p>
+
+<p>Reimplemented from <a class="el" href="a00124.html#aa1b9dcf77ab558530ff93a706b4c4b5d">tbb::flow::interface7::sender< T ></a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="a00179.html">flow_graph.h</a></li>
+</ul>
+</div><!-- contents -->
+<hr>
+<p></p>
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
+<p></p>
+Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
+registered trademarks or trademarks of Intel Corporation or its
+subsidiaries in the United States and other countries.
+<p></p>
+* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00027.png b/doc/html/a00027.png
new file mode 100644
index 0000000..f834dda
Binary files /dev/null and b/doc/html/a00027.png differ
diff --git a/doc/html/a00028.html b/doc/html/a00028.html
new file mode 100644
index 0000000..9ab93b8
--- /dev/null
+++ b/doc/html/a00028.html
@@ -0,0 +1,93 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::flow::interface7::buffer_node< T, A >::buffer_operation Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>flow</b></li><li class="navelem"><b>interface7</b></li><li class="navelem"><a class="el" href="a00027.html">buffer_node</a></li><li class="navelem"><a class="el" href="a00028.html">buffer_operation</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> |
+<a href="#pub-attribs">Public Attributes</a> |
+<a href="a00326.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::flow::interface7::buffer_node< T, A >::buffer_operation Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="dynheader">
+Inheritance diagram for tbb::flow::interface7::buffer_node< T, A >::buffer_operation:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00028.png" usemap="#tbb::flow::interface7::buffer_node< T, A >::buffer_operation_map" alt=""/>
+  <map id="tbb::flow::interface7::buffer_node< T, A >::buffer_operation_map" name="tbb::flow::interface7::buffer_node< T, A >::buffer_operation_map">
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a77b9eaaed3b74938679461fa5d1986e1"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a77b9eaaed3b74938679461fa5d1986e1"></a>
+ </td><td class="memItemRight" valign="bottom"><b>buffer_operation</b> (const T &e, op_type t)</td></tr>
+<tr class="separator:a77b9eaaed3b74938679461fa5d1986e1"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a1e3a76dd65fff852e9c5684cd6375ad1"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1e3a76dd65fff852e9c5684cd6375ad1"></a>
+ </td><td class="memItemRight" valign="bottom"><b>buffer_operation</b> (op_type t)</td></tr>
+<tr class="separator:a1e3a76dd65fff852e9c5684cd6375ad1"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
+Public Attributes</h2></td></tr>
+<tr class="memitem:a55e368638761b5ce3827537e24cb42be"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a55e368638761b5ce3827537e24cb42be"></a>
+char </td><td class="memItemRight" valign="bottom"><b>type</b></td></tr>
+<tr class="separator:a55e368638761b5ce3827537e24cb42be"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a6b8cdbd2350a186908b1cc55119e4556"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6b8cdbd2350a186908b1cc55119e4556"></a>
+T * </td><td class="memItemRight" valign="bottom"><b>elem</b></td></tr>
+<tr class="separator:a6b8cdbd2350a186908b1cc55119e4556"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a3765a8f7bf12aa4f6c39d09565a6ba44"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3765a8f7bf12aa4f6c39d09565a6ba44"></a>
+task * </td><td class="memItemRight" valign="bottom"><b>ltask</b></td></tr>
+<tr class="separator:a3765a8f7bf12aa4f6c39d09565a6ba44"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a0b0eeb6204931c19e1df0087016f6548"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0b0eeb6204931c19e1df0087016f6548"></a>
+<a class="el" href="a00124.html#a7779627063a29d4d2a1fc905a5cae8db">successor_type</a> * </td><td class="memItemRight" valign="bottom"><b>r</b></td></tr>
+<tr class="separator:a0b0eeb6204931c19e1df0087016f6548"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="a00179.html">flow_graph.h</a></li>
+</ul>
+</div><!-- contents -->
+<hr>
+<p></p>
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
+<p></p>
+Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
+registered trademarks or trademarks of Intel Corporation or its
+subsidiaries in the United States and other countries.
+<p></p>
+* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00028.png b/doc/html/a00028.png
new file mode 100644
index 0000000..742b4d1
Binary files /dev/null and b/doc/html/a00028.png differ
diff --git a/doc/html/a00029.html b/doc/html/a00029.html
new file mode 100644
index 0000000..8f3af5f
--- /dev/null
+++ b/doc/html/a00029.html
@@ -0,0 +1,144 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::cache_aligned_allocator< T > Class Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00029.html">cache_aligned_allocator</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Classes</a> |
+<a href="#pub-types">Public Types</a> |
+<a href="#pub-methods">Public Member Functions</a> |
+<a href="a00250.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::cache_aligned_allocator< T > Class Template Reference<div class="ingroups"><a class="el" href="a00236.html">Memory Allocation</a></div></div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Meets "allocator" requirements of ISO C++ Standard, Section 20.1.5.  
+ <a href="a00029.html#details">More...</a></p>
+
+<p><code>#include <cache_aligned_allocator.h></code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Classes</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00104.html">rebind</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:a7aba3042b0a1c934879d5299f0c20e7e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7aba3042b0a1c934879d5299f0c20e7e"></a>
+typedef <br class="typebreak"/>
+internal::allocator_type< T ><br class="typebreak"/>
+::value_type </td><td class="memItemRight" valign="bottom"><b>value_type</b></td></tr>
+<tr class="separator:a7aba3042b0a1c934879d5299f0c20e7e"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a6fabbb51a8fd7b270b94fc4d9548847b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6fabbb51a8fd7b270b94fc4d9548847b"></a>
+typedef value_type * </td><td class="memItemRight" valign="bottom"><b>pointer</b></td></tr>
+<tr class="separator:a6fabbb51a8fd7b270b94fc4d9548847b"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a35edf40f1bb3418f61e7d33c9f796824"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a35edf40f1bb3418f61e7d33c9f796824"></a>
+typedef const value_type * </td><td class="memItemRight" valign="bottom"><b>const_pointer</b></td></tr>
+<tr class="separator:a35edf40f1bb3418f61e7d33c9f796824"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ac9f2f6c7ca74e1f3968d838eec2c4dcb"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac9f2f6c7ca74e1f3968d838eec2c4dcb"></a>
+typedef value_type & </td><td class="memItemRight" valign="bottom"><b>reference</b></td></tr>
+<tr class="separator:ac9f2f6c7ca74e1f3968d838eec2c4dcb"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:af50d27e385aea41dbb8a9cd0734f1c84"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af50d27e385aea41dbb8a9cd0734f1c84"></a>
+typedef const value_type & </td><td class="memItemRight" valign="bottom"><b>const_reference</b></td></tr>
+<tr class="separator:af50d27e385aea41dbb8a9cd0734f1c84"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a51eed827a49fd636d1d6c73908f9635b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a51eed827a49fd636d1d6c73908f9635b"></a>
+typedef size_t </td><td class="memItemRight" valign="bottom"><b>size_type</b></td></tr>
+<tr class="separator:a51eed827a49fd636d1d6c73908f9635b"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a8bf47c52cdeee1bc0dcd410cc97faeec"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8bf47c52cdeee1bc0dcd410cc97faeec"></a>
+typedef ptrdiff_t </td><td class="memItemRight" valign="bottom"><b>difference_type</b></td></tr>
+<tr class="separator:a8bf47c52cdeee1bc0dcd410cc97faeec"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a11b1921251262137671599e99fbe8d4e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a11b1921251262137671599e99fbe8d4e"></a>
+ </td><td class="memItemRight" valign="bottom"><b>cache_aligned_allocator</b> (const <a class="el" href="a00029.html">cache_aligned_allocator</a> &)  throw ()</td></tr>
+<tr class="separator:a11b1921251262137671599e99fbe8d4e"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ab5a78cc56dcc0851117b3c88bb3af16a"><td class="memTemplParams" colspan="2"><a class="anchor" id="ab5a78cc56dcc0851117b3c88bb3af16a"></a>
+template<typename U > </td></tr>
+<tr class="memitem:ab5a78cc56dcc0851117b3c88bb3af16a"><td class="memTemplItemLeft" align="right" valign="top"> </td><td class="memTemplItemRight" valign="bottom"><b>cache_aligned_allocator</b> (const <a class="el" href="a00029.html">cache_aligned_allocator</a>< U > &)  throw ()</td></tr>
+<tr class="separator:ab5a78cc56dcc0851117b3c88bb3af16a"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a39aa68042abff22210f801eab98f6dfa"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a39aa68042abff22210f801eab98f6dfa"></a>
+pointer </td><td class="memItemRight" valign="bottom"><b>address</b> (reference x) const </td></tr>
+<tr class="separator:a39aa68042abff22210f801eab98f6dfa"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a5bd8fe0e5de894404c8b868b37a0fe53"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5bd8fe0e5de894404c8b868b37a0fe53"></a>
+const_pointer </td><td class="memItemRight" valign="bottom"><b>address</b> (const_reference x) const </td></tr>
+<tr class="separator:a5bd8fe0e5de894404c8b868b37a0fe53"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a99d05096f80877849cb31d80247e0f85"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a99d05096f80877849cb31d80247e0f85"></a>
+pointer </td><td class="memItemRight" valign="bottom"><a class="el" href="a00029.html#a99d05096f80877849cb31d80247e0f85">allocate</a> (size_type n, const void *hint=0)</td></tr>
+<tr class="memdesc:a99d05096f80877849cb31d80247e0f85"><td class="mdescLeft"> </td><td class="mdescRight">Allocate space for n objects, starting on a cache/sector line. <br/></td></tr>
+<tr class="separator:a99d05096f80877849cb31d80247e0f85"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a7f7310e046c4b6b8618864de8e27a471"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7f7310e046c4b6b8618864de8e27a471"></a>
+void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00029.html#a7f7310e046c4b6b8618864de8e27a471">deallocate</a> (pointer p, size_type)</td></tr>
+<tr class="memdesc:a7f7310e046c4b6b8618864de8e27a471"><td class="mdescLeft"> </td><td class="mdescRight">Free block of memory that starts on a cache line. <br/></td></tr>
+<tr class="separator:a7f7310e046c4b6b8618864de8e27a471"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a4b945b3180ea3dfe16dfa048f4591c6d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4b945b3180ea3dfe16dfa048f4591c6d"></a>
+size_type </td><td class="memItemRight" valign="bottom"><a class="el" href="a00029.html#a4b945b3180ea3dfe16dfa048f4591c6d">max_size</a> () const   throw ()</td></tr>
+<tr class="memdesc:a4b945b3180ea3dfe16dfa048f4591c6d"><td class="mdescLeft"> </td><td class="mdescRight">Largest value for which method allocate might succeed. <br/></td></tr>
+<tr class="separator:a4b945b3180ea3dfe16dfa048f4591c6d"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ab316f80a66b991801b4ec4ea88b852d9"><td class="memTemplParams" colspan="2"><a class="anchor" id="ab316f80a66b991801b4ec4ea88b852d9"></a>
+template<typename U , typename... Args> </td></tr>
+<tr class="memitem:ab316f80a66b991801b4ec4ea88b852d9"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00029.html#ab316f80a66b991801b4ec4ea88b852d9">construct</a> (U *p, Args &&...args)</td></tr>
+<tr class="memdesc:ab316f80a66b991801b4ec4ea88b852d9"><td class="mdescLeft"> </td><td class="mdescRight">Copy-construct value at location pointed to by p. <br/></td></tr>
+<tr class="separator:ab316f80a66b991801b4ec4ea88b852d9"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a5086d395a952eb13eb7d72bb0cb26937"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5086d395a952eb13eb7d72bb0cb26937"></a>
+void </td><td class="memItemRight" valign="bottom"><b>construct</b> (pointer p, const value_type &value)</td></tr>
+<tr class="separator:a5086d395a952eb13eb7d72bb0cb26937"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:af2fd054d055403d4ea669fd3af661cc8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af2fd054d055403d4ea669fd3af661cc8"></a>
+void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00029.html#af2fd054d055403d4ea669fd3af661cc8">destroy</a> (pointer p)</td></tr>
+<tr class="memdesc:af2fd054d055403d4ea669fd3af661cc8"><td class="mdescLeft"> </td><td class="mdescRight">Destroy value at location pointed to by p. <br/></td></tr>
+<tr class="separator:af2fd054d055403d4ea669fd3af661cc8"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><h3>template<typename T><br/>
+class tbb::cache_aligned_allocator< T ></h3>
+
+<p>Meets "allocator" requirements of ISO C++ Standard, Section 20.1.5. </p>
+<p>The members are ordered the same way they are in section 20.4.1 of the ISO C++ standard. </p>
+</div><hr/>The documentation for this class was generated from the following file:<ul>
+<li>cache_aligned_allocator.h</li>
+</ul>
+</div><!-- contents -->
+<hr>
+<p></p>
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
+<p></p>
+Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
+registered trademarks or trademarks of Intel Corporation or its
+subsidiaries in the United States and other countries.
+<p></p>
+* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00030.html b/doc/html/a00030.html
new file mode 100644
index 0000000..58bfb6b
--- /dev/null
+++ b/doc/html/a00030.html
@@ -0,0 +1,88 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::cache_aligned_allocator< void > Class Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00030.html">cache_aligned_allocator< void ></a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Classes</a> |
+<a href="#pub-types">Public Types</a> |
+<a href="a00252.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::cache_aligned_allocator< void > Class Template Reference<div class="ingroups"><a class="el" href="a00236.html">Memory Allocation</a></div></div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Analogous to std::allocator<void>, as defined in ISO C++ Standard, Section 20.4.1.  
+ <a href="a00030.html#details">More...</a></p>
+
+<p><code>#include <cache_aligned_allocator.h></code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Classes</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00096.html">rebind</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:a630325567e2ede3937a0d2e0f2da6a3f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a630325567e2ede3937a0d2e0f2da6a3f"></a>
+typedef void * </td><td class="memItemRight" valign="bottom"><b>pointer</b></td></tr>
+<tr class="separator:a630325567e2ede3937a0d2e0f2da6a3f"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a36f63efa0a37d205705b9d5944432864"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a36f63efa0a37d205705b9d5944432864"></a>
+typedef const void * </td><td class="memItemRight" valign="bottom"><b>const_pointer</b></td></tr>
+<tr class="separator:a36f63efa0a37d205705b9d5944432864"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:af7f973d0bb12319600505cf9c1fb35b0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af7f973d0bb12319600505cf9c1fb35b0"></a>
+typedef void </td><td class="memItemRight" valign="bottom"><b>value_type</b></td></tr>
+<tr class="separator:af7f973d0bb12319600505cf9c1fb35b0"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><h3>template<><br/>
+class tbb::cache_aligned_allocator< void ></h3>
+
+<p>Analogous to std::allocator<void>, as defined in ISO C++ Standard, Section 20.4.1. </p>
+</div><hr/>The documentation for this class was generated from the following file:<ul>
+<li>cache_aligned_allocator.h</li>
+</ul>
+</div><!-- contents -->
+<hr>
+<p></p>
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
+<p></p>
+Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
+registered trademarks or trademarks of Intel Corporation or its
+subsidiaries in the United States and other countries.
+<p></p>
+* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00031.html b/doc/html/a00031.html
index 5a817a5..9916d54 100644
--- a/doc/html/a00031.html
+++ b/doc/html/a00031.html
@@ -1,52 +1,211 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::captured_exception Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<h1>tbb::interface5::concurrent_priority_queue< T, Compare, A > Member List</h1>This is the complete list of members for <a class="el" href="a00285.html">tbb::interface5::concurrent_priority_queue< T, Compare, A ></a>, including all inherited members.<p><table>
-  <tr class="memlist"><td><a class="el" href="a00285.html#1712cb3a46bc1821fccc5e2cd83d5cd7">allocator_type</a> typedef</td><td><a class="el" href="a00285.html">tbb::interface5::concurrent_priority_queue< T, Compare, A ></a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00285.html#e89e38c09b212a3d39d6e36a5ee33fe8">assign</a>(InputIterator begin, InputIterator end)</td><td><a class="el" href="a00285.html">tbb::interface5::concurrent_priority_queue< T, Compare, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00285.html#38dc06a3143eefe5697b8cd157e0d00a">assign</a>(std::initializer_list< T > const &il)</td><td><a class="el" href="a00285.html">tbb::interface5::concurrent_priority_queue< T, Compare, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00285.html#0bdcdf7cde9fd369edca845bec34ca94">clear</a>()</td><td><a class="el" href="a00285.html">tbb::interface5::concurrent_priority_queue< T, Compare, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00285.html#eefa40599afe00ea393897d8f5662e65">concurrent_priority_queue</a>(const allocator_type &a=allocator_type())</td><td><a class="el" href="a00285.html">tbb::interface5::concurrent_priority_queue< T, Compare, A ></a></td><td><code> [inline, explicit]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00285.html#4555b4a55415a70024c4004b51e9f385">concurrent_priority_queue</a>(size_type init_capacity, const allocator_type &a=allocator_type())</td><td><a class="el" href="a00285.html">tbb::interface5::concurrent_priority_queue< T, Compare, A ></a></td><td><code> [inline, explicit]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00285.html#9147cb4207017c260a0c3929c12cd40f">concurrent_priority_queue</a>(InputIterator begin, InputIterator end, const allocator_type &a=allocator_type())</td><td><a class="el" href="a00285.html">tbb::interface5::concurrent_priority_queue< T, Compare, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00285.html#36fc4734032fff2e98bc9f21b73ab1be">concurrent_priority_queue</a>(std::initializer_list< T > const &init_list, const allocator_type &a=allocator_type())</td><td><a class="el" href="a00285.html">tbb::interface5::concurrent_priority_queue< T, Compare, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00285.html#509419e320f200456d89dc54a65140b3">concurrent_priority_queue</a>(const concurrent_priority_queue &src)</td><td><a class="el" href="a00285.html">tbb::interface5::concurrent_priority_queue< T, Compare, A ></a></td><td><code> [inline, explicit]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00285.html#c8b20e7430c5302936030bef59a562be">concurrent_priority_queue</a>(const concurrent_priority_queue &src, const allocator_type &a)</td><td><a class="el" href="a00285.html">tbb::interface5::concurrent_priority_queue< T, Compare, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00285.html#a4ded8601a434098605be0dcc4febc60">const_reference</a> typedef</td><td><a class="el" href="a00285.html">tbb::interface5::concurrent_priority_queue< T, Compare, A ></a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00285.html#77399bc76b3ecd60e33f7e35a5becd87">difference_type</a> typedef</td><td><a class="el" href="a00285.html">tbb::interface5::concurrent_priority_queue< T, Compare, A ></a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00285.html#317c508fa92df218be5d014c26c09bb7">empty</a>() const </td><td><a class="el" href="a00285.html">tbb::interface5::concurrent_priority_queue< T, Compare, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00285.html#d545d444fb0d16148f9b61fd89f9a337">get_allocator</a>() const </td><td><a class="el" href="a00285.html">tbb::interface5::concurrent_priority_queue< T, Compare, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00285.html#2ab7f7808891027ac0f0f5b3a4be51e9">operator=</a>(const concurrent_priority_queue &src)</td><td><a class="el" href="a00285.html">tbb::interface5::concurrent_priority_queue< T, Compare, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00285.html#9296c2eaeeae24cb7019659c2fdf0f62">operator=</a>(std::initializer_list< T > const &il)</td><td><a class="el" href="a00285.html">tbb::interface5::concurrent_priority_queue< T, Compare, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00285.html#d905af7b8f6defff562f5ae9c3275763">push</a>(const_reference elem)</td><td><a class="el" href="a00285.html">tbb::interface5::concurrent_priority_queue< T, Compare, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00285.html#5804b3c708ef4e50d603f918ef2b9e58">reference</a> typedef</td><td><a class="el" href="a00285.html">tbb::interface5::concurrent_priority_queue< T, Compare, A ></a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00285.html#8b2ae25c61338c6fd59e94fe09822ba5">size</a>() const </td><td><a class="el" href="a00285.html">tbb::interface5::concurrent_priority_queue< T, Compare, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00285.html#b679eea8d01d041625a39f719ca2b7ed">size_type</a> typedef</td><td><a class="el" href="a00285.html">tbb::interface5::concurrent_priority_queue< T, Compare, A ></a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00285.html#0ecdc6a04aa259374425d424ca2a6082">swap</a>(concurrent_priority_queue &q)</td><td><a class="el" href="a00285.html">tbb::interface5::concurrent_priority_queue< T, Compare, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00285.html#e036461a29cc40902a2bb79abf9f5146">try_pop</a>(reference elem)</td><td><a class="el" href="a00285.html">tbb::interface5::concurrent_priority_queue< T, Compare, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00285.html#7c611a6b5b8f94b0e7f2afc97e31efb1">value_type</a> typedef</td><td><a class="el" href="a00285.html">tbb::interface5::concurrent_priority_queue< T, Compare, A ></a></td><td></td></tr>
-</table><hr>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00031.html">captured_exception</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> |
+<a href="a00303.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::captured_exception Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This class is used by TBB to propagate information about unhandled exceptions into the root thread.  
+ <a href="a00031.html#details">More...</a></p>
+
+<p><code>#include <tbb_exception.h></code></p>
+<div class="dynheader">
+Inheritance diagram for tbb::captured_exception:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00031.png" usemap="#tbb::captured_exception_map" alt=""/>
+  <map id="tbb::captured_exception_map" name="tbb::captured_exception_map">
+<area href="a00146.html" title="Interface to be implemented by all exceptions TBB recognizes and propagates across the threads..." alt="tbb::tbb_exception" shape="rect" coords="0,56,146,80"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a56f6c51b6d4f8ce31669457ff8f0c07f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a56f6c51b6d4f8ce31669457ff8f0c07f"></a>
+ </td><td class="memItemRight" valign="bottom"><b>captured_exception</b> (const <a class="el" href="a00031.html">captured_exception</a> &src)</td></tr>
+<tr class="separator:a56f6c51b6d4f8ce31669457ff8f0c07f"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ab3d72662db6a2badffa95a649a6c0bdd"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab3d72662db6a2badffa95a649a6c0bdd"></a>
+ </td><td class="memItemRight" valign="bottom"><b>captured_exception</b> (const char *name_, const char *info)</td></tr>
+<tr class="separator:ab3d72662db6a2badffa95a649a6c0bdd"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a78a66603238d40da9ec6a750b6a2425c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a78a66603238d40da9ec6a750b6a2425c"></a>
+<a class="el" href="a00031.html">captured_exception</a> & </td><td class="memItemRight" valign="bottom"><b>operator=</b> (const <a class="el" href="a00031.html">captured_exception</a> &src)</td></tr>
+<tr class="separator:a78a66603238d40da9ec6a750b6a2425c"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:abb221485cd260349efdef681f633a6a4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00031.html">captured_exception</a> <br class="typebreak"/>
+*__TBB_EXPORTED_METHOD </td><td class="memItemRight" valign="bottom"><a class="el" href="a00031.html#abb221485cd260349efdef681f633a6a4">move</a> ()  throw ()</td></tr>
+<tr class="memdesc:abb221485cd260349efdef681f633a6a4"><td class="mdescLeft"> </td><td class="mdescRight">Creates and returns pointer to the deep copy of this exception object.  <a href="#abb221485cd260349efdef681f633a6a4">More...</a><br/></td></tr>
+<tr class="separator:abb221485cd260349efdef681f633a6a4"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a3006b6825dda6c746d28fb748f5675de"><td class="memItemLeft" align="right" valign="top">void __TBB_EXPORTED_METHOD </td><td class="memItemRight" valign="bottom"><a class="el" href="a00031.html#a3006b6825dda6c746d28fb748f5675de">destroy</a> ()  throw ()</td></tr>
+<tr class="memdesc:a3006b6825dda6c746d28fb748f5675de"><td class="mdescLeft"> </td><td class="mdescRight">Destroys objects created by the <a class="el" href="a00031.html#abb221485cd260349efdef681f633a6a4" title="Creates and returns pointer to the deep copy of this exception object. ">move()</a> method.  <a href="#a3006b6825dda6c746d28fb748f5675de">More...</a><br/></td></tr>
+<tr class="separator:a3006b6825dda6c746d28fb748f5675de"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ac9ae925678fcc0cc02a74df7d06b8d63"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00031.html#ac9ae925678fcc0cc02a74df7d06b8d63">throw_self</a> ()</td></tr>
+<tr class="memdesc:ac9ae925678fcc0cc02a74df7d06b8d63"><td class="mdescLeft"> </td><td class="mdescRight">Throws this exception object.  <a href="#ac9ae925678fcc0cc02a74df7d06b8d63">More...</a><br/></td></tr>
+<tr class="separator:ac9ae925678fcc0cc02a74df7d06b8d63"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a23426113851b78d3f0069956afd21976"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a23426113851b78d3f0069956afd21976"></a>
+const char *__TBB_EXPORTED_METHOD </td><td class="memItemRight" valign="bottom"><a class="el" href="a00031.html#a23426113851b78d3f0069956afd21976">name</a> () const   throw ()</td></tr>
+<tr class="memdesc:a23426113851b78d3f0069956afd21976"><td class="mdescLeft"> </td><td class="mdescRight">Returns RTTI name of the originally intercepted exception. <br/></td></tr>
+<tr class="separator:a23426113851b78d3f0069956afd21976"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ac97ee315d8613c803dae2f6d3e0b91a7"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac97ee315d8613c803dae2f6d3e0b91a7"></a>
+const char *__TBB_EXPORTED_METHOD </td><td class="memItemRight" valign="bottom"><a class="el" href="a00031.html#ac97ee315d8613c803dae2f6d3e0b91a7">what</a> () const   throw ()</td></tr>
+<tr class="memdesc:ac97ee315d8613c803dae2f6d3e0b91a7"><td class="mdescLeft"> </td><td class="mdescRight">Returns the result of originally intercepted exception's <a class="el" href="a00031.html#ac97ee315d8613c803dae2f6d3e0b91a7" title="Returns the result of originally intercepted exception's what() method. ">what()</a> method. <br/></td></tr>
+<tr class="separator:ac97ee315d8613c803dae2f6d3e0b91a7"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aa72deb29316e8c08700f7e6afa4a48e8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa72deb29316e8c08700f7e6afa4a48e8"></a>
+void __TBB_EXPORTED_METHOD </td><td class="memItemRight" valign="bottom"><b>set</b> (const char *<a class="el" href="a00031.html#a23426113851b78d3f0069956afd21976">name</a>, const char *info)  throw ()</td></tr>
+<tr class="separator:aa72deb29316e8c08700f7e6afa4a48e8"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a0b160c0fc5d2fab90df2be96ea14088a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0b160c0fc5d2fab90df2be96ea14088a"></a>
+void __TBB_EXPORTED_METHOD </td><td class="memItemRight" valign="bottom"><b>clear</b> ()  throw ()</td></tr>
+<tr class="separator:a0b160c0fc5d2fab90df2be96ea14088a"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="inherit_header pub_methods_a00146"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00146')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="a00146.html">tbb::tbb_exception</a></td></tr>
+<tr class="memitem:a6a973c37078afedf7d457ff4704bf8cd inherit pub_methods_a00146"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00146.html#a6a973c37078afedf7d457ff4704bf8cd">operator delete</a> (void *p)</td></tr>
+<tr class="separator:a6a973c37078afedf7d457ff4704bf8cd inherit pub_methods_a00146"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>This class is used by TBB to propagate information about unhandled exceptions into the root thread. </p>
+<p>Exception of this type is thrown by TBB in the root thread (thread that started a parallel algorithm ) if an unhandled exception was intercepted during the algorithm execution in one of the workers. </p>
+<dl class="section see"><dt>See Also</dt><dd><a class="el" href="a00146.html" title="Interface to be implemented by all exceptions TBB recognizes and propagates across the threads...">tbb::tbb_exception</a> </dd></dl>
+</div><h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="a3006b6825dda6c746d28fb748f5675de"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">void __TBB_EXPORTED_METHOD tbb::captured_exception::destroy </td>
+          <td>(</td>
+          <td class="paramname">)</td><td></td>
+          <td></td>
+        </tr>
+        <tr>
+          <td align="right">throw </td><td>(</td><td colspan="2"></td>
+        </tr>
+        <tr>
+          <td align="right"></td><td>)</td><td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Destroys objects created by the <a class="el" href="a00031.html#abb221485cd260349efdef681f633a6a4" title="Creates and returns pointer to the deep copy of this exception object. ">move()</a> method. </p>
+<p>Frees memory and calls destructor for this exception object. Can and must be used only on objects created by the move method. </p>
+
+<p>Implements <a class="el" href="a00146.html#ad3bc09bf78c33f19a0bcdf882fdf9d41">tbb::tbb_exception</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="abb221485cd260349efdef681f633a6a4"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00031.html">captured_exception</a>* __TBB_EXPORTED_METHOD tbb::captured_exception::move </td>
+          <td>(</td>
+          <td class="paramname">)</td><td></td>
+          <td></td>
+        </tr>
+        <tr>
+          <td align="right">throw </td><td>(</td><td colspan="2"></td>
+        </tr>
+        <tr>
+          <td align="right"></td><td>)</td><td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Creates and returns pointer to the deep copy of this exception object. </p>
+<p>Move semantics is allowed. </p>
+
+<p>Implements <a class="el" href="a00146.html#a4bd4ba0d501021013d1473d21b020b69">tbb::tbb_exception</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ac9ae925678fcc0cc02a74df7d06b8d63"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">void tbb::captured_exception::throw_self </td>
+          <td>(</td>
+          <td class="paramname">)</td><td></td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Throws this exception object. </p>
+<p>Make sure that if you have several levels of derivation from this interface you implement or override this method on the most derived level. The implementation is as simple as "throw *this;". Failure to do this will result in exception of a base class type being thrown. </p>
+
+<p>Implements <a class="el" href="a00146.html#ae45c08d36c7ec7ae91785da3515a8828">tbb::tbb_exception</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>tbb_exception.h</li>
+</ul>
+</div><!-- contents -->
+<hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00031.png b/doc/html/a00031.png
new file mode 100644
index 0000000..131abf6
Binary files /dev/null and b/doc/html/a00031.png differ
diff --git a/doc/html/a00032.html b/doc/html/a00032.html
new file mode 100644
index 0000000..87f4cd8
--- /dev/null
+++ b/doc/html/a00032.html
@@ -0,0 +1,104 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::combinable< T > Class Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00032.html">combinable</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> |
+<a href="a00254.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::combinable< T > Class Template Reference<div class="ingroups"><a class="el" href="a00235.html">Containers</a></div></div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Thread-local storage with optional reduction.  
+ <a href="a00032.html#details">More...</a></p>
+
+<p><code>#include <combinable.h></code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:ab3c539d5731faaafd81979b207a4fa1f"><td class="memTemplParams" colspan="2"><a class="anchor" id="ab3c539d5731faaafd81979b207a4fa1f"></a>
+template<typename finit > </td></tr>
+<tr class="memitem:ab3c539d5731faaafd81979b207a4fa1f"><td class="memTemplItemLeft" align="right" valign="top"> </td><td class="memTemplItemRight" valign="bottom"><b>combinable</b> (finit _finit)</td></tr>
+<tr class="separator:ab3c539d5731faaafd81979b207a4fa1f"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a52f00cf262d768048db72ab73c8f3ca4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a52f00cf262d768048db72ab73c8f3ca4"></a>
+ </td><td class="memItemRight" valign="bottom"><a class="el" href="a00032.html#a52f00cf262d768048db72ab73c8f3ca4">~combinable</a> ()</td></tr>
+<tr class="memdesc:a52f00cf262d768048db72ab73c8f3ca4"><td class="mdescLeft"> </td><td class="mdescRight">destructor <br/></td></tr>
+<tr class="separator:a52f00cf262d768048db72ab73c8f3ca4"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a376f44cba71450fc18ccddaad61b76cc"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a376f44cba71450fc18ccddaad61b76cc"></a>
+ </td><td class="memItemRight" valign="bottom"><b>combinable</b> (const <a class="el" href="a00032.html">combinable</a> &other)</td></tr>
+<tr class="separator:a376f44cba71450fc18ccddaad61b76cc"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ab011fbe2f0600900b6e1b9760d82aead"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab011fbe2f0600900b6e1b9760d82aead"></a>
+<a class="el" href="a00032.html">combinable</a> & </td><td class="memItemRight" valign="bottom"><b>operator=</b> (const <a class="el" href="a00032.html">combinable</a> &other)</td></tr>
+<tr class="separator:ab011fbe2f0600900b6e1b9760d82aead"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a8ecfe80161a59f04ffd9676e79701de6"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8ecfe80161a59f04ffd9676e79701de6"></a>
+void </td><td class="memItemRight" valign="bottom"><b>clear</b> ()</td></tr>
+<tr class="separator:a8ecfe80161a59f04ffd9676e79701de6"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ae47f982dbd396d225f0f546e60690d42"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae47f982dbd396d225f0f546e60690d42"></a>
+T & </td><td class="memItemRight" valign="bottom"><b>local</b> ()</td></tr>
+<tr class="separator:ae47f982dbd396d225f0f546e60690d42"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a2433d2b3b53b9979d0b3bb2a175abc9b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2433d2b3b53b9979d0b3bb2a175abc9b"></a>
+T & </td><td class="memItemRight" valign="bottom"><b>local</b> (bool &exists)</td></tr>
+<tr class="separator:a2433d2b3b53b9979d0b3bb2a175abc9b"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a3d564f6d480e0c7fe8e756d1de1cf0e2"><td class="memTemplParams" colspan="2"><a class="anchor" id="a3d564f6d480e0c7fe8e756d1de1cf0e2"></a>
+template<typename combine_func_t > </td></tr>
+<tr class="memitem:a3d564f6d480e0c7fe8e756d1de1cf0e2"><td class="memTemplItemLeft" align="right" valign="top">T </td><td class="memTemplItemRight" valign="bottom"><b>combine</b> (combine_func_t f_combine)</td></tr>
+<tr class="separator:a3d564f6d480e0c7fe8e756d1de1cf0e2"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aadadee714004d977f0e95a479bfb80ac"><td class="memTemplParams" colspan="2"><a class="anchor" id="aadadee714004d977f0e95a479bfb80ac"></a>
+template<typename combine_func_t > </td></tr>
+<tr class="memitem:aadadee714004d977f0e95a479bfb80ac"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><b>combine_each</b> (combine_func_t f_combine)</td></tr>
+<tr class="separator:aadadee714004d977f0e95a479bfb80ac"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><h3>template<typename T><br/>
+class tbb::combinable< T ></h3>
+
+<p>Thread-local storage with optional reduction. </p>
+</div><hr/>The documentation for this class was generated from the following file:<ul>
+<li>combinable.h</li>
+</ul>
+</div><!-- contents -->
+<hr>
+<p></p>
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
+<p></p>
+Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
+registered trademarks or trademarks of Intel Corporation or its
+subsidiaries in the United States and other countries.
+<p></p>
+* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00033.html b/doc/html/a00033.html
new file mode 100644
index 0000000..00e700c
--- /dev/null
+++ b/doc/html/a00033.html
@@ -0,0 +1,56 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::interface6::internal::concrete_filter< T, U, Body > Class Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>interface6</b></li><li class="navelem"><b>internal</b></li><li class="navelem"><a class="el" href="a00033.html">concrete_filter</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::interface6::internal::concrete_filter< T, U, Body > Class Template Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>pipeline.h</li>
+</ul>
+</div><!-- contents -->
+<hr>
+<p></p>
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
+<p></p>
+Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
+registered trademarks or trademarks of Intel Corporation or its
+subsidiaries in the United States and other countries.
+<p></p>
+* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00034.html b/doc/html/a00034.html
new file mode 100644
index 0000000..7d035ff
--- /dev/null
+++ b/doc/html/a00034.html
@@ -0,0 +1,365 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::concurrent_bounded_queue< T, A > Class Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00034.html">concurrent_bounded_queue</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Classes</a> |
+<a href="#pub-types">Public Types</a> |
+<a href="#pub-methods">Public Member Functions</a> |
+<a href="#friends">Friends</a> |
+<a href="a00256.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::concurrent_bounded_queue< T, A > Class Template Reference<div class="ingroups"><a class="el" href="a00235.html">Containers</a></div></div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>A high-performance thread-safe blocking concurrent bounded queue.  
+ <a href="a00034.html#details">More...</a></p>
+
+<p><code>#include <concurrent_queue.h></code></p>
+<div class="dynheader">
+Inheritance diagram for tbb::concurrent_bounded_queue< T, A >:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00034.png" usemap="#tbb::concurrent_bounded_queue< T, A >_map" alt=""/>
+  <map id="tbb::concurrent_bounded_queue< T, A >_map" name="tbb::concurrent_bounded_queue< T, A >_map">
+<area href="a00039.html" title="A high-performance thread-safe blocking concurrent bounded queue. " alt="tbb::deprecated::concurrent_queue< T, A >" shape="rect" coords="0,112,257,136"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:a6eb564625fef03dd9a5881d5d4e52f9f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6eb564625fef03dd9a5881d5d4e52f9f"></a>
+typedef T </td><td class="memItemRight" valign="bottom"><a class="el" href="a00034.html#a6eb564625fef03dd9a5881d5d4e52f9f">value_type</a></td></tr>
+<tr class="memdesc:a6eb564625fef03dd9a5881d5d4e52f9f"><td class="mdescLeft"> </td><td class="mdescRight">Element type in the queue. <br/></td></tr>
+<tr class="separator:a6eb564625fef03dd9a5881d5d4e52f9f"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:acbfceb845de1c770e2b56409f09b0364"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acbfceb845de1c770e2b56409f09b0364"></a>
+typedef A </td><td class="memItemRight" valign="bottom"><a class="el" href="a00034.html#acbfceb845de1c770e2b56409f09b0364">allocator_type</a></td></tr>
+<tr class="memdesc:acbfceb845de1c770e2b56409f09b0364"><td class="mdescLeft"> </td><td class="mdescRight">Allocator type. <br/></td></tr>
+<tr class="separator:acbfceb845de1c770e2b56409f09b0364"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a5fa4002bcd265d9d3ed305e3b686f1da"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5fa4002bcd265d9d3ed305e3b686f1da"></a>
+typedef T & </td><td class="memItemRight" valign="bottom"><a class="el" href="a00034.html#a5fa4002bcd265d9d3ed305e3b686f1da">reference</a></td></tr>
+<tr class="memdesc:a5fa4002bcd265d9d3ed305e3b686f1da"><td class="mdescLeft"> </td><td class="mdescRight">Reference type. <br/></td></tr>
+<tr class="separator:a5fa4002bcd265d9d3ed305e3b686f1da"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:af838e520ce0db2c22369748c019b11cb"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af838e520ce0db2c22369748c019b11cb"></a>
+typedef const T & </td><td class="memItemRight" valign="bottom"><a class="el" href="a00034.html#af838e520ce0db2c22369748c019b11cb">const_reference</a></td></tr>
+<tr class="memdesc:af838e520ce0db2c22369748c019b11cb"><td class="mdescLeft"> </td><td class="mdescRight">Const reference type. <br/></td></tr>
+<tr class="separator:af838e520ce0db2c22369748c019b11cb"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ae73fa352d781bdb9d01bfb77f2a8bc28"><td class="memItemLeft" align="right" valign="top">typedef std::ptrdiff_t </td><td class="memItemRight" valign="bottom"><a class="el" href="a00034.html#ae73fa352d781bdb9d01bfb77f2a8bc28">size_type</a></td></tr>
+<tr class="memdesc:ae73fa352d781bdb9d01bfb77f2a8bc28"><td class="mdescLeft"> </td><td class="mdescRight">Integral type for representing size of the queue.  <a href="#ae73fa352d781bdb9d01bfb77f2a8bc28">More...</a><br/></td></tr>
+<tr class="separator:ae73fa352d781bdb9d01bfb77f2a8bc28"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a72725361e050c5a981035a20ef1b773e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a72725361e050c5a981035a20ef1b773e"></a>
+typedef std::ptrdiff_t </td><td class="memItemRight" valign="bottom"><a class="el" href="a00034.html#a72725361e050c5a981035a20ef1b773e">difference_type</a></td></tr>
+<tr class="memdesc:a72725361e050c5a981035a20ef1b773e"><td class="mdescLeft"> </td><td class="mdescRight">Difference type for iterator. <br/></td></tr>
+<tr class="separator:a72725361e050c5a981035a20ef1b773e"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a42dfb71b1e4bdc0da3c1217d0d40ddd5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a42dfb71b1e4bdc0da3c1217d0d40ddd5"></a>
+typedef <br class="typebreak"/>
+internal::concurrent_queue_iterator<br class="typebreak"/>
+< <a class="el" href="a00034.html">concurrent_bounded_queue</a>, T > </td><td class="memItemRight" valign="bottom"><b>iterator</b></td></tr>
+<tr class="separator:a42dfb71b1e4bdc0da3c1217d0d40ddd5"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a18049841284051e18b854692bd04602c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a18049841284051e18b854692bd04602c"></a>
+typedef <br class="typebreak"/>
+internal::concurrent_queue_iterator<br class="typebreak"/>
+< <a class="el" href="a00034.html">concurrent_bounded_queue</a>, <br class="typebreak"/>
+const T > </td><td class="memItemRight" valign="bottom"><b>const_iterator</b></td></tr>
+<tr class="separator:a18049841284051e18b854692bd04602c"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a85f8a800cae02b601f36ad7a655a0126"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a85f8a800cae02b601f36ad7a655a0126"></a>
+ </td><td class="memItemRight" valign="bottom"><a class="el" href="a00034.html#a85f8a800cae02b601f36ad7a655a0126">concurrent_bounded_queue</a> (const <a class="el" href="a00034.html#acbfceb845de1c770e2b56409f09b0364">allocator_type</a> &a=<a class="el" href="a00034.html#acbfceb845de1c770e2b56409f09b0364">allocator_type</a>())</td></tr>
+<tr class="memdesc:a85f8a800cae02b601f36ad7a655a0126"><td class="mdescLeft"> </td><td class="mdescRight">Construct empty queue. <br/></td></tr>
+<tr class="separator:a85f8a800cae02b601f36ad7a655a0126"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aad6fd2353d64c2c31d074cd99df58c02"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aad6fd2353d64c2c31d074cd99df58c02"></a>
+ </td><td class="memItemRight" valign="bottom"><a class="el" href="a00034.html#aad6fd2353d64c2c31d074cd99df58c02">concurrent_bounded_queue</a> (const <a class="el" href="a00034.html">concurrent_bounded_queue</a> &src, const <a class="el" href="a00034.html#acbfceb845de1c770e2b56409f09b0364">allocator_type</a> &a=<a class="el" href="a00034.html#acbfceb845de1c770e2b56409f09b0364">allocator_type</a>())</td></tr>
+<tr class="memdesc:aad6fd2353d64c2c31d074cd99df58c02"><td class="mdescLeft"> </td><td class="mdescRight">Copy constructor. <br/></td></tr>
+<tr class="separator:aad6fd2353d64c2c31d074cd99df58c02"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:afcfdc998e106fdb7b2dfa5df880cd9cf"><td class="memTemplParams" colspan="2"><a class="anchor" id="afcfdc998e106fdb7b2dfa5df880cd9cf"></a>
+template<typename InputIterator > </td></tr>
+<tr class="memitem:afcfdc998e106fdb7b2dfa5df880cd9cf"><td class="memTemplItemLeft" align="right" valign="top"> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00034.html#afcfdc998e106fdb7b2dfa5df880cd9cf">concurrent_bounded_queue</a> (InputIterator begin, InputIterator end, const <a class="el" href="a00034.html#acbfceb845de1c770e2b56409f09b0364">allocator_type</a> &a=<a class="el" href="a00034.html#acbfceb845de1c770e2b56409f09b0364">allocator_type</a>())< [...]
+<tr class="memdesc:afcfdc998e106fdb7b2dfa5df880cd9cf"><td class="mdescLeft"> </td><td class="mdescRight">[begin,end) constructor <br/></td></tr>
+<tr class="separator:afcfdc998e106fdb7b2dfa5df880cd9cf"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ab1291bf6837ecfb8836c24dde5dd80b5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab1291bf6837ecfb8836c24dde5dd80b5"></a>
+ </td><td class="memItemRight" valign="bottom"><a class="el" href="a00034.html#ab1291bf6837ecfb8836c24dde5dd80b5">~concurrent_bounded_queue</a> ()</td></tr>
+<tr class="memdesc:ab1291bf6837ecfb8836c24dde5dd80b5"><td class="mdescLeft"> </td><td class="mdescRight">Destroy queue. <br/></td></tr>
+<tr class="separator:ab1291bf6837ecfb8836c24dde5dd80b5"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ae5e9051772bbc93b2ccb8fd0a98a21f5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae5e9051772bbc93b2ccb8fd0a98a21f5"></a>
+void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00034.html#ae5e9051772bbc93b2ccb8fd0a98a21f5">push</a> (const T &source)</td></tr>
+<tr class="memdesc:ae5e9051772bbc93b2ccb8fd0a98a21f5"><td class="mdescLeft"> </td><td class="mdescRight">Enqueue an item at tail of queue. <br/></td></tr>
+<tr class="separator:ae5e9051772bbc93b2ccb8fd0a98a21f5"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a87926c31967a918ce80690a9ed5d6fa8"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00034.html#a87926c31967a918ce80690a9ed5d6fa8">pop</a> (T &destination)</td></tr>
+<tr class="memdesc:a87926c31967a918ce80690a9ed5d6fa8"><td class="mdescLeft"> </td><td class="mdescRight">Dequeue item from head of queue.  <a href="#a87926c31967a918ce80690a9ed5d6fa8">More...</a><br/></td></tr>
+<tr class="separator:a87926c31967a918ce80690a9ed5d6fa8"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a77a755d94cabf5208905d10d5b57419c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a77a755d94cabf5208905d10d5b57419c"></a>
+void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00034.html#a77a755d94cabf5208905d10d5b57419c">abort</a> ()</td></tr>
+<tr class="memdesc:a77a755d94cabf5208905d10d5b57419c"><td class="mdescLeft"> </td><td class="mdescRight">Abort all pending queue operations. <br/></td></tr>
+<tr class="separator:a77a755d94cabf5208905d10d5b57419c"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a03d93a240841a21788396bebd71c51bd"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00034.html#a03d93a240841a21788396bebd71c51bd">try_push</a> (const T &source)</td></tr>
+<tr class="memdesc:a03d93a240841a21788396bebd71c51bd"><td class="mdescLeft"> </td><td class="mdescRight">Enqueue an item at tail of queue if queue is not already full.  <a href="#a03d93a240841a21788396bebd71c51bd">More...</a><br/></td></tr>
+<tr class="separator:a03d93a240841a21788396bebd71c51bd"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a3086cb4dcdeee245ef5cf34f72fb3e10"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00034.html#a3086cb4dcdeee245ef5cf34f72fb3e10">try_pop</a> (T &destination)</td></tr>
+<tr class="memdesc:a3086cb4dcdeee245ef5cf34f72fb3e10"><td class="mdescLeft"> </td><td class="mdescRight">Attempt to dequeue an item from head of queue.  <a href="#a3086cb4dcdeee245ef5cf34f72fb3e10">More...</a><br/></td></tr>
+<tr class="separator:a3086cb4dcdeee245ef5cf34f72fb3e10"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a9d6c20fd8c193c12b6a7b0c3101fd966"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00034.html#ae73fa352d781bdb9d01bfb77f2a8bc28">size_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00034.html#a9d6c20fd8c193c12b6a7b0c3101fd966">size</a> () const </td></tr>
+<tr class="memdesc:a9d6c20fd8c193c12b6a7b0c3101fd966"><td class="mdescLeft"> </td><td class="mdescRight">Return number of pushes minus number of pops.  <a href="#a9d6c20fd8c193c12b6a7b0c3101fd966">More...</a><br/></td></tr>
+<tr class="separator:a9d6c20fd8c193c12b6a7b0c3101fd966"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a8c59578f28c5fb4718b0eff43776e879"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8c59578f28c5fb4718b0eff43776e879"></a>
+bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00034.html#a8c59578f28c5fb4718b0eff43776e879">empty</a> () const </td></tr>
+<tr class="memdesc:a8c59578f28c5fb4718b0eff43776e879"><td class="mdescLeft"> </td><td class="mdescRight">Equivalent to <a class="el" href="a00034.html#a9d6c20fd8c193c12b6a7b0c3101fd966" title="Return number of pushes minus number of pops. ">size()</a><=0. <br/></td></tr>
+<tr class="separator:a8c59578f28c5fb4718b0eff43776e879"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a526487063242569685af8c8d778d39e0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a526487063242569685af8c8d778d39e0"></a>
+<a class="el" href="a00034.html#ae73fa352d781bdb9d01bfb77f2a8bc28">size_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00034.html#a526487063242569685af8c8d778d39e0">capacity</a> () const </td></tr>
+<tr class="memdesc:a526487063242569685af8c8d778d39e0"><td class="mdescLeft"> </td><td class="mdescRight">Maximum number of allowed elements. <br/></td></tr>
+<tr class="separator:a526487063242569685af8c8d778d39e0"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a768699675813575eec08c1f43afda395"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00034.html#a768699675813575eec08c1f43afda395">set_capacity</a> (<a class="el" href="a00034.html#ae73fa352d781bdb9d01bfb77f2a8bc28">size_type</a> new_capacity)</td></tr>
+<tr class="memdesc:a768699675813575eec08c1f43afda395"><td class="mdescLeft"> </td><td class="mdescRight">Set the capacity.  <a href="#a768699675813575eec08c1f43afda395">More...</a><br/></td></tr>
+<tr class="separator:a768699675813575eec08c1f43afda395"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aaeba11bbcd368a7a3a6e6e2dd3082c9c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aaeba11bbcd368a7a3a6e6e2dd3082c9c"></a>
+<a class="el" href="a00034.html#acbfceb845de1c770e2b56409f09b0364">allocator_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00034.html#aaeba11bbcd368a7a3a6e6e2dd3082c9c">get_allocator</a> () const </td></tr>
+<tr class="memdesc:aaeba11bbcd368a7a3a6e6e2dd3082c9c"><td class="mdescLeft"> </td><td class="mdescRight">return allocator object <br/></td></tr>
+<tr class="separator:aaeba11bbcd368a7a3a6e6e2dd3082c9c"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a246be3920e079ea4847933f106baa98f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a246be3920e079ea4847933f106baa98f"></a>
+void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00034.html#a246be3920e079ea4847933f106baa98f">clear</a> ()</td></tr>
+<tr class="memdesc:a246be3920e079ea4847933f106baa98f"><td class="mdescLeft"> </td><td class="mdescRight">clear the queue. not thread-safe. <br/></td></tr>
+<tr class="separator:a246be3920e079ea4847933f106baa98f"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ac0c931eaa1ddc30025e49d06cc383703"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac0c931eaa1ddc30025e49d06cc383703"></a>
+iterator </td><td class="memItemRight" valign="bottom"><b>unsafe_begin</b> ()</td></tr>
+<tr class="separator:ac0c931eaa1ddc30025e49d06cc383703"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a634cece9742cbaba56ba6f7777568e4c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a634cece9742cbaba56ba6f7777568e4c"></a>
+iterator </td><td class="memItemRight" valign="bottom"><b>unsafe_end</b> ()</td></tr>
+<tr class="separator:a634cece9742cbaba56ba6f7777568e4c"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a2ed2f8130fd679e89327cb292fb25510"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2ed2f8130fd679e89327cb292fb25510"></a>
+const_iterator </td><td class="memItemRight" valign="bottom"><b>unsafe_begin</b> () const </td></tr>
+<tr class="separator:a2ed2f8130fd679e89327cb292fb25510"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a873d62f59fd79959c0204f5fb44c774d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a873d62f59fd79959c0204f5fb44c774d"></a>
+const_iterator </td><td class="memItemRight" valign="bottom"><b>unsafe_end</b> () const </td></tr>
+<tr class="separator:a873d62f59fd79959c0204f5fb44c774d"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
+Friends</h2></td></tr>
+<tr class="memitem:a1f5eec0de2e660ea5372d19393f0920b"><td class="memTemplParams" colspan="2"><a class="anchor" id="a1f5eec0de2e660ea5372d19393f0920b"></a>
+template<typename Container , typename Value > </td></tr>
+<tr class="memitem:a1f5eec0de2e660ea5372d19393f0920b"><td class="memTemplItemLeft" align="right" valign="top">class </td><td class="memTemplItemRight" valign="bottom"><b>internal::concurrent_queue_iterator</b></td></tr>
+<tr class="separator:a1f5eec0de2e660ea5372d19393f0920b"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><h3>template<typename T, class A = cache_aligned_allocator<T>><br/>
+class tbb::concurrent_bounded_queue< T, A ></h3>
+
+<p>A high-performance thread-safe blocking concurrent bounded queue. </p>
+<p>This is the pre-PPL TBB concurrent queue which supports boundedness and blocking semantics. Note that method names agree with the PPL-style concurrent queue. Multiple threads may each push and pop concurrently. Assignment construction is not allowed. </p>
+</div><h2 class="groupheader">Member Typedef Documentation</h2>
+<a class="anchor" id="ae73fa352d781bdb9d01bfb77f2a8bc28"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T, class A = cache_aligned_allocator<T>> </div>
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef std::ptrdiff_t <a class="el" href="a00034.html">tbb::concurrent_bounded_queue</a>< T, A >::<a class="el" href="a00034.html#ae73fa352d781bdb9d01bfb77f2a8bc28">size_type</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Integral type for representing size of the queue. </p>
+<p>Note that the size_type is a signed integral type. This is because the size can be negative if there are pending pops without corresponding pushes. </p>
+
+</div>
+</div>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="a87926c31967a918ce80690a9ed5d6fa8"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T, class A = cache_aligned_allocator<T>> </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">void <a class="el" href="a00034.html">tbb::concurrent_bounded_queue</a>< T, A >::pop </td>
+          <td>(</td>
+          <td class="paramtype">T & </td>
+          <td class="paramname"><em>destination</em>)</td><td></td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Dequeue item from head of queue. </p>
+<p>Block until an item becomes available, and then dequeue it. </p>
+
+</div>
+</div>
+<a class="anchor" id="a768699675813575eec08c1f43afda395"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T, class A = cache_aligned_allocator<T>> </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">void <a class="el" href="a00034.html">tbb::concurrent_bounded_queue</a>< T, A >::set_capacity </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="a00034.html#ae73fa352d781bdb9d01bfb77f2a8bc28">size_type</a> </td>
+          <td class="paramname"><em>new_capacity</em>)</td><td></td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Set the capacity. </p>
+<p>Setting the capacity to 0 causes subsequent try_push operations to always fail, and subsequent push operations to block forever. </p>
+
+</div>
+</div>
+<a class="anchor" id="a9d6c20fd8c193c12b6a7b0c3101fd966"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T, class A = cache_aligned_allocator<T>> </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00034.html#ae73fa352d781bdb9d01bfb77f2a8bc28">size_type</a> <a class="el" href="a00034.html">tbb::concurrent_bounded_queue</a>< T, A >::size </td>
+          <td>(</td>
+          <td class="paramname">)</td><td></td>
+          <td> const</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Return number of pushes minus number of pops. </p>
+<p>Note that the result can be negative if there are pops waiting for the corresponding pushes. The result can also exceed <a class="el" href="a00034.html#a526487063242569685af8c8d778d39e0" title="Maximum number of allowed elements. ">capacity()</a> if there are push operations in flight. </p>
+
+</div>
+</div>
+<a class="anchor" id="a3086cb4dcdeee245ef5cf34f72fb3e10"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T, class A = cache_aligned_allocator<T>> </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool <a class="el" href="a00034.html">tbb::concurrent_bounded_queue</a>< T, A >::try_pop </td>
+          <td>(</td>
+          <td class="paramtype">T & </td>
+          <td class="paramname"><em>destination</em>)</td><td></td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Attempt to dequeue an item from head of queue. </p>
+<p>Does not wait for item to become available. Returns true if successful; false otherwise. </p>
+
+<p>Referenced by <a class="el" href="a00039.html#a8d6825341ca673ea316202474a021174">tbb::deprecated::concurrent_queue< T, A >::pop_if_present()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a03d93a240841a21788396bebd71c51bd"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T, class A = cache_aligned_allocator<T>> </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool <a class="el" href="a00034.html">tbb::concurrent_bounded_queue</a>< T, A >::try_push </td>
+          <td>(</td>
+          <td class="paramtype">const T & </td>
+          <td class="paramname"><em>source</em>)</td><td></td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Enqueue an item at tail of queue if queue is not already full. </p>
+<p>Does not wait for queue to become not full. Returns true if item is pushed; false if queue was already full. </p>
+
+<p>Referenced by <a class="el" href="a00039.html#a129cde9f5f101ddd623619c838be07f3">tbb::deprecated::concurrent_queue< T, A >::push_if_not_full()</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>concurrent_queue.h</li>
+</ul>
+</div><!-- contents -->
+<hr>
+<p></p>
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
+<p></p>
+Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
+registered trademarks or trademarks of Intel Corporation or its
+subsidiaries in the United States and other countries.
+<p></p>
+* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00034.png b/doc/html/a00034.png
new file mode 100644
index 0000000..690944f
Binary files /dev/null and b/doc/html/a00034.png differ
diff --git a/doc/html/a00035.html b/doc/html/a00035.html
index 1b9c1ce..22c9604 100644
--- a/doc/html/a00035.html
+++ b/doc/html/a00035.html
@@ -1,52 +1,782 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A > Class Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<h1>tbb::strict_ppl::concurrent_queue< T, A > Member List</h1>This is the complete list of members for <a class="el" href="a00286.html">tbb::strict_ppl::concurrent_queue< T, A ></a>, including all inherited members.<p><table>
-  <tr class="memlist"><td><a class="el" href="a00286.html#5a3956341728eaa558d8827063718cac">allocator_type</a> typedef</td><td><a class="el" href="a00286.html">tbb::strict_ppl::concurrent_queue< T, A ></a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00286.html#c32e8e84c0524155133b4aae32d2a827">clear</a>()</td><td><a class="el" href="a00286.html">tbb::strict_ppl::concurrent_queue< T, A ></a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00286.html#7c48a05a94a1f4f98fdfadfbef98ecf6">concurrent_queue</a>(const allocator_type &a=allocator_type())</td><td><a class="el" href="a00286.html">tbb::strict_ppl::concurrent_queue< T, A ></a></td><td><code> [inline, explicit]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00286.html#25209656c84f2f9b030e2f9162713341">concurrent_queue</a>(InputIterator begin, InputIterator end, const allocator_type &a=allocator_type())</td><td><a class="el" href="a00286.html">tbb::strict_ppl::concurrent_queue< T, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00286.html#8a6b98ea11a867db8ac868f0113ca429">concurrent_queue</a>(const concurrent_queue &src, const allocator_type &a=allocator_type())</td><td><a class="el" href="a00286.html">tbb::strict_ppl::concurrent_queue< T, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>const_iterator</b> typedef (defined in <a class="el" href="a00286.html">tbb::strict_ppl::concurrent_queue< T, A ></a>)</td><td><a class="el" href="a00286.html">tbb::strict_ppl::concurrent_queue< T, A ></a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00286.html#4d48e7ff93f81636bca2c74f7da34750">const_reference</a> typedef</td><td><a class="el" href="a00286.html">tbb::strict_ppl::concurrent_queue< T, A ></a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00286.html#068576d16c7e4e05d52f9db7a45b5b65">difference_type</a> typedef</td><td><a class="el" href="a00286.html">tbb::strict_ppl::concurrent_queue< T, A ></a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00286.html#f3f6fce0cfa2d581d6f3b47e0613ad64">empty</a>() const </td><td><a class="el" href="a00286.html">tbb::strict_ppl::concurrent_queue< T, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00286.html#f034f70caef445fe8abc9113ec926a8d">get_allocator</a>() const </td><td><a class="el" href="a00286.html">tbb::strict_ppl::concurrent_queue< T, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>internal::concurrent_queue_iterator</b> (defined in <a class="el" href="a00286.html">tbb::strict_ppl::concurrent_queue< T, A ></a>)</td><td><a class="el" href="a00286.html">tbb::strict_ppl::concurrent_queue< T, A ></a></td><td><code> [friend]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>iterator</b> typedef (defined in <a class="el" href="a00286.html">tbb::strict_ppl::concurrent_queue< T, A ></a>)</td><td><a class="el" href="a00286.html">tbb::strict_ppl::concurrent_queue< T, A ></a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00286.html#73c47563ffcc4c2f6452f25a04ebe2e2">push</a>(const T &source)</td><td><a class="el" href="a00286.html">tbb::strict_ppl::concurrent_queue< T, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00286.html#a8d725c50a9834bb7af5b67c0aff92b8">reference</a> typedef</td><td><a class="el" href="a00286.html">tbb::strict_ppl::concurrent_queue< T, A ></a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00286.html#8fc30e93f8342a1960357f71e4fe8a2b">size_type</a> typedef</td><td><a class="el" href="a00286.html">tbb::strict_ppl::concurrent_queue< T, A ></a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00286.html#ae31ca0db34ef96ef1e74aa0d28c95f8">try_pop</a>(T &result)</td><td><a class="el" href="a00286.html">tbb::strict_ppl::concurrent_queue< T, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>unsafe_begin</b>() (defined in <a class="el" href="a00286.html">tbb::strict_ppl::concurrent_queue< T, A ></a>)</td><td><a class="el" href="a00286.html">tbb::strict_ppl::concurrent_queue< T, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>unsafe_begin</b>() const  (defined in <a class="el" href="a00286.html">tbb::strict_ppl::concurrent_queue< T, A ></a>)</td><td><a class="el" href="a00286.html">tbb::strict_ppl::concurrent_queue< T, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>unsafe_end</b>() (defined in <a class="el" href="a00286.html">tbb::strict_ppl::concurrent_queue< T, A ></a>)</td><td><a class="el" href="a00286.html">tbb::strict_ppl::concurrent_queue< T, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>unsafe_end</b>() const  (defined in <a class="el" href="a00286.html">tbb::strict_ppl::concurrent_queue< T, A ></a>)</td><td><a class="el" href="a00286.html">tbb::strict_ppl::concurrent_queue< T, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00286.html#eaa35a5274606779802e9a669a706260">unsafe_size</a>() const </td><td><a class="el" href="a00286.html">tbb::strict_ppl::concurrent_queue< T, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00286.html#682c3978d5cb0620000994f11c44a476">value_type</a> typedef</td><td><a class="el" href="a00286.html">tbb::strict_ppl::concurrent_queue< T, A ></a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00286.html#830b33753d6b149c366344e29b2edd8c">~concurrent_queue</a>()</td><td><a class="el" href="a00286.html">tbb::strict_ppl::concurrent_queue< T, A ></a></td><td></td></tr>
-</table><hr>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>interface5</b></li><li class="navelem"><a class="el" href="a00035.html">concurrent_hash_map</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Classes</a> |
+<a href="#pub-types">Public Types</a> |
+<a href="#pub-methods">Public Member Functions</a> |
+<a href="#pro-types">Protected Types</a> |
+<a href="#pro-methods">Protected Member Functions</a> |
+<a href="#pro-attribs">Protected Attributes</a> |
+<a href="#friends">Friends</a> |
+<a href="a00334.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A > Class Template Reference<div class="ingroups"><a class="el" href="a00235.html">Containers</a></div></div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Unordered map from Key to T.  
+ <a href="a00035.html#details">More...</a></p>
+
+<p><code>#include <concurrent_hash_map.h></code></p>
+<div class="dynheader">
+Inheritance diagram for tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00035.png" usemap="#tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >_map" alt=""/>
+  <map id="tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >_map" name="tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >_map">
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Classes</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00010.html">accessor</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Allows write access to elements and combines data access, locking, and garbage collection.  <a href="a00010.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00026.html">bucket_accessor</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">bucket accessor is to find, rehash, acquire a lock, and access a bucket  <a href="a00026.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00047.html">const_accessor</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Combines data access, locking, and garbage collection.  <a href="a00047.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00082.html">node</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:a73476eabf0605a4a17e33eca379b567c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a73476eabf0605a4a17e33eca379b567c"></a>
+typedef Key </td><td class="memItemRight" valign="bottom"><b>key_type</b></td></tr>
+<tr class="separator:a73476eabf0605a4a17e33eca379b567c"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a09f82b7e1255cd4a7ab13f694f04e0a2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a09f82b7e1255cd4a7ab13f694f04e0a2"></a>
+typedef T </td><td class="memItemRight" valign="bottom"><b>mapped_type</b></td></tr>
+<tr class="separator:a09f82b7e1255cd4a7ab13f694f04e0a2"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a10da770ec791fd8f3bddbf19d852b2f6"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a10da770ec791fd8f3bddbf19d852b2f6"></a>
+typedef std::pair< const Key, T > </td><td class="memItemRight" valign="bottom"><b>value_type</b></td></tr>
+<tr class="separator:a10da770ec791fd8f3bddbf19d852b2f6"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a4346b898af1007960c70b1d5a12b3dda"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4346b898af1007960c70b1d5a12b3dda"></a>
+typedef hash_map_base::size_type </td><td class="memItemRight" valign="bottom"><b>size_type</b></td></tr>
+<tr class="separator:a4346b898af1007960c70b1d5a12b3dda"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aae6344f41fc1b2aae8b310442f609db0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aae6344f41fc1b2aae8b310442f609db0"></a>
+typedef ptrdiff_t </td><td class="memItemRight" valign="bottom"><b>difference_type</b></td></tr>
+<tr class="separator:aae6344f41fc1b2aae8b310442f609db0"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:af8fca882f67e98d54a675c9b75db3cc0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af8fca882f67e98d54a675c9b75db3cc0"></a>
+typedef value_type * </td><td class="memItemRight" valign="bottom"><b>pointer</b></td></tr>
+<tr class="separator:af8fca882f67e98d54a675c9b75db3cc0"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:acaf14214618545aa7e0aa59a3af4a6bd"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acaf14214618545aa7e0aa59a3af4a6bd"></a>
+typedef const value_type * </td><td class="memItemRight" valign="bottom"><b>const_pointer</b></td></tr>
+<tr class="separator:acaf14214618545aa7e0aa59a3af4a6bd"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a5064777ff7c17e294d74ca60f96f28db"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5064777ff7c17e294d74ca60f96f28db"></a>
+typedef value_type & </td><td class="memItemRight" valign="bottom"><b>reference</b></td></tr>
+<tr class="separator:a5064777ff7c17e294d74ca60f96f28db"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a6291ee6059597aac8f59dc8fd5558036"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6291ee6059597aac8f59dc8fd5558036"></a>
+typedef const value_type & </td><td class="memItemRight" valign="bottom"><b>const_reference</b></td></tr>
+<tr class="separator:a6291ee6059597aac8f59dc8fd5558036"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ae6af7bf91f1cbd859aef1ffc6197b41a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae6af7bf91f1cbd859aef1ffc6197b41a"></a>
+typedef <br class="typebreak"/>
+internal::hash_map_iterator<br class="typebreak"/>
+< <a class="el" href="a00035.html">concurrent_hash_map</a>, <br class="typebreak"/>
+value_type > </td><td class="memItemRight" valign="bottom"><b>iterator</b></td></tr>
+<tr class="separator:ae6af7bf91f1cbd859aef1ffc6197b41a"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:af416067eaf691c88e6b73bf3b3323f66"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af416067eaf691c88e6b73bf3b3323f66"></a>
+typedef <br class="typebreak"/>
+internal::hash_map_iterator<br class="typebreak"/>
+< <a class="el" href="a00035.html">concurrent_hash_map</a>, const <br class="typebreak"/>
+value_type > </td><td class="memItemRight" valign="bottom"><b>const_iterator</b></td></tr>
+<tr class="separator:af416067eaf691c88e6b73bf3b3323f66"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a69508e67134dd5282b89e1847e71c31b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a69508e67134dd5282b89e1847e71c31b"></a>
+typedef <br class="typebreak"/>
+internal::hash_map_range<br class="typebreak"/>
+< iterator > </td><td class="memItemRight" valign="bottom"><b>range_type</b></td></tr>
+<tr class="separator:a69508e67134dd5282b89e1847e71c31b"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a0b9d06751969eacda84b01582e4aa1d2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0b9d06751969eacda84b01582e4aa1d2"></a>
+typedef <br class="typebreak"/>
+internal::hash_map_range<br class="typebreak"/>
+< const_iterator > </td><td class="memItemRight" valign="bottom"><b>const_range_type</b></td></tr>
+<tr class="separator:a0b9d06751969eacda84b01582e4aa1d2"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a85c266c1560f7faa64772d349d0280a4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a85c266c1560f7faa64772d349d0280a4"></a>
+typedef Allocator </td><td class="memItemRight" valign="bottom"><b>allocator_type</b></td></tr>
+<tr class="separator:a85c266c1560f7faa64772d349d0280a4"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:aa3a9767b525144a2afb69ed125714c53"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa3a9767b525144a2afb69ed125714c53"></a>
+ </td><td class="memItemRight" valign="bottom"><a class="el" href="a00035.html#aa3a9767b525144a2afb69ed125714c53">concurrent_hash_map</a> (const allocator_type &a=allocator_type())</td></tr>
+<tr class="memdesc:aa3a9767b525144a2afb69ed125714c53"><td class="mdescLeft"> </td><td class="mdescRight">Construct empty table. <br/></td></tr>
+<tr class="separator:aa3a9767b525144a2afb69ed125714c53"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aae76e1252b56b107685f8746e0f6a1f4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aae76e1252b56b107685f8746e0f6a1f4"></a>
+ </td><td class="memItemRight" valign="bottom"><a class="el" href="a00035.html#aae76e1252b56b107685f8746e0f6a1f4">concurrent_hash_map</a> (size_type n, const allocator_type &a=allocator_type())</td></tr>
+<tr class="memdesc:aae76e1252b56b107685f8746e0f6a1f4"><td class="mdescLeft"> </td><td class="mdescRight">Construct empty table with n preallocated buckets. This number serves also as initial concurrency level. <br/></td></tr>
+<tr class="separator:aae76e1252b56b107685f8746e0f6a1f4"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a8a73b86f9a5e9836b38713e56c546654"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8a73b86f9a5e9836b38713e56c546654"></a>
+ </td><td class="memItemRight" valign="bottom"><a class="el" href="a00035.html#a8a73b86f9a5e9836b38713e56c546654">concurrent_hash_map</a> (const <a class="el" href="a00035.html">concurrent_hash_map</a> &table, const allocator_type &a=allocator_type())</td></tr>
+<tr class="memdesc:a8a73b86f9a5e9836b38713e56c546654"><td class="mdescLeft"> </td><td class="mdescRight">Copy constructor. <br/></td></tr>
+<tr class="separator:a8a73b86f9a5e9836b38713e56c546654"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ad56fc19d656099d49051f3c363cefc89"><td class="memTemplParams" colspan="2"><a class="anchor" id="ad56fc19d656099d49051f3c363cefc89"></a>
+template<typename I > </td></tr>
+<tr class="memitem:ad56fc19d656099d49051f3c363cefc89"><td class="memTemplItemLeft" align="right" valign="top"> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00035.html#ad56fc19d656099d49051f3c363cefc89">concurrent_hash_map</a> (I first, I last, const allocator_type &a=allocator_type())</td></tr>
+<tr class="memdesc:ad56fc19d656099d49051f3c363cefc89"><td class="mdescLeft"> </td><td class="mdescRight">Construction with copying iteration range and given allocator instance. <br/></td></tr>
+<tr class="separator:ad56fc19d656099d49051f3c363cefc89"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a1b9c93b6e5f3d7b52289846ecf9701d2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1b9c93b6e5f3d7b52289846ecf9701d2"></a>
+ </td><td class="memItemRight" valign="bottom"><a class="el" href="a00035.html#a1b9c93b6e5f3d7b52289846ecf9701d2">concurrent_hash_map</a> (const std::initializer_list< value_type > &il, const allocator_type &a=allocator_type())</td></tr>
+<tr class="memdesc:a1b9c93b6e5f3d7b52289846ecf9701d2"><td class="mdescLeft"> </td><td class="mdescRight">Construct empty table with n preallocated buckets. This number serves also as initial concurrency level. <br/></td></tr>
+<tr class="separator:a1b9c93b6e5f3d7b52289846ecf9701d2"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a63e01b1f79c287ae0257ccfd483fd90a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a63e01b1f79c287ae0257ccfd483fd90a"></a>
+<a class="el" href="a00035.html">concurrent_hash_map</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="a00035.html#a63e01b1f79c287ae0257ccfd483fd90a">operator=</a> (const <a class="el" href="a00035.html">concurrent_hash_map</a> &table)</td></tr>
+<tr class="memdesc:a63e01b1f79c287ae0257ccfd483fd90a"><td class="mdescLeft"> </td><td class="mdescRight">Assignment. <br/></td></tr>
+<tr class="separator:a63e01b1f79c287ae0257ccfd483fd90a"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a49e4e3979b46669a4712e7d3208e75f2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a49e4e3979b46669a4712e7d3208e75f2"></a>
+<a class="el" href="a00035.html">concurrent_hash_map</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="a00035.html#a49e4e3979b46669a4712e7d3208e75f2">operator=</a> (const std::initializer_list< value_type > &il)</td></tr>
+<tr class="memdesc:a49e4e3979b46669a4712e7d3208e75f2"><td class="mdescLeft"> </td><td class="mdescRight">Assignment. <br/></td></tr>
+<tr class="separator:a49e4e3979b46669a4712e7d3208e75f2"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:adf1fa9470c605731063e5949f0418eb7"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00035.html#adf1fa9470c605731063e5949f0418eb7">rehash</a> (size_type n=0)</td></tr>
+<tr class="memdesc:adf1fa9470c605731063e5949f0418eb7"><td class="mdescLeft"> </td><td class="mdescRight">Rehashes and optionally resizes the whole table.  <a href="#adf1fa9470c605731063e5949f0418eb7">More...</a><br/></td></tr>
+<tr class="separator:adf1fa9470c605731063e5949f0418eb7"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ab8295bc260b5e4df883fef11574b84c6"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab8295bc260b5e4df883fef11574b84c6"></a>
+void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00035.html#ab8295bc260b5e4df883fef11574b84c6">clear</a> ()</td></tr>
+<tr class="memdesc:ab8295bc260b5e4df883fef11574b84c6"><td class="mdescLeft"> </td><td class="mdescRight">Clear table. <br/></td></tr>
+<tr class="separator:ab8295bc260b5e4df883fef11574b84c6"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a9ce9ab8c954bf6979c2c57d10fd8a8ed"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9ce9ab8c954bf6979c2c57d10fd8a8ed"></a>
+ </td><td class="memItemRight" valign="bottom"><a class="el" href="a00035.html#a9ce9ab8c954bf6979c2c57d10fd8a8ed">~concurrent_hash_map</a> ()</td></tr>
+<tr class="memdesc:a9ce9ab8c954bf6979c2c57d10fd8a8ed"><td class="mdescLeft"> </td><td class="mdescRight">Clear table and destroy it. <br/></td></tr>
+<tr class="separator:a9ce9ab8c954bf6979c2c57d10fd8a8ed"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a10dc8d8b91878b211c12a3e6b1bb38bb"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a10dc8d8b91878b211c12a3e6b1bb38bb"></a>
+range_type </td><td class="memItemRight" valign="bottom"><b>range</b> (size_type grainsize=1)</td></tr>
+<tr class="separator:a10dc8d8b91878b211c12a3e6b1bb38bb"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a8698274a4ffb94bb0468c387ffdc2e56"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8698274a4ffb94bb0468c387ffdc2e56"></a>
+const_range_type </td><td class="memItemRight" valign="bottom"><b>range</b> (size_type grainsize=1) const </td></tr>
+<tr class="separator:a8698274a4ffb94bb0468c387ffdc2e56"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a38b7d6443502ee9f4c2374d34ea8d742"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a38b7d6443502ee9f4c2374d34ea8d742"></a>
+iterator </td><td class="memItemRight" valign="bottom"><b>begin</b> ()</td></tr>
+<tr class="separator:a38b7d6443502ee9f4c2374d34ea8d742"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:afa85633d3fc7494f49728b4064db59f6"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afa85633d3fc7494f49728b4064db59f6"></a>
+iterator </td><td class="memItemRight" valign="bottom"><b>end</b> ()</td></tr>
+<tr class="separator:afa85633d3fc7494f49728b4064db59f6"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a46aa6dc98653a88d410d0cfddd514f0d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a46aa6dc98653a88d410d0cfddd514f0d"></a>
+const_iterator </td><td class="memItemRight" valign="bottom"><b>begin</b> () const </td></tr>
+<tr class="separator:a46aa6dc98653a88d410d0cfddd514f0d"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a0ed8cd11a3a5c400d9bc11492d136dfd"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0ed8cd11a3a5c400d9bc11492d136dfd"></a>
+const_iterator </td><td class="memItemRight" valign="bottom"><b>end</b> () const </td></tr>
+<tr class="separator:a0ed8cd11a3a5c400d9bc11492d136dfd"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a01a1c3032bb193a5c4f37425adbe306c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a01a1c3032bb193a5c4f37425adbe306c"></a>
+std::pair< iterator, iterator > </td><td class="memItemRight" valign="bottom"><b>equal_range</b> (const Key &key)</td></tr>
+<tr class="separator:a01a1c3032bb193a5c4f37425adbe306c"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:af368c8d8f49a9a74706c9ed11f8fd7e4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af368c8d8f49a9a74706c9ed11f8fd7e4"></a>
+std::pair< const_iterator, <br class="typebreak"/>
+const_iterator > </td><td class="memItemRight" valign="bottom"><b>equal_range</b> (const Key &key) const </td></tr>
+<tr class="separator:af368c8d8f49a9a74706c9ed11f8fd7e4"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ad2ce6da7cd62bc7425f0a29498332ab4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad2ce6da7cd62bc7425f0a29498332ab4"></a>
+size_type </td><td class="memItemRight" valign="bottom"><a class="el" href="a00035.html#ad2ce6da7cd62bc7425f0a29498332ab4">size</a> () const </td></tr>
+<tr class="memdesc:ad2ce6da7cd62bc7425f0a29498332ab4"><td class="mdescLeft"> </td><td class="mdescRight">Number of items in table. <br/></td></tr>
+<tr class="separator:ad2ce6da7cd62bc7425f0a29498332ab4"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a5e05f2a1ca3accfb4252d7ee82d1e990"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5e05f2a1ca3accfb4252d7ee82d1e990"></a>
+bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00035.html#a5e05f2a1ca3accfb4252d7ee82d1e990">empty</a> () const </td></tr>
+<tr class="memdesc:a5e05f2a1ca3accfb4252d7ee82d1e990"><td class="mdescLeft"> </td><td class="mdescRight">True if <a class="el" href="a00035.html#ad2ce6da7cd62bc7425f0a29498332ab4" title="Number of items in table. ">size()</a>==0. <br/></td></tr>
+<tr class="separator:a5e05f2a1ca3accfb4252d7ee82d1e990"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aea0a0e5220a0dcb67da57d0280d36005"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aea0a0e5220a0dcb67da57d0280d36005"></a>
+size_type </td><td class="memItemRight" valign="bottom"><a class="el" href="a00035.html#aea0a0e5220a0dcb67da57d0280d36005">max_size</a> () const </td></tr>
+<tr class="memdesc:aea0a0e5220a0dcb67da57d0280d36005"><td class="mdescLeft"> </td><td class="mdescRight">Upper bound on size. <br/></td></tr>
+<tr class="separator:aea0a0e5220a0dcb67da57d0280d36005"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aa067a2a4db1d96f38555369a89deee64"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa067a2a4db1d96f38555369a89deee64"></a>
+size_type </td><td class="memItemRight" valign="bottom"><a class="el" href="a00035.html#aa067a2a4db1d96f38555369a89deee64">bucket_count</a> () const </td></tr>
+<tr class="memdesc:aa067a2a4db1d96f38555369a89deee64"><td class="mdescLeft"> </td><td class="mdescRight">Returns the current number of buckets. <br/></td></tr>
+<tr class="separator:aa067a2a4db1d96f38555369a89deee64"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a121865c574f8ae5cae69ed3d6b7e0511"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a121865c574f8ae5cae69ed3d6b7e0511"></a>
+allocator_type </td><td class="memItemRight" valign="bottom"><a class="el" href="a00035.html#a121865c574f8ae5cae69ed3d6b7e0511">get_allocator</a> () const </td></tr>
+<tr class="memdesc:a121865c574f8ae5cae69ed3d6b7e0511"><td class="mdescLeft"> </td><td class="mdescRight">return allocator object <br/></td></tr>
+<tr class="separator:a121865c574f8ae5cae69ed3d6b7e0511"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a4c8edf603bc776a6c84c007702c1808e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4c8edf603bc776a6c84c007702c1808e"></a>
+void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00035.html#a4c8edf603bc776a6c84c007702c1808e">swap</a> (<a class="el" href="a00035.html">concurrent_hash_map</a> &table)</td></tr>
+<tr class="memdesc:a4c8edf603bc776a6c84c007702c1808e"><td class="mdescLeft"> </td><td class="mdescRight">swap two instances. Iterators are invalidated <br/></td></tr>
+<tr class="separator:a4c8edf603bc776a6c84c007702c1808e"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ac375d3884bf9c80efe56117757c822e7"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac375d3884bf9c80efe56117757c822e7"></a>
+size_type </td><td class="memItemRight" valign="bottom"><a class="el" href="a00035.html#ac375d3884bf9c80efe56117757c822e7">count</a> (const Key &key) const </td></tr>
+<tr class="memdesc:ac375d3884bf9c80efe56117757c822e7"><td class="mdescLeft"> </td><td class="mdescRight">Return count of items (0 or 1) <br/></td></tr>
+<tr class="separator:ac375d3884bf9c80efe56117757c822e7"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a27a3f296dc170ae25f8e3fd9efa93cff"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00035.html#a27a3f296dc170ae25f8e3fd9efa93cff">find</a> (<a class="el" href="a00047.html">const_accessor</a> &result, const Key &key) const </td></tr>
+<tr class="memdesc:a27a3f296dc170ae25f8e3fd9efa93cff"><td class="mdescLeft"> </td><td class="mdescRight">Find item and acquire a read lock on the item.  <a href="#a27a3f296dc170ae25f8e3fd9efa93cff">More...</a><br/></td></tr>
+<tr class="separator:a27a3f296dc170ae25f8e3fd9efa93cff"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a6b61799e2018381b5ee4b78752a41483"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00035.html#a6b61799e2018381b5ee4b78752a41483">find</a> (<a class="el" href="a00010.html">accessor</a> &result, const Key &key)</td></tr>
+<tr class="memdesc:a6b61799e2018381b5ee4b78752a41483"><td class="mdescLeft"> </td><td class="mdescRight">Find item and acquire a write lock on the item.  <a href="#a6b61799e2018381b5ee4b78752a41483">More...</a><br/></td></tr>
+<tr class="separator:a6b61799e2018381b5ee4b78752a41483"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aaebb10a9e9dcb24e63860caa745a281d"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00035.html#aaebb10a9e9dcb24e63860caa745a281d">insert</a> (<a class="el" href="a00047.html">const_accessor</a> &result, const Key &key)</td></tr>
+<tr class="memdesc:aaebb10a9e9dcb24e63860caa745a281d"><td class="mdescLeft"> </td><td class="mdescRight">Insert item (if not already present) and acquire a read lock on the item.  <a href="#aaebb10a9e9dcb24e63860caa745a281d">More...</a><br/></td></tr>
+<tr class="separator:aaebb10a9e9dcb24e63860caa745a281d"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a766c6033c203e8f342501d85a7cf3405"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00035.html#a766c6033c203e8f342501d85a7cf3405">insert</a> (<a class="el" href="a00010.html">accessor</a> &result, const Key &key)</td></tr>
+<tr class="memdesc:a766c6033c203e8f342501d85a7cf3405"><td class="mdescLeft"> </td><td class="mdescRight">Insert item (if not already present) and acquire a write lock on the item.  <a href="#a766c6033c203e8f342501d85a7cf3405">More...</a><br/></td></tr>
+<tr class="separator:a766c6033c203e8f342501d85a7cf3405"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ae0b420cdb752e749790c8a7daa15c3c2"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00035.html#ae0b420cdb752e749790c8a7daa15c3c2">insert</a> (<a class="el" href="a00047.html">const_accessor</a> &result, const value_type &value)</td></tr>
+<tr class="memdesc:ae0b420cdb752e749790c8a7daa15c3c2"><td class="mdescLeft"> </td><td class="mdescRight">Insert item by copying if there is no such key present already and acquire a read lock on the item.  <a href="#ae0b420cdb752e749790c8a7daa15c3c2">More...</a><br/></td></tr>
+<tr class="separator:ae0b420cdb752e749790c8a7daa15c3c2"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a2047214e041b7674c3b83e204d0d6c6a"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00035.html#a2047214e041b7674c3b83e204d0d6c6a">insert</a> (<a class="el" href="a00010.html">accessor</a> &result, const value_type &value)</td></tr>
+<tr class="memdesc:a2047214e041b7674c3b83e204d0d6c6a"><td class="mdescLeft"> </td><td class="mdescRight">Insert item by copying if there is no such key present already and acquire a write lock on the item.  <a href="#a2047214e041b7674c3b83e204d0d6c6a">More...</a><br/></td></tr>
+<tr class="separator:a2047214e041b7674c3b83e204d0d6c6a"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a8e39501f9edb3210504c9c4ca05384b7"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00035.html#a8e39501f9edb3210504c9c4ca05384b7">insert</a> (const value_type &value)</td></tr>
+<tr class="memdesc:a8e39501f9edb3210504c9c4ca05384b7"><td class="mdescLeft"> </td><td class="mdescRight">Insert item by copying if there is no such key present already.  <a href="#a8e39501f9edb3210504c9c4ca05384b7">More...</a><br/></td></tr>
+<tr class="separator:a8e39501f9edb3210504c9c4ca05384b7"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ab84dfd77316252cbf39c7ae89e365a00"><td class="memTemplParams" colspan="2"><a class="anchor" id="ab84dfd77316252cbf39c7ae89e365a00"></a>
+template<typename I > </td></tr>
+<tr class="memitem:ab84dfd77316252cbf39c7ae89e365a00"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00035.html#ab84dfd77316252cbf39c7ae89e365a00">insert</a> (I first, I last)</td></tr>
+<tr class="memdesc:ab84dfd77316252cbf39c7ae89e365a00"><td class="mdescLeft"> </td><td class="mdescRight">Insert range [first, last) <br/></td></tr>
+<tr class="separator:ab84dfd77316252cbf39c7ae89e365a00"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a5144122dbb946d933b94a92117543b33"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00035.html#a5144122dbb946d933b94a92117543b33">erase</a> (const Key &key)</td></tr>
+<tr class="memdesc:a5144122dbb946d933b94a92117543b33"><td class="mdescLeft"> </td><td class="mdescRight">Erase item.  <a href="#a5144122dbb946d933b94a92117543b33">More...</a><br/></td></tr>
+<tr class="separator:a5144122dbb946d933b94a92117543b33"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a2ec6f95ed9beda9d32df56cdd45c1842"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00035.html#a2ec6f95ed9beda9d32df56cdd45c1842">erase</a> (<a class="el" href="a00047.html">const_accessor</a> &item_accessor)</td></tr>
+<tr class="memdesc:a2ec6f95ed9beda9d32df56cdd45c1842"><td class="mdescLeft"> </td><td class="mdescRight">Erase item by <a class="el" href="a00047.html" title="Combines data access, locking, and garbage collection. ">const_accessor</a>.  <a href="#a2ec6f95ed9beda9d32df56cdd45c1842">More...</a><br/></td></tr>
+<tr class="separator:a2ec6f95ed9beda9d32df56cdd45c1842"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a3ed0fbcc6cfd4db8242e100355ac1fa5"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00035.html#a3ed0fbcc6cfd4db8242e100355ac1fa5">erase</a> (<a class="el" href="a00010.html">accessor</a> &item_accessor)</td></tr>
+<tr class="memdesc:a3ed0fbcc6cfd4db8242e100355ac1fa5"><td class="mdescLeft"> </td><td class="mdescRight">Erase item by accessor.  <a href="#a3ed0fbcc6cfd4db8242e100355ac1fa5">More...</a><br/></td></tr>
+<tr class="separator:a3ed0fbcc6cfd4db8242e100355ac1fa5"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-types"></a>
+Protected Types</h2></td></tr>
+<tr class="memitem:a81dddc5d509f7f074d84d9c38e83efb9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a81dddc5d509f7f074d84d9c38e83efb9"></a>
+typedef Allocator::template <br class="typebreak"/>
+rebind< <a class="el" href="a00082.html">node</a> >::other </td><td class="memItemRight" valign="bottom"><b>node_allocator_type</b></td></tr>
+<tr class="separator:a81dddc5d509f7f074d84d9c38e83efb9"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
+Protected Member Functions</h2></td></tr>
+<tr class="memitem:aed0e0def29516d9ee7aab2192727b69b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aed0e0def29516d9ee7aab2192727b69b"></a>
+void </td><td class="memItemRight" valign="bottom"><b>delete_node</b> (node_base *n)</td></tr>
+<tr class="separator:aed0e0def29516d9ee7aab2192727b69b"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ae44a70417f9674a2169f9a1fd437a3bd"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae44a70417f9674a2169f9a1fd437a3bd"></a>
+<a class="el" href="a00082.html">node</a> * </td><td class="memItemRight" valign="bottom"><b>search_bucket</b> (const key_type &key, bucket *b) const </td></tr>
+<tr class="separator:ae44a70417f9674a2169f9a1fd437a3bd"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a1b57e036f82bc2b1ef1ede41b02d46b5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1b57e036f82bc2b1ef1ede41b02d46b5"></a>
+void </td><td class="memItemRight" valign="bottom"><b>rehash_bucket</b> (bucket *b_new, const hashcode_t h)</td></tr>
+<tr class="separator:a1b57e036f82bc2b1ef1ede41b02d46b5"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a0435730c6b9dbbe2937fb38b9403147c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0435730c6b9dbbe2937fb38b9403147c"></a>
+bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00035.html#a0435730c6b9dbbe2937fb38b9403147c">lookup</a> (bool op_insert, const Key &key, const T *t, <a class="el" href="a00047.html">const_accessor</a> *result, bool write)</td></tr>
+<tr class="memdesc:a0435730c6b9dbbe2937fb38b9403147c"><td class="mdescLeft"> </td><td class="mdescRight">Insert or find item and optionally acquire a lock on the item. <br/></td></tr>
+<tr class="separator:a0435730c6b9dbbe2937fb38b9403147c"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a6fec452b31b8f0e185dc2de64b7128b2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6fec452b31b8f0e185dc2de64b7128b2"></a>
+bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00035.html#a6fec452b31b8f0e185dc2de64b7128b2">exclude</a> (<a class="el" href="a00047.html">const_accessor</a> &item_accessor)</td></tr>
+<tr class="memdesc:a6fec452b31b8f0e185dc2de64b7128b2"><td class="mdescLeft"> </td><td class="mdescRight">delete item by accessor <br/></td></tr>
+<tr class="separator:a6fec452b31b8f0e185dc2de64b7128b2"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a8603f5288db63ec35a16844427e97e42"><td class="memTemplParams" colspan="2"><a class="anchor" id="a8603f5288db63ec35a16844427e97e42"></a>
+template<typename I > </td></tr>
+<tr class="memitem:a8603f5288db63ec35a16844427e97e42"><td class="memTemplItemLeft" align="right" valign="top">std::pair< I, I > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00035.html#a8603f5288db63ec35a16844427e97e42">internal_equal_range</a> (const Key &key, I end) const </td></tr>
+<tr class="memdesc:a8603f5288db63ec35a16844427e97e42"><td class="mdescLeft"> </td><td class="mdescRight">Returns an iterator for an item defined by the key, or for the next item after it (if upper==true) <br/></td></tr>
+<tr class="separator:a8603f5288db63ec35a16844427e97e42"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a0bc3593f82b3b4f9839fc051780212ab"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0bc3593f82b3b4f9839fc051780212ab"></a>
+void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00035.html#a0bc3593f82b3b4f9839fc051780212ab">internal_copy</a> (const <a class="el" href="a00035.html">concurrent_hash_map</a> &source)</td></tr>
+<tr class="memdesc:a0bc3593f82b3b4f9839fc051780212ab"><td class="mdescLeft"> </td><td class="mdescRight">Copy "source" to *this, where *this must start out empty. <br/></td></tr>
+<tr class="separator:a0bc3593f82b3b4f9839fc051780212ab"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a31e69cc4fd5adafb379e7c6de5660912"><td class="memTemplParams" colspan="2"><a class="anchor" id="a31e69cc4fd5adafb379e7c6de5660912"></a>
+template<typename I > </td></tr>
+<tr class="memitem:a31e69cc4fd5adafb379e7c6de5660912"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><b>internal_copy</b> (I first, I last)</td></tr>
+<tr class="separator:a31e69cc4fd5adafb379e7c6de5660912"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:acbb5b18c097fb32f264b7b5fe8d9fdd4"><td class="memItemLeft" align="right" valign="top">const_pointer </td><td class="memItemRight" valign="bottom"><a class="el" href="a00035.html#acbb5b18c097fb32f264b7b5fe8d9fdd4">internal_fast_find</a> (const Key &key) const </td></tr>
+<tr class="memdesc:acbb5b18c097fb32f264b7b5fe8d9fdd4"><td class="mdescLeft"> </td><td class="mdescRight">Fast find when no concurrent erasure is used. For internal use inside TBB only!  <a href="#acbb5b18c097fb32f264b7b5fe8d9fdd4">More...</a><br/></td></tr>
+<tr class="separator:acbb5b18c097fb32f264b7b5fe8d9fdd4"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
+Protected Attributes</h2></td></tr>
+<tr class="memitem:a2f3f082b2719a9e3c3c15a51a9564202"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2f3f082b2719a9e3c3c15a51a9564202"></a>
+node_allocator_type </td><td class="memItemRight" valign="bottom"><b>my_allocator</b></td></tr>
+<tr class="separator:a2f3f082b2719a9e3c3c15a51a9564202"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ae67c3c723768e7e396104f84577f7240"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae67c3c723768e7e396104f84577f7240"></a>
+HashCompare </td><td class="memItemRight" valign="bottom"><b>my_hash_compare</b></td></tr>
+<tr class="separator:ae67c3c723768e7e396104f84577f7240"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
+Friends</h2></td></tr>
+<tr class="memitem:a0ecadabdc31088d7bace5a0b6e5ee3f9"><td class="memTemplParams" colspan="2"><a class="anchor" id="a0ecadabdc31088d7bace5a0b6e5ee3f9"></a>
+template<typename Container , typename Value > </td></tr>
+<tr class="memitem:a0ecadabdc31088d7bace5a0b6e5ee3f9"><td class="memTemplItemLeft" align="right" valign="top">class </td><td class="memTemplItemRight" valign="bottom"><b>internal::hash_map_iterator</b></td></tr>
+<tr class="separator:a0ecadabdc31088d7bace5a0b6e5ee3f9"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ad49112156111ee1b85be9f4b89e410ca"><td class="memTemplParams" colspan="2"><a class="anchor" id="ad49112156111ee1b85be9f4b89e410ca"></a>
+template<typename I > </td></tr>
+<tr class="memitem:ad49112156111ee1b85be9f4b89e410ca"><td class="memTemplItemLeft" align="right" valign="top">class </td><td class="memTemplItemRight" valign="bottom"><b>internal::hash_map_range</b></td></tr>
+<tr class="separator:ad49112156111ee1b85be9f4b89e410ca"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a584bf754a8408612d4bfd33a3eafd80d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a584bf754a8408612d4bfd33a3eafd80d"></a>
+class </td><td class="memItemRight" valign="bottom"><b>const_accessor</b></td></tr>
+<tr class="separator:a584bf754a8408612d4bfd33a3eafd80d"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><h3>template<typename Key, typename T, typename HashCompare = tbb_hash_compare<Key>, typename A = tbb_allocator<std::pair<Key, T> >><br/>
+class tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></h3>
+
+<p>Unordered map from Key to T. </p>
+<pre class="fragment">concurrent_hash_map is associative container with concurrent access.
+</pre><dl class="section user"><dt>Compatibility</dt><dd>The class meets all Container Requirements from C++ Standard (See ISO/IEC 14882:2003(E), clause 23.1).</dd></dl>
+<dl class="section user"><dt>Exception Safety</dt><dd><ul>
+<li>Hash function is not permitted to throw an exception. User-defined types Key and T are forbidden from throwing an exception in destructors.</li>
+<li>If exception happens during <a class="el" href="a00035.html#aaebb10a9e9dcb24e63860caa745a281d" title="Insert item (if not already present) and acquire a read lock on the item. ">insert()</a> operations, it has no effect (unless exception raised by HashCompare::hash() function during grow_segment).</li>
+<li>If exception happens during <a class="el" href="a00035.html#a63e01b1f79c287ae0257ccfd483fd90a" title="Assignment. ">operator=()</a> operation, the container can have a part of source items, and methods <a class="el" href="a00035.html#ad2ce6da7cd62bc7425f0a29498332ab4" title="Number of items in table. ">size()</a> and <a class="el" href="a00035.html#a5e05f2a1ca3accfb4252d7ee82d1e990" title="True if size()==0. ">empty()</a> can return wrong results.</li>
+</ul>
+</dd></dl>
+<dl class="section user"><dt>Changes since TBB 2.1</dt><dd><ul>
+<li>Replaced internal algorithm and data structure. Patent is pending.</li>
+<li>Added buckets number argument for constructor</li>
+</ul>
+</dd></dl>
+<dl class="section user"><dt>Changes since TBB 2.0</dt><dd><ul>
+<li>Fixed exception-safety</li>
+<li>Added template argument for allocator</li>
+<li>Added allocator argument in constructors</li>
+<li>Added constructor from a range of iterators</li>
+<li>Added several new overloaded <a class="el" href="a00035.html#aaebb10a9e9dcb24e63860caa745a281d" title="Insert item (if not already present) and acquire a read lock on the item. ">insert()</a> methods</li>
+<li>Added <a class="el" href="a00035.html#a121865c574f8ae5cae69ed3d6b7e0511" title="return allocator object ">get_allocator()</a></li>
+<li>Added <a class="el" href="a00035.html#a4c8edf603bc776a6c84c007702c1808e" title="swap two instances. Iterators are invalidated ">swap()</a></li>
+<li>Added <a class="el" href="a00035.html#ac375d3884bf9c80efe56117757c822e7" title="Return count of items (0 or 1) ">count()</a></li>
+<li>Added overloaded <a class="el" href="a00035.html#a3ed0fbcc6cfd4db8242e100355ac1fa5" title="Erase item by accessor. ">erase(accessor &)</a> and <a class="el" href="a00035.html#a2ec6f95ed9beda9d32df56cdd45c1842" title="Erase item by const_accessor. ">erase(const_accessor&)</a></li>
+<li>Added equal_range() [const]</li>
+<li>Added [const_]pointer, [const_]reference, and allocator_type types</li>
+<li>Added global functions: operator==(), operator!=(), and <a class="el" href="a00035.html#a4c8edf603bc776a6c84c007702c1808e" title="swap two instances. Iterators are invalidated ">swap()</a> </li>
+</ul>
+</dd></dl>
+</div><h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="a5144122dbb946d933b94a92117543b33"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename Key , typename T , typename HashCompare , typename A > </div>
+      <table class="memname">
+        <tr>
+          <td class="memname">bool <a class="el" href="a00035.html">tbb::interface5::concurrent_hash_map</a>< Key, T, HashCompare, A >::erase </td>
+          <td>(</td>
+          <td class="paramtype">const Key & </td>
+          <td class="paramname"><em>key</em>)</td><td></td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Erase item. </p>
+<p>Return true if item was erased by particularly this call. </p>
+
+<p>References <a class="el" href="a00026.html#aaa8167e2961330435fd23eb92127805c">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::bucket_accessor::is_writer()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a2ec6f95ed9beda9d32df56cdd45c1842"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename Key , typename T , typename HashCompare  = tbb_hash_compare<Key>, typename A  = tbb_allocator<std::pair<Key, T> >> </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool <a class="el" href="a00035.html">tbb::interface5::concurrent_hash_map</a>< Key, T, HashCompare, A >::erase </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="a00047.html">const_accessor</a> & </td>
+          <td class="paramname"><em>item_accessor</em>)</td><td></td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Erase item by <a class="el" href="a00047.html" title="Combines data access, locking, and garbage collection. ">const_accessor</a>. </p>
+<p>Return true if item was erased by particularly this call. </p>
+
+</div>
+</div>
+<a class="anchor" id="a3ed0fbcc6cfd4db8242e100355ac1fa5"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename Key , typename T , typename HashCompare  = tbb_hash_compare<Key>, typename A  = tbb_allocator<std::pair<Key, T> >> </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool <a class="el" href="a00035.html">tbb::interface5::concurrent_hash_map</a>< Key, T, HashCompare, A >::erase </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="a00010.html">accessor</a> & </td>
+          <td class="paramname"><em>item_accessor</em>)</td><td></td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Erase item by accessor. </p>
+<p>Return true if item was erased by particularly this call. </p>
+
+</div>
+</div>
+<a class="anchor" id="a27a3f296dc170ae25f8e3fd9efa93cff"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename Key , typename T , typename HashCompare  = tbb_hash_compare<Key>, typename A  = tbb_allocator<std::pair<Key, T> >> </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool <a class="el" href="a00035.html">tbb::interface5::concurrent_hash_map</a>< Key, T, HashCompare, A >::find </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="a00047.html">const_accessor</a> & </td>
+          <td class="paramname"><em>result</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const Key & </td>
+          <td class="paramname"><em>key</em> </td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td> const</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Find item and acquire a read lock on the item. </p>
+<p>Return true if item is found, false otherwise. </p>
+
+<p>References <a class="el" href="a00047.html#a18390cb369369d72bdf7c867755b5190">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::const_accessor::release()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a6b61799e2018381b5ee4b78752a41483"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename Key , typename T , typename HashCompare  = tbb_hash_compare<Key>, typename A  = tbb_allocator<std::pair<Key, T> >> </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool <a class="el" href="a00035.html">tbb::interface5::concurrent_hash_map</a>< Key, T, HashCompare, A >::find </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="a00010.html">accessor</a> & </td>
+          <td class="paramname"><em>result</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const Key & </td>
+          <td class="paramname"><em>key</em> </td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Find item and acquire a write lock on the item. </p>
+<p>Return true if item is found, false otherwise. </p>
+
+<p>References <a class="el" href="a00047.html#a18390cb369369d72bdf7c867755b5190">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::const_accessor::release()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aaebb10a9e9dcb24e63860caa745a281d"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename Key , typename T , typename HashCompare  = tbb_hash_compare<Key>, typename A  = tbb_allocator<std::pair<Key, T> >> </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool <a class="el" href="a00035.html">tbb::interface5::concurrent_hash_map</a>< Key, T, HashCompare, A >::insert </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="a00047.html">const_accessor</a> & </td>
+          <td class="paramname"><em>result</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const Key & </td>
+          <td class="paramname"><em>key</em> </td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Insert item (if not already present) and acquire a read lock on the item. </p>
+<p>Returns true if item is new. </p>
+
+<p>References <a class="el" href="a00047.html#a18390cb369369d72bdf7c867755b5190">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::const_accessor::release()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a766c6033c203e8f342501d85a7cf3405"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename Key , typename T , typename HashCompare  = tbb_hash_compare<Key>, typename A  = tbb_allocator<std::pair<Key, T> >> </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool <a class="el" href="a00035.html">tbb::interface5::concurrent_hash_map</a>< Key, T, HashCompare, A >::insert </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="a00010.html">accessor</a> & </td>
+          <td class="paramname"><em>result</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const Key & </td>
+          <td class="paramname"><em>key</em> </td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Insert item (if not already present) and acquire a write lock on the item. </p>
+<p>Returns true if item is new. </p>
+
+<p>References <a class="el" href="a00047.html#a18390cb369369d72bdf7c867755b5190">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::const_accessor::release()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ae0b420cdb752e749790c8a7daa15c3c2"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename Key , typename T , typename HashCompare  = tbb_hash_compare<Key>, typename A  = tbb_allocator<std::pair<Key, T> >> </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool <a class="el" href="a00035.html">tbb::interface5::concurrent_hash_map</a>< Key, T, HashCompare, A >::insert </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="a00047.html">const_accessor</a> & </td>
+          <td class="paramname"><em>result</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const value_type & </td>
+          <td class="paramname"><em>value</em> </td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Insert item by copying if there is no such key present already and acquire a read lock on the item. </p>
+<p>Returns true if item is new. </p>
+
+<p>References <a class="el" href="a00047.html#a18390cb369369d72bdf7c867755b5190">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::const_accessor::release()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a2047214e041b7674c3b83e204d0d6c6a"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename Key , typename T , typename HashCompare  = tbb_hash_compare<Key>, typename A  = tbb_allocator<std::pair<Key, T> >> </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool <a class="el" href="a00035.html">tbb::interface5::concurrent_hash_map</a>< Key, T, HashCompare, A >::insert </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="a00010.html">accessor</a> & </td>
+          <td class="paramname"><em>result</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const value_type & </td>
+          <td class="paramname"><em>value</em> </td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Insert item by copying if there is no such key present already and acquire a write lock on the item. </p>
+<p>Returns true if item is new. </p>
+
+<p>References <a class="el" href="a00047.html#a18390cb369369d72bdf7c867755b5190">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::const_accessor::release()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a8e39501f9edb3210504c9c4ca05384b7"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename Key , typename T , typename HashCompare  = tbb_hash_compare<Key>, typename A  = tbb_allocator<std::pair<Key, T> >> </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool <a class="el" href="a00035.html">tbb::interface5::concurrent_hash_map</a>< Key, T, HashCompare, A >::insert </td>
+          <td>(</td>
+          <td class="paramtype">const value_type & </td>
+          <td class="paramname"><em>value</em>)</td><td></td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Insert item by copying if there is no such key present already. </p>
+<p>Returns true if item is inserted. </p>
+
+</div>
+</div>
+<a class="anchor" id="acbb5b18c097fb32f264b7b5fe8d9fdd4"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename Key , typename T , typename HashCompare  = tbb_hash_compare<Key>, typename A  = tbb_allocator<std::pair<Key, T> >> </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">const_pointer <a class="el" href="a00035.html">tbb::interface5::concurrent_hash_map</a>< Key, T, HashCompare, A >::internal_fast_find </td>
+          <td>(</td>
+          <td class="paramtype">const Key & </td>
+          <td class="paramname"><em>key</em>)</td><td></td>
+          <td> const</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Fast find when no concurrent erasure is used. For internal use inside TBB only! </p>
+<p>Return pointer to item with given key, or NULL if no such item exists. Must not be called concurrently with erasure operations. </p>
+
+</div>
+</div>
+<a class="anchor" id="adf1fa9470c605731063e5949f0418eb7"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename Key , typename T , typename HashCompare , typename A > </div>
+      <table class="memname">
+        <tr>
+          <td class="memname">void <a class="el" href="a00035.html">tbb::interface5::concurrent_hash_map</a>< Key, T, HashCompare, A >::rehash </td>
+          <td>(</td>
+          <td class="paramtype">size_type </td>
+          <td class="paramname"><em>n</em> = <code>0</code>)</td><td></td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Rehashes and optionally resizes the whole table. </p>
+<p>Useful to optimize performance before or after concurrent operations. Also enables using of <a class="el" href="a00035.html#a27a3f296dc170ae25f8e3fd9efa93cff" title="Find item and acquire a read lock on the item. ">find()</a> and <a class="el" href="a00035.html#ac375d3884bf9c80efe56117757c822e7" title="Return count of items (0 or 1) ">count()</a> concurrent methods in serial context. </p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>concurrent_hash_map.h</li>
+</ul>
+</div><!-- contents -->
+<hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00035.png b/doc/html/a00035.png
new file mode 100644
index 0000000..3f0a8f2
Binary files /dev/null and b/doc/html/a00035.png differ
diff --git a/doc/html/a00036.html b/doc/html/a00036.html
index bef22a9..53789c7 100644
--- a/doc/html/a00036.html
+++ b/doc/html/a00036.html
@@ -1,57 +1,89 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::interface6::concurrent_lru_cache< key_type, value_type, value_functor_type > Class Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<h1>tbb::concurrent_bounded_queue< T, A > Member List</h1>This is the complete list of members for <a class="el" href="a00280.html">tbb::concurrent_bounded_queue< T, A ></a>, including all inherited members.<p><table>
-  <tr class="memlist"><td><a class="el" href="a00280.html#86c77a6c1317239405968f5afc7b10d3">abort</a>()</td><td><a class="el" href="a00280.html">tbb::concurrent_bounded_queue< T, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00280.html#2e2726fccf6d975dc1071608cc0bbf90">allocator_type</a> typedef</td><td><a class="el" href="a00280.html">tbb::concurrent_bounded_queue< T, A ></a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00280.html#b2888b3e4e837d7e03f2c731963a402b">capacity</a>() const </td><td><a class="el" href="a00280.html">tbb::concurrent_bounded_queue< T, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00280.html#90b31e2954c6e4596c7900435a5f4bc1">clear</a>()</td><td><a class="el" href="a00280.html">tbb::concurrent_bounded_queue< T, A ></a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00280.html#e3525226732963ff0f13e89d8e6dab5b">concurrent_bounded_queue</a>(const allocator_type &a=allocator_type())</td><td><a class="el" href="a00280.html">tbb::concurrent_bounded_queue< T, A ></a></td><td><code> [inline, explicit]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00280.html#7b7fb414d2eaa8a7f5d68fc4cd63ac50">concurrent_bounded_queue</a>(const concurrent_bounded_queue &src, const allocator_type &a=allocator_type())</td><td><a class="el" href="a00280.html">tbb::concurrent_bounded_queue< T, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00280.html#a5e04dcd7db9fd9b583b4e7df832246a">concurrent_bounded_queue</a>(InputIterator begin, InputIterator end, const allocator_type &a=allocator_type())</td><td><a class="el" href="a00280.html">tbb::concurrent_bounded_queue< T, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>const_iterator</b> typedef (defined in <a class="el" href="a00280.html">tbb::concurrent_bounded_queue< T, A ></a>)</td><td><a class="el" href="a00280.html">tbb::concurrent_bounded_queue< T, A ></a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00280.html#796713d0b9ba93a4721cbe13e4474068">const_reference</a> typedef</td><td><a class="el" href="a00280.html">tbb::concurrent_bounded_queue< T, A ></a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00280.html#4b45c91297e69515d83d5eef85ae1f49">difference_type</a> typedef</td><td><a class="el" href="a00280.html">tbb::concurrent_bounded_queue< T, A ></a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00280.html#f64924f2ee9225c368a270fc3c394db9">empty</a>() const </td><td><a class="el" href="a00280.html">tbb::concurrent_bounded_queue< T, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00280.html#415eb87e53b1c6a266de06ecbc490d16">get_allocator</a>() const </td><td><a class="el" href="a00280.html">tbb::concurrent_bounded_queue< T, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>internal::concurrent_queue_iterator</b> (defined in <a class="el" href="a00280.html">tbb::concurrent_bounded_queue< T, A ></a>)</td><td><a class="el" href="a00280.html">tbb::concurrent_bounded_queue< T, A ></a></td><td><code> [friend]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>iterator</b> typedef (defined in <a class="el" href="a00280.html">tbb::concurrent_bounded_queue< T, A ></a>)</td><td><a class="el" href="a00280.html">tbb::concurrent_bounded_queue< T, A ></a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00280.html#41f4c6bd7a82ab070e840bbf81b0b123">pop</a>(T &destination)</td><td><a class="el" href="a00280.html">tbb::concurrent_bounded_queue< T, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00280.html#ceb08c743b11ba88c878e73fff8af20b">push</a>(const T &source)</td><td><a class="el" href="a00280.html">tbb::concurrent_bounded_queue< T, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00280.html#dcd44ca6a88c0dc7a847a47a10811f0c">reference</a> typedef</td><td><a class="el" href="a00280.html">tbb::concurrent_bounded_queue< T, A ></a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00280.html#f3c6c934f85fd02aedbc83a16943193b">set_capacity</a>(size_type new_capacity)</td><td><a class="el" href="a00280.html">tbb::concurrent_bounded_queue< T, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00280.html#7dc14d1a579a4cccda9f857585e1768d">size</a>() const </td><td><a class="el" href="a00280.html">tbb::concurrent_bounded_queue< T, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00280.html#a80e4c11dbb324e4b92a24a77bbcde68">size_type</a> typedef</td><td><a class="el" href="a00280.html">tbb::concurrent_bounded_queue< T, A ></a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00280.html#0ca487019bbb00a196442aff78a1e4f7">try_pop</a>(T &destination)</td><td><a class="el" href="a00280.html">tbb::concurrent_bounded_queue< T, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00280.html#2bd6232531279fb3ccbd296bea23066b">try_push</a>(const T &source)</td><td><a class="el" href="a00280.html">tbb::concurrent_bounded_queue< T, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>unsafe_begin</b>() (defined in <a class="el" href="a00280.html">tbb::concurrent_bounded_queue< T, A ></a>)</td><td><a class="el" href="a00280.html">tbb::concurrent_bounded_queue< T, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>unsafe_begin</b>() const  (defined in <a class="el" href="a00280.html">tbb::concurrent_bounded_queue< T, A ></a>)</td><td><a class="el" href="a00280.html">tbb::concurrent_bounded_queue< T, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>unsafe_end</b>() (defined in <a class="el" href="a00280.html">tbb::concurrent_bounded_queue< T, A ></a>)</td><td><a class="el" href="a00280.html">tbb::concurrent_bounded_queue< T, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>unsafe_end</b>() const  (defined in <a class="el" href="a00280.html">tbb::concurrent_bounded_queue< T, A ></a>)</td><td><a class="el" href="a00280.html">tbb::concurrent_bounded_queue< T, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00280.html#98245517a931e5893f6601e66c51fc75">value_type</a> typedef</td><td><a class="el" href="a00280.html">tbb::concurrent_bounded_queue< T, A ></a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00280.html#acaf5b510dc0dfc7780b8c956cf773cf">~concurrent_bounded_queue</a>()</td><td><a class="el" href="a00280.html">tbb::concurrent_bounded_queue< T, A ></a></td><td></td></tr>
-</table><hr>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>interface6</b></li><li class="navelem"><a class="el" href="a00036.html">concurrent_lru_cache</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Classes</a> |
+<a href="#pub-types">Public Types</a> |
+<a href="#pub-methods">Public Member Functions</a> |
+<a href="#friends">Friends</a> |
+<a href="a00353.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::interface6::concurrent_lru_cache< key_type, value_type, value_functor_type > Class Template Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="dynheader">
+Inheritance diagram for tbb::interface6::concurrent_lru_cache< key_type, value_type, value_functor_type >:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00036.png" usemap="#tbb::interface6::concurrent_lru_cache< key_type, value_type, value_functor_type >_map" alt=""/>
+  <map id="tbb::interface6::concurrent_lru_cache< key_type, value_type, value_functor_type >_map" name="tbb::interface6::concurrent_lru_cache< key_type, value_type, value_functor_type >_map">
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:ac498dc4d73a75cbc0d50a15622f06e13"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac498dc4d73a75cbc0d50a15622f06e13"></a>
+typedef handle_object </td><td class="memItemRight" valign="bottom"><b>handle</b></td></tr>
+<tr class="separator:ac498dc4d73a75cbc0d50a15622f06e13"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:ad4c0b512bb4ad5109eaae1519ba06d98"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad4c0b512bb4ad5109eaae1519ba06d98"></a>
+ </td><td class="memItemRight" valign="bottom"><b>concurrent_lru_cache</b> (value_function_type f, std::size_t number_of_lru_history_items)</td></tr>
+<tr class="separator:ad4c0b512bb4ad5109eaae1519ba06d98"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a632c3911a55cfda997acce279c471ec3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a632c3911a55cfda997acce279c471ec3"></a>
+handle_object </td><td class="memItemRight" valign="bottom"><b>operator[]</b> (key_type k)</td></tr>
+<tr class="separator:a632c3911a55cfda997acce279c471ec3"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
+Friends</h2></td></tr>
+<tr class="memitem:ab9fb998ff3f90c4dc7cefd09f8ff1365"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab9fb998ff3f90c4dc7cefd09f8ff1365"></a>
+class </td><td class="memItemRight" valign="bottom"><b>tbb::internal::aggregating_functor< self_type, aggregated_operation_type ></b></td></tr>
+<tr class="separator:ab9fb998ff3f90c4dc7cefd09f8ff1365"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>concurrent_lru_cache.h</li>
+</ul>
+</div><!-- contents -->
+<hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00036.png b/doc/html/a00036.png
new file mode 100644
index 0000000..856b3af
Binary files /dev/null and b/doc/html/a00036.png differ
diff --git a/doc/html/a00037.html b/doc/html/a00037.html
new file mode 100644
index 0000000..b420020
--- /dev/null
+++ b/doc/html/a00037.html
@@ -0,0 +1,433 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::interface5::concurrent_priority_queue< T, Compare, A > Class Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>interface5</b></li><li class="navelem"><a class="el" href="a00037.html">concurrent_priority_queue</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Classes</a> |
+<a href="#pub-types">Public Types</a> |
+<a href="#pub-methods">Public Member Functions</a> |
+<a href="a00339.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::interface5::concurrent_priority_queue< T, Compare, A > Class Template Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Concurrent priority queue.  
+ <a href="a00037.html#details">More...</a></p>
+
+<p><code>#include <concurrent_priority_queue.h></code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:a2c75d97ae429019363ab6fd1a872512e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2c75d97ae429019363ab6fd1a872512e"></a>
+typedef T </td><td class="memItemRight" valign="bottom"><a class="el" href="a00037.html#a2c75d97ae429019363ab6fd1a872512e">value_type</a></td></tr>
+<tr class="memdesc:a2c75d97ae429019363ab6fd1a872512e"><td class="mdescLeft"> </td><td class="mdescRight">Element type in the queue. <br/></td></tr>
+<tr class="separator:a2c75d97ae429019363ab6fd1a872512e"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ae4b7ed2ddc8ec6cc910f935c9d299c7a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae4b7ed2ddc8ec6cc910f935c9d299c7a"></a>
+typedef T & </td><td class="memItemRight" valign="bottom"><a class="el" href="a00037.html#ae4b7ed2ddc8ec6cc910f935c9d299c7a">reference</a></td></tr>
+<tr class="memdesc:ae4b7ed2ddc8ec6cc910f935c9d299c7a"><td class="mdescLeft"> </td><td class="mdescRight">Reference type. <br/></td></tr>
+<tr class="separator:ae4b7ed2ddc8ec6cc910f935c9d299c7a"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a0bd617fe8e4657777e86f0ae15d8094f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0bd617fe8e4657777e86f0ae15d8094f"></a>
+typedef const T & </td><td class="memItemRight" valign="bottom"><a class="el" href="a00037.html#a0bd617fe8e4657777e86f0ae15d8094f">const_reference</a></td></tr>
+<tr class="memdesc:a0bd617fe8e4657777e86f0ae15d8094f"><td class="mdescLeft"> </td><td class="mdescRight">Const reference type. <br/></td></tr>
+<tr class="separator:a0bd617fe8e4657777e86f0ae15d8094f"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a7d3da9b47ec58e1c09e3550f702edcfc"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7d3da9b47ec58e1c09e3550f702edcfc"></a>
+typedef size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="a00037.html#a7d3da9b47ec58e1c09e3550f702edcfc">size_type</a></td></tr>
+<tr class="memdesc:a7d3da9b47ec58e1c09e3550f702edcfc"><td class="mdescLeft"> </td><td class="mdescRight">Integral type for representing size of the queue. <br/></td></tr>
+<tr class="separator:a7d3da9b47ec58e1c09e3550f702edcfc"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ae010b1fa9c0942504737228474b51a0b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae010b1fa9c0942504737228474b51a0b"></a>
+typedef ptrdiff_t </td><td class="memItemRight" valign="bottom"><a class="el" href="a00037.html#ae010b1fa9c0942504737228474b51a0b">difference_type</a></td></tr>
+<tr class="memdesc:ae010b1fa9c0942504737228474b51a0b"><td class="mdescLeft"> </td><td class="mdescRight">Difference type for iterator. <br/></td></tr>
+<tr class="separator:ae010b1fa9c0942504737228474b51a0b"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a1d2cebf242fa83d88eebdc3ad6891fb1"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1d2cebf242fa83d88eebdc3ad6891fb1"></a>
+typedef A </td><td class="memItemRight" valign="bottom"><a class="el" href="a00037.html#a1d2cebf242fa83d88eebdc3ad6891fb1">allocator_type</a></td></tr>
+<tr class="memdesc:a1d2cebf242fa83d88eebdc3ad6891fb1"><td class="mdescLeft"> </td><td class="mdescRight">Allocator type. <br/></td></tr>
+<tr class="separator:a1d2cebf242fa83d88eebdc3ad6891fb1"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a405be01bac4048f214797c287e2571a1"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a405be01bac4048f214797c287e2571a1"></a>
+ </td><td class="memItemRight" valign="bottom"><a class="el" href="a00037.html#a405be01bac4048f214797c287e2571a1">concurrent_priority_queue</a> (const <a class="el" href="a00037.html#a1d2cebf242fa83d88eebdc3ad6891fb1">allocator_type</a> &a=<a class="el" href="a00037.html#a1d2cebf242fa83d88eebdc3ad6891fb1">allocator_type</a>())</td></tr>
+<tr class="memdesc:a405be01bac4048f214797c287e2571a1"><td class="mdescLeft"> </td><td class="mdescRight">Constructs a new <a class="el" href="a00037.html" title="Concurrent priority queue. ">concurrent_priority_queue</a> with default capacity. <br/></td></tr>
+<tr class="separator:a405be01bac4048f214797c287e2571a1"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a43c3917ea8a19cf1fec947e29ad4ff3e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a43c3917ea8a19cf1fec947e29ad4ff3e"></a>
+ </td><td class="memItemRight" valign="bottom"><a class="el" href="a00037.html#a43c3917ea8a19cf1fec947e29ad4ff3e">concurrent_priority_queue</a> (<a class="el" href="a00037.html#a7d3da9b47ec58e1c09e3550f702edcfc">size_type</a> init_capacity, const <a class="el" href="a00037.html#a1d2cebf242fa83d88eebdc3ad6891fb1">allocator_type</a> &a=<a class="el" href="a00037.html#a1d2cebf242fa83d88eebdc3ad6891fb1">allocator_type</a>())</td></tr>
+<tr class="memdesc:a43c3917ea8a19cf1fec947e29ad4ff3e"><td class="mdescLeft"> </td><td class="mdescRight">Constructs a new <a class="el" href="a00037.html" title="Concurrent priority queue. ">concurrent_priority_queue</a> with init_sz capacity. <br/></td></tr>
+<tr class="separator:a43c3917ea8a19cf1fec947e29ad4ff3e"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a0cebee26cc0d00d4dcbb1c74e08029f7"><td class="memTemplParams" colspan="2"><a class="anchor" id="a0cebee26cc0d00d4dcbb1c74e08029f7"></a>
+template<typename InputIterator > </td></tr>
+<tr class="memitem:a0cebee26cc0d00d4dcbb1c74e08029f7"><td class="memTemplItemLeft" align="right" valign="top"> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00037.html#a0cebee26cc0d00d4dcbb1c74e08029f7">concurrent_priority_queue</a> (InputIterator begin, InputIterator end, const <a class="el" href="a00037.html#a1d2cebf242fa83d88eebdc3ad6891fb1">allocator_type</a> &a=<a class="el" href="a00037.html#a1d2cebf242fa83d88eebdc3ad6891fb1">allocator_type</a>()) [...]
+<tr class="memdesc:a0cebee26cc0d00d4dcbb1c74e08029f7"><td class="mdescLeft"> </td><td class="mdescRight">[begin,end) constructor <br/></td></tr>
+<tr class="separator:a0cebee26cc0d00d4dcbb1c74e08029f7"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a111763d621fa792f281c2a13bd3e5edf"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a111763d621fa792f281c2a13bd3e5edf"></a>
+ </td><td class="memItemRight" valign="bottom"><a class="el" href="a00037.html#a111763d621fa792f281c2a13bd3e5edf">concurrent_priority_queue</a> (std::initializer_list< T > const &init_list, const <a class="el" href="a00037.html#a1d2cebf242fa83d88eebdc3ad6891fb1">allocator_type</a> &a=<a class="el" href="a00037.html#a1d2cebf242fa83d88eebdc3ad6891fb1">allocator_type</a>())</td></tr>
+<tr class="memdesc:a111763d621fa792f281c2a13bd3e5edf"><td class="mdescLeft"> </td><td class="mdescRight">Constructor from std::initializer_list. <br/></td></tr>
+<tr class="separator:a111763d621fa792f281c2a13bd3e5edf"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a332d26234f9c37a6b7ba269c648815d0"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00037.html#a332d26234f9c37a6b7ba269c648815d0">concurrent_priority_queue</a> (const <a class="el" href="a00037.html">concurrent_priority_queue</a> &src)</td></tr>
+<tr class="memdesc:a332d26234f9c37a6b7ba269c648815d0"><td class="mdescLeft"> </td><td class="mdescRight">Copy constructor.  <a href="#a332d26234f9c37a6b7ba269c648815d0">More...</a><br/></td></tr>
+<tr class="separator:a332d26234f9c37a6b7ba269c648815d0"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aa52cea369b6630699ee78cc42622be9d"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00037.html#aa52cea369b6630699ee78cc42622be9d">concurrent_priority_queue</a> (const <a class="el" href="a00037.html">concurrent_priority_queue</a> &src, const <a class="el" href="a00037.html#a1d2cebf242fa83d88eebdc3ad6891fb1">allocator_type</a> &a)</td></tr>
+<tr class="memdesc:aa52cea369b6630699ee78cc42622be9d"><td class="mdescLeft"> </td><td class="mdescRight">Copy constructor with specific allocator.  <a href="#aa52cea369b6630699ee78cc42622be9d">More...</a><br/></td></tr>
+<tr class="separator:aa52cea369b6630699ee78cc42622be9d"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ac0c3f41b10f04547f3438517c40cf8a5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00037.html">concurrent_priority_queue</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="a00037.html#ac0c3f41b10f04547f3438517c40cf8a5">operator=</a> (const <a class="el" href="a00037.html">concurrent_priority_queue</a> &src)</td></tr>
+<tr class="memdesc:ac0c3f41b10f04547f3438517c40cf8a5"><td class="mdescLeft"> </td><td class="mdescRight">Assignment operator.  <a href="#ac0c3f41b10f04547f3438517c40cf8a5">More...</a><br/></td></tr>
+<tr class="separator:ac0c3f41b10f04547f3438517c40cf8a5"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ac64c7b627708f0d6b2e5421fb0d49150"><td class="memTemplParams" colspan="2"><a class="anchor" id="ac64c7b627708f0d6b2e5421fb0d49150"></a>
+template<typename InputIterator > </td></tr>
+<tr class="memitem:ac64c7b627708f0d6b2e5421fb0d49150"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00037.html#ac64c7b627708f0d6b2e5421fb0d49150">assign</a> (InputIterator begin, InputIterator end)</td></tr>
+<tr class="memdesc:ac64c7b627708f0d6b2e5421fb0d49150"><td class="mdescLeft"> </td><td class="mdescRight">Assign the queue from [begin,end) range, not thread-safe. <br/></td></tr>
+<tr class="separator:ac64c7b627708f0d6b2e5421fb0d49150"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ada4a58867572d9ff340c6692a226d457"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ada4a58867572d9ff340c6692a226d457"></a>
+void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00037.html#ada4a58867572d9ff340c6692a226d457">assign</a> (std::initializer_list< T > const &il)</td></tr>
+<tr class="memdesc:ada4a58867572d9ff340c6692a226d457"><td class="mdescLeft"> </td><td class="mdescRight">Assign the queue from std::initializer_list, not thread-safe. <br/></td></tr>
+<tr class="separator:ada4a58867572d9ff340c6692a226d457"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a32eb9c65caf399b62fac7c13e65af05f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a32eb9c65caf399b62fac7c13e65af05f"></a>
+<a class="el" href="a00037.html">concurrent_priority_queue</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="a00037.html#a32eb9c65caf399b62fac7c13e65af05f">operator=</a> (std::initializer_list< T > const &il)</td></tr>
+<tr class="memdesc:a32eb9c65caf399b62fac7c13e65af05f"><td class="mdescLeft"> </td><td class="mdescRight">Assign from std::initializer_list, not thread-safe. <br/></td></tr>
+<tr class="separator:a32eb9c65caf399b62fac7c13e65af05f"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a8dec2dd0e8b22af14f1753eaef1bf5eb"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00037.html#a8dec2dd0e8b22af14f1753eaef1bf5eb">empty</a> () const </td></tr>
+<tr class="memdesc:a8dec2dd0e8b22af14f1753eaef1bf5eb"><td class="mdescLeft"> </td><td class="mdescRight">Returns true if empty, false otherwise.  <a href="#a8dec2dd0e8b22af14f1753eaef1bf5eb">More...</a><br/></td></tr>
+<tr class="separator:a8dec2dd0e8b22af14f1753eaef1bf5eb"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a7d86ba200474b51ec99a6b917429c6bb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00037.html#a7d3da9b47ec58e1c09e3550f702edcfc">size_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00037.html#a7d86ba200474b51ec99a6b917429c6bb">size</a> () const </td></tr>
+<tr class="memdesc:a7d86ba200474b51ec99a6b917429c6bb"><td class="mdescLeft"> </td><td class="mdescRight">Returns the current number of elements contained in the queue.  <a href="#a7d86ba200474b51ec99a6b917429c6bb">More...</a><br/></td></tr>
+<tr class="separator:a7d86ba200474b51ec99a6b917429c6bb"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a1bfa0e7269b3407d6bb5c706264d2406"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00037.html#a1bfa0e7269b3407d6bb5c706264d2406">push</a> (<a class="el" href="a00037.html#a0bd617fe8e4657777e86f0ae15d8094f">const_reference</a> elem)</td></tr>
+<tr class="memdesc:a1bfa0e7269b3407d6bb5c706264d2406"><td class="mdescLeft"> </td><td class="mdescRight">Pushes elem onto the queue, increasing capacity of queue if necessary.  <a href="#a1bfa0e7269b3407d6bb5c706264d2406">More...</a><br/></td></tr>
+<tr class="separator:a1bfa0e7269b3407d6bb5c706264d2406"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a954177b09e184cf3db47f1b180a7ef5e"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00037.html#a954177b09e184cf3db47f1b180a7ef5e">try_pop</a> (<a class="el" href="a00037.html#ae4b7ed2ddc8ec6cc910f935c9d299c7a">reference</a> elem)</td></tr>
+<tr class="memdesc:a954177b09e184cf3db47f1b180a7ef5e"><td class="mdescLeft"> </td><td class="mdescRight">Gets a reference to and removes highest priority element.  <a href="#a954177b09e184cf3db47f1b180a7ef5e">More...</a><br/></td></tr>
+<tr class="separator:a954177b09e184cf3db47f1b180a7ef5e"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a2459166998a4103880d603b237c429e6"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00037.html#a2459166998a4103880d603b237c429e6">clear</a> ()</td></tr>
+<tr class="memdesc:a2459166998a4103880d603b237c429e6"><td class="mdescLeft"> </td><td class="mdescRight">Clear the queue; not thread-safe.  <a href="#a2459166998a4103880d603b237c429e6">More...</a><br/></td></tr>
+<tr class="separator:a2459166998a4103880d603b237c429e6"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aa6ee6d356e538b67a7cb4e242e6e36c9"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00037.html#aa6ee6d356e538b67a7cb4e242e6e36c9">swap</a> (<a class="el" href="a00037.html">concurrent_priority_queue</a> &q)</td></tr>
+<tr class="memdesc:aa6ee6d356e538b67a7cb4e242e6e36c9"><td class="mdescLeft"> </td><td class="mdescRight">Swap this queue with another; not thread-safe.  <a href="#aa6ee6d356e538b67a7cb4e242e6e36c9">More...</a><br/></td></tr>
+<tr class="separator:aa6ee6d356e538b67a7cb4e242e6e36c9"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a312e88e51246da4c516d35abbb30721a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a312e88e51246da4c516d35abbb30721a"></a>
+<a class="el" href="a00037.html#a1d2cebf242fa83d88eebdc3ad6891fb1">allocator_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00037.html#a312e88e51246da4c516d35abbb30721a">get_allocator</a> () const </td></tr>
+<tr class="memdesc:a312e88e51246da4c516d35abbb30721a"><td class="mdescLeft"> </td><td class="mdescRight">Return allocator object. <br/></td></tr>
+<tr class="separator:a312e88e51246da4c516d35abbb30721a"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><h3>template<typename T, typename Compare = std::less<T>, typename A = cache_aligned_allocator<T>><br/>
+class tbb::interface5::concurrent_priority_queue< T, Compare, A ></h3>
+
+<p>Concurrent priority queue. </p>
+</div><h2 class="groupheader">Constructor & Destructor Documentation</h2>
+<a class="anchor" id="a332d26234f9c37a6b7ba269c648815d0"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T , typename Compare  = std::less<T>, typename A  = cache_aligned_allocator<T>> </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00037.html">tbb::interface5::concurrent_priority_queue</a>< T, Compare, A >::<a class="el" href="a00037.html">concurrent_priority_queue</a> </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="a00037.html">concurrent_priority_queue</a>< T, Compare, A > & </td>
+          <td class="paramname"><em>src</em>)</td><td></td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">explicit</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Copy constructor. </p>
+<p>This operation is unsafe if there are pending concurrent operations on the src queue. </p>
+
+</div>
+</div>
+<a class="anchor" id="aa52cea369b6630699ee78cc42622be9d"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T , typename Compare  = std::less<T>, typename A  = cache_aligned_allocator<T>> </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00037.html">tbb::interface5::concurrent_priority_queue</a>< T, Compare, A >::<a class="el" href="a00037.html">concurrent_priority_queue</a> </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="a00037.html">concurrent_priority_queue</a>< T, Compare, A > & </td>
+          <td class="paramname"><em>src</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const <a class="el" href="a00037.html#a1d2cebf242fa83d88eebdc3ad6891fb1">allocator_type</a> & </td>
+          <td class="paramname"><em>a</em> </td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Copy constructor with specific allocator. </p>
+<p>This operation is unsafe if there are pending concurrent operations on the src queue. </p>
+
+</div>
+</div>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="a2459166998a4103880d603b237c429e6"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T , typename Compare  = std::less<T>, typename A  = cache_aligned_allocator<T>> </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">void <a class="el" href="a00037.html">tbb::interface5::concurrent_priority_queue</a>< T, Compare, A >::clear </td>
+          <td>(</td>
+          <td class="paramname">)</td><td></td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Clear the queue; not thread-safe. </p>
+<p>This operation is unsafe if there are pending concurrent operations on the queue. Resets size, effectively emptying queue; does not free space. May not clear elements added in pending operations. </p>
+
+</div>
+</div>
+<a class="anchor" id="a8dec2dd0e8b22af14f1753eaef1bf5eb"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T , typename Compare  = std::less<T>, typename A  = cache_aligned_allocator<T>> </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool <a class="el" href="a00037.html">tbb::interface5::concurrent_priority_queue</a>< T, Compare, A >::empty </td>
+          <td>(</td>
+          <td class="paramname">)</td><td></td>
+          <td> const</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Returns true if empty, false otherwise. </p>
+<p>Returned value may not reflect results of pending operations. This operation reads shared data and will trigger a race condition. </p>
+
+</div>
+</div>
+<a class="anchor" id="ac0c3f41b10f04547f3438517c40cf8a5"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T , typename Compare  = std::less<T>, typename A  = cache_aligned_allocator<T>> </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00037.html">concurrent_priority_queue</a>& <a class="el" href="a00037.html">tbb::interface5::concurrent_priority_queue</a>< T, Compare, A >::operator= </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="a00037.html">concurrent_priority_queue</a>< T, Compare, A > & </td>
+          <td class="paramname"><em>src</em>)</td><td></td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Assignment operator. </p>
+<p>This operation is unsafe if there are pending concurrent operations on the src queue. </p>
+
+</div>
+</div>
+<a class="anchor" id="a1bfa0e7269b3407d6bb5c706264d2406"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T , typename Compare  = std::less<T>, typename A  = cache_aligned_allocator<T>> </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">void <a class="el" href="a00037.html">tbb::interface5::concurrent_priority_queue</a>< T, Compare, A >::push </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="a00037.html#a0bd617fe8e4657777e86f0ae15d8094f">const_reference</a> </td>
+          <td class="paramname"><em>elem</em>)</td><td></td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Pushes elem onto the queue, increasing capacity of queue if necessary. </p>
+<p>This operation can be safely used concurrently with other push, try_pop or reserve operations. </p>
+
+</div>
+</div>
+<a class="anchor" id="a7d86ba200474b51ec99a6b917429c6bb"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T , typename Compare  = std::less<T>, typename A  = cache_aligned_allocator<T>> </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00037.html#a7d3da9b47ec58e1c09e3550f702edcfc">size_type</a> <a class="el" href="a00037.html">tbb::interface5::concurrent_priority_queue</a>< T, Compare, A >::size </td>
+          <td>(</td>
+          <td class="paramname">)</td><td></td>
+          <td> const</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Returns the current number of elements contained in the queue. </p>
+<p>Returned value may not reflect results of pending operations. This operation reads shared data and will trigger a race condition. </p>
+
+</div>
+</div>
+<a class="anchor" id="aa6ee6d356e538b67a7cb4e242e6e36c9"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T , typename Compare  = std::less<T>, typename A  = cache_aligned_allocator<T>> </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">void <a class="el" href="a00037.html">tbb::interface5::concurrent_priority_queue</a>< T, Compare, A >::swap </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="a00037.html">concurrent_priority_queue</a>< T, Compare, A > & </td>
+          <td class="paramname"><em>q</em>)</td><td></td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Swap this queue with another; not thread-safe. </p>
+<p>This operation is unsafe if there are pending concurrent operations on the queue. </p>
+
+</div>
+</div>
+<a class="anchor" id="a954177b09e184cf3db47f1b180a7ef5e"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T , typename Compare  = std::less<T>, typename A  = cache_aligned_allocator<T>> </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool <a class="el" href="a00037.html">tbb::interface5::concurrent_priority_queue</a>< T, Compare, A >::try_pop </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="a00037.html#ae4b7ed2ddc8ec6cc910f935c9d299c7a">reference</a> </td>
+          <td class="paramname"><em>elem</em>)</td><td></td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Gets a reference to and removes highest priority element. </p>
+<p>If a highest priority element was found, sets elem and returns true, otherwise returns false. This operation can be safely used concurrently with other push, try_pop or reserve operations. </p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>concurrent_priority_queue.h</li>
+</ul>
+</div><!-- contents -->
+<hr>
+<p></p>
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
+<p></p>
+Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
+registered trademarks or trademarks of Intel Corporation or its
+subsidiaries in the United States and other countries.
+<p></p>
+* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00038.html b/doc/html/a00038.html
index ade218f..650fe57 100644
--- a/doc/html/a00038.html
+++ b/doc/html/a00038.html
@@ -1,66 +1,207 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::strict_ppl::concurrent_queue< T, A > Class Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<h1>tbb::deprecated::concurrent_queue< T, A > Member List</h1>This is the complete list of members for <a class="el" href="a00287.html">tbb::deprecated::concurrent_queue< T, A ></a>, including all inherited members.<p><table>
-  <tr class="memlist"><td><a class="el" href="a00280.html#86c77a6c1317239405968f5afc7b10d3">abort</a>()</td><td><a class="el" href="a00280.html">tbb::concurrent_bounded_queue< T, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00280.html#2e2726fccf6d975dc1071608cc0bbf90">allocator_type</a> typedef</td><td><a class="el" href="a00280.html">tbb::concurrent_bounded_queue< T, A ></a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>begin</b>() (defined in <a class="el" href="a00287.html">tbb::deprecated::concurrent_queue< T, A ></a>)</td><td><a class="el" href="a00287.html">tbb::deprecated::concurrent_queue< T, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>begin</b>() const  (defined in <a class="el" href="a00287.html">tbb::deprecated::concurrent_queue< T, A ></a>)</td><td><a class="el" href="a00287.html">tbb::deprecated::concurrent_queue< T, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00280.html#b2888b3e4e837d7e03f2c731963a402b">capacity</a>() const </td><td><a class="el" href="a00280.html">tbb::concurrent_bounded_queue< T, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00280.html#90b31e2954c6e4596c7900435a5f4bc1">clear</a>()</td><td><a class="el" href="a00280.html">tbb::concurrent_bounded_queue< T, A ></a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00280.html#e3525226732963ff0f13e89d8e6dab5b">concurrent_bounded_queue</a>(const allocator_type &a=allocator_type())</td><td><a class="el" href="a00280.html">tbb::concurrent_bounded_queue< T, A ></a></td><td><code> [inline, explicit]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00280.html#7b7fb414d2eaa8a7f5d68fc4cd63ac50">concurrent_bounded_queue</a>(const concurrent_bounded_queue &src, const allocator_type &a=allocator_type())</td><td><a class="el" href="a00280.html">tbb::concurrent_bounded_queue< T, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00280.html#a5e04dcd7db9fd9b583b4e7df832246a">concurrent_bounded_queue</a>(InputIterator begin, InputIterator end, const allocator_type &a=allocator_type())</td><td><a class="el" href="a00280.html">tbb::concurrent_bounded_queue< T, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00287.html#aaf19bd7337b72f3131ece60f7315ef7">concurrent_queue</a>(const A &a=A())</td><td><a class="el" href="a00287.html">tbb::deprecated::concurrent_queue< T, A ></a></td><td><code> [inline, explicit]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00287.html#fc092b9082f233482f3513fc3bb670f7">concurrent_queue</a>(const concurrent_queue &src, const A &a=A())</td><td><a class="el" href="a00287.html">tbb::deprecated::concurrent_queue< T, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00287.html#9102b897776bd2d9e908e6604ff16b5f">concurrent_queue</a>(InputIterator b, InputIterator e, const A &a=A())</td><td><a class="el" href="a00287.html">tbb::deprecated::concurrent_queue< T, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>const_iterator</b> typedef (defined in <a class="el" href="a00287.html">tbb::deprecated::concurrent_queue< T, A ></a>)</td><td><a class="el" href="a00287.html">tbb::deprecated::concurrent_queue< T, A ></a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00280.html#796713d0b9ba93a4721cbe13e4474068">const_reference</a> typedef</td><td><a class="el" href="a00280.html">tbb::concurrent_bounded_queue< T, A ></a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00280.html#4b45c91297e69515d83d5eef85ae1f49">difference_type</a> typedef</td><td><a class="el" href="a00280.html">tbb::concurrent_bounded_queue< T, A ></a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00280.html#f64924f2ee9225c368a270fc3c394db9">empty</a>() const </td><td><a class="el" href="a00280.html">tbb::concurrent_bounded_queue< T, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>end</b>() (defined in <a class="el" href="a00287.html">tbb::deprecated::concurrent_queue< T, A ></a>)</td><td><a class="el" href="a00287.html">tbb::deprecated::concurrent_queue< T, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>end</b>() const  (defined in <a class="el" href="a00287.html">tbb::deprecated::concurrent_queue< T, A ></a>)</td><td><a class="el" href="a00287.html">tbb::deprecated::concurrent_queue< T, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00280.html#415eb87e53b1c6a266de06ecbc490d16">get_allocator</a>() const </td><td><a class="el" href="a00280.html">tbb::concurrent_bounded_queue< T, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>internal::concurrent_queue_iterator</b> (defined in <a class="el" href="a00287.html">tbb::deprecated::concurrent_queue< T, A ></a>)</td><td><a class="el" href="a00287.html">tbb::deprecated::concurrent_queue< T, A ></a></td><td><code> [friend]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>iterator</b> typedef (defined in <a class="el" href="a00287.html">tbb::deprecated::concurrent_queue< T, A ></a>)</td><td><a class="el" href="a00287.html">tbb::deprecated::concurrent_queue< T, A ></a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00280.html#41f4c6bd7a82ab070e840bbf81b0b123">pop</a>(T &destination)</td><td><a class="el" href="a00280.html">tbb::concurrent_bounded_queue< T, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00287.html#48da3536245318af6cb5fd58bac78039">pop_if_present</a>(T &destination)</td><td><a class="el" href="a00287.html">tbb::deprecated::concurrent_queue< T, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00280.html#ceb08c743b11ba88c878e73fff8af20b">push</a>(const T &source)</td><td><a class="el" href="a00280.html">tbb::concurrent_bounded_queue< T, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00287.html#7c45561bafe71107d09b2bc1b8f4e681">push_if_not_full</a>(const T &source)</td><td><a class="el" href="a00287.html">tbb::deprecated::concurrent_queue< T, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00280.html#dcd44ca6a88c0dc7a847a47a10811f0c">reference</a> typedef</td><td><a class="el" href="a00280.html">tbb::concurrent_bounded_queue< T, A ></a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00280.html#f3c6c934f85fd02aedbc83a16943193b">set_capacity</a>(size_type new_capacity)</td><td><a class="el" href="a00280.html">tbb::concurrent_bounded_queue< T, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00280.html#7dc14d1a579a4cccda9f857585e1768d">size</a>() const </td><td><a class="el" href="a00280.html">tbb::concurrent_bounded_queue< T, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00280.html#a80e4c11dbb324e4b92a24a77bbcde68">size_type</a> typedef</td><td><a class="el" href="a00280.html">tbb::concurrent_bounded_queue< T, A ></a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00280.html#0ca487019bbb00a196442aff78a1e4f7">try_pop</a>(T &destination)</td><td><a class="el" href="a00280.html">tbb::concurrent_bounded_queue< T, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00280.html#2bd6232531279fb3ccbd296bea23066b">try_push</a>(const T &source)</td><td><a class="el" href="a00280.html">tbb::concurrent_bounded_queue< T, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>unsafe_begin</b>() (defined in <a class="el" href="a00280.html">tbb::concurrent_bounded_queue< T, A ></a>)</td><td><a class="el" href="a00280.html">tbb::concurrent_bounded_queue< T, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>unsafe_begin</b>() const  (defined in <a class="el" href="a00280.html">tbb::concurrent_bounded_queue< T, A ></a>)</td><td><a class="el" href="a00280.html">tbb::concurrent_bounded_queue< T, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>unsafe_end</b>() (defined in <a class="el" href="a00280.html">tbb::concurrent_bounded_queue< T, A ></a>)</td><td><a class="el" href="a00280.html">tbb::concurrent_bounded_queue< T, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>unsafe_end</b>() const  (defined in <a class="el" href="a00280.html">tbb::concurrent_bounded_queue< T, A ></a>)</td><td><a class="el" href="a00280.html">tbb::concurrent_bounded_queue< T, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00280.html#98245517a931e5893f6601e66c51fc75">value_type</a> typedef</td><td><a class="el" href="a00280.html">tbb::concurrent_bounded_queue< T, A ></a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00280.html#acaf5b510dc0dfc7780b8c956cf773cf">~concurrent_bounded_queue</a>()</td><td><a class="el" href="a00280.html">tbb::concurrent_bounded_queue< T, A ></a></td><td></td></tr>
-</table><hr>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>strict_ppl</b></li><li class="navelem"><a class="el" href="a00038.html">concurrent_queue</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-types">Public Types</a> |
+<a href="#pub-methods">Public Member Functions</a> |
+<a href="#friends">Friends</a> |
+<a href="a00383.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::strict_ppl::concurrent_queue< T, A > Class Template Reference<div class="ingroups"><a class="el" href="a00235.html">Containers</a></div></div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>A high-performance thread-safe non-blocking concurrent queue.  
+ <a href="a00038.html#details">More...</a></p>
+
+<p><code>#include <concurrent_queue.h></code></p>
+<div class="dynheader">
+Inheritance diagram for tbb::strict_ppl::concurrent_queue< T, A >:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00038.png" usemap="#tbb::strict_ppl::concurrent_queue< T, A >_map" alt=""/>
+  <map id="tbb::strict_ppl::concurrent_queue< T, A >_map" name="tbb::strict_ppl::concurrent_queue< T, A >_map">
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:aeeee93a7ac2eecc80bbf3e857e900538"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aeeee93a7ac2eecc80bbf3e857e900538"></a>
+typedef T </td><td class="memItemRight" valign="bottom"><a class="el" href="a00038.html#aeeee93a7ac2eecc80bbf3e857e900538">value_type</a></td></tr>
+<tr class="memdesc:aeeee93a7ac2eecc80bbf3e857e900538"><td class="mdescLeft"> </td><td class="mdescRight">Element type in the queue. <br/></td></tr>
+<tr class="separator:aeeee93a7ac2eecc80bbf3e857e900538"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ab26ddf11b15d61ac87e6c1ae67af92a2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab26ddf11b15d61ac87e6c1ae67af92a2"></a>
+typedef T & </td><td class="memItemRight" valign="bottom"><a class="el" href="a00038.html#ab26ddf11b15d61ac87e6c1ae67af92a2">reference</a></td></tr>
+<tr class="memdesc:ab26ddf11b15d61ac87e6c1ae67af92a2"><td class="mdescLeft"> </td><td class="mdescRight">Reference type. <br/></td></tr>
+<tr class="separator:ab26ddf11b15d61ac87e6c1ae67af92a2"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a478c2b7f763b2e821e01cc14e13baf4c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a478c2b7f763b2e821e01cc14e13baf4c"></a>
+typedef const T & </td><td class="memItemRight" valign="bottom"><a class="el" href="a00038.html#a478c2b7f763b2e821e01cc14e13baf4c">const_reference</a></td></tr>
+<tr class="memdesc:a478c2b7f763b2e821e01cc14e13baf4c"><td class="mdescLeft"> </td><td class="mdescRight">Const reference type. <br/></td></tr>
+<tr class="separator:a478c2b7f763b2e821e01cc14e13baf4c"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a9f883e49afea16293ba92da779981bb8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9f883e49afea16293ba92da779981bb8"></a>
+typedef size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="a00038.html#a9f883e49afea16293ba92da779981bb8">size_type</a></td></tr>
+<tr class="memdesc:a9f883e49afea16293ba92da779981bb8"><td class="mdescLeft"> </td><td class="mdescRight">Integral type for representing size of the queue. <br/></td></tr>
+<tr class="separator:a9f883e49afea16293ba92da779981bb8"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a63b42d83a9ed13fc6741e0b4388b0e96"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a63b42d83a9ed13fc6741e0b4388b0e96"></a>
+typedef ptrdiff_t </td><td class="memItemRight" valign="bottom"><a class="el" href="a00038.html#a63b42d83a9ed13fc6741e0b4388b0e96">difference_type</a></td></tr>
+<tr class="memdesc:a63b42d83a9ed13fc6741e0b4388b0e96"><td class="mdescLeft"> </td><td class="mdescRight">Difference type for iterator. <br/></td></tr>
+<tr class="separator:a63b42d83a9ed13fc6741e0b4388b0e96"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:acbdd1a5bd034358fb0774b322a66b1ed"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acbdd1a5bd034358fb0774b322a66b1ed"></a>
+typedef A </td><td class="memItemRight" valign="bottom"><a class="el" href="a00038.html#acbdd1a5bd034358fb0774b322a66b1ed">allocator_type</a></td></tr>
+<tr class="memdesc:acbdd1a5bd034358fb0774b322a66b1ed"><td class="mdescLeft"> </td><td class="mdescRight">Allocator type. <br/></td></tr>
+<tr class="separator:acbdd1a5bd034358fb0774b322a66b1ed"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ab1361aa7fd454fe593609be740ab8a4c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab1361aa7fd454fe593609be740ab8a4c"></a>
+typedef <br class="typebreak"/>
+internal::concurrent_queue_iterator<br class="typebreak"/>
+< <a class="el" href="a00038.html">concurrent_queue</a>, T > </td><td class="memItemRight" valign="bottom"><b>iterator</b></td></tr>
+<tr class="separator:ab1361aa7fd454fe593609be740ab8a4c"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a674e375edf0a3463ae1cec5d6158593d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a674e375edf0a3463ae1cec5d6158593d"></a>
+typedef <br class="typebreak"/>
+internal::concurrent_queue_iterator<br class="typebreak"/>
+< <a class="el" href="a00038.html">concurrent_queue</a>, const T > </td><td class="memItemRight" valign="bottom"><b>const_iterator</b></td></tr>
+<tr class="separator:a674e375edf0a3463ae1cec5d6158593d"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a49b2e16902577cd3174355be0fa684e5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a49b2e16902577cd3174355be0fa684e5"></a>
+ </td><td class="memItemRight" valign="bottom"><a class="el" href="a00038.html#a49b2e16902577cd3174355be0fa684e5">concurrent_queue</a> (const <a class="el" href="a00038.html#acbdd1a5bd034358fb0774b322a66b1ed">allocator_type</a> &a=<a class="el" href="a00038.html#acbdd1a5bd034358fb0774b322a66b1ed">allocator_type</a>())</td></tr>
+<tr class="memdesc:a49b2e16902577cd3174355be0fa684e5"><td class="mdescLeft"> </td><td class="mdescRight">Construct empty queue. <br/></td></tr>
+<tr class="separator:a49b2e16902577cd3174355be0fa684e5"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a43ac953152e60815c09fe4a4d4a623a9"><td class="memTemplParams" colspan="2"><a class="anchor" id="a43ac953152e60815c09fe4a4d4a623a9"></a>
+template<typename InputIterator > </td></tr>
+<tr class="memitem:a43ac953152e60815c09fe4a4d4a623a9"><td class="memTemplItemLeft" align="right" valign="top"> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00038.html#a43ac953152e60815c09fe4a4d4a623a9">concurrent_queue</a> (InputIterator begin, InputIterator end, const <a class="el" href="a00038.html#acbdd1a5bd034358fb0774b322a66b1ed">allocator_type</a> &a=<a class="el" href="a00038.html#acbdd1a5bd034358fb0774b322a66b1ed">allocator_type</a>())</td></tr>
+<tr class="memdesc:a43ac953152e60815c09fe4a4d4a623a9"><td class="mdescLeft"> </td><td class="mdescRight">[begin,end) constructor <br/></td></tr>
+<tr class="separator:a43ac953152e60815c09fe4a4d4a623a9"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ae918807d098d5d5b41cc6d606fa2e7a1"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae918807d098d5d5b41cc6d606fa2e7a1"></a>
+ </td><td class="memItemRight" valign="bottom"><a class="el" href="a00038.html#ae918807d098d5d5b41cc6d606fa2e7a1">concurrent_queue</a> (const <a class="el" href="a00038.html">concurrent_queue</a> &src, const <a class="el" href="a00038.html#acbdd1a5bd034358fb0774b322a66b1ed">allocator_type</a> &a=<a class="el" href="a00038.html#acbdd1a5bd034358fb0774b322a66b1ed">allocator_type</a>())</td></tr>
+<tr class="memdesc:ae918807d098d5d5b41cc6d606fa2e7a1"><td class="mdescLeft"> </td><td class="mdescRight">Copy constructor. <br/></td></tr>
+<tr class="separator:ae918807d098d5d5b41cc6d606fa2e7a1"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aa0056b242f280f5e25332ce998f9f670"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa0056b242f280f5e25332ce998f9f670"></a>
+ </td><td class="memItemRight" valign="bottom"><a class="el" href="a00038.html#aa0056b242f280f5e25332ce998f9f670">~concurrent_queue</a> ()</td></tr>
+<tr class="memdesc:aa0056b242f280f5e25332ce998f9f670"><td class="mdescLeft"> </td><td class="mdescRight">Destroy queue. <br/></td></tr>
+<tr class="separator:aa0056b242f280f5e25332ce998f9f670"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a9330ca6590980d80ef7b1ea3613a699a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9330ca6590980d80ef7b1ea3613a699a"></a>
+void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00038.html#a9330ca6590980d80ef7b1ea3613a699a">push</a> (const T &source)</td></tr>
+<tr class="memdesc:a9330ca6590980d80ef7b1ea3613a699a"><td class="mdescLeft"> </td><td class="mdescRight">Enqueue an item at tail of queue. <br/></td></tr>
+<tr class="separator:a9330ca6590980d80ef7b1ea3613a699a"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aabb1acef18196fa11ed7db8e046c3943"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00038.html#aabb1acef18196fa11ed7db8e046c3943">try_pop</a> (T &result)</td></tr>
+<tr class="memdesc:aabb1acef18196fa11ed7db8e046c3943"><td class="mdescLeft"> </td><td class="mdescRight">Attempt to dequeue an item from head of queue.  <a href="#aabb1acef18196fa11ed7db8e046c3943">More...</a><br/></td></tr>
+<tr class="separator:aabb1acef18196fa11ed7db8e046c3943"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aad4b253ba595637b0b146eb6565556f2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aad4b253ba595637b0b146eb6565556f2"></a>
+<a class="el" href="a00038.html#a9f883e49afea16293ba92da779981bb8">size_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00038.html#aad4b253ba595637b0b146eb6565556f2">unsafe_size</a> () const </td></tr>
+<tr class="memdesc:aad4b253ba595637b0b146eb6565556f2"><td class="mdescLeft"> </td><td class="mdescRight">Return the number of items in the queue; thread unsafe. <br/></td></tr>
+<tr class="separator:aad4b253ba595637b0b146eb6565556f2"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aeda3156929d0c250faed7b807ca6ab0e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aeda3156929d0c250faed7b807ca6ab0e"></a>
+bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00038.html#aeda3156929d0c250faed7b807ca6ab0e">empty</a> () const </td></tr>
+<tr class="memdesc:aeda3156929d0c250faed7b807ca6ab0e"><td class="mdescLeft"> </td><td class="mdescRight">Equivalent to size()==0. <br/></td></tr>
+<tr class="separator:aeda3156929d0c250faed7b807ca6ab0e"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ad3384818fb6350a494d5ec62445e59ee"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad3384818fb6350a494d5ec62445e59ee"></a>
+void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00038.html#ad3384818fb6350a494d5ec62445e59ee">clear</a> ()</td></tr>
+<tr class="memdesc:ad3384818fb6350a494d5ec62445e59ee"><td class="mdescLeft"> </td><td class="mdescRight">Clear the queue. not thread-safe. <br/></td></tr>
+<tr class="separator:ad3384818fb6350a494d5ec62445e59ee"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a7f2b39f350281590b86db906eca6c480"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7f2b39f350281590b86db906eca6c480"></a>
+<a class="el" href="a00038.html#acbdd1a5bd034358fb0774b322a66b1ed">allocator_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00038.html#a7f2b39f350281590b86db906eca6c480">get_allocator</a> () const </td></tr>
+<tr class="memdesc:a7f2b39f350281590b86db906eca6c480"><td class="mdescLeft"> </td><td class="mdescRight">Return allocator object. <br/></td></tr>
+<tr class="separator:a7f2b39f350281590b86db906eca6c480"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a6658faeae3c10135a553fedadddde239"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6658faeae3c10135a553fedadddde239"></a>
+iterator </td><td class="memItemRight" valign="bottom"><b>unsafe_begin</b> ()</td></tr>
+<tr class="separator:a6658faeae3c10135a553fedadddde239"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aa7593de5e76006ed3adef4d060f0009c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa7593de5e76006ed3adef4d060f0009c"></a>
+iterator </td><td class="memItemRight" valign="bottom"><b>unsafe_end</b> ()</td></tr>
+<tr class="separator:aa7593de5e76006ed3adef4d060f0009c"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a0f84b37020f4267f17c7e91acfc0c446"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0f84b37020f4267f17c7e91acfc0c446"></a>
+const_iterator </td><td class="memItemRight" valign="bottom"><b>unsafe_begin</b> () const </td></tr>
+<tr class="separator:a0f84b37020f4267f17c7e91acfc0c446"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a118a79d7e20cdbd807fa7fccc2a5b848"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a118a79d7e20cdbd807fa7fccc2a5b848"></a>
+const_iterator </td><td class="memItemRight" valign="bottom"><b>unsafe_end</b> () const </td></tr>
+<tr class="separator:a118a79d7e20cdbd807fa7fccc2a5b848"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
+Friends</h2></td></tr>
+<tr class="memitem:a1f5eec0de2e660ea5372d19393f0920b"><td class="memTemplParams" colspan="2"><a class="anchor" id="a1f5eec0de2e660ea5372d19393f0920b"></a>
+template<typename Container , typename Value > </td></tr>
+<tr class="memitem:a1f5eec0de2e660ea5372d19393f0920b"><td class="memTemplItemLeft" align="right" valign="top">class </td><td class="memTemplItemRight" valign="bottom"><b>internal::concurrent_queue_iterator</b></td></tr>
+<tr class="separator:a1f5eec0de2e660ea5372d19393f0920b"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><h3>template<typename T, typename A = cache_aligned_allocator<T>><br/>
+class tbb::strict_ppl::concurrent_queue< T, A ></h3>
+
+<p>A high-performance thread-safe non-blocking concurrent queue. </p>
+<p>Multiple threads may each push and pop concurrently. Assignment construction is not allowed. </p>
+</div><h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="aabb1acef18196fa11ed7db8e046c3943"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T , typename A  = cache_aligned_allocator<T>> </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool <a class="el" href="a00038.html">tbb::strict_ppl::concurrent_queue</a>< T, A >::try_pop </td>
+          <td>(</td>
+          <td class="paramtype">T & </td>
+          <td class="paramname"><em>result</em>)</td><td></td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Attempt to dequeue an item from head of queue. </p>
+<p>Does not wait for item to become available. Returns true if successful; false otherwise. </p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>concurrent_queue.h</li>
+</ul>
+</div><!-- contents -->
+<hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00038.png b/doc/html/a00038.png
new file mode 100644
index 0000000..c7a9a4d
Binary files /dev/null and b/doc/html/a00038.png differ
diff --git a/doc/html/a00039.html b/doc/html/a00039.html
new file mode 100644
index 0000000..77008eb
--- /dev/null
+++ b/doc/html/a00039.html
@@ -0,0 +1,304 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::deprecated::concurrent_queue< T, A > Class Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>deprecated</b></li><li class="navelem"><a class="el" href="a00039.html">concurrent_queue</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-types">Public Types</a> |
+<a href="#pub-methods">Public Member Functions</a> |
+<a href="#friends">Friends</a> |
+<a href="a00307.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::deprecated::concurrent_queue< T, A > Class Template Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>A high-performance thread-safe blocking concurrent bounded queue.  
+ <a href="a00039.html#details">More...</a></p>
+
+<p><code>#include <concurrent_queue.h></code></p>
+<div class="dynheader">
+Inheritance diagram for tbb::deprecated::concurrent_queue< T, A >:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00039.png" usemap="#tbb::deprecated::concurrent_queue< T, A >_map" alt=""/>
+  <map id="tbb::deprecated::concurrent_queue< T, A >_map" name="tbb::deprecated::concurrent_queue< T, A >_map">
+<area href="a00034.html" title="A high-performance thread-safe blocking concurrent bounded queue. " alt="tbb::concurrent_bounded_queue< T, A >" shape="rect" coords="0,56,257,80"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:a112f9c42f53dffaa9c40476b3c9f0163"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a112f9c42f53dffaa9c40476b3c9f0163"></a>
+typedef <br class="typebreak"/>
+<a class="el" href="a00034.html">concurrent_bounded_queue</a>< T, A ><br class="typebreak"/>
+::iterator </td><td class="memItemRight" valign="bottom"><b>iterator</b></td></tr>
+<tr class="separator:a112f9c42f53dffaa9c40476b3c9f0163"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ada4cdd6e903dd46e3788c9d8feaba85d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ada4cdd6e903dd46e3788c9d8feaba85d"></a>
+typedef <br class="typebreak"/>
+<a class="el" href="a00034.html">concurrent_bounded_queue</a>< T, A ><br class="typebreak"/>
+::const_iterator </td><td class="memItemRight" valign="bottom"><b>const_iterator</b></td></tr>
+<tr class="separator:ada4cdd6e903dd46e3788c9d8feaba85d"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="inherit_header pub_types_a00034"><td colspan="2" onclick="javascript:toggleInherit('pub_types_a00034')"><img src="closed.png" alt="-"/> Public Types inherited from <a class="el" href="a00034.html">tbb::concurrent_bounded_queue< T, A ></a></td></tr>
+<tr class="memitem:a6eb564625fef03dd9a5881d5d4e52f9f inherit pub_types_a00034"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6eb564625fef03dd9a5881d5d4e52f9f"></a>
+typedef T </td><td class="memItemRight" valign="bottom"><a class="el" href="a00034.html#a6eb564625fef03dd9a5881d5d4e52f9f">value_type</a></td></tr>
+<tr class="memdesc:a6eb564625fef03dd9a5881d5d4e52f9f inherit pub_types_a00034"><td class="mdescLeft"> </td><td class="mdescRight">Element type in the queue. <br/></td></tr>
+<tr class="separator:a6eb564625fef03dd9a5881d5d4e52f9f inherit pub_types_a00034"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:acbfceb845de1c770e2b56409f09b0364 inherit pub_types_a00034"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acbfceb845de1c770e2b56409f09b0364"></a>
+typedef A </td><td class="memItemRight" valign="bottom"><a class="el" href="a00034.html#acbfceb845de1c770e2b56409f09b0364">allocator_type</a></td></tr>
+<tr class="memdesc:acbfceb845de1c770e2b56409f09b0364 inherit pub_types_a00034"><td class="mdescLeft"> </td><td class="mdescRight">Allocator type. <br/></td></tr>
+<tr class="separator:acbfceb845de1c770e2b56409f09b0364 inherit pub_types_a00034"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a5fa4002bcd265d9d3ed305e3b686f1da inherit pub_types_a00034"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5fa4002bcd265d9d3ed305e3b686f1da"></a>
+typedef T & </td><td class="memItemRight" valign="bottom"><a class="el" href="a00034.html#a5fa4002bcd265d9d3ed305e3b686f1da">reference</a></td></tr>
+<tr class="memdesc:a5fa4002bcd265d9d3ed305e3b686f1da inherit pub_types_a00034"><td class="mdescLeft"> </td><td class="mdescRight">Reference type. <br/></td></tr>
+<tr class="separator:a5fa4002bcd265d9d3ed305e3b686f1da inherit pub_types_a00034"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:af838e520ce0db2c22369748c019b11cb inherit pub_types_a00034"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af838e520ce0db2c22369748c019b11cb"></a>
+typedef const T & </td><td class="memItemRight" valign="bottom"><a class="el" href="a00034.html#af838e520ce0db2c22369748c019b11cb">const_reference</a></td></tr>
+<tr class="memdesc:af838e520ce0db2c22369748c019b11cb inherit pub_types_a00034"><td class="mdescLeft"> </td><td class="mdescRight">Const reference type. <br/></td></tr>
+<tr class="separator:af838e520ce0db2c22369748c019b11cb inherit pub_types_a00034"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ae73fa352d781bdb9d01bfb77f2a8bc28 inherit pub_types_a00034"><td class="memItemLeft" align="right" valign="top">typedef std::ptrdiff_t </td><td class="memItemRight" valign="bottom"><a class="el" href="a00034.html#ae73fa352d781bdb9d01bfb77f2a8bc28">size_type</a></td></tr>
+<tr class="memdesc:ae73fa352d781bdb9d01bfb77f2a8bc28 inherit pub_types_a00034"><td class="mdescLeft"> </td><td class="mdescRight">Integral type for representing size of the queue.  <a href="#ae73fa352d781bdb9d01bfb77f2a8bc28">More...</a><br/></td></tr>
+<tr class="separator:ae73fa352d781bdb9d01bfb77f2a8bc28 inherit pub_types_a00034"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a72725361e050c5a981035a20ef1b773e inherit pub_types_a00034"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a72725361e050c5a981035a20ef1b773e"></a>
+typedef std::ptrdiff_t </td><td class="memItemRight" valign="bottom"><a class="el" href="a00034.html#a72725361e050c5a981035a20ef1b773e">difference_type</a></td></tr>
+<tr class="memdesc:a72725361e050c5a981035a20ef1b773e inherit pub_types_a00034"><td class="mdescLeft"> </td><td class="mdescRight">Difference type for iterator. <br/></td></tr>
+<tr class="separator:a72725361e050c5a981035a20ef1b773e inherit pub_types_a00034"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a42dfb71b1e4bdc0da3c1217d0d40ddd5 inherit pub_types_a00034"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a42dfb71b1e4bdc0da3c1217d0d40ddd5"></a>
+typedef <br class="typebreak"/>
+internal::concurrent_queue_iterator<br class="typebreak"/>
+< <a class="el" href="a00034.html">concurrent_bounded_queue</a>, T > </td><td class="memItemRight" valign="bottom"><b>iterator</b></td></tr>
+<tr class="separator:a42dfb71b1e4bdc0da3c1217d0d40ddd5 inherit pub_types_a00034"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a18049841284051e18b854692bd04602c inherit pub_types_a00034"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a18049841284051e18b854692bd04602c"></a>
+typedef <br class="typebreak"/>
+internal::concurrent_queue_iterator<br class="typebreak"/>
+< <a class="el" href="a00034.html">concurrent_bounded_queue</a>, <br class="typebreak"/>
+const T > </td><td class="memItemRight" valign="bottom"><b>const_iterator</b></td></tr>
+<tr class="separator:a18049841284051e18b854692bd04602c inherit pub_types_a00034"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:adc192aba16ef123aebbc4ada0fb53708"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adc192aba16ef123aebbc4ada0fb53708"></a>
+ </td><td class="memItemRight" valign="bottom"><a class="el" href="a00039.html#adc192aba16ef123aebbc4ada0fb53708">concurrent_queue</a> (const A &a=A())</td></tr>
+<tr class="memdesc:adc192aba16ef123aebbc4ada0fb53708"><td class="mdescLeft"> </td><td class="mdescRight">Construct empty queue. <br/></td></tr>
+<tr class="separator:adc192aba16ef123aebbc4ada0fb53708"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aa7d1fb274d89c0109fa72d9d87ed329d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa7d1fb274d89c0109fa72d9d87ed329d"></a>
+ </td><td class="memItemRight" valign="bottom"><a class="el" href="a00039.html#aa7d1fb274d89c0109fa72d9d87ed329d">concurrent_queue</a> (const <a class="el" href="a00039.html">concurrent_queue</a> &src, const A &a=A())</td></tr>
+<tr class="memdesc:aa7d1fb274d89c0109fa72d9d87ed329d"><td class="mdescLeft"> </td><td class="mdescRight">Copy constructor. <br/></td></tr>
+<tr class="separator:aa7d1fb274d89c0109fa72d9d87ed329d"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a93a2e58af05f73a763cc23c32d4de010"><td class="memTemplParams" colspan="2"><a class="anchor" id="a93a2e58af05f73a763cc23c32d4de010"></a>
+template<typename InputIterator > </td></tr>
+<tr class="memitem:a93a2e58af05f73a763cc23c32d4de010"><td class="memTemplItemLeft" align="right" valign="top"> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00039.html#a93a2e58af05f73a763cc23c32d4de010">concurrent_queue</a> (InputIterator b, InputIterator e, const A &a=A())</td></tr>
+<tr class="memdesc:a93a2e58af05f73a763cc23c32d4de010"><td class="mdescLeft"> </td><td class="mdescRight">[begin,end) constructor <br/></td></tr>
+<tr class="separator:a93a2e58af05f73a763cc23c32d4de010"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a129cde9f5f101ddd623619c838be07f3"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00039.html#a129cde9f5f101ddd623619c838be07f3">push_if_not_full</a> (const T &source)</td></tr>
+<tr class="memdesc:a129cde9f5f101ddd623619c838be07f3"><td class="mdescLeft"> </td><td class="mdescRight">Enqueue an item at tail of queue if queue is not already full.  <a href="#a129cde9f5f101ddd623619c838be07f3">More...</a><br/></td></tr>
+<tr class="separator:a129cde9f5f101ddd623619c838be07f3"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a8d6825341ca673ea316202474a021174"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00039.html#a8d6825341ca673ea316202474a021174">pop_if_present</a> (T &destination)</td></tr>
+<tr class="memdesc:a8d6825341ca673ea316202474a021174"><td class="mdescLeft"> </td><td class="mdescRight">Attempt to dequeue an item from head of queue.  <a href="#a8d6825341ca673ea316202474a021174">More...</a><br/></td></tr>
+<tr class="separator:a8d6825341ca673ea316202474a021174"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ad648858b6ba8bd3b4ad8f886de855c42"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad648858b6ba8bd3b4ad8f886de855c42"></a>
+iterator </td><td class="memItemRight" valign="bottom"><b>begin</b> ()</td></tr>
+<tr class="separator:ad648858b6ba8bd3b4ad8f886de855c42"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a6539cec6179a0f51ad78d69aed406b86"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6539cec6179a0f51ad78d69aed406b86"></a>
+iterator </td><td class="memItemRight" valign="bottom"><b>end</b> ()</td></tr>
+<tr class="separator:a6539cec6179a0f51ad78d69aed406b86"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a171c35afe03799768bd08ab6bfe438d5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a171c35afe03799768bd08ab6bfe438d5"></a>
+const_iterator </td><td class="memItemRight" valign="bottom"><b>begin</b> () const </td></tr>
+<tr class="separator:a171c35afe03799768bd08ab6bfe438d5"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aec0ba8d8052b1669468ea5bb7345927c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aec0ba8d8052b1669468ea5bb7345927c"></a>
+const_iterator </td><td class="memItemRight" valign="bottom"><b>end</b> () const </td></tr>
+<tr class="separator:aec0ba8d8052b1669468ea5bb7345927c"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="inherit_header pub_methods_a00034"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00034')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="a00034.html">tbb::concurrent_bounded_queue< T, A ></a></td></tr>
+<tr class="memitem:a85f8a800cae02b601f36ad7a655a0126 inherit pub_methods_a00034"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a85f8a800cae02b601f36ad7a655a0126"></a>
+ </td><td class="memItemRight" valign="bottom"><a class="el" href="a00034.html#a85f8a800cae02b601f36ad7a655a0126">concurrent_bounded_queue</a> (const <a class="el" href="a00034.html#acbfceb845de1c770e2b56409f09b0364">allocator_type</a> &a=<a class="el" href="a00034.html#acbfceb845de1c770e2b56409f09b0364">allocator_type</a>())</td></tr>
+<tr class="memdesc:a85f8a800cae02b601f36ad7a655a0126 inherit pub_methods_a00034"><td class="mdescLeft"> </td><td class="mdescRight">Construct empty queue. <br/></td></tr>
+<tr class="separator:a85f8a800cae02b601f36ad7a655a0126 inherit pub_methods_a00034"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aad6fd2353d64c2c31d074cd99df58c02 inherit pub_methods_a00034"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aad6fd2353d64c2c31d074cd99df58c02"></a>
+ </td><td class="memItemRight" valign="bottom"><a class="el" href="a00034.html#aad6fd2353d64c2c31d074cd99df58c02">concurrent_bounded_queue</a> (const <a class="el" href="a00034.html">concurrent_bounded_queue</a> &src, const <a class="el" href="a00034.html#acbfceb845de1c770e2b56409f09b0364">allocator_type</a> &a=<a class="el" href="a00034.html#acbfceb845de1c770e2b56409f09b0364">allocator_type</a>())</td></tr>
+<tr class="memdesc:aad6fd2353d64c2c31d074cd99df58c02 inherit pub_methods_a00034"><td class="mdescLeft"> </td><td class="mdescRight">Copy constructor. <br/></td></tr>
+<tr class="separator:aad6fd2353d64c2c31d074cd99df58c02 inherit pub_methods_a00034"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:afcfdc998e106fdb7b2dfa5df880cd9cf inherit pub_methods_a00034"><td class="memTemplParams" colspan="2"><a class="anchor" id="afcfdc998e106fdb7b2dfa5df880cd9cf"></a>
+template<typename InputIterator > </td></tr>
+<tr class="memitem:afcfdc998e106fdb7b2dfa5df880cd9cf inherit pub_methods_a00034"><td class="memTemplItemLeft" align="right" valign="top"> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00034.html#afcfdc998e106fdb7b2dfa5df880cd9cf">concurrent_bounded_queue</a> (InputIterator begin, InputIterator end, const <a class="el" href="a00034.html#acbfceb845de1c770e2b56409f09b0364">allocator_type</a> &a=<a class="el" href="a00034.html#acbfceb845de1c770e2b56409f09b0 [...]
+<tr class="memdesc:afcfdc998e106fdb7b2dfa5df880cd9cf inherit pub_methods_a00034"><td class="mdescLeft"> </td><td class="mdescRight">[begin,end) constructor <br/></td></tr>
+<tr class="separator:afcfdc998e106fdb7b2dfa5df880cd9cf inherit pub_methods_a00034"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ab1291bf6837ecfb8836c24dde5dd80b5 inherit pub_methods_a00034"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab1291bf6837ecfb8836c24dde5dd80b5"></a>
+ </td><td class="memItemRight" valign="bottom"><a class="el" href="a00034.html#ab1291bf6837ecfb8836c24dde5dd80b5">~concurrent_bounded_queue</a> ()</td></tr>
+<tr class="memdesc:ab1291bf6837ecfb8836c24dde5dd80b5 inherit pub_methods_a00034"><td class="mdescLeft"> </td><td class="mdescRight">Destroy queue. <br/></td></tr>
+<tr class="separator:ab1291bf6837ecfb8836c24dde5dd80b5 inherit pub_methods_a00034"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ae5e9051772bbc93b2ccb8fd0a98a21f5 inherit pub_methods_a00034"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae5e9051772bbc93b2ccb8fd0a98a21f5"></a>
+void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00034.html#ae5e9051772bbc93b2ccb8fd0a98a21f5">push</a> (const T &source)</td></tr>
+<tr class="memdesc:ae5e9051772bbc93b2ccb8fd0a98a21f5 inherit pub_methods_a00034"><td class="mdescLeft"> </td><td class="mdescRight">Enqueue an item at tail of queue. <br/></td></tr>
+<tr class="separator:ae5e9051772bbc93b2ccb8fd0a98a21f5 inherit pub_methods_a00034"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a87926c31967a918ce80690a9ed5d6fa8 inherit pub_methods_a00034"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00034.html#a87926c31967a918ce80690a9ed5d6fa8">pop</a> (T &destination)</td></tr>
+<tr class="memdesc:a87926c31967a918ce80690a9ed5d6fa8 inherit pub_methods_a00034"><td class="mdescLeft"> </td><td class="mdescRight">Dequeue item from head of queue.  <a href="#a87926c31967a918ce80690a9ed5d6fa8">More...</a><br/></td></tr>
+<tr class="separator:a87926c31967a918ce80690a9ed5d6fa8 inherit pub_methods_a00034"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a77a755d94cabf5208905d10d5b57419c inherit pub_methods_a00034"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a77a755d94cabf5208905d10d5b57419c"></a>
+void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00034.html#a77a755d94cabf5208905d10d5b57419c">abort</a> ()</td></tr>
+<tr class="memdesc:a77a755d94cabf5208905d10d5b57419c inherit pub_methods_a00034"><td class="mdescLeft"> </td><td class="mdescRight">Abort all pending queue operations. <br/></td></tr>
+<tr class="separator:a77a755d94cabf5208905d10d5b57419c inherit pub_methods_a00034"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a03d93a240841a21788396bebd71c51bd inherit pub_methods_a00034"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00034.html#a03d93a240841a21788396bebd71c51bd">try_push</a> (const T &source)</td></tr>
+<tr class="memdesc:a03d93a240841a21788396bebd71c51bd inherit pub_methods_a00034"><td class="mdescLeft"> </td><td class="mdescRight">Enqueue an item at tail of queue if queue is not already full.  <a href="#a03d93a240841a21788396bebd71c51bd">More...</a><br/></td></tr>
+<tr class="separator:a03d93a240841a21788396bebd71c51bd inherit pub_methods_a00034"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a3086cb4dcdeee245ef5cf34f72fb3e10 inherit pub_methods_a00034"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00034.html#a3086cb4dcdeee245ef5cf34f72fb3e10">try_pop</a> (T &destination)</td></tr>
+<tr class="memdesc:a3086cb4dcdeee245ef5cf34f72fb3e10 inherit pub_methods_a00034"><td class="mdescLeft"> </td><td class="mdescRight">Attempt to dequeue an item from head of queue.  <a href="#a3086cb4dcdeee245ef5cf34f72fb3e10">More...</a><br/></td></tr>
+<tr class="separator:a3086cb4dcdeee245ef5cf34f72fb3e10 inherit pub_methods_a00034"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a9d6c20fd8c193c12b6a7b0c3101fd966 inherit pub_methods_a00034"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00034.html#ae73fa352d781bdb9d01bfb77f2a8bc28">size_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00034.html#a9d6c20fd8c193c12b6a7b0c3101fd966">size</a> () const </td></tr>
+<tr class="memdesc:a9d6c20fd8c193c12b6a7b0c3101fd966 inherit pub_methods_a00034"><td class="mdescLeft"> </td><td class="mdescRight">Return number of pushes minus number of pops.  <a href="#a9d6c20fd8c193c12b6a7b0c3101fd966">More...</a><br/></td></tr>
+<tr class="separator:a9d6c20fd8c193c12b6a7b0c3101fd966 inherit pub_methods_a00034"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a8c59578f28c5fb4718b0eff43776e879 inherit pub_methods_a00034"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8c59578f28c5fb4718b0eff43776e879"></a>
+bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00034.html#a8c59578f28c5fb4718b0eff43776e879">empty</a> () const </td></tr>
+<tr class="memdesc:a8c59578f28c5fb4718b0eff43776e879 inherit pub_methods_a00034"><td class="mdescLeft"> </td><td class="mdescRight">Equivalent to <a class="el" href="a00034.html#a9d6c20fd8c193c12b6a7b0c3101fd966" title="Return number of pushes minus number of pops. ">size()</a><=0. <br/></td></tr>
+<tr class="separator:a8c59578f28c5fb4718b0eff43776e879 inherit pub_methods_a00034"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a526487063242569685af8c8d778d39e0 inherit pub_methods_a00034"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a526487063242569685af8c8d778d39e0"></a>
+<a class="el" href="a00034.html#ae73fa352d781bdb9d01bfb77f2a8bc28">size_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00034.html#a526487063242569685af8c8d778d39e0">capacity</a> () const </td></tr>
+<tr class="memdesc:a526487063242569685af8c8d778d39e0 inherit pub_methods_a00034"><td class="mdescLeft"> </td><td class="mdescRight">Maximum number of allowed elements. <br/></td></tr>
+<tr class="separator:a526487063242569685af8c8d778d39e0 inherit pub_methods_a00034"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a768699675813575eec08c1f43afda395 inherit pub_methods_a00034"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00034.html#a768699675813575eec08c1f43afda395">set_capacity</a> (<a class="el" href="a00034.html#ae73fa352d781bdb9d01bfb77f2a8bc28">size_type</a> new_capacity)</td></tr>
+<tr class="memdesc:a768699675813575eec08c1f43afda395 inherit pub_methods_a00034"><td class="mdescLeft"> </td><td class="mdescRight">Set the capacity.  <a href="#a768699675813575eec08c1f43afda395">More...</a><br/></td></tr>
+<tr class="separator:a768699675813575eec08c1f43afda395 inherit pub_methods_a00034"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aaeba11bbcd368a7a3a6e6e2dd3082c9c inherit pub_methods_a00034"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aaeba11bbcd368a7a3a6e6e2dd3082c9c"></a>
+<a class="el" href="a00034.html#acbfceb845de1c770e2b56409f09b0364">allocator_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00034.html#aaeba11bbcd368a7a3a6e6e2dd3082c9c">get_allocator</a> () const </td></tr>
+<tr class="memdesc:aaeba11bbcd368a7a3a6e6e2dd3082c9c inherit pub_methods_a00034"><td class="mdescLeft"> </td><td class="mdescRight">return allocator object <br/></td></tr>
+<tr class="separator:aaeba11bbcd368a7a3a6e6e2dd3082c9c inherit pub_methods_a00034"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a246be3920e079ea4847933f106baa98f inherit pub_methods_a00034"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a246be3920e079ea4847933f106baa98f"></a>
+void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00034.html#a246be3920e079ea4847933f106baa98f">clear</a> ()</td></tr>
+<tr class="memdesc:a246be3920e079ea4847933f106baa98f inherit pub_methods_a00034"><td class="mdescLeft"> </td><td class="mdescRight">clear the queue. not thread-safe. <br/></td></tr>
+<tr class="separator:a246be3920e079ea4847933f106baa98f inherit pub_methods_a00034"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ac0c931eaa1ddc30025e49d06cc383703 inherit pub_methods_a00034"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac0c931eaa1ddc30025e49d06cc383703"></a>
+iterator </td><td class="memItemRight" valign="bottom"><b>unsafe_begin</b> ()</td></tr>
+<tr class="separator:ac0c931eaa1ddc30025e49d06cc383703 inherit pub_methods_a00034"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a634cece9742cbaba56ba6f7777568e4c inherit pub_methods_a00034"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a634cece9742cbaba56ba6f7777568e4c"></a>
+iterator </td><td class="memItemRight" valign="bottom"><b>unsafe_end</b> ()</td></tr>
+<tr class="separator:a634cece9742cbaba56ba6f7777568e4c inherit pub_methods_a00034"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a2ed2f8130fd679e89327cb292fb25510 inherit pub_methods_a00034"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2ed2f8130fd679e89327cb292fb25510"></a>
+const_iterator </td><td class="memItemRight" valign="bottom"><b>unsafe_begin</b> () const </td></tr>
+<tr class="separator:a2ed2f8130fd679e89327cb292fb25510 inherit pub_methods_a00034"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a873d62f59fd79959c0204f5fb44c774d inherit pub_methods_a00034"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a873d62f59fd79959c0204f5fb44c774d"></a>
+const_iterator </td><td class="memItemRight" valign="bottom"><b>unsafe_end</b> () const </td></tr>
+<tr class="separator:a873d62f59fd79959c0204f5fb44c774d inherit pub_methods_a00034"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
+Friends</h2></td></tr>
+<tr class="memitem:a1f5eec0de2e660ea5372d19393f0920b"><td class="memTemplParams" colspan="2"><a class="anchor" id="a1f5eec0de2e660ea5372d19393f0920b"></a>
+template<typename Container , typename Value > </td></tr>
+<tr class="memitem:a1f5eec0de2e660ea5372d19393f0920b"><td class="memTemplItemLeft" align="right" valign="top">class </td><td class="memTemplItemRight" valign="bottom"><b>internal::concurrent_queue_iterator</b></td></tr>
+<tr class="separator:a1f5eec0de2e660ea5372d19393f0920b"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><h3>template<typename T, class A = cache_aligned_allocator<T>><br/>
+class tbb::deprecated::concurrent_queue< T, A ></h3>
+
+<p>A high-performance thread-safe blocking concurrent bounded queue. </p>
+<p>This is the pre-PPL TBB concurrent queue which support boundedness and blocking semantics. Note that method names agree with the PPL-style concurrent queue. Multiple threads may each push and pop concurrently. Assignment construction is not allowed. </p>
+</div><h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="a8d6825341ca673ea316202474a021174"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T , class A  = cache_aligned_allocator<T>> </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool <a class="el" href="a00039.html">tbb::deprecated::concurrent_queue</a>< T, A >::pop_if_present </td>
+          <td>(</td>
+          <td class="paramtype">T & </td>
+          <td class="paramname"><em>destination</em>)</td><td></td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Attempt to dequeue an item from head of queue. </p>
+<p>Does not wait for item to become available. Returns true if successful; false otherwise. </p>
+<dl class="deprecated"><dt><b><a class="el" href="a00240.html#_deprecated000001">Deprecated:</a></b></dt><dd>Use <a class="el" href="a00034.html#a3086cb4dcdeee245ef5cf34f72fb3e10" title="Attempt to dequeue an item from head of queue. ">try_pop()</a> </dd></dl>
+
+<p>References <a class="el" href="a00034.html#a3086cb4dcdeee245ef5cf34f72fb3e10">tbb::concurrent_bounded_queue< T, A >::try_pop()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a129cde9f5f101ddd623619c838be07f3"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T , class A  = cache_aligned_allocator<T>> </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool <a class="el" href="a00039.html">tbb::deprecated::concurrent_queue</a>< T, A >::push_if_not_full </td>
+          <td>(</td>
+          <td class="paramtype">const T & </td>
+          <td class="paramname"><em>source</em>)</td><td></td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Enqueue an item at tail of queue if queue is not already full. </p>
+<p>Does not wait for queue to become not full. Returns true if item is pushed; false if queue was already full. </p>
+
+<p>References <a class="el" href="a00034.html#a03d93a240841a21788396bebd71c51bd">tbb::concurrent_bounded_queue< T, A >::try_push()</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>concurrent_queue.h</li>
+</ul>
+</div><!-- contents -->
+<hr>
+<p></p>
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
+<p></p>
+Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
+registered trademarks or trademarks of Intel Corporation or its
+subsidiaries in the United States and other countries.
+<p></p>
+* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00039.png b/doc/html/a00039.png
new file mode 100644
index 0000000..7228766
Binary files /dev/null and b/doc/html/a00039.png differ
diff --git a/doc/html/a00040.html b/doc/html/a00040.html
new file mode 100644
index 0000000..00adb8e
--- /dev/null
+++ b/doc/html/a00040.html
@@ -0,0 +1,180 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator > Class Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>interface5</b></li><li class="navelem"><a class="el" href="a00040.html">concurrent_unordered_map</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-types">Public Types</a> |
+<a href="#pub-methods">Public Member Functions</a> |
+<a href="a00342.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator > Class Template Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="dynheader">
+Inheritance diagram for tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator >:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00040.png" usemap="#tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator >_map" alt=""/>
+  <map id="tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator >_map" name="tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator >_map">
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:a35d2ace709769b7059e8f8b2a144f8b9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a35d2ace709769b7059e8f8b2a144f8b9"></a>
+typedef Key </td><td class="memItemRight" valign="bottom"><b>key_type</b></td></tr>
+<tr class="separator:a35d2ace709769b7059e8f8b2a144f8b9"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a9260034417dde6b3810347c5e347a9f8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9260034417dde6b3810347c5e347a9f8"></a>
+typedef base_type::value_type </td><td class="memItemRight" valign="bottom"><b>value_type</b></td></tr>
+<tr class="separator:a9260034417dde6b3810347c5e347a9f8"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a8ece8ff3de51bc415d8fc1338f793cbf"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8ece8ff3de51bc415d8fc1338f793cbf"></a>
+typedef T </td><td class="memItemRight" valign="bottom"><b>mapped_type</b></td></tr>
+<tr class="separator:a8ece8ff3de51bc415d8fc1338f793cbf"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:afeef87b046af352e20cd92e56c0fcf34"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afeef87b046af352e20cd92e56c0fcf34"></a>
+typedef Hasher </td><td class="memItemRight" valign="bottom"><b>hasher</b></td></tr>
+<tr class="separator:afeef87b046af352e20cd92e56c0fcf34"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a21f5f2fbf3b1f721051c6b4c5fa2a735"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a21f5f2fbf3b1f721051c6b4c5fa2a735"></a>
+typedef Key_equality </td><td class="memItemRight" valign="bottom"><b>key_equal</b></td></tr>
+<tr class="separator:a21f5f2fbf3b1f721051c6b4c5fa2a735"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aa15c94df26d89ef38daa7516df5e0729"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa15c94df26d89ef38daa7516df5e0729"></a>
+typedef hash_compare </td><td class="memItemRight" valign="bottom"><b>key_compare</b></td></tr>
+<tr class="separator:aa15c94df26d89ef38daa7516df5e0729"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a1acd4ab50584a9dc55712e0e113583e2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1acd4ab50584a9dc55712e0e113583e2"></a>
+typedef base_type::allocator_type </td><td class="memItemRight" valign="bottom"><b>allocator_type</b></td></tr>
+<tr class="separator:a1acd4ab50584a9dc55712e0e113583e2"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a7e29fb2f75cdec0746afdbed0b9c5451"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7e29fb2f75cdec0746afdbed0b9c5451"></a>
+typedef base_type::pointer </td><td class="memItemRight" valign="bottom"><b>pointer</b></td></tr>
+<tr class="separator:a7e29fb2f75cdec0746afdbed0b9c5451"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ab5d26f7002e7810e4c02890a1d7bdc41"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab5d26f7002e7810e4c02890a1d7bdc41"></a>
+typedef base_type::const_pointer </td><td class="memItemRight" valign="bottom"><b>const_pointer</b></td></tr>
+<tr class="separator:ab5d26f7002e7810e4c02890a1d7bdc41"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a01e118e1e0bfe57083d8f76f4f848d2b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a01e118e1e0bfe57083d8f76f4f848d2b"></a>
+typedef base_type::reference </td><td class="memItemRight" valign="bottom"><b>reference</b></td></tr>
+<tr class="separator:a01e118e1e0bfe57083d8f76f4f848d2b"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ad1072935f6765abe3ec1b04f24f80deb"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad1072935f6765abe3ec1b04f24f80deb"></a>
+typedef base_type::const_reference </td><td class="memItemRight" valign="bottom"><b>const_reference</b></td></tr>
+<tr class="separator:ad1072935f6765abe3ec1b04f24f80deb"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ae31360122b604d6735b12fc027f10924"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae31360122b604d6735b12fc027f10924"></a>
+typedef base_type::size_type </td><td class="memItemRight" valign="bottom"><b>size_type</b></td></tr>
+<tr class="separator:ae31360122b604d6735b12fc027f10924"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a0f903f0ca898b0aa80e3a6b921b8f21a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0f903f0ca898b0aa80e3a6b921b8f21a"></a>
+typedef base_type::difference_type </td><td class="memItemRight" valign="bottom"><b>difference_type</b></td></tr>
+<tr class="separator:a0f903f0ca898b0aa80e3a6b921b8f21a"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a267aff808d10aa0c437fd9261286467e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a267aff808d10aa0c437fd9261286467e"></a>
+typedef base_type::iterator </td><td class="memItemRight" valign="bottom"><b>iterator</b></td></tr>
+<tr class="separator:a267aff808d10aa0c437fd9261286467e"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a5c2d1a61d1e6ed09fb3df14270d61a01"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5c2d1a61d1e6ed09fb3df14270d61a01"></a>
+typedef base_type::const_iterator </td><td class="memItemRight" valign="bottom"><b>const_iterator</b></td></tr>
+<tr class="separator:a5c2d1a61d1e6ed09fb3df14270d61a01"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a744c0cf93efb5a134d6ddfb3a5fb75d3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a744c0cf93efb5a134d6ddfb3a5fb75d3"></a>
+typedef base_type::iterator </td><td class="memItemRight" valign="bottom"><b>local_iterator</b></td></tr>
+<tr class="separator:a744c0cf93efb5a134d6ddfb3a5fb75d3"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a5df36261f0e5a1aea64235702fdacb62"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5df36261f0e5a1aea64235702fdacb62"></a>
+typedef base_type::const_iterator </td><td class="memItemRight" valign="bottom"><b>const_local_iterator</b></td></tr>
+<tr class="separator:a5df36261f0e5a1aea64235702fdacb62"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a067ba3dc60d4701c92476437f2d57861"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a067ba3dc60d4701c92476437f2d57861"></a>
+ </td><td class="memItemRight" valign="bottom"><b>concurrent_unordered_map</b> (size_type n_of_buckets=8, const hasher &_Hasher=hasher(), const key_equal &_Key_equality=key_equal(), const allocator_type &a=allocator_type())</td></tr>
+<tr class="separator:a067ba3dc60d4701c92476437f2d57861"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ad0e15127e237c29c923db83fb509f624"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad0e15127e237c29c923db83fb509f624"></a>
+ </td><td class="memItemRight" valign="bottom"><b>concurrent_unordered_map</b> (const Allocator &a)</td></tr>
+<tr class="separator:ad0e15127e237c29c923db83fb509f624"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ade184bd00a3092e670fbb4ba912bedaa"><td class="memTemplParams" colspan="2"><a class="anchor" id="ade184bd00a3092e670fbb4ba912bedaa"></a>
+template<typename Iterator > </td></tr>
+<tr class="memitem:ade184bd00a3092e670fbb4ba912bedaa"><td class="memTemplItemLeft" align="right" valign="top"> </td><td class="memTemplItemRight" valign="bottom"><b>concurrent_unordered_map</b> (Iterator first, Iterator last, size_type n_of_buckets=8, const hasher &_Hasher=hasher(), const key_equal &_Key_equality=key_equal(), const allocator_type &a=allocator_type())</td></tr>
+<tr class="separator:ade184bd00a3092e670fbb4ba912bedaa"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aa45010d834cc5e082321b49fec06f73d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa45010d834cc5e082321b49fec06f73d"></a>
+ </td><td class="memItemRight" valign="bottom"><a class="el" href="a00040.html#aa45010d834cc5e082321b49fec06f73d">concurrent_unordered_map</a> (std::initializer_list< value_type > const &il, size_type n_of_buckets=8, const hasher &_Hasher=hasher(), const key_equal &_Key_equality=key_equal(), const allocator_type &a=allocator_type())</td></tr>
+<tr class="memdesc:aa45010d834cc5e082321b49fec06f73d"><td class="mdescLeft"> </td><td class="mdescRight">Constructor from initializer_list. <br/></td></tr>
+<tr class="separator:aa45010d834cc5e082321b49fec06f73d"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a1593b0f93256736d163cfbcc23c7de26"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1593b0f93256736d163cfbcc23c7de26"></a>
+ </td><td class="memItemRight" valign="bottom"><b>concurrent_unordered_map</b> (const <a class="el" href="a00040.html">concurrent_unordered_map</a> &table)</td></tr>
+<tr class="separator:a1593b0f93256736d163cfbcc23c7de26"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a2e1cce13f9fa458a616b424c84790c25"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2e1cce13f9fa458a616b424c84790c25"></a>
+ </td><td class="memItemRight" valign="bottom"><b>concurrent_unordered_map</b> (const <a class="el" href="a00040.html">concurrent_unordered_map</a> &table, const Allocator &a)</td></tr>
+<tr class="separator:a2e1cce13f9fa458a616b424c84790c25"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a47b4eec40fac7fb8b6a8023758c1a34c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a47b4eec40fac7fb8b6a8023758c1a34c"></a>
+<a class="el" href="a00040.html">concurrent_unordered_map</a> & </td><td class="memItemRight" valign="bottom"><b>operator=</b> (const <a class="el" href="a00040.html">concurrent_unordered_map</a> &table)</td></tr>
+<tr class="separator:a47b4eec40fac7fb8b6a8023758c1a34c"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ad641e7a34077b6a490625da4858b509a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad641e7a34077b6a490625da4858b509a"></a>
+<a class="el" href="a00040.html">concurrent_unordered_map</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="a00040.html#ad641e7a34077b6a490625da4858b509a">operator=</a> (std::initializer_list< value_type > const &il)</td></tr>
+<tr class="memdesc:ad641e7a34077b6a490625da4858b509a"><td class="mdescLeft"> </td><td class="mdescRight">assignment operator from initializer_list <br/></td></tr>
+<tr class="separator:ad641e7a34077b6a490625da4858b509a"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a7dfd40414bc9dd5b6bfdc79ae02d96c4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7dfd40414bc9dd5b6bfdc79ae02d96c4"></a>
+iterator </td><td class="memItemRight" valign="bottom"><b>unsafe_erase</b> (const_iterator where)</td></tr>
+<tr class="separator:a7dfd40414bc9dd5b6bfdc79ae02d96c4"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ab3d6536a7739b09fe9ee013026cdf8fe"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab3d6536a7739b09fe9ee013026cdf8fe"></a>
+size_type </td><td class="memItemRight" valign="bottom"><b>unsafe_erase</b> (const key_type &key)</td></tr>
+<tr class="separator:ab3d6536a7739b09fe9ee013026cdf8fe"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aa372bc29e1a2edb63286193c846db726"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa372bc29e1a2edb63286193c846db726"></a>
+iterator </td><td class="memItemRight" valign="bottom"><b>unsafe_erase</b> (const_iterator first, const_iterator last)</td></tr>
+<tr class="separator:aa372bc29e1a2edb63286193c846db726"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aac713ca5a9715b6d32e889ab452becab"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aac713ca5a9715b6d32e889ab452becab"></a>
+void </td><td class="memItemRight" valign="bottom"><b>swap</b> (<a class="el" href="a00040.html">concurrent_unordered_map</a> &table)</td></tr>
+<tr class="separator:aac713ca5a9715b6d32e889ab452becab"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a266062d18ccb33886189738674921ef0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a266062d18ccb33886189738674921ef0"></a>
+hasher </td><td class="memItemRight" valign="bottom"><b>hash_function</b> () const </td></tr>
+<tr class="separator:a266062d18ccb33886189738674921ef0"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aeda4a251af5d695f0c08e3927bd9a1a4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aeda4a251af5d695f0c08e3927bd9a1a4"></a>
+key_equal </td><td class="memItemRight" valign="bottom"><b>key_eq</b> () const </td></tr>
+<tr class="separator:aeda4a251af5d695f0c08e3927bd9a1a4"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ae49177d89c80434a30aa346201abb986"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae49177d89c80434a30aa346201abb986"></a>
+mapped_type & </td><td class="memItemRight" valign="bottom"><b>operator[]</b> (const key_type &key)</td></tr>
+<tr class="separator:ae49177d89c80434a30aa346201abb986"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:af2e1ccbd986686ef2e93c880a965e861"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af2e1ccbd986686ef2e93c880a965e861"></a>
+mapped_type & </td><td class="memItemRight" valign="bottom"><b>at</b> (const key_type &key)</td></tr>
+<tr class="separator:af2e1ccbd986686ef2e93c880a965e861"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a54173c11cd3bc91b491b3f83375868e4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a54173c11cd3bc91b491b3f83375868e4"></a>
+const mapped_type & </td><td class="memItemRight" valign="bottom"><b>at</b> (const key_type &key) const </td></tr>
+<tr class="separator:a54173c11cd3bc91b491b3f83375868e4"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>concurrent_unordered_map.h</li>
+</ul>
+</div><!-- contents -->
+<hr>
+<p></p>
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
+<p></p>
+Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
+registered trademarks or trademarks of Intel Corporation or its
+subsidiaries in the United States and other countries.
+<p></p>
+* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00040.png b/doc/html/a00040.png
new file mode 100644
index 0000000..0e3c404
Binary files /dev/null and b/doc/html/a00040.png differ
diff --git a/doc/html/a00041.html b/doc/html/a00041.html
new file mode 100644
index 0000000..1a8d63c
--- /dev/null
+++ b/doc/html/a00041.html
@@ -0,0 +1,107 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::interface5::concurrent_unordered_map_traits< Key, T, Hash_compare, Allocator, Allow_multimapping > Class Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>interface5</b></li><li class="navelem"><a class="el" href="a00041.html">concurrent_unordered_map_traits</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Classes</a> |
+<a href="#pro-types">Protected Types</a> |
+<a href="#pro-methods">Protected Member Functions</a> |
+<a href="#pro-static-methods">Static Protected Member Functions</a> |
+<a href="#pro-attribs">Protected Attributes</a> |
+<a href="a00340.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::interface5::concurrent_unordered_map_traits< Key, T, Hash_compare, Allocator, Allow_multimapping > Class Template Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Classes</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00157.html">value_compare</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-types"></a>
+Protected Types</h2></td></tr>
+<tr class="memitem:a3a4d3aae580451e86649ce3a3ae38894"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom">{ <b>allow_multimapping</b> = Allow_multimapping
+ }</td></tr>
+<tr class="separator:a3a4d3aae580451e86649ce3a3ae38894"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a0c77b12f17473e24cda4b60b38e847fd"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0c77b12f17473e24cda4b60b38e847fd"></a>
+typedef std::pair< const Key, T > </td><td class="memItemRight" valign="bottom"><b>value_type</b></td></tr>
+<tr class="separator:a0c77b12f17473e24cda4b60b38e847fd"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a133cf0868239271387488f6067ce56ee"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a133cf0868239271387488f6067ce56ee"></a>
+typedef Key </td><td class="memItemRight" valign="bottom"><b>key_type</b></td></tr>
+<tr class="separator:a133cf0868239271387488f6067ce56ee"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:afdf65dc261abb44bd733ebab0f54f01b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afdf65dc261abb44bd733ebab0f54f01b"></a>
+typedef Hash_compare </td><td class="memItemRight" valign="bottom"><b>hash_compare</b></td></tr>
+<tr class="separator:afdf65dc261abb44bd733ebab0f54f01b"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a5f015ac2f9770d8cd69d0656447b66ac"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5f015ac2f9770d8cd69d0656447b66ac"></a>
+typedef Allocator::template <br class="typebreak"/>
+rebind< value_type >::other </td><td class="memItemRight" valign="bottom"><b>allocator_type</b></td></tr>
+<tr class="separator:a5f015ac2f9770d8cd69d0656447b66ac"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
+Protected Member Functions</h2></td></tr>
+<tr class="memitem:ae9e1e3147bd444fb77c544ef7ecb5bef"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae9e1e3147bd444fb77c544ef7ecb5bef"></a>
+ </td><td class="memItemRight" valign="bottom"><b>concurrent_unordered_map_traits</b> (const hash_compare &hc)</td></tr>
+<tr class="separator:ae9e1e3147bd444fb77c544ef7ecb5bef"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-static-methods"></a>
+Static Protected Member Functions</h2></td></tr>
+<tr class="memitem:a561f2cf05060387c8282ad57f5c816ca"><td class="memTemplParams" colspan="2"><a class="anchor" id="a561f2cf05060387c8282ad57f5c816ca"></a>
+template<class Type1 , class Type2 > </td></tr>
+<tr class="memitem:a561f2cf05060387c8282ad57f5c816ca"><td class="memTemplItemLeft" align="right" valign="top">static const Key & </td><td class="memTemplItemRight" valign="bottom"><b>get_key</b> (const std::pair< Type1, Type2 > &value)</td></tr>
+<tr class="separator:a561f2cf05060387c8282ad57f5c816ca"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
+Protected Attributes</h2></td></tr>
+<tr class="memitem:ad8f108aa7fc21e9e38050a9d56e691b7"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad8f108aa7fc21e9e38050a9d56e691b7"></a>
+hash_compare </td><td class="memItemRight" valign="bottom"><b>my_hash_compare</b></td></tr>
+<tr class="separator:ad8f108aa7fc21e9e38050a9d56e691b7"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>concurrent_unordered_map.h</li>
+</ul>
+</div><!-- contents -->
+<hr>
+<p></p>
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
+<p></p>
+Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
+registered trademarks or trademarks of Intel Corporation or its
+subsidiaries in the United States and other countries.
+<p></p>
+* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00042.html b/doc/html/a00042.html
new file mode 100644
index 0000000..4c2fb40
--- /dev/null
+++ b/doc/html/a00042.html
@@ -0,0 +1,171 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator > Class Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>interface5</b></li><li class="navelem"><a class="el" href="a00042.html">concurrent_unordered_multimap</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-types">Public Types</a> |
+<a href="#pub-methods">Public Member Functions</a> |
+<a href="a00343.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator > Class Template Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="dynheader">
+Inheritance diagram for tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator >:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00042.png" usemap="#tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator >_map" alt=""/>
+  <map id="tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator >_map" name="tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator >_map">
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:a13c740f45a112984c9a0c6d0d0a1a4d8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a13c740f45a112984c9a0c6d0d0a1a4d8"></a>
+typedef Key </td><td class="memItemRight" valign="bottom"><b>key_type</b></td></tr>
+<tr class="separator:a13c740f45a112984c9a0c6d0d0a1a4d8"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a1b89d9eeca4d1c194433b40671da2bf2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1b89d9eeca4d1c194433b40671da2bf2"></a>
+typedef base_type::value_type </td><td class="memItemRight" valign="bottom"><b>value_type</b></td></tr>
+<tr class="separator:a1b89d9eeca4d1c194433b40671da2bf2"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a627d86449ed7299d1baa4b09b6dd93f6"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a627d86449ed7299d1baa4b09b6dd93f6"></a>
+typedef T </td><td class="memItemRight" valign="bottom"><b>mapped_type</b></td></tr>
+<tr class="separator:a627d86449ed7299d1baa4b09b6dd93f6"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a8485b8d61b666ac6ddd81e1d4b286d5e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8485b8d61b666ac6ddd81e1d4b286d5e"></a>
+typedef Hasher </td><td class="memItemRight" valign="bottom"><b>hasher</b></td></tr>
+<tr class="separator:a8485b8d61b666ac6ddd81e1d4b286d5e"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a72a124e1c8c64499677e58171a7b9383"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a72a124e1c8c64499677e58171a7b9383"></a>
+typedef Key_equality </td><td class="memItemRight" valign="bottom"><b>key_equal</b></td></tr>
+<tr class="separator:a72a124e1c8c64499677e58171a7b9383"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a6ecb30201df0bd885fbba309b2392bd4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6ecb30201df0bd885fbba309b2392bd4"></a>
+typedef hash_compare </td><td class="memItemRight" valign="bottom"><b>key_compare</b></td></tr>
+<tr class="separator:a6ecb30201df0bd885fbba309b2392bd4"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aaeeee0c045e0003b85f60a6851d1d827"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aaeeee0c045e0003b85f60a6851d1d827"></a>
+typedef base_type::allocator_type </td><td class="memItemRight" valign="bottom"><b>allocator_type</b></td></tr>
+<tr class="separator:aaeeee0c045e0003b85f60a6851d1d827"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a029187ffe49ae876f41dfca39fe6f288"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a029187ffe49ae876f41dfca39fe6f288"></a>
+typedef base_type::pointer </td><td class="memItemRight" valign="bottom"><b>pointer</b></td></tr>
+<tr class="separator:a029187ffe49ae876f41dfca39fe6f288"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a55c029b4a58d1201e08ef5ba14fc0a66"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a55c029b4a58d1201e08ef5ba14fc0a66"></a>
+typedef base_type::const_pointer </td><td class="memItemRight" valign="bottom"><b>const_pointer</b></td></tr>
+<tr class="separator:a55c029b4a58d1201e08ef5ba14fc0a66"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ac4613be39e17bc83cf85d3b90a13fa09"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac4613be39e17bc83cf85d3b90a13fa09"></a>
+typedef base_type::reference </td><td class="memItemRight" valign="bottom"><b>reference</b></td></tr>
+<tr class="separator:ac4613be39e17bc83cf85d3b90a13fa09"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a0b9ef2bc9a8574b16ef678e838ff4e96"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0b9ef2bc9a8574b16ef678e838ff4e96"></a>
+typedef base_type::const_reference </td><td class="memItemRight" valign="bottom"><b>const_reference</b></td></tr>
+<tr class="separator:a0b9ef2bc9a8574b16ef678e838ff4e96"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a49038d8ed5f392bce440d7906b39ee53"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a49038d8ed5f392bce440d7906b39ee53"></a>
+typedef base_type::size_type </td><td class="memItemRight" valign="bottom"><b>size_type</b></td></tr>
+<tr class="separator:a49038d8ed5f392bce440d7906b39ee53"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a517a0b94b44d429f7f23b6d9f5366b36"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a517a0b94b44d429f7f23b6d9f5366b36"></a>
+typedef base_type::difference_type </td><td class="memItemRight" valign="bottom"><b>difference_type</b></td></tr>
+<tr class="separator:a517a0b94b44d429f7f23b6d9f5366b36"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a494392b2f3400393ae2696a70e2411f4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a494392b2f3400393ae2696a70e2411f4"></a>
+typedef base_type::iterator </td><td class="memItemRight" valign="bottom"><b>iterator</b></td></tr>
+<tr class="separator:a494392b2f3400393ae2696a70e2411f4"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a2460242ba39d70a0473eac4ee62b898c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2460242ba39d70a0473eac4ee62b898c"></a>
+typedef base_type::const_iterator </td><td class="memItemRight" valign="bottom"><b>const_iterator</b></td></tr>
+<tr class="separator:a2460242ba39d70a0473eac4ee62b898c"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a75ad2607efde410d591002203deb65e6"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a75ad2607efde410d591002203deb65e6"></a>
+typedef base_type::iterator </td><td class="memItemRight" valign="bottom"><b>local_iterator</b></td></tr>
+<tr class="separator:a75ad2607efde410d591002203deb65e6"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ab7647068dd628f35d3e3f7ed161b3fc0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab7647068dd628f35d3e3f7ed161b3fc0"></a>
+typedef base_type::const_iterator </td><td class="memItemRight" valign="bottom"><b>const_local_iterator</b></td></tr>
+<tr class="separator:ab7647068dd628f35d3e3f7ed161b3fc0"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a9d01e1e4f0fbf1b5f3ab145a84b2cfc7"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9d01e1e4f0fbf1b5f3ab145a84b2cfc7"></a>
+ </td><td class="memItemRight" valign="bottom"><b>concurrent_unordered_multimap</b> (size_type n_of_buckets=8, const hasher &_Hasher=hasher(), const key_equal &_Key_equality=key_equal(), const allocator_type &a=allocator_type())</td></tr>
+<tr class="separator:a9d01e1e4f0fbf1b5f3ab145a84b2cfc7"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ae2fe78524a0f0cd268194cf2461e3ab0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae2fe78524a0f0cd268194cf2461e3ab0"></a>
+ </td><td class="memItemRight" valign="bottom"><b>concurrent_unordered_multimap</b> (const Allocator &a)</td></tr>
+<tr class="separator:ae2fe78524a0f0cd268194cf2461e3ab0"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a263f3d222a72a3f691eabb3a581c6534"><td class="memTemplParams" colspan="2"><a class="anchor" id="a263f3d222a72a3f691eabb3a581c6534"></a>
+template<typename Iterator > </td></tr>
+<tr class="memitem:a263f3d222a72a3f691eabb3a581c6534"><td class="memTemplItemLeft" align="right" valign="top"> </td><td class="memTemplItemRight" valign="bottom"><b>concurrent_unordered_multimap</b> (Iterator first, Iterator last, size_type n_of_buckets=8, const hasher &_Hasher=hasher(), const key_equal &_Key_equality=key_equal(), const allocator_type &a=allocator_type())</td></tr>
+<tr class="separator:a263f3d222a72a3f691eabb3a581c6534"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a169314a424d47679e4aa343b70f75f00"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a169314a424d47679e4aa343b70f75f00"></a>
+ </td><td class="memItemRight" valign="bottom"><a class="el" href="a00042.html#a169314a424d47679e4aa343b70f75f00">concurrent_unordered_multimap</a> (std::initializer_list< value_type > const &il, size_type n_of_buckets=8, const hasher &_Hasher=hasher(), const key_equal &_Key_equality=key_equal(), const allocator_type &a=allocator_type())</td></tr>
+<tr class="memdesc:a169314a424d47679e4aa343b70f75f00"><td class="mdescLeft"> </td><td class="mdescRight">Constructor from initializer_list. <br/></td></tr>
+<tr class="separator:a169314a424d47679e4aa343b70f75f00"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aacf347cd41c61dd026e844fa9311130c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aacf347cd41c61dd026e844fa9311130c"></a>
+ </td><td class="memItemRight" valign="bottom"><b>concurrent_unordered_multimap</b> (const <a class="el" href="a00042.html">concurrent_unordered_multimap</a> &table)</td></tr>
+<tr class="separator:aacf347cd41c61dd026e844fa9311130c"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a34148bd7279ce189a6c0c26380df0a2a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a34148bd7279ce189a6c0c26380df0a2a"></a>
+ </td><td class="memItemRight" valign="bottom"><b>concurrent_unordered_multimap</b> (const <a class="el" href="a00042.html">concurrent_unordered_multimap</a> &table, const Allocator &a)</td></tr>
+<tr class="separator:a34148bd7279ce189a6c0c26380df0a2a"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a58939ac30bfced4b6e2cf0377c1b7d71"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a58939ac30bfced4b6e2cf0377c1b7d71"></a>
+<a class="el" href="a00042.html">concurrent_unordered_multimap</a> & </td><td class="memItemRight" valign="bottom"><b>operator=</b> (const <a class="el" href="a00042.html">concurrent_unordered_multimap</a> &table)</td></tr>
+<tr class="separator:a58939ac30bfced4b6e2cf0377c1b7d71"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:adac1da59fdf8b536f95ea5be3134785f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adac1da59fdf8b536f95ea5be3134785f"></a>
+<a class="el" href="a00042.html">concurrent_unordered_multimap</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="a00042.html#adac1da59fdf8b536f95ea5be3134785f">operator=</a> (std::initializer_list< value_type > const &il)</td></tr>
+<tr class="memdesc:adac1da59fdf8b536f95ea5be3134785f"><td class="mdescLeft"> </td><td class="mdescRight">assignment operator from initializer_list <br/></td></tr>
+<tr class="separator:adac1da59fdf8b536f95ea5be3134785f"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a32ab0ae50fd7055338185163f0dad6d1"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a32ab0ae50fd7055338185163f0dad6d1"></a>
+iterator </td><td class="memItemRight" valign="bottom"><b>unsafe_erase</b> (const_iterator where)</td></tr>
+<tr class="separator:a32ab0ae50fd7055338185163f0dad6d1"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a59e06ce68d9e6c42d347ae5d0ebe05ac"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a59e06ce68d9e6c42d347ae5d0ebe05ac"></a>
+size_type </td><td class="memItemRight" valign="bottom"><b>unsafe_erase</b> (const key_type &key)</td></tr>
+<tr class="separator:a59e06ce68d9e6c42d347ae5d0ebe05ac"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a587130b6d80b030d6c86fe858a36e837"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a587130b6d80b030d6c86fe858a36e837"></a>
+iterator </td><td class="memItemRight" valign="bottom"><b>unsafe_erase</b> (const_iterator first, const_iterator last)</td></tr>
+<tr class="separator:a587130b6d80b030d6c86fe858a36e837"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a42305140d2b46035dc83e5029bfd251d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a42305140d2b46035dc83e5029bfd251d"></a>
+void </td><td class="memItemRight" valign="bottom"><b>swap</b> (<a class="el" href="a00042.html">concurrent_unordered_multimap</a> &table)</td></tr>
+<tr class="separator:a42305140d2b46035dc83e5029bfd251d"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:af380d71440609f8e73cb68ef46910861"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af380d71440609f8e73cb68ef46910861"></a>
+hasher </td><td class="memItemRight" valign="bottom"><b>hash_function</b> () const </td></tr>
+<tr class="separator:af380d71440609f8e73cb68ef46910861"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:abc250a7abba25183449dabbe8b18d134"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abc250a7abba25183449dabbe8b18d134"></a>
+key_equal </td><td class="memItemRight" valign="bottom"><b>key_eq</b> () const </td></tr>
+<tr class="separator:abc250a7abba25183449dabbe8b18d134"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>concurrent_unordered_map.h</li>
+</ul>
+</div><!-- contents -->
+<hr>
+<p></p>
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
+<p></p>
+Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
+registered trademarks or trademarks of Intel Corporation or its
+subsidiaries in the United States and other countries.
+<p></p>
+* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00042.png b/doc/html/a00042.png
new file mode 100644
index 0000000..6fa3b58
Binary files /dev/null and b/doc/html/a00042.png differ
diff --git a/doc/html/a00043.html b/doc/html/a00043.html
new file mode 100644
index 0000000..bdc3a47
--- /dev/null
+++ b/doc/html/a00043.html
@@ -0,0 +1,196 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator > Class Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>interface5</b></li><li class="navelem"><a class="el" href="a00043.html">concurrent_unordered_multiset</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-types">Public Types</a> |
+<a href="#pub-methods">Public Member Functions</a> |
+<a href="a00346.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator > Class Template Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="dynheader">
+Inheritance diagram for tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator >:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00043.png" usemap="#tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator >_map" alt=""/>
+  <map id="tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator >_map" name="tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator >_map">
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:ab1c670cc0b75a7f6c13432b264669ac0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab1c670cc0b75a7f6c13432b264669ac0"></a>
+typedef internal::hash_compare<br class="typebreak"/>
+< Key, Hasher, Key_equality > </td><td class="memItemRight" valign="bottom"><b>hash_compare</b></td></tr>
+<tr class="separator:ab1c670cc0b75a7f6c13432b264669ac0"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:abd3897cd2679d5e6804cd8f6ff6eb071"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abd3897cd2679d5e6804cd8f6ff6eb071"></a>
+typedef <br class="typebreak"/>
+<a class="el" href="a00045.html">concurrent_unordered_set_traits</a><br class="typebreak"/>
+< Key, hash_compare, Allocator, <br class="typebreak"/>
+true > </td><td class="memItemRight" valign="bottom"><b>traits_type</b></td></tr>
+<tr class="separator:abd3897cd2679d5e6804cd8f6ff6eb071"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a16714895a578ae9e77b4a862811f3d0d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a16714895a578ae9e77b4a862811f3d0d"></a>
+typedef <br class="typebreak"/>
+internal::concurrent_unordered_base<br class="typebreak"/>
+< <a class="el" href="a00045.html">traits_type</a> > </td><td class="memItemRight" valign="bottom"><b>base_type</b></td></tr>
+<tr class="separator:a16714895a578ae9e77b4a862811f3d0d"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:af1eb846a05a4e2d30a3ff7f66acad7c7"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af1eb846a05a4e2d30a3ff7f66acad7c7"></a>
+typedef Key </td><td class="memItemRight" valign="bottom"><b>key_type</b></td></tr>
+<tr class="separator:af1eb846a05a4e2d30a3ff7f66acad7c7"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a559df68fc84a16b494a9638085c7379b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a559df68fc84a16b494a9638085c7379b"></a>
+typedef base_type::value_type </td><td class="memItemRight" valign="bottom"><b>value_type</b></td></tr>
+<tr class="separator:a559df68fc84a16b494a9638085c7379b"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ada492d245619aac2683b57c9f52106c7"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ada492d245619aac2683b57c9f52106c7"></a>
+typedef Key </td><td class="memItemRight" valign="bottom"><b>mapped_type</b></td></tr>
+<tr class="separator:ada492d245619aac2683b57c9f52106c7"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ab6b0ed8e5a20690cc06644520d0e5ef3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab6b0ed8e5a20690cc06644520d0e5ef3"></a>
+typedef Hasher </td><td class="memItemRight" valign="bottom"><b>hasher</b></td></tr>
+<tr class="separator:ab6b0ed8e5a20690cc06644520d0e5ef3"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aa3d8b36c79741c229cf9a5c9d93516b7"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa3d8b36c79741c229cf9a5c9d93516b7"></a>
+typedef Key_equality </td><td class="memItemRight" valign="bottom"><b>key_equal</b></td></tr>
+<tr class="separator:aa3d8b36c79741c229cf9a5c9d93516b7"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a8ec7f32ab51ebbfdb06d57ab8b17044b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8ec7f32ab51ebbfdb06d57ab8b17044b"></a>
+typedef hash_compare </td><td class="memItemRight" valign="bottom"><b>key_compare</b></td></tr>
+<tr class="separator:a8ec7f32ab51ebbfdb06d57ab8b17044b"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a1f89a49912b58d42ddbb3f344b6304ca"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1f89a49912b58d42ddbb3f344b6304ca"></a>
+typedef base_type::allocator_type </td><td class="memItemRight" valign="bottom"><b>allocator_type</b></td></tr>
+<tr class="separator:a1f89a49912b58d42ddbb3f344b6304ca"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ad4ff41efe0ead5030b011c999dd748de"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad4ff41efe0ead5030b011c999dd748de"></a>
+typedef base_type::pointer </td><td class="memItemRight" valign="bottom"><b>pointer</b></td></tr>
+<tr class="separator:ad4ff41efe0ead5030b011c999dd748de"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ab4327ff04c8a5dc7653b47763263b9f9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab4327ff04c8a5dc7653b47763263b9f9"></a>
+typedef base_type::const_pointer </td><td class="memItemRight" valign="bottom"><b>const_pointer</b></td></tr>
+<tr class="separator:ab4327ff04c8a5dc7653b47763263b9f9"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aef5518b17cd9da59b9e6d9b9374f5245"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aef5518b17cd9da59b9e6d9b9374f5245"></a>
+typedef base_type::reference </td><td class="memItemRight" valign="bottom"><b>reference</b></td></tr>
+<tr class="separator:aef5518b17cd9da59b9e6d9b9374f5245"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a7084b7dd3f9b1df0ffdd520529e87f3c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7084b7dd3f9b1df0ffdd520529e87f3c"></a>
+typedef base_type::const_reference </td><td class="memItemRight" valign="bottom"><b>const_reference</b></td></tr>
+<tr class="separator:a7084b7dd3f9b1df0ffdd520529e87f3c"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ad04d6c35ee079e8a49d38744c8f305b3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad04d6c35ee079e8a49d38744c8f305b3"></a>
+typedef base_type::size_type </td><td class="memItemRight" valign="bottom"><b>size_type</b></td></tr>
+<tr class="separator:ad04d6c35ee079e8a49d38744c8f305b3"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a6e9babf06dc79948bb787793a7cb0d37"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6e9babf06dc79948bb787793a7cb0d37"></a>
+typedef base_type::difference_type </td><td class="memItemRight" valign="bottom"><b>difference_type</b></td></tr>
+<tr class="separator:a6e9babf06dc79948bb787793a7cb0d37"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a229ae1c0786ea9509c66256fcf1c8f47"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a229ae1c0786ea9509c66256fcf1c8f47"></a>
+typedef base_type::iterator </td><td class="memItemRight" valign="bottom"><b>iterator</b></td></tr>
+<tr class="separator:a229ae1c0786ea9509c66256fcf1c8f47"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a69ed6ae85fe54e53b2804b61a6f30fa2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a69ed6ae85fe54e53b2804b61a6f30fa2"></a>
+typedef base_type::const_iterator </td><td class="memItemRight" valign="bottom"><b>const_iterator</b></td></tr>
+<tr class="separator:a69ed6ae85fe54e53b2804b61a6f30fa2"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a532cdc67028e27231846b41bfd9a0e26"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a532cdc67028e27231846b41bfd9a0e26"></a>
+typedef base_type::iterator </td><td class="memItemRight" valign="bottom"><b>local_iterator</b></td></tr>
+<tr class="separator:a532cdc67028e27231846b41bfd9a0e26"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:af4f42202dd9f2bc114c9411928431217"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af4f42202dd9f2bc114c9411928431217"></a>
+typedef base_type::const_iterator </td><td class="memItemRight" valign="bottom"><b>const_local_iterator</b></td></tr>
+<tr class="separator:af4f42202dd9f2bc114c9411928431217"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a10adc362c74af28dd7dd16ca335ce1c9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a10adc362c74af28dd7dd16ca335ce1c9"></a>
+ </td><td class="memItemRight" valign="bottom"><b>concurrent_unordered_multiset</b> (size_type n_of_buckets=8, const hasher &_Hasher=hasher(), const key_equal &_Key_equality=key_equal(), const allocator_type &a=allocator_type())</td></tr>
+<tr class="separator:a10adc362c74af28dd7dd16ca335ce1c9"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:adf8c095a7be6913dd96e22a6ce9af187"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adf8c095a7be6913dd96e22a6ce9af187"></a>
+ </td><td class="memItemRight" valign="bottom"><b>concurrent_unordered_multiset</b> (const Allocator &a)</td></tr>
+<tr class="separator:adf8c095a7be6913dd96e22a6ce9af187"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a830962289c517e0466704e1b9b70fe71"><td class="memTemplParams" colspan="2"><a class="anchor" id="a830962289c517e0466704e1b9b70fe71"></a>
+template<typename Iterator > </td></tr>
+<tr class="memitem:a830962289c517e0466704e1b9b70fe71"><td class="memTemplItemLeft" align="right" valign="top"> </td><td class="memTemplItemRight" valign="bottom"><b>concurrent_unordered_multiset</b> (Iterator first, Iterator last, size_type n_of_buckets=8, const hasher &_Hasher=hasher(), const key_equal &_Key_equality=key_equal(), const allocator_type &a=allocator_type())</td></tr>
+<tr class="separator:a830962289c517e0466704e1b9b70fe71"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ab2fa28924f52578bb59200b9ffa976c8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab2fa28924f52578bb59200b9ffa976c8"></a>
+ </td><td class="memItemRight" valign="bottom"><a class="el" href="a00043.html#ab2fa28924f52578bb59200b9ffa976c8">concurrent_unordered_multiset</a> (std::initializer_list< value_type > const &il, size_type n_of_buckets=8, const hasher &a_hasher=hasher(), const key_equal &a_keyeq=key_equal(), const allocator_type &a=allocator_type())</td></tr>
+<tr class="memdesc:ab2fa28924f52578bb59200b9ffa976c8"><td class="mdescLeft"> </td><td class="mdescRight">Constructor from initializer_list. <br/></td></tr>
+<tr class="separator:ab2fa28924f52578bb59200b9ffa976c8"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a3110fb1a6f8e2a3071d2acbe4b7b154b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3110fb1a6f8e2a3071d2acbe4b7b154b"></a>
+ </td><td class="memItemRight" valign="bottom"><b>concurrent_unordered_multiset</b> (const <a class="el" href="a00043.html">concurrent_unordered_multiset</a> &table)</td></tr>
+<tr class="separator:a3110fb1a6f8e2a3071d2acbe4b7b154b"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a229089da66522fd4f3d77e9f57e19fbb"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a229089da66522fd4f3d77e9f57e19fbb"></a>
+ </td><td class="memItemRight" valign="bottom"><b>concurrent_unordered_multiset</b> (const <a class="el" href="a00043.html">concurrent_unordered_multiset</a> &table, const Allocator &a)</td></tr>
+<tr class="separator:a229089da66522fd4f3d77e9f57e19fbb"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ac1fb116ee3fdf6c6c810fe21eb01e209"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac1fb116ee3fdf6c6c810fe21eb01e209"></a>
+<a class="el" href="a00043.html">concurrent_unordered_multiset</a> & </td><td class="memItemRight" valign="bottom"><b>operator=</b> (const <a class="el" href="a00043.html">concurrent_unordered_multiset</a> &table)</td></tr>
+<tr class="separator:ac1fb116ee3fdf6c6c810fe21eb01e209"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a01e685fab9a39cbd69c53bb3b8befce6"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a01e685fab9a39cbd69c53bb3b8befce6"></a>
+<a class="el" href="a00043.html">concurrent_unordered_multiset</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="a00043.html#a01e685fab9a39cbd69c53bb3b8befce6">operator=</a> (std::initializer_list< value_type > const &il)</td></tr>
+<tr class="memdesc:a01e685fab9a39cbd69c53bb3b8befce6"><td class="mdescLeft"> </td><td class="mdescRight">assignment operator from initializer_list <br/></td></tr>
+<tr class="separator:a01e685fab9a39cbd69c53bb3b8befce6"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a38147175641e9ae03c3136de9efad03b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a38147175641e9ae03c3136de9efad03b"></a>
+std::pair< iterator, bool > </td><td class="memItemRight" valign="bottom"><b>insert</b> (const value_type &value)</td></tr>
+<tr class="separator:a38147175641e9ae03c3136de9efad03b"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a8b4845a6d788668ea54ba5aa6d8a1a65"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8b4845a6d788668ea54ba5aa6d8a1a65"></a>
+iterator </td><td class="memItemRight" valign="bottom"><b>insert</b> (const_iterator where, const value_type &value)</td></tr>
+<tr class="separator:a8b4845a6d788668ea54ba5aa6d8a1a65"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a962a3b35f481723e91a48fdd179b4803"><td class="memTemplParams" colspan="2"><a class="anchor" id="a962a3b35f481723e91a48fdd179b4803"></a>
+template<class Iterator > </td></tr>
+<tr class="memitem:a962a3b35f481723e91a48fdd179b4803"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><b>insert</b> (Iterator first, Iterator last)</td></tr>
+<tr class="separator:a962a3b35f481723e91a48fdd179b4803"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a1278d73388093ea34292c81159952c94"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1278d73388093ea34292c81159952c94"></a>
+iterator </td><td class="memItemRight" valign="bottom"><b>unsafe_erase</b> (const_iterator where)</td></tr>
+<tr class="separator:a1278d73388093ea34292c81159952c94"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aa1cd1fefe17cda678734882018bb75ad"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa1cd1fefe17cda678734882018bb75ad"></a>
+size_type </td><td class="memItemRight" valign="bottom"><b>unsafe_erase</b> (const key_type &key)</td></tr>
+<tr class="separator:aa1cd1fefe17cda678734882018bb75ad"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a598e558219dd96f1946146312a441e5c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a598e558219dd96f1946146312a441e5c"></a>
+iterator </td><td class="memItemRight" valign="bottom"><b>unsafe_erase</b> (const_iterator first, const_iterator last)</td></tr>
+<tr class="separator:a598e558219dd96f1946146312a441e5c"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a868f5d5658afe698d23231ce70de3d2d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a868f5d5658afe698d23231ce70de3d2d"></a>
+void </td><td class="memItemRight" valign="bottom"><b>swap</b> (<a class="el" href="a00043.html">concurrent_unordered_multiset</a> &table)</td></tr>
+<tr class="separator:a868f5d5658afe698d23231ce70de3d2d"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a8c9826f91c36d15b5a370d8c813f0b84"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8c9826f91c36d15b5a370d8c813f0b84"></a>
+hasher </td><td class="memItemRight" valign="bottom"><b>hash_function</b> () const </td></tr>
+<tr class="separator:a8c9826f91c36d15b5a370d8c813f0b84"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ac1e4c658fb25acae25a335004d5023a8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac1e4c658fb25acae25a335004d5023a8"></a>
+key_equal </td><td class="memItemRight" valign="bottom"><b>key_eq</b> () const </td></tr>
+<tr class="separator:ac1e4c658fb25acae25a335004d5023a8"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>concurrent_unordered_set.h</li>
+</ul>
+</div><!-- contents -->
+<hr>
+<p></p>
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
+<p></p>
+Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
+registered trademarks or trademarks of Intel Corporation or its
+subsidiaries in the United States and other countries.
+<p></p>
+* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00043.png b/doc/html/a00043.png
new file mode 100644
index 0000000..3ef6d19
Binary files /dev/null and b/doc/html/a00043.png differ
diff --git a/doc/html/a00044.html b/doc/html/a00044.html
new file mode 100644
index 0000000..a67cbdc
--- /dev/null
+++ b/doc/html/a00044.html
@@ -0,0 +1,171 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator > Class Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>interface5</b></li><li class="navelem"><a class="el" href="a00044.html">concurrent_unordered_set</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-types">Public Types</a> |
+<a href="#pub-methods">Public Member Functions</a> |
+<a href="a00345.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator > Class Template Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="dynheader">
+Inheritance diagram for tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator >:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00044.png" usemap="#tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator >_map" alt=""/>
+  <map id="tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator >_map" name="tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator >_map">
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:afad91155e1803ee686e5f42637594e7b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afad91155e1803ee686e5f42637594e7b"></a>
+typedef Key </td><td class="memItemRight" valign="bottom"><b>key_type</b></td></tr>
+<tr class="separator:afad91155e1803ee686e5f42637594e7b"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a461fe414bf3ae73e7cc57e851ff592e4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a461fe414bf3ae73e7cc57e851ff592e4"></a>
+typedef base_type::value_type </td><td class="memItemRight" valign="bottom"><b>value_type</b></td></tr>
+<tr class="separator:a461fe414bf3ae73e7cc57e851ff592e4"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a3a64703b55d07509d5c88810c2342ba5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3a64703b55d07509d5c88810c2342ba5"></a>
+typedef Key </td><td class="memItemRight" valign="bottom"><b>mapped_type</b></td></tr>
+<tr class="separator:a3a64703b55d07509d5c88810c2342ba5"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a6952de8a7ff93025c1065bb3e729da72"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6952de8a7ff93025c1065bb3e729da72"></a>
+typedef Hasher </td><td class="memItemRight" valign="bottom"><b>hasher</b></td></tr>
+<tr class="separator:a6952de8a7ff93025c1065bb3e729da72"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a376a7355aa091fff6a30689141407acd"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a376a7355aa091fff6a30689141407acd"></a>
+typedef Key_equality </td><td class="memItemRight" valign="bottom"><b>key_equal</b></td></tr>
+<tr class="separator:a376a7355aa091fff6a30689141407acd"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:acc450473249e39658c46596d8252eef0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acc450473249e39658c46596d8252eef0"></a>
+typedef hash_compare </td><td class="memItemRight" valign="bottom"><b>key_compare</b></td></tr>
+<tr class="separator:acc450473249e39658c46596d8252eef0"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a2010e490e8bfb13d9b969ec2fd5e4de4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2010e490e8bfb13d9b969ec2fd5e4de4"></a>
+typedef base_type::allocator_type </td><td class="memItemRight" valign="bottom"><b>allocator_type</b></td></tr>
+<tr class="separator:a2010e490e8bfb13d9b969ec2fd5e4de4"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a5a8c52d4a2b57b9b4b5d889e96d88f44"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5a8c52d4a2b57b9b4b5d889e96d88f44"></a>
+typedef base_type::pointer </td><td class="memItemRight" valign="bottom"><b>pointer</b></td></tr>
+<tr class="separator:a5a8c52d4a2b57b9b4b5d889e96d88f44"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a281276279a33ef1c5dfba5c196118ae7"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a281276279a33ef1c5dfba5c196118ae7"></a>
+typedef base_type::const_pointer </td><td class="memItemRight" valign="bottom"><b>const_pointer</b></td></tr>
+<tr class="separator:a281276279a33ef1c5dfba5c196118ae7"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aec3d473d0fa601d51f13efe605cd9862"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aec3d473d0fa601d51f13efe605cd9862"></a>
+typedef base_type::reference </td><td class="memItemRight" valign="bottom"><b>reference</b></td></tr>
+<tr class="separator:aec3d473d0fa601d51f13efe605cd9862"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ab7da53912d0deffca91618b73ed4995f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab7da53912d0deffca91618b73ed4995f"></a>
+typedef base_type::const_reference </td><td class="memItemRight" valign="bottom"><b>const_reference</b></td></tr>
+<tr class="separator:ab7da53912d0deffca91618b73ed4995f"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a5808a50995fc228f114c3c93aeddf331"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5808a50995fc228f114c3c93aeddf331"></a>
+typedef base_type::size_type </td><td class="memItemRight" valign="bottom"><b>size_type</b></td></tr>
+<tr class="separator:a5808a50995fc228f114c3c93aeddf331"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a7aaed1937820a90cb657a824e1391c1f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7aaed1937820a90cb657a824e1391c1f"></a>
+typedef base_type::difference_type </td><td class="memItemRight" valign="bottom"><b>difference_type</b></td></tr>
+<tr class="separator:a7aaed1937820a90cb657a824e1391c1f"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:abb76557f1755f96dc2e78728cb231e57"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abb76557f1755f96dc2e78728cb231e57"></a>
+typedef base_type::iterator </td><td class="memItemRight" valign="bottom"><b>iterator</b></td></tr>
+<tr class="separator:abb76557f1755f96dc2e78728cb231e57"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a983d10264bc785a59b11dc94001e0042"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a983d10264bc785a59b11dc94001e0042"></a>
+typedef base_type::const_iterator </td><td class="memItemRight" valign="bottom"><b>const_iterator</b></td></tr>
+<tr class="separator:a983d10264bc785a59b11dc94001e0042"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:acb12b4b1df9a7108a5193b0d3bbfc677"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acb12b4b1df9a7108a5193b0d3bbfc677"></a>
+typedef base_type::iterator </td><td class="memItemRight" valign="bottom"><b>local_iterator</b></td></tr>
+<tr class="separator:acb12b4b1df9a7108a5193b0d3bbfc677"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:af111bc738ee2a1b4b1cf2967a1252322"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af111bc738ee2a1b4b1cf2967a1252322"></a>
+typedef base_type::const_iterator </td><td class="memItemRight" valign="bottom"><b>const_local_iterator</b></td></tr>
+<tr class="separator:af111bc738ee2a1b4b1cf2967a1252322"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a698a4e743d1c4314a2b59017e4d5fcb7"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a698a4e743d1c4314a2b59017e4d5fcb7"></a>
+ </td><td class="memItemRight" valign="bottom"><b>concurrent_unordered_set</b> (size_type n_of_buckets=8, const hasher &a_hasher=hasher(), const key_equal &a_keyeq=key_equal(), const allocator_type &a=allocator_type())</td></tr>
+<tr class="separator:a698a4e743d1c4314a2b59017e4d5fcb7"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a2d307ae4ebb3e2d46b0a75713824d109"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2d307ae4ebb3e2d46b0a75713824d109"></a>
+ </td><td class="memItemRight" valign="bottom"><b>concurrent_unordered_set</b> (const Allocator &a)</td></tr>
+<tr class="separator:a2d307ae4ebb3e2d46b0a75713824d109"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a7b46e3bed0514110fb62bd9ddd5b2f08"><td class="memTemplParams" colspan="2"><a class="anchor" id="a7b46e3bed0514110fb62bd9ddd5b2f08"></a>
+template<typename Iterator > </td></tr>
+<tr class="memitem:a7b46e3bed0514110fb62bd9ddd5b2f08"><td class="memTemplItemLeft" align="right" valign="top"> </td><td class="memTemplItemRight" valign="bottom"><b>concurrent_unordered_set</b> (Iterator first, Iterator last, size_type n_of_buckets=8, const hasher &a_hasher=hasher(), const key_equal &a_keyeq=key_equal(), const allocator_type &a=allocator_type())</td></tr>
+<tr class="separator:a7b46e3bed0514110fb62bd9ddd5b2f08"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ae0570fa46456245509cc789e17bd0c21"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae0570fa46456245509cc789e17bd0c21"></a>
+ </td><td class="memItemRight" valign="bottom"><a class="el" href="a00044.html#ae0570fa46456245509cc789e17bd0c21">concurrent_unordered_set</a> (std::initializer_list< value_type > const &il, size_type n_of_buckets=8, const hasher &a_hasher=hasher(), const key_equal &a_keyeq=key_equal(), const allocator_type &a=allocator_type())</td></tr>
+<tr class="memdesc:ae0570fa46456245509cc789e17bd0c21"><td class="mdescLeft"> </td><td class="mdescRight">Constructor from initializer_list. <br/></td></tr>
+<tr class="separator:ae0570fa46456245509cc789e17bd0c21"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ac3c68d5286d6ca29fba2b38c59bdbc66"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac3c68d5286d6ca29fba2b38c59bdbc66"></a>
+ </td><td class="memItemRight" valign="bottom"><b>concurrent_unordered_set</b> (const <a class="el" href="a00044.html">concurrent_unordered_set</a> &table)</td></tr>
+<tr class="separator:ac3c68d5286d6ca29fba2b38c59bdbc66"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aecea62fe5c8beab0d7907dbc33ef583f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aecea62fe5c8beab0d7907dbc33ef583f"></a>
+ </td><td class="memItemRight" valign="bottom"><b>concurrent_unordered_set</b> (const <a class="el" href="a00044.html">concurrent_unordered_set</a> &table, const Allocator &a)</td></tr>
+<tr class="separator:aecea62fe5c8beab0d7907dbc33ef583f"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a39097dddf99fd057919197b8293bd807"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a39097dddf99fd057919197b8293bd807"></a>
+<a class="el" href="a00044.html">concurrent_unordered_set</a> & </td><td class="memItemRight" valign="bottom"><b>operator=</b> (const <a class="el" href="a00044.html">concurrent_unordered_set</a> &table)</td></tr>
+<tr class="separator:a39097dddf99fd057919197b8293bd807"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ab8bc097b955ce129641eb3cf9f4cd4d5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab8bc097b955ce129641eb3cf9f4cd4d5"></a>
+<a class="el" href="a00044.html">concurrent_unordered_set</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="a00044.html#ab8bc097b955ce129641eb3cf9f4cd4d5">operator=</a> (std::initializer_list< value_type > const &il)</td></tr>
+<tr class="memdesc:ab8bc097b955ce129641eb3cf9f4cd4d5"><td class="mdescLeft"> </td><td class="mdescRight">assignment operator from initializer_list <br/></td></tr>
+<tr class="separator:ab8bc097b955ce129641eb3cf9f4cd4d5"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a57ea76009e7b47f53013155a6239e1a5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a57ea76009e7b47f53013155a6239e1a5"></a>
+iterator </td><td class="memItemRight" valign="bottom"><b>unsafe_erase</b> (const_iterator where)</td></tr>
+<tr class="separator:a57ea76009e7b47f53013155a6239e1a5"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a215c80928460f6b5fe25081420adbde5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a215c80928460f6b5fe25081420adbde5"></a>
+size_type </td><td class="memItemRight" valign="bottom"><b>unsafe_erase</b> (const key_type &key)</td></tr>
+<tr class="separator:a215c80928460f6b5fe25081420adbde5"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:acc343e941430786da14b7f34cf9b8ae9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acc343e941430786da14b7f34cf9b8ae9"></a>
+iterator </td><td class="memItemRight" valign="bottom"><b>unsafe_erase</b> (const_iterator first, const_iterator last)</td></tr>
+<tr class="separator:acc343e941430786da14b7f34cf9b8ae9"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a3595d3bb4309b175dbd3a88aeb239435"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3595d3bb4309b175dbd3a88aeb239435"></a>
+void </td><td class="memItemRight" valign="bottom"><b>swap</b> (<a class="el" href="a00044.html">concurrent_unordered_set</a> &table)</td></tr>
+<tr class="separator:a3595d3bb4309b175dbd3a88aeb239435"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aabd074ac29a288edff454b6595e620ff"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aabd074ac29a288edff454b6595e620ff"></a>
+hasher </td><td class="memItemRight" valign="bottom"><b>hash_function</b> () const </td></tr>
+<tr class="separator:aabd074ac29a288edff454b6595e620ff"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ac80cfcd664360c7947a3ba43a6dfc00b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac80cfcd664360c7947a3ba43a6dfc00b"></a>
+key_equal </td><td class="memItemRight" valign="bottom"><b>key_eq</b> () const </td></tr>
+<tr class="separator:ac80cfcd664360c7947a3ba43a6dfc00b"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>concurrent_unordered_set.h</li>
+</ul>
+</div><!-- contents -->
+<hr>
+<p></p>
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
+<p></p>
+Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
+registered trademarks or trademarks of Intel Corporation or its
+subsidiaries in the United States and other countries.
+<p></p>
+* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00044.png b/doc/html/a00044.png
new file mode 100644
index 0000000..9f9a099
Binary files /dev/null and b/doc/html/a00044.png differ
diff --git a/doc/html/a00045.html b/doc/html/a00045.html
new file mode 100644
index 0000000..0819ac7
--- /dev/null
+++ b/doc/html/a00045.html
@@ -0,0 +1,103 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::interface5::concurrent_unordered_set_traits< Key, Hash_compare, Allocator, Allow_multimapping > Class Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>interface5</b></li><li class="navelem"><a class="el" href="a00045.html">concurrent_unordered_set_traits</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pro-types">Protected Types</a> |
+<a href="#pro-methods">Protected Member Functions</a> |
+<a href="#pro-static-methods">Static Protected Member Functions</a> |
+<a href="#pro-attribs">Protected Attributes</a> |
+<a href="a00344.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::interface5::concurrent_unordered_set_traits< Key, Hash_compare, Allocator, Allow_multimapping > Class Template Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-types"></a>
+Protected Types</h2></td></tr>
+<tr class="memitem:a10fca95c59a7c0542d2d6bc1b8306e1c"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom">{ <b>allow_multimapping</b> = Allow_multimapping
+ }</td></tr>
+<tr class="separator:a10fca95c59a7c0542d2d6bc1b8306e1c"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a935ab6e249964c5a7e1caffd308bf008"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a935ab6e249964c5a7e1caffd308bf008"></a>
+typedef Key </td><td class="memItemRight" valign="bottom"><b>value_type</b></td></tr>
+<tr class="separator:a935ab6e249964c5a7e1caffd308bf008"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a8b1d770b7db20b5d0d51af0b910aebb2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8b1d770b7db20b5d0d51af0b910aebb2"></a>
+typedef Key </td><td class="memItemRight" valign="bottom"><b>key_type</b></td></tr>
+<tr class="separator:a8b1d770b7db20b5d0d51af0b910aebb2"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a3c1ef314e63eb78db91ce99cb8617b87"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3c1ef314e63eb78db91ce99cb8617b87"></a>
+typedef Hash_compare </td><td class="memItemRight" valign="bottom"><b>hash_compare</b></td></tr>
+<tr class="separator:a3c1ef314e63eb78db91ce99cb8617b87"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a453126bb05d3c798914cb91852e0b3a5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a453126bb05d3c798914cb91852e0b3a5"></a>
+typedef Allocator::template <br class="typebreak"/>
+rebind< value_type >::other </td><td class="memItemRight" valign="bottom"><b>allocator_type</b></td></tr>
+<tr class="separator:a453126bb05d3c798914cb91852e0b3a5"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aa846331955302afdcaa6ba10e47ff427"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa846331955302afdcaa6ba10e47ff427"></a>
+typedef hash_compare </td><td class="memItemRight" valign="bottom"><b>value_compare</b></td></tr>
+<tr class="separator:aa846331955302afdcaa6ba10e47ff427"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
+Protected Member Functions</h2></td></tr>
+<tr class="memitem:a958c02e4dbd967575a9f03290bb0cad3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a958c02e4dbd967575a9f03290bb0cad3"></a>
+ </td><td class="memItemRight" valign="bottom"><b>concurrent_unordered_set_traits</b> (const hash_compare &hc)</td></tr>
+<tr class="separator:a958c02e4dbd967575a9f03290bb0cad3"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-static-methods"></a>
+Static Protected Member Functions</h2></td></tr>
+<tr class="memitem:a3f4bfe96ddb3db04d4701e06611fc73d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3f4bfe96ddb3db04d4701e06611fc73d"></a>
+static const Key & </td><td class="memItemRight" valign="bottom"><b>get_key</b> (const value_type &value)</td></tr>
+<tr class="separator:a3f4bfe96ddb3db04d4701e06611fc73d"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
+Protected Attributes</h2></td></tr>
+<tr class="memitem:ae134f56adf668d7bd31f7ee8fb36ead5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae134f56adf668d7bd31f7ee8fb36ead5"></a>
+hash_compare </td><td class="memItemRight" valign="bottom"><b>my_hash_compare</b></td></tr>
+<tr class="separator:ae134f56adf668d7bd31f7ee8fb36ead5"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>concurrent_unordered_set.h</li>
+</ul>
+</div><!-- contents -->
+<hr>
+<p></p>
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
+<p></p>
+Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
+registered trademarks or trademarks of Intel Corporation or its
+subsidiaries in the United States and other countries.
+<p></p>
+* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00046.html b/doc/html/a00046.html
index 7d6a2c3..1de1a05 100644
--- a/doc/html/a00046.html
+++ b/doc/html/a00046.html
@@ -1,102 +1,716 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::concurrent_vector< T, A > Class Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<h1>tbb::concurrent_vector< T, A > Member List</h1>This is the complete list of members for <a class="el" href="a00288.html">tbb::concurrent_vector< T, A ></a>, including all inherited members.<p><table>
-  <tr bgcolor="#f0f0f0"><td><b>allocator_type</b> typedef (defined in <a class="el" href="a00288.html">tbb::concurrent_vector< T, A ></a>)</td><td><a class="el" href="a00288.html">tbb::concurrent_vector< T, A ></a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00288.html#423e5aa15e0e3309ad86d026fd85f6f6">assign</a>(size_type n, const_reference t)</td><td><a class="el" href="a00288.html">tbb::concurrent_vector< T, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00288.html#93a06b3112cb804f42f40efb5e7387b4">assign</a>(I first, I last)</td><td><a class="el" href="a00288.html">tbb::concurrent_vector< T, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00288.html#c04d64fe86696a084afa117d34384b5f">assign</a>(std::initializer_list< T > init_list)</td><td><a class="el" href="a00288.html">tbb::concurrent_vector< T, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00288.html#0c073ca43e787c7cbf7b0e26d2221748">at</a>(size_type index)</td><td><a class="el" href="a00288.html">tbb::concurrent_vector< T, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00288.html#23e14a38af748edff96a7adc3a0f1c58">at</a>(size_type index) const </td><td><a class="el" href="a00288.html">tbb::concurrent_vector< T, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00288.html#41ce48d6015a1a2812d41cf620ec3476">back</a>()</td><td><a class="el" href="a00288.html">tbb::concurrent_vector< T, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00288.html#bd518e204107d07fd08d0ec5bdfd383d">back</a>() const </td><td><a class="el" href="a00288.html">tbb::concurrent_vector< T, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00288.html#730b23a251ecb6d37f692fb22f38e029">begin</a>()</td><td><a class="el" href="a00288.html">tbb::concurrent_vector< T, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00288.html#78a06182276ff758788d4c0623ae0d71">begin</a>() const </td><td><a class="el" href="a00288.html">tbb::concurrent_vector< T, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00288.html#3ed6b9ae7217af5103d974045b6f5cd5">capacity</a>() const </td><td><a class="el" href="a00288.html">tbb::concurrent_vector< T, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00288.html#f88fcf1c920693c39bd9709db33c199f">cbegin</a>() const </td><td><a class="el" href="a00288.html">tbb::concurrent_vector< T, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00288.html#0c15a5d0f1cf75d687dabba07da1d46b">cend</a>() const </td><td><a class="el" href="a00288.html">tbb::concurrent_vector< T, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00288.html#26f937a359a66b6aae904c3cd9a3c444">clear</a>()</td><td><a class="el" href="a00288.html">tbb::concurrent_vector< T, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00288.html#1693d1da41b1a8235871be9c6633be35">compact</a>()</td><td><a class="el" href="a00288.html">tbb::concurrent_vector< T, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00288.html#2c8ca9cabfcd30ad5943324c853664b5">concurrent_vector</a>(const allocator_type &a=allocator_type())</td><td><a class="el" href="a00288.html">tbb::concurrent_vector< T, A ></a></td><td><code> [inline, explicit]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00288.html#4b4937fc82ba4c8245a87a079476d80a">concurrent_vector</a>(std::initializer_list< T > init_list, const allocator_type &a=allocator_type())</td><td><a class="el" href="a00288.html">tbb::concurrent_vector< T, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00288.html#dd8a200b99a8088435a37934b58fe335">concurrent_vector</a>(const concurrent_vector &vector, const allocator_type &a=allocator_type())</td><td><a class="el" href="a00288.html">tbb::concurrent_vector< T, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00288.html#64432f13f7b29bfe4acfb5568f34f3a8">concurrent_vector</a>(const concurrent_vector< T, M > &vector, const allocator_type &a=allocator_type())</td><td><a class="el" href="a00288.html">tbb::concurrent_vector< T, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00288.html#2a2e261dfe1cab3f73f7b1a94137cfca">concurrent_vector</a>(size_type n)</td><td><a class="el" href="a00288.html">tbb::concurrent_vector< T, A ></a></td><td><code> [inline, explicit]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00288.html#3883a8a908b44e249a57f454de3f55d8">concurrent_vector</a>(size_type n, const_reference t, const allocator_type &a=allocator_type())</td><td><a class="el" href="a00288.html">tbb::concurrent_vector< T, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00288.html#4450de83c5862ea4bcd9443fd7e67419">concurrent_vector</a>(I first, I last, const allocator_type &a=allocator_type())</td><td><a class="el" href="a00288.html">tbb::concurrent_vector< T, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>const_iterator</b> typedef (defined in <a class="el" href="a00288.html">tbb::concurrent_vector< T, A ></a>)</td><td><a class="el" href="a00288.html">tbb::concurrent_vector< T, A ></a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>const_pointer</b> typedef (defined in <a class="el" href="a00288.html">tbb::concurrent_vector< T, A ></a>)</td><td><a class="el" href="a00288.html">tbb::concurrent_vector< T, A ></a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>const_range_type</b> typedef (defined in <a class="el" href="a00288.html">tbb::concurrent_vector< T, A ></a>)</td><td><a class="el" href="a00288.html">tbb::concurrent_vector< T, A ></a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>const_reference</b> typedef (defined in <a class="el" href="a00288.html">tbb::concurrent_vector< T, A ></a>)</td><td><a class="el" href="a00288.html">tbb::concurrent_vector< T, A ></a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>const_reverse_iterator</b> typedef (defined in <a class="el" href="a00288.html">tbb::concurrent_vector< T, A ></a>)</td><td><a class="el" href="a00288.html">tbb::concurrent_vector< T, A ></a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>const_reverse_iterator</b> typedef (defined in <a class="el" href="a00288.html">tbb::concurrent_vector< T, A ></a>)</td><td><a class="el" href="a00288.html">tbb::concurrent_vector< T, A ></a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00288.html#db78a1d28c9c966050e8a2926d834a33">crbegin</a>() const </td><td><a class="el" href="a00288.html">tbb::concurrent_vector< T, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00288.html#fff9cece89438587997ebedf93c5e962">crend</a>() const </td><td><a class="el" href="a00288.html">tbb::concurrent_vector< T, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>difference_type</b> typedef (defined in <a class="el" href="a00288.html">tbb::concurrent_vector< T, A ></a>)</td><td><a class="el" href="a00288.html">tbb::concurrent_vector< T, A ></a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00288.html#c6426cb93cf20d3af40f3c90f1f0481a">empty</a>() const </td><td><a class="el" href="a00288.html">tbb::concurrent_vector< T, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00288.html#c0b51160e5a764982ec97a455f94f2c6">end</a>()</td><td><a class="el" href="a00288.html">tbb::concurrent_vector< T, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00288.html#1e6aa764ce5a1cbd24526f68bc0a2f6b">end</a>() const </td><td><a class="el" href="a00288.html">tbb::concurrent_vector< T, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00288.html#15181759c0bfa2ddce5d10c7550e0002">front</a>()</td><td><a class="el" href="a00288.html">tbb::concurrent_vector< T, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00288.html#502615a858eb9fa0390ee59169065e90">front</a>() const </td><td><a class="el" href="a00288.html">tbb::concurrent_vector< T, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00288.html#2fdba8e90de6a4d2300222236d46758e">get_allocator</a>() const </td><td><a class="el" href="a00288.html">tbb::concurrent_vector< T, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00288.html#30484e3959892fd5392fa93c873c31f0">grow_by</a>(size_type delta)</td><td><a class="el" href="a00288.html">tbb::concurrent_vector< T, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00288.html#c8177b1865270ea68aa1ab9148e5e35e">grow_by</a>(size_type delta)</td><td><a class="el" href="a00288.html">tbb::concurrent_vector< T, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00288.html#38274ab3f772ecba600c7daca7690102">grow_by</a>(size_type delta, const_reference t)</td><td><a class="el" href="a00288.html">tbb::concurrent_vector< T, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00288.html#473a59a4c9308b93411b898b3110d26c">grow_by</a>(size_type delta, const_reference t)</td><td><a class="el" href="a00288.html">tbb::concurrent_vector< T, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00288.html#47fe588214dd5fa06ab6e8ab78d83874">grow_to_at_least</a>(size_type n)</td><td><a class="el" href="a00288.html">tbb::concurrent_vector< T, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00288.html#a7e3b67c8ccab16d0aecc80899ae799d">grow_to_at_least</a>(size_type n)</td><td><a class="el" href="a00288.html">tbb::concurrent_vector< T, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>internal::vector_iterator</b> (defined in <a class="el" href="a00288.html">tbb::concurrent_vector< T, A ></a>)</td><td><a class="el" href="a00288.html">tbb::concurrent_vector< T, A ></a></td><td><code> [friend]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>internal_vector_base</b>() const  (defined in <a class="el" href="a00288.html">tbb::concurrent_vector< T, A ></a>)</td><td><a class="el" href="a00288.html">tbb::concurrent_vector< T, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>iterator</b> typedef (defined in <a class="el" href="a00288.html">tbb::concurrent_vector< T, A ></a>)</td><td><a class="el" href="a00288.html">tbb::concurrent_vector< T, A ></a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00288.html#2c248a017f0576df3e7cd99627836fd6">max_size</a>() const </td><td><a class="el" href="a00288.html">tbb::concurrent_vector< T, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00288.html#691f0f3cda3e489c37a657016e375eaf">operator=</a>(const concurrent_vector &vector)</td><td><a class="el" href="a00288.html">tbb::concurrent_vector< T, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00288.html#19f4ab88a01b0fd056af3bba463e7bd6">operator=</a>(const concurrent_vector< T, M > &vector)</td><td><a class="el" href="a00288.html">tbb::concurrent_vector< T, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00288.html#85cc876b1dec457b831b4745be274be1">operator=</a>(const std::initializer_list< T > &init_list)</td><td><a class="el" href="a00288.html">tbb::concurrent_vector< T, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00288.html#4c52f2950bb1832886bd4458eb09d7eb">operator[]</a>(size_type index)</td><td><a class="el" href="a00288.html">tbb::concurrent_vector< T, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00288.html#c6fade5c732cc95274d1d8277ea619d1">operator[]</a>(size_type index) const </td><td><a class="el" href="a00288.html">tbb::concurrent_vector< T, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>pointer</b> typedef (defined in <a class="el" href="a00288.html">tbb::concurrent_vector< T, A ></a>)</td><td><a class="el" href="a00288.html">tbb::concurrent_vector< T, A ></a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00288.html#e94e038f915c0268fdf2d3d7f87d81b8">push_back</a>(const_reference item) iterator push_back(const _reference item)</td><td><a class="el" href="a00288.html">tbb::concurrent_vector< T, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00288.html#a4c6ffff3bf08b92939aa2fc516edfba">range</a>(size_t grainsize=1)</td><td><a class="el" href="a00288.html">tbb::concurrent_vector< T, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00288.html#3d09ccfb581b879ae64203741035e193">range</a>(size_t grainsize=1) const </td><td><a class="el" href="a00288.html">tbb::concurrent_vector< T, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>range_type</b> typedef (defined in <a class="el" href="a00288.html">tbb::concurrent_vector< T, A ></a>)</td><td><a class="el" href="a00288.html">tbb::concurrent_vector< T, A ></a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00288.html#5e220926d09236d98f04fe0721e5f9a1">rbegin</a>()</td><td><a class="el" href="a00288.html">tbb::concurrent_vector< T, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00288.html#9f9c103e18d5f212703805354074ad44">rbegin</a>() const </td><td><a class="el" href="a00288.html">tbb::concurrent_vector< T, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>reference</b> typedef (defined in <a class="el" href="a00288.html">tbb::concurrent_vector< T, A ></a>)</td><td><a class="el" href="a00288.html">tbb::concurrent_vector< T, A ></a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00288.html#290119a4eb43cd6a9e98fa17016ba3c2">rend</a>()</td><td><a class="el" href="a00288.html">tbb::concurrent_vector< T, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00288.html#d438b9b32ea3a8ffb703015b6dce055b">rend</a>() const </td><td><a class="el" href="a00288.html">tbb::concurrent_vector< T, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00288.html#5a0ce05026994b010018f72cfdeb72c1">reserve</a>(size_type n)</td><td><a class="el" href="a00288.html">tbb::concurrent_vector< T, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00288.html#8dfb0cb0eef96d440b4dcf801807a718">resize</a>(size_type n)</td><td><a class="el" href="a00288.html">tbb::concurrent_vector< T, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00288.html#98ce6b2c6d2622f0c030b46dfac3880c">resize</a>(size_type n, const_reference t)</td><td><a class="el" href="a00288.html">tbb::concurrent_vector< T, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>reverse_iterator</b> typedef (defined in <a class="el" href="a00288.html">tbb::concurrent_vector< T, A ></a>)</td><td><a class="el" href="a00288.html">tbb::concurrent_vector< T, A ></a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>reverse_iterator</b> typedef (defined in <a class="el" href="a00288.html">tbb::concurrent_vector< T, A ></a>)</td><td><a class="el" href="a00288.html">tbb::concurrent_vector< T, A ></a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00288.html#03c6f4cf66532bf4cc907ee738a9a186">shrink_to_fit</a>()</td><td><a class="el" href="a00288.html">tbb::concurrent_vector< T, A ></a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00288.html#715fe313c4a9c22731cc404dd80c9ec9">size</a>() const </td><td><a class="el" href="a00288.html">tbb::concurrent_vector< T, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>size_type</b> typedef (defined in <a class="el" href="a00288.html">tbb::concurrent_vector< T, A ></a>)</td><td><a class="el" href="a00288.html">tbb::concurrent_vector< T, A ></a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00288.html#96c9c4bd968ed3edb8dd276854d2dae0">swap</a>(concurrent_vector &vector)</td><td><a class="el" href="a00288.html">tbb::concurrent_vector< T, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>value_type</b> typedef (defined in <a class="el" href="a00288.html">tbb::concurrent_vector< T, A ></a>)</td><td><a class="el" href="a00288.html">tbb::concurrent_vector< T, A ></a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00288.html#da2444b28bb840d38f60d0030333a5fc">~concurrent_vector</a>()</td><td><a class="el" href="a00288.html">tbb::concurrent_vector< T, A ></a></td><td><code> [inline]</code></td></tr>
-</table><hr>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00046.html">concurrent_vector</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Classes</a> |
+<a href="#pub-types">Public Types</a> |
+<a href="#pub-methods">Public Member Functions</a> |
+<a href="#friends">Friends</a> |
+<a href="a00257.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::concurrent_vector< T, A > Class Template Reference<div class="ingroups"><a class="el" href="a00235.html">Containers</a></div></div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Concurrent vector container.  
+ <a href="a00046.html#details">More...</a></p>
+
+<p><code>#include <concurrent_vector.h></code></p>
+<div class="dynheader">
+Inheritance diagram for tbb::concurrent_vector< T, A >:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00046.png" usemap="#tbb::concurrent_vector< T, A >_map" alt=""/>
+  <map id="tbb::concurrent_vector< T, A >_map" name="tbb::concurrent_vector< T, A >_map">
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:ada098ff121699bfed7ae37e759eff93d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ada098ff121699bfed7ae37e759eff93d"></a>
+typedef <br class="typebreak"/>
+internal::concurrent_vector_base_v3::size_type </td><td class="memItemRight" valign="bottom"><b>size_type</b></td></tr>
+<tr class="separator:ada098ff121699bfed7ae37e759eff93d"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a7560567b5735c57159e55b12d20b6710"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7560567b5735c57159e55b12d20b6710"></a>
+typedef <br class="typebreak"/>
+internal::allocator_base< T, A ><br class="typebreak"/>
+::allocator_type </td><td class="memItemRight" valign="bottom"><b>allocator_type</b></td></tr>
+<tr class="separator:a7560567b5735c57159e55b12d20b6710"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a5cf801a503d4e5fe739f53d7321dd2ef"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5cf801a503d4e5fe739f53d7321dd2ef"></a>
+typedef T </td><td class="memItemRight" valign="bottom"><b>value_type</b></td></tr>
+<tr class="separator:a5cf801a503d4e5fe739f53d7321dd2ef"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a1bb52adb877d3b680dac5f0bd289700b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1bb52adb877d3b680dac5f0bd289700b"></a>
+typedef ptrdiff_t </td><td class="memItemRight" valign="bottom"><b>difference_type</b></td></tr>
+<tr class="separator:a1bb52adb877d3b680dac5f0bd289700b"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a412441e93ad8656f96b14c5ecb9d817f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a412441e93ad8656f96b14c5ecb9d817f"></a>
+typedef T & </td><td class="memItemRight" valign="bottom"><b>reference</b></td></tr>
+<tr class="separator:a412441e93ad8656f96b14c5ecb9d817f"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a5ecbb1eb2c7264df9d58255ce211207c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5ecbb1eb2c7264df9d58255ce211207c"></a>
+typedef const T & </td><td class="memItemRight" valign="bottom"><b>const_reference</b></td></tr>
+<tr class="separator:a5ecbb1eb2c7264df9d58255ce211207c"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aa2c4f00678df69d2d11497e8dd6ed9cf"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa2c4f00678df69d2d11497e8dd6ed9cf"></a>
+typedef T * </td><td class="memItemRight" valign="bottom"><b>pointer</b></td></tr>
+<tr class="separator:aa2c4f00678df69d2d11497e8dd6ed9cf"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:afa0d28eb686589cbaf4733ca0eabc071"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afa0d28eb686589cbaf4733ca0eabc071"></a>
+typedef const T * </td><td class="memItemRight" valign="bottom"><b>const_pointer</b></td></tr>
+<tr class="separator:afa0d28eb686589cbaf4733ca0eabc071"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a4cee8eaee236867c0b6e87309380cb0f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4cee8eaee236867c0b6e87309380cb0f"></a>
+typedef <br class="typebreak"/>
+internal::vector_iterator<br class="typebreak"/>
+< <a class="el" href="a00046.html">concurrent_vector</a>, T > </td><td class="memItemRight" valign="bottom"><b>iterator</b></td></tr>
+<tr class="separator:a4cee8eaee236867c0b6e87309380cb0f"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aa9a55035528c055ae985db2a61c8b0b2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa9a55035528c055ae985db2a61c8b0b2"></a>
+typedef <br class="typebreak"/>
+internal::vector_iterator<br class="typebreak"/>
+< <a class="el" href="a00046.html">concurrent_vector</a>, const T > </td><td class="memItemRight" valign="bottom"><b>const_iterator</b></td></tr>
+<tr class="separator:aa9a55035528c055ae985db2a61c8b0b2"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a1623110816f9ef8f08e7bf6768aed273"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1623110816f9ef8f08e7bf6768aed273"></a>
+typedef std::reverse_iterator<br class="typebreak"/>
+< iterator > </td><td class="memItemRight" valign="bottom"><b>reverse_iterator</b></td></tr>
+<tr class="separator:a1623110816f9ef8f08e7bf6768aed273"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ada43b048144c3814036da624d3bb8c58"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ada43b048144c3814036da624d3bb8c58"></a>
+typedef std::reverse_iterator<br class="typebreak"/>
+< const_iterator > </td><td class="memItemRight" valign="bottom"><b>const_reverse_iterator</b></td></tr>
+<tr class="separator:ada43b048144c3814036da624d3bb8c58"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:adbeeef740ea402fa136ca3962fc0c307"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adbeeef740ea402fa136ca3962fc0c307"></a>
+typedef std::reverse_iterator<br class="typebreak"/>
+< iterator, T, T &, T * > </td><td class="memItemRight" valign="bottom"><b>reverse_iterator</b></td></tr>
+<tr class="separator:adbeeef740ea402fa136ca3962fc0c307"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a705a54ffc90b914fc9c30d4177e8228a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a705a54ffc90b914fc9c30d4177e8228a"></a>
+typedef std::reverse_iterator<br class="typebreak"/>
+< const_iterator, T, const T <br class="typebreak"/>
+&, const T * > </td><td class="memItemRight" valign="bottom"><b>const_reverse_iterator</b></td></tr>
+<tr class="separator:a705a54ffc90b914fc9c30d4177e8228a"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a443492ee9918c9e3372b5daca82314ca"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a443492ee9918c9e3372b5daca82314ca"></a>
+typedef generic_range_type<br class="typebreak"/>
+< iterator > </td><td class="memItemRight" valign="bottom"><b>range_type</b></td></tr>
+<tr class="separator:a443492ee9918c9e3372b5daca82314ca"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a1312eb29abf7ca07aa365c727b7844e3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1312eb29abf7ca07aa365c727b7844e3"></a>
+typedef generic_range_type<br class="typebreak"/>
+< const_iterator > </td><td class="memItemRight" valign="bottom"><b>const_range_type</b></td></tr>
+<tr class="separator:a1312eb29abf7ca07aa365c727b7844e3"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a5bd95c2241653c760704a92b2c887a48"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5bd95c2241653c760704a92b2c887a48"></a>
+ </td><td class="memItemRight" valign="bottom"><a class="el" href="a00046.html#a5bd95c2241653c760704a92b2c887a48">concurrent_vector</a> (const allocator_type &a=allocator_type())</td></tr>
+<tr class="memdesc:a5bd95c2241653c760704a92b2c887a48"><td class="mdescLeft"> </td><td class="mdescRight">Construct empty vector. <br/></td></tr>
+<tr class="separator:a5bd95c2241653c760704a92b2c887a48"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aa25dccd2f65fbfa148e92d01a11c20ff"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa25dccd2f65fbfa148e92d01a11c20ff"></a>
+ </td><td class="memItemRight" valign="bottom"><a class="el" href="a00046.html#aa25dccd2f65fbfa148e92d01a11c20ff">concurrent_vector</a> (std::initializer_list< T > init_list, const allocator_type &a=allocator_type())</td></tr>
+<tr class="memdesc:aa25dccd2f65fbfa148e92d01a11c20ff"><td class="mdescLeft"> </td><td class="mdescRight">Constructor from initializer_list. <br/></td></tr>
+<tr class="separator:aa25dccd2f65fbfa148e92d01a11c20ff"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a03b5a0e9069b30dc4e2e5fc2f191ccb6"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a03b5a0e9069b30dc4e2e5fc2f191ccb6"></a>
+ </td><td class="memItemRight" valign="bottom"><a class="el" href="a00046.html#a03b5a0e9069b30dc4e2e5fc2f191ccb6">concurrent_vector</a> (const <a class="el" href="a00046.html">concurrent_vector</a> &vector, const allocator_type &a=allocator_type())</td></tr>
+<tr class="memdesc:a03b5a0e9069b30dc4e2e5fc2f191ccb6"><td class="mdescLeft"> </td><td class="mdescRight">Copying constructor. <br/></td></tr>
+<tr class="separator:a03b5a0e9069b30dc4e2e5fc2f191ccb6"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:abb0e376a31c3fdb91beaaa98441735f5"><td class="memTemplParams" colspan="2"><a class="anchor" id="abb0e376a31c3fdb91beaaa98441735f5"></a>
+template<class M > </td></tr>
+<tr class="memitem:abb0e376a31c3fdb91beaaa98441735f5"><td class="memTemplItemLeft" align="right" valign="top"> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00046.html#abb0e376a31c3fdb91beaaa98441735f5">concurrent_vector</a> (const <a class="el" href="a00046.html">concurrent_vector</a>< T, M > &vector, const allocator_type &a=allocator_type())</td></tr>
+<tr class="memdesc:abb0e376a31c3fdb91beaaa98441735f5"><td class="mdescLeft"> </td><td class="mdescRight">Copying constructor for vector with different allocator type. <br/></td></tr>
+<tr class="separator:abb0e376a31c3fdb91beaaa98441735f5"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aa898a39aad73711ceca70cd465dc0b4f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa898a39aad73711ceca70cd465dc0b4f"></a>
+ </td><td class="memItemRight" valign="bottom"><a class="el" href="a00046.html#aa898a39aad73711ceca70cd465dc0b4f">concurrent_vector</a> (size_type n)</td></tr>
+<tr class="memdesc:aa898a39aad73711ceca70cd465dc0b4f"><td class="mdescLeft"> </td><td class="mdescRight">Construction with initial size specified by argument n. <br/></td></tr>
+<tr class="separator:aa898a39aad73711ceca70cd465dc0b4f"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a736c6e35f1df11625636968ea546e21f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a736c6e35f1df11625636968ea546e21f"></a>
+ </td><td class="memItemRight" valign="bottom"><a class="el" href="a00046.html#a736c6e35f1df11625636968ea546e21f">concurrent_vector</a> (size_type n, const_reference t, const allocator_type &a=allocator_type())</td></tr>
+<tr class="memdesc:a736c6e35f1df11625636968ea546e21f"><td class="mdescLeft"> </td><td class="mdescRight">Construction with initial size specified by argument n, initialization by copying of t, and given allocator instance. <br/></td></tr>
+<tr class="separator:a736c6e35f1df11625636968ea546e21f"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ae0d384ec56032d18f63e26960029d3ce"><td class="memTemplParams" colspan="2"><a class="anchor" id="ae0d384ec56032d18f63e26960029d3ce"></a>
+template<class I > </td></tr>
+<tr class="memitem:ae0d384ec56032d18f63e26960029d3ce"><td class="memTemplItemLeft" align="right" valign="top"> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00046.html#ae0d384ec56032d18f63e26960029d3ce">concurrent_vector</a> (I first, I last, const allocator_type &a=allocator_type())</td></tr>
+<tr class="memdesc:ae0d384ec56032d18f63e26960029d3ce"><td class="mdescLeft"> </td><td class="mdescRight">Construction with copying iteration range and given allocator instance. <br/></td></tr>
+<tr class="separator:ae0d384ec56032d18f63e26960029d3ce"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a920384aece0eb8beea3049956320ec91"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a920384aece0eb8beea3049956320ec91"></a>
+<a class="el" href="a00046.html">concurrent_vector</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="a00046.html#a920384aece0eb8beea3049956320ec91">operator=</a> (const <a class="el" href="a00046.html">concurrent_vector</a> &vector)</td></tr>
+<tr class="memdesc:a920384aece0eb8beea3049956320ec91"><td class="mdescLeft"> </td><td class="mdescRight">Assignment. <br/></td></tr>
+<tr class="separator:a920384aece0eb8beea3049956320ec91"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a1fe7f0b60bbf304890a9293a35e6819d"><td class="memTemplParams" colspan="2"><a class="anchor" id="a1fe7f0b60bbf304890a9293a35e6819d"></a>
+template<class M > </td></tr>
+<tr class="memitem:a1fe7f0b60bbf304890a9293a35e6819d"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="a00046.html">concurrent_vector</a> & </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00046.html#a1fe7f0b60bbf304890a9293a35e6819d">operator=</a> (const <a class="el" href="a00046.html">concurrent_vector</a>< T, M > &vector)</td></tr>
+<tr class="memdesc:a1fe7f0b60bbf304890a9293a35e6819d"><td class="mdescLeft"> </td><td class="mdescRight">Assignment for vector with different allocator type. <br/></td></tr>
+<tr class="separator:a1fe7f0b60bbf304890a9293a35e6819d"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a6e57d73b199ccd03922898e9da4888fb"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6e57d73b199ccd03922898e9da4888fb"></a>
+<a class="el" href="a00046.html">concurrent_vector</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="a00046.html#a6e57d73b199ccd03922898e9da4888fb">operator=</a> (const std::initializer_list< T > &init_list)</td></tr>
+<tr class="memdesc:a6e57d73b199ccd03922898e9da4888fb"><td class="mdescLeft"> </td><td class="mdescRight">Assignment for initializer_list. <br/></td></tr>
+<tr class="separator:a6e57d73b199ccd03922898e9da4888fb"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a9c8452b88bc79c3c88d47c455064c012"><td class="memItemLeft" align="right" valign="top">size_type </td><td class="memItemRight" valign="bottom"><a class="el" href="a00046.html#a9c8452b88bc79c3c88d47c455064c012">grow_by</a> (size_type delta)</td></tr>
+<tr class="memdesc:a9c8452b88bc79c3c88d47c455064c012"><td class="mdescLeft"> </td><td class="mdescRight">Grow by "delta" elements.  <a href="#a9c8452b88bc79c3c88d47c455064c012">More...</a><br/></td></tr>
+<tr class="separator:a9c8452b88bc79c3c88d47c455064c012"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ab89c2db5358048debdc282ff995caffb"><td class="memItemLeft" align="right" valign="top">iterator </td><td class="memItemRight" valign="bottom"><a class="el" href="a00046.html#ab89c2db5358048debdc282ff995caffb">grow_by</a> (size_type delta)</td></tr>
+<tr class="separator:ab89c2db5358048debdc282ff995caffb"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a9dae5d9368fd852426552b21d67beb86"><td class="memItemLeft" align="right" valign="top">size_type </td><td class="memItemRight" valign="bottom"><a class="el" href="a00046.html#a9dae5d9368fd852426552b21d67beb86">grow_by</a> (size_type delta, const_reference t)</td></tr>
+<tr class="memdesc:a9dae5d9368fd852426552b21d67beb86"><td class="mdescLeft"> </td><td class="mdescRight">Grow by "delta" elements using copying constructor.  <a href="#a9dae5d9368fd852426552b21d67beb86">More...</a><br/></td></tr>
+<tr class="separator:a9dae5d9368fd852426552b21d67beb86"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aa11fc991cda82cf93789fce31b37a16c"><td class="memItemLeft" align="right" valign="top">iterator </td><td class="memItemRight" valign="bottom"><a class="el" href="a00046.html#aa11fc991cda82cf93789fce31b37a16c">grow_by</a> (size_type delta, const_reference t)</td></tr>
+<tr class="separator:aa11fc991cda82cf93789fce31b37a16c"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:af52b603dd76a99dffe5760f0db4747f1"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00046.html#af52b603dd76a99dffe5760f0db4747f1">grow_to_at_least</a> (size_type n)</td></tr>
+<tr class="memdesc:af52b603dd76a99dffe5760f0db4747f1"><td class="mdescLeft"> </td><td class="mdescRight">Append minimal sequence of elements such that <a class="el" href="a00046.html#a803268c16e3688ff4681251947d257c7" title="Return size of vector. It may include elements under construction. ">size()</a>>=n.  <a href="#af52b603dd76a99dffe5760f0db4747f1">More...</a><br/></td></tr>
+<tr class="separator:af52b603dd76a99dffe5760f0db4747f1"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ae9ef9895e88f9bf036b379035c18f035"><td class="memItemLeft" align="right" valign="top">iterator </td><td class="memItemRight" valign="bottom"><a class="el" href="a00046.html#ae9ef9895e88f9bf036b379035c18f035">grow_to_at_least</a> (size_type n)</td></tr>
+<tr class="separator:ae9ef9895e88f9bf036b379035c18f035"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a4a5c85a9e6ff82e15c18da47a95b518f"><td class="memItemLeft" align="right" valign="top">size_type </td><td class="memItemRight" valign="bottom"><a class="el" href="a00046.html#a4a5c85a9e6ff82e15c18da47a95b518f">push_back</a> (const_reference item) iterator push_back(const _reference item)</td></tr>
+<tr class="memdesc:a4a5c85a9e6ff82e15c18da47a95b518f"><td class="mdescLeft"> </td><td class="mdescRight">Push item.  <a href="#a4a5c85a9e6ff82e15c18da47a95b518f">More...</a><br/></td></tr>
+<tr class="separator:a4a5c85a9e6ff82e15c18da47a95b518f"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a3097cb46511504acfc9de7da5235f4a6"><td class="memItemLeft" align="right" valign="top">reference </td><td class="memItemRight" valign="bottom"><a class="el" href="a00046.html#a3097cb46511504acfc9de7da5235f4a6">operator[]</a> (size_type index)</td></tr>
+<tr class="memdesc:a3097cb46511504acfc9de7da5235f4a6"><td class="mdescLeft"> </td><td class="mdescRight">Get reference to element at given index.  <a href="#a3097cb46511504acfc9de7da5235f4a6">More...</a><br/></td></tr>
+<tr class="separator:a3097cb46511504acfc9de7da5235f4a6"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:abd6ca67f2f97fafca48395af2e693e73"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abd6ca67f2f97fafca48395af2e693e73"></a>
+const_reference </td><td class="memItemRight" valign="bottom"><a class="el" href="a00046.html#abd6ca67f2f97fafca48395af2e693e73">operator[]</a> (size_type index) const </td></tr>
+<tr class="memdesc:abd6ca67f2f97fafca48395af2e693e73"><td class="mdescLeft"> </td><td class="mdescRight">Get const reference to element at given index. <br/></td></tr>
+<tr class="separator:abd6ca67f2f97fafca48395af2e693e73"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a629a29eb21e528414b9d5c9becfe05cd"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a629a29eb21e528414b9d5c9becfe05cd"></a>
+reference </td><td class="memItemRight" valign="bottom"><a class="el" href="a00046.html#a629a29eb21e528414b9d5c9becfe05cd">at</a> (size_type index)</td></tr>
+<tr class="memdesc:a629a29eb21e528414b9d5c9becfe05cd"><td class="mdescLeft"> </td><td class="mdescRight">Get reference to element at given index. Throws exceptions on errors. <br/></td></tr>
+<tr class="separator:a629a29eb21e528414b9d5c9becfe05cd"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ae4dc6c1b55c0e0b73f0a8675ef2b60a4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae4dc6c1b55c0e0b73f0a8675ef2b60a4"></a>
+const_reference </td><td class="memItemRight" valign="bottom"><a class="el" href="a00046.html#ae4dc6c1b55c0e0b73f0a8675ef2b60a4">at</a> (size_type index) const </td></tr>
+<tr class="memdesc:ae4dc6c1b55c0e0b73f0a8675ef2b60a4"><td class="mdescLeft"> </td><td class="mdescRight">Get const reference to element at given index. Throws exceptions on errors. <br/></td></tr>
+<tr class="separator:ae4dc6c1b55c0e0b73f0a8675ef2b60a4"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a8201f65735edcc28aeec95b6e73d75b6"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8201f65735edcc28aeec95b6e73d75b6"></a>
+range_type </td><td class="memItemRight" valign="bottom"><a class="el" href="a00046.html#a8201f65735edcc28aeec95b6e73d75b6">range</a> (size_t grainsize=1)</td></tr>
+<tr class="memdesc:a8201f65735edcc28aeec95b6e73d75b6"><td class="mdescLeft"> </td><td class="mdescRight">Get range for iterating with parallel algorithms. <br/></td></tr>
+<tr class="separator:a8201f65735edcc28aeec95b6e73d75b6"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a8fcc32ec9ccb48c3327a88fe288c7538"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8fcc32ec9ccb48c3327a88fe288c7538"></a>
+const_range_type </td><td class="memItemRight" valign="bottom"><a class="el" href="a00046.html#a8fcc32ec9ccb48c3327a88fe288c7538">range</a> (size_t grainsize=1) const </td></tr>
+<tr class="memdesc:a8fcc32ec9ccb48c3327a88fe288c7538"><td class="mdescLeft"> </td><td class="mdescRight">Get const range for iterating with parallel algorithms. <br/></td></tr>
+<tr class="separator:a8fcc32ec9ccb48c3327a88fe288c7538"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a803268c16e3688ff4681251947d257c7"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a803268c16e3688ff4681251947d257c7"></a>
+size_type </td><td class="memItemRight" valign="bottom"><a class="el" href="a00046.html#a803268c16e3688ff4681251947d257c7">size</a> () const </td></tr>
+<tr class="memdesc:a803268c16e3688ff4681251947d257c7"><td class="mdescLeft"> </td><td class="mdescRight">Return size of vector. It may include elements under construction. <br/></td></tr>
+<tr class="separator:a803268c16e3688ff4681251947d257c7"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aa3f6774107e65642f73c0dcc9a962fe7"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa3f6774107e65642f73c0dcc9a962fe7"></a>
+bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00046.html#aa3f6774107e65642f73c0dcc9a962fe7">empty</a> () const </td></tr>
+<tr class="memdesc:aa3f6774107e65642f73c0dcc9a962fe7"><td class="mdescLeft"> </td><td class="mdescRight">Return false if vector is not empty or has elements under construction at least. <br/></td></tr>
+<tr class="separator:aa3f6774107e65642f73c0dcc9a962fe7"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a96c2ae9dfedc24d62554feb627df76c3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a96c2ae9dfedc24d62554feb627df76c3"></a>
+size_type </td><td class="memItemRight" valign="bottom"><a class="el" href="a00046.html#a96c2ae9dfedc24d62554feb627df76c3">capacity</a> () const </td></tr>
+<tr class="memdesc:a96c2ae9dfedc24d62554feb627df76c3"><td class="mdescLeft"> </td><td class="mdescRight">Maximum size to which array can grow without allocating more memory. Concurrent allocations are not included in the value. <br/></td></tr>
+<tr class="separator:a96c2ae9dfedc24d62554feb627df76c3"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a0b3284684328c58c0228c9a697ef3594"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00046.html#a0b3284684328c58c0228c9a697ef3594">reserve</a> (size_type n)</td></tr>
+<tr class="memdesc:a0b3284684328c58c0228c9a697ef3594"><td class="mdescLeft"> </td><td class="mdescRight">Allocate enough space to grow to size n without having to allocate more memory later.  <a href="#a0b3284684328c58c0228c9a697ef3594">More...</a><br/></td></tr>
+<tr class="separator:a0b3284684328c58c0228c9a697ef3594"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a65e53a98a1e1fdb515fdc2b84e2314e8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a65e53a98a1e1fdb515fdc2b84e2314e8"></a>
+void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00046.html#a65e53a98a1e1fdb515fdc2b84e2314e8">resize</a> (size_type n)</td></tr>
+<tr class="memdesc:a65e53a98a1e1fdb515fdc2b84e2314e8"><td class="mdescLeft"> </td><td class="mdescRight">Resize the vector. Not thread-safe. <br/></td></tr>
+<tr class="separator:a65e53a98a1e1fdb515fdc2b84e2314e8"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a941917a8a840ff08ce8810ca9476ff46"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a941917a8a840ff08ce8810ca9476ff46"></a>
+void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00046.html#a941917a8a840ff08ce8810ca9476ff46">resize</a> (size_type n, const_reference t)</td></tr>
+<tr class="memdesc:a941917a8a840ff08ce8810ca9476ff46"><td class="mdescLeft"> </td><td class="mdescRight">Resize the vector, copy t for new elements. Not thread-safe. <br/></td></tr>
+<tr class="separator:a941917a8a840ff08ce8810ca9476ff46"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:af2101247808fd0e81b992724e317a7f3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af2101247808fd0e81b992724e317a7f3"></a>
+void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00046.html#af2101247808fd0e81b992724e317a7f3">compact</a> ()</td></tr>
+<tr class="memdesc:af2101247808fd0e81b992724e317a7f3"><td class="mdescLeft"> </td><td class="mdescRight">An alias for <a class="el" href="a00046.html#aba805b5225ad3399550f78ea15e51e93" title="Optimize memory usage and fragmentation. ">shrink_to_fit()</a> <br/></td></tr>
+<tr class="separator:af2101247808fd0e81b992724e317a7f3"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aba805b5225ad3399550f78ea15e51e93"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aba805b5225ad3399550f78ea15e51e93"></a>
+void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00046.html#aba805b5225ad3399550f78ea15e51e93">shrink_to_fit</a> ()</td></tr>
+<tr class="memdesc:aba805b5225ad3399550f78ea15e51e93"><td class="mdescLeft"> </td><td class="mdescRight">Optimize memory usage and fragmentation. <br/></td></tr>
+<tr class="separator:aba805b5225ad3399550f78ea15e51e93"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a0ec9c3ab3360e04bdaa5174956a3206d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0ec9c3ab3360e04bdaa5174956a3206d"></a>
+size_type </td><td class="memItemRight" valign="bottom"><a class="el" href="a00046.html#a0ec9c3ab3360e04bdaa5174956a3206d">max_size</a> () const </td></tr>
+<tr class="memdesc:a0ec9c3ab3360e04bdaa5174956a3206d"><td class="mdescLeft"> </td><td class="mdescRight">Upper bound on argument to reserve. <br/></td></tr>
+<tr class="separator:a0ec9c3ab3360e04bdaa5174956a3206d"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ab55636c80368ad7d400f3200313fcf5f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab55636c80368ad7d400f3200313fcf5f"></a>
+iterator </td><td class="memItemRight" valign="bottom"><a class="el" href="a00046.html#ab55636c80368ad7d400f3200313fcf5f">begin</a> ()</td></tr>
+<tr class="memdesc:ab55636c80368ad7d400f3200313fcf5f"><td class="mdescLeft"> </td><td class="mdescRight">start iterator <br/></td></tr>
+<tr class="separator:ab55636c80368ad7d400f3200313fcf5f"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aad2c07653375e4a5f89c33b375eda610"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aad2c07653375e4a5f89c33b375eda610"></a>
+iterator </td><td class="memItemRight" valign="bottom"><a class="el" href="a00046.html#aad2c07653375e4a5f89c33b375eda610">end</a> ()</td></tr>
+<tr class="memdesc:aad2c07653375e4a5f89c33b375eda610"><td class="mdescLeft"> </td><td class="mdescRight">end iterator <br/></td></tr>
+<tr class="separator:aad2c07653375e4a5f89c33b375eda610"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ad3eb33d1b10a988a87cc708ceb08f3a9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad3eb33d1b10a988a87cc708ceb08f3a9"></a>
+const_iterator </td><td class="memItemRight" valign="bottom"><a class="el" href="a00046.html#ad3eb33d1b10a988a87cc708ceb08f3a9">begin</a> () const </td></tr>
+<tr class="memdesc:ad3eb33d1b10a988a87cc708ceb08f3a9"><td class="mdescLeft"> </td><td class="mdescRight">start const iterator <br/></td></tr>
+<tr class="separator:ad3eb33d1b10a988a87cc708ceb08f3a9"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a6a4ad0795a19d94df24595e748f0b193"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6a4ad0795a19d94df24595e748f0b193"></a>
+const_iterator </td><td class="memItemRight" valign="bottom"><a class="el" href="a00046.html#a6a4ad0795a19d94df24595e748f0b193">end</a> () const </td></tr>
+<tr class="memdesc:a6a4ad0795a19d94df24595e748f0b193"><td class="mdescLeft"> </td><td class="mdescRight">end const iterator <br/></td></tr>
+<tr class="separator:a6a4ad0795a19d94df24595e748f0b193"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a7a1c5441fa480c07ef37d9206b6260cc"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7a1c5441fa480c07ef37d9206b6260cc"></a>
+const_iterator </td><td class="memItemRight" valign="bottom"><a class="el" href="a00046.html#a7a1c5441fa480c07ef37d9206b6260cc">cbegin</a> () const </td></tr>
+<tr class="memdesc:a7a1c5441fa480c07ef37d9206b6260cc"><td class="mdescLeft"> </td><td class="mdescRight">start const iterator <br/></td></tr>
+<tr class="separator:a7a1c5441fa480c07ef37d9206b6260cc"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a9ea80faf139feb54d6576c036e4ba898"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9ea80faf139feb54d6576c036e4ba898"></a>
+const_iterator </td><td class="memItemRight" valign="bottom"><a class="el" href="a00046.html#a9ea80faf139feb54d6576c036e4ba898">cend</a> () const </td></tr>
+<tr class="memdesc:a9ea80faf139feb54d6576c036e4ba898"><td class="mdescLeft"> </td><td class="mdescRight">end const iterator <br/></td></tr>
+<tr class="separator:a9ea80faf139feb54d6576c036e4ba898"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a9a2f8dce0adcbef8e29273c23723a78e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9a2f8dce0adcbef8e29273c23723a78e"></a>
+reverse_iterator </td><td class="memItemRight" valign="bottom"><a class="el" href="a00046.html#a9a2f8dce0adcbef8e29273c23723a78e">rbegin</a> ()</td></tr>
+<tr class="memdesc:a9a2f8dce0adcbef8e29273c23723a78e"><td class="mdescLeft"> </td><td class="mdescRight">reverse start iterator <br/></td></tr>
+<tr class="separator:a9a2f8dce0adcbef8e29273c23723a78e"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a618f38279a370c18f73ea2c29ded9cb9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a618f38279a370c18f73ea2c29ded9cb9"></a>
+reverse_iterator </td><td class="memItemRight" valign="bottom"><a class="el" href="a00046.html#a618f38279a370c18f73ea2c29ded9cb9">rend</a> ()</td></tr>
+<tr class="memdesc:a618f38279a370c18f73ea2c29ded9cb9"><td class="mdescLeft"> </td><td class="mdescRight">reverse end iterator <br/></td></tr>
+<tr class="separator:a618f38279a370c18f73ea2c29ded9cb9"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a976b0bed19de9ab93f78c10184a4e38f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a976b0bed19de9ab93f78c10184a4e38f"></a>
+const_reverse_iterator </td><td class="memItemRight" valign="bottom"><a class="el" href="a00046.html#a976b0bed19de9ab93f78c10184a4e38f">rbegin</a> () const </td></tr>
+<tr class="memdesc:a976b0bed19de9ab93f78c10184a4e38f"><td class="mdescLeft"> </td><td class="mdescRight">reverse start const iterator <br/></td></tr>
+<tr class="separator:a976b0bed19de9ab93f78c10184a4e38f"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:abdb98e17cb65d9c445d7fd1e662c2699"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abdb98e17cb65d9c445d7fd1e662c2699"></a>
+const_reverse_iterator </td><td class="memItemRight" valign="bottom"><a class="el" href="a00046.html#abdb98e17cb65d9c445d7fd1e662c2699">rend</a> () const </td></tr>
+<tr class="memdesc:abdb98e17cb65d9c445d7fd1e662c2699"><td class="mdescLeft"> </td><td class="mdescRight">reverse end const iterator <br/></td></tr>
+<tr class="separator:abdb98e17cb65d9c445d7fd1e662c2699"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a2627db4a7949522ea4727320b23a6348"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2627db4a7949522ea4727320b23a6348"></a>
+const_reverse_iterator </td><td class="memItemRight" valign="bottom"><a class="el" href="a00046.html#a2627db4a7949522ea4727320b23a6348">crbegin</a> () const </td></tr>
+<tr class="memdesc:a2627db4a7949522ea4727320b23a6348"><td class="mdescLeft"> </td><td class="mdescRight">reverse start const iterator <br/></td></tr>
+<tr class="separator:a2627db4a7949522ea4727320b23a6348"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ad097225c529dbb24cc0e13a444ab4752"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad097225c529dbb24cc0e13a444ab4752"></a>
+const_reverse_iterator </td><td class="memItemRight" valign="bottom"><a class="el" href="a00046.html#ad097225c529dbb24cc0e13a444ab4752">crend</a> () const </td></tr>
+<tr class="memdesc:ad097225c529dbb24cc0e13a444ab4752"><td class="mdescLeft"> </td><td class="mdescRight">reverse end const iterator <br/></td></tr>
+<tr class="separator:ad097225c529dbb24cc0e13a444ab4752"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a9bfc6d733cf543280b691ed8d7b7908a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9bfc6d733cf543280b691ed8d7b7908a"></a>
+reference </td><td class="memItemRight" valign="bottom"><a class="el" href="a00046.html#a9bfc6d733cf543280b691ed8d7b7908a">front</a> ()</td></tr>
+<tr class="memdesc:a9bfc6d733cf543280b691ed8d7b7908a"><td class="mdescLeft"> </td><td class="mdescRight">the first item <br/></td></tr>
+<tr class="separator:a9bfc6d733cf543280b691ed8d7b7908a"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a9067259572c2c41d014840d0f9d3cdce"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9067259572c2c41d014840d0f9d3cdce"></a>
+const_reference </td><td class="memItemRight" valign="bottom"><a class="el" href="a00046.html#a9067259572c2c41d014840d0f9d3cdce">front</a> () const </td></tr>
+<tr class="memdesc:a9067259572c2c41d014840d0f9d3cdce"><td class="mdescLeft"> </td><td class="mdescRight">the first item const <br/></td></tr>
+<tr class="separator:a9067259572c2c41d014840d0f9d3cdce"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aaee3ddf1d05238a8a6887f6d824b76f8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aaee3ddf1d05238a8a6887f6d824b76f8"></a>
+reference </td><td class="memItemRight" valign="bottom"><a class="el" href="a00046.html#aaee3ddf1d05238a8a6887f6d824b76f8">back</a> ()</td></tr>
+<tr class="memdesc:aaee3ddf1d05238a8a6887f6d824b76f8"><td class="mdescLeft"> </td><td class="mdescRight">the last item <br/></td></tr>
+<tr class="separator:aaee3ddf1d05238a8a6887f6d824b76f8"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:acf66eb1e82dbcb430d9926a23711c720"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acf66eb1e82dbcb430d9926a23711c720"></a>
+const_reference </td><td class="memItemRight" valign="bottom"><a class="el" href="a00046.html#acf66eb1e82dbcb430d9926a23711c720">back</a> () const </td></tr>
+<tr class="memdesc:acf66eb1e82dbcb430d9926a23711c720"><td class="mdescLeft"> </td><td class="mdescRight">the last item const <br/></td></tr>
+<tr class="separator:acf66eb1e82dbcb430d9926a23711c720"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a88b62a9614d3f2b59c9c7c1a2143fb1e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a88b62a9614d3f2b59c9c7c1a2143fb1e"></a>
+allocator_type </td><td class="memItemRight" valign="bottom"><a class="el" href="a00046.html#a88b62a9614d3f2b59c9c7c1a2143fb1e">get_allocator</a> () const </td></tr>
+<tr class="memdesc:a88b62a9614d3f2b59c9c7c1a2143fb1e"><td class="mdescLeft"> </td><td class="mdescRight">return allocator object <br/></td></tr>
+<tr class="separator:a88b62a9614d3f2b59c9c7c1a2143fb1e"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a87355dce93d0882aa73333a35c9b367c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a87355dce93d0882aa73333a35c9b367c"></a>
+void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00046.html#a87355dce93d0882aa73333a35c9b367c">assign</a> (size_type n, const_reference t)</td></tr>
+<tr class="memdesc:a87355dce93d0882aa73333a35c9b367c"><td class="mdescLeft"> </td><td class="mdescRight">assign n items by copying t item <br/></td></tr>
+<tr class="separator:a87355dce93d0882aa73333a35c9b367c"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a7bb5399a8499f88cf859eab39f0ed9e0"><td class="memTemplParams" colspan="2"><a class="anchor" id="a7bb5399a8499f88cf859eab39f0ed9e0"></a>
+template<class I > </td></tr>
+<tr class="memitem:a7bb5399a8499f88cf859eab39f0ed9e0"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00046.html#a7bb5399a8499f88cf859eab39f0ed9e0">assign</a> (I first, I last)</td></tr>
+<tr class="memdesc:a7bb5399a8499f88cf859eab39f0ed9e0"><td class="mdescLeft"> </td><td class="mdescRight">assign range [first, last) <br/></td></tr>
+<tr class="separator:a7bb5399a8499f88cf859eab39f0ed9e0"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a584d6cda5794441b19d4f02bde399dff"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a584d6cda5794441b19d4f02bde399dff"></a>
+void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00046.html#a584d6cda5794441b19d4f02bde399dff">assign</a> (std::initializer_list< T > init_list)</td></tr>
+<tr class="memdesc:a584d6cda5794441b19d4f02bde399dff"><td class="mdescLeft"> </td><td class="mdescRight">assigns an initializer list <br/></td></tr>
+<tr class="separator:a584d6cda5794441b19d4f02bde399dff"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a8603bd57324fb6b60ba006884c95279d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8603bd57324fb6b60ba006884c95279d"></a>
+void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00046.html#a8603bd57324fb6b60ba006884c95279d">swap</a> (<a class="el" href="a00046.html">concurrent_vector</a> &vector)</td></tr>
+<tr class="memdesc:a8603bd57324fb6b60ba006884c95279d"><td class="mdescLeft"> </td><td class="mdescRight">swap two instances <br/></td></tr>
+<tr class="separator:a8603bd57324fb6b60ba006884c95279d"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a526ba408fb3064ef846940d633b8f365"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00046.html#a526ba408fb3064ef846940d633b8f365">clear</a> ()</td></tr>
+<tr class="memdesc:a526ba408fb3064ef846940d633b8f365"><td class="mdescLeft"> </td><td class="mdescRight">Clear container while keeping memory allocated.  <a href="#a526ba408fb3064ef846940d633b8f365">More...</a><br/></td></tr>
+<tr class="separator:a526ba408fb3064ef846940d633b8f365"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ab5bcaededc9a00e7aaecd6c262fd0b38"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab5bcaededc9a00e7aaecd6c262fd0b38"></a>
+ </td><td class="memItemRight" valign="bottom"><a class="el" href="a00046.html#ab5bcaededc9a00e7aaecd6c262fd0b38">~concurrent_vector</a> ()</td></tr>
+<tr class="memdesc:ab5bcaededc9a00e7aaecd6c262fd0b38"><td class="mdescLeft"> </td><td class="mdescRight">Clear and destroy vector. <br/></td></tr>
+<tr class="separator:ab5bcaededc9a00e7aaecd6c262fd0b38"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a675f1b62a651d350eb0d778a271e31e5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a675f1b62a651d350eb0d778a271e31e5"></a>
+const <br class="typebreak"/>
+internal::concurrent_vector_base_v3 & </td><td class="memItemRight" valign="bottom"><b>internal_vector_base</b> () const </td></tr>
+<tr class="separator:a675f1b62a651d350eb0d778a271e31e5"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
+Friends</h2></td></tr>
+<tr class="memitem:a134b00c8dd9200b9e45fe81919c66b11"><td class="memTemplParams" colspan="2"><a class="anchor" id="a134b00c8dd9200b9e45fe81919c66b11"></a>
+template<typename C , typename U > </td></tr>
+<tr class="memitem:a134b00c8dd9200b9e45fe81919c66b11"><td class="memTemplItemLeft" align="right" valign="top">class </td><td class="memTemplItemRight" valign="bottom"><b>internal::vector_iterator</b></td></tr>
+<tr class="separator:a134b00c8dd9200b9e45fe81919c66b11"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><h3>template<typename T, class A = cache_aligned_allocator<T>><br/>
+class tbb::concurrent_vector< T, A ></h3>
+
+<p>Concurrent vector container. </p>
+<pre class="fragment">concurrent_vector is a container having the following main properties:
+- It provides random indexed access to its elements. The index of the first element is 0.
+- It ensures safe concurrent growing its size (different threads can safely append new elements).
+- Adding new elements does not invalidate existing iterators and does not change indices of existing items.
+</pre><dl class="section user"><dt>Compatibility</dt><dd>The class meets all Container Requirements and Reversible Container Requirements from C++ Standard (See ISO/IEC 14882:2003(E), clause 23.1). But it doesn't meet Sequence Requirements due to absence of insert() and erase() methods.</dd></dl>
+<dl class="section user"><dt>Exception Safety</dt><dd>Methods working with memory allocation and/or new elements construction can throw an exception if allocator fails to allocate memory or element's default constructor throws one. Concurrent vector's element of type T must conform to the following requirements:<ul>
+<li>Throwing an exception is forbidden for destructor of T.</li>
+<li>Default constructor of T must not throw an exception OR its non-virtual destructor must safely work when its object memory is zero-initialized.</li>
+</ul>
+Otherwise, the program's behavior is undefined. </dd></dl>
+<dl class="section user"><dt></dt><dd>If an exception happens inside growth or assignment operation, an instance of the vector becomes invalid unless it is stated otherwise in the method documentation. Invalid state means:<ul>
+<li>There are no guarantees that all items were initialized by a constructor. The rest of items is zero-filled, including item where exception happens.</li>
+<li>An invalid vector instance cannot be repaired; it is unable to grow anymore.</li>
+<li>Size and capacity reported by the vector are incorrect, and calculated as if the failed operation were successful.</li>
+<li>Attempt to access not allocated elements using operator[] or iterators results in access violation or segmentation fault exception, and in case of using <a class="el" href="a00046.html#a629a29eb21e528414b9d5c9becfe05cd" title="Get reference to element at given index. Throws exceptions on errors. ">at()</a> method a C++ exception is thrown.</li>
+</ul>
+If a concurrent grow operation successfully completes, all the elements it has added to the vector will remain valid and accessible even if one of subsequent grow operations fails.</dd></dl>
+<dl class="section user"><dt>Fragmentation</dt><dd>Unlike an STL vector, a <a class="el" href="a00046.html" title="Concurrent vector container. ">concurrent_vector</a> does not move existing elements if it needs to allocate more memory. The container is divided into a series of contiguous arrays of elements. The first reservation, growth, or assignment operation determines the size of the first array. Using small number of elements as initial size incurs fragmentation that may increase e [...]
+<dl class="section user"><dt>Changes since TBB 2.1</dt><dd><ul>
+<li>Fixed guarantees of <a class="el" href="a00046.html#a803268c16e3688ff4681251947d257c7" title="Return size of vector. It may include elements under construction. ">concurrent_vector::size()</a> and <a class="el" href="a00046.html#af52b603dd76a99dffe5760f0db4747f1" title="Append minimal sequence of elements such that size()>=n. ">grow_to_at_least()</a> methods to assure elements are allocated.</li>
+<li>Methods <a class="el" href="a00046.html#aad2c07653375e4a5f89c33b375eda610" title="end iterator ">end()</a>/rbegin()/back() are partly thread-safe since they use <a class="el" href="a00046.html#a803268c16e3688ff4681251947d257c7" title="Return size of vector. It may include elements under construction. ">size()</a> to get the end of vector</li>
+<li>Added <a class="el" href="a00046.html#a65e53a98a1e1fdb515fdc2b84e2314e8" title="Resize the vector. Not thread-safe. ">resize()</a> methods (not thread-safe)</li>
+<li>Added cbegin/cend/crbegin/crend methods</li>
+<li>Changed return type of methods grow* and push_back to iterator</li>
+</ul>
+</dd></dl>
+<dl class="section user"><dt>Changes since TBB 2.0</dt><dd><ul>
+<li>Implemented exception-safety guarantees</li>
+<li>Added template argument for allocator</li>
+<li>Added allocator argument in constructors</li>
+<li>Faster index calculation</li>
+<li>First growth call specifies a number of segments to be merged in the first allocation.</li>
+<li>Fixed memory blow up for swarm of vector's instances of small size</li>
+<li>Added <a class="el" href="a00046.html#a9dae5d9368fd852426552b21d67beb86" title="Grow by "delta" elements using copying constructor. ">grow_by(size_type n, const_reference t)</a> growth using copying constructor to init new items.</li>
+<li>Added STL-like constructors.</li>
+<li>Added operators ==, < and derivatives</li>
+<li>Added <a class="el" href="a00046.html#a629a29eb21e528414b9d5c9becfe05cd" title="Get reference to element at given index. Throws exceptions on errors. ">at()</a> method, approved for using after an exception was thrown inside the vector</li>
+<li>Added <a class="el" href="a00046.html#a88b62a9614d3f2b59c9c7c1a2143fb1e" title="return allocator object ">get_allocator()</a> method.</li>
+<li>Added <a class="el" href="a00046.html#a87355dce93d0882aa73333a35c9b367c" title="assign n items by copying t item ">assign()</a> methods</li>
+<li>Added <a class="el" href="a00046.html#af2101247808fd0e81b992724e317a7f3" title="An alias for shrink_to_fit() ">compact()</a> method to defragment first segments</li>
+<li>Added <a class="el" href="a00046.html#a8603bd57324fb6b60ba006884c95279d" title="swap two instances ">swap()</a> method</li>
+<li><a class="el" href="a00046.html#a8201f65735edcc28aeec95b6e73d75b6" title="Get range for iterating with parallel algorithms. ">range()</a> defaults on grainsize = 1 supporting auto grainsize algorithms. </li>
+</ul>
+</dd></dl>
+</div><h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="a526ba408fb3064ef846940d633b8f365"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T, class A = cache_aligned_allocator<T>> </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">void <a class="el" href="a00046.html">tbb::concurrent_vector</a>< T, A >::clear </td>
+          <td>(</td>
+          <td class="paramname">)</td><td></td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Clear container while keeping memory allocated. </p>
+<p>To free up the memory, use in conjunction with method <a class="el" href="a00046.html#af2101247808fd0e81b992724e317a7f3" title="An alias for shrink_to_fit() ">compact()</a>. Not thread safe </p>
+
+</div>
+</div>
+<a class="anchor" id="a9c8452b88bc79c3c88d47c455064c012"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T, class A = cache_aligned_allocator<T>> </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">size_type <a class="el" href="a00046.html">tbb::concurrent_vector</a>< T, A >::grow_by </td>
+          <td>(</td>
+          <td class="paramtype">size_type </td>
+          <td class="paramname"><em>delta</em>)</td><td></td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Grow by "delta" elements. </p>
+<p>Returns old size. </p>
+
+</div>
+</div>
+<a class="anchor" id="ab89c2db5358048debdc282ff995caffb"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T, class A = cache_aligned_allocator<T>> </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">iterator <a class="el" href="a00046.html">tbb::concurrent_vector</a>< T, A >::grow_by </td>
+          <td>(</td>
+          <td class="paramtype">size_type </td>
+          <td class="paramname"><em>delta</em>)</td><td></td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<p>Returns iterator pointing to the first new element. </p>
+
+</div>
+</div>
+<a class="anchor" id="a9dae5d9368fd852426552b21d67beb86"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T, class A = cache_aligned_allocator<T>> </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">size_type <a class="el" href="a00046.html">tbb::concurrent_vector</a>< T, A >::grow_by </td>
+          <td>(</td>
+          <td class="paramtype">size_type </td>
+          <td class="paramname"><em>delta</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const_reference </td>
+          <td class="paramname"><em>t</em> </td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Grow by "delta" elements using copying constructor. </p>
+<p>Returns old size. </p>
+
+</div>
+</div>
+<a class="anchor" id="aa11fc991cda82cf93789fce31b37a16c"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T, class A = cache_aligned_allocator<T>> </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">iterator <a class="el" href="a00046.html">tbb::concurrent_vector</a>< T, A >::grow_by </td>
+          <td>(</td>
+          <td class="paramtype">size_type </td>
+          <td class="paramname"><em>delta</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const_reference </td>
+          <td class="paramname"><em>t</em> </td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<p>Returns iterator pointing to the first new element. </p>
+
+</div>
+</div>
+<a class="anchor" id="af52b603dd76a99dffe5760f0db4747f1"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T, class A = cache_aligned_allocator<T>> </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">void <a class="el" href="a00046.html">tbb::concurrent_vector</a>< T, A >::grow_to_at_least </td>
+          <td>(</td>
+          <td class="paramtype">size_type </td>
+          <td class="paramname"><em>n</em>)</td><td></td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Append minimal sequence of elements such that <a class="el" href="a00046.html#a803268c16e3688ff4681251947d257c7" title="Return size of vector. It may include elements under construction. ">size()</a>>=n. </p>
+<p>The new elements are default constructed. Blocks until all elements in range [0..n) are allocated. May return while other elements are being constructed by other threads. </p>
+
+</div>
+</div>
+<a class="anchor" id="ae9ef9895e88f9bf036b379035c18f035"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T, class A = cache_aligned_allocator<T>> </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">iterator <a class="el" href="a00046.html">tbb::concurrent_vector</a>< T, A >::grow_to_at_least </td>
+          <td>(</td>
+          <td class="paramtype">size_type </td>
+          <td class="paramname"><em>n</em>)</td><td></td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<p>The new elements are default constructed. Blocks until all elements in range [0..n) are allocated. May return while other elements are being constructed by other threads. Returns iterator that points to beginning of appended sequence. If no elements were appended, returns iterator pointing to nth element. </p>
+
+</div>
+</div>
+<a class="anchor" id="a3097cb46511504acfc9de7da5235f4a6"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T, class A = cache_aligned_allocator<T>> </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">reference <a class="el" href="a00046.html">tbb::concurrent_vector</a>< T, A >::operator[] </td>
+          <td>(</td>
+          <td class="paramtype">size_type </td>
+          <td class="paramname"><em>index</em>)</td><td></td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get reference to element at given index. </p>
+<p>This method is thread-safe for concurrent reads, and also while growing the vector, as long as the calling thread has checked that index<<a class="el" href="a00046.html#a803268c16e3688ff4681251947d257c7" title="Return size of vector. It may include elements under construction. ">size()</a>. </p>
+
+</div>
+</div>
+<a class="anchor" id="a4a5c85a9e6ff82e15c18da47a95b518f"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T, class A = cache_aligned_allocator<T>> </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">size_type <a class="el" href="a00046.html">tbb::concurrent_vector</a>< T, A >::push_back </td>
+          <td>(</td>
+          <td class="paramtype">const_reference </td>
+          <td class="paramname"><em>item</em>)</td><td></td>
+          <td> const</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Push item. </p>
+<p>Returns iterator pointing to the new element. </p>
+
+</div>
+</div>
+<a class="anchor" id="a0b3284684328c58c0228c9a697ef3594"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T, class A = cache_aligned_allocator<T>> </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">void <a class="el" href="a00046.html">tbb::concurrent_vector</a>< T, A >::reserve </td>
+          <td>(</td>
+          <td class="paramtype">size_type </td>
+          <td class="paramname"><em>n</em>)</td><td></td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Allocate enough space to grow to size n without having to allocate more memory later. </p>
+<p>Like most of the methods provided for STL compatibility, this method is <em>not</em> thread safe. The capacity afterwards may be bigger than the requested reservation. </p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>concurrent_vector.h</li>
+</ul>
+</div><!-- contents -->
+<hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00046.png b/doc/html/a00046.png
new file mode 100644
index 0000000..4ffff4f
Binary files /dev/null and b/doc/html/a00046.png differ
diff --git a/doc/html/a00047.html b/doc/html/a00047.html
new file mode 100644
index 0000000..908e9af
--- /dev/null
+++ b/doc/html/a00047.html
@@ -0,0 +1,142 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::const_accessor Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>interface5</b></li><li class="navelem"><a class="el" href="a00035.html">concurrent_hash_map</a></li><li class="navelem"><a class="el" href="a00047.html">const_accessor</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-types">Public Types</a> |
+<a href="#pub-methods">Public Member Functions</a> |
+<a href="#pro-methods">Protected Member Functions</a> |
+<a href="#pro-attribs">Protected Attributes</a> |
+<a href="#friends">Friends</a> |
+<a href="a00337.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::const_accessor Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Combines data access, locking, and garbage collection.  
+ <a href="a00047.html#details">More...</a></p>
+
+<p><code>#include <concurrent_hash_map.h></code></p>
+<div class="dynheader">
+Inheritance diagram for tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::const_accessor:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00047.png" usemap="#tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::const_accessor_map" alt=""/>
+  <map id="tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::const_accessor_map" name="tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::const_accessor_map">
+<area href="a00010.html" title="Allows write access to elements and combines data access, locking, and garbage collection. " alt="tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::accessor" shape="rect" coords="0,112,488,136"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:aa8ca5aef4ee14b7eddb64767b8cd5fda"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa8ca5aef4ee14b7eddb64767b8cd5fda"></a>
+typedef const <br class="typebreak"/>
+concurrent_hash_map::value_type </td><td class="memItemRight" valign="bottom"><a class="el" href="a00047.html#aa8ca5aef4ee14b7eddb64767b8cd5fda">value_type</a></td></tr>
+<tr class="memdesc:aa8ca5aef4ee14b7eddb64767b8cd5fda"><td class="mdescLeft"> </td><td class="mdescRight">Type of value. <br/></td></tr>
+<tr class="separator:aa8ca5aef4ee14b7eddb64767b8cd5fda"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a6299b523d2ae8e2613f1bc160ca99b85"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6299b523d2ae8e2613f1bc160ca99b85"></a>
+bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00047.html#a6299b523d2ae8e2613f1bc160ca99b85">empty</a> () const </td></tr>
+<tr class="memdesc:a6299b523d2ae8e2613f1bc160ca99b85"><td class="mdescLeft"> </td><td class="mdescRight">True if result is empty. <br/></td></tr>
+<tr class="separator:a6299b523d2ae8e2613f1bc160ca99b85"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a18390cb369369d72bdf7c867755b5190"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a18390cb369369d72bdf7c867755b5190"></a>
+void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00047.html#a18390cb369369d72bdf7c867755b5190">release</a> ()</td></tr>
+<tr class="memdesc:a18390cb369369d72bdf7c867755b5190"><td class="mdescLeft"> </td><td class="mdescRight">Set to null. <br/></td></tr>
+<tr class="separator:a18390cb369369d72bdf7c867755b5190"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a8adf04e33e7c8c876ba849f26807713a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8adf04e33e7c8c876ba849f26807713a"></a>
+const_reference </td><td class="memItemRight" valign="bottom"><a class="el" href="a00047.html#a8adf04e33e7c8c876ba849f26807713a">operator*</a> () const </td></tr>
+<tr class="memdesc:a8adf04e33e7c8c876ba849f26807713a"><td class="mdescLeft"> </td><td class="mdescRight">Return reference to associated value in hash table. <br/></td></tr>
+<tr class="separator:a8adf04e33e7c8c876ba849f26807713a"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a28fa9b9e6c35d7e80217e69a7afe1ee5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a28fa9b9e6c35d7e80217e69a7afe1ee5"></a>
+const_pointer </td><td class="memItemRight" valign="bottom"><a class="el" href="a00047.html#a28fa9b9e6c35d7e80217e69a7afe1ee5">operator-></a> () const </td></tr>
+<tr class="memdesc:a28fa9b9e6c35d7e80217e69a7afe1ee5"><td class="mdescLeft"> </td><td class="mdescRight">Return pointer to associated value in hash table. <br/></td></tr>
+<tr class="separator:a28fa9b9e6c35d7e80217e69a7afe1ee5"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a7b26d22d228cf0d8678c9b346c63752c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7b26d22d228cf0d8678c9b346c63752c"></a>
+ </td><td class="memItemRight" valign="bottom"><a class="el" href="a00047.html#a7b26d22d228cf0d8678c9b346c63752c">const_accessor</a> ()</td></tr>
+<tr class="memdesc:a7b26d22d228cf0d8678c9b346c63752c"><td class="mdescLeft"> </td><td class="mdescRight">Create empty result. <br/></td></tr>
+<tr class="separator:a7b26d22d228cf0d8678c9b346c63752c"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:afbc0c85a146c912b9a0f94a7695957c7"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afbc0c85a146c912b9a0f94a7695957c7"></a>
+ </td><td class="memItemRight" valign="bottom"><a class="el" href="a00047.html#afbc0c85a146c912b9a0f94a7695957c7">~const_accessor</a> ()</td></tr>
+<tr class="memdesc:afbc0c85a146c912b9a0f94a7695957c7"><td class="mdescLeft"> </td><td class="mdescRight">Destroy result after releasing the underlying reference. <br/></td></tr>
+<tr class="separator:afbc0c85a146c912b9a0f94a7695957c7"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
+Protected Member Functions</h2></td></tr>
+<tr class="memitem:a05b74d408d8cd7773f7b5edfef97da1b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a05b74d408d8cd7773f7b5edfef97da1b"></a>
+bool </td><td class="memItemRight" valign="bottom"><b>is_writer</b> ()</td></tr>
+<tr class="separator:a05b74d408d8cd7773f7b5edfef97da1b"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
+Protected Attributes</h2></td></tr>
+<tr class="memitem:ac9b96f45483ddbff95a95e8e666a8f28"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac9b96f45483ddbff95a95e8e666a8f28"></a>
+<a class="el" href="a00082.html">node</a> * </td><td class="memItemRight" valign="bottom"><b>my_node</b></td></tr>
+<tr class="separator:ac9b96f45483ddbff95a95e8e666a8f28"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a5034084f595666b47734f99a6eaefa9f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5034084f595666b47734f99a6eaefa9f"></a>
+hashcode_t </td><td class="memItemRight" valign="bottom"><b>my_hash</b></td></tr>
+<tr class="separator:a5034084f595666b47734f99a6eaefa9f"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
+Friends</h2></td></tr>
+<tr class="memitem:a9a30829231c2a2f13cb12430992a0701"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9a30829231c2a2f13cb12430992a0701"></a>
+class </td><td class="memItemRight" valign="bottom"><b>concurrent_hash_map< Key, T, HashCompare, Allocator ></b></td></tr>
+<tr class="separator:a9a30829231c2a2f13cb12430992a0701"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ab1dfccf6cc719ff15006a2b05cf70dd7"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab1dfccf6cc719ff15006a2b05cf70dd7"></a>
+class </td><td class="memItemRight" valign="bottom"><b>accessor</b></td></tr>
+<tr class="separator:ab1dfccf6cc719ff15006a2b05cf70dd7"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><h3>template<typename Key, typename T, typename HashCompare = tbb_hash_compare<Key>, typename A = tbb_allocator<std::pair<Key, T> >><br/>
+class tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::const_accessor</h3>
+
+<p>Combines data access, locking, and garbage collection. </p>
+</div><hr/>The documentation for this class was generated from the following file:<ul>
+<li>concurrent_hash_map.h</li>
+</ul>
+</div><!-- contents -->
+<hr>
+<p></p>
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
+<p></p>
+Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
+registered trademarks or trademarks of Intel Corporation or its
+subsidiaries in the United States and other countries.
+<p></p>
+* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00047.png b/doc/html/a00047.png
new file mode 100644
index 0000000..e861a11
Binary files /dev/null and b/doc/html/a00047.png differ
diff --git a/doc/html/a00048.html b/doc/html/a00048.html
new file mode 100644
index 0000000..f5c860c
--- /dev/null
+++ b/doc/html/a00048.html
@@ -0,0 +1,63 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::flow::interface7::continue_msg Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>flow</b></li><li class="navelem"><b>interface7</b></li><li class="navelem"><a class="el" href="a00048.html">continue_msg</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::flow::interface7::continue_msg Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>An empty class used for messages that mean "I'm done".  
+ <a href="a00048.html#details">More...</a></p>
+
+<p><code>#include <flow_graph.h></code></p>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>An empty class used for messages that mean "I'm done". </p>
+</div><hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="a00179.html">flow_graph.h</a></li>
+</ul>
+</div><!-- contents -->
+<hr>
+<p></p>
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
+<p></p>
+Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
+registered trademarks or trademarks of Intel Corporation or its
+subsidiaries in the United States and other countries.
+<p></p>
+* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00049.html b/doc/html/a00049.html
new file mode 100644
index 0000000..16d6a42
--- /dev/null
+++ b/doc/html/a00049.html
@@ -0,0 +1,169 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::flow::interface7::continue_node< Output > Class Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>flow</b></li><li class="navelem"><b>interface7</b></li><li class="navelem"><a class="el" href="a00049.html">continue_node</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-types">Public Types</a> |
+<a href="#pub-methods">Public Member Functions</a> |
+<a href="#pro-methods">Protected Member Functions</a> |
+<a href="#friends">Friends</a> |
+<a href="a00321.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::flow::interface7::continue_node< Output > Class Template Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Implements an executable node that supports <a class="el" href="a00048.html" title="An empty class used for messages that mean "I'm done". ">continue_msg</a> -> Output.  
+ <a href="a00049.html#details">More...</a></p>
+
+<p><code>#include <flow_graph.h></code></p>
+<div class="dynheader">
+Inheritance diagram for tbb::flow::interface7::continue_node< Output >:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00049.png" usemap="#tbb::flow::interface7::continue_node< Output >_map" alt=""/>
+  <map id="tbb::flow::interface7::continue_node< Output >_map" name="tbb::flow::interface7::continue_node< Output >_map">
+<area href="a00063.html" title="The base of all graph nodes. " alt="tbb::flow::interface7::graph_node" shape="rect" coords="0,56,271,80"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:ab991c2791fd727c253424c8ed32d5be5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab991c2791fd727c253424c8ed32d5be5"></a>
+typedef <a class="el" href="a00048.html">continue_msg</a> </td><td class="memItemRight" valign="bottom"><b>input_type</b></td></tr>
+<tr class="separator:ab991c2791fd727c253424c8ed32d5be5"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a8d48230ed7707c493a7fc6c63b9781d0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8d48230ed7707c493a7fc6c63b9781d0"></a>
+typedef Output </td><td class="memItemRight" valign="bottom"><b>output_type</b></td></tr>
+<tr class="separator:a8d48230ed7707c493a7fc6c63b9781d0"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a9754b0bba9834b11320f6779068c4523"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9754b0bba9834b11320f6779068c4523"></a>
+typedef <a class="el" href="a00124.html">sender</a>< <a class="el" href="a00048.html">input_type</a> > </td><td class="memItemRight" valign="bottom"><b>predecessor_type</b></td></tr>
+<tr class="separator:a9754b0bba9834b11320f6779068c4523"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a0bc6b0b8426167ce53ac3626fccb7389"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0bc6b0b8426167ce53ac3626fccb7389"></a>
+typedef <a class="el" href="a00106.html">receiver</a>< output_type > </td><td class="memItemRight" valign="bottom"><b>successor_type</b></td></tr>
+<tr class="separator:a0bc6b0b8426167ce53ac3626fccb7389"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:af8ff6b8ea9aa5838f37d0c5c7e383178"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af8ff6b8ea9aa5838f37d0c5c7e383178"></a>
+typedef <br class="typebreak"/>
+internal::continue_input<br class="typebreak"/>
+< Output > </td><td class="memItemRight" valign="bottom"><b>fInput_type</b></td></tr>
+<tr class="separator:af8ff6b8ea9aa5838f37d0c5c7e383178"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a9a24302662809af4644758edc9a9461c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9a24302662809af4644758edc9a9461c"></a>
+typedef <br class="typebreak"/>
+internal::function_output<br class="typebreak"/>
+< output_type > </td><td class="memItemRight" valign="bottom"><b>fOutput_type</b></td></tr>
+<tr class="separator:a9a24302662809af4644758edc9a9461c"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a7b96b9eb41772ff1d7a52329ac56b8f0"><td class="memTemplParams" colspan="2"><a class="anchor" id="a7b96b9eb41772ff1d7a52329ac56b8f0"></a>
+template<typename Body > </td></tr>
+<tr class="memitem:a7b96b9eb41772ff1d7a52329ac56b8f0"><td class="memTemplItemLeft" align="right" valign="top"> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00049.html#a7b96b9eb41772ff1d7a52329ac56b8f0">continue_node</a> (<a class="el" href="a00061.html">graph</a> &g, Body body)</td></tr>
+<tr class="memdesc:a7b96b9eb41772ff1d7a52329ac56b8f0"><td class="mdescLeft"> </td><td class="mdescRight">Constructor for executable node with <a class="el" href="a00048.html" title="An empty class used for messages that mean "I'm done". ">continue_msg</a> -> Output. <br/></td></tr>
+<tr class="separator:a7b96b9eb41772ff1d7a52329ac56b8f0"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a05e8957de1cb5a940d2ed3f9fc7637ed"><td class="memTemplParams" colspan="2"><a class="anchor" id="a05e8957de1cb5a940d2ed3f9fc7637ed"></a>
+template<typename Body > </td></tr>
+<tr class="memitem:a05e8957de1cb5a940d2ed3f9fc7637ed"><td class="memTemplItemLeft" align="right" valign="top"> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00049.html#a05e8957de1cb5a940d2ed3f9fc7637ed">continue_node</a> (<a class="el" href="a00061.html">graph</a> &g, int number_of_predecessors, Body body)</td></tr>
+<tr class="memdesc:a05e8957de1cb5a940d2ed3f9fc7637ed"><td class="mdescLeft"> </td><td class="mdescRight">Constructor for executable node with <a class="el" href="a00048.html" title="An empty class used for messages that mean "I'm done". ">continue_msg</a> -> Output. <br/></td></tr>
+<tr class="separator:a05e8957de1cb5a940d2ed3f9fc7637ed"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a8ab0750127a7ead08e14b8910a21cf50"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8ab0750127a7ead08e14b8910a21cf50"></a>
+ </td><td class="memItemRight" valign="bottom"><a class="el" href="a00049.html#a8ab0750127a7ead08e14b8910a21cf50">continue_node</a> (const <a class="el" href="a00049.html">continue_node</a> &src)</td></tr>
+<tr class="memdesc:a8ab0750127a7ead08e14b8910a21cf50"><td class="mdescLeft"> </td><td class="mdescRight">Copy constructor. <br/></td></tr>
+<tr class="separator:a8ab0750127a7ead08e14b8910a21cf50"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a9760c1d6e4a2861fa42521f5a669b542"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9760c1d6e4a2861fa42521f5a669b542"></a>
+void </td><td class="memItemRight" valign="bottom"><b>set_name</b> (const char *name)</td></tr>
+<tr class="separator:a9760c1d6e4a2861fa42521f5a669b542"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="inherit_header pub_methods_a00063"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00063')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a></td></tr>
+<tr class="memitem:a4badd313105e30f539882276353dcb8e inherit pub_methods_a00063"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4badd313105e30f539882276353dcb8e"></a>
+ </td><td class="memItemRight" valign="bottom"><b>graph_node</b> (<a class="el" href="a00061.html">graph</a> &g)</td></tr>
+<tr class="separator:a4badd313105e30f539882276353dcb8e inherit pub_methods_a00063"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
+Protected Member Functions</h2></td></tr>
+<tr class="memitem:af371bbddb7a1240ec3f8a7f4878bcdb9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af371bbddb7a1240ec3f8a7f4878bcdb9"></a>
+void </td><td class="memItemRight" valign="bottom"><b>reset</b> ()</td></tr>
+<tr class="separator:af371bbddb7a1240ec3f8a7f4878bcdb9"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:add49002d89a2d32fa244b3d5100625c2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="add49002d89a2d32fa244b3d5100625c2"></a>
+<a class="el" href="a00024.html">internal::broadcast_cache</a><br class="typebreak"/>
+< output_type > & </td><td class="memItemRight" valign="bottom"><b>successors</b> ()</td></tr>
+<tr class="separator:add49002d89a2d32fa244b3d5100625c2"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
+Friends</h2></td></tr>
+<tr class="memitem:abaf9bf74ca5f2854d09f5f07337280eb"><td class="memTemplParams" colspan="2"><a class="anchor" id="abaf9bf74ca5f2854d09f5f07337280eb"></a>
+template<typename R , typename B > </td></tr>
+<tr class="memitem:abaf9bf74ca5f2854d09f5f07337280eb"><td class="memTemplItemLeft" align="right" valign="top">class </td><td class="memTemplItemRight" valign="bottom"><b>run_and_put_task</b></td></tr>
+<tr class="separator:abaf9bf74ca5f2854d09f5f07337280eb"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a1360e38efe396058978cf3754ad620f5"><td class="memTemplParams" colspan="2"><a class="anchor" id="a1360e38efe396058978cf3754ad620f5"></a>
+template<typename X , typename Y > </td></tr>
+<tr class="memitem:a1360e38efe396058978cf3754ad620f5"><td class="memTemplItemLeft" align="right" valign="top">class </td><td class="memTemplItemRight" valign="bottom"><b>internal::broadcast_cache</b></td></tr>
+<tr class="separator:a1360e38efe396058978cf3754ad620f5"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:acbd9ac2610587a99cd7d43344297cc49"><td class="memTemplParams" colspan="2"><a class="anchor" id="acbd9ac2610587a99cd7d43344297cc49"></a>
+template<typename X , typename Y > </td></tr>
+<tr class="memitem:acbd9ac2610587a99cd7d43344297cc49"><td class="memTemplItemLeft" align="right" valign="top">class </td><td class="memTemplItemRight" valign="bottom"><b>internal::round_robin_cache</b></td></tr>
+<tr class="separator:acbd9ac2610587a99cd7d43344297cc49"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
+Additional Inherited Members</h2></td></tr>
+<tr class="inherit_header pro_attribs_a00063"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_a00063')"><img src="closed.png" alt="-"/> Protected Attributes inherited from <a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a></td></tr>
+<tr class="memitem:a1caee1c5677047b05d18b1662ca6fdf8 inherit pro_attribs_a00063"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1caee1c5677047b05d18b1662ca6fdf8"></a>
+<a class="el" href="a00061.html">graph</a> & </td><td class="memItemRight" valign="bottom"><b>my_graph</b></td></tr>
+<tr class="separator:a1caee1c5677047b05d18b1662ca6fdf8 inherit pro_attribs_a00063"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:af48cd0cd4f6e44efc3b353adb55f86a8 inherit pro_attribs_a00063"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af48cd0cd4f6e44efc3b353adb55f86a8"></a>
+<a class="el" href="a00063.html">graph_node</a> * </td><td class="memItemRight" valign="bottom"><b>next</b></td></tr>
+<tr class="separator:af48cd0cd4f6e44efc3b353adb55f86a8 inherit pro_attribs_a00063"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a6917bffc3cb150319679bf2395e68caa inherit pro_attribs_a00063"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6917bffc3cb150319679bf2395e68caa"></a>
+<a class="el" href="a00063.html">graph_node</a> * </td><td class="memItemRight" valign="bottom"><b>prev</b></td></tr>
+<tr class="separator:a6917bffc3cb150319679bf2395e68caa inherit pro_attribs_a00063"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><h3>template<typename Output><br/>
+class tbb::flow::interface7::continue_node< Output ></h3>
+
+<p>Implements an executable node that supports <a class="el" href="a00048.html" title="An empty class used for messages that mean "I'm done". ">continue_msg</a> -> Output. </p>
+</div><hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="a00179.html">flow_graph.h</a></li>
+</ul>
+</div><!-- contents -->
+<hr>
+<p></p>
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
+<p></p>
+Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
+registered trademarks or trademarks of Intel Corporation or its
+subsidiaries in the United States and other countries.
+<p></p>
+* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00049.png b/doc/html/a00049.png
new file mode 100644
index 0000000..b695c11
Binary files /dev/null and b/doc/html/a00049.png differ
diff --git a/doc/html/a00050.html b/doc/html/a00050.html
new file mode 100644
index 0000000..329cac9
--- /dev/null
+++ b/doc/html/a00050.html
@@ -0,0 +1,241 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::flow::interface7::continue_receiver Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>flow</b></li><li class="navelem"><b>interface7</b></li><li class="navelem"><a class="el" href="a00050.html">continue_receiver</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-types">Public Types</a> |
+<a href="#pub-methods">Public Member Functions</a> |
+<a href="#pro-methods">Protected Member Functions</a> |
+<a href="#pro-attribs">Protected Attributes</a> |
+<a href="#friends">Friends</a> |
+<a href="a00311.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::flow::interface7::continue_receiver Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Base class for receivers of completion messages.  
+ <a href="a00050.html#details">More...</a></p>
+
+<p><code>#include <flow_graph.h></code></p>
+<div class="dynheader">
+Inheritance diagram for tbb::flow::interface7::continue_receiver:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00050.png" usemap="#tbb::flow::interface7::continue_receiver_map" alt=""/>
+  <map id="tbb::flow::interface7::continue_receiver_map" name="tbb::flow::interface7::continue_receiver_map">
+<area href="a00106.html" alt="tbb::flow::interface7::receiver< continue_msg >" shape="rect" coords="0,0,276,24"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:a7474ed0edad2bb26d9f86065ecf2c93d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7474ed0edad2bb26d9f86065ecf2c93d"></a>
+typedef <a class="el" href="a00048.html">continue_msg</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00050.html#a7474ed0edad2bb26d9f86065ecf2c93d">input_type</a></td></tr>
+<tr class="memdesc:a7474ed0edad2bb26d9f86065ecf2c93d"><td class="mdescLeft"> </td><td class="mdescRight">The input type. <br/></td></tr>
+<tr class="separator:a7474ed0edad2bb26d9f86065ecf2c93d"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a86d210b5614d47aaa43731b7e303751f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a86d210b5614d47aaa43731b7e303751f"></a>
+typedef <a class="el" href="a00124.html">sender</a>< <a class="el" href="a00048.html">continue_msg</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00050.html#a86d210b5614d47aaa43731b7e303751f">predecessor_type</a></td></tr>
+<tr class="memdesc:a86d210b5614d47aaa43731b7e303751f"><td class="mdescLeft"> </td><td class="mdescRight">The predecessor type for this node. <br/></td></tr>
+<tr class="separator:a86d210b5614d47aaa43731b7e303751f"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="inherit_header pub_types_a00106"><td colspan="2" onclick="javascript:toggleInherit('pub_types_a00106')"><img src="closed.png" alt="-"/> Public Types inherited from <a class="el" href="a00106.html">tbb::flow::interface7::receiver< continue_msg ></a></td></tr>
+<tr class="memitem:a16eccc851b858604344bb8f1bb9eedc8 inherit pub_types_a00106"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a16eccc851b858604344bb8f1bb9eedc8"></a>
+typedef <a class="el" href="a00048.html">continue_msg</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#a16eccc851b858604344bb8f1bb9eedc8">input_type</a></td></tr>
+<tr class="memdesc:a16eccc851b858604344bb8f1bb9eedc8 inherit pub_types_a00106"><td class="mdescLeft"> </td><td class="mdescRight">The input type of this receiver. <br/></td></tr>
+<tr class="separator:a16eccc851b858604344bb8f1bb9eedc8 inherit pub_types_a00106"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:afbadf5511bd568d283040cd88bd4e81e inherit pub_types_a00106"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afbadf5511bd568d283040cd88bd4e81e"></a>
+typedef <a class="el" href="a00124.html">sender</a>< <a class="el" href="a00048.html">continue_msg</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#afbadf5511bd568d283040cd88bd4e81e">predecessor_type</a></td></tr>
+<tr class="memdesc:afbadf5511bd568d283040cd88bd4e81e inherit pub_types_a00106"><td class="mdescLeft"> </td><td class="mdescRight">The predecessor type for this node. <br/></td></tr>
+<tr class="separator:afbadf5511bd568d283040cd88bd4e81e inherit pub_types_a00106"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a1ac173b0a739731b0b1db5a1e91d9326"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1ac173b0a739731b0b1db5a1e91d9326"></a>
+ </td><td class="memItemRight" valign="bottom"><a class="el" href="a00050.html#a1ac173b0a739731b0b1db5a1e91d9326">continue_receiver</a> (int number_of_predecessors=0)</td></tr>
+<tr class="memdesc:a1ac173b0a739731b0b1db5a1e91d9326"><td class="mdescLeft"> </td><td class="mdescRight">Constructor. <br/></td></tr>
+<tr class="separator:a1ac173b0a739731b0b1db5a1e91d9326"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a3055f8a570f7558b6eb9e210feb91b90"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3055f8a570f7558b6eb9e210feb91b90"></a>
+ </td><td class="memItemRight" valign="bottom"><a class="el" href="a00050.html#a3055f8a570f7558b6eb9e210feb91b90">continue_receiver</a> (const <a class="el" href="a00050.html">continue_receiver</a> &src)</td></tr>
+<tr class="memdesc:a3055f8a570f7558b6eb9e210feb91b90"><td class="mdescLeft"> </td><td class="mdescRight">Copy constructor. <br/></td></tr>
+<tr class="separator:a3055f8a570f7558b6eb9e210feb91b90"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a2ca2de23e1e1eeb7071a838a457a50b2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2ca2de23e1e1eeb7071a838a457a50b2"></a>
+virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="a00050.html#a2ca2de23e1e1eeb7071a838a457a50b2">~continue_receiver</a> ()</td></tr>
+<tr class="memdesc:a2ca2de23e1e1eeb7071a838a457a50b2"><td class="mdescLeft"> </td><td class="mdescRight">Destructor. <br/></td></tr>
+<tr class="separator:a2ca2de23e1e1eeb7071a838a457a50b2"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a9ff043995b7b4d39ab0ec41c9e3628bf"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9ff043995b7b4d39ab0ec41c9e3628bf"></a>
+bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00050.html#a9ff043995b7b4d39ab0ec41c9e3628bf">register_predecessor</a> (<a class="el" href="a00050.html#a86d210b5614d47aaa43731b7e303751f">predecessor_type</a> &)</td></tr>
+<tr class="memdesc:a9ff043995b7b4d39ab0ec41c9e3628bf"><td class="mdescLeft"> </td><td class="mdescRight">Increments the trigger threshold. <br/></td></tr>
+<tr class="separator:a9ff043995b7b4d39ab0ec41c9e3628bf"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aea58a2200f20acd9cda829ba6958b22a"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00050.html#aea58a2200f20acd9cda829ba6958b22a">remove_predecessor</a> (<a class="el" href="a00050.html#a86d210b5614d47aaa43731b7e303751f">predecessor_type</a> &)</td></tr>
+<tr class="memdesc:aea58a2200f20acd9cda829ba6958b22a"><td class="mdescLeft"> </td><td class="mdescRight">Decrements the trigger threshold.  <a href="#aea58a2200f20acd9cda829ba6958b22a">More...</a><br/></td></tr>
+<tr class="separator:aea58a2200f20acd9cda829ba6958b22a"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="inherit_header pub_methods_a00106"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00106')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="a00106.html">tbb::flow::interface7::receiver< continue_msg ></a></td></tr>
+<tr class="memitem:a733889a9053478ef2fb2528e2205bf07 inherit pub_methods_a00106"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a733889a9053478ef2fb2528e2205bf07"></a>
+virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#a733889a9053478ef2fb2528e2205bf07">~receiver</a> ()</td></tr>
+<tr class="memdesc:a733889a9053478ef2fb2528e2205bf07 inherit pub_methods_a00106"><td class="mdescLeft"> </td><td class="mdescRight">Destructor. <br/></td></tr>
+<tr class="separator:a733889a9053478ef2fb2528e2205bf07 inherit pub_methods_a00106"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aee5067bb4f4b71ffa786c1b33cb9aa6a inherit pub_methods_a00106"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aee5067bb4f4b71ffa786c1b33cb9aa6a"></a>
+bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#aee5067bb4f4b71ffa786c1b33cb9aa6a">try_put</a> (const <a class="el" href="a00048.html">continue_msg</a> &t)</td></tr>
+<tr class="memdesc:aee5067bb4f4b71ffa786c1b33cb9aa6a inherit pub_methods_a00106"><td class="mdescLeft"> </td><td class="mdescRight">Put an item to the receiver. <br/></td></tr>
+<tr class="separator:aee5067bb4f4b71ffa786c1b33cb9aa6a inherit pub_methods_a00106"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
+Protected Member Functions</h2></td></tr>
+<tr class="memitem:a67b19ab95b89f43e6033d8d124cc84be"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a67b19ab95b89f43e6033d8d124cc84be"></a>
+task * </td><td class="memItemRight" valign="bottom"><b>try_put_task</b> (const <a class="el" href="a00050.html#a7474ed0edad2bb26d9f86065ecf2c93d">input_type</a> &)</td></tr>
+<tr class="separator:a67b19ab95b89f43e6033d8d124cc84be"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a827c2dd2c9d7dd0edd4acc2c4979ef22"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a827c2dd2c9d7dd0edd4acc2c4979ef22"></a>
+void </td><td class="memItemRight" valign="bottom"><b>reset_receiver</b> ()</td></tr>
+<tr class="separator:a827c2dd2c9d7dd0edd4acc2c4979ef22"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:adf70ce80d67a565d04e029da461bbe72"><td class="memItemLeft" align="right" valign="top">virtual task * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00050.html#adf70ce80d67a565d04e029da461bbe72">execute</a> ()=0</td></tr>
+<tr class="memdesc:adf70ce80d67a565d04e029da461bbe72"><td class="mdescLeft"> </td><td class="mdescRight">Does whatever should happen when the threshold is reached.  <a href="#adf70ce80d67a565d04e029da461bbe72">More...</a><br/></td></tr>
+<tr class="separator:adf70ce80d67a565d04e029da461bbe72"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aa0372ce2435ae0f97c2db34af185e6f7"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa0372ce2435ae0f97c2db34af185e6f7"></a>
+bool </td><td class="memItemRight" valign="bottom"><b>is_continue_receiver</b> ()</td></tr>
+<tr class="separator:aa0372ce2435ae0f97c2db34af185e6f7"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
+Protected Attributes</h2></td></tr>
+<tr class="memitem:a507abe0cc02ae0663e0906a83a8a39da"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a507abe0cc02ae0663e0906a83a8a39da"></a>
+<a class="el" href="a00127.html">spin_mutex</a> </td><td class="memItemRight" valign="bottom"><b>my_mutex</b></td></tr>
+<tr class="separator:a507abe0cc02ae0663e0906a83a8a39da"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:afa5e52e452426600619b4431a649a68a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afa5e52e452426600619b4431a649a68a"></a>
+int </td><td class="memItemRight" valign="bottom"><b>my_predecessor_count</b></td></tr>
+<tr class="separator:afa5e52e452426600619b4431a649a68a"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a71ae0a26f737efd7d38c9fc868d5ee41"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a71ae0a26f737efd7d38c9fc868d5ee41"></a>
+int </td><td class="memItemRight" valign="bottom"><b>my_current_count</b></td></tr>
+<tr class="separator:a71ae0a26f737efd7d38c9fc868d5ee41"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a8b5668e21d779aefc8843347f9f78517"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8b5668e21d779aefc8843347f9f78517"></a>
+int </td><td class="memItemRight" valign="bottom"><b>my_initial_predecessor_count</b></td></tr>
+<tr class="separator:a8b5668e21d779aefc8843347f9f78517"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
+Friends</h2></td></tr>
+<tr class="memitem:abaf9bf74ca5f2854d09f5f07337280eb"><td class="memTemplParams" colspan="2"><a class="anchor" id="abaf9bf74ca5f2854d09f5f07337280eb"></a>
+template<typename R , typename B > </td></tr>
+<tr class="memitem:abaf9bf74ca5f2854d09f5f07337280eb"><td class="memTemplItemLeft" align="right" valign="top">class </td><td class="memTemplItemRight" valign="bottom"><b>run_and_put_task</b></td></tr>
+<tr class="separator:abaf9bf74ca5f2854d09f5f07337280eb"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a1360e38efe396058978cf3754ad620f5"><td class="memTemplParams" colspan="2"><a class="anchor" id="a1360e38efe396058978cf3754ad620f5"></a>
+template<typename X , typename Y > </td></tr>
+<tr class="memitem:a1360e38efe396058978cf3754ad620f5"><td class="memTemplItemLeft" align="right" valign="top">class </td><td class="memTemplItemRight" valign="bottom"><b>internal::broadcast_cache</b></td></tr>
+<tr class="separator:a1360e38efe396058978cf3754ad620f5"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:acbd9ac2610587a99cd7d43344297cc49"><td class="memTemplParams" colspan="2"><a class="anchor" id="acbd9ac2610587a99cd7d43344297cc49"></a>
+template<typename X , typename Y > </td></tr>
+<tr class="memitem:acbd9ac2610587a99cd7d43344297cc49"><td class="memTemplItemLeft" align="right" valign="top">class </td><td class="memTemplItemRight" valign="bottom"><b>internal::round_robin_cache</b></td></tr>
+<tr class="separator:acbd9ac2610587a99cd7d43344297cc49"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a05ec930a348f7eed564236d00edbda24"><td class="memTemplParams" colspan="2"><a class="anchor" id="a05ec930a348f7eed564236d00edbda24"></a>
+template<typename U > </td></tr>
+<tr class="memitem:a05ec930a348f7eed564236d00edbda24"><td class="memTemplItemLeft" align="right" valign="top">class </td><td class="memTemplItemRight" valign="bottom"><b>limiter_node</b></td></tr>
+<tr class="separator:a05ec930a348f7eed564236d00edbda24"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a73cd25db4e6e9497940262f70f3ffc54"><td class="memTemplParams" colspan="2"><a class="anchor" id="a73cd25db4e6e9497940262f70f3ffc54"></a>
+template<typename TT , typename M > </td></tr>
+<tr class="memitem:a73cd25db4e6e9497940262f70f3ffc54"><td class="memTemplItemLeft" align="right" valign="top">class </td><td class="memTemplItemRight" valign="bottom"><b>internal::successor_cache</b></td></tr>
+<tr class="separator:a73cd25db4e6e9497940262f70f3ffc54"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Base class for receivers of completion messages. </p>
+<p>These receivers automatically reset, but cannot be explicitly waited on </p>
+</div><h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="adf70ce80d67a565d04e029da461bbe72"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual task* tbb::flow::interface7::continue_receiver::execute </td>
+          <td>(</td>
+          <td class="paramname">)</td><td></td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">pure virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Does whatever should happen when the threshold is reached. </p>
+<p>This should be very fast or else spawn a task. This is called while the sender is blocked in the <a class="el" href="a00106.html#aee5067bb4f4b71ffa786c1b33cb9aa6a" title="Put an item to the receiver. ">try_put()</a>. </p>
+
+</div>
+</div>
+<a class="anchor" id="aea58a2200f20acd9cda829ba6958b22a"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool tbb::flow::interface7::continue_receiver::remove_predecessor </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="a00050.html#a86d210b5614d47aaa43731b7e303751f">predecessor_type</a> & </td>
+          <td class="paramname">)</td><td></td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Decrements the trigger threshold. </p>
+<p>Does not check to see if the removal of the predecessor now makes the current count exceed the new threshold. So removing a predecessor while the graph is active can cause unexpected results. </p>
+
+<p>Reimplemented from <a class="el" href="a00106.html#a55adae6228bbdc1539695e1ec20e9762">tbb::flow::interface7::receiver< continue_msg ></a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="a00179.html">flow_graph.h</a></li>
+</ul>
+</div><!-- contents -->
+<hr>
+<p></p>
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
+<p></p>
+Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
+registered trademarks or trademarks of Intel Corporation or its
+subsidiaries in the United States and other countries.
+<p></p>
+* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00050.png b/doc/html/a00050.png
new file mode 100644
index 0000000..a069fbb
Binary files /dev/null and b/doc/html/a00050.png differ
diff --git a/doc/html/a00051.html b/doc/html/a00051.html
index d8c26ad..f14be14 100644
--- a/doc/html/a00051.html
+++ b/doc/html/a00051.html
@@ -1,63 +1,99 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::internal::critical_section_v4 Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<h1>tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type > Member List</h1>This is the complete list of members for <a class="el" href="a00293.html">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a>, including all inherited members.<p><table>
-  <tr class="memlist"><td><a class="el" href="a00293.html#3c03eb40955b933b01987222722ac4bd">allocator_type</a> typedef</td><td><a class="el" href="a00293.html">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00293.html#01d7baf8e913ab2819e97917a2ac795f">begin</a>()</td><td><a class="el" href="a00293.html">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00293.html#84afb3906a39e399cde1c950d6351300">begin</a>() const </td><td><a class="el" href="a00293.html">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00293.html#a8764176d4b6014c5d65f1051851abc8">clear</a>()</td><td><a class="el" href="a00293.html">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>combine</b>(combine_func_t f_combine) (defined in <a class="el" href="a00293.html">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a>)</td><td><a class="el" href="a00293.html">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>combine_each</b>(combine_func_t f_combine) (defined in <a class="el" href="a00293.html">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a>)</td><td><a class="el" href="a00293.html">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>const_iterator</b> typedef (defined in <a class="el" href="a00293.html">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a>)</td><td><a class="el" href="a00293.html">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>const_pointer</b> typedef (defined in <a class="el" href="a00293.html">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a>)</td><td><a class="el" href="a00293.html">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>const_range_type</b> typedef (defined in <a class="el" href="a00293.html">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a>)</td><td><a class="el" href="a00293.html">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>const_reference</b> typedef (defined in <a class="el" href="a00293.html">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a>)</td><td><a class="el" href="a00293.html">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>difference_type</b> typedef (defined in <a class="el" href="a00293.html">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a>)</td><td><a class="el" href="a00293.html">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00293.html#72595886d0ac8fd0543f90038570510d">empty</a>() const </td><td><a class="el" href="a00293.html">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00293.html#2456ff88252fc921b01cd8907628a4ee">end</a>()</td><td><a class="el" href="a00293.html">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00293.html#cb448bb4977ce366ceb7344085cc7050">end</a>() const </td><td><a class="el" href="a00293.html">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>enumerable_thread_specific</b> (defined in <a class="el" href="a00293.html">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a>)</td><td><a class="el" href="a00293.html">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a></td><td><code> [friend]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00293.html#0cfa3a5c8f2be3bbf313d93b1fa8cdb3">enumerable_thread_specific</a>()</td><td><a class="el" href="a00293.html">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00293.html#8d4b456ff9d7b289c73254eccc11db45">enumerable_thread_specific</a>(Finit finit)</td><td><a class="el" href="a00293.html">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00293.html#7bce6829981c9efe3f59cae2355e383e">enumerable_thread_specific</a>(const T &exemplar)</td><td><a class="el" href="a00293.html">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>enumerable_thread_specific</b>(const enumerable_thread_specific< U, Alloc, Cachetype > &other) (defined in <a class="el" href="a00293.html">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a>)</td><td><a class="el" href="a00293.html">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>enumerable_thread_specific</b>(const enumerable_thread_specific &other) (defined in <a class="el" href="a00293.html">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a>)</td><td><a class="el" href="a00293.html">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>iterator</b> typedef (defined in <a class="el" href="a00293.html">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a>)</td><td><a class="el" href="a00293.html">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00293.html#c8d5265ccbd5e4485996b3f3baaa5ba1">local</a>()</td><td><a class="el" href="a00293.html">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00293.html#7dc79058d2832f7447de8e691c3455ea">local</a>(bool &exists)</td><td><a class="el" href="a00293.html">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>operator=</b>(const enumerable_thread_specific &other) (defined in <a class="el" href="a00293.html">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a>)</td><td><a class="el" href="a00293.html">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>operator=</b>(const enumerable_thread_specific< U, Alloc, Cachetype > &other) (defined in <a class="el" href="a00293.html">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a>)</td><td><a class="el" href="a00293.html">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>pointer</b> typedef (defined in <a class="el" href="a00293.html">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a>)</td><td><a class="el" href="a00293.html">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00293.html#b22c54990b2362cd93c1a8f73de140bc">range</a>(size_t grainsize=1)</td><td><a class="el" href="a00293.html">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00293.html#3b068000cf4dbf9b40f8bb7e3fc53e0b">range</a>(size_t grainsize=1) const </td><td><a class="el" href="a00293.html">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>range_type</b> typedef (defined in <a class="el" href="a00293.html">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a>)</td><td><a class="el" href="a00293.html">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>reference</b> typedef (defined in <a class="el" href="a00293.html">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a>)</td><td><a class="el" href="a00293.html">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00293.html#33fd6593da1ed14340f10f67d5a69130">size</a>() const </td><td><a class="el" href="a00293.html">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>size_type</b> typedef (defined in <a class="el" href="a00293.html">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a>)</td><td><a class="el" href="a00293.html">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>value_type</b> typedef (defined in <a class="el" href="a00293.html">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a>)</td><td><a class="el" href="a00293.html">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00293.html#5a7907d9e3e5b18e7a7b55211ef3213f">~enumerable_thread_specific</a>()</td><td><a class="el" href="a00293.html">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a></td><td><code> [inline]</code></td></tr>
-</table><hr>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>internal</b></li><li class="navelem"><a class="el" href="a00051.html">critical_section_v4</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Classes</a> |
+<a href="#pub-methods">Public Member Functions</a> |
+<a href="#pub-static-attribs">Static Public Attributes</a> |
+<a href="a00370.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::internal::critical_section_v4 Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="dynheader">
+Inheritance diagram for tbb::internal::critical_section_v4:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00051.png" usemap="#tbb::internal::critical_section_v4_map" alt=""/>
+  <map id="tbb::internal::critical_section_v4_map" name="tbb::internal::critical_section_v4_map">
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Classes</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00122.html">scoped_lock</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:ab661617ca865c4af0f34e07276f73c9e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab661617ca865c4af0f34e07276f73c9e"></a>
+void __TBB_EXPORTED_METHOD </td><td class="memItemRight" valign="bottom"><b>internal_construct</b> ()</td></tr>
+<tr class="separator:ab661617ca865c4af0f34e07276f73c9e"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:afb1ccdfc59fdd3f5a3a8db17c56102e8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afb1ccdfc59fdd3f5a3a8db17c56102e8"></a>
+void </td><td class="memItemRight" valign="bottom"><b>lock</b> ()</td></tr>
+<tr class="separator:afb1ccdfc59fdd3f5a3a8db17c56102e8"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:adbbd611ea04432e112b08e56251bc8b5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adbbd611ea04432e112b08e56251bc8b5"></a>
+bool </td><td class="memItemRight" valign="bottom"><b>try_lock</b> ()</td></tr>
+<tr class="separator:adbbd611ea04432e112b08e56251bc8b5"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a081d4eae71879fd7dcf2c4ca9ea7fb67"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a081d4eae71879fd7dcf2c4ca9ea7fb67"></a>
+void </td><td class="memItemRight" valign="bottom"><b>unlock</b> ()</td></tr>
+<tr class="separator:a081d4eae71879fd7dcf2c4ca9ea7fb67"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-attribs"></a>
+Static Public Attributes</h2></td></tr>
+<tr class="memitem:a7a62f98ad578ec8ac01d88de55bd271c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7a62f98ad578ec8ac01d88de55bd271c"></a>
+static const bool </td><td class="memItemRight" valign="bottom"><b>is_rw_mutex</b> = false</td></tr>
+<tr class="separator:a7a62f98ad578ec8ac01d88de55bd271c"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a47f75eb62f02cbdee0d602dff38075e9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a47f75eb62f02cbdee0d602dff38075e9"></a>
+static const bool </td><td class="memItemRight" valign="bottom"><b>is_recursive_mutex</b> = false</td></tr>
+<tr class="separator:a47f75eb62f02cbdee0d602dff38075e9"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a12f986c4c554db133c2ae657acf2a496"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a12f986c4c554db133c2ae657acf2a496"></a>
+static const bool </td><td class="memItemRight" valign="bottom"><b>is_fair_mutex</b> = true</td></tr>
+<tr class="separator:a12f986c4c554db133c2ae657acf2a496"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>critical_section.h</li>
+</ul>
+</div><!-- contents -->
+<hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00051.png b/doc/html/a00051.png
new file mode 100644
index 0000000..835e586
Binary files /dev/null and b/doc/html/a00051.png differ
diff --git a/doc/html/a00052.html b/doc/html/a00052.html
new file mode 100644
index 0000000..2450066
--- /dev/null
+++ b/doc/html/a00052.html
@@ -0,0 +1,239 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type > Class Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>interface6</b></li><li class="navelem"><a class="el" href="a00052.html">enumerable_thread_specific</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Classes</a> |
+<a href="#pub-types">Public Types</a> |
+<a href="#pub-methods">Public Member Functions</a> |
+<a href="#friends">Friends</a> |
+<a href="a00354.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type > Class Template Reference<div class="ingroups"><a class="el" href="a00235.html">Containers</a></div></div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>The <a class="el" href="a00052.html" title="The enumerable_thread_specific container. ">enumerable_thread_specific</a> container.  
+ <a href="a00052.html#details">More...</a></p>
+
+<p><code>#include <enumerable_thread_specific.h></code></p>
+<div class="dynheader">
+Inheritance diagram for tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00052.png" usemap="#tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >_map" alt=""/>
+  <map id="tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >_map" name="tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >_map">
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:ad50ceae1b0e91d0fd31fe506e690692b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad50ceae1b0e91d0fd31fe506e690692b"></a>
+typedef Allocator </td><td class="memItemRight" valign="bottom"><a class="el" href="a00052.html#ad50ceae1b0e91d0fd31fe506e690692b">allocator_type</a></td></tr>
+<tr class="memdesc:ad50ceae1b0e91d0fd31fe506e690692b"><td class="mdescLeft"> </td><td class="mdescRight">Basic types. <br/></td></tr>
+<tr class="separator:ad50ceae1b0e91d0fd31fe506e690692b"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a931b97e237cd2ed6eabe0d939bd141da"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a931b97e237cd2ed6eabe0d939bd141da"></a>
+typedef T </td><td class="memItemRight" valign="bottom"><b>value_type</b></td></tr>
+<tr class="separator:a931b97e237cd2ed6eabe0d939bd141da"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a353a42e7bdda1720b7150cca99cf730b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a353a42e7bdda1720b7150cca99cf730b"></a>
+typedef T & </td><td class="memItemRight" valign="bottom"><b>reference</b></td></tr>
+<tr class="separator:a353a42e7bdda1720b7150cca99cf730b"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a6c722a4b20fb6cae21316240b61d98d2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6c722a4b20fb6cae21316240b61d98d2"></a>
+typedef const T & </td><td class="memItemRight" valign="bottom"><b>const_reference</b></td></tr>
+<tr class="separator:a6c722a4b20fb6cae21316240b61d98d2"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ad88abc185701214e53e81973235ab6de"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad88abc185701214e53e81973235ab6de"></a>
+typedef T * </td><td class="memItemRight" valign="bottom"><b>pointer</b></td></tr>
+<tr class="separator:ad88abc185701214e53e81973235ab6de"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a4aff438f46812452ab4a6f893df94fc3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4aff438f46812452ab4a6f893df94fc3"></a>
+typedef const T * </td><td class="memItemRight" valign="bottom"><b>const_pointer</b></td></tr>
+<tr class="separator:a4aff438f46812452ab4a6f893df94fc3"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a65e9cdc58e19d96b31b467c70c79122d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a65e9cdc58e19d96b31b467c70c79122d"></a>
+typedef <br class="typebreak"/>
+internal_collection_type::size_type </td><td class="memItemRight" valign="bottom"><b>size_type</b></td></tr>
+<tr class="separator:a65e9cdc58e19d96b31b467c70c79122d"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a0b6f002367fa7ca2e3e245e76d91ea7e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0b6f002367fa7ca2e3e245e76d91ea7e"></a>
+typedef <br class="typebreak"/>
+internal_collection_type::difference_type </td><td class="memItemRight" valign="bottom"><b>difference_type</b></td></tr>
+<tr class="separator:a0b6f002367fa7ca2e3e245e76d91ea7e"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a713e97c954eef04e3fda62cf8c8bd63f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a713e97c954eef04e3fda62cf8c8bd63f"></a>
+typedef <br class="typebreak"/>
+internal::enumerable_thread_specific_iterator<br class="typebreak"/>
+< <a class="el" href="a00046.html">internal_collection_type</a>, <br class="typebreak"/>
+value_type > </td><td class="memItemRight" valign="bottom"><b>iterator</b></td></tr>
+<tr class="separator:a713e97c954eef04e3fda62cf8c8bd63f"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a9dacd1e38e45ee787faafd3a71b23fc2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9dacd1e38e45ee787faafd3a71b23fc2"></a>
+typedef <br class="typebreak"/>
+internal::enumerable_thread_specific_iterator<br class="typebreak"/>
+< <a class="el" href="a00046.html">internal_collection_type</a>, <br class="typebreak"/>
+const value_type > </td><td class="memItemRight" valign="bottom"><b>const_iterator</b></td></tr>
+<tr class="separator:a9dacd1e38e45ee787faafd3a71b23fc2"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a2200200e24eaf5ed6496ff3eaa6c4dcc"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2200200e24eaf5ed6496ff3eaa6c4dcc"></a>
+typedef generic_range_type<br class="typebreak"/>
+< iterator > </td><td class="memItemRight" valign="bottom"><b>range_type</b></td></tr>
+<tr class="separator:a2200200e24eaf5ed6496ff3eaa6c4dcc"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a9877dc4e09dc6c625a86a463f56f180d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9877dc4e09dc6c625a86a463f56f180d"></a>
+typedef generic_range_type<br class="typebreak"/>
+< const_iterator > </td><td class="memItemRight" valign="bottom"><b>const_range_type</b></td></tr>
+<tr class="separator:a9877dc4e09dc6c625a86a463f56f180d"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:ad95ccef01367c0b6d75f6f91f5bf5315"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad95ccef01367c0b6d75f6f91f5bf5315"></a>
+ </td><td class="memItemRight" valign="bottom"><a class="el" href="a00052.html#ad95ccef01367c0b6d75f6f91f5bf5315">enumerable_thread_specific</a> ()</td></tr>
+<tr class="memdesc:ad95ccef01367c0b6d75f6f91f5bf5315"><td class="mdescLeft"> </td><td class="mdescRight">Default constructor. Each local instance of T is default constructed. <br/></td></tr>
+<tr class="separator:ad95ccef01367c0b6d75f6f91f5bf5315"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a6c4bec58ae7f0f2b6c77f0baf79623ee"><td class="memTemplParams" colspan="2"><a class="anchor" id="a6c4bec58ae7f0f2b6c77f0baf79623ee"></a>
+template<typename Finit > </td></tr>
+<tr class="memitem:a6c4bec58ae7f0f2b6c77f0baf79623ee"><td class="memTemplItemLeft" align="right" valign="top"> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00052.html#a6c4bec58ae7f0f2b6c77f0baf79623ee">enumerable_thread_specific</a> (Finit finit)</td></tr>
+<tr class="memdesc:a6c4bec58ae7f0f2b6c77f0baf79623ee"><td class="mdescLeft"> </td><td class="mdescRight">Constructor with initializer functor. Each local instance of T is constructed by T(finit()). <br/></td></tr>
+<tr class="separator:a6c4bec58ae7f0f2b6c77f0baf79623ee"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a6f0249ee95fa56665da4b6984f3a685a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6f0249ee95fa56665da4b6984f3a685a"></a>
+ </td><td class="memItemRight" valign="bottom"><a class="el" href="a00052.html#a6f0249ee95fa56665da4b6984f3a685a">enumerable_thread_specific</a> (const T &exemplar)</td></tr>
+<tr class="memdesc:a6f0249ee95fa56665da4b6984f3a685a"><td class="mdescLeft"> </td><td class="mdescRight">Constructor with exemplar. Each local instance of T is copied-constructed from the exemplar. <br/></td></tr>
+<tr class="separator:a6f0249ee95fa56665da4b6984f3a685a"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a6ea8d717f770acb63efc406df52d4585"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6ea8d717f770acb63efc406df52d4585"></a>
+ </td><td class="memItemRight" valign="bottom"><a class="el" href="a00052.html#a6ea8d717f770acb63efc406df52d4585">~enumerable_thread_specific</a> ()</td></tr>
+<tr class="memdesc:a6ea8d717f770acb63efc406df52d4585"><td class="mdescLeft"> </td><td class="mdescRight">Destructor. <br/></td></tr>
+<tr class="separator:a6ea8d717f770acb63efc406df52d4585"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aea846c6cbafbe2ff6bde6e8c2a2ee97e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aea846c6cbafbe2ff6bde6e8c2a2ee97e"></a>
+reference </td><td class="memItemRight" valign="bottom"><a class="el" href="a00052.html#aea846c6cbafbe2ff6bde6e8c2a2ee97e">local</a> ()</td></tr>
+<tr class="memdesc:aea846c6cbafbe2ff6bde6e8c2a2ee97e"><td class="mdescLeft"> </td><td class="mdescRight">returns reference to local, discarding exists <br/></td></tr>
+<tr class="separator:aea846c6cbafbe2ff6bde6e8c2a2ee97e"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:abbbc24a5816dc163d5df057c5e7f379d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abbbc24a5816dc163d5df057c5e7f379d"></a>
+reference </td><td class="memItemRight" valign="bottom"><a class="el" href="a00052.html#abbbc24a5816dc163d5df057c5e7f379d">local</a> (bool &exists)</td></tr>
+<tr class="memdesc:abbbc24a5816dc163d5df057c5e7f379d"><td class="mdescLeft"> </td><td class="mdescRight">Returns reference to calling thread's local copy, creating one if necessary. <br/></td></tr>
+<tr class="separator:abbbc24a5816dc163d5df057c5e7f379d"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a4c33c5390783e17daf2b25d53ae919fb"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4c33c5390783e17daf2b25d53ae919fb"></a>
+size_type </td><td class="memItemRight" valign="bottom"><a class="el" href="a00052.html#a4c33c5390783e17daf2b25d53ae919fb">size</a> () const </td></tr>
+<tr class="memdesc:a4c33c5390783e17daf2b25d53ae919fb"><td class="mdescLeft"> </td><td class="mdescRight">Get the number of local copies. <br/></td></tr>
+<tr class="separator:a4c33c5390783e17daf2b25d53ae919fb"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:adfa4b2e13e47ab825dc40c4f195d2bc5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adfa4b2e13e47ab825dc40c4f195d2bc5"></a>
+bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00052.html#adfa4b2e13e47ab825dc40c4f195d2bc5">empty</a> () const </td></tr>
+<tr class="memdesc:adfa4b2e13e47ab825dc40c4f195d2bc5"><td class="mdescLeft"> </td><td class="mdescRight">true if there have been no local copies created <br/></td></tr>
+<tr class="separator:adfa4b2e13e47ab825dc40c4f195d2bc5"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a070d26debf1f65c83de13f64f91aefdc"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a070d26debf1f65c83de13f64f91aefdc"></a>
+iterator </td><td class="memItemRight" valign="bottom"><a class="el" href="a00052.html#a070d26debf1f65c83de13f64f91aefdc">begin</a> ()</td></tr>
+<tr class="memdesc:a070d26debf1f65c83de13f64f91aefdc"><td class="mdescLeft"> </td><td class="mdescRight">begin iterator <br/></td></tr>
+<tr class="separator:a070d26debf1f65c83de13f64f91aefdc"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ad225e2e8a968b131bf05d72f5686b924"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad225e2e8a968b131bf05d72f5686b924"></a>
+iterator </td><td class="memItemRight" valign="bottom"><a class="el" href="a00052.html#ad225e2e8a968b131bf05d72f5686b924">end</a> ()</td></tr>
+<tr class="memdesc:ad225e2e8a968b131bf05d72f5686b924"><td class="mdescLeft"> </td><td class="mdescRight">end iterator <br/></td></tr>
+<tr class="separator:ad225e2e8a968b131bf05d72f5686b924"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aa097383eb6f90e4a551830fc00b60b3a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa097383eb6f90e4a551830fc00b60b3a"></a>
+const_iterator </td><td class="memItemRight" valign="bottom"><a class="el" href="a00052.html#aa097383eb6f90e4a551830fc00b60b3a">begin</a> () const </td></tr>
+<tr class="memdesc:aa097383eb6f90e4a551830fc00b60b3a"><td class="mdescLeft"> </td><td class="mdescRight">begin const iterator <br/></td></tr>
+<tr class="separator:aa097383eb6f90e4a551830fc00b60b3a"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a5ed0248f10a7aa5045d2cda77dad9588"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5ed0248f10a7aa5045d2cda77dad9588"></a>
+const_iterator </td><td class="memItemRight" valign="bottom"><a class="el" href="a00052.html#a5ed0248f10a7aa5045d2cda77dad9588">end</a> () const </td></tr>
+<tr class="memdesc:a5ed0248f10a7aa5045d2cda77dad9588"><td class="mdescLeft"> </td><td class="mdescRight">end const iterator <br/></td></tr>
+<tr class="separator:a5ed0248f10a7aa5045d2cda77dad9588"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ac94dd896ed78df240da4a450defbca6c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac94dd896ed78df240da4a450defbca6c"></a>
+range_type </td><td class="memItemRight" valign="bottom"><a class="el" href="a00052.html#ac94dd896ed78df240da4a450defbca6c">range</a> (size_t grainsize=1)</td></tr>
+<tr class="memdesc:ac94dd896ed78df240da4a450defbca6c"><td class="mdescLeft"> </td><td class="mdescRight">Get range for parallel algorithms. <br/></td></tr>
+<tr class="separator:ac94dd896ed78df240da4a450defbca6c"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a25b9153dfe994c8122a7f0227cffe793"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a25b9153dfe994c8122a7f0227cffe793"></a>
+const_range_type </td><td class="memItemRight" valign="bottom"><a class="el" href="a00052.html#a25b9153dfe994c8122a7f0227cffe793">range</a> (size_t grainsize=1) const </td></tr>
+<tr class="memdesc:a25b9153dfe994c8122a7f0227cffe793"><td class="mdescLeft"> </td><td class="mdescRight">Get const range for parallel algorithms. <br/></td></tr>
+<tr class="separator:a25b9153dfe994c8122a7f0227cffe793"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a85a0d8f088ef1ee07aeb2c0e944a4a5e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a85a0d8f088ef1ee07aeb2c0e944a4a5e"></a>
+void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00052.html#a85a0d8f088ef1ee07aeb2c0e944a4a5e">clear</a> ()</td></tr>
+<tr class="memdesc:a85a0d8f088ef1ee07aeb2c0e944a4a5e"><td class="mdescLeft"> </td><td class="mdescRight">Destroys local copies. <br/></td></tr>
+<tr class="separator:a85a0d8f088ef1ee07aeb2c0e944a4a5e"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a4c2e2949e1b12c91c700b6394a637ac2"><td class="memTemplParams" colspan="2"><a class="anchor" id="a4c2e2949e1b12c91c700b6394a637ac2"></a>
+template<typename U , typename Alloc , ets_key_usage_type Cachetype> </td></tr>
+<tr class="memitem:a4c2e2949e1b12c91c700b6394a637ac2"><td class="memTemplItemLeft" align="right" valign="top"> </td><td class="memTemplItemRight" valign="bottom"><b>enumerable_thread_specific</b> (const <a class="el" href="a00052.html">enumerable_thread_specific</a>< U, Alloc, Cachetype > &other)</td></tr>
+<tr class="separator:a4c2e2949e1b12c91c700b6394a637ac2"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a6b614f913497b8dc168a8e6ea03eac48"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6b614f913497b8dc168a8e6ea03eac48"></a>
+ </td><td class="memItemRight" valign="bottom"><b>enumerable_thread_specific</b> (const <a class="el" href="a00052.html">enumerable_thread_specific</a> &other)</td></tr>
+<tr class="separator:a6b614f913497b8dc168a8e6ea03eac48"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a7af8784cd0d0f04b3f9f50988b8f0885"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7af8784cd0d0f04b3f9f50988b8f0885"></a>
+<a class="el" href="a00052.html">enumerable_thread_specific</a> & </td><td class="memItemRight" valign="bottom"><b>operator=</b> (const <a class="el" href="a00052.html">enumerable_thread_specific</a> &other)</td></tr>
+<tr class="separator:a7af8784cd0d0f04b3f9f50988b8f0885"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a8f5a6b7f44d0d367c7ede8dc52a0aec4"><td class="memTemplParams" colspan="2"><a class="anchor" id="a8f5a6b7f44d0d367c7ede8dc52a0aec4"></a>
+template<typename U , typename Alloc , ets_key_usage_type Cachetype> </td></tr>
+<tr class="memitem:a8f5a6b7f44d0d367c7ede8dc52a0aec4"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="a00052.html">enumerable_thread_specific</a> & </td><td class="memTemplItemRight" valign="bottom"><b>operator=</b> (const <a class="el" href="a00052.html">enumerable_thread_specific</a>< U, Alloc, Cachetype > &other)</td></tr>
+<tr class="separator:a8f5a6b7f44d0d367c7ede8dc52a0aec4"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a7ab62b7fd2aeeb12e1a3b93c9ce99f27"><td class="memTemplParams" colspan="2"><a class="anchor" id="a7ab62b7fd2aeeb12e1a3b93c9ce99f27"></a>
+template<typename combine_func_t > </td></tr>
+<tr class="memitem:a7ab62b7fd2aeeb12e1a3b93c9ce99f27"><td class="memTemplItemLeft" align="right" valign="top">T </td><td class="memTemplItemRight" valign="bottom"><b>combine</b> (combine_func_t f_combine)</td></tr>
+<tr class="separator:a7ab62b7fd2aeeb12e1a3b93c9ce99f27"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ae644ea36b776fdc698d87a60ef4a3179"><td class="memTemplParams" colspan="2"><a class="anchor" id="ae644ea36b776fdc698d87a60ef4a3179"></a>
+template<typename combine_func_t > </td></tr>
+<tr class="memitem:ae644ea36b776fdc698d87a60ef4a3179"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><b>combine_each</b> (combine_func_t f_combine)</td></tr>
+<tr class="separator:ae644ea36b776fdc698d87a60ef4a3179"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
+Friends</h2></td></tr>
+<tr class="memitem:a408a399f5d1ceaf6d0adc9451932a96a"><td class="memTemplParams" colspan="2"><a class="anchor" id="a408a399f5d1ceaf6d0adc9451932a96a"></a>
+template<typename U , typename A , ets_key_usage_type C> </td></tr>
+<tr class="memitem:a408a399f5d1ceaf6d0adc9451932a96a"><td class="memTemplItemLeft" align="right" valign="top">class </td><td class="memTemplItemRight" valign="bottom"><b>enumerable_thread_specific</b></td></tr>
+<tr class="separator:a408a399f5d1ceaf6d0adc9451932a96a"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><h3>template<typename T, typename Allocator = cache_aligned_allocator<T>, ets_key_usage_type ETS_key_type = ets_no_key><br/>
+class tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></h3>
+
+<p>The <a class="el" href="a00052.html" title="The enumerable_thread_specific container. ">enumerable_thread_specific</a> container. </p>
+<pre class="fragment">enumerable_thread_specific has the following properties:
+- thread-local copies are lazily created, with default, exemplar or function initialization.
+- thread-local copies do not move (during lifetime, and excepting clear()) so the address of a copy is invariant.
+- the contained objects need not have operator=() defined if combine is not used.
+- enumerable_thread_specific containers may be copy-constructed or assigned.
+- thread-local copies can be managed by hash-table, or can be accessed via TLS storage for speed.
+- outside of parallel contexts, the contents of all thread-local copies are accessible by iterator or using combine or combine_each methods
+</pre><dl class="section user"><dt>Segmented iterator</dt><dd>When the thread-local objects are containers with input_iterators defined, a segmented iterator may be used to iterate over all the elements of all thread-local copies.</dd></dl>
+<dl class="section user"><dt>combine and combine_each</dt><dd><ul>
+<li>Both methods are defined for <a class="el" href="a00052.html" title="The enumerable_thread_specific container. ">enumerable_thread_specific</a>.</li>
+<li>combine() requires the the type T have operator=() defined.</li>
+<li>neither method modifies the contents of the object (though there is no guarantee that the applied methods do not modify the object.)</li>
+<li>Both are evaluated in serial context (the methods are assumed to be non-benign.) </li>
+</ul>
+</dd></dl>
+</div><hr/>The documentation for this class was generated from the following file:<ul>
+<li>enumerable_thread_specific.h</li>
+</ul>
+</div><!-- contents -->
+<hr>
+<p></p>
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
+<p></p>
+Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
+registered trademarks or trademarks of Intel Corporation or its
+subsidiaries in the United States and other countries.
+<p></p>
+* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00052.png b/doc/html/a00052.png
new file mode 100644
index 0000000..fba36b8
Binary files /dev/null and b/doc/html/a00052.png differ
diff --git a/doc/html/a00053.html b/doc/html/a00053.html
new file mode 100644
index 0000000..060cc5e
--- /dev/null
+++ b/doc/html/a00053.html
@@ -0,0 +1,146 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::filter Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00053.html">filter</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pro-static-attribs">Static Protected Attributes</a> |
+<a href="a00268.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::filter Class Reference<div class="ingroups"><a class="el" href="a00234.html">Algorithms</a></div></div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>A stage in a pipeline.  
+ <a href="a00053.html#details">More...</a></p>
+
+<p><code>#include <pipeline.h></code></p>
+<div class="dynheader">
+Inheritance diagram for tbb::filter:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00053.png" usemap="#tbb::filter_map" alt=""/>
+  <map id="tbb::filter_map" name="tbb::filter_map">
+<area href="a00150.html" title="A stage in a pipeline served by a user thread. " alt="tbb::thread_bound_filter" shape="rect" coords="0,112,145,136"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-static-attribs"></a>
+Static Protected Attributes</h2></td></tr>
+<tr class="memitem:ae9dab2e01b0963b341ab04b59eec1475"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae9dab2e01b0963b341ab04b59eec1475"></a>
+static const unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="a00053.html#ae9dab2e01b0963b341ab04b59eec1475">filter_is_serial</a> = 0x1</td></tr>
+<tr class="memdesc:ae9dab2e01b0963b341ab04b59eec1475"><td class="mdescLeft"> </td><td class="mdescRight">The lowest bit 0 is for parallel vs. serial. <br/></td></tr>
+<tr class="separator:ae9dab2e01b0963b341ab04b59eec1475"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a091fcf6abc79edfa5c8bf01f742e2392"><td class="memItemLeft" align="right" valign="top">static const unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="a00053.html#a091fcf6abc79edfa5c8bf01f742e2392">filter_is_out_of_order</a> = 0x1<<4</td></tr>
+<tr class="memdesc:a091fcf6abc79edfa5c8bf01f742e2392"><td class="mdescLeft"> </td><td class="mdescRight">4th bit distinguishes ordered vs unordered filters.  <a href="#a091fcf6abc79edfa5c8bf01f742e2392">More...</a><br/></td></tr>
+<tr class="separator:a091fcf6abc79edfa5c8bf01f742e2392"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a1382f216bd094064a18eb48ecc43c86b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1382f216bd094064a18eb48ecc43c86b"></a>
+static const unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="a00053.html#a1382f216bd094064a18eb48ecc43c86b">filter_is_bound</a> = 0x1<<5</td></tr>
+<tr class="memdesc:a1382f216bd094064a18eb48ecc43c86b"><td class="mdescLeft"> </td><td class="mdescRight">5th bit distinguishes thread-bound and regular filters. <br/></td></tr>
+<tr class="separator:a1382f216bd094064a18eb48ecc43c86b"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a6645ec56872b6ba2056dcaa467e292f7"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6645ec56872b6ba2056dcaa467e292f7"></a>
+static const unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="a00053.html#a6645ec56872b6ba2056dcaa467e292f7">filter_may_emit_null</a> = 0x1<<6</td></tr>
+<tr class="memdesc:a6645ec56872b6ba2056dcaa467e292f7"><td class="mdescLeft"> </td><td class="mdescRight">6th bit marks input filters emitting small objects <br/></td></tr>
+<tr class="separator:a6645ec56872b6ba2056dcaa467e292f7"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aab9689e23a96c6c9bf1c8caae74d92ee"><td class="memItemLeft" align="right" valign="top">static const unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="a00053.html#aab9689e23a96c6c9bf1c8caae74d92ee">exact_exception_propagation</a></td></tr>
+<tr class="memdesc:aab9689e23a96c6c9bf1c8caae74d92ee"><td class="mdescLeft"> </td><td class="mdescRight">7th bit defines exception propagation mode expected by the application.  <a href="#aab9689e23a96c6c9bf1c8caae74d92ee">More...</a><br/></td></tr>
+<tr class="separator:aab9689e23a96c6c9bf1c8caae74d92ee"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>A stage in a pipeline. </p>
+</div><h2 class="groupheader">Member Data Documentation</h2>
+<a class="anchor" id="aab9689e23a96c6c9bf1c8caae74d92ee"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">const unsigned char tbb::filter::exact_exception_propagation</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">protected</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<b>Initial value:</b><div class="fragment"><div class="line">=</div>
+<div class="line"><span class="preprocessor">#if TBB_USE_CAPTURED_EXCEPTION</span></div>
+<div class="line"><span class="preprocessor">            0x0</span></div>
+</div><!-- fragment -->
+<p>7th bit defines exception propagation mode expected by the application. </p>
+
+</div>
+</div>
+<a class="anchor" id="a091fcf6abc79edfa5c8bf01f742e2392"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">const unsigned char tbb::filter::filter_is_out_of_order = 0x1<<4</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">protected</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>4th bit distinguishes ordered vs unordered filters. </p>
+<p>The bit was not set for parallel filters in TBB 2.1 and earlier, but is_ordered() function always treats parallel filters as out of order. </p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>pipeline.h</li>
+</ul>
+</div><!-- contents -->
+<hr>
+<p></p>
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
+<p></p>
+Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
+registered trademarks or trademarks of Intel Corporation or its
+subsidiaries in the United States and other countries.
+<p></p>
+* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00053.png b/doc/html/a00053.png
new file mode 100644
index 0000000..a4923e5
Binary files /dev/null and b/doc/html/a00053.png differ
diff --git a/doc/html/a00054.html b/doc/html/a00054.html
new file mode 100644
index 0000000..e8c343e
--- /dev/null
+++ b/doc/html/a00054.html
@@ -0,0 +1,102 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::interface6::filter_t< T, U > Class Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>interface6</b></li><li class="navelem"><a class="el" href="a00054.html">filter_t</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> |
+<a href="#friends">Friends</a> |
+<a href="a00363.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::interface6::filter_t< T, U > Class Template Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Class representing a chain of type-safe pipeline filters.  
+ <a href="a00054.html#details">More...</a></p>
+
+<p><code>#include <pipeline.h></code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a291e76dc7ae92a66109a102904836b62"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a291e76dc7ae92a66109a102904836b62"></a>
+ </td><td class="memItemRight" valign="bottom"><b>filter_t</b> (const <a class="el" href="a00054.html">filter_t</a>< T, U > &rhs)</td></tr>
+<tr class="separator:a291e76dc7ae92a66109a102904836b62"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a86c29832da3f4941254b8dce9e1ff6f0"><td class="memTemplParams" colspan="2"><a class="anchor" id="a86c29832da3f4941254b8dce9e1ff6f0"></a>
+template<typename Body > </td></tr>
+<tr class="memitem:a86c29832da3f4941254b8dce9e1ff6f0"><td class="memTemplItemLeft" align="right" valign="top"> </td><td class="memTemplItemRight" valign="bottom"><b>filter_t</b> (tbb::filter::mode mode, const Body &body)</td></tr>
+<tr class="separator:a86c29832da3f4941254b8dce9e1ff6f0"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ae765b59c54ca11f9cdb9f7f2c6c3bd68"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae765b59c54ca11f9cdb9f7f2c6c3bd68"></a>
+void </td><td class="memItemRight" valign="bottom"><b>operator=</b> (const <a class="el" href="a00054.html">filter_t</a>< T, U > &rhs)</td></tr>
+<tr class="separator:ae765b59c54ca11f9cdb9f7f2c6c3bd68"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a445602c2d364b5bbcd8cc9e0b7f37376"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a445602c2d364b5bbcd8cc9e0b7f37376"></a>
+void </td><td class="memItemRight" valign="bottom"><b>clear</b> ()</td></tr>
+<tr class="separator:a445602c2d364b5bbcd8cc9e0b7f37376"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
+Friends</h2></td></tr>
+<tr class="memitem:a49b422a3c97d5dc848d177246de4c149"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a49b422a3c97d5dc848d177246de4c149"></a>
+class </td><td class="memItemRight" valign="bottom"><b>internal::pipeline_proxy</b></td></tr>
+<tr class="separator:a49b422a3c97d5dc848d177246de4c149"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a21460fde704da22caa222778f5abb140"><td class="memTemplParams" colspan="2"><a class="anchor" id="a21460fde704da22caa222778f5abb140"></a>
+template<typename T_ , typename U_ , typename Body > </td></tr>
+<tr class="memitem:a21460fde704da22caa222778f5abb140"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="a00054.html">filter_t</a>< T_, U_ > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00054.html#a21460fde704da22caa222778f5abb140">make_filter</a> (tbb::filter::mode, const Body &)</td></tr>
+<tr class="memdesc:a21460fde704da22caa222778f5abb140"><td class="mdescLeft"> </td><td class="mdescRight">Create a filter to participate in parallel_pipeline. <br/></td></tr>
+<tr class="separator:a21460fde704da22caa222778f5abb140"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aa80730e1b71fa4266ca0d1dc12da6caa"><td class="memTemplParams" colspan="2"><a class="anchor" id="aa80730e1b71fa4266ca0d1dc12da6caa"></a>
+template<typename T_ , typename V_ , typename U_ > </td></tr>
+<tr class="memitem:aa80730e1b71fa4266ca0d1dc12da6caa"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="a00054.html">filter_t</a>< T_, U_ > </td><td class="memTemplItemRight" valign="bottom"><b>operator&</b> (const <a class="el" href="a00054.html">filter_t</a>< T_, V_ > &, const <a class="el" href="a00054.html">filter_t</a>< V_, U_ > &)</td></tr>
+<tr class="separator:aa80730e1b71fa4266ca0d1dc12da6caa"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><h3>template<typename T, typename U><br/>
+class tbb::interface6::filter_t< T, U ></h3>
+
+<p>Class representing a chain of type-safe pipeline filters. </p>
+</div><hr/>The documentation for this class was generated from the following file:<ul>
+<li>pipeline.h</li>
+</ul>
+</div><!-- contents -->
+<hr>
+<p></p>
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
+<p></p>
+Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
+registered trademarks or trademarks of Intel Corporation or its
+subsidiaries in the United States and other countries.
+<p></p>
+* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00055.html b/doc/html/a00055.html
index 1e2b32f..a18a6aa 100644
--- a/doc/html/a00055.html
+++ b/doc/html/a00055.html
@@ -1,38 +1,70 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::final_scan_tag Struct Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<h1>tbb::flow::interface6::sender< T > Member List</h1>This is the complete list of members for <a class="el" href="a00339.html">tbb::flow::interface6::sender< T ></a>, including all inherited members.<p><table>
-  <tr class="memlist"><td><a class="el" href="a00339.html#127af99916cc085cd9dbc09c53299928">output_type</a> typedef</td><td><a class="el" href="a00339.html">tbb::flow::interface6::sender< T ></a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00339.html#68b8941ad77b9303cf3bcb8cf1f2d28a">register_successor</a>(successor_type &r)=0</td><td><a class="el" href="a00339.html">tbb::flow::interface6::sender< T ></a></td><td><code> [pure virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00339.html#82f363bfb1738bb8789e167590b10ef9">remove_successor</a>(successor_type &r)=0</td><td><a class="el" href="a00339.html">tbb::flow::interface6::sender< T ></a></td><td><code> [pure virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00339.html#d690e8a54e358968f0ee4fdf9ee73068">successor_type</a> typedef</td><td><a class="el" href="a00339.html">tbb::flow::interface6::sender< T ></a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00339.html#7b840f50da117a0d6848707c1857ea2e">try_consume</a>()</td><td><a class="el" href="a00339.html">tbb::flow::interface6::sender< T ></a></td><td><code> [inline, virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00339.html#922fb56b0aad090b90a98b7d56b76a59">try_get</a>(T &)</td><td><a class="el" href="a00339.html">tbb::flow::interface6::sender< T ></a></td><td><code> [inline, virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00339.html#27036b06d6a91e97007e14f400529199">try_release</a>()</td><td><a class="el" href="a00339.html">tbb::flow::interface6::sender< T ></a></td><td><code> [inline, virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00339.html#02c05b472271db1b68a48ea2618fa72f">try_reserve</a>(T &)</td><td><a class="el" href="a00339.html">tbb::flow::interface6::sender< T ></a></td><td><code> [inline, virtual]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>~sender</b>() (defined in <a class="el" href="a00339.html">tbb::flow::interface6::sender< T ></a>)</td><td><a class="el" href="a00339.html">tbb::flow::interface6::sender< T ></a></td><td><code> [inline, virtual]</code></td></tr>
-</table><hr>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00055.html">final_scan_tag</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-static-methods">Static Public Member Functions</a> |
+<a href="a00266.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::final_scan_tag Struct Reference<div class="ingroups"><a class="el" href="a00234.html">Algorithms</a></div></div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Used to indicate that the final scan is being performed.  
+ <a href="a00055.html#details">More...</a></p>
+
+<p><code>#include <parallel_scan.h></code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
+Static Public Member Functions</h2></td></tr>
+<tr class="memitem:add2b3159a444aad51e3cf7ffe4d1d636"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="add2b3159a444aad51e3cf7ffe4d1d636"></a>
+static bool </td><td class="memItemRight" valign="bottom"><b>is_final_scan</b> ()</td></tr>
+<tr class="separator:add2b3159a444aad51e3cf7ffe4d1d636"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Used to indicate that the final scan is being performed. </p>
+</div><hr/>The documentation for this struct was generated from the following file:<ul>
+<li>parallel_scan.h</li>
+</ul>
+</div><!-- contents -->
+<hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00056.html b/doc/html/a00056.html
index 2f80023..bda5059 100644
--- a/doc/html/a00056.html
+++ b/doc/html/a00056.html
@@ -1,43 +1,76 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::interface6::fixed_pool Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<h1>tbb::flow::interface6::receiver< T > Member List</h1>This is the complete list of members for <a class="el" href="a00333.html">tbb::flow::interface6::receiver< T ></a>, including all inherited members.<p><table>
-  <tr class="memlist"><td><a class="el" href="a00333.html#0d0524c99313dedea1e04464bbf2f7ef">input_type</a> typedef</td><td><a class="el" href="a00333.html">tbb::flow::interface6::receiver< T ></a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>internal::broadcast_cache</b> (defined in <a class="el" href="a00333.html">tbb::flow::interface6::receiver< T ></a>)</td><td><a class="el" href="a00333.html">tbb::flow::interface6::receiver< T ></a></td><td><code> [friend]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>internal::round_robin_cache</b> (defined in <a class="el" href="a00333.html">tbb::flow::interface6::receiver< T ></a>)</td><td><a class="el" href="a00333.html">tbb::flow::interface6::receiver< T ></a></td><td><code> [friend]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>internal::successor_cache</b> (defined in <a class="el" href="a00333.html">tbb::flow::interface6::receiver< T ></a>)</td><td><a class="el" href="a00333.html">tbb::flow::interface6::receiver< T ></a></td><td><code> [friend]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>is_continue_receiver</b>() (defined in <a class="el" href="a00333.html">tbb::flow::interface6::receiver< T ></a>)</td><td><a class="el" href="a00333.html">tbb::flow::interface6::receiver< T ></a></td><td><code> [inline, protected, virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00333.html#3b6d13039c2a8c1e369e5790895b0088">limiter_node</a> class</td><td><a class="el" href="a00333.html">tbb::flow::interface6::receiver< T ></a></td><td><code> [friend]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00333.html#7fa8cff811e7c1589b805a4bb4c7a74f">predecessor_type</a> typedef</td><td><a class="el" href="a00333.html">tbb::flow::interface6::receiver< T ></a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00333.html#30e3316466efe3a713c23062b6e806f3">register_predecessor</a>(predecessor_type &)</td><td><a class="el" href="a00333.html">tbb::flow::interface6::receiver< T ></a></td><td><code> [inline, virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00333.html#3bc76547b51d3c9b633e3987d22dce95">remove_predecessor</a>(predecessor_type &)</td><td><a class="el" href="a00333.html">tbb::flow::interface6::receiver< T ></a></td><td><code> [inline, virtual]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>reset_receiver</b>()=0 (defined in <a class="el" href="a00333.html">tbb::flow::interface6::receiver< T ></a>)</td><td><a class="el" href="a00333.html">tbb::flow::interface6::receiver< T ></a></td><td><code> [protected, pure virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00333.html#621bab40a858d214db69ef08d88b67c1">run_and_put_task</a> class</td><td><a class="el" href="a00333.html">tbb::flow::interface6::receiver< T ></a></td><td><code> [friend]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00333.html#e1adb4060a7cbac837cd24da57c5a846">try_put</a>(const T &t)</td><td><a class="el" href="a00333.html">tbb::flow::interface6::receiver< T ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>try_put_task</b>(const T &t)=0 (defined in <a class="el" href="a00333.html">tbb::flow::interface6::receiver< T ></a>)</td><td><a class="el" href="a00333.html">tbb::flow::interface6::receiver< T ></a></td><td><code> [protected, pure virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00333.html#b00699b235435f7b65b663d5063624a1">~receiver</a>()</td><td><a class="el" href="a00333.html">tbb::flow::interface6::receiver< T ></a></td><td><code> [inline, virtual]</code></td></tr>
-</table><hr>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>interface6</b></li><li class="navelem"><a class="el" href="a00056.html">fixed_pool</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> |
+<a href="a00361.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::interface6::fixed_pool Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="dynheader">
+Inheritance diagram for tbb::interface6::fixed_pool:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00056.png" usemap="#tbb::interface6::fixed_pool_map" alt=""/>
+  <map id="tbb::interface6::fixed_pool_map" name="tbb::interface6::fixed_pool_map">
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:aa3811fe3d437ba2eefa926d52732491a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa3811fe3d437ba2eefa926d52732491a"></a>
+ </td><td class="memItemRight" valign="bottom"><a class="el" href="a00056.html#aa3811fe3d437ba2eefa926d52732491a">fixed_pool</a> (void *buf, size_t size)</td></tr>
+<tr class="memdesc:aa3811fe3d437ba2eefa926d52732491a"><td class="mdescLeft"> </td><td class="mdescRight">construct pool with underlying allocator <br/></td></tr>
+<tr class="separator:aa3811fe3d437ba2eefa926d52732491a"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ab854a85575e5c1e9c9f4d3eafcc28044"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab854a85575e5c1e9c9f4d3eafcc28044"></a>
+ </td><td class="memItemRight" valign="bottom"><a class="el" href="a00056.html#ab854a85575e5c1e9c9f4d3eafcc28044">~fixed_pool</a> ()</td></tr>
+<tr class="memdesc:ab854a85575e5c1e9c9f4d3eafcc28044"><td class="mdescLeft"> </td><td class="mdescRight">destroy pool <br/></td></tr>
+<tr class="separator:ab854a85575e5c1e9c9f4d3eafcc28044"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="a00180.html">memory_pool.h</a></li>
+</ul>
+</div><!-- contents -->
+<hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00056.png b/doc/html/a00056.png
new file mode 100644
index 0000000..8cf0f93
Binary files /dev/null and b/doc/html/a00056.png differ
diff --git a/doc/html/a00057.html b/doc/html/a00057.html
index 85ffbe9..c249418 100644
--- a/doc/html/a00057.html
+++ b/doc/html/a00057.html
@@ -1,54 +1,122 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::interface6::flattened2d< Container > Class Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<h1>tbb::flow::interface6::continue_receiver Member List</h1>This is the complete list of members for <a class="el" href="a00291.html">tbb::flow::interface6::continue_receiver</a>, including all inherited members.<p><table>
-  <tr class="memlist"><td><a class="el" href="a00291.html#177db82d548a1f8471371331890b91a8">continue_receiver</a>(int number_of_predecessors=0)</td><td><a class="el" href="a00291.html">tbb::flow::interface6::continue_receiver</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00291.html#a0b292ed7fa6556b2a735f6d1e82dc74">continue_receiver</a>(const continue_receiver &src)</td><td><a class="el" href="a00291.html">tbb::flow::interface6::continue_receiver</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00291.html#2165b726212975be532cff7b2f001834">execute</a>()=0</td><td><a class="el" href="a00291.html">tbb::flow::interface6::continue_receiver</a></td><td><code> [protected, pure virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00291.html#3c43c166af832d9187035985841e0a7f">input_type</a> typedef</td><td><a class="el" href="a00291.html">tbb::flow::interface6::continue_receiver</a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>internal::broadcast_cache</b> (defined in <a class="el" href="a00291.html">tbb::flow::interface6::continue_receiver</a>)</td><td><a class="el" href="a00291.html">tbb::flow::interface6::continue_receiver</a></td><td><code> [friend]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>internal::round_robin_cache</b> (defined in <a class="el" href="a00291.html">tbb::flow::interface6::continue_receiver</a>)</td><td><a class="el" href="a00291.html">tbb::flow::interface6::continue_receiver</a></td><td><code> [friend]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>internal::successor_cache</b> (defined in <a class="el" href="a00291.html">tbb::flow::interface6::continue_receiver</a>)</td><td><a class="el" href="a00291.html">tbb::flow::interface6::continue_receiver</a></td><td><code> [friend]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>is_continue_receiver</b>() (defined in <a class="el" href="a00291.html">tbb::flow::interface6::continue_receiver</a>)</td><td><a class="el" href="a00291.html">tbb::flow::interface6::continue_receiver</a></td><td><code> [inline, protected, virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00291.html#3b6d13039c2a8c1e369e5790895b0088">limiter_node</a> class</td><td><a class="el" href="a00291.html">tbb::flow::interface6::continue_receiver</a></td><td><code> [friend]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>my_current_count</b> (defined in <a class="el" href="a00291.html">tbb::flow::interface6::continue_receiver</a>)</td><td><a class="el" href="a00291.html">tbb::flow::interface6::continue_receiver</a></td><td><code> [protected]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>my_initial_predecessor_count</b> (defined in <a class="el" href="a00291.html">tbb::flow::interface6::continue_receiver</a>)</td><td><a class="el" href="a00291.html">tbb::flow::interface6::continue_receiver</a></td><td><code> [protected]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>my_mutex</b> (defined in <a class="el" href="a00291.html">tbb::flow::interface6::continue_receiver</a>)</td><td><a class="el" href="a00291.html">tbb::flow::interface6::continue_receiver</a></td><td><code> [protected]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>my_predecessor_count</b> (defined in <a class="el" href="a00291.html">tbb::flow::interface6::continue_receiver</a>)</td><td><a class="el" href="a00291.html">tbb::flow::interface6::continue_receiver</a></td><td><code> [protected]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00291.html#f9c58b3e9c46afd2518d0fd8957a5a2f">predecessor_type</a> typedef</td><td><a class="el" href="a00291.html">tbb::flow::interface6::continue_receiver</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00291.html#2fcfa4990a42417bbeb1f3c8b9ac8a22">register_predecessor</a>(predecessor_type &)</td><td><a class="el" href="a00291.html">tbb::flow::interface6::continue_receiver</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00333.html#30e3316466efe3a713c23062b6e806f3">tbb::flow::interface6::receiver::register_predecessor</a>(predecessor_type &)</td><td><a class="el" href="a00333.html">tbb::flow::interface6::receiver< T ></a></td><td><code> [inline, virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00291.html#cb691b18416d4742265aed84d496ebbd">remove_predecessor</a>(predecessor_type &)</td><td><a class="el" href="a00291.html">tbb::flow::interface6::continue_receiver</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00333.html#3bc76547b51d3c9b633e3987d22dce95">tbb::flow::interface6::receiver::remove_predecessor</a>(predecessor_type &)</td><td><a class="el" href="a00333.html">tbb::flow::interface6::receiver< T ></a></td><td><code> [inline, virtual]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>reset_receiver</b>() (defined in <a class="el" href="a00291.html">tbb::flow::interface6::continue_receiver</a>)</td><td><a class="el" href="a00291.html">tbb::flow::interface6::continue_receiver</a></td><td><code> [inline, protected, virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00291.html#621bab40a858d214db69ef08d88b67c1">run_and_put_task</a> class</td><td><a class="el" href="a00291.html">tbb::flow::interface6::continue_receiver</a></td><td><code> [friend]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00333.html#e1adb4060a7cbac837cd24da57c5a846">try_put</a>(const T &t)</td><td><a class="el" href="a00333.html">tbb::flow::interface6::receiver< T ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>try_put_task</b>(const input_type &) (defined in <a class="el" href="a00291.html">tbb::flow::interface6::continue_receiver</a>)</td><td><a class="el" href="a00291.html">tbb::flow::interface6::continue_receiver</a></td><td><code> [inline, protected]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>try_put_task</b>(const T &t)=0 (defined in <a class="el" href="a00333.html">tbb::flow::interface6::receiver< T ></a>)</td><td><a class="el" href="a00333.html">tbb::flow::interface6::receiver< T ></a></td><td><code> [protected, pure virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00291.html#1e14828fa079b9835ff7267df5ee45d7">~continue_receiver</a>()</td><td><a class="el" href="a00291.html">tbb::flow::interface6::continue_receiver</a></td><td><code> [inline, virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00333.html#b00699b235435f7b65b663d5063624a1">~receiver</a>()</td><td><a class="el" href="a00333.html">tbb::flow::interface6::receiver< T ></a></td><td><code> [inline, virtual]</code></td></tr>
-</table><hr>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>interface6</b></li><li class="navelem"><a class="el" href="a00057.html">flattened2d</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-types">Public Types</a> |
+<a href="#pub-methods">Public Member Functions</a> |
+<a href="a00355.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::interface6::flattened2d< Container > Class Template Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:a8b84f8f2cc4499f49d17141eaedc99c0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8b84f8f2cc4499f49d17141eaedc99c0"></a>
+typedef conval_type::size_type </td><td class="memItemRight" valign="bottom"><a class="el" href="a00057.html#a8b84f8f2cc4499f49d17141eaedc99c0">size_type</a></td></tr>
+<tr class="memdesc:a8b84f8f2cc4499f49d17141eaedc99c0"><td class="mdescLeft"> </td><td class="mdescRight">Basic types. <br/></td></tr>
+<tr class="separator:a8b84f8f2cc4499f49d17141eaedc99c0"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ab0352636ee7434478866739224852d32"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab0352636ee7434478866739224852d32"></a>
+typedef <br class="typebreak"/>
+conval_type::difference_type </td><td class="memItemRight" valign="bottom"><b>difference_type</b></td></tr>
+<tr class="separator:ab0352636ee7434478866739224852d32"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a426e0eab82833206df0dc36648419647"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a426e0eab82833206df0dc36648419647"></a>
+typedef conval_type::allocator_type </td><td class="memItemRight" valign="bottom"><b>allocator_type</b></td></tr>
+<tr class="separator:a426e0eab82833206df0dc36648419647"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a7070453b83df5930615d4307eb2f38b5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7070453b83df5930615d4307eb2f38b5"></a>
+typedef conval_type::value_type </td><td class="memItemRight" valign="bottom"><b>value_type</b></td></tr>
+<tr class="separator:a7070453b83df5930615d4307eb2f38b5"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a92b8ef6b07970e3f973b3ece9d2a6201"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a92b8ef6b07970e3f973b3ece9d2a6201"></a>
+typedef conval_type::reference </td><td class="memItemRight" valign="bottom"><b>reference</b></td></tr>
+<tr class="separator:a92b8ef6b07970e3f973b3ece9d2a6201"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a9715dae5bf107ca3530a8c5bea12739c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9715dae5bf107ca3530a8c5bea12739c"></a>
+typedef <br class="typebreak"/>
+conval_type::const_reference </td><td class="memItemRight" valign="bottom"><b>const_reference</b></td></tr>
+<tr class="separator:a9715dae5bf107ca3530a8c5bea12739c"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a14285cc70108c2f0bc417bb034484a0b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a14285cc70108c2f0bc417bb034484a0b"></a>
+typedef conval_type::pointer </td><td class="memItemRight" valign="bottom"><b>pointer</b></td></tr>
+<tr class="separator:a14285cc70108c2f0bc417bb034484a0b"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a4f67e5e005e394746b4c6d54a5c2748c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4f67e5e005e394746b4c6d54a5c2748c"></a>
+typedef conval_type::const_pointer </td><td class="memItemRight" valign="bottom"><b>const_pointer</b></td></tr>
+<tr class="separator:a4f67e5e005e394746b4c6d54a5c2748c"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a14b3602cf1c408c89015d7bf6bf59072"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a14b3602cf1c408c89015d7bf6bf59072"></a>
+typedef <br class="typebreak"/>
+internal::segmented_iterator<br class="typebreak"/>
+< Container, value_type > </td><td class="memItemRight" valign="bottom"><b>iterator</b></td></tr>
+<tr class="separator:a14b3602cf1c408c89015d7bf6bf59072"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a295c0b8755120359595a1b1f7447bbc8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a295c0b8755120359595a1b1f7447bbc8"></a>
+typedef <br class="typebreak"/>
+internal::segmented_iterator<br class="typebreak"/>
+< Container, const value_type > </td><td class="memItemRight" valign="bottom"><b>const_iterator</b></td></tr>
+<tr class="separator:a295c0b8755120359595a1b1f7447bbc8"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a96d4bef4d78e9e04f43a4ce0855f2ec7"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a96d4bef4d78e9e04f43a4ce0855f2ec7"></a>
+ </td><td class="memItemRight" valign="bottom"><b>flattened2d</b> (const Container &c, typename Container::const_iterator b, typename Container::const_iterator e)</td></tr>
+<tr class="separator:a96d4bef4d78e9e04f43a4ce0855f2ec7"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:abcc3a2e4b1eae8ef6ee1dfba8b030680"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abcc3a2e4b1eae8ef6ee1dfba8b030680"></a>
+ </td><td class="memItemRight" valign="bottom"><b>flattened2d</b> (const Container &c)</td></tr>
+<tr class="separator:abcc3a2e4b1eae8ef6ee1dfba8b030680"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a783ca9408f58ca7f5df00bc1035ff6b2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a783ca9408f58ca7f5df00bc1035ff6b2"></a>
+iterator </td><td class="memItemRight" valign="bottom"><b>begin</b> ()</td></tr>
+<tr class="separator:a783ca9408f58ca7f5df00bc1035ff6b2"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ab722e1c2b58641d516cb98b0360b9734"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab722e1c2b58641d516cb98b0360b9734"></a>
+iterator </td><td class="memItemRight" valign="bottom"><b>end</b> ()</td></tr>
+<tr class="separator:ab722e1c2b58641d516cb98b0360b9734"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:acf0c0dff2b7b8530f06e6aa22b9a79ea"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acf0c0dff2b7b8530f06e6aa22b9a79ea"></a>
+const_iterator </td><td class="memItemRight" valign="bottom"><b>begin</b> () const </td></tr>
+<tr class="separator:acf0c0dff2b7b8530f06e6aa22b9a79ea"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a5b79fe79b6939327ab74628283974226"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5b79fe79b6939327ab74628283974226"></a>
+const_iterator </td><td class="memItemRight" valign="bottom"><b>end</b> () const </td></tr>
+<tr class="separator:a5b79fe79b6939327ab74628283974226"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ade48bc8ab723d06790e5d98365e8a4f5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ade48bc8ab723d06790e5d98365e8a4f5"></a>
+<a class="el" href="a00057.html#a8b84f8f2cc4499f49d17141eaedc99c0">size_type</a> </td><td class="memItemRight" valign="bottom"><b>size</b> () const </td></tr>
+<tr class="separator:ade48bc8ab723d06790e5d98365e8a4f5"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>enumerable_thread_specific.h</li>
+</ul>
+</div><!-- contents -->
+<hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00058.html b/doc/html/a00058.html
new file mode 100644
index 0000000..9d1020e
--- /dev/null
+++ b/doc/html/a00058.html
@@ -0,0 +1,81 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::interface6::flow_control Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>interface6</b></li><li class="navelem"><a class="el" href="a00058.html">flow_control</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> |
+<a href="#friends">Friends</a> |
+<a href="a00362.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::interface6::flow_control Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>input_filter control to signal end-of-input for parallel_pipeline  
+ <a href="a00058.html#details">More...</a></p>
+
+<p><code>#include <pipeline.h></code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a21a61b812ca97a6eb5549dab4b4ae490"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a21a61b812ca97a6eb5549dab4b4ae490"></a>
+void </td><td class="memItemRight" valign="bottom"><b>stop</b> ()</td></tr>
+<tr class="separator:a21a61b812ca97a6eb5549dab4b4ae490"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
+Friends</h2></td></tr>
+<tr class="memitem:ae4743f434cefacb6650e3e736daf9392"><td class="memTemplParams" colspan="2"><a class="anchor" id="ae4743f434cefacb6650e3e736daf9392"></a>
+template<typename T , typename U , typename Body > </td></tr>
+<tr class="memitem:ae4743f434cefacb6650e3e736daf9392"><td class="memTemplItemLeft" align="right" valign="top">class </td><td class="memTemplItemRight" valign="bottom"><b>internal::concrete_filter</b></td></tr>
+<tr class="separator:ae4743f434cefacb6650e3e736daf9392"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>input_filter control to signal end-of-input for parallel_pipeline </p>
+</div><hr/>The documentation for this class was generated from the following file:<ul>
+<li>pipeline.h</li>
+</ul>
+</div><!-- contents -->
+<hr>
+<p></p>
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
+<p></p>
+Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
+registered trademarks or trademarks of Intel Corporation or its
+subsidiaries in the United States and other countries.
+<p></p>
+* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00059.html b/doc/html/a00059.html
index f174d6e..89c7547 100644
--- a/doc/html/a00059.html
+++ b/doc/html/a00059.html
@@ -1,51 +1,162 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::flow::interface7::function_node< Input, Output, graph_buffer_policy, Allocator > Class Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<h1>tbb::flow::interface6::graph Member List</h1>This is the complete list of members for <a class="el" href="a00300.html">tbb::flow::interface6::graph</a>, including all inherited members.<p><table>
-  <tr class="memlist"><td><a class="el" href="a00300.html#b028cb585ec21e5de523d0075d0fa880">begin</a>()</td><td><a class="el" href="a00300.html">tbb::flow::interface6::graph</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00300.html#f63c3b7d03098b57fc16b71c57b303e5">begin</a>() const </td><td><a class="el" href="a00300.html">tbb::flow::interface6::graph</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00300.html#e183dfc3f89dc8f57c06ba165fb89f66">cbegin</a>() const </td><td><a class="el" href="a00300.html">tbb::flow::interface6::graph</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00300.html#4866156e6a31d0399b61c6eb82ee81fd">cend</a>() const </td><td><a class="el" href="a00300.html">tbb::flow::interface6::graph</a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>const_iterator</b> typedef (defined in <a class="el" href="a00300.html">tbb::flow::interface6::graph</a>)</td><td><a class="el" href="a00300.html">tbb::flow::interface6::graph</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00300.html#29b85506870f13a884a21655aec2a65d">decrement_wait_count</a>()</td><td><a class="el" href="a00300.html">tbb::flow::interface6::graph</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00300.html#a167c62511ddacaa152daa64ab2d6aac">end</a>()</td><td><a class="el" href="a00300.html">tbb::flow::interface6::graph</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00300.html#907bd06606818c36f52420fe8d469d35">end</a>() const </td><td><a class="el" href="a00300.html">tbb::flow::interface6::graph</a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>exception_thrown</b>() (defined in <a class="el" href="a00300.html">tbb::flow::interface6::graph</a>)</td><td><a class="el" href="a00300.html">tbb::flow::interface6::graph</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00300.html#4ab3d4b5208ece28c4c3ced647e26e12">graph</a>()</td><td><a class="el" href="a00300.html">tbb::flow::interface6::graph</a></td><td><code> [inline, explicit]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00300.html#104d4f3775f596b43177c29e6b7b7656">graph</a>(task_group_context &use_this_context)</td><td><a class="el" href="a00300.html">tbb::flow::interface6::graph</a></td><td><code> [inline, explicit]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>graph_iterator</b> (defined in <a class="el" href="a00300.html">tbb::flow::interface6::graph</a>)</td><td><a class="el" href="a00300.html">tbb::flow::interface6::graph</a></td><td><code> [friend]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>graph_node</b> (defined in <a class="el" href="a00300.html">tbb::flow::interface6::graph</a>)</td><td><a class="el" href="a00300.html">tbb::flow::interface6::graph</a></td><td><code> [friend]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00300.html#a993b789d1e488e0c3929135beae560e">increment_wait_count</a>()</td><td><a class="el" href="a00300.html">tbb::flow::interface6::graph</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00300.html#227ea140dc2c68f79a4e5a34a8367b58">is_cancelled</a>()</td><td><a class="el" href="a00300.html">tbb::flow::interface6::graph</a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>iterator</b> typedef (defined in <a class="el" href="a00300.html">tbb::flow::interface6::graph</a>)</td><td><a class="el" href="a00300.html">tbb::flow::interface6::graph</a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>reset</b>() (defined in <a class="el" href="a00300.html">tbb::flow::interface6::graph</a>)</td><td><a class="el" href="a00300.html">tbb::flow::interface6::graph</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00300.html#7f4e3ae90811a5d8b597146b5b586d10">root_task</a>()</td><td><a class="el" href="a00300.html">tbb::flow::interface6::graph</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00300.html#50a7938df01b6148ab2c0696835f002e">run</a>(Receiver &r, Body body)</td><td><a class="el" href="a00300.html">tbb::flow::interface6::graph</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00300.html#c1145b00e063793a7e7bf994d202c7a0">run</a>(Body body)</td><td><a class="el" href="a00300.html">tbb::flow::interface6::graph</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00300.html#a66b0020f7514b86d030fa8aea073d37">wait_for_all</a>()</td><td><a class="el" href="a00300.html">tbb::flow::interface6::graph</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00300.html#8a7d424c0616a1c37a908ead182e2fe5">~graph</a>()</td><td><a class="el" href="a00300.html">tbb::flow::interface6::graph</a></td><td><code> [inline]</code></td></tr>
-</table><hr>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>flow</b></li><li class="navelem"><b>interface7</b></li><li class="navelem"><a class="el" href="a00059.html">function_node</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-types">Public Types</a> |
+<a href="#pub-methods">Public Member Functions</a> |
+<a href="#pro-methods">Protected Member Functions</a> |
+<a href="#friends">Friends</a> |
+<a href="a00316.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::flow::interface7::function_node< Input, Output, graph_buffer_policy, Allocator > Class Template Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Implements a function node that supports Input -> Output.  
+ <a href="a00059.html#details">More...</a></p>
+
+<p><code>#include <flow_graph.h></code></p>
+<div class="dynheader">
+Inheritance diagram for tbb::flow::interface7::function_node< Input, Output, graph_buffer_policy, Allocator >:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00059.png" usemap="#tbb::flow::interface7::function_node< Input, Output, graph_buffer_policy, Allocator >_map" alt=""/>
+  <map id="tbb::flow::interface7::function_node< Input, Output, graph_buffer_policy, Allocator >_map" name="tbb::flow::interface7::function_node< Input, Output, graph_buffer_policy, Allocator >_map">
+<area href="a00063.html" title="The base of all graph nodes. " alt="tbb::flow::interface7::graph_node" shape="rect" coords="0,56,488,80"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:a80a44be5965211637cf82c15a6b18261"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a80a44be5965211637cf82c15a6b18261"></a>
+typedef Input </td><td class="memItemRight" valign="bottom"><b>input_type</b></td></tr>
+<tr class="separator:a80a44be5965211637cf82c15a6b18261"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a456ce2835b002fe4cf43b36e45056026"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a456ce2835b002fe4cf43b36e45056026"></a>
+typedef Output </td><td class="memItemRight" valign="bottom"><b>output_type</b></td></tr>
+<tr class="separator:a456ce2835b002fe4cf43b36e45056026"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a14d4ca431da0a193f2de72fb96fbcf90"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a14d4ca431da0a193f2de72fb96fbcf90"></a>
+typedef <a class="el" href="a00124.html">sender</a>< input_type > </td><td class="memItemRight" valign="bottom"><b>predecessor_type</b></td></tr>
+<tr class="separator:a14d4ca431da0a193f2de72fb96fbcf90"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a0c8984b2796d66a6b481b5202b2cbc5c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0c8984b2796d66a6b481b5202b2cbc5c"></a>
+typedef <a class="el" href="a00106.html">receiver</a>< output_type > </td><td class="memItemRight" valign="bottom"><b>successor_type</b></td></tr>
+<tr class="separator:a0c8984b2796d66a6b481b5202b2cbc5c"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ad2af7ca720b0ef772e94ffb4b1eea2e3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad2af7ca720b0ef772e94ffb4b1eea2e3"></a>
+typedef <br class="typebreak"/>
+internal::function_input<br class="typebreak"/>
+< input_type, output_type, <br class="typebreak"/>
+Allocator > </td><td class="memItemRight" valign="bottom"><b>fInput_type</b></td></tr>
+<tr class="separator:ad2af7ca720b0ef772e94ffb4b1eea2e3"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a04aa2570e3c20a032670b9c47bdaca1b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a04aa2570e3c20a032670b9c47bdaca1b"></a>
+typedef <br class="typebreak"/>
+internal::function_output<br class="typebreak"/>
+< output_type > </td><td class="memItemRight" valign="bottom"><b>fOutput_type</b></td></tr>
+<tr class="separator:a04aa2570e3c20a032670b9c47bdaca1b"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:aea86b14a72337b597c80d706ca257402"><td class="memTemplParams" colspan="2"><a class="anchor" id="aea86b14a72337b597c80d706ca257402"></a>
+template<typename Body > </td></tr>
+<tr class="memitem:aea86b14a72337b597c80d706ca257402"><td class="memTemplItemLeft" align="right" valign="top"> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00059.html#aea86b14a72337b597c80d706ca257402">function_node</a> (<a class="el" href="a00061.html">graph</a> &g, size_t concurrency, Body body)</td></tr>
+<tr class="memdesc:aea86b14a72337b597c80d706ca257402"><td class="mdescLeft"> </td><td class="mdescRight">Constructor. <br/></td></tr>
+<tr class="separator:aea86b14a72337b597c80d706ca257402"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aecf13ece7b2106f4630e46d6c5327997"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aecf13ece7b2106f4630e46d6c5327997"></a>
+ </td><td class="memItemRight" valign="bottom"><a class="el" href="a00059.html#aecf13ece7b2106f4630e46d6c5327997">function_node</a> (const <a class="el" href="a00059.html">function_node</a> &src)</td></tr>
+<tr class="memdesc:aecf13ece7b2106f4630e46d6c5327997"><td class="mdescLeft"> </td><td class="mdescRight">Copy constructor. <br/></td></tr>
+<tr class="separator:aecf13ece7b2106f4630e46d6c5327997"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a039f66594d16f9f7dd8bb6879068aafe"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a039f66594d16f9f7dd8bb6879068aafe"></a>
+void </td><td class="memItemRight" valign="bottom"><b>set_name</b> (const char *name)</td></tr>
+<tr class="separator:a039f66594d16f9f7dd8bb6879068aafe"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="inherit_header pub_methods_a00063"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00063')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a></td></tr>
+<tr class="memitem:a4badd313105e30f539882276353dcb8e inherit pub_methods_a00063"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4badd313105e30f539882276353dcb8e"></a>
+ </td><td class="memItemRight" valign="bottom"><b>graph_node</b> (<a class="el" href="a00061.html">graph</a> &g)</td></tr>
+<tr class="separator:a4badd313105e30f539882276353dcb8e inherit pub_methods_a00063"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
+Protected Member Functions</h2></td></tr>
+<tr class="memitem:a8c651f8cf4e7a91ec55bd03ec2587e46"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8c651f8cf4e7a91ec55bd03ec2587e46"></a>
+void </td><td class="memItemRight" valign="bottom"><b>reset</b> ()</td></tr>
+<tr class="separator:a8c651f8cf4e7a91ec55bd03ec2587e46"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aea5d18bc2ae6c8169cc4b47a67c9eb8c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aea5d18bc2ae6c8169cc4b47a67c9eb8c"></a>
+<a class="el" href="a00024.html">internal::broadcast_cache</a><br class="typebreak"/>
+< output_type > & </td><td class="memItemRight" valign="bottom"><b>successors</b> ()</td></tr>
+<tr class="separator:aea5d18bc2ae6c8169cc4b47a67c9eb8c"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
+Friends</h2></td></tr>
+<tr class="memitem:abaf9bf74ca5f2854d09f5f07337280eb"><td class="memTemplParams" colspan="2"><a class="anchor" id="abaf9bf74ca5f2854d09f5f07337280eb"></a>
+template<typename R , typename B > </td></tr>
+<tr class="memitem:abaf9bf74ca5f2854d09f5f07337280eb"><td class="memTemplItemLeft" align="right" valign="top">class </td><td class="memTemplItemRight" valign="bottom"><b>run_and_put_task</b></td></tr>
+<tr class="separator:abaf9bf74ca5f2854d09f5f07337280eb"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a1360e38efe396058978cf3754ad620f5"><td class="memTemplParams" colspan="2"><a class="anchor" id="a1360e38efe396058978cf3754ad620f5"></a>
+template<typename X , typename Y > </td></tr>
+<tr class="memitem:a1360e38efe396058978cf3754ad620f5"><td class="memTemplItemLeft" align="right" valign="top">class </td><td class="memTemplItemRight" valign="bottom"><b>internal::broadcast_cache</b></td></tr>
+<tr class="separator:a1360e38efe396058978cf3754ad620f5"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:acbd9ac2610587a99cd7d43344297cc49"><td class="memTemplParams" colspan="2"><a class="anchor" id="acbd9ac2610587a99cd7d43344297cc49"></a>
+template<typename X , typename Y > </td></tr>
+<tr class="memitem:acbd9ac2610587a99cd7d43344297cc49"><td class="memTemplItemLeft" align="right" valign="top">class </td><td class="memTemplItemRight" valign="bottom"><b>internal::round_robin_cache</b></td></tr>
+<tr class="separator:acbd9ac2610587a99cd7d43344297cc49"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
+Additional Inherited Members</h2></td></tr>
+<tr class="inherit_header pro_attribs_a00063"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_a00063')"><img src="closed.png" alt="-"/> Protected Attributes inherited from <a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a></td></tr>
+<tr class="memitem:a1caee1c5677047b05d18b1662ca6fdf8 inherit pro_attribs_a00063"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1caee1c5677047b05d18b1662ca6fdf8"></a>
+<a class="el" href="a00061.html">graph</a> & </td><td class="memItemRight" valign="bottom"><b>my_graph</b></td></tr>
+<tr class="separator:a1caee1c5677047b05d18b1662ca6fdf8 inherit pro_attribs_a00063"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:af48cd0cd4f6e44efc3b353adb55f86a8 inherit pro_attribs_a00063"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af48cd0cd4f6e44efc3b353adb55f86a8"></a>
+<a class="el" href="a00063.html">graph_node</a> * </td><td class="memItemRight" valign="bottom"><b>next</b></td></tr>
+<tr class="separator:af48cd0cd4f6e44efc3b353adb55f86a8 inherit pro_attribs_a00063"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a6917bffc3cb150319679bf2395e68caa inherit pro_attribs_a00063"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6917bffc3cb150319679bf2395e68caa"></a>
+<a class="el" href="a00063.html">graph_node</a> * </td><td class="memItemRight" valign="bottom"><b>prev</b></td></tr>
+<tr class="separator:a6917bffc3cb150319679bf2395e68caa inherit pro_attribs_a00063"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><h3>template<typename Input, typename Output = continue_msg, graph_buffer_policy = queueing, typename Allocator = cache_aligned_allocator<Input>><br/>
+class tbb::flow::interface7::function_node< Input, Output, graph_buffer_policy, Allocator ></h3>
+
+<p>Implements a function node that supports Input -> Output. </p>
+</div><hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="a00179.html">flow_graph.h</a></li>
+</ul>
+</div><!-- contents -->
+<hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00059.png b/doc/html/a00059.png
new file mode 100644
index 0000000..3696c73
Binary files /dev/null and b/doc/html/a00059.png differ
diff --git a/doc/html/a00060.html b/doc/html/a00060.html
new file mode 100644
index 0000000..cc9b5b0
--- /dev/null
+++ b/doc/html/a00060.html
@@ -0,0 +1,170 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::flow::interface7::function_node< Input, Output, queueing, Allocator > Class Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>flow</b></li><li class="navelem"><b>interface7</b></li><li class="navelem"><a class="el" href="a00060.html">function_node< Input, Output, queueing, Allocator ></a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-types">Public Types</a> |
+<a href="#pub-methods">Public Member Functions</a> |
+<a href="#pro-methods">Protected Member Functions</a> |
+<a href="#friends">Friends</a> |
+<a href="a00317.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::flow::interface7::function_node< Input, Output, queueing, Allocator > Class Template Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Implements a function node that supports Input -> Output.  
+ <a href="a00060.html#details">More...</a></p>
+
+<p><code>#include <flow_graph.h></code></p>
+<div class="dynheader">
+Inheritance diagram for tbb::flow::interface7::function_node< Input, Output, queueing, Allocator >:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00060.png" usemap="#tbb::flow::interface7::function_node< Input, Output, queueing, Allocator >_map" alt=""/>
+  <map id="tbb::flow::interface7::function_node< Input, Output, queueing, Allocator >_map" name="tbb::flow::interface7::function_node< Input, Output, queueing, Allocator >_map">
+<area href="a00063.html" title="The base of all graph nodes. " alt="tbb::flow::interface7::graph_node" shape="rect" coords="0,56,424,80"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:acdcddca4c1ec05894f64e7d8d2c17f9a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acdcddca4c1ec05894f64e7d8d2c17f9a"></a>
+typedef Input </td><td class="memItemRight" valign="bottom"><b>input_type</b></td></tr>
+<tr class="separator:acdcddca4c1ec05894f64e7d8d2c17f9a"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aa4242bb1c87980cb82a2f7f5e3ac74bb"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa4242bb1c87980cb82a2f7f5e3ac74bb"></a>
+typedef Output </td><td class="memItemRight" valign="bottom"><b>output_type</b></td></tr>
+<tr class="separator:aa4242bb1c87980cb82a2f7f5e3ac74bb"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ae23adda079c986676f6fc0f00f8e04e7"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae23adda079c986676f6fc0f00f8e04e7"></a>
+typedef <a class="el" href="a00124.html">sender</a>< input_type > </td><td class="memItemRight" valign="bottom"><b>predecessor_type</b></td></tr>
+<tr class="separator:ae23adda079c986676f6fc0f00f8e04e7"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:af3808ea4c85d7d70487c8d7174e3acf4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af3808ea4c85d7d70487c8d7174e3acf4"></a>
+typedef <a class="el" href="a00106.html">receiver</a>< output_type > </td><td class="memItemRight" valign="bottom"><b>successor_type</b></td></tr>
+<tr class="separator:af3808ea4c85d7d70487c8d7174e3acf4"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a21eeb62c7634bd8f63f6ae230f04e8e3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a21eeb62c7634bd8f63f6ae230f04e8e3"></a>
+typedef <br class="typebreak"/>
+internal::function_input<br class="typebreak"/>
+< input_type, output_type, <br class="typebreak"/>
+Allocator > </td><td class="memItemRight" valign="bottom"><b>fInput_type</b></td></tr>
+<tr class="separator:a21eeb62c7634bd8f63f6ae230f04e8e3"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aa22b20ae640ffd8cf698ac0a0b64443b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa22b20ae640ffd8cf698ac0a0b64443b"></a>
+typedef <br class="typebreak"/>
+internal::function_input_queue<br class="typebreak"/>
+< input_type, Allocator > </td><td class="memItemRight" valign="bottom"><b>queue_type</b></td></tr>
+<tr class="separator:aa22b20ae640ffd8cf698ac0a0b64443b"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aa786e1923ed0e5568299e06b7f1c420a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa786e1923ed0e5568299e06b7f1c420a"></a>
+typedef <br class="typebreak"/>
+internal::function_output<br class="typebreak"/>
+< output_type > </td><td class="memItemRight" valign="bottom"><b>fOutput_type</b></td></tr>
+<tr class="separator:aa786e1923ed0e5568299e06b7f1c420a"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a1b0413b2ec13a9d2ee22dfeb6555a616"><td class="memTemplParams" colspan="2"><a class="anchor" id="a1b0413b2ec13a9d2ee22dfeb6555a616"></a>
+template<typename Body > </td></tr>
+<tr class="memitem:a1b0413b2ec13a9d2ee22dfeb6555a616"><td class="memTemplItemLeft" align="right" valign="top"> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00060.html#a1b0413b2ec13a9d2ee22dfeb6555a616">function_node</a> (<a class="el" href="a00061.html">graph</a> &g, size_t concurrency, Body body)</td></tr>
+<tr class="memdesc:a1b0413b2ec13a9d2ee22dfeb6555a616"><td class="mdescLeft"> </td><td class="mdescRight">Constructor. <br/></td></tr>
+<tr class="separator:a1b0413b2ec13a9d2ee22dfeb6555a616"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ad1cb832fe1edee0b0d75e569b62c9c1c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad1cb832fe1edee0b0d75e569b62c9c1c"></a>
+ </td><td class="memItemRight" valign="bottom"><a class="el" href="a00060.html#ad1cb832fe1edee0b0d75e569b62c9c1c">function_node</a> (const <a class="el" href="a00059.html">function_node</a> &src)</td></tr>
+<tr class="memdesc:ad1cb832fe1edee0b0d75e569b62c9c1c"><td class="mdescLeft"> </td><td class="mdescRight">Copy constructor. <br/></td></tr>
+<tr class="separator:ad1cb832fe1edee0b0d75e569b62c9c1c"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a47c62a22a5cad55624af0cdd4f011385"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a47c62a22a5cad55624af0cdd4f011385"></a>
+void </td><td class="memItemRight" valign="bottom"><b>set_name</b> (const char *name)</td></tr>
+<tr class="separator:a47c62a22a5cad55624af0cdd4f011385"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="inherit_header pub_methods_a00063"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00063')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a></td></tr>
+<tr class="memitem:a4badd313105e30f539882276353dcb8e inherit pub_methods_a00063"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4badd313105e30f539882276353dcb8e"></a>
+ </td><td class="memItemRight" valign="bottom"><b>graph_node</b> (<a class="el" href="a00061.html">graph</a> &g)</td></tr>
+<tr class="separator:a4badd313105e30f539882276353dcb8e inherit pub_methods_a00063"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
+Protected Member Functions</h2></td></tr>
+<tr class="memitem:a8158a42110904fc696385fe1862a23dd"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8158a42110904fc696385fe1862a23dd"></a>
+void </td><td class="memItemRight" valign="bottom"><b>reset</b> ()</td></tr>
+<tr class="separator:a8158a42110904fc696385fe1862a23dd"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ae92927bb4825111e7295f1f54d806b26"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae92927bb4825111e7295f1f54d806b26"></a>
+<a class="el" href="a00024.html">internal::broadcast_cache</a><br class="typebreak"/>
+< output_type > & </td><td class="memItemRight" valign="bottom"><b>successors</b> ()</td></tr>
+<tr class="separator:ae92927bb4825111e7295f1f54d806b26"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
+Friends</h2></td></tr>
+<tr class="memitem:abaf9bf74ca5f2854d09f5f07337280eb"><td class="memTemplParams" colspan="2"><a class="anchor" id="abaf9bf74ca5f2854d09f5f07337280eb"></a>
+template<typename R , typename B > </td></tr>
+<tr class="memitem:abaf9bf74ca5f2854d09f5f07337280eb"><td class="memTemplItemLeft" align="right" valign="top">class </td><td class="memTemplItemRight" valign="bottom"><b>run_and_put_task</b></td></tr>
+<tr class="separator:abaf9bf74ca5f2854d09f5f07337280eb"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a1360e38efe396058978cf3754ad620f5"><td class="memTemplParams" colspan="2"><a class="anchor" id="a1360e38efe396058978cf3754ad620f5"></a>
+template<typename X , typename Y > </td></tr>
+<tr class="memitem:a1360e38efe396058978cf3754ad620f5"><td class="memTemplItemLeft" align="right" valign="top">class </td><td class="memTemplItemRight" valign="bottom"><b>internal::broadcast_cache</b></td></tr>
+<tr class="separator:a1360e38efe396058978cf3754ad620f5"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:acbd9ac2610587a99cd7d43344297cc49"><td class="memTemplParams" colspan="2"><a class="anchor" id="acbd9ac2610587a99cd7d43344297cc49"></a>
+template<typename X , typename Y > </td></tr>
+<tr class="memitem:acbd9ac2610587a99cd7d43344297cc49"><td class="memTemplItemLeft" align="right" valign="top">class </td><td class="memTemplItemRight" valign="bottom"><b>internal::round_robin_cache</b></td></tr>
+<tr class="separator:acbd9ac2610587a99cd7d43344297cc49"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
+Additional Inherited Members</h2></td></tr>
+<tr class="inherit_header pro_attribs_a00063"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_a00063')"><img src="closed.png" alt="-"/> Protected Attributes inherited from <a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a></td></tr>
+<tr class="memitem:a1caee1c5677047b05d18b1662ca6fdf8 inherit pro_attribs_a00063"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1caee1c5677047b05d18b1662ca6fdf8"></a>
+<a class="el" href="a00061.html">graph</a> & </td><td class="memItemRight" valign="bottom"><b>my_graph</b></td></tr>
+<tr class="separator:a1caee1c5677047b05d18b1662ca6fdf8 inherit pro_attribs_a00063"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:af48cd0cd4f6e44efc3b353adb55f86a8 inherit pro_attribs_a00063"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af48cd0cd4f6e44efc3b353adb55f86a8"></a>
+<a class="el" href="a00063.html">graph_node</a> * </td><td class="memItemRight" valign="bottom"><b>next</b></td></tr>
+<tr class="separator:af48cd0cd4f6e44efc3b353adb55f86a8 inherit pro_attribs_a00063"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a6917bffc3cb150319679bf2395e68caa inherit pro_attribs_a00063"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6917bffc3cb150319679bf2395e68caa"></a>
+<a class="el" href="a00063.html">graph_node</a> * </td><td class="memItemRight" valign="bottom"><b>prev</b></td></tr>
+<tr class="separator:a6917bffc3cb150319679bf2395e68caa inherit pro_attribs_a00063"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><h3>template<typename Input, typename Output, typename Allocator><br/>
+class tbb::flow::interface7::function_node< Input, Output, queueing, Allocator ></h3>
+
+<p>Implements a function node that supports Input -> Output. </p>
+</div><hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="a00179.html">flow_graph.h</a></li>
+</ul>
+</div><!-- contents -->
+<hr>
+<p></p>
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
+<p></p>
+Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
+registered trademarks or trademarks of Intel Corporation or its
+subsidiaries in the United States and other countries.
+<p></p>
+* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00060.png b/doc/html/a00060.png
new file mode 100644
index 0000000..c067567
Binary files /dev/null and b/doc/html/a00060.png differ
diff --git a/doc/html/a00061.html b/doc/html/a00061.html
new file mode 100644
index 0000000..d6f9476
--- /dev/null
+++ b/doc/html/a00061.html
@@ -0,0 +1,346 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::flow::interface7::graph Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>flow</b></li><li class="navelem"><b>interface7</b></li><li class="navelem"><a class="el" href="a00061.html">graph</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Classes</a> |
+<a href="#pub-types">Public Types</a> |
+<a href="#pub-methods">Public Member Functions</a> |
+<a href="#friends">Friends</a> |
+<a href="a00313.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::flow::interface7::graph Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>The graph class.  
+ <a href="a00061.html#details">More...</a></p>
+
+<p><code>#include <flow_graph.h></code></p>
+<div class="dynheader">
+Inheritance diagram for tbb::flow::interface7::graph:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00061.png" usemap="#tbb::flow::interface7::graph_map" alt=""/>
+  <map id="tbb::flow::interface7::graph_map" name="tbb::flow::interface7::graph_map">
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:aadf8d25297819e6b7c01e271ba504906"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aadf8d25297819e6b7c01e271ba504906"></a>
+typedef <a class="el" href="a00062.html">graph_iterator</a>< <a class="el" href="a00061.html">graph</a>, <br class="typebreak"/>
+<a class="el" href="a00063.html">graph_node</a> > </td><td class="memItemRight" valign="bottom"><b>iterator</b></td></tr>
+<tr class="separator:aadf8d25297819e6b7c01e271ba504906"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a278ce7d4ece4894554b6706d915e16a4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a278ce7d4ece4894554b6706d915e16a4"></a>
+typedef <a class="el" href="a00062.html">graph_iterator</a>< const <br class="typebreak"/>
+<a class="el" href="a00061.html">graph</a>, const <a class="el" href="a00063.html">graph_node</a> > </td><td class="memItemRight" valign="bottom"><b>const_iterator</b></td></tr>
+<tr class="separator:a278ce7d4ece4894554b6706d915e16a4"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:ac274a9006e66ecc75bcd59f784fe1867"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac274a9006e66ecc75bcd59f784fe1867"></a>
+ </td><td class="memItemRight" valign="bottom"><a class="el" href="a00061.html#ac274a9006e66ecc75bcd59f784fe1867">graph</a> ()</td></tr>
+<tr class="memdesc:ac274a9006e66ecc75bcd59f784fe1867"><td class="mdescLeft"> </td><td class="mdescRight">Constructs a graph with isolated <a class="el" href="a00138.html">task_group_context</a>. <br/></td></tr>
+<tr class="separator:ac274a9006e66ecc75bcd59f784fe1867"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a656cee3d0240a3f142a450800e6b17c7"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a656cee3d0240a3f142a450800e6b17c7"></a>
+ </td><td class="memItemRight" valign="bottom"><a class="el" href="a00061.html#a656cee3d0240a3f142a450800e6b17c7">graph</a> (<a class="el" href="a00138.html">task_group_context</a> &use_this_context)</td></tr>
+<tr class="memdesc:a656cee3d0240a3f142a450800e6b17c7"><td class="mdescLeft"> </td><td class="mdescRight">Constructs a graph with use_this_context as context. <br/></td></tr>
+<tr class="separator:a656cee3d0240a3f142a450800e6b17c7"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a3412df4d4bf0113aed93c958bbb49ec4"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00061.html#a3412df4d4bf0113aed93c958bbb49ec4">~graph</a> ()</td></tr>
+<tr class="memdesc:a3412df4d4bf0113aed93c958bbb49ec4"><td class="mdescLeft"> </td><td class="mdescRight">Destroys the graph.  <a href="#a3412df4d4bf0113aed93c958bbb49ec4">More...</a><br/></td></tr>
+<tr class="separator:a3412df4d4bf0113aed93c958bbb49ec4"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a0d13293f3c2d0f2e79e9a93afb0e8fd4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0d13293f3c2d0f2e79e9a93afb0e8fd4"></a>
+void </td><td class="memItemRight" valign="bottom"><b>set_name</b> (const char *name)</td></tr>
+<tr class="separator:a0d13293f3c2d0f2e79e9a93afb0e8fd4"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ad96c910ae45e6c5d2433bb1d9e910891"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00061.html#ad96c910ae45e6c5d2433bb1d9e910891">increment_wait_count</a> ()</td></tr>
+<tr class="memdesc:ad96c910ae45e6c5d2433bb1d9e910891"><td class="mdescLeft"> </td><td class="mdescRight">Used to register that an external entity may still interact with the graph.  <a href="#ad96c910ae45e6c5d2433bb1d9e910891">More...</a><br/></td></tr>
+<tr class="separator:ad96c910ae45e6c5d2433bb1d9e910891"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:af16d14eaed1355ae376bb78dde7762c3"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00061.html#af16d14eaed1355ae376bb78dde7762c3">decrement_wait_count</a> ()</td></tr>
+<tr class="memdesc:af16d14eaed1355ae376bb78dde7762c3"><td class="mdescLeft"> </td><td class="mdescRight">Deregisters an external entity that may have interacted with the graph.  <a href="#af16d14eaed1355ae376bb78dde7762c3">More...</a><br/></td></tr>
+<tr class="separator:af16d14eaed1355ae376bb78dde7762c3"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ac0a03f1d59dc2ccb9526995599c2c83c"><td class="memTemplParams" colspan="2">template<typename Receiver , typename Body > </td></tr>
+<tr class="memitem:ac0a03f1d59dc2ccb9526995599c2c83c"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00061.html#ac0a03f1d59dc2ccb9526995599c2c83c">run</a> (Receiver &r, Body body)</td></tr>
+<tr class="memdesc:ac0a03f1d59dc2ccb9526995599c2c83c"><td class="mdescLeft"> </td><td class="mdescRight">Spawns a task that runs a body and puts its output to a specific receiver.  <a href="#ac0a03f1d59dc2ccb9526995599c2c83c">More...</a><br/></td></tr>
+<tr class="separator:ac0a03f1d59dc2ccb9526995599c2c83c"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a6e428c2d7c8780f3c2587a71c4d92466"><td class="memTemplParams" colspan="2">template<typename Body > </td></tr>
+<tr class="memitem:a6e428c2d7c8780f3c2587a71c4d92466"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00061.html#a6e428c2d7c8780f3c2587a71c4d92466">run</a> (Body body)</td></tr>
+<tr class="memdesc:a6e428c2d7c8780f3c2587a71c4d92466"><td class="mdescLeft"> </td><td class="mdescRight">Spawns a task that runs a function object.  <a href="#a6e428c2d7c8780f3c2587a71c4d92466">More...</a><br/></td></tr>
+<tr class="separator:a6e428c2d7c8780f3c2587a71c4d92466"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a397208ce3b432c83cd24f416b082e8db"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00061.html#a397208ce3b432c83cd24f416b082e8db">wait_for_all</a> ()</td></tr>
+<tr class="memdesc:a397208ce3b432c83cd24f416b082e8db"><td class="mdescLeft"> </td><td class="mdescRight">Wait until graph is idle and decrement_wait_count calls equals increment_wait_count calls.  <a href="#a397208ce3b432c83cd24f416b082e8db">More...</a><br/></td></tr>
+<tr class="separator:a397208ce3b432c83cd24f416b082e8db"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ae5f59627a7d130cf289f105a849ad3f0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae5f59627a7d130cf289f105a849ad3f0"></a>
+task * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00061.html#ae5f59627a7d130cf289f105a849ad3f0">root_task</a> ()</td></tr>
+<tr class="memdesc:ae5f59627a7d130cf289f105a849ad3f0"><td class="mdescLeft"> </td><td class="mdescRight">Returns the root task of the graph. <br/></td></tr>
+<tr class="separator:ae5f59627a7d130cf289f105a849ad3f0"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a91d2f9921342a504668b2cdc3064a846"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a91d2f9921342a504668b2cdc3064a846"></a>
+<a class="el" href="a00062.html">iterator</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00061.html#a91d2f9921342a504668b2cdc3064a846">begin</a> ()</td></tr>
+<tr class="memdesc:a91d2f9921342a504668b2cdc3064a846"><td class="mdescLeft"> </td><td class="mdescRight">start iterator <br/></td></tr>
+<tr class="separator:a91d2f9921342a504668b2cdc3064a846"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a221a7ee0a1f0e69a01add5c1dda43be7"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a221a7ee0a1f0e69a01add5c1dda43be7"></a>
+<a class="el" href="a00062.html">iterator</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00061.html#a221a7ee0a1f0e69a01add5c1dda43be7">end</a> ()</td></tr>
+<tr class="memdesc:a221a7ee0a1f0e69a01add5c1dda43be7"><td class="mdescLeft"> </td><td class="mdescRight">end iterator <br/></td></tr>
+<tr class="separator:a221a7ee0a1f0e69a01add5c1dda43be7"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ac404d2e08620aca079532124551a646a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac404d2e08620aca079532124551a646a"></a>
+<a class="el" href="a00062.html">const_iterator</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00061.html#ac404d2e08620aca079532124551a646a">begin</a> () const </td></tr>
+<tr class="memdesc:ac404d2e08620aca079532124551a646a"><td class="mdescLeft"> </td><td class="mdescRight">start const iterator <br/></td></tr>
+<tr class="separator:ac404d2e08620aca079532124551a646a"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a599e6a885a76db84928b039063c299e4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a599e6a885a76db84928b039063c299e4"></a>
+<a class="el" href="a00062.html">const_iterator</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00061.html#a599e6a885a76db84928b039063c299e4">end</a> () const </td></tr>
+<tr class="memdesc:a599e6a885a76db84928b039063c299e4"><td class="mdescLeft"> </td><td class="mdescRight">end const iterator <br/></td></tr>
+<tr class="separator:a599e6a885a76db84928b039063c299e4"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a2af8f195917817ce2b77ff7b6463c344"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2af8f195917817ce2b77ff7b6463c344"></a>
+<a class="el" href="a00062.html">const_iterator</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00061.html#a2af8f195917817ce2b77ff7b6463c344">cbegin</a> () const </td></tr>
+<tr class="memdesc:a2af8f195917817ce2b77ff7b6463c344"><td class="mdescLeft"> </td><td class="mdescRight">start const iterator <br/></td></tr>
+<tr class="separator:a2af8f195917817ce2b77ff7b6463c344"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:acf6d3f610c2675eaf8bf2a40853081aa"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acf6d3f610c2675eaf8bf2a40853081aa"></a>
+<a class="el" href="a00062.html">const_iterator</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00061.html#acf6d3f610c2675eaf8bf2a40853081aa">cend</a> () const </td></tr>
+<tr class="memdesc:acf6d3f610c2675eaf8bf2a40853081aa"><td class="mdescLeft"> </td><td class="mdescRight">end const iterator <br/></td></tr>
+<tr class="separator:acf6d3f610c2675eaf8bf2a40853081aa"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a9e26f4f5d608e39c8adc9dc6d06a7a01"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9e26f4f5d608e39c8adc9dc6d06a7a01"></a>
+bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00061.html#a9e26f4f5d608e39c8adc9dc6d06a7a01">is_cancelled</a> ()</td></tr>
+<tr class="memdesc:a9e26f4f5d608e39c8adc9dc6d06a7a01"><td class="mdescLeft"> </td><td class="mdescRight">return status of graph execution <br/></td></tr>
+<tr class="separator:a9e26f4f5d608e39c8adc9dc6d06a7a01"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a8183d2d71ce8c8b35d314bbb7d66bda3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8183d2d71ce8c8b35d314bbb7d66bda3"></a>
+bool </td><td class="memItemRight" valign="bottom"><b>exception_thrown</b> ()</td></tr>
+<tr class="separator:a8183d2d71ce8c8b35d314bbb7d66bda3"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a6652373643b94fa7436874e0c617474e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6652373643b94fa7436874e0c617474e"></a>
+void </td><td class="memItemRight" valign="bottom"><b>reset</b> ()</td></tr>
+<tr class="separator:a6652373643b94fa7436874e0c617474e"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
+Friends</h2></td></tr>
+<tr class="memitem:a8bb549de1ad8539cd820379b4a9bc568"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8bb549de1ad8539cd820379b4a9bc568"></a>
+class </td><td class="memItemRight" valign="bottom"><b>graph_node</b></td></tr>
+<tr class="separator:a8bb549de1ad8539cd820379b4a9bc568"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aaa1d1a46765052516277dce8e9bdf63e"><td class="memTemplParams" colspan="2"><a class="anchor" id="aaa1d1a46765052516277dce8e9bdf63e"></a>
+template<typename C , typename N > </td></tr>
+<tr class="memitem:aaa1d1a46765052516277dce8e9bdf63e"><td class="memTemplItemLeft" align="right" valign="top">class </td><td class="memTemplItemRight" valign="bottom"><b>graph_iterator</b></td></tr>
+<tr class="separator:aaa1d1a46765052516277dce8e9bdf63e"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>The graph class. </p>
+<p>This class serves as a handle to the graph </p>
+</div><h2 class="groupheader">Constructor & Destructor Documentation</h2>
+<a class="anchor" id="a3412df4d4bf0113aed93c958bbb49ec4"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">tbb::flow::interface7::graph::~graph </td>
+          <td>(</td>
+          <td class="paramname">)</td><td></td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Destroys the graph. </p>
+<p>Calls wait_for_all, then destroys the root task and context. </p>
+
+</div>
+</div>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="af16d14eaed1355ae376bb78dde7762c3"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">void tbb::flow::interface7::graph::decrement_wait_count </td>
+          <td>(</td>
+          <td class="paramname">)</td><td></td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Deregisters an external entity that may have interacted with the graph. </p>
+<p>The graph will not return from wait_for_all until all the number of decrement_wait_count calls matches the number of increment_wait_count calls. </p>
+
+</div>
+</div>
+<a class="anchor" id="ad96c910ae45e6c5d2433bb1d9e910891"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">void tbb::flow::interface7::graph::increment_wait_count </td>
+          <td>(</td>
+          <td class="paramname">)</td><td></td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Used to register that an external entity may still interact with the graph. </p>
+<p>The graph will not return from wait_for_all until a matching number of decrement_wait_count calls is made. </p>
+
+</div>
+</div>
+<a class="anchor" id="ac0a03f1d59dc2ccb9526995599c2c83c"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename Receiver , typename Body > </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">void tbb::flow::interface7::graph::run </td>
+          <td>(</td>
+          <td class="paramtype">Receiver & </td>
+          <td class="paramname"><em>r</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Body </td>
+          <td class="paramname"><em>body</em> </td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Spawns a task that runs a body and puts its output to a specific receiver. </p>
+<p>The task is spawned as a child of the graph. This is useful for running tasks that need to block a <a class="el" href="a00061.html#a397208ce3b432c83cd24f416b082e8db" title="Wait until graph is idle and decrement_wait_count calls equals increment_wait_count calls...">wait_for_all()</a> on the graph. For example a one-off source. </p>
+
+</div>
+</div>
+<a class="anchor" id="a6e428c2d7c8780f3c2587a71c4d92466"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename Body > </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">void tbb::flow::interface7::graph::run </td>
+          <td>(</td>
+          <td class="paramtype">Body </td>
+          <td class="paramname"><em>body</em>)</td><td></td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Spawns a task that runs a function object. </p>
+<p>The task is spawned as a child of the graph. This is useful for running tasks that need to block a <a class="el" href="a00061.html#a397208ce3b432c83cd24f416b082e8db" title="Wait until graph is idle and decrement_wait_count calls equals increment_wait_count calls...">wait_for_all()</a> on the graph. For example a one-off source. </p>
+
+</div>
+</div>
+<a class="anchor" id="a397208ce3b432c83cd24f416b082e8db"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">void tbb::flow::interface7::graph::wait_for_all </td>
+          <td>(</td>
+          <td class="paramname">)</td><td></td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Wait until graph is idle and decrement_wait_count calls equals increment_wait_count calls. </p>
+<p>The waiting thread will go off and steal work while it is block in the wait_for_all. </p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="a00179.html">flow_graph.h</a></li>
+</ul>
+</div><!-- contents -->
+<hr>
+<p></p>
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
+<p></p>
+Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
+registered trademarks or trademarks of Intel Corporation or its
+subsidiaries in the United States and other countries.
+<p></p>
+* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00061.png b/doc/html/a00061.png
new file mode 100644
index 0000000..9ec4ddf
Binary files /dev/null and b/doc/html/a00061.png differ
diff --git a/doc/html/a00062.html b/doc/html/a00062.html
index 9b8a3c2..15a03f5 100644
--- a/doc/html/a00062.html
+++ b/doc/html/a00062.html
@@ -1,37 +1,128 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::flow::interface7::graph_iterator< GraphContainerType, GraphNodeType > Class Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<h1>tbb::flow::interface6::graph_node Member List</h1>This is the complete list of members for <a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a>, including all inherited members.<p><table>
-  <tr bgcolor="#f0f0f0"><td><b>graph</b> (defined in <a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a>)</td><td><a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a></td><td><code> [friend]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>graph_iterator</b> (defined in <a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a>)</td><td><a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a></td><td><code> [friend]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>graph_node</b>(graph &g) (defined in <a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a>)</td><td><a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>my_graph</b> (defined in <a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a>)</td><td><a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a></td><td><code> [protected]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>next</b> (defined in <a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a>)</td><td><a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a></td><td><code> [protected]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>prev</b> (defined in <a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a>)</td><td><a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a></td><td><code> [protected]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>reset</b>()=0 (defined in <a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a>)</td><td><a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a></td><td><code> [protected, pure virtual]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>~graph_node</b>() (defined in <a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a>)</td><td><a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a></td><td><code> [inline, virtual]</code></td></tr>
-</table><hr>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>flow</b></li><li class="navelem"><b>interface7</b></li><li class="navelem"><a class="el" href="a00062.html">graph_iterator</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-types">Public Types</a> |
+<a href="#pub-methods">Public Member Functions</a> |
+<a href="#friends">Friends</a> |
+<a href="a00312.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::flow::interface7::graph_iterator< GraphContainerType, GraphNodeType > Class Template Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:abdd4f54a62d4b1e34661795501ab96a4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abdd4f54a62d4b1e34661795501ab96a4"></a>
+typedef size_t </td><td class="memItemRight" valign="bottom"><b>size_type</b></td></tr>
+<tr class="separator:abdd4f54a62d4b1e34661795501ab96a4"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a9cc8bbd5e318ac345e2948f957aba1c2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9cc8bbd5e318ac345e2948f957aba1c2"></a>
+typedef GraphNodeType </td><td class="memItemRight" valign="bottom"><b>value_type</b></td></tr>
+<tr class="separator:a9cc8bbd5e318ac345e2948f957aba1c2"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a4376f2192af42eb189c7fe4769b51ea8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4376f2192af42eb189c7fe4769b51ea8"></a>
+typedef GraphNodeType * </td><td class="memItemRight" valign="bottom"><b>pointer</b></td></tr>
+<tr class="separator:a4376f2192af42eb189c7fe4769b51ea8"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a1628ccc82db8c7ae48042e75629df9c3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1628ccc82db8c7ae48042e75629df9c3"></a>
+typedef GraphNodeType & </td><td class="memItemRight" valign="bottom"><b>reference</b></td></tr>
+<tr class="separator:a1628ccc82db8c7ae48042e75629df9c3"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a279af8fa5e64a54f31d6bb0d42708697"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a279af8fa5e64a54f31d6bb0d42708697"></a>
+typedef const GraphNodeType & </td><td class="memItemRight" valign="bottom"><b>const_reference</b></td></tr>
+<tr class="separator:a279af8fa5e64a54f31d6bb0d42708697"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a6ef18324f0aab60b4e9b3a5a242224ce"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6ef18324f0aab60b4e9b3a5a242224ce"></a>
+typedef std::forward_iterator_tag </td><td class="memItemRight" valign="bottom"><b>iterator_category</b></td></tr>
+<tr class="separator:a6ef18324f0aab60b4e9b3a5a242224ce"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a5082b1f425ffbd4a93533230d6ff99c0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5082b1f425ffbd4a93533230d6ff99c0"></a>
+ </td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#a5082b1f425ffbd4a93533230d6ff99c0">graph_iterator</a> ()</td></tr>
+<tr class="memdesc:a5082b1f425ffbd4a93533230d6ff99c0"><td class="mdescLeft"> </td><td class="mdescRight">Default constructor. <br/></td></tr>
+<tr class="separator:a5082b1f425ffbd4a93533230d6ff99c0"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a72937fa822ca1e285a4cb22e544bafbf"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a72937fa822ca1e285a4cb22e544bafbf"></a>
+ </td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#a72937fa822ca1e285a4cb22e544bafbf">graph_iterator</a> (const <a class="el" href="a00062.html">graph_iterator</a> &other)</td></tr>
+<tr class="memdesc:a72937fa822ca1e285a4cb22e544bafbf"><td class="mdescLeft"> </td><td class="mdescRight">Copy constructor. <br/></td></tr>
+<tr class="separator:a72937fa822ca1e285a4cb22e544bafbf"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ada73cea77a417f0df629eeaf4c1e2002"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ada73cea77a417f0df629eeaf4c1e2002"></a>
+<a class="el" href="a00062.html">graph_iterator</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#ada73cea77a417f0df629eeaf4c1e2002">operator=</a> (const <a class="el" href="a00062.html">graph_iterator</a> &other)</td></tr>
+<tr class="memdesc:ada73cea77a417f0df629eeaf4c1e2002"><td class="mdescLeft"> </td><td class="mdescRight">Assignment. <br/></td></tr>
+<tr class="separator:ada73cea77a417f0df629eeaf4c1e2002"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a1daffd203bebae367ed0f32917048f22"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1daffd203bebae367ed0f32917048f22"></a>
+reference </td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#a1daffd203bebae367ed0f32917048f22">operator*</a> () const </td></tr>
+<tr class="memdesc:a1daffd203bebae367ed0f32917048f22"><td class="mdescLeft"> </td><td class="mdescRight">Dereference. <br/></td></tr>
+<tr class="separator:a1daffd203bebae367ed0f32917048f22"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:abfb28c989f76822e26b47211febe3d72"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abfb28c989f76822e26b47211febe3d72"></a>
+pointer </td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#abfb28c989f76822e26b47211febe3d72">operator-></a> () const </td></tr>
+<tr class="memdesc:abfb28c989f76822e26b47211febe3d72"><td class="mdescLeft"> </td><td class="mdescRight">Dereference. <br/></td></tr>
+<tr class="separator:abfb28c989f76822e26b47211febe3d72"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a3b0d834dffd2a99a596e9541b7a96d2a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3b0d834dffd2a99a596e9541b7a96d2a"></a>
+bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#a3b0d834dffd2a99a596e9541b7a96d2a">operator==</a> (const <a class="el" href="a00062.html">graph_iterator</a> &other) const </td></tr>
+<tr class="memdesc:a3b0d834dffd2a99a596e9541b7a96d2a"><td class="mdescLeft"> </td><td class="mdescRight">Equality. <br/></td></tr>
+<tr class="separator:a3b0d834dffd2a99a596e9541b7a96d2a"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:af3f6d2cc6cbec2dc1194f7d5f4091a73"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af3f6d2cc6cbec2dc1194f7d5f4091a73"></a>
+bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#af3f6d2cc6cbec2dc1194f7d5f4091a73">operator!=</a> (const <a class="el" href="a00062.html">graph_iterator</a> &other) const </td></tr>
+<tr class="memdesc:af3f6d2cc6cbec2dc1194f7d5f4091a73"><td class="mdescLeft"> </td><td class="mdescRight">Inequality. <br/></td></tr>
+<tr class="separator:af3f6d2cc6cbec2dc1194f7d5f4091a73"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ab84587ed134f01886f6a0d64d5a6ccef"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab84587ed134f01886f6a0d64d5a6ccef"></a>
+<a class="el" href="a00062.html">graph_iterator</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#ab84587ed134f01886f6a0d64d5a6ccef">operator++</a> ()</td></tr>
+<tr class="memdesc:ab84587ed134f01886f6a0d64d5a6ccef"><td class="mdescLeft"> </td><td class="mdescRight">Pre-increment. <br/></td></tr>
+<tr class="separator:ab84587ed134f01886f6a0d64d5a6ccef"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:abc9d079735fe9c1b07d136284556e15a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abc9d079735fe9c1b07d136284556e15a"></a>
+<a class="el" href="a00062.html">graph_iterator</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html#abc9d079735fe9c1b07d136284556e15a">operator++</a> (int)</td></tr>
+<tr class="memdesc:abc9d079735fe9c1b07d136284556e15a"><td class="mdescLeft"> </td><td class="mdescRight">Post-increment. <br/></td></tr>
+<tr class="separator:abc9d079735fe9c1b07d136284556e15a"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
+Friends</h2></td></tr>
+<tr class="memitem:ab8b0dbc1b36724e5e4635ac651c218cb"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab8b0dbc1b36724e5e4635ac651c218cb"></a>
+class </td><td class="memItemRight" valign="bottom"><b>graph</b></td></tr>
+<tr class="separator:ab8b0dbc1b36724e5e4635ac651c218cb"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a8bb549de1ad8539cd820379b4a9bc568"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8bb549de1ad8539cd820379b4a9bc568"></a>
+class </td><td class="memItemRight" valign="bottom"><b>graph_node</b></td></tr>
+<tr class="separator:a8bb549de1ad8539cd820379b4a9bc568"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="a00179.html">flow_graph.h</a></li>
+</ul>
+</div><!-- contents -->
+<hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00063.html b/doc/html/a00063.html
index 4bd919e..c53f3ad 100644
--- a/doc/html/a00063.html
+++ b/doc/html/a00063.html
@@ -1,50 +1,123 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::flow::interface7::graph_node Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<h1>tbb::flow::interface6::source_node< Output > Member List</h1>This is the complete list of members for <a class="el" href="a00342.html">tbb::flow::interface6::source_node< Output ></a>, including all inherited members.<p><table>
-  <tr class="memlist"><td><a class="el" href="a00342.html#4b647e4a93d08ccdd8d323279e4eaaa6">activate</a>()</td><td><a class="el" href="a00342.html">tbb::flow::interface6::source_node< Output ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>copy_function_object</b>() (defined in <a class="el" href="a00342.html">tbb::flow::interface6::source_node< Output ></a>)</td><td><a class="el" href="a00342.html">tbb::flow::interface6::source_node< Output ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>graph_node</b>(graph &g) (defined in <a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a>)</td><td><a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>internal::source_task_bypass< source_node< output_type > ></b> (defined in <a class="el" href="a00342.html">tbb::flow::interface6::source_node< Output ></a>)</td><td><a class="el" href="a00342.html">tbb::flow::interface6::source_node< Output ></a></td><td><code> [friend]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>my_graph</b> (defined in <a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a>)</td><td><a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a></td><td><code> [protected]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>next</b> (defined in <a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a>)</td><td><a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a></td><td><code> [protected]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00342.html#407533487cc3f6032c1072cba19c609c">output_type</a> typedef</td><td><a class="el" href="a00342.html">tbb::flow::interface6::source_node< Output ></a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>prev</b> (defined in <a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a>)</td><td><a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a></td><td><code> [protected]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00342.html#22960d499df9f1569a9d8a544e35afe3">register_successor</a>(receiver< output_type > &r)</td><td><a class="el" href="a00342.html">tbb::flow::interface6::source_node< Output ></a></td><td><code> [inline, virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00342.html#222484bf295f39df36415a29e508e5c9">remove_successor</a>(receiver< output_type > &r)</td><td><a class="el" href="a00342.html">tbb::flow::interface6::source_node< Output ></a></td><td><code> [inline, virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00342.html#d751cdda02bdaa1dc90c4d9609c05df2">reset</a>()</td><td><a class="el" href="a00342.html">tbb::flow::interface6::source_node< Output ></a></td><td><code> [inline, protected, virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00342.html#503c3b395c629296bf5cccd96d6388c1">source_node</a>(graph &g, Body body, bool is_active=true)</td><td><a class="el" href="a00342.html">tbb::flow::interface6::source_node< Output ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00342.html#adaac111fbcace95804219a5f2929304">source_node</a>(const source_node &src)</td><td><a class="el" href="a00342.html">tbb::flow::interface6::source_node< Output ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00342.html#dd7b8fe78f0bec9d6b70cbf1018a69fe">successor_type</a> typedef</td><td><a class="el" href="a00342.html">tbb::flow::interface6::source_node< Output ></a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00342.html#2c7fcc29e2894b29138be3c1edce9bc9">try_consume</a>()</td><td><a class="el" href="a00342.html">tbb::flow::interface6::source_node< Output ></a></td><td><code> [inline, virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00342.html#41073ad4d3510ed5a8b6bda9c0f58636">try_get</a>(output_type &v)</td><td><a class="el" href="a00342.html">tbb::flow::interface6::source_node< Output ></a></td><td><code> [inline, virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00342.html#494678baf9096835268736b800824460">try_release</a>()</td><td><a class="el" href="a00342.html">tbb::flow::interface6::source_node< Output ></a></td><td><code> [inline, virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00342.html#ad459713ff3c1c9ad0f4826daa141f65">try_reserve</a>(output_type &v)</td><td><a class="el" href="a00342.html">tbb::flow::interface6::source_node< Output ></a></td><td><code> [inline, virtual]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>~graph_node</b>() (defined in <a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a>)</td><td><a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a></td><td><code> [inline, virtual]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>~sender</b>() (defined in <a class="el" href="a00339.html">tbb::flow::interface6::sender< Output ></a>)</td><td><a class="el" href="a00339.html">tbb::flow::interface6::sender< Output ></a></td><td><code> [inline, virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00342.html#61700b0865fc17188b0abe26bbde65b6">~source_node</a>()</td><td><a class="el" href="a00342.html">tbb::flow::interface6::source_node< Output ></a></td><td><code> [inline]</code></td></tr>
-</table><hr>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>flow</b></li><li class="navelem"><b>interface7</b></li><li class="navelem"><a class="el" href="a00063.html">graph_node</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> |
+<a href="#pro-methods">Protected Member Functions</a> |
+<a href="#pro-attribs">Protected Attributes</a> |
+<a href="#friends">Friends</a> |
+<a href="a00314.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::flow::interface7::graph_node Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>The base of all graph nodes.  
+ <a href="a00063.html#details">More...</a></p>
+
+<p><code>#include <flow_graph.h></code></p>
+<div class="dynheader">
+Inheritance diagram for tbb::flow::interface7::graph_node:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00063.png" usemap="#tbb::flow::interface7::graph_node_map" alt=""/>
+  <map id="tbb::flow::interface7::graph_node_map" name="tbb::flow::interface7::graph_node_map">
+<area href="a00079.html" alt="tbb::flow::interface7::multifunction_node< TupleType, TupleType, rejecting, Allocator >" shape="rect" coords="523,112,1036,136"/>
+<area href="a00025.html" title="Forwards messages of type T to all successors. " alt="tbb::flow::interface7::broadcast_node< T >" shape="rect" coords="523,168,1036,192"/>
+<area href="a00027.html" title="Forwards messages in arbitrary order. " alt="tbb::flow::interface7::buffer_node< T, A >" shape="rect" coords="523,224,1036,248"/>
+<area href="a00049.html" title="Implements an executable node that supports continue_msg -> Output. " alt="tbb::flow::interface7::continue_node< Output >" shape="rect" coords="523,280,1036,304"/>
+<area href="a00059.html" title="Implements a function node that supports Input -> Output. " alt="tbb::flow::interface7::function_node< Input, Output, graph_buffer_policy, Allocator >" shape="rect" coords="523,336,1036,360"/>
+<area href="a00060.html" title="Implements a function node that supports Input -> Output. " alt="tbb::flow::interface7::function_node< Input, Output, queueing, Allocator >" shape="rect" coords="523,392,1036,416"/>
+<area href="a00072.html" title="Forwards messages only if the threshold has not been reached. " alt="tbb::flow::interface7::limiter_node< T >" shape="rect" coords="523,448,1036,472"/>
+<area href="a00079.html" title="implements a function node that supports Input -> (set of outputs) " alt="tbb::flow::interface7::multifunction_node< Input, Output, graph_buffer_policy, Allocator >" shape="rect" coords="523,504,1036,528"/>
+<area href="a00080.html" alt="tbb::flow::interface7::multifunction_node< Input, Output, queueing, Allocator >" shape="rect" coords="523,560,1036,584"/>
+<area href="a00086.html" alt="tbb::flow::interface7::overwrite_node< T >" shape="rect" coords="523,616,1036,640"/>
+<area href="a00126.html" title="An executable node that acts as a source, i.e. it has no predecessors. " alt="tbb::flow::interface7::source_node< Output >" shape="rect" coords="523,672,1036,696"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a4badd313105e30f539882276353dcb8e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4badd313105e30f539882276353dcb8e"></a>
+ </td><td class="memItemRight" valign="bottom"><b>graph_node</b> (<a class="el" href="a00061.html">graph</a> &g)</td></tr>
+<tr class="separator:a4badd313105e30f539882276353dcb8e"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a2eaba3736a405fc5c2267d9e7eb95c27"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2eaba3736a405fc5c2267d9e7eb95c27"></a>
+virtual void </td><td class="memItemRight" valign="bottom"><b>set_name</b> (const char *name)=0</td></tr>
+<tr class="separator:a2eaba3736a405fc5c2267d9e7eb95c27"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
+Protected Member Functions</h2></td></tr>
+<tr class="memitem:ab6b274b7cc6a1d405947f7512f1c0623"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab6b274b7cc6a1d405947f7512f1c0623"></a>
+virtual void </td><td class="memItemRight" valign="bottom"><b>reset</b> ()=0</td></tr>
+<tr class="separator:ab6b274b7cc6a1d405947f7512f1c0623"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
+Protected Attributes</h2></td></tr>
+<tr class="memitem:a1caee1c5677047b05d18b1662ca6fdf8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1caee1c5677047b05d18b1662ca6fdf8"></a>
+<a class="el" href="a00061.html">graph</a> & </td><td class="memItemRight" valign="bottom"><b>my_graph</b></td></tr>
+<tr class="separator:a1caee1c5677047b05d18b1662ca6fdf8"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:af48cd0cd4f6e44efc3b353adb55f86a8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af48cd0cd4f6e44efc3b353adb55f86a8"></a>
+<a class="el" href="a00063.html">graph_node</a> * </td><td class="memItemRight" valign="bottom"><b>next</b></td></tr>
+<tr class="separator:af48cd0cd4f6e44efc3b353adb55f86a8"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a6917bffc3cb150319679bf2395e68caa"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6917bffc3cb150319679bf2395e68caa"></a>
+<a class="el" href="a00063.html">graph_node</a> * </td><td class="memItemRight" valign="bottom"><b>prev</b></td></tr>
+<tr class="separator:a6917bffc3cb150319679bf2395e68caa"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
+Friends</h2></td></tr>
+<tr class="memitem:ab8b0dbc1b36724e5e4635ac651c218cb"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab8b0dbc1b36724e5e4635ac651c218cb"></a>
+class </td><td class="memItemRight" valign="bottom"><b>graph</b></td></tr>
+<tr class="separator:ab8b0dbc1b36724e5e4635ac651c218cb"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aaa1d1a46765052516277dce8e9bdf63e"><td class="memTemplParams" colspan="2"><a class="anchor" id="aaa1d1a46765052516277dce8e9bdf63e"></a>
+template<typename C , typename N > </td></tr>
+<tr class="memitem:aaa1d1a46765052516277dce8e9bdf63e"><td class="memTemplItemLeft" align="right" valign="top">class </td><td class="memTemplItemRight" valign="bottom"><b>graph_iterator</b></td></tr>
+<tr class="separator:aaa1d1a46765052516277dce8e9bdf63e"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>The base of all graph nodes. </p>
+</div><hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="a00179.html">flow_graph.h</a></li>
+</ul>
+</div><!-- contents -->
+<hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00063.png b/doc/html/a00063.png
new file mode 100644
index 0000000..6a2f58c
Binary files /dev/null and b/doc/html/a00063.png differ
diff --git a/doc/html/a00064.html b/doc/html/a00064.html
index 091c2bb..d447d88 100644
--- a/doc/html/a00064.html
+++ b/doc/html/a00064.html
@@ -1,47 +1,90 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::internal::tbb_thread_v3::id Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<h1>tbb::flow::interface6::function_node< Input, Output,, Allocator > Member List</h1>This is the complete list of members for <a class="el" href="a00298.html">tbb::flow::interface6::function_node< Input, Output,, Allocator ></a>, including all inherited members.<p><table>
-  <tr bgcolor="#f0f0f0"><td><b>fInput_type</b> typedef (defined in <a class="el" href="a00298.html">tbb::flow::interface6::function_node< Input, Output,, Allocator ></a>)</td><td><a class="el" href="a00298.html">tbb::flow::interface6::function_node< Input, Output,, Allocator ></a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>fOutput_type</b> typedef (defined in <a class="el" href="a00298.html">tbb::flow::interface6::function_node< Input, Output,, Allocator ></a>)</td><td><a class="el" href="a00298.html">tbb::flow::interface6::function_node< Input, Output,, Allocator ></a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00298.html#5c215b40e3daf73d1c6802ecb5aded6c">function_node</a>(graph &g, size_t concurrency, Body body)</td><td><a class="el" href="a00298.html">tbb::flow::interface6::function_node< Input, Output,, Allocator ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00298.html#d5132323fd2ac6a00ea0c78beda78723">function_node</a>(const function_node &src)</td><td><a class="el" href="a00298.html">tbb::flow::interface6::function_node< Input, Output,, Allocator ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>graph_node</b>(graph &g) (defined in <a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a>)</td><td><a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>input_type</b> typedef (defined in <a class="el" href="a00298.html">tbb::flow::interface6::function_node< Input, Output,, Allocator ></a>)</td><td><a class="el" href="a00298.html">tbb::flow::interface6::function_node< Input, Output,, Allocator ></a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>internal::broadcast_cache</b> (defined in <a class="el" href="a00298.html">tbb::flow::interface6::function_node< Input, Output,, Allocator ></a>)</td><td><a class="el" href="a00298.html">tbb::flow::interface6::function_node< Input, Output,, Allocator ></a></td><td><code> [friend]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>internal::round_robin_cache</b> (defined in <a class="el" href="a00298.html">tbb::flow::interface6::function_node< Input, Output,, Allocator ></a>)</td><td><a class="el" href="a00298.html">tbb::flow::interface6::function_node< Input, Output,, Allocator ></a></td><td><code> [friend]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>my_graph</b> (defined in <a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a>)</td><td><a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a></td><td><code> [protected]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>next</b> (defined in <a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a>)</td><td><a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a></td><td><code> [protected]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>output_type</b> typedef (defined in <a class="el" href="a00298.html">tbb::flow::interface6::function_node< Input, Output,, Allocator ></a>)</td><td><a class="el" href="a00298.html">tbb::flow::interface6::function_node< Input, Output,, Allocator ></a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>predecessor_type</b> typedef (defined in <a class="el" href="a00298.html">tbb::flow::interface6::function_node< Input, Output,, Allocator ></a>)</td><td><a class="el" href="a00298.html">tbb::flow::interface6::function_node< Input, Output,, Allocator ></a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>prev</b> (defined in <a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a>)</td><td><a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a></td><td><code> [protected]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>reset</b>() (defined in <a class="el" href="a00298.html">tbb::flow::interface6::function_node< Input, Output,, Allocator ></a>)</td><td><a class="el" href="a00298.html">tbb::flow::interface6::function_node< Input, Output,, Allocator ></a></td><td><code> [inline, protected, virtual]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>run_and_put_task</b> (defined in <a class="el" href="a00298.html">tbb::flow::interface6::function_node< Input, Output,, Allocator ></a>)</td><td><a class="el" href="a00298.html">tbb::flow::interface6::function_node< Input, Output,, Allocator ></a></td><td><code> [friend]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>successor_type</b> typedef (defined in <a class="el" href="a00298.html">tbb::flow::interface6::function_node< Input, Output,, Allocator ></a>)</td><td><a class="el" href="a00298.html">tbb::flow::interface6::function_node< Input, Output,, Allocator ></a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>successors</b>() (defined in <a class="el" href="a00298.html">tbb::flow::interface6::function_node< Input, Output,, Allocator ></a>)</td><td><a class="el" href="a00298.html">tbb::flow::interface6::function_node< Input, Output,, Allocator ></a></td><td><code> [inline, protected]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>~graph_node</b>() (defined in <a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a>)</td><td><a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a></td><td><code> [inline, virtual]</code></td></tr>
-</table><hr>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>internal</b></li><li class="navelem"><a class="el" href="a00149.html">tbb_thread_v3</a></li><li class="navelem"><a class="el" href="a00064.html">id</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#friends">Friends</a> |
+<a href="a00382.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::internal::tbb_thread_v3::id Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
+Friends</h2></td></tr>
+<tr class="memitem:aa08381fcad9d2adc0bf8fb009ad38366"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa08381fcad9d2adc0bf8fb009ad38366"></a>
+class </td><td class="memItemRight" valign="bottom"><b>tbb_thread_v3</b></td></tr>
+<tr class="separator:aa08381fcad9d2adc0bf8fb009ad38366"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aa289cec6985a042e90b041a1ce225bee"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa289cec6985a042e90b041a1ce225bee"></a>
+bool </td><td class="memItemRight" valign="bottom"><b>operator==</b> (<a class="el" href="a00064.html">tbb_thread_v3::id</a> x, <a class="el" href="a00064.html">tbb_thread_v3::id</a> y)</td></tr>
+<tr class="separator:aa289cec6985a042e90b041a1ce225bee"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a96dda8547314c50318bf74fbabcb2a13"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a96dda8547314c50318bf74fbabcb2a13"></a>
+bool </td><td class="memItemRight" valign="bottom"><b>operator!=</b> (<a class="el" href="a00064.html">tbb_thread_v3::id</a> x, <a class="el" href="a00064.html">tbb_thread_v3::id</a> y)</td></tr>
+<tr class="separator:a96dda8547314c50318bf74fbabcb2a13"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aa079db2ec91cde90ba2d39665eb4dcb6"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa079db2ec91cde90ba2d39665eb4dcb6"></a>
+bool </td><td class="memItemRight" valign="bottom"><b>operator<</b> (<a class="el" href="a00064.html">tbb_thread_v3::id</a> x, <a class="el" href="a00064.html">tbb_thread_v3::id</a> y)</td></tr>
+<tr class="separator:aa079db2ec91cde90ba2d39665eb4dcb6"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a0035b2e97f417231d6aabb24f425f9d6"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0035b2e97f417231d6aabb24f425f9d6"></a>
+bool </td><td class="memItemRight" valign="bottom"><b>operator<=</b> (<a class="el" href="a00064.html">tbb_thread_v3::id</a> x, <a class="el" href="a00064.html">tbb_thread_v3::id</a> y)</td></tr>
+<tr class="separator:a0035b2e97f417231d6aabb24f425f9d6"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aaf161eec2a0e000f58a2f44e5f540834"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aaf161eec2a0e000f58a2f44e5f540834"></a>
+bool </td><td class="memItemRight" valign="bottom"><b>operator></b> (<a class="el" href="a00064.html">tbb_thread_v3::id</a> x, <a class="el" href="a00064.html">tbb_thread_v3::id</a> y)</td></tr>
+<tr class="separator:aaf161eec2a0e000f58a2f44e5f540834"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a4e5408af6bfda47faa583eee2fafd52b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4e5408af6bfda47faa583eee2fafd52b"></a>
+bool </td><td class="memItemRight" valign="bottom"><b>operator>=</b> (<a class="el" href="a00064.html">tbb_thread_v3::id</a> x, <a class="el" href="a00064.html">tbb_thread_v3::id</a> y)</td></tr>
+<tr class="separator:a4e5408af6bfda47faa583eee2fafd52b"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a8dcf9ef009469428dc3752f54240eb69"><td class="memTemplParams" colspan="2"><a class="anchor" id="a8dcf9ef009469428dc3752f54240eb69"></a>
+template<class charT , class traits > </td></tr>
+<tr class="memitem:a8dcf9ef009469428dc3752f54240eb69"><td class="memTemplItemLeft" align="right" valign="top">std::basic_ostream< charT, <br class="typebreak"/>
+traits > & </td><td class="memTemplItemRight" valign="bottom"><b>operator<<</b> (std::basic_ostream< charT, traits > &out, <a class="el" href="a00064.html">tbb_thread_v3::id</a> <a class="el" href="a00064.html">id</a>)</td></tr>
+<tr class="separator:a8dcf9ef009469428dc3752f54240eb69"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a0a77bf86c87119e219bb508d787d97da"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0a77bf86c87119e219bb508d787d97da"></a>
+<a class="el" href="a00064.html">tbb_thread_v3::id</a> <br class="typebreak"/>
+__TBB_EXPORTED_FUNC </td><td class="memItemRight" valign="bottom"><b>thread_get_id_v3</b> ()</td></tr>
+<tr class="separator:a0a77bf86c87119e219bb508d787d97da"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>tbb_thread.h</li>
+</ul>
+</div><!-- contents -->
+<hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00065.html b/doc/html/a00065.html
index 26abe45..7fd657f 100644
--- a/doc/html/a00065.html
+++ b/doc/html/a00065.html
@@ -1,48 +1,78 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::improper_lock Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<h1>tbb::flow::interface6::function_node< Input, Output, queueing, Allocator > Member List</h1>This is the complete list of members for <a class="el" href="a00299.html">tbb::flow::interface6::function_node< Input, Output, queueing, Allocator ></a>, including all inherited members.<p><table>
-  <tr bgcolor="#f0f0f0"><td><b>fInput_type</b> typedef (defined in <a class="el" href="a00299.html">tbb::flow::interface6::function_node< Input, Output, queueing, Allocator ></a>)</td><td><a class="el" href="a00299.html">tbb::flow::interface6::function_node< Input, Output, queueing, Allocator ></a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>fOutput_type</b> typedef (defined in <a class="el" href="a00299.html">tbb::flow::interface6::function_node< Input, Output, queueing, Allocator ></a>)</td><td><a class="el" href="a00299.html">tbb::flow::interface6::function_node< Input, Output, queueing, Allocator ></a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00299.html#5b9019c1e6e9b2c41c986a384bd179db">function_node</a>(graph &g, size_t concurrency, Body body)</td><td><a class="el" href="a00299.html">tbb::flow::interface6::function_node< Input, Output, queueing, Allocator ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00299.html#01055081ed477714503820035db3a965">function_node</a>(const function_node &src)</td><td><a class="el" href="a00299.html">tbb::flow::interface6::function_node< Input, Output, queueing, Allocator ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>graph_node</b>(graph &g) (defined in <a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a>)</td><td><a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>input_type</b> typedef (defined in <a class="el" href="a00299.html">tbb::flow::interface6::function_node< Input, Output, queueing, Allocator ></a>)</td><td><a class="el" href="a00299.html">tbb::flow::interface6::function_node< Input, Output, queueing, Allocator ></a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>internal::broadcast_cache</b> (defined in <a class="el" href="a00299.html">tbb::flow::interface6::function_node< Input, Output, queueing, Allocator ></a>)</td><td><a class="el" href="a00299.html">tbb::flow::interface6::function_node< Input, Output, queueing, Allocator ></a></td><td><code> [friend]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>internal::round_robin_cache</b> (defined in <a class="el" href="a00299.html">tbb::flow::interface6::function_node< Input, Output, queueing, Allocator ></a>)</td><td><a class="el" href="a00299.html">tbb::flow::interface6::function_node< Input, Output, queueing, Allocator ></a></td><td><code> [friend]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>my_graph</b> (defined in <a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a>)</td><td><a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a></td><td><code> [protected]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>next</b> (defined in <a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a>)</td><td><a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a></td><td><code> [protected]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>output_type</b> typedef (defined in <a class="el" href="a00299.html">tbb::flow::interface6::function_node< Input, Output, queueing, Allocator ></a>)</td><td><a class="el" href="a00299.html">tbb::flow::interface6::function_node< Input, Output, queueing, Allocator ></a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>predecessor_type</b> typedef (defined in <a class="el" href="a00299.html">tbb::flow::interface6::function_node< Input, Output, queueing, Allocator ></a>)</td><td><a class="el" href="a00299.html">tbb::flow::interface6::function_node< Input, Output, queueing, Allocator ></a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>prev</b> (defined in <a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a>)</td><td><a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a></td><td><code> [protected]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>queue_type</b> typedef (defined in <a class="el" href="a00299.html">tbb::flow::interface6::function_node< Input, Output, queueing, Allocator ></a>)</td><td><a class="el" href="a00299.html">tbb::flow::interface6::function_node< Input, Output, queueing, Allocator ></a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>reset</b>() (defined in <a class="el" href="a00299.html">tbb::flow::interface6::function_node< Input, Output, queueing, Allocator ></a>)</td><td><a class="el" href="a00299.html">tbb::flow::interface6::function_node< Input, Output, queueing, Allocator ></a></td><td><code> [inline, protected, virtual]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>run_and_put_task</b> (defined in <a class="el" href="a00299.html">tbb::flow::interface6::function_node< Input, Output, queueing, Allocator ></a>)</td><td><a class="el" href="a00299.html">tbb::flow::interface6::function_node< Input, Output, queueing, Allocator ></a></td><td><code> [friend]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>successor_type</b> typedef (defined in <a class="el" href="a00299.html">tbb::flow::interface6::function_node< Input, Output, queueing, Allocator ></a>)</td><td><a class="el" href="a00299.html">tbb::flow::interface6::function_node< Input, Output, queueing, Allocator ></a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>successors</b>() (defined in <a class="el" href="a00299.html">tbb::flow::interface6::function_node< Input, Output, queueing, Allocator ></a>)</td><td><a class="el" href="a00299.html">tbb::flow::interface6::function_node< Input, Output, queueing, Allocator ></a></td><td><code> [inline, protected]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>~graph_node</b>() (defined in <a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a>)</td><td><a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a></td><td><code> [inline, virtual]</code></td></tr>
-</table><hr>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00065.html">improper_lock</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> |
+<a href="a00298.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::improper_lock Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Exception for PPL locks.  
+ <a href="a00065.html#details">More...</a></p>
+
+<p><code>#include <tbb_exception.h></code></p>
+<div class="dynheader">
+Inheritance diagram for tbb::improper_lock:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00065.png" usemap="#tbb::improper_lock_map" alt=""/>
+  <map id="tbb::improper_lock_map" name="tbb::improper_lock_map">
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a71847061d0e5bef413e28a9031e1f07e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a71847061d0e5bef413e28a9031e1f07e"></a>
+const char * </td><td class="memItemRight" valign="bottom"><b>what</b> () const   throw ()</td></tr>
+<tr class="separator:a71847061d0e5bef413e28a9031e1f07e"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Exception for PPL locks. </p>
+</div><hr/>The documentation for this class was generated from the following file:<ul>
+<li>tbb_exception.h</li>
+</ul>
+</div><!-- contents -->
+<hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00065.png b/doc/html/a00065.png
new file mode 100644
index 0000000..7f4f557
Binary files /dev/null and b/doc/html/a00065.png differ
diff --git a/doc/html/a00066.html b/doc/html/a00066.html
index af80d6f..76391ef 100644
--- a/doc/html/a00066.html
+++ b/doc/html/a00066.html
@@ -1,39 +1,106 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::tick_count::interval_t Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<h1>tbb::flow::interface6::multifunction_node< Input, Output,, Allocator > Member List</h1>This is the complete list of members for <a class="el" href="a00312.html">tbb::flow::interface6::multifunction_node< Input, Output,, Allocator ></a>, including all inherited members.<p><table>
-  <tr bgcolor="#f0f0f0"><td><b>graph_node</b>(graph &g) (defined in <a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a>)</td><td><a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>input_type</b> typedef (defined in <a class="el" href="a00312.html">tbb::flow::interface6::multifunction_node< Input, Output,, Allocator ></a>)</td><td><a class="el" href="a00312.html">tbb::flow::interface6::multifunction_node< Input, Output,, Allocator ></a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>multifunction_node</b>(graph &g, size_t concurrency, Body body) (defined in <a class="el" href="a00312.html">tbb::flow::interface6::multifunction_node< Input, Output,, Allocator ></a>)</td><td><a class="el" href="a00312.html">tbb::flow::interface6::multifunction_node< Input, Output,, Allocator ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>multifunction_node</b>(const multifunction_node &other) (defined in <a class="el" href="a00312.html">tbb::flow::interface6::multifunction_node< Input, Output,, Allocator ></a>)</td><td><a class="el" href="a00312.html">tbb::flow::interface6::multifunction_node< Input, Output,, Allocator ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>my_graph</b> (defined in <a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a>)</td><td><a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a></td><td><code> [protected]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>next</b> (defined in <a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a>)</td><td><a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a></td><td><code> [protected]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>output_ports_type</b> typedef (defined in <a class="el" href="a00312.html">tbb::flow::interface6::multifunction_node< Input, Output,, Allocator ></a>)</td><td><a class="el" href="a00312.html">tbb::flow::interface6::multifunction_node< Input, Output,, Allocator ></a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>prev</b> (defined in <a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a>)</td><td><a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a></td><td><code> [protected]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>reset</b>() (defined in <a class="el" href="a00312.html">tbb::flow::interface6::multifunction_node< Input, Output,, Allocator ></a>)</td><td><a class="el" href="a00312.html">tbb::flow::interface6::multifunction_node< Input, Output,, Allocator ></a></td><td><code> [inline, protected, virtual]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>~graph_node</b>() (defined in <a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a>)</td><td><a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a></td><td><code> [inline, virtual]</code></td></tr>
-</table><hr>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00155.html">tick_count</a></li><li class="navelem"><a class="el" href="a00066.html">interval_t</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> |
+<a href="#friends">Friends</a> |
+<a href="a00306.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::tick_count::interval_t Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Relative time interval.  
+ <a href="a00066.html#details">More...</a></p>
+
+<p><code>#include <tick_count.h></code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a95e3e14750bebafe719856176e2737db"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a95e3e14750bebafe719856176e2737db"></a>
+ </td><td class="memItemRight" valign="bottom"><a class="el" href="a00066.html#a95e3e14750bebafe719856176e2737db">interval_t</a> ()</td></tr>
+<tr class="memdesc:a95e3e14750bebafe719856176e2737db"><td class="mdescLeft"> </td><td class="mdescRight">Construct a time interval representing zero time duration. <br/></td></tr>
+<tr class="separator:a95e3e14750bebafe719856176e2737db"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a73b462297173f6bffa15bc5a86c30ef4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a73b462297173f6bffa15bc5a86c30ef4"></a>
+ </td><td class="memItemRight" valign="bottom"><a class="el" href="a00066.html#a73b462297173f6bffa15bc5a86c30ef4">interval_t</a> (double sec)</td></tr>
+<tr class="memdesc:a73b462297173f6bffa15bc5a86c30ef4"><td class="mdescLeft"> </td><td class="mdescRight">Construct a time interval representing sec seconds time duration. <br/></td></tr>
+<tr class="separator:a73b462297173f6bffa15bc5a86c30ef4"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:abe81446bbbb6b6e98d854b91acf47809"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abe81446bbbb6b6e98d854b91acf47809"></a>
+double </td><td class="memItemRight" valign="bottom"><a class="el" href="a00066.html#abe81446bbbb6b6e98d854b91acf47809">seconds</a> () const </td></tr>
+<tr class="memdesc:abe81446bbbb6b6e98d854b91acf47809"><td class="mdescLeft"> </td><td class="mdescRight">Return the length of a time interval in seconds. <br/></td></tr>
+<tr class="separator:abe81446bbbb6b6e98d854b91acf47809"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a19bf32f4541252daaa6b09fd33fa9177"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a19bf32f4541252daaa6b09fd33fa9177"></a>
+<a class="el" href="a00066.html">interval_t</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="a00066.html#a19bf32f4541252daaa6b09fd33fa9177">operator+=</a> (const <a class="el" href="a00066.html">interval_t</a> &i)</td></tr>
+<tr class="memdesc:a19bf32f4541252daaa6b09fd33fa9177"><td class="mdescLeft"> </td><td class="mdescRight">Accumulation operator. <br/></td></tr>
+<tr class="separator:a19bf32f4541252daaa6b09fd33fa9177"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a3394d9f3678e6a4c3d6e1be840fe2ff2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3394d9f3678e6a4c3d6e1be840fe2ff2"></a>
+<a class="el" href="a00066.html">interval_t</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="a00066.html#a3394d9f3678e6a4c3d6e1be840fe2ff2">operator-=</a> (const <a class="el" href="a00066.html">interval_t</a> &i)</td></tr>
+<tr class="memdesc:a3394d9f3678e6a4c3d6e1be840fe2ff2"><td class="mdescLeft"> </td><td class="mdescRight">Subtraction operator. <br/></td></tr>
+<tr class="separator:a3394d9f3678e6a4c3d6e1be840fe2ff2"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
+Friends</h2></td></tr>
+<tr class="memitem:a68e741a8f6e2384027e93d1f654ad100"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a68e741a8f6e2384027e93d1f654ad100"></a>
+class </td><td class="memItemRight" valign="bottom"><b>tbb::tick_count</b></td></tr>
+<tr class="separator:a68e741a8f6e2384027e93d1f654ad100"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ab5ceaed3ebf5a0d41088a5bc7c8dc653"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab5ceaed3ebf5a0d41088a5bc7c8dc653"></a>
+<a class="el" href="a00066.html">interval_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00066.html#ab5ceaed3ebf5a0d41088a5bc7c8dc653">operator-</a> (const <a class="el" href="a00155.html">tick_count</a> &t1, const <a class="el" href="a00155.html">tick_count</a> &t0)</td></tr>
+<tr class="memdesc:ab5ceaed3ebf5a0d41088a5bc7c8dc653"><td class="mdescLeft"> </td><td class="mdescRight">Extract the intervals from the tick_counts and subtract them. <br/></td></tr>
+<tr class="separator:ab5ceaed3ebf5a0d41088a5bc7c8dc653"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ac8910ee3b69f68eb905af787c273e9a8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac8910ee3b69f68eb905af787c273e9a8"></a>
+<a class="el" href="a00066.html">interval_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00066.html#ac8910ee3b69f68eb905af787c273e9a8">operator+</a> (const <a class="el" href="a00066.html">interval_t</a> &i, const <a class="el" href="a00066.html">interval_t</a> &j)</td></tr>
+<tr class="memdesc:ac8910ee3b69f68eb905af787c273e9a8"><td class="mdescLeft"> </td><td class="mdescRight">Add two intervals. <br/></td></tr>
+<tr class="separator:ac8910ee3b69f68eb905af787c273e9a8"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a3d11133daa9a7d3c903d070293278f8f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3d11133daa9a7d3c903d070293278f8f"></a>
+<a class="el" href="a00066.html">interval_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00066.html#a3d11133daa9a7d3c903d070293278f8f">operator-</a> (const <a class="el" href="a00066.html">interval_t</a> &i, const <a class="el" href="a00066.html">interval_t</a> &j)</td></tr>
+<tr class="memdesc:a3d11133daa9a7d3c903d070293278f8f"><td class="mdescLeft"> </td><td class="mdescRight">Subtract two intervals. <br/></td></tr>
+<tr class="separator:a3d11133daa9a7d3c903d070293278f8f"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Relative time interval. </p>
+</div><hr/>The documentation for this class was generated from the following file:<ul>
+<li>tick_count.h</li>
+</ul>
+</div><!-- contents -->
+<hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00067.html b/doc/html/a00067.html
new file mode 100644
index 0000000..d957dca
--- /dev/null
+++ b/doc/html/a00067.html
@@ -0,0 +1,81 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::invalid_multiple_scheduling Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00067.html">invalid_multiple_scheduling</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> |
+<a href="a00301.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::invalid_multiple_scheduling Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Exception for repeated scheduling of the same <a class="el" href="a00139.html">task_handle</a>.  
+ <a href="a00067.html#details">More...</a></p>
+
+<p><code>#include <tbb_exception.h></code></p>
+<div class="dynheader">
+Inheritance diagram for tbb::invalid_multiple_scheduling:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00067.png" usemap="#tbb::invalid_multiple_scheduling_map" alt=""/>
+  <map id="tbb::invalid_multiple_scheduling_map" name="tbb::invalid_multiple_scheduling_map">
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:abe0d56d15bd59f7b128a86ae5b6b8933"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abe0d56d15bd59f7b128a86ae5b6b8933"></a>
+const char * </td><td class="memItemRight" valign="bottom"><b>what</b> () const   throw ()</td></tr>
+<tr class="separator:abe0d56d15bd59f7b128a86ae5b6b8933"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Exception for repeated scheduling of the same <a class="el" href="a00139.html">task_handle</a>. </p>
+</div><hr/>The documentation for this class was generated from the following file:<ul>
+<li>tbb_exception.h</li>
+</ul>
+</div><!-- contents -->
+<hr>
+<p></p>
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
+<p></p>
+Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
+registered trademarks or trademarks of Intel Corporation or its
+subsidiaries in the United States and other countries.
+<p></p>
+* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00067.png b/doc/html/a00067.png
new file mode 100644
index 0000000..ba8483c
Binary files /dev/null and b/doc/html/a00067.png differ
diff --git a/doc/html/a00068.html b/doc/html/a00068.html
index b82c75d..386ef79 100644
--- a/doc/html/a00068.html
+++ b/doc/html/a00068.html
@@ -1,42 +1,53 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::flow::interface7::join_node< OutputTuple, JP > Class Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<h1>tbb::flow::interface6::split_node< TupleType, Allocator > Member List</h1>This is the complete list of members for <a class="el" href="a00348.html">tbb::flow::interface6::split_node< TupleType, Allocator ></a>, including all inherited members.<p><table>
-  <tr bgcolor="#f0f0f0"><td><b>allocator_type</b> typedef (defined in <a class="el" href="a00348.html">tbb::flow::interface6::split_node< TupleType, Allocator ></a>)</td><td><a class="el" href="a00348.html">tbb::flow::interface6::split_node< TupleType, Allocator ></a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>graph_node</b>(graph &g) (defined in <a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a>)</td><td><a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>input_type</b> typedef (defined in <a class="el" href="a00348.html">tbb::flow::interface6::split_node< TupleType, Allocator ></a>)</td><td><a class="el" href="a00348.html">tbb::flow::interface6::split_node< TupleType, Allocator ></a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>multifunction_node</b>(graph &g, size_t concurrency, Body body) (defined in <a class="el" href="a00312.html">tbb::flow::interface6::multifunction_node< TupleType, TupleType, rejecting, Allocator ></a>)</td><td><a class="el" href="a00312.html">tbb::flow::interface6::multifunction_node< TupleType, TupleType, rejecting, Allocator ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>multifunction_node</b>(const multifunction_node &other) (defined in <a class="el" href="a00312.html">tbb::flow::interface6::multifunction_node< TupleType, TupleType, rejecting, Allocator ></a>)</td><td><a class="el" href="a00312.html">tbb::flow::interface6::multifunction_node< TupleType, TupleType, rejecting, Allocator ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>my_graph</b> (defined in <a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a>)</td><td><a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a></td><td><code> [protected]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>next</b> (defined in <a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a>)</td><td><a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a></td><td><code> [protected]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>output_ports_type</b> typedef (defined in <a class="el" href="a00348.html">tbb::flow::interface6::split_node< TupleType, Allocator ></a>)</td><td><a class="el" href="a00348.html">tbb::flow::interface6::split_node< TupleType, Allocator ></a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>prev</b> (defined in <a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a>)</td><td><a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a></td><td><code> [protected]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>reset</b>() (defined in <a class="el" href="a00312.html">tbb::flow::interface6::multifunction_node< TupleType, TupleType, rejecting, Allocator ></a>)</td><td><a class="el" href="a00312.html">tbb::flow::interface6::multifunction_node< TupleType, TupleType, rejecting, Allocator ></a></td><td><code> [inline, protected, virtual]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>split_node</b>(graph &g) (defined in <a class="el" href="a00348.html">tbb::flow::interface6::split_node< TupleType, Allocator ></a>)</td><td><a class="el" href="a00348.html">tbb::flow::interface6::split_node< TupleType, Allocator ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>split_node</b>(const split_node &other) (defined in <a class="el" href="a00348.html">tbb::flow::interface6::split_node< TupleType, Allocator ></a>)</td><td><a class="el" href="a00348.html">tbb::flow::interface6::split_node< TupleType, Allocator ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>~graph_node</b>() (defined in <a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a>)</td><td><a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a></td><td><code> [inline, virtual]</code></td></tr>
-</table><hr>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>flow</b></li><li class="navelem"><b>interface7</b></li><li class="navelem"><a class="el" href="a00068.html">join_node</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::flow::interface7::join_node< OutputTuple, JP > Class Template Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="a00179.html">flow_graph.h</a></li>
+</ul>
+</div><!-- contents -->
+<hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00069.html b/doc/html/a00069.html
new file mode 100644
index 0000000..1974104
--- /dev/null
+++ b/doc/html/a00069.html
@@ -0,0 +1,91 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::flow::interface7::join_node< OutputTuple, queueing > Class Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>flow</b></li><li class="navelem"><b>interface7</b></li><li class="navelem"><a class="el" href="a00069.html">join_node< OutputTuple, queueing ></a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-types">Public Types</a> |
+<a href="#pub-methods">Public Member Functions</a> |
+<a href="a00331.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::flow::interface7::join_node< OutputTuple, queueing > Class Template Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="dynheader">
+Inheritance diagram for tbb::flow::interface7::join_node< OutputTuple, queueing >:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00069.png" usemap="#tbb::flow::interface7::join_node< OutputTuple, queueing >_map" alt=""/>
+  <map id="tbb::flow::interface7::join_node< OutputTuple, queueing >_map" name="tbb::flow::interface7::join_node< OutputTuple, queueing >_map">
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:a68f4d59b0d31a9f13e53f75fe3ded700"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a68f4d59b0d31a9f13e53f75fe3ded700"></a>
+typedef OutputTuple </td><td class="memItemRight" valign="bottom"><b>output_type</b></td></tr>
+<tr class="separator:a68f4d59b0d31a9f13e53f75fe3ded700"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a7ac9b6f2600b75143ff1dea1e3786b04"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7ac9b6f2600b75143ff1dea1e3786b04"></a>
+typedef <br class="typebreak"/>
+unfolded_type::input_ports_type </td><td class="memItemRight" valign="bottom"><b>input_ports_type</b></td></tr>
+<tr class="separator:a7ac9b6f2600b75143ff1dea1e3786b04"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:ab1c49eff4420fd53b80b4425117ddb36"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab1c49eff4420fd53b80b4425117ddb36"></a>
+ </td><td class="memItemRight" valign="bottom"><b>join_node</b> (<a class="el" href="a00061.html">graph</a> &g)</td></tr>
+<tr class="separator:ab1c49eff4420fd53b80b4425117ddb36"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a33ff02c356a0f2f590323177e9314ccd"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a33ff02c356a0f2f590323177e9314ccd"></a>
+ </td><td class="memItemRight" valign="bottom"><b>join_node</b> (const <a class="el" href="a00068.html">join_node</a> &other)</td></tr>
+<tr class="separator:a33ff02c356a0f2f590323177e9314ccd"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a7615ce374a3ec504ed196b7babbf1e04"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7615ce374a3ec504ed196b7babbf1e04"></a>
+void </td><td class="memItemRight" valign="bottom"><b>set_name</b> (const char *name)</td></tr>
+<tr class="separator:a7615ce374a3ec504ed196b7babbf1e04"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="a00179.html">flow_graph.h</a></li>
+</ul>
+</div><!-- contents -->
+<hr>
+<p></p>
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
+<p></p>
+Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
+registered trademarks or trademarks of Intel Corporation or its
+subsidiaries in the United States and other countries.
+<p></p>
+* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00069.png b/doc/html/a00069.png
new file mode 100644
index 0000000..4c63cb9
Binary files /dev/null and b/doc/html/a00069.png differ
diff --git a/doc/html/a00070.html b/doc/html/a00070.html
index 4b82d66..aa45d97 100644
--- a/doc/html/a00070.html
+++ b/doc/html/a00070.html
@@ -1,48 +1,88 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::flow::interface7::join_node< OutputTuple, reserving > Class Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<h1>tbb::flow::interface6::continue_node< Output > Member List</h1>This is the complete list of members for <a class="el" href="a00290.html">tbb::flow::interface6::continue_node< Output ></a>, including all inherited members.<p><table>
-  <tr class="memlist"><td><a class="el" href="a00290.html#2f200db877d2f80c08d09422e8bffd5a">continue_node</a>(graph &g, Body body)</td><td><a class="el" href="a00290.html">tbb::flow::interface6::continue_node< Output ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00290.html#7817aebf22dd125ca04df53ac488d163">continue_node</a>(graph &g, int number_of_predecessors, Body body)</td><td><a class="el" href="a00290.html">tbb::flow::interface6::continue_node< Output ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00290.html#869562787fcb5c57a90aea120f26d492">continue_node</a>(const continue_node &src)</td><td><a class="el" href="a00290.html">tbb::flow::interface6::continue_node< Output ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>fInput_type</b> typedef (defined in <a class="el" href="a00290.html">tbb::flow::interface6::continue_node< Output ></a>)</td><td><a class="el" href="a00290.html">tbb::flow::interface6::continue_node< Output ></a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>fOutput_type</b> typedef (defined in <a class="el" href="a00290.html">tbb::flow::interface6::continue_node< Output ></a>)</td><td><a class="el" href="a00290.html">tbb::flow::interface6::continue_node< Output ></a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>graph_node</b>(graph &g) (defined in <a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a>)</td><td><a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>input_type</b> typedef (defined in <a class="el" href="a00290.html">tbb::flow::interface6::continue_node< Output ></a>)</td><td><a class="el" href="a00290.html">tbb::flow::interface6::continue_node< Output ></a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>internal::broadcast_cache</b> (defined in <a class="el" href="a00290.html">tbb::flow::interface6::continue_node< Output ></a>)</td><td><a class="el" href="a00290.html">tbb::flow::interface6::continue_node< Output ></a></td><td><code> [friend]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>internal::round_robin_cache</b> (defined in <a class="el" href="a00290.html">tbb::flow::interface6::continue_node< Output ></a>)</td><td><a class="el" href="a00290.html">tbb::flow::interface6::continue_node< Output ></a></td><td><code> [friend]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>my_graph</b> (defined in <a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a>)</td><td><a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a></td><td><code> [protected]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>next</b> (defined in <a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a>)</td><td><a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a></td><td><code> [protected]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>output_type</b> typedef (defined in <a class="el" href="a00290.html">tbb::flow::interface6::continue_node< Output ></a>)</td><td><a class="el" href="a00290.html">tbb::flow::interface6::continue_node< Output ></a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>predecessor_type</b> typedef (defined in <a class="el" href="a00290.html">tbb::flow::interface6::continue_node< Output ></a>)</td><td><a class="el" href="a00290.html">tbb::flow::interface6::continue_node< Output ></a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>prev</b> (defined in <a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a>)</td><td><a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a></td><td><code> [protected]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>reset</b>() (defined in <a class="el" href="a00290.html">tbb::flow::interface6::continue_node< Output ></a>)</td><td><a class="el" href="a00290.html">tbb::flow::interface6::continue_node< Output ></a></td><td><code> [inline, protected, virtual]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>run_and_put_task</b> (defined in <a class="el" href="a00290.html">tbb::flow::interface6::continue_node< Output ></a>)</td><td><a class="el" href="a00290.html">tbb::flow::interface6::continue_node< Output ></a></td><td><code> [friend]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>successor_type</b> typedef (defined in <a class="el" href="a00290.html">tbb::flow::interface6::continue_node< Output ></a>)</td><td><a class="el" href="a00290.html">tbb::flow::interface6::continue_node< Output ></a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>successors</b>() (defined in <a class="el" href="a00290.html">tbb::flow::interface6::continue_node< Output ></a>)</td><td><a class="el" href="a00290.html">tbb::flow::interface6::continue_node< Output ></a></td><td><code> [inline, protected]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>~graph_node</b>() (defined in <a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a>)</td><td><a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a></td><td><code> [inline, virtual]</code></td></tr>
-</table><hr>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>flow</b></li><li class="navelem"><b>interface7</b></li><li class="navelem"><a class="el" href="a00070.html">join_node< OutputTuple, reserving ></a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-types">Public Types</a> |
+<a href="#pub-methods">Public Member Functions</a> |
+<a href="a00330.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::flow::interface7::join_node< OutputTuple, reserving > Class Template Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="dynheader">
+Inheritance diagram for tbb::flow::interface7::join_node< OutputTuple, reserving >:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00070.png" usemap="#tbb::flow::interface7::join_node< OutputTuple, reserving >_map" alt=""/>
+  <map id="tbb::flow::interface7::join_node< OutputTuple, reserving >_map" name="tbb::flow::interface7::join_node< OutputTuple, reserving >_map">
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:ae799a20de47e2fd168a23b63c56410ad"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae799a20de47e2fd168a23b63c56410ad"></a>
+typedef OutputTuple </td><td class="memItemRight" valign="bottom"><b>output_type</b></td></tr>
+<tr class="separator:ae799a20de47e2fd168a23b63c56410ad"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a211d1d12c7073ac9d6e7189113537952"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a211d1d12c7073ac9d6e7189113537952"></a>
+typedef <br class="typebreak"/>
+unfolded_type::input_ports_type </td><td class="memItemRight" valign="bottom"><b>input_ports_type</b></td></tr>
+<tr class="separator:a211d1d12c7073ac9d6e7189113537952"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a14b7e309c267e35b6db79cd24dfae724"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a14b7e309c267e35b6db79cd24dfae724"></a>
+ </td><td class="memItemRight" valign="bottom"><b>join_node</b> (<a class="el" href="a00061.html">graph</a> &g)</td></tr>
+<tr class="separator:a14b7e309c267e35b6db79cd24dfae724"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a86bf13b42f0d09369b5062fe7a1d97e8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a86bf13b42f0d09369b5062fe7a1d97e8"></a>
+ </td><td class="memItemRight" valign="bottom"><b>join_node</b> (const <a class="el" href="a00068.html">join_node</a> &other)</td></tr>
+<tr class="separator:a86bf13b42f0d09369b5062fe7a1d97e8"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a5275b0f1db78ca08f968d4c905752ea5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5275b0f1db78ca08f968d4c905752ea5"></a>
+void </td><td class="memItemRight" valign="bottom"><b>set_name</b> (const char *name)</td></tr>
+<tr class="separator:a5275b0f1db78ca08f968d4c905752ea5"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="a00179.html">flow_graph.h</a></li>
+</ul>
+</div><!-- contents -->
+<hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00070.png b/doc/html/a00070.png
new file mode 100644
index 0000000..2e87a79
Binary files /dev/null and b/doc/html/a00070.png differ
diff --git a/doc/html/a00071.html b/doc/html/a00071.html
new file mode 100644
index 0000000..f2a0626
--- /dev/null
+++ b/doc/html/a00071.html
@@ -0,0 +1,124 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::flow::interface7::join_node< OutputTuple, tag_matching > Class Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>flow</b></li><li class="navelem"><b>interface7</b></li><li class="navelem"><a class="el" href="a00071.html">join_node< OutputTuple, tag_matching ></a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-types">Public Types</a> |
+<a href="#pub-methods">Public Member Functions</a> |
+<a href="a00332.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::flow::interface7::join_node< OutputTuple, tag_matching > Class Template Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="dynheader">
+Inheritance diagram for tbb::flow::interface7::join_node< OutputTuple, tag_matching >:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00071.png" usemap="#tbb::flow::interface7::join_node< OutputTuple, tag_matching >_map" alt=""/>
+  <map id="tbb::flow::interface7::join_node< OutputTuple, tag_matching >_map" name="tbb::flow::interface7::join_node< OutputTuple, tag_matching >_map">
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:a781bbb3b7d716e8228ded9837c990d2e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a781bbb3b7d716e8228ded9837c990d2e"></a>
+typedef OutputTuple </td><td class="memItemRight" valign="bottom"><b>output_type</b></td></tr>
+<tr class="separator:a781bbb3b7d716e8228ded9837c990d2e"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a4a071f54524c83c4767b101cde5a3c98"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4a071f54524c83c4767b101cde5a3c98"></a>
+typedef <br class="typebreak"/>
+unfolded_type::input_ports_type </td><td class="memItemRight" valign="bottom"><b>input_ports_type</b></td></tr>
+<tr class="separator:a4a071f54524c83c4767b101cde5a3c98"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:ae85fc11cda08b814533a9257d6adf994"><td class="memTemplParams" colspan="2"><a class="anchor" id="ae85fc11cda08b814533a9257d6adf994"></a>
+template<typename __TBB_B0 , typename __TBB_B1 > </td></tr>
+<tr class="memitem:ae85fc11cda08b814533a9257d6adf994"><td class="memTemplItemLeft" align="right" valign="top"> </td><td class="memTemplItemRight" valign="bottom"><b>join_node</b> (<a class="el" href="a00061.html">graph</a> &g, __TBB_B0 b0, __TBB_B1 b1)</td></tr>
+<tr class="separator:ae85fc11cda08b814533a9257d6adf994"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a03ed108eab68b8e592ab96edde3aee8b"><td class="memTemplParams" colspan="2"><a class="anchor" id="a03ed108eab68b8e592ab96edde3aee8b"></a>
+template<typename __TBB_B0 , typename __TBB_B1 , typename __TBB_B2 > </td></tr>
+<tr class="memitem:a03ed108eab68b8e592ab96edde3aee8b"><td class="memTemplItemLeft" align="right" valign="top"> </td><td class="memTemplItemRight" valign="bottom"><b>join_node</b> (<a class="el" href="a00061.html">graph</a> &g, __TBB_B0 b0, __TBB_B1 b1, __TBB_B2 b2)</td></tr>
+<tr class="separator:a03ed108eab68b8e592ab96edde3aee8b"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ab24daee1d70ca07d16dd7ccdad5069f2"><td class="memTemplParams" colspan="2"><a class="anchor" id="ab24daee1d70ca07d16dd7ccdad5069f2"></a>
+template<typename __TBB_B0 , typename __TBB_B1 , typename __TBB_B2 , typename __TBB_B3 > </td></tr>
+<tr class="memitem:ab24daee1d70ca07d16dd7ccdad5069f2"><td class="memTemplItemLeft" align="right" valign="top"> </td><td class="memTemplItemRight" valign="bottom"><b>join_node</b> (<a class="el" href="a00061.html">graph</a> &g, __TBB_B0 b0, __TBB_B1 b1, __TBB_B2 b2, __TBB_B3 b3)</td></tr>
+<tr class="separator:ab24daee1d70ca07d16dd7ccdad5069f2"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aca64e8e0b0b032b4246d57575d73aacd"><td class="memTemplParams" colspan="2"><a class="anchor" id="aca64e8e0b0b032b4246d57575d73aacd"></a>
+template<typename __TBB_B0 , typename __TBB_B1 , typename __TBB_B2 , typename __TBB_B3 , typename __TBB_B4 > </td></tr>
+<tr class="memitem:aca64e8e0b0b032b4246d57575d73aacd"><td class="memTemplItemLeft" align="right" valign="top"> </td><td class="memTemplItemRight" valign="bottom"><b>join_node</b> (<a class="el" href="a00061.html">graph</a> &g, __TBB_B0 b0, __TBB_B1 b1, __TBB_B2 b2, __TBB_B3 b3, __TBB_B4 b4)</td></tr>
+<tr class="separator:aca64e8e0b0b032b4246d57575d73aacd"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a93e5f0dbdcc57290f522a89520dbce76"><td class="memTemplParams" colspan="2"><a class="anchor" id="a93e5f0dbdcc57290f522a89520dbce76"></a>
+template<typename __TBB_B0 , typename __TBB_B1 , typename __TBB_B2 , typename __TBB_B3 , typename __TBB_B4 , typename __TBB_B5 > </td></tr>
+<tr class="memitem:a93e5f0dbdcc57290f522a89520dbce76"><td class="memTemplItemLeft" align="right" valign="top"> </td><td class="memTemplItemRight" valign="bottom"><b>join_node</b> (<a class="el" href="a00061.html">graph</a> &g, __TBB_B0 b0, __TBB_B1 b1, __TBB_B2 b2, __TBB_B3 b3, __TBB_B4 b4, __TBB_B5 b5)</td></tr>
+<tr class="separator:a93e5f0dbdcc57290f522a89520dbce76"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a90567e1dddddbde9de43fa4cd6b7447f"><td class="memTemplParams" colspan="2"><a class="anchor" id="a90567e1dddddbde9de43fa4cd6b7447f"></a>
+template<typename __TBB_B0 , typename __TBB_B1 , typename __TBB_B2 , typename __TBB_B3 , typename __TBB_B4 , typename __TBB_B5 , typename __TBB_B6 > </td></tr>
+<tr class="memitem:a90567e1dddddbde9de43fa4cd6b7447f"><td class="memTemplItemLeft" align="right" valign="top"> </td><td class="memTemplItemRight" valign="bottom"><b>join_node</b> (<a class="el" href="a00061.html">graph</a> &g, __TBB_B0 b0, __TBB_B1 b1, __TBB_B2 b2, __TBB_B3 b3, __TBB_B4 b4, __TBB_B5 b5, __TBB_B6 b6)</td></tr>
+<tr class="separator:a90567e1dddddbde9de43fa4cd6b7447f"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a58b25ceef8a28e344077999f8d0554b0"><td class="memTemplParams" colspan="2"><a class="anchor" id="a58b25ceef8a28e344077999f8d0554b0"></a>
+template<typename __TBB_B0 , typename __TBB_B1 , typename __TBB_B2 , typename __TBB_B3 , typename __TBB_B4 , typename __TBB_B5 , typename __TBB_B6 , typename __TBB_B7 > </td></tr>
+<tr class="memitem:a58b25ceef8a28e344077999f8d0554b0"><td class="memTemplItemLeft" align="right" valign="top"> </td><td class="memTemplItemRight" valign="bottom"><b>join_node</b> (<a class="el" href="a00061.html">graph</a> &g, __TBB_B0 b0, __TBB_B1 b1, __TBB_B2 b2, __TBB_B3 b3, __TBB_B4 b4, __TBB_B5 b5, __TBB_B6 b6, __TBB_B7 b7)</td></tr>
+<tr class="separator:a58b25ceef8a28e344077999f8d0554b0"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a75c58249ea5875548a995bae56186ceb"><td class="memTemplParams" colspan="2"><a class="anchor" id="a75c58249ea5875548a995bae56186ceb"></a>
+template<typename __TBB_B0 , typename __TBB_B1 , typename __TBB_B2 , typename __TBB_B3 , typename __TBB_B4 , typename __TBB_B5 , typename __TBB_B6 , typename __TBB_B7 , typename __TBB_B8 > </td></tr>
+<tr class="memitem:a75c58249ea5875548a995bae56186ceb"><td class="memTemplItemLeft" align="right" valign="top"> </td><td class="memTemplItemRight" valign="bottom"><b>join_node</b> (<a class="el" href="a00061.html">graph</a> &g, __TBB_B0 b0, __TBB_B1 b1, __TBB_B2 b2, __TBB_B3 b3, __TBB_B4 b4, __TBB_B5 b5, __TBB_B6 b6, __TBB_B7 b7, __TBB_B8 b8)</td></tr>
+<tr class="separator:a75c58249ea5875548a995bae56186ceb"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a03a7669da77b8e28460be89709071e21"><td class="memTemplParams" colspan="2"><a class="anchor" id="a03a7669da77b8e28460be89709071e21"></a>
+template<typename __TBB_B0 , typename __TBB_B1 , typename __TBB_B2 , typename __TBB_B3 , typename __TBB_B4 , typename __TBB_B5 , typename __TBB_B6 , typename __TBB_B7 , typename __TBB_B8 , typename __TBB_B9 > </td></tr>
+<tr class="memitem:a03a7669da77b8e28460be89709071e21"><td class="memTemplItemLeft" align="right" valign="top"> </td><td class="memTemplItemRight" valign="bottom"><b>join_node</b> (<a class="el" href="a00061.html">graph</a> &g, __TBB_B0 b0, __TBB_B1 b1, __TBB_B2 b2, __TBB_B3 b3, __TBB_B4 b4, __TBB_B5 b5, __TBB_B6 b6, __TBB_B7 b7, __TBB_B8 b8, __TBB_B9 b9)</td></tr>
+<tr class="separator:a03a7669da77b8e28460be89709071e21"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ab84d8ca452b751406a4968143063eb5d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab84d8ca452b751406a4968143063eb5d"></a>
+ </td><td class="memItemRight" valign="bottom"><b>join_node</b> (const <a class="el" href="a00068.html">join_node</a> &other)</td></tr>
+<tr class="separator:ab84d8ca452b751406a4968143063eb5d"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aeaa120514905a9e5c1c5d712d4633892"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aeaa120514905a9e5c1c5d712d4633892"></a>
+void </td><td class="memItemRight" valign="bottom"><b>set_name</b> (const char *name)</td></tr>
+<tr class="separator:aeaa120514905a9e5c1c5d712d4633892"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="a00179.html">flow_graph.h</a></li>
+</ul>
+</div><!-- contents -->
+<hr>
+<p></p>
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
+<p></p>
+Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
+registered trademarks or trademarks of Intel Corporation or its
+subsidiaries in the United States and other countries.
+<p></p>
+* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00071.png b/doc/html/a00071.png
new file mode 100644
index 0000000..f228a80
Binary files /dev/null and b/doc/html/a00071.png differ
diff --git a/doc/html/a00072.html b/doc/html/a00072.html
new file mode 100644
index 0000000..72aad5b
--- /dev/null
+++ b/doc/html/a00072.html
@@ -0,0 +1,269 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::flow::interface7::limiter_node< T > Class Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>flow</b></li><li class="navelem"><b>interface7</b></li><li class="navelem"><a class="el" href="a00072.html">limiter_node</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-types">Public Types</a> |
+<a href="#pub-methods">Public Member Functions</a> |
+<a href="#pub-attribs">Public Attributes</a> |
+<a href="#pro-methods">Protected Member Functions</a> |
+<a href="#friends">Friends</a> |
+<a href="a00310.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::flow::interface7::limiter_node< T > Class Template Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Forwards messages only if the threshold has not been reached.  
+ <a href="a00072.html#details">More...</a></p>
+
+<p><code>#include <flow_graph.h></code></p>
+<div class="dynheader">
+Inheritance diagram for tbb::flow::interface7::limiter_node< T >:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00072.png" usemap="#tbb::flow::interface7::limiter_node< T >_map" alt=""/>
+  <map id="tbb::flow::interface7::limiter_node< T >_map" name="tbb::flow::interface7::limiter_node< T >_map">
+<area href="a00063.html" title="The base of all graph nodes. " alt="tbb::flow::interface7::graph_node" shape="rect" coords="0,56,226,80"/>
+<area href="a00106.html" title="Pure virtual template class that defines a receiver of messages of type T. " alt="tbb::flow::interface7::receiver< T >" shape="rect" coords="236,56,462,80"/>
+<area href="a00124.html" title="Pure virtual template class that defines a sender of messages of type T. " alt="tbb::flow::interface7::sender< T >" shape="rect" coords="472,56,698,80"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:a69eff22a9947c69979454b3e3e02de4a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a69eff22a9947c69979454b3e3e02de4a"></a>
+typedef T </td><td class="memItemRight" valign="bottom"><b>input_type</b></td></tr>
+<tr class="separator:a69eff22a9947c69979454b3e3e02de4a"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a99fc5a0478d535dbde40afbb9104b235"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a99fc5a0478d535dbde40afbb9104b235"></a>
+typedef T </td><td class="memItemRight" valign="bottom"><b>output_type</b></td></tr>
+<tr class="separator:a99fc5a0478d535dbde40afbb9104b235"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ad8a2c4701d026ddbdda2bb2bc7b3e0fd"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad8a2c4701d026ddbdda2bb2bc7b3e0fd"></a>
+typedef <a class="el" href="a00124.html">sender</a>< <a class="el" href="a00106.html#a16eccc851b858604344bb8f1bb9eedc8">input_type</a> > </td><td class="memItemRight" valign="bottom"><b>predecessor_type</b></td></tr>
+<tr class="separator:ad8a2c4701d026ddbdda2bb2bc7b3e0fd"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a7ec4d2a468d636c36774840a2f18bc4d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7ec4d2a468d636c36774840a2f18bc4d"></a>
+typedef <a class="el" href="a00106.html">receiver</a>< <a class="el" href="a00124.html#add86fddf72758d8e5b05b07650c6eeed">output_type</a> > </td><td class="memItemRight" valign="bottom"><b>successor_type</b></td></tr>
+<tr class="separator:a7ec4d2a468d636c36774840a2f18bc4d"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="inherit_header pub_types_a00106"><td colspan="2" onclick="javascript:toggleInherit('pub_types_a00106')"><img src="closed.png" alt="-"/> Public Types inherited from <a class="el" href="a00106.html">tbb::flow::interface7::receiver< T ></a></td></tr>
+<tr class="memitem:a16eccc851b858604344bb8f1bb9eedc8 inherit pub_types_a00106"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a16eccc851b858604344bb8f1bb9eedc8"></a>
+typedef T </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#a16eccc851b858604344bb8f1bb9eedc8">input_type</a></td></tr>
+<tr class="memdesc:a16eccc851b858604344bb8f1bb9eedc8 inherit pub_types_a00106"><td class="mdescLeft"> </td><td class="mdescRight">The input type of this receiver. <br/></td></tr>
+<tr class="separator:a16eccc851b858604344bb8f1bb9eedc8 inherit pub_types_a00106"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:afbadf5511bd568d283040cd88bd4e81e inherit pub_types_a00106"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afbadf5511bd568d283040cd88bd4e81e"></a>
+typedef <a class="el" href="a00124.html">sender</a>< T > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#afbadf5511bd568d283040cd88bd4e81e">predecessor_type</a></td></tr>
+<tr class="memdesc:afbadf5511bd568d283040cd88bd4e81e inherit pub_types_a00106"><td class="mdescLeft"> </td><td class="mdescRight">The predecessor type for this node. <br/></td></tr>
+<tr class="separator:afbadf5511bd568d283040cd88bd4e81e inherit pub_types_a00106"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="inherit_header pub_types_a00124"><td colspan="2" onclick="javascript:toggleInherit('pub_types_a00124')"><img src="closed.png" alt="-"/> Public Types inherited from <a class="el" href="a00124.html">tbb::flow::interface7::sender< T ></a></td></tr>
+<tr class="memitem:add86fddf72758d8e5b05b07650c6eeed inherit pub_types_a00124"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="add86fddf72758d8e5b05b07650c6eeed"></a>
+typedef T </td><td class="memItemRight" valign="bottom"><a class="el" href="a00124.html#add86fddf72758d8e5b05b07650c6eeed">output_type</a></td></tr>
+<tr class="memdesc:add86fddf72758d8e5b05b07650c6eeed inherit pub_types_a00124"><td class="mdescLeft"> </td><td class="mdescRight">The output type of this sender. <br/></td></tr>
+<tr class="separator:add86fddf72758d8e5b05b07650c6eeed inherit pub_types_a00124"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a7779627063a29d4d2a1fc905a5cae8db inherit pub_types_a00124"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7779627063a29d4d2a1fc905a5cae8db"></a>
+typedef <a class="el" href="a00106.html">receiver</a>< T > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00124.html#a7779627063a29d4d2a1fc905a5cae8db">successor_type</a></td></tr>
+<tr class="memdesc:a7779627063a29d4d2a1fc905a5cae8db inherit pub_types_a00124"><td class="mdescLeft"> </td><td class="mdescRight">The successor type for this node. <br/></td></tr>
+<tr class="separator:a7779627063a29d4d2a1fc905a5cae8db inherit pub_types_a00124"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:af1c8daee8d1fd31e63f78dbb8d0ec87d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af1c8daee8d1fd31e63f78dbb8d0ec87d"></a>
+ </td><td class="memItemRight" valign="bottom"><a class="el" href="a00072.html#af1c8daee8d1fd31e63f78dbb8d0ec87d">limiter_node</a> (<a class="el" href="a00061.html">graph</a> &g, size_t threshold, int num_decrement_predecessors=0)</td></tr>
+<tr class="memdesc:af1c8daee8d1fd31e63f78dbb8d0ec87d"><td class="mdescLeft"> </td><td class="mdescRight">Constructor. <br/></td></tr>
+<tr class="separator:af1c8daee8d1fd31e63f78dbb8d0ec87d"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a99b359e7a83de8dc72dcad01798acab8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a99b359e7a83de8dc72dcad01798acab8"></a>
+ </td><td class="memItemRight" valign="bottom"><a class="el" href="a00072.html#a99b359e7a83de8dc72dcad01798acab8">limiter_node</a> (const <a class="el" href="a00072.html">limiter_node</a> &src)</td></tr>
+<tr class="memdesc:a99b359e7a83de8dc72dcad01798acab8"><td class="mdescLeft"> </td><td class="mdescRight">Copy constructor. <br/></td></tr>
+<tr class="separator:a99b359e7a83de8dc72dcad01798acab8"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a7b4e663007df5428bdb376a887a6c580"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7b4e663007df5428bdb376a887a6c580"></a>
+void </td><td class="memItemRight" valign="bottom"><b>set_name</b> (const char *name)</td></tr>
+<tr class="separator:a7b4e663007df5428bdb376a887a6c580"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ad2cfd954eb06732f7bae8f2c8fe28735"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad2cfd954eb06732f7bae8f2c8fe28735"></a>
+bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00072.html#ad2cfd954eb06732f7bae8f2c8fe28735">register_successor</a> (<a class="el" href="a00106.html">receiver</a>< <a class="el" href="a00124.html#add86fddf72758d8e5b05b07650c6eeed">output_type</a> > &r)</td></tr>
+<tr class="memdesc:ad2cfd954eb06732f7bae8f2c8fe28735"><td class="mdescLeft"> </td><td class="mdescRight">Replace the current successor with this new successor. <br/></td></tr>
+<tr class="separator:ad2cfd954eb06732f7bae8f2c8fe28735"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ac7b092dcc2808abf02816d4ac9c86e66"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00072.html#ac7b092dcc2808abf02816d4ac9c86e66">remove_successor</a> (<a class="el" href="a00106.html">receiver</a>< <a class="el" href="a00124.html#add86fddf72758d8e5b05b07650c6eeed">output_type</a> > &r)</td></tr>
+<tr class="memdesc:ac7b092dcc2808abf02816d4ac9c86e66"><td class="mdescLeft"> </td><td class="mdescRight">Removes a successor from this node.  <a href="#ac7b092dcc2808abf02816d4ac9c86e66">More...</a><br/></td></tr>
+<tr class="separator:ac7b092dcc2808abf02816d4ac9c86e66"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aca5ef5cec3b26227d71686d99ee04f7e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aca5ef5cec3b26227d71686d99ee04f7e"></a>
+bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00072.html#aca5ef5cec3b26227d71686d99ee04f7e">register_predecessor</a> (<a class="el" href="a00106.html#afbadf5511bd568d283040cd88bd4e81e">predecessor_type</a> &src)</td></tr>
+<tr class="memdesc:aca5ef5cec3b26227d71686d99ee04f7e"><td class="mdescLeft"> </td><td class="mdescRight">Adds src to the list of cached predecessors. <br/></td></tr>
+<tr class="separator:aca5ef5cec3b26227d71686d99ee04f7e"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a8aca7b4bd4ee13faf713021eb0d86735"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8aca7b4bd4ee13faf713021eb0d86735"></a>
+bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00072.html#a8aca7b4bd4ee13faf713021eb0d86735">remove_predecessor</a> (<a class="el" href="a00106.html#afbadf5511bd568d283040cd88bd4e81e">predecessor_type</a> &src)</td></tr>
+<tr class="memdesc:a8aca7b4bd4ee13faf713021eb0d86735"><td class="mdescLeft"> </td><td class="mdescRight">Removes src from the list of cached predecessors. <br/></td></tr>
+<tr class="separator:a8aca7b4bd4ee13faf713021eb0d86735"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="inherit_header pub_methods_a00063"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00063')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a></td></tr>
+<tr class="memitem:a4badd313105e30f539882276353dcb8e inherit pub_methods_a00063"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4badd313105e30f539882276353dcb8e"></a>
+ </td><td class="memItemRight" valign="bottom"><b>graph_node</b> (<a class="el" href="a00061.html">graph</a> &g)</td></tr>
+<tr class="separator:a4badd313105e30f539882276353dcb8e inherit pub_methods_a00063"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="inherit_header pub_methods_a00106"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00106')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="a00106.html">tbb::flow::interface7::receiver< T ></a></td></tr>
+<tr class="memitem:a733889a9053478ef2fb2528e2205bf07 inherit pub_methods_a00106"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a733889a9053478ef2fb2528e2205bf07"></a>
+virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#a733889a9053478ef2fb2528e2205bf07">~receiver</a> ()</td></tr>
+<tr class="memdesc:a733889a9053478ef2fb2528e2205bf07 inherit pub_methods_a00106"><td class="mdescLeft"> </td><td class="mdescRight">Destructor. <br/></td></tr>
+<tr class="separator:a733889a9053478ef2fb2528e2205bf07 inherit pub_methods_a00106"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aee5067bb4f4b71ffa786c1b33cb9aa6a inherit pub_methods_a00106"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aee5067bb4f4b71ffa786c1b33cb9aa6a"></a>
+bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#aee5067bb4f4b71ffa786c1b33cb9aa6a">try_put</a> (const T &t)</td></tr>
+<tr class="memdesc:aee5067bb4f4b71ffa786c1b33cb9aa6a inherit pub_methods_a00106"><td class="mdescLeft"> </td><td class="mdescRight">Put an item to the receiver. <br/></td></tr>
+<tr class="separator:aee5067bb4f4b71ffa786c1b33cb9aa6a inherit pub_methods_a00106"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="inherit_header pub_methods_a00124"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00124')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="a00124.html">tbb::flow::interface7::sender< T ></a></td></tr>
+<tr class="memitem:ad50b8ac93e79cbdcd2bba11d35432f2c inherit pub_methods_a00124"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad50b8ac93e79cbdcd2bba11d35432f2c"></a>
+virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00124.html#ad50b8ac93e79cbdcd2bba11d35432f2c">try_get</a> (T &)</td></tr>
+<tr class="memdesc:ad50b8ac93e79cbdcd2bba11d35432f2c inherit pub_methods_a00124"><td class="mdescLeft"> </td><td class="mdescRight">Request an item from the sender. <br/></td></tr>
+<tr class="separator:ad50b8ac93e79cbdcd2bba11d35432f2c inherit pub_methods_a00124"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aa1b9dcf77ab558530ff93a706b4c4b5d inherit pub_methods_a00124"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa1b9dcf77ab558530ff93a706b4c4b5d"></a>
+virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00124.html#aa1b9dcf77ab558530ff93a706b4c4b5d">try_reserve</a> (T &)</td></tr>
+<tr class="memdesc:aa1b9dcf77ab558530ff93a706b4c4b5d inherit pub_methods_a00124"><td class="mdescLeft"> </td><td class="mdescRight">Reserves an item in the sender. <br/></td></tr>
+<tr class="separator:aa1b9dcf77ab558530ff93a706b4c4b5d inherit pub_methods_a00124"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a97ac316ddfb6bd7c7f2f56e3e819a30a inherit pub_methods_a00124"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a97ac316ddfb6bd7c7f2f56e3e819a30a"></a>
+virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00124.html#a97ac316ddfb6bd7c7f2f56e3e819a30a">try_release</a> ()</td></tr>
+<tr class="memdesc:a97ac316ddfb6bd7c7f2f56e3e819a30a inherit pub_methods_a00124"><td class="mdescLeft"> </td><td class="mdescRight">Releases the reserved item. <br/></td></tr>
+<tr class="separator:a97ac316ddfb6bd7c7f2f56e3e819a30a inherit pub_methods_a00124"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ad404d5218c7ae2556261ffa880cdf804 inherit pub_methods_a00124"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad404d5218c7ae2556261ffa880cdf804"></a>
+virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00124.html#ad404d5218c7ae2556261ffa880cdf804">try_consume</a> ()</td></tr>
+<tr class="memdesc:ad404d5218c7ae2556261ffa880cdf804 inherit pub_methods_a00124"><td class="mdescLeft"> </td><td class="mdescRight">Consumes the reserved item. <br/></td></tr>
+<tr class="separator:ad404d5218c7ae2556261ffa880cdf804 inherit pub_methods_a00124"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
+Public Attributes</h2></td></tr>
+<tr class="memitem:ac313b6586bf183a33c3196037964547d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac313b6586bf183a33c3196037964547d"></a>
+internal::decrementer<br class="typebreak"/>
+< <a class="el" href="a00072.html">limiter_node</a>< T > > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00072.html#ac313b6586bf183a33c3196037964547d">decrement</a></td></tr>
+<tr class="memdesc:ac313b6586bf183a33c3196037964547d"><td class="mdescLeft"> </td><td class="mdescRight">The internal <a class="el" href="a00106.html">receiver< continue_msg ></a> that decrements the count. <br/></td></tr>
+<tr class="separator:ac313b6586bf183a33c3196037964547d"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
+Protected Member Functions</h2></td></tr>
+<tr class="memitem:a0551cf104b35669b5f5153c1d03d5d2d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0551cf104b35669b5f5153c1d03d5d2d"></a>
+task * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00072.html#a0551cf104b35669b5f5153c1d03d5d2d">try_put_task</a> (const T &t)</td></tr>
+<tr class="memdesc:a0551cf104b35669b5f5153c1d03d5d2d"><td class="mdescLeft"> </td><td class="mdescRight">Puts an item to this receiver. <br/></td></tr>
+<tr class="separator:a0551cf104b35669b5f5153c1d03d5d2d"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ab3c1631293b605d0341495a24c93212b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab3c1631293b605d0341495a24c93212b"></a>
+void </td><td class="memItemRight" valign="bottom"><b>reset</b> ()</td></tr>
+<tr class="separator:ab3c1631293b605d0341495a24c93212b"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a19426306eaf174d85432cd0d0f0888a3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a19426306eaf174d85432cd0d0f0888a3"></a>
+void </td><td class="memItemRight" valign="bottom"><b>reset_receiver</b> ()</td></tr>
+<tr class="separator:a19426306eaf174d85432cd0d0f0888a3"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="inherit_header pro_methods_a00106"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_a00106')"><img src="closed.png" alt="-"/> Protected Member Functions inherited from <a class="el" href="a00106.html">tbb::flow::interface7::receiver< T ></a></td></tr>
+<tr class="memitem:ae91eab3e06d4139ac38f143c74fe9eab inherit pro_methods_a00106"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae91eab3e06d4139ac38f143c74fe9eab"></a>
+virtual bool </td><td class="memItemRight" valign="bottom"><b>is_continue_receiver</b> ()</td></tr>
+<tr class="separator:ae91eab3e06d4139ac38f143c74fe9eab inherit pro_methods_a00106"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
+Friends</h2></td></tr>
+<tr class="memitem:affe7799181c01bdd203c2ca2117dae7d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="affe7799181c01bdd203c2ca2117dae7d"></a>
+class </td><td class="memItemRight" valign="bottom"><b>internal::forward_task_bypass< limiter_node< T > ></b></td></tr>
+<tr class="separator:affe7799181c01bdd203c2ca2117dae7d"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a80d4e1a1fa28ce76b1b08e12f93983f2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a80d4e1a1fa28ce76b1b08e12f93983f2"></a>
+class </td><td class="memItemRight" valign="bottom"><b>internal::decrementer< limiter_node< T > ></b></td></tr>
+<tr class="separator:a80d4e1a1fa28ce76b1b08e12f93983f2"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:abaf9bf74ca5f2854d09f5f07337280eb"><td class="memTemplParams" colspan="2"><a class="anchor" id="abaf9bf74ca5f2854d09f5f07337280eb"></a>
+template<typename R , typename B > </td></tr>
+<tr class="memitem:abaf9bf74ca5f2854d09f5f07337280eb"><td class="memTemplItemLeft" align="right" valign="top">class </td><td class="memTemplItemRight" valign="bottom"><b>run_and_put_task</b></td></tr>
+<tr class="separator:abaf9bf74ca5f2854d09f5f07337280eb"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a1360e38efe396058978cf3754ad620f5"><td class="memTemplParams" colspan="2"><a class="anchor" id="a1360e38efe396058978cf3754ad620f5"></a>
+template<typename X , typename Y > </td></tr>
+<tr class="memitem:a1360e38efe396058978cf3754ad620f5"><td class="memTemplItemLeft" align="right" valign="top">class </td><td class="memTemplItemRight" valign="bottom"><b>internal::broadcast_cache</b></td></tr>
+<tr class="separator:a1360e38efe396058978cf3754ad620f5"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:acbd9ac2610587a99cd7d43344297cc49"><td class="memTemplParams" colspan="2"><a class="anchor" id="acbd9ac2610587a99cd7d43344297cc49"></a>
+template<typename X , typename Y > </td></tr>
+<tr class="memitem:acbd9ac2610587a99cd7d43344297cc49"><td class="memTemplItemLeft" align="right" valign="top">class </td><td class="memTemplItemRight" valign="bottom"><b>internal::round_robin_cache</b></td></tr>
+<tr class="separator:acbd9ac2610587a99cd7d43344297cc49"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
+Additional Inherited Members</h2></td></tr>
+<tr class="inherit_header pro_attribs_a00063"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_a00063')"><img src="closed.png" alt="-"/> Protected Attributes inherited from <a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a></td></tr>
+<tr class="memitem:a1caee1c5677047b05d18b1662ca6fdf8 inherit pro_attribs_a00063"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1caee1c5677047b05d18b1662ca6fdf8"></a>
+<a class="el" href="a00061.html">graph</a> & </td><td class="memItemRight" valign="bottom"><b>my_graph</b></td></tr>
+<tr class="separator:a1caee1c5677047b05d18b1662ca6fdf8 inherit pro_attribs_a00063"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:af48cd0cd4f6e44efc3b353adb55f86a8 inherit pro_attribs_a00063"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af48cd0cd4f6e44efc3b353adb55f86a8"></a>
+<a class="el" href="a00063.html">graph_node</a> * </td><td class="memItemRight" valign="bottom"><b>next</b></td></tr>
+<tr class="separator:af48cd0cd4f6e44efc3b353adb55f86a8 inherit pro_attribs_a00063"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a6917bffc3cb150319679bf2395e68caa inherit pro_attribs_a00063"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6917bffc3cb150319679bf2395e68caa"></a>
+<a class="el" href="a00063.html">graph_node</a> * </td><td class="memItemRight" valign="bottom"><b>prev</b></td></tr>
+<tr class="separator:a6917bffc3cb150319679bf2395e68caa inherit pro_attribs_a00063"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><h3>template<typename T><br/>
+class tbb::flow::interface7::limiter_node< T ></h3>
+
+<p>Forwards messages only if the threshold has not been reached. </p>
+<p>This node forwards items until its threshold is reached. It contains no buffering. If the downstream node rejects, the message is dropped. </p>
+</div><h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="ac7b092dcc2808abf02816d4ac9c86e66"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T > </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool <a class="el" href="a00072.html">tbb::flow::interface7::limiter_node</a>< T >::remove_successor </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="a00106.html">receiver</a>< <a class="el" href="a00124.html#add86fddf72758d8e5b05b07650c6eeed">output_type</a> > & </td>
+          <td class="paramname"><em>r</em>)</td><td></td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Removes a successor from this node. </p>
+<p>r.remove_predecessor(*this) is also called. </p>
+
+<p>Implements <a class="el" href="a00124.html#ac1ae19f49e31c6ca94dcf14732eb7a64">tbb::flow::interface7::sender< T ></a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="a00179.html">flow_graph.h</a></li>
+</ul>
+</div><!-- contents -->
+<hr>
+<p></p>
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
+<p></p>
+Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
+registered trademarks or trademarks of Intel Corporation or its
+subsidiaries in the United States and other countries.
+<p></p>
+* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00072.png b/doc/html/a00072.png
new file mode 100644
index 0000000..e821303
Binary files /dev/null and b/doc/html/a00072.png differ
diff --git a/doc/html/a00073.html b/doc/html/a00073.html
index 1d46b3c..ea85725 100644
--- a/doc/html/a00073.html
+++ b/doc/html/a00073.html
@@ -1,60 +1,86 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::interface6::memory_pool< Alloc > Class Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<h1>tbb::flow::interface6::broadcast_node< T > Member List</h1>This is the complete list of members for <a class="el" href="a00274.html">tbb::flow::interface6::broadcast_node< T ></a>, including all inherited members.<p><table>
-  <tr bgcolor="#f0f0f0"><td><b>broadcast_node</b>(graph &g) (defined in <a class="el" href="a00274.html">tbb::flow::interface6::broadcast_node< T ></a>)</td><td><a class="el" href="a00274.html">tbb::flow::interface6::broadcast_node< T ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>broadcast_node</b>(const broadcast_node &src) (defined in <a class="el" href="a00274.html">tbb::flow::interface6::broadcast_node< T ></a>)</td><td><a class="el" href="a00274.html">tbb::flow::interface6::broadcast_node< T ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>graph_node</b>(graph &g) (defined in <a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a>)</td><td><a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00274.html#43c775d80e98cc601de69764983319f9">input_type</a> typedef</td><td><a class="el" href="a00274.html">tbb::flow::interface6::broadcast_node< T ></a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>internal::broadcast_cache</b> (defined in <a class="el" href="a00274.html">tbb::flow::interface6::broadcast_node< T ></a>)</td><td><a class="el" href="a00274.html">tbb::flow::interface6::broadcast_node< T ></a></td><td><code> [friend]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>internal::round_robin_cache</b> (defined in <a class="el" href="a00274.html">tbb::flow::interface6::broadcast_node< T ></a>)</td><td><a class="el" href="a00274.html">tbb::flow::interface6::broadcast_node< T ></a></td><td><code> [friend]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>internal::successor_cache</b> (defined in <a class="el" href="a00333.html">tbb::flow::interface6::receiver< T ></a>)</td><td><a class="el" href="a00333.html">tbb::flow::interface6::receiver< T ></a></td><td><code> [friend]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>is_continue_receiver</b>() (defined in <a class="el" href="a00333.html">tbb::flow::interface6::receiver< T ></a>)</td><td><a class="el" href="a00333.html">tbb::flow::interface6::receiver< T ></a></td><td><code> [inline, protected, virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00333.html#3b6d13039c2a8c1e369e5790895b0088">limiter_node</a> class</td><td><a class="el" href="a00333.html">tbb::flow::interface6::receiver< T ></a></td><td><code> [friend]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>my_graph</b> (defined in <a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a>)</td><td><a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a></td><td><code> [protected]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>next</b> (defined in <a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a>)</td><td><a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a></td><td><code> [protected]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00274.html#8fd8d3075823e08b879be46c1215ab0f">output_type</a> typedef</td><td><a class="el" href="a00274.html">tbb::flow::interface6::broadcast_node< T ></a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00274.html#0e2ad9a121cb286aa0d0142fef33c646">predecessor_type</a> typedef</td><td><a class="el" href="a00274.html">tbb::flow::interface6::broadcast_node< T ></a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>prev</b> (defined in <a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a>)</td><td><a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a></td><td><code> [protected]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00333.html#30e3316466efe3a713c23062b6e806f3">register_predecessor</a>(predecessor_type &)</td><td><a class="el" href="a00333.html">tbb::flow::interface6::receiver< T ></a></td><td><code> [inline, virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00274.html#fd0324c9ddb51fe6f95b3d015d338941">register_successor</a>(receiver< T > &r)</td><td><a class="el" href="a00274.html">tbb::flow::interface6::broadcast_node< T ></a></td><td><code> [inline, virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00333.html#3bc76547b51d3c9b633e3987d22dce95">remove_predecessor</a>(predecessor_type &)</td><td><a class="el" href="a00333.html">tbb::flow::interface6::receiver< T ></a></td><td><code> [inline, virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00274.html#366efcc046ec08a104281109801ae629">remove_successor</a>(receiver< T > &r)</td><td><a class="el" href="a00274.html">tbb::flow::interface6::broadcast_node< T ></a></td><td><code> [inline, virtual]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>reset</b>() (defined in <a class="el" href="a00274.html">tbb::flow::interface6::broadcast_node< T ></a>)</td><td><a class="el" href="a00274.html">tbb::flow::interface6::broadcast_node< T ></a></td><td><code> [inline, protected, virtual]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>reset_receiver</b>() (defined in <a class="el" href="a00274.html">tbb::flow::interface6::broadcast_node< T ></a>)</td><td><a class="el" href="a00274.html">tbb::flow::interface6::broadcast_node< T ></a></td><td><code> [inline, protected, virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00274.html#621bab40a858d214db69ef08d88b67c1">run_and_put_task</a> class</td><td><a class="el" href="a00274.html">tbb::flow::interface6::broadcast_node< T ></a></td><td><code> [friend]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00274.html#cc6a0eb1c4ee65465770628d8366f055">successor_type</a> typedef</td><td><a class="el" href="a00274.html">tbb::flow::interface6::broadcast_node< T ></a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00339.html#7b840f50da117a0d6848707c1857ea2e">try_consume</a>()</td><td><a class="el" href="a00339.html">tbb::flow::interface6::sender< T ></a></td><td><code> [inline, virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00339.html#922fb56b0aad090b90a98b7d56b76a59">try_get</a>(T &)</td><td><a class="el" href="a00339.html">tbb::flow::interface6::sender< T ></a></td><td><code> [inline, virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00333.html#e1adb4060a7cbac837cd24da57c5a846">try_put</a>(const T &t)</td><td><a class="el" href="a00333.html">tbb::flow::interface6::receiver< T ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00274.html#b4804d99e0fb0576f1061ab7269e5939">try_put_task</a>(const T &t)</td><td><a class="el" href="a00274.html">tbb::flow::interface6::broadcast_node< T ></a></td><td><code> [inline, protected, virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00339.html#27036b06d6a91e97007e14f400529199">try_release</a>()</td><td><a class="el" href="a00339.html">tbb::flow::interface6::sender< T ></a></td><td><code> [inline, virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00339.html#02c05b472271db1b68a48ea2618fa72f">try_reserve</a>(T &)</td><td><a class="el" href="a00339.html">tbb::flow::interface6::sender< T ></a></td><td><code> [inline, virtual]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>~graph_node</b>() (defined in <a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a>)</td><td><a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a></td><td><code> [inline, virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00333.html#b00699b235435f7b65b663d5063624a1">~receiver</a>()</td><td><a class="el" href="a00333.html">tbb::flow::interface6::receiver< T ></a></td><td><code> [inline, virtual]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>~sender</b>() (defined in <a class="el" href="a00339.html">tbb::flow::interface6::sender< T ></a>)</td><td><a class="el" href="a00339.html">tbb::flow::interface6::sender< T ></a></td><td><code> [inline, virtual]</code></td></tr>
-</table><hr>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>interface6</b></li><li class="navelem"><a class="el" href="a00073.html">memory_pool</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> |
+<a href="a00360.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::interface6::memory_pool< Alloc > Class Template Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Thread-safe growable pool allocator for variable-size requests.  
+ <a href="a00073.html#details">More...</a></p>
+
+<p><code>#include <memory_pool.h></code></p>
+<div class="dynheader">
+Inheritance diagram for tbb::interface6::memory_pool< Alloc >:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00073.png" usemap="#tbb::interface6::memory_pool< Alloc >_map" alt=""/>
+  <map id="tbb::interface6::memory_pool< Alloc >_map" name="tbb::interface6::memory_pool< Alloc >_map">
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:af4c36829a159eac04d630ac5a99b9354"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af4c36829a159eac04d630ac5a99b9354"></a>
+ </td><td class="memItemRight" valign="bottom"><a class="el" href="a00073.html#af4c36829a159eac04d630ac5a99b9354">memory_pool</a> (const Alloc &src=Alloc())</td></tr>
+<tr class="memdesc:af4c36829a159eac04d630ac5a99b9354"><td class="mdescLeft"> </td><td class="mdescRight">construct pool with underlying allocator <br/></td></tr>
+<tr class="separator:af4c36829a159eac04d630ac5a99b9354"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ad2c7645b39b7280b1b3cf393d05fbaf7"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad2c7645b39b7280b1b3cf393d05fbaf7"></a>
+ </td><td class="memItemRight" valign="bottom"><a class="el" href="a00073.html#ad2c7645b39b7280b1b3cf393d05fbaf7">~memory_pool</a> ()</td></tr>
+<tr class="memdesc:ad2c7645b39b7280b1b3cf393d05fbaf7"><td class="mdescLeft"> </td><td class="mdescRight">destroy pool <br/></td></tr>
+<tr class="separator:ad2c7645b39b7280b1b3cf393d05fbaf7"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><h3>template<typename Alloc><br/>
+class tbb::interface6::memory_pool< Alloc ></h3>
+
+<p>Thread-safe growable pool allocator for variable-size requests. </p>
+</div><hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="a00180.html">memory_pool.h</a></li>
+</ul>
+</div><!-- contents -->
+<hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00073.png b/doc/html/a00073.png
new file mode 100644
index 0000000..040c525
Binary files /dev/null and b/doc/html/a00073.png differ
diff --git a/doc/html/a00074.html b/doc/html/a00074.html
index 8a156b9..087577e 100644
--- a/doc/html/a00074.html
+++ b/doc/html/a00074.html
@@ -1,95 +1,173 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::interface6::memory_pool_allocator< T, P > Class Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<h1>tbb::flow::interface6::buffer_node< T, A > Member List</h1>This is the complete list of members for <a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a>, including all inherited members.<p><table>
-  <tr class="memlist"><td><a class="el" href="a00275.html#5fe4b79f780586ff66e002ce32a5c60d">buffer_node</a>(graph &g)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00275.html#03ad7b85a8341437f584af06ad050cdc">buffer_node</a>(const buffer_node &src)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>con_res</b> enum value (defined in <a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a>)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [protected]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>enqueue_forwarding_task</b>(buffer_operation &op_data) (defined in <a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a>)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [inline, protected]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>FAILED</b> enum value (defined in <a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a>)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [protected]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00275.html#8954338d1a7740f9be80455ba27e8eed">forward_task</a>()</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [inline, protected, virtual]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>forwarder_busy</b> (defined in <a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a>)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [protected]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>grab_forwarding_task</b>(buffer_operation &op_data) (defined in <a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a>)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [inline, protected]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>graph_node</b>(graph &g) (defined in <a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a>)</td><td><a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>handle_operations</b>(buffer_operation *op_list) (defined in <a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a>)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [inline, protected, virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00275.html#334efb81b56a2f2b3ae08a16e8d65620">input_type</a> typedef</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>internal::aggregating_functor< my_class, buffer_operation ></b> (defined in <a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a>)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [friend]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>internal::broadcast_cache</b> (defined in <a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a>)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [friend]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>internal::forward_task_bypass< buffer_node< T, A > ></b> (defined in <a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a>)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [friend]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>internal::round_robin_cache</b> (defined in <a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a>)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [friend]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>internal::successor_cache</b> (defined in <a class="el" href="a00333.html">tbb::flow::interface6::receiver< T ></a>)</td><td><a class="el" href="a00333.html">tbb::flow::interface6::receiver< T ></a></td><td><code> [friend]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>internal_consume</b>(buffer_operation *op) (defined in <a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a>)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [inline, protected, virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00275.html#bc6ef82fe9c28ace2ef6b78abb43ffb8">internal_forward_task</a>(buffer_operation *op)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [inline, protected, virtual]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>internal_pop</b>(buffer_operation *op) (defined in <a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a>)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [inline, protected, virtual]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>internal_push</b>(buffer_operation *op) (defined in <a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a>)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [inline, protected, virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00275.html#df21388252b8963e839dca29d2c67ea5">internal_reg_succ</a>(buffer_operation *op)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [inline, protected, virtual]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>internal_release</b>(buffer_operation *op) (defined in <a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a>)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [inline, protected, virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00275.html#6b6cf76dff80fd679251da93351c1291">internal_rem_succ</a>(buffer_operation *op)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [inline, protected, virtual]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>internal_reserve</b>(buffer_operation *op) (defined in <a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a>)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [inline, protected, virtual]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>is_continue_receiver</b>() (defined in <a class="el" href="a00333.html">tbb::flow::interface6::receiver< T ></a>)</td><td><a class="el" href="a00333.html">tbb::flow::interface6::receiver< T ></a></td><td><code> [inline, protected, virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00333.html#3b6d13039c2a8c1e369e5790895b0088">limiter_node</a> class</td><td><a class="el" href="a00333.html">tbb::flow::interface6::receiver< T ></a></td><td><code> [friend]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>my_aggregator</b> (defined in <a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a>)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [protected]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>my_class</b> typedef (defined in <a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a>)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>my_graph</b> (defined in <a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a>)</td><td><a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a></td><td><code> [protected]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>my_handler</b> typedef (defined in <a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a>)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [protected]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>my_parent</b> (defined in <a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a>)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [protected]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>my_successors</b> (defined in <a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a>)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [protected]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>next</b> (defined in <a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a>)</td><td><a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a></td><td><code> [protected]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>op_stat</b> enum name (defined in <a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a>)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [protected]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>op_type</b> enum name (defined in <a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a>)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [protected]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00275.html#089520db81f6a1551dc94c01efbdd7be">output_type</a> typedef</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00275.html#5fb0ad03a822ca0fc34ad5d56a4093a2">predecessor_type</a> typedef</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>prev</b> (defined in <a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a>)</td><td><a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a></td><td><code> [protected]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>put_item</b> enum value (defined in <a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a>)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [protected]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>reg_succ</b> enum value (defined in <a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a>)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [protected]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00333.html#30e3316466efe3a713c23062b6e806f3">register_predecessor</a>(predecessor_type &)</td><td><a class="el" href="a00333.html">tbb::flow::interface6::receiver< T ></a></td><td><code> [inline, virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00275.html#f8bf4944ede4fc106423d67715beb695">register_successor</a>(receiver< output_type > &r)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [inline, virtual]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>rel_res</b> enum value (defined in <a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a>)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [protected]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>rem_succ</b> enum value (defined in <a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a>)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [protected]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00333.html#3bc76547b51d3c9b633e3987d22dce95">remove_predecessor</a>(predecessor_type &)</td><td><a class="el" href="a00333.html">tbb::flow::interface6::receiver< T ></a></td><td><code> [inline, virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00275.html#2074da0e39b9477c32897d6e5786196f">remove_successor</a>(receiver< output_type > &r)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [inline, virtual]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>req_item</b> enum value (defined in <a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a>)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [protected]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>res_item</b> enum value (defined in <a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a>)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [protected]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>reset</b>() (defined in <a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a>)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [inline, protected, virtual]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>reset_receiver</b>() (defined in <a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a>)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [inline, protected, virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00275.html#621bab40a858d214db69ef08d88b67c1">run_and_put_task</a> class</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [friend]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>size_type</b> typedef (defined in <a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a>)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [protected]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>SUCCEEDED</b> enum value (defined in <a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a>)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [protected]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00275.html#66f7eda69b75e08f50726e50a11429cd">successor_type</a> typedef</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00275.html#8ef07c434eb763d947a7b4e80c086a49">try_consume</a>()</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [inline, virtual]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>try_fwd_task</b> enum value (defined in <a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a>)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [protected]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00275.html#aeb8aec46ca99ca022356a792c46735e">try_get</a>(T &v)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [inline, virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00333.html#e1adb4060a7cbac837cd24da57c5a846">try_put</a>(const T &t)</td><td><a class="el" href="a00333.html">tbb::flow::interface6::receiver< T ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00275.html#84d939049fa8c3205aec91ced0980e03">try_put_task</a>(const T &t)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [inline, protected, virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00275.html#2c8e8f2f5f4ff5be27136cc1184a3c3e">try_release</a>()</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [inline, virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00275.html#1cc889bb6c38bcb81757d0ebbc3a5e64">try_reserve</a>(T &v)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [inline, virtual]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>WAIT</b> enum value (defined in <a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a>)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [protected]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>~buffer_node</b>() (defined in <a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a>)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [inline, virtual]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>~graph_node</b>() (defined in <a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a>)</td><td><a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a></td><td><code> [inline, virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00333.html#b00699b235435f7b65b663d5063624a1">~receiver</a>()</td><td><a class="el" href="a00333.html">tbb::flow::interface6::receiver< T ></a></td><td><code> [inline, virtual]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>~sender</b>() (defined in <a class="el" href="a00339.html">tbb::flow::interface6::sender< T ></a>)</td><td><a class="el" href="a00339.html">tbb::flow::interface6::sender< T ></a></td><td><code> [inline, virtual]</code></td></tr>
-</table><hr>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>interface6</b></li><li class="navelem"><a class="el" href="a00074.html">memory_pool_allocator</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Classes</a> |
+<a href="#pub-types">Public Types</a> |
+<a href="#pub-methods">Public Member Functions</a> |
+<a href="#pro-types">Protected Types</a> |
+<a href="#pro-attribs">Protected Attributes</a> |
+<a href="#friends">Friends</a> |
+<a href="a00356.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::interface6::memory_pool_allocator< T, P > Class Template Reference<div class="ingroups"><a class="el" href="a00236.html">Memory Allocation</a></div></div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Meets "allocator" requirements of ISO C++ Standard, Section 20.1.5.  
+ <a href="a00074.html#details">More...</a></p>
+
+<p><code>#include <memory_pool.h></code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Classes</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00101.html">rebind</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:a6202050e0edbded0b0534ea4be9547e0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6202050e0edbded0b0534ea4be9547e0"></a>
+typedef <br class="typebreak"/>
+tbb::internal::allocator_type<br class="typebreak"/>
+< T >::value_type </td><td class="memItemRight" valign="bottom"><b>value_type</b></td></tr>
+<tr class="separator:a6202050e0edbded0b0534ea4be9547e0"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a07450f397df1af8096f31bfa8f2e1722"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a07450f397df1af8096f31bfa8f2e1722"></a>
+typedef value_type * </td><td class="memItemRight" valign="bottom"><b>pointer</b></td></tr>
+<tr class="separator:a07450f397df1af8096f31bfa8f2e1722"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a972521ed466cc8140d386331a25e895a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a972521ed466cc8140d386331a25e895a"></a>
+typedef const value_type * </td><td class="memItemRight" valign="bottom"><b>const_pointer</b></td></tr>
+<tr class="separator:a972521ed466cc8140d386331a25e895a"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a83b91759effc3a452fc565ac3bb45613"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a83b91759effc3a452fc565ac3bb45613"></a>
+typedef value_type & </td><td class="memItemRight" valign="bottom"><b>reference</b></td></tr>
+<tr class="separator:a83b91759effc3a452fc565ac3bb45613"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a15abe537e2dad4132c956c08d9d0a27e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a15abe537e2dad4132c956c08d9d0a27e"></a>
+typedef const value_type & </td><td class="memItemRight" valign="bottom"><b>const_reference</b></td></tr>
+<tr class="separator:a15abe537e2dad4132c956c08d9d0a27e"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ac20767f3b7a8fcdc1aff0b0874245d3a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac20767f3b7a8fcdc1aff0b0874245d3a"></a>
+typedef size_t </td><td class="memItemRight" valign="bottom"><b>size_type</b></td></tr>
+<tr class="separator:ac20767f3b7a8fcdc1aff0b0874245d3a"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a23267e855e2427b401b99ce4b547f83e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a23267e855e2427b401b99ce4b547f83e"></a>
+typedef ptrdiff_t </td><td class="memItemRight" valign="bottom"><b>difference_type</b></td></tr>
+<tr class="separator:a23267e855e2427b401b99ce4b547f83e"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a384be31e682a3b86b5b11e635232c9c5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a384be31e682a3b86b5b11e635232c9c5"></a>
+ </td><td class="memItemRight" valign="bottom"><b>memory_pool_allocator</b> (pool_type &pool)  throw ()</td></tr>
+<tr class="separator:a384be31e682a3b86b5b11e635232c9c5"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aa2b4cf16b566e40ddb196c371e5ae96e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa2b4cf16b566e40ddb196c371e5ae96e"></a>
+ </td><td class="memItemRight" valign="bottom"><b>memory_pool_allocator</b> (const <a class="el" href="a00074.html">memory_pool_allocator</a> &src)  throw ()</td></tr>
+<tr class="separator:aa2b4cf16b566e40ddb196c371e5ae96e"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ad32ad8245399fbdb38a0a41e912d86d9"><td class="memTemplParams" colspan="2"><a class="anchor" id="ad32ad8245399fbdb38a0a41e912d86d9"></a>
+template<typename U > </td></tr>
+<tr class="memitem:ad32ad8245399fbdb38a0a41e912d86d9"><td class="memTemplItemLeft" align="right" valign="top"> </td><td class="memTemplItemRight" valign="bottom"><b>memory_pool_allocator</b> (const <a class="el" href="a00074.html">memory_pool_allocator</a>< U, P > &src)  throw ()</td></tr>
+<tr class="separator:ad32ad8245399fbdb38a0a41e912d86d9"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a55653a8c539901be6ca24a120a5d7b72"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a55653a8c539901be6ca24a120a5d7b72"></a>
+pointer </td><td class="memItemRight" valign="bottom"><b>address</b> (reference x) const </td></tr>
+<tr class="separator:a55653a8c539901be6ca24a120a5d7b72"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a8a3e4236f6e1266f126dac557906ce2c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8a3e4236f6e1266f126dac557906ce2c"></a>
+const_pointer </td><td class="memItemRight" valign="bottom"><b>address</b> (const_reference x) const </td></tr>
+<tr class="separator:a8a3e4236f6e1266f126dac557906ce2c"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a10b9888883a3dbd66e87c4a7f874ef28"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a10b9888883a3dbd66e87c4a7f874ef28"></a>
+pointer </td><td class="memItemRight" valign="bottom"><a class="el" href="a00074.html#a10b9888883a3dbd66e87c4a7f874ef28">allocate</a> (size_type n, const void *=0)</td></tr>
+<tr class="memdesc:a10b9888883a3dbd66e87c4a7f874ef28"><td class="mdescLeft"> </td><td class="mdescRight">Allocate space for n objects. <br/></td></tr>
+<tr class="separator:a10b9888883a3dbd66e87c4a7f874ef28"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a9fcf288f2d653972d1bdc0c65abebed4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9fcf288f2d653972d1bdc0c65abebed4"></a>
+void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00074.html#a9fcf288f2d653972d1bdc0c65abebed4">deallocate</a> (pointer p, size_type)</td></tr>
+<tr class="memdesc:a9fcf288f2d653972d1bdc0c65abebed4"><td class="mdescLeft"> </td><td class="mdescRight">Free previously allocated block of memory. <br/></td></tr>
+<tr class="separator:a9fcf288f2d653972d1bdc0c65abebed4"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a2bded8e3fb2cec32b48771e7a1bbb838"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2bded8e3fb2cec32b48771e7a1bbb838"></a>
+size_type </td><td class="memItemRight" valign="bottom"><a class="el" href="a00074.html#a2bded8e3fb2cec32b48771e7a1bbb838">max_size</a> () const   throw ()</td></tr>
+<tr class="memdesc:a2bded8e3fb2cec32b48771e7a1bbb838"><td class="mdescLeft"> </td><td class="mdescRight">Largest value for which method allocate might succeed. <br/></td></tr>
+<tr class="separator:a2bded8e3fb2cec32b48771e7a1bbb838"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ac51b34ef90ecabdd2e0483e25603a15b"><td class="memTemplParams" colspan="2"><a class="anchor" id="ac51b34ef90ecabdd2e0483e25603a15b"></a>
+template<typename U , typename... Args> </td></tr>
+<tr class="memitem:ac51b34ef90ecabdd2e0483e25603a15b"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00074.html#ac51b34ef90ecabdd2e0483e25603a15b">construct</a> (U *p, Args &&...args)</td></tr>
+<tr class="memdesc:ac51b34ef90ecabdd2e0483e25603a15b"><td class="mdescLeft"> </td><td class="mdescRight">Copy-construct value at location pointed to by p. <br/></td></tr>
+<tr class="separator:ac51b34ef90ecabdd2e0483e25603a15b"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:affac76f7742c4d8ea6345e0aad82792a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="affac76f7742c4d8ea6345e0aad82792a"></a>
+void </td><td class="memItemRight" valign="bottom"><b>construct</b> (pointer p, const value_type &value)</td></tr>
+<tr class="separator:affac76f7742c4d8ea6345e0aad82792a"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a2223b6469f88aadc432a4b3f88728d0f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2223b6469f88aadc432a4b3f88728d0f"></a>
+void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00074.html#a2223b6469f88aadc432a4b3f88728d0f">destroy</a> (pointer p)</td></tr>
+<tr class="memdesc:a2223b6469f88aadc432a4b3f88728d0f"><td class="mdescLeft"> </td><td class="mdescRight">Destroy value at location pointed to by p. <br/></td></tr>
+<tr class="separator:a2223b6469f88aadc432a4b3f88728d0f"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-types"></a>
+Protected Types</h2></td></tr>
+<tr class="memitem:aecd858782faee0fb5fa707671cfc49aa"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aecd858782faee0fb5fa707671cfc49aa"></a>
+typedef P </td><td class="memItemRight" valign="bottom"><b>pool_type</b></td></tr>
+<tr class="separator:aecd858782faee0fb5fa707671cfc49aa"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
+Protected Attributes</h2></td></tr>
+<tr class="memitem:a0fbd737811d556f1d2898d3722e85f32"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0fbd737811d556f1d2898d3722e85f32"></a>
+pool_type * </td><td class="memItemRight" valign="bottom"><b>my_pool</b></td></tr>
+<tr class="separator:a0fbd737811d556f1d2898d3722e85f32"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
+Friends</h2></td></tr>
+<tr class="memitem:a6c34ee2e5a57845f050b507cc516a005"><td class="memTemplParams" colspan="2"><a class="anchor" id="a6c34ee2e5a57845f050b507cc516a005"></a>
+template<typename U , typename R > </td></tr>
+<tr class="memitem:a6c34ee2e5a57845f050b507cc516a005"><td class="memTemplItemLeft" align="right" valign="top">class </td><td class="memTemplItemRight" valign="bottom"><b>memory_pool_allocator</b></td></tr>
+<tr class="separator:a6c34ee2e5a57845f050b507cc516a005"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ac8c26a64f4e012f2a9cf6035cf029905"><td class="memTemplParams" colspan="2"><a class="anchor" id="ac8c26a64f4e012f2a9cf6035cf029905"></a>
+template<typename V , typename U , typename R > </td></tr>
+<tr class="memitem:ac8c26a64f4e012f2a9cf6035cf029905"><td class="memTemplItemLeft" align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><b>operator==</b> (const <a class="el" href="a00074.html">memory_pool_allocator</a>< V, R > &a, const <a class="el" href="a00074.html">memory_pool_allocator</a>< U, R > &b)</td></tr>
+<tr class="separator:ac8c26a64f4e012f2a9cf6035cf029905"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a2f7230e5bc817e7512e18b5311b3371b"><td class="memTemplParams" colspan="2"><a class="anchor" id="a2f7230e5bc817e7512e18b5311b3371b"></a>
+template<typename V , typename U , typename R > </td></tr>
+<tr class="memitem:a2f7230e5bc817e7512e18b5311b3371b"><td class="memTemplItemLeft" align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><b>operator!=</b> (const <a class="el" href="a00074.html">memory_pool_allocator</a>< V, R > &a, const <a class="el" href="a00074.html">memory_pool_allocator</a>< U, R > &b)</td></tr>
+<tr class="separator:a2f7230e5bc817e7512e18b5311b3371b"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><h3>template<typename T, typename P = internal::pool_base><br/>
+class tbb::interface6::memory_pool_allocator< T, P ></h3>
+
+<p>Meets "allocator" requirements of ISO C++ Standard, Section 20.1.5. </p>
+</div><hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="a00180.html">memory_pool.h</a></li>
+</ul>
+</div><!-- contents -->
+<hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00075.html b/doc/html/a00075.html
new file mode 100644
index 0000000..d361e26
--- /dev/null
+++ b/doc/html/a00075.html
@@ -0,0 +1,128 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::interface6::memory_pool_allocator< void, P > Class Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>interface6</b></li><li class="navelem"><a class="el" href="a00075.html">memory_pool_allocator< void, P ></a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Classes</a> |
+<a href="#pub-types">Public Types</a> |
+<a href="#pub-methods">Public Member Functions</a> |
+<a href="#pro-attribs">Protected Attributes</a> |
+<a href="#friends">Friends</a> |
+<a href="a00358.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::interface6::memory_pool_allocator< void, P > Class Template Reference<div class="ingroups"><a class="el" href="a00236.html">Memory Allocation</a></div></div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Analogous to std::allocator<void>, as defined in ISO C++ Standard, Section 20.4.1.  
+ <a href="a00075.html#details">More...</a></p>
+
+<p><code>#include <memory_pool.h></code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Classes</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00102.html">rebind</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:aa4a3be261ace6f19c3c40ef2503c4984"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa4a3be261ace6f19c3c40ef2503c4984"></a>
+typedef P </td><td class="memItemRight" valign="bottom"><b>pool_type</b></td></tr>
+<tr class="separator:aa4a3be261ace6f19c3c40ef2503c4984"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:afb58c3e8f2e0a8f9152eae641ee420fa"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afb58c3e8f2e0a8f9152eae641ee420fa"></a>
+typedef void * </td><td class="memItemRight" valign="bottom"><b>pointer</b></td></tr>
+<tr class="separator:afb58c3e8f2e0a8f9152eae641ee420fa"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a5e53158493ed0d617460e8dd6534a525"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5e53158493ed0d617460e8dd6534a525"></a>
+typedef const void * </td><td class="memItemRight" valign="bottom"><b>const_pointer</b></td></tr>
+<tr class="separator:a5e53158493ed0d617460e8dd6534a525"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a676a2c2649d6ffc45466d94555d71df2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a676a2c2649d6ffc45466d94555d71df2"></a>
+typedef void </td><td class="memItemRight" valign="bottom"><b>value_type</b></td></tr>
+<tr class="separator:a676a2c2649d6ffc45466d94555d71df2"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a8e697e2d03e8f69de1728409bec4f7b5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8e697e2d03e8f69de1728409bec4f7b5"></a>
+ </td><td class="memItemRight" valign="bottom"><b>memory_pool_allocator</b> (pool_type &pool)  throw ()</td></tr>
+<tr class="separator:a8e697e2d03e8f69de1728409bec4f7b5"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a001103c81ba25e645305f19a82db2e4a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a001103c81ba25e645305f19a82db2e4a"></a>
+ </td><td class="memItemRight" valign="bottom"><b>memory_pool_allocator</b> (const <a class="el" href="a00074.html">memory_pool_allocator</a> &src)  throw ()</td></tr>
+<tr class="separator:a001103c81ba25e645305f19a82db2e4a"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a8d3db3082c1fa40ccb3997626f61e61e"><td class="memTemplParams" colspan="2"><a class="anchor" id="a8d3db3082c1fa40ccb3997626f61e61e"></a>
+template<typename U > </td></tr>
+<tr class="memitem:a8d3db3082c1fa40ccb3997626f61e61e"><td class="memTemplItemLeft" align="right" valign="top"> </td><td class="memTemplItemRight" valign="bottom"><b>memory_pool_allocator</b> (const <a class="el" href="a00074.html">memory_pool_allocator</a>< U, P > &src)  throw ()</td></tr>
+<tr class="separator:a8d3db3082c1fa40ccb3997626f61e61e"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
+Protected Attributes</h2></td></tr>
+<tr class="memitem:a1e497d3d88dcb063ab6594eb4ad3dc35"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1e497d3d88dcb063ab6594eb4ad3dc35"></a>
+pool_type * </td><td class="memItemRight" valign="bottom"><b>my_pool</b></td></tr>
+<tr class="separator:a1e497d3d88dcb063ab6594eb4ad3dc35"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
+Friends</h2></td></tr>
+<tr class="memitem:a6c34ee2e5a57845f050b507cc516a005"><td class="memTemplParams" colspan="2"><a class="anchor" id="a6c34ee2e5a57845f050b507cc516a005"></a>
+template<typename U , typename R > </td></tr>
+<tr class="memitem:a6c34ee2e5a57845f050b507cc516a005"><td class="memTemplItemLeft" align="right" valign="top">class </td><td class="memTemplItemRight" valign="bottom"><b>memory_pool_allocator</b></td></tr>
+<tr class="separator:a6c34ee2e5a57845f050b507cc516a005"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ac8c26a64f4e012f2a9cf6035cf029905"><td class="memTemplParams" colspan="2"><a class="anchor" id="ac8c26a64f4e012f2a9cf6035cf029905"></a>
+template<typename V , typename U , typename R > </td></tr>
+<tr class="memitem:ac8c26a64f4e012f2a9cf6035cf029905"><td class="memTemplItemLeft" align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><b>operator==</b> (const <a class="el" href="a00074.html">memory_pool_allocator</a>< V, R > &a, const <a class="el" href="a00074.html">memory_pool_allocator</a>< U, R > &b)</td></tr>
+<tr class="separator:ac8c26a64f4e012f2a9cf6035cf029905"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a2f7230e5bc817e7512e18b5311b3371b"><td class="memTemplParams" colspan="2"><a class="anchor" id="a2f7230e5bc817e7512e18b5311b3371b"></a>
+template<typename V , typename U , typename R > </td></tr>
+<tr class="memitem:a2f7230e5bc817e7512e18b5311b3371b"><td class="memTemplItemLeft" align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><b>operator!=</b> (const <a class="el" href="a00074.html">memory_pool_allocator</a>< V, R > &a, const <a class="el" href="a00074.html">memory_pool_allocator</a>< U, R > &b)</td></tr>
+<tr class="separator:a2f7230e5bc817e7512e18b5311b3371b"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><h3>template<typename P><br/>
+class tbb::interface6::memory_pool_allocator< void, P ></h3>
+
+<p>Analogous to std::allocator<void>, as defined in ISO C++ Standard, Section 20.4.1. </p>
+</div><hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="a00180.html">memory_pool.h</a></li>
+</ul>
+</div><!-- contents -->
+<hr>
+<p></p>
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
+<p></p>
+Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
+registered trademarks or trademarks of Intel Corporation or its
+subsidiaries in the United States and other countries.
+<p></p>
+* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00076.html b/doc/html/a00076.html
index a9eb60b..8db3e96 100644
--- a/doc/html/a00076.html
+++ b/doc/html/a00076.html
@@ -1,98 +1,95 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>rml::MemPoolPolicy Struct Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<h1>tbb::flow::interface6::queue_node< T, A > Member List</h1>This is the complete list of members for <a class="el" href="a00325.html">tbb::flow::interface6::queue_node< T, A ></a>, including all inherited members.<p><table>
-  <tr class="memlist"><td><a class="el" href="a00275.html#5fe4b79f780586ff66e002ce32a5c60d">buffer_node</a>(graph &g)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00275.html#03ad7b85a8341437f584af06ad050cdc">buffer_node</a>(const buffer_node &src)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>con_res</b> enum value (defined in <a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a>)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [protected]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>enqueue_forwarding_task</b>(buffer_operation &op_data) (defined in <a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a>)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [inline, protected]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>FAILED</b> enum value (defined in <a class="el" href="a00325.html">tbb::flow::interface6::queue_node< T, A ></a>)</td><td><a class="el" href="a00325.html">tbb::flow::interface6::queue_node< T, A ></a></td><td><code> [protected]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00275.html#8954338d1a7740f9be80455ba27e8eed">forward_task</a>()</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [inline, protected, virtual]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>forwarder_busy</b> (defined in <a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a>)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [protected]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>grab_forwarding_task</b>(buffer_operation &op_data) (defined in <a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a>)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [inline, protected]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>graph_node</b>(graph &g) (defined in <a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a>)</td><td><a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>handle_operations</b>(buffer_operation *op_list) (defined in <a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a>)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [inline, protected, virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00325.html#1e71030845210b6c4c7380eb9e11a2ac">input_type</a> typedef</td><td><a class="el" href="a00325.html">tbb::flow::interface6::queue_node< T, A ></a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>internal::aggregating_functor< my_class, buffer_operation ></b> (defined in <a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a>)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [friend]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>internal::broadcast_cache</b> (defined in <a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a>)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [friend]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>internal::forward_task_bypass< buffer_node< T, A > ></b> (defined in <a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a>)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [friend]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>internal::round_robin_cache</b> (defined in <a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a>)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [friend]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>internal::successor_cache</b> (defined in <a class="el" href="a00333.html">tbb::flow::interface6::receiver< T ></a>)</td><td><a class="el" href="a00333.html">tbb::flow::interface6::receiver< T ></a></td><td><code> [friend]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>internal_consume</b>(queue_operation *op) (defined in <a class="el" href="a00325.html">tbb::flow::interface6::queue_node< T, A ></a>)</td><td><a class="el" href="a00325.html">tbb::flow::interface6::queue_node< T, A ></a></td><td><code> [inline, protected, virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00325.html#8eecd6591d7565cbb5b7f1e37bf97979">internal_forward_task</a>(queue_operation *op)</td><td><a class="el" href="a00325.html">tbb::flow::interface6::queue_node< T, A ></a></td><td><code> [inline, protected, virtual]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>internal_pop</b>(queue_operation *op) (defined in <a class="el" href="a00325.html">tbb::flow::interface6::queue_node< T, A ></a>)</td><td><a class="el" href="a00325.html">tbb::flow::interface6::queue_node< T, A ></a></td><td><code> [inline, protected, virtual]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>internal_push</b>(buffer_operation *op) (defined in <a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a>)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [inline, protected, virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00275.html#df21388252b8963e839dca29d2c67ea5">internal_reg_succ</a>(buffer_operation *op)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [inline, protected, virtual]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>internal_release</b>(buffer_operation *op) (defined in <a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a>)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [inline, protected, virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00275.html#6b6cf76dff80fd679251da93351c1291">internal_rem_succ</a>(buffer_operation *op)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [inline, protected, virtual]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>internal_reserve</b>(queue_operation *op) (defined in <a class="el" href="a00325.html">tbb::flow::interface6::queue_node< T, A ></a>)</td><td><a class="el" href="a00325.html">tbb::flow::interface6::queue_node< T, A ></a></td><td><code> [inline, protected, virtual]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>is_continue_receiver</b>() (defined in <a class="el" href="a00333.html">tbb::flow::interface6::receiver< T ></a>)</td><td><a class="el" href="a00333.html">tbb::flow::interface6::receiver< T ></a></td><td><code> [inline, protected, virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00333.html#3b6d13039c2a8c1e369e5790895b0088">limiter_node</a> class</td><td><a class="el" href="a00333.html">tbb::flow::interface6::receiver< T ></a></td><td><code> [friend]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>my_aggregator</b> (defined in <a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a>)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [protected]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>my_class</b> typedef (defined in <a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a>)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>my_graph</b> (defined in <a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a>)</td><td><a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a></td><td><code> [protected]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>my_handler</b> typedef (defined in <a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a>)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [protected]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>my_parent</b> (defined in <a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a>)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [protected]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>my_successors</b> (defined in <a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a>)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [protected]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>next</b> (defined in <a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a>)</td><td><a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a></td><td><code> [protected]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>op_stat</b> enum name (defined in <a class="el" href="a00325.html">tbb::flow::interface6::queue_node< T, A ></a>)</td><td><a class="el" href="a00325.html">tbb::flow::interface6::queue_node< T, A ></a></td><td><code> [protected]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>op_type</b> enum name (defined in <a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a>)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [protected]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00325.html#25b5a53ab1f9a342644fa3759bc0b1ad">output_type</a> typedef</td><td><a class="el" href="a00325.html">tbb::flow::interface6::queue_node< T, A ></a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00325.html#5e2fdd33c45d44549dee9c1638e19898">predecessor_type</a> typedef</td><td><a class="el" href="a00325.html">tbb::flow::interface6::queue_node< T, A ></a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>prev</b> (defined in <a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a>)</td><td><a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a></td><td><code> [protected]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>put_item</b> enum value (defined in <a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a>)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [protected]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00325.html#c716593a92448b0f429d1f3a38e67996">queue_node</a>(graph &g)</td><td><a class="el" href="a00325.html">tbb::flow::interface6::queue_node< T, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00325.html#0226762d9ebba28311b7b1518d948ab1">queue_node</a>(const queue_node &src)</td><td><a class="el" href="a00325.html">tbb::flow::interface6::queue_node< T, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>queue_operation</b> typedef (defined in <a class="el" href="a00325.html">tbb::flow::interface6::queue_node< T, A ></a>)</td><td><a class="el" href="a00325.html">tbb::flow::interface6::queue_node< T, A ></a></td><td><code> [protected]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>reg_succ</b> enum value (defined in <a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a>)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [protected]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00333.html#30e3316466efe3a713c23062b6e806f3">register_predecessor</a>(predecessor_type &)</td><td><a class="el" href="a00333.html">tbb::flow::interface6::receiver< T ></a></td><td><code> [inline, virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00275.html#f8bf4944ede4fc106423d67715beb695">register_successor</a>(receiver< output_type > &r)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [inline, virtual]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>rel_res</b> enum value (defined in <a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a>)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [protected]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>rem_succ</b> enum value (defined in <a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a>)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [protected]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00333.html#3bc76547b51d3c9b633e3987d22dce95">remove_predecessor</a>(predecessor_type &)</td><td><a class="el" href="a00333.html">tbb::flow::interface6::receiver< T ></a></td><td><code> [inline, virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00275.html#2074da0e39b9477c32897d6e5786196f">remove_successor</a>(receiver< output_type > &r)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [inline, virtual]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>req_item</b> enum value (defined in <a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a>)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [protected]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>res_item</b> enum value (defined in <a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a>)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [protected]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>reset</b>() (defined in <a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a>)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [inline, protected, virtual]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>reset_receiver</b>() (defined in <a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a>)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [inline, protected, virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00275.html#621bab40a858d214db69ef08d88b67c1">run_and_put_task</a> class</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [friend]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>size_type</b> typedef (defined in <a class="el" href="a00325.html">tbb::flow::interface6::queue_node< T, A ></a>)</td><td><a class="el" href="a00325.html">tbb::flow::interface6::queue_node< T, A ></a></td><td><code> [protected]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>SUCCEEDED</b> enum value (defined in <a class="el" href="a00325.html">tbb::flow::interface6::queue_node< T, A ></a>)</td><td><a class="el" href="a00325.html">tbb::flow::interface6::queue_node< T, A ></a></td><td><code> [protected]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00325.html#f35076a19f256f9e7a61bed77ca1ccc5">successor_type</a> typedef</td><td><a class="el" href="a00325.html">tbb::flow::interface6::queue_node< T, A ></a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00275.html#8ef07c434eb763d947a7b4e80c086a49">try_consume</a>()</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [inline, virtual]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>try_fwd_task</b> enum value (defined in <a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a>)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [protected]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00275.html#aeb8aec46ca99ca022356a792c46735e">try_get</a>(T &v)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [inline, virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00333.html#e1adb4060a7cbac837cd24da57c5a846">try_put</a>(const T &t)</td><td><a class="el" href="a00333.html">tbb::flow::interface6::receiver< T ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00275.html#84d939049fa8c3205aec91ced0980e03">try_put_task</a>(const T &t)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [inline, protected, virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00275.html#2c8e8f2f5f4ff5be27136cc1184a3c3e">try_release</a>()</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [inline, virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00275.html#1cc889bb6c38bcb81757d0ebbc3a5e64">try_reserve</a>(T &v)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [inline, virtual]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>WAIT</b> enum value (defined in <a class="el" href="a00325.html">tbb::flow::interface6::queue_node< T, A ></a>)</td><td><a class="el" href="a00325.html">tbb::flow::interface6::queue_node< T, A ></a></td><td><code> [protected]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>~buffer_node</b>() (defined in <a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a>)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [inline, virtual]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>~graph_node</b>() (defined in <a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a>)</td><td><a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a></td><td><code> [inline, virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00333.html#b00699b235435f7b65b663d5063624a1">~receiver</a>()</td><td><a class="el" href="a00333.html">tbb::flow::interface6::receiver< T ></a></td><td><code> [inline, virtual]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>~sender</b>() (defined in <a class="el" href="a00339.html">tbb::flow::interface6::sender< T ></a>)</td><td><a class="el" href="a00339.html">tbb::flow::interface6::sender< T ></a></td><td><code> [inline, virtual]</code></td></tr>
-</table><hr>
+<li class="navelem"><a class="el" href="a00219.html">rml</a></li><li class="navelem"><a class="el" href="a00076.html">MemPoolPolicy</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-types">Public Types</a> |
+<a href="#pub-methods">Public Member Functions</a> |
+<a href="#pub-attribs">Public Attributes</a> |
+<a href="a00243.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">rml::MemPoolPolicy Struct Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:ad72f0465769495e0b48bbf8ef9c983b1"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom">{ <b>TBBMALLOC_POOL_VERSION</b> = 1
+ }</td></tr>
+<tr class="separator:ad72f0465769495e0b48bbf8ef9c983b1"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a73e485e36709acc04a9448eaa95bb666"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a73e485e36709acc04a9448eaa95bb666"></a>
+ </td><td class="memItemRight" valign="bottom"><b>MemPoolPolicy</b> (rawAllocType pAlloc_, rawFreeType pFree_, size_t granularity_=0, bool fixedPool_=false, bool keepAllMemory_=false)</td></tr>
+<tr class="separator:a73e485e36709acc04a9448eaa95bb666"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
+Public Attributes</h2></td></tr>
+<tr class="memitem:a0935ae38d632881a6d6cccb675cb6f27"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0935ae38d632881a6d6cccb675cb6f27"></a>
+rawAllocType </td><td class="memItemRight" valign="bottom"><b>pAlloc</b></td></tr>
+<tr class="separator:a0935ae38d632881a6d6cccb675cb6f27"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a221c0a53496a391c60d2f452fc9d76ae"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a221c0a53496a391c60d2f452fc9d76ae"></a>
+rawFreeType </td><td class="memItemRight" valign="bottom"><b>pFree</b></td></tr>
+<tr class="separator:a221c0a53496a391c60d2f452fc9d76ae"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ac91fffeccd1f4255bbb5719f25785bce"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac91fffeccd1f4255bbb5719f25785bce"></a>
+size_t </td><td class="memItemRight" valign="bottom"><b>granularity</b></td></tr>
+<tr class="separator:ac91fffeccd1f4255bbb5719f25785bce"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aaea7ca6973332913c839073822352046"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aaea7ca6973332913c839073822352046"></a>
+int </td><td class="memItemRight" valign="bottom"><b>version</b></td></tr>
+<tr class="separator:aaea7ca6973332913c839073822352046"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ab00be5199577e8dd87f25c867a488aaf"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab00be5199577e8dd87f25c867a488aaf"></a>
+unsigned </td><td class="memItemRight" valign="bottom"><b>fixedPool</b>: 1</td></tr>
+<tr class="separator:ab00be5199577e8dd87f25c867a488aaf"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:afc2ea43e020580853224fa430736d38a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afc2ea43e020580853224fa430736d38a"></a>
+unsigned </td><td class="memItemRight" valign="bottom"><b>keepAllMemory</b>: 1</td></tr>
+<tr class="separator:afc2ea43e020580853224fa430736d38a"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a2fe8bde7ec5c0f347f5c8e648c92c612"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2fe8bde7ec5c0f347f5c8e648c92c612"></a>
+unsigned </td><td class="memItemRight" valign="bottom"><b>reserved</b>: 30</td></tr>
+<tr class="separator:a2fe8bde7ec5c0f347f5c8e648c92c612"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<hr/>The documentation for this struct was generated from the following file:<ul>
+<li><a class="el" href="a00199.html">scalable_allocator.h</a></li>
+</ul>
+</div><!-- contents -->
+<hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00077.html b/doc/html/a00077.html
index fd1afef..29faa10 100644
--- a/doc/html/a00077.html
+++ b/doc/html/a00077.html
@@ -1,101 +1,78 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::missing_wait Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<h1>tbb::flow::interface6::sequencer_node< T, A > Member List</h1>This is the complete list of members for <a class="el" href="a00340.html">tbb::flow::interface6::sequencer_node< T, A ></a>, including all inherited members.<p><table>
-  <tr class="memlist"><td><a class="el" href="a00275.html#5fe4b79f780586ff66e002ce32a5c60d">buffer_node</a>(graph &g)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00275.html#03ad7b85a8341437f584af06ad050cdc">buffer_node</a>(const buffer_node &src)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>con_res</b> enum value (defined in <a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a>)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [protected]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>enqueue_forwarding_task</b>(buffer_operation &op_data) (defined in <a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a>)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [inline, protected]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>FAILED</b> enum value (defined in <a class="el" href="a00340.html">tbb::flow::interface6::sequencer_node< T, A ></a>)</td><td><a class="el" href="a00340.html">tbb::flow::interface6::sequencer_node< T, A ></a></td><td><code> [protected]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00275.html#8954338d1a7740f9be80455ba27e8eed">forward_task</a>()</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [inline, protected, virtual]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>forwarder_busy</b> (defined in <a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a>)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [protected]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>grab_forwarding_task</b>(buffer_operation &op_data) (defined in <a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a>)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [inline, protected]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>graph_node</b>(graph &g) (defined in <a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a>)</td><td><a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>handle_operations</b>(buffer_operation *op_list) (defined in <a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a>)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [inline, protected, virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00340.html#af629f26832ff4e476e240637a78bc0c">input_type</a> typedef</td><td><a class="el" href="a00340.html">tbb::flow::interface6::sequencer_node< T, A ></a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>internal::aggregating_functor< my_class, buffer_operation ></b> (defined in <a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a>)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [friend]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>internal::broadcast_cache</b> (defined in <a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a>)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [friend]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>internal::forward_task_bypass< buffer_node< T, A > ></b> (defined in <a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a>)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [friend]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>internal::round_robin_cache</b> (defined in <a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a>)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [friend]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>internal::successor_cache</b> (defined in <a class="el" href="a00333.html">tbb::flow::interface6::receiver< T ></a>)</td><td><a class="el" href="a00333.html">tbb::flow::interface6::receiver< T ></a></td><td><code> [friend]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>internal_consume</b>(queue_operation *op) (defined in <a class="el" href="a00325.html">tbb::flow::interface6::queue_node< T, A ></a>)</td><td><a class="el" href="a00325.html">tbb::flow::interface6::queue_node< T, A ></a></td><td><code> [inline, protected, virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00325.html#8eecd6591d7565cbb5b7f1e37bf97979">internal_forward_task</a>(queue_operation *op)</td><td><a class="el" href="a00325.html">tbb::flow::interface6::queue_node< T, A ></a></td><td><code> [inline, protected, virtual]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>internal_pop</b>(queue_operation *op) (defined in <a class="el" href="a00325.html">tbb::flow::interface6::queue_node< T, A ></a>)</td><td><a class="el" href="a00325.html">tbb::flow::interface6::queue_node< T, A ></a></td><td><code> [inline, protected, virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00275.html#df21388252b8963e839dca29d2c67ea5">internal_reg_succ</a>(buffer_operation *op)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [inline, protected, virtual]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>internal_release</b>(buffer_operation *op) (defined in <a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a>)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [inline, protected, virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00275.html#6b6cf76dff80fd679251da93351c1291">internal_rem_succ</a>(buffer_operation *op)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [inline, protected, virtual]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>internal_reserve</b>(queue_operation *op) (defined in <a class="el" href="a00325.html">tbb::flow::interface6::queue_node< T, A ></a>)</td><td><a class="el" href="a00325.html">tbb::flow::interface6::queue_node< T, A ></a></td><td><code> [inline, protected, virtual]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>is_continue_receiver</b>() (defined in <a class="el" href="a00333.html">tbb::flow::interface6::receiver< T ></a>)</td><td><a class="el" href="a00333.html">tbb::flow::interface6::receiver< T ></a></td><td><code> [inline, protected, virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00333.html#3b6d13039c2a8c1e369e5790895b0088">limiter_node</a> class</td><td><a class="el" href="a00333.html">tbb::flow::interface6::receiver< T ></a></td><td><code> [friend]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>my_aggregator</b> (defined in <a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a>)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [protected]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>my_class</b> typedef (defined in <a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a>)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>my_graph</b> (defined in <a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a>)</td><td><a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a></td><td><code> [protected]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>my_handler</b> typedef (defined in <a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a>)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [protected]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>my_parent</b> (defined in <a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a>)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [protected]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>my_successors</b> (defined in <a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a>)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [protected]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>next</b> (defined in <a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a>)</td><td><a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a></td><td><code> [protected]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>op_stat</b> enum name (defined in <a class="el" href="a00340.html">tbb::flow::interface6::sequencer_node< T, A ></a>)</td><td><a class="el" href="a00340.html">tbb::flow::interface6::sequencer_node< T, A ></a></td><td><code> [protected]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>op_type</b> enum name (defined in <a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a>)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [protected]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00340.html#ca026eaef70e35791c407323199031a7">output_type</a> typedef</td><td><a class="el" href="a00340.html">tbb::flow::interface6::sequencer_node< T, A ></a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00340.html#8127e36811832563fe1e9bc3ba391f79">predecessor_type</a> typedef</td><td><a class="el" href="a00340.html">tbb::flow::interface6::sequencer_node< T, A ></a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>prev</b> (defined in <a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a>)</td><td><a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a></td><td><code> [protected]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>put_item</b> enum value (defined in <a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a>)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [protected]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00325.html#c716593a92448b0f429d1f3a38e67996">queue_node</a>(graph &g)</td><td><a class="el" href="a00325.html">tbb::flow::interface6::queue_node< T, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00325.html#0226762d9ebba28311b7b1518d948ab1">queue_node</a>(const queue_node &src)</td><td><a class="el" href="a00325.html">tbb::flow::interface6::queue_node< T, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>queue_operation</b> typedef (defined in <a class="el" href="a00325.html">tbb::flow::interface6::queue_node< T, A ></a>)</td><td><a class="el" href="a00325.html">tbb::flow::interface6::queue_node< T, A ></a></td><td><code> [protected]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>reg_succ</b> enum value (defined in <a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a>)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [protected]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00333.html#30e3316466efe3a713c23062b6e806f3">register_predecessor</a>(predecessor_type &)</td><td><a class="el" href="a00333.html">tbb::flow::interface6::receiver< T ></a></td><td><code> [inline, virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00275.html#f8bf4944ede4fc106423d67715beb695">register_successor</a>(receiver< output_type > &r)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [inline, virtual]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>rel_res</b> enum value (defined in <a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a>)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [protected]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>rem_succ</b> enum value (defined in <a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a>)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [protected]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00333.html#3bc76547b51d3c9b633e3987d22dce95">remove_predecessor</a>(predecessor_type &)</td><td><a class="el" href="a00333.html">tbb::flow::interface6::receiver< T ></a></td><td><code> [inline, virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00275.html#2074da0e39b9477c32897d6e5786196f">remove_successor</a>(receiver< output_type > &r)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [inline, virtual]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>req_item</b> enum value (defined in <a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a>)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [protected]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>res_item</b> enum value (defined in <a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a>)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [protected]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>reset</b>() (defined in <a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a>)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [inline, protected, virtual]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>reset_receiver</b>() (defined in <a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a>)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [inline, protected, virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00275.html#621bab40a858d214db69ef08d88b67c1">run_and_put_task</a> class</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [friend]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00340.html#7e71cbdf78f989091bc162b89bee7e66">sequencer_node</a>(graph &g, const Sequencer &s)</td><td><a class="el" href="a00340.html">tbb::flow::interface6::sequencer_node< T, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00340.html#b38e7a070552960384bcc1d91af13a5c">sequencer_node</a>(const sequencer_node &src)</td><td><a class="el" href="a00340.html">tbb::flow::interface6::sequencer_node< T, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>sequencer_operation</b> typedef (defined in <a class="el" href="a00340.html">tbb::flow::interface6::sequencer_node< T, A ></a>)</td><td><a class="el" href="a00340.html">tbb::flow::interface6::sequencer_node< T, A ></a></td><td><code> [protected]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>size_type</b> typedef (defined in <a class="el" href="a00340.html">tbb::flow::interface6::sequencer_node< T, A ></a>)</td><td><a class="el" href="a00340.html">tbb::flow::interface6::sequencer_node< T, A ></a></td><td><code> [protected]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>SUCCEEDED</b> enum value (defined in <a class="el" href="a00340.html">tbb::flow::interface6::sequencer_node< T, A ></a>)</td><td><a class="el" href="a00340.html">tbb::flow::interface6::sequencer_node< T, A ></a></td><td><code> [protected]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00340.html#795f3ee75f133b9d3b159172fc4a197f">successor_type</a> typedef</td><td><a class="el" href="a00340.html">tbb::flow::interface6::sequencer_node< T, A ></a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00275.html#8ef07c434eb763d947a7b4e80c086a49">try_consume</a>()</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [inline, virtual]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>try_fwd_task</b> enum value (defined in <a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a>)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [protected]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00275.html#aeb8aec46ca99ca022356a792c46735e">try_get</a>(T &v)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [inline, virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00333.html#e1adb4060a7cbac837cd24da57c5a846">try_put</a>(const T &t)</td><td><a class="el" href="a00333.html">tbb::flow::interface6::receiver< T ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00275.html#84d939049fa8c3205aec91ced0980e03">try_put_task</a>(const T &t)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [inline, protected, virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00275.html#2c8e8f2f5f4ff5be27136cc1184a3c3e">try_release</a>()</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [inline, virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00275.html#1cc889bb6c38bcb81757d0ebbc3a5e64">try_reserve</a>(T &v)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [inline, virtual]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>WAIT</b> enum value (defined in <a class="el" href="a00340.html">tbb::flow::interface6::sequencer_node< T, A ></a>)</td><td><a class="el" href="a00340.html">tbb::flow::interface6::sequencer_node< T, A ></a></td><td><code> [protected]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>~buffer_node</b>() (defined in <a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a>)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [inline, virtual]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>~graph_node</b>() (defined in <a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a>)</td><td><a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a></td><td><code> [inline, virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00333.html#b00699b235435f7b65b663d5063624a1">~receiver</a>()</td><td><a class="el" href="a00333.html">tbb::flow::interface6::receiver< T ></a></td><td><code> [inline, virtual]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>~sender</b>() (defined in <a class="el" href="a00339.html">tbb::flow::interface6::sender< T ></a>)</td><td><a class="el" href="a00339.html">tbb::flow::interface6::sender< T ></a></td><td><code> [inline, virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00340.html#93d3d8f6a72b3e1387047282116ed6ee">~sequencer_node</a>()</td><td><a class="el" href="a00340.html">tbb::flow::interface6::sequencer_node< T, A ></a></td><td><code> [inline]</code></td></tr>
-</table><hr>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00077.html">missing_wait</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> |
+<a href="a00300.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::missing_wait Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Exception for missing wait on <a class="el" href="a00133.html">structured_task_group</a>.  
+ <a href="a00077.html#details">More...</a></p>
+
+<p><code>#include <tbb_exception.h></code></p>
+<div class="dynheader">
+Inheritance diagram for tbb::missing_wait:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00077.png" usemap="#tbb::missing_wait_map" alt=""/>
+  <map id="tbb::missing_wait_map" name="tbb::missing_wait_map">
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:abfa0b14450e89cab85092b188ac86fd6"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abfa0b14450e89cab85092b188ac86fd6"></a>
+const char * </td><td class="memItemRight" valign="bottom"><b>what</b> () const   throw ()</td></tr>
+<tr class="separator:abfa0b14450e89cab85092b188ac86fd6"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Exception for missing wait on <a class="el" href="a00133.html">structured_task_group</a>. </p>
+</div><hr/>The documentation for this class was generated from the following file:<ul>
+<li>tbb_exception.h</li>
+</ul>
+</div><!-- contents -->
+<hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00077.png b/doc/html/a00077.png
new file mode 100644
index 0000000..7f9c4b3
Binary files /dev/null and b/doc/html/a00077.png differ
diff --git a/doc/html/a00078.html b/doc/html/a00078.html
index 1c38c0e..0fee0f6 100644
--- a/doc/html/a00078.html
+++ b/doc/html/a00078.html
@@ -1,100 +1,227 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::movable_exception< ExceptionData > Class Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<h1>tbb::flow::interface6::priority_queue_node< T, Compare, A > Member List</h1>This is the complete list of members for <a class="el" href="a00324.html">tbb::flow::interface6::priority_queue_node< T, Compare, A ></a>, including all inherited members.<p><table>
-  <tr bgcolor="#f0f0f0"><td><b>base_type</b> typedef (defined in <a class="el" href="a00324.html">tbb::flow::interface6::priority_queue_node< T, Compare, A ></a>)</td><td><a class="el" href="a00324.html">tbb::flow::interface6::priority_queue_node< T, Compare, A ></a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00275.html#5fe4b79f780586ff66e002ce32a5c60d">buffer_node</a>(graph &g)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00275.html#03ad7b85a8341437f584af06ad050cdc">buffer_node</a>(const buffer_node &src)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>con_res</b> enum value (defined in <a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a>)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [protected]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>enqueue_forwarding_task</b>(buffer_operation &op_data) (defined in <a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a>)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [inline, protected]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>FAILED</b> enum value (defined in <a class="el" href="a00324.html">tbb::flow::interface6::priority_queue_node< T, Compare, A ></a>)</td><td><a class="el" href="a00324.html">tbb::flow::interface6::priority_queue_node< T, Compare, A ></a></td><td><code> [protected]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00275.html#8954338d1a7740f9be80455ba27e8eed">forward_task</a>()</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [inline, protected, virtual]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>forwarder_busy</b> (defined in <a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a>)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [protected]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>grab_forwarding_task</b>(buffer_operation &op_data) (defined in <a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a>)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [inline, protected]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>graph_node</b>(graph &g) (defined in <a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a>)</td><td><a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>handle_operations</b>(prio_operation *op_list) (defined in <a class="el" href="a00324.html">tbb::flow::interface6::priority_queue_node< T, Compare, A ></a>)</td><td><a class="el" href="a00324.html">tbb::flow::interface6::priority_queue_node< T, Compare, A ></a></td><td><code> [inline, protected, virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00324.html#b2829b518979874ad3d2a939e14ae7bd">input_type</a> typedef</td><td><a class="el" href="a00324.html">tbb::flow::interface6::priority_queue_node< T, Compare, A ></a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>internal::aggregating_functor< my_class, buffer_operation ></b> (defined in <a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a>)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [friend]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>internal::broadcast_cache</b> (defined in <a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a>)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [friend]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>internal::forward_task_bypass< buffer_node< T, A > ></b> (defined in <a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a>)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [friend]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>internal::round_robin_cache</b> (defined in <a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a>)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [friend]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>internal::successor_cache</b> (defined in <a class="el" href="a00333.html">tbb::flow::interface6::receiver< T ></a>)</td><td><a class="el" href="a00333.html">tbb::flow::interface6::receiver< T ></a></td><td><code> [friend]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>internal_consume</b>(prio_operation *op) (defined in <a class="el" href="a00324.html">tbb::flow::interface6::priority_queue_node< T, Compare, A ></a>)</td><td><a class="el" href="a00324.html">tbb::flow::interface6::priority_queue_node< T, Compare, A ></a></td><td><code> [inline, protected, virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00324.html#9249c25621a6ee7a741a6b7eac710ba4">internal_forward_task</a>(prio_operation *op)</td><td><a class="el" href="a00324.html">tbb::flow::interface6::priority_queue_node< T, Compare, A ></a></td><td><code> [inline, protected, virtual]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>internal_pop</b>(prio_operation *op) (defined in <a class="el" href="a00324.html">tbb::flow::interface6::priority_queue_node< T, Compare, A ></a>)</td><td><a class="el" href="a00324.html">tbb::flow::interface6::priority_queue_node< T, Compare, A ></a></td><td><code> [inline, protected, virtual]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>internal_push</b>(prio_operation *op) (defined in <a class="el" href="a00324.html">tbb::flow::interface6::priority_queue_node< T, Compare, A ></a>)</td><td><a class="el" href="a00324.html">tbb::flow::interface6::priority_queue_node< T, Compare, A ></a></td><td><code> [inline, protected, virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00275.html#df21388252b8963e839dca29d2c67ea5">internal_reg_succ</a>(buffer_operation *op)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [inline, protected, virtual]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>internal_release</b>(prio_operation *op) (defined in <a class="el" href="a00324.html">tbb::flow::interface6::priority_queue_node< T, Compare, A ></a>)</td><td><a class="el" href="a00324.html">tbb::flow::interface6::priority_queue_node< T, Compare, A ></a></td><td><code> [inline, protected, virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00275.html#6b6cf76dff80fd679251da93351c1291">internal_rem_succ</a>(buffer_operation *op)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [inline, protected, virtual]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>internal_reserve</b>(prio_operation *op) (defined in <a class="el" href="a00324.html">tbb::flow::interface6::priority_queue_node< T, Compare, A ></a>)</td><td><a class="el" href="a00324.html">tbb::flow::interface6::priority_queue_node< T, Compare, A ></a></td><td><code> [inline, protected, virtual]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>is_continue_receiver</b>() (defined in <a class="el" href="a00333.html">tbb::flow::interface6::receiver< T ></a>)</td><td><a class="el" href="a00333.html">tbb::flow::interface6::receiver< T ></a></td><td><code> [inline, protected, virtual]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>item_type</b> typedef (defined in <a class="el" href="a00324.html">tbb::flow::interface6::priority_queue_node< T, Compare, A ></a>)</td><td><a class="el" href="a00324.html">tbb::flow::interface6::priority_queue_node< T, Compare, A ></a></td><td><code> [protected]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00333.html#3b6d13039c2a8c1e369e5790895b0088">limiter_node</a> class</td><td><a class="el" href="a00333.html">tbb::flow::interface6::receiver< T ></a></td><td><code> [friend]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>my_aggregator</b> (defined in <a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a>)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [protected]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>my_class</b> typedef (defined in <a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a>)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>my_graph</b> (defined in <a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a>)</td><td><a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a></td><td><code> [protected]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>my_handler</b> typedef (defined in <a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a>)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [protected]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>my_parent</b> (defined in <a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a>)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [protected]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>my_successors</b> (defined in <a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a>)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [protected]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>next</b> (defined in <a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a>)</td><td><a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a></td><td><code> [protected]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>op_stat</b> enum name (defined in <a class="el" href="a00324.html">tbb::flow::interface6::priority_queue_node< T, Compare, A ></a>)</td><td><a class="el" href="a00324.html">tbb::flow::interface6::priority_queue_node< T, Compare, A ></a></td><td><code> [protected]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>op_type</b> enum name (defined in <a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a>)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [protected]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00324.html#2cb099b590246b6bc93cc15e78c6ee5c">output_type</a> typedef</td><td><a class="el" href="a00324.html">tbb::flow::interface6::priority_queue_node< T, Compare, A ></a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00324.html#fdea783bf9d5a4c98e794ac7e0f84ccf">predecessor_type</a> typedef</td><td><a class="el" href="a00324.html">tbb::flow::interface6::priority_queue_node< T, Compare, A ></a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>prev</b> (defined in <a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a>)</td><td><a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a></td><td><code> [protected]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>prio_operation</b> typedef (defined in <a class="el" href="a00324.html">tbb::flow::interface6::priority_queue_node< T, Compare, A ></a>)</td><td><a class="el" href="a00324.html">tbb::flow::interface6::priority_queue_node< T, Compare, A ></a></td><td><code> [protected]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00324.html#497ec2612615249bf5a294eb1b7b93b3">priority_queue_node</a>(graph &g)</td><td><a class="el" href="a00324.html">tbb::flow::interface6::priority_queue_node< T, Compare, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00324.html#17a4f66e23d54100b64805405e905d62">priority_queue_node</a>(const priority_queue_node &src)</td><td><a class="el" href="a00324.html">tbb::flow::interface6::priority_queue_node< T, Compare, A ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>put_item</b> enum value (defined in <a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a>)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [protected]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>reg_succ</b> enum value (defined in <a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a>)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [protected]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00333.html#30e3316466efe3a713c23062b6e806f3">register_predecessor</a>(predecessor_type &)</td><td><a class="el" href="a00333.html">tbb::flow::interface6::receiver< T ></a></td><td><code> [inline, virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00275.html#f8bf4944ede4fc106423d67715beb695">register_successor</a>(receiver< output_type > &r)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [inline, virtual]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>rel_res</b> enum value (defined in <a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a>)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [protected]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>rem_succ</b> enum value (defined in <a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a>)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [protected]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00333.html#3bc76547b51d3c9b633e3987d22dce95">remove_predecessor</a>(predecessor_type &)</td><td><a class="el" href="a00333.html">tbb::flow::interface6::receiver< T ></a></td><td><code> [inline, virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00275.html#2074da0e39b9477c32897d6e5786196f">remove_successor</a>(receiver< output_type > &r)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [inline, virtual]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>req_item</b> enum value (defined in <a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a>)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [protected]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>res_item</b> enum value (defined in <a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a>)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [protected]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>reset</b>() (defined in <a class="el" href="a00324.html">tbb::flow::interface6::priority_queue_node< T, Compare, A ></a>)</td><td><a class="el" href="a00324.html">tbb::flow::interface6::priority_queue_node< T, Compare, A ></a></td><td><code> [inline, protected, virtual]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>reset_receiver</b>() (defined in <a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a>)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [inline, protected, virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00275.html#621bab40a858d214db69ef08d88b67c1">run_and_put_task</a> class</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [friend]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>size_type</b> typedef (defined in <a class="el" href="a00324.html">tbb::flow::interface6::priority_queue_node< T, Compare, A ></a>)</td><td><a class="el" href="a00324.html">tbb::flow::interface6::priority_queue_node< T, Compare, A ></a></td><td><code> [protected]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>SUCCEEDED</b> enum value (defined in <a class="el" href="a00324.html">tbb::flow::interface6::priority_queue_node< T, Compare, A ></a>)</td><td><a class="el" href="a00324.html">tbb::flow::interface6::priority_queue_node< T, Compare, A ></a></td><td><code> [protected]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00324.html#09ab5064ca8192e68c03da47603e68eb">successor_type</a> typedef</td><td><a class="el" href="a00324.html">tbb::flow::interface6::priority_queue_node< T, Compare, A ></a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00275.html#8ef07c434eb763d947a7b4e80c086a49">try_consume</a>()</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [inline, virtual]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>try_fwd_task</b> enum value (defined in <a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a>)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [protected]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00275.html#aeb8aec46ca99ca022356a792c46735e">try_get</a>(T &v)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [inline, virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00333.html#e1adb4060a7cbac837cd24da57c5a846">try_put</a>(const T &t)</td><td><a class="el" href="a00333.html">tbb::flow::interface6::receiver< T ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00275.html#84d939049fa8c3205aec91ced0980e03">try_put_task</a>(const T &t)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [inline, protected, virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00275.html#2c8e8f2f5f4ff5be27136cc1184a3c3e">try_release</a>()</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [inline, virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00275.html#1cc889bb6c38bcb81757d0ebbc3a5e64">try_reserve</a>(T &v)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [inline, virtual]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>WAIT</b> enum value (defined in <a class="el" href="a00324.html">tbb::flow::interface6::priority_queue_node< T, Compare, A ></a>)</td><td><a class="el" href="a00324.html">tbb::flow::interface6::priority_queue_node< T, Compare, A ></a></td><td><code> [protected]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>~buffer_node</b>() (defined in <a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a>)</td><td><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td><code> [inline, virtual]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>~graph_node</b>() (defined in <a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a>)</td><td><a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a></td><td><code> [inline, virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00333.html#b00699b235435f7b65b663d5063624a1">~receiver</a>()</td><td><a class="el" href="a00333.html">tbb::flow::interface6::receiver< T ></a></td><td><code> [inline, virtual]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>~sender</b>() (defined in <a class="el" href="a00339.html">tbb::flow::interface6::sender< T ></a>)</td><td><a class="el" href="a00339.html">tbb::flow::interface6::sender< T ></a></td><td><code> [inline, virtual]</code></td></tr>
-</table><hr>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00078.html">movable_exception</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> |
+<a href="#pro-attribs">Protected Attributes</a> |
+<a href="a00304.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::movable_exception< ExceptionData > Class Template Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Template that can be used to implement exception that transfers arbitrary ExceptionData to the root thread.  
+ <a href="a00078.html#details">More...</a></p>
+
+<p><code>#include <tbb_exception.h></code></p>
+<div class="dynheader">
+Inheritance diagram for tbb::movable_exception< ExceptionData >:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00078.png" usemap="#tbb::movable_exception< ExceptionData >_map" alt=""/>
+  <map id="tbb::movable_exception< ExceptionData >_map" name="tbb::movable_exception< ExceptionData >_map">
+<area href="a00146.html" title="Interface to be implemented by all exceptions TBB recognizes and propagates across the threads..." alt="tbb::tbb_exception" shape="rect" coords="0,56,248,80"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a785b749022a1e6a7486d315b84bd37e5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a785b749022a1e6a7486d315b84bd37e5"></a>
+ </td><td class="memItemRight" valign="bottom"><b>movable_exception</b> (const ExceptionData &data_)</td></tr>
+<tr class="separator:a785b749022a1e6a7486d315b84bd37e5"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a7be7103edd861653baebbca5aeed5205"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7be7103edd861653baebbca5aeed5205"></a>
+ </td><td class="memItemRight" valign="bottom"><b>movable_exception</b> (const <a class="el" href="a00078.html">movable_exception</a> &src)  throw ()</td></tr>
+<tr class="separator:a7be7103edd861653baebbca5aeed5205"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a35a4bf997b56ea221ae1bd9bb17cd33b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a35a4bf997b56ea221ae1bd9bb17cd33b"></a>
+const <a class="el" href="a00078.html">movable_exception</a> & </td><td class="memItemRight" valign="bottom"><b>operator=</b> (const <a class="el" href="a00078.html">movable_exception</a> &src)</td></tr>
+<tr class="separator:a35a4bf997b56ea221ae1bd9bb17cd33b"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a4eac52bc2a10d4bfcd74ad85c2853740"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4eac52bc2a10d4bfcd74ad85c2853740"></a>
+ExceptionData & </td><td class="memItemRight" valign="bottom"><b>data</b> ()  throw ()</td></tr>
+<tr class="separator:a4eac52bc2a10d4bfcd74ad85c2853740"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a394c11a07cfcd4977327f58362aa1439"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a394c11a07cfcd4977327f58362aa1439"></a>
+const ExceptionData & </td><td class="memItemRight" valign="bottom"><b>data</b> () const   throw ()</td></tr>
+<tr class="separator:a394c11a07cfcd4977327f58362aa1439"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a65dd805ed2424f1d2d0998f5567a9690"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a65dd805ed2424f1d2d0998f5567a9690"></a>
+const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00078.html#a65dd805ed2424f1d2d0998f5567a9690">name</a> () const   throw ()</td></tr>
+<tr class="memdesc:a65dd805ed2424f1d2d0998f5567a9690"><td class="mdescLeft"> </td><td class="mdescRight">Returns RTTI name of the originally intercepted exception. <br/></td></tr>
+<tr class="separator:a65dd805ed2424f1d2d0998f5567a9690"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a41a2a7b61537ecd684bae760366f611c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a41a2a7b61537ecd684bae760366f611c"></a>
+const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00078.html#a41a2a7b61537ecd684bae760366f611c">what</a> () const   throw ()</td></tr>
+<tr class="memdesc:a41a2a7b61537ecd684bae760366f611c"><td class="mdescLeft"> </td><td class="mdescRight">Returns the result of originally intercepted exception's <a class="el" href="a00078.html#a41a2a7b61537ecd684bae760366f611c" title="Returns the result of originally intercepted exception's what() method. ">what()</a> method. <br/></td></tr>
+<tr class="separator:a41a2a7b61537ecd684bae760366f611c"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aeb47d3ac90a1f01fe642b572f6ac519d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00078.html">movable_exception</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00078.html#aeb47d3ac90a1f01fe642b572f6ac519d">move</a> ()  throw ()</td></tr>
+<tr class="memdesc:aeb47d3ac90a1f01fe642b572f6ac519d"><td class="mdescLeft"> </td><td class="mdescRight">Creates and returns pointer to the deep copy of this exception object.  <a href="#aeb47d3ac90a1f01fe642b572f6ac519d">More...</a><br/></td></tr>
+<tr class="separator:aeb47d3ac90a1f01fe642b572f6ac519d"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a02f0401b465690de797face2432d9421"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00078.html#a02f0401b465690de797face2432d9421">destroy</a> ()  throw ()</td></tr>
+<tr class="memdesc:a02f0401b465690de797face2432d9421"><td class="mdescLeft"> </td><td class="mdescRight">Destroys objects created by the <a class="el" href="a00078.html#aeb47d3ac90a1f01fe642b572f6ac519d" title="Creates and returns pointer to the deep copy of this exception object. ">move()</a> method.  <a href="#a02f0401b465690de797face2432d9421">More...</a><br/></td></tr>
+<tr class="separator:a02f0401b465690de797face2432d9421"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a3d1570b53220fbcb45eb81552b57827a"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00078.html#a3d1570b53220fbcb45eb81552b57827a">throw_self</a> ()</td></tr>
+<tr class="memdesc:a3d1570b53220fbcb45eb81552b57827a"><td class="mdescLeft"> </td><td class="mdescRight">Throws this exception object.  <a href="#a3d1570b53220fbcb45eb81552b57827a">More...</a><br/></td></tr>
+<tr class="separator:a3d1570b53220fbcb45eb81552b57827a"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="inherit_header pub_methods_a00146"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00146')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="a00146.html">tbb::tbb_exception</a></td></tr>
+<tr class="memitem:a6a973c37078afedf7d457ff4704bf8cd inherit pub_methods_a00146"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00146.html#a6a973c37078afedf7d457ff4704bf8cd">operator delete</a> (void *p)</td></tr>
+<tr class="separator:a6a973c37078afedf7d457ff4704bf8cd inherit pub_methods_a00146"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
+Protected Attributes</h2></td></tr>
+<tr class="memitem:adba063da80054afe64d5268711084d9b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adba063da80054afe64d5268711084d9b"></a>
+ExceptionData </td><td class="memItemRight" valign="bottom"><a class="el" href="a00078.html#adba063da80054afe64d5268711084d9b">my_exception_data</a></td></tr>
+<tr class="memdesc:adba063da80054afe64d5268711084d9b"><td class="mdescLeft"> </td><td class="mdescRight">User data. <br/></td></tr>
+<tr class="separator:adba063da80054afe64d5268711084d9b"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><h3>template<typename ExceptionData><br/>
+class tbb::movable_exception< ExceptionData ></h3>
+
+<p>Template that can be used to implement exception that transfers arbitrary ExceptionData to the root thread. </p>
+<p>Code using TBB can instantiate this template with an arbitrary ExceptionData type and throw this exception object. Such exceptions are intercepted by the TBB scheduler and delivered to the root thread (). </p>
+<dl class="section see"><dt>See Also</dt><dd><a class="el" href="a00146.html" title="Interface to be implemented by all exceptions TBB recognizes and propagates across the threads...">tbb::tbb_exception</a> </dd></dl>
+</div><h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="a02f0401b465690de797face2432d9421"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename ExceptionData > </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">void <a class="el" href="a00078.html">tbb::movable_exception</a>< ExceptionData >::destroy </td>
+          <td>(</td>
+          <td class="paramname">)</td><td></td>
+          <td></td>
+        </tr>
+        <tr>
+          <td align="right">throw </td><td>(</td><td colspan="2"></td>
+        </tr>
+        <tr>
+          <td align="right"></td><td>)</td><td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Destroys objects created by the <a class="el" href="a00078.html#aeb47d3ac90a1f01fe642b572f6ac519d" title="Creates and returns pointer to the deep copy of this exception object. ">move()</a> method. </p>
+<p>Frees memory and calls destructor for this exception object. Can and must be used only on objects created by the move method. </p>
+
+<p>Implements <a class="el" href="a00146.html#ad3bc09bf78c33f19a0bcdf882fdf9d41">tbb::tbb_exception</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aeb47d3ac90a1f01fe642b572f6ac519d"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename ExceptionData > </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00078.html">movable_exception</a>* <a class="el" href="a00078.html">tbb::movable_exception</a>< ExceptionData >::move </td>
+          <td>(</td>
+          <td class="paramname">)</td><td></td>
+          <td></td>
+        </tr>
+        <tr>
+          <td align="right">throw </td><td>(</td><td colspan="2"></td>
+        </tr>
+        <tr>
+          <td align="right"></td><td>)</td><td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Creates and returns pointer to the deep copy of this exception object. </p>
+<p>Move semantics is allowed. </p>
+
+<p>Implements <a class="el" href="a00146.html#a4bd4ba0d501021013d1473d21b020b69">tbb::tbb_exception</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a3d1570b53220fbcb45eb81552b57827a"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename ExceptionData > </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">void <a class="el" href="a00078.html">tbb::movable_exception</a>< ExceptionData >::throw_self </td>
+          <td>(</td>
+          <td class="paramname">)</td><td></td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Throws this exception object. </p>
+<p>Make sure that if you have several levels of derivation from this interface you implement or override this method on the most derived level. The implementation is as simple as "throw *this;". Failure to do this will result in exception of a base class type being thrown. </p>
+
+<p>Implements <a class="el" href="a00146.html#ae45c08d36c7ec7ae91785da3515a8828">tbb::tbb_exception</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>tbb_exception.h</li>
+</ul>
+</div><!-- contents -->
+<hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00078.png b/doc/html/a00078.png
new file mode 100644
index 0000000..2c2e3fe
Binary files /dev/null and b/doc/html/a00078.png differ
diff --git a/doc/html/a00079.html b/doc/html/a00079.html
index f044a66..f433e8c 100644
--- a/doc/html/a00079.html
+++ b/doc/html/a00079.html
@@ -1,65 +1,127 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::flow::interface7::multifunction_node< Input, Output, graph_buffer_policy, Allocator > Class Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<h1>tbb::flow::interface6::limiter_node< T > Member List</h1>This is the complete list of members for <a class="el" href="a00304.html">tbb::flow::interface6::limiter_node< T ></a>, including all inherited members.<p><table>
-  <tr class="memlist"><td><a class="el" href="a00304.html#a3344b2461966631b6ee34b79fb105c7">decrement</a></td><td><a class="el" href="a00304.html">tbb::flow::interface6::limiter_node< T ></a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>graph_node</b>(graph &g) (defined in <a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a>)</td><td><a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00304.html#035196d3c9240ef041f528ebcde8baa7">input_type</a> typedef</td><td><a class="el" href="a00304.html">tbb::flow::interface6::limiter_node< T ></a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>internal::broadcast_cache</b> (defined in <a class="el" href="a00304.html">tbb::flow::interface6::limiter_node< T ></a>)</td><td><a class="el" href="a00304.html">tbb::flow::interface6::limiter_node< T ></a></td><td><code> [friend]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>internal::decrementer< limiter_node< T > ></b> (defined in <a class="el" href="a00304.html">tbb::flow::interface6::limiter_node< T ></a>)</td><td><a class="el" href="a00304.html">tbb::flow::interface6::limiter_node< T ></a></td><td><code> [friend]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>internal::forward_task_bypass< limiter_node< T > ></b> (defined in <a class="el" href="a00304.html">tbb::flow::interface6::limiter_node< T ></a>)</td><td><a class="el" href="a00304.html">tbb::flow::interface6::limiter_node< T ></a></td><td><code> [friend]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>internal::round_robin_cache</b> (defined in <a class="el" href="a00304.html">tbb::flow::interface6::limiter_node< T ></a>)</td><td><a class="el" href="a00304.html">tbb::flow::interface6::limiter_node< T ></a></td><td><code> [friend]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>internal::successor_cache</b> (defined in <a class="el" href="a00333.html">tbb::flow::interface6::receiver< T ></a>)</td><td><a class="el" href="a00333.html">tbb::flow::interface6::receiver< T ></a></td><td><code> [friend]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>is_continue_receiver</b>() (defined in <a class="el" href="a00333.html">tbb::flow::interface6::receiver< T ></a>)</td><td><a class="el" href="a00333.html">tbb::flow::interface6::receiver< T ></a></td><td><code> [inline, protected, virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00304.html#831b06576f46fe2bf3ed0f86b793c1b2">limiter_node</a>(graph &g, size_t threshold, int num_decrement_predecessors=0)</td><td><a class="el" href="a00304.html">tbb::flow::interface6::limiter_node< T ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00304.html#83d3ab884543b070ee5b345a87f241fa">limiter_node</a>(const limiter_node &src)</td><td><a class="el" href="a00304.html">tbb::flow::interface6::limiter_node< T ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00333.html#3b6d13039c2a8c1e369e5790895b0088">tbb::flow::interface6::receiver::limiter_node</a> class</td><td><a class="el" href="a00333.html">tbb::flow::interface6::receiver< T ></a></td><td><code> [friend]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>my_graph</b> (defined in <a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a>)</td><td><a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a></td><td><code> [protected]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>next</b> (defined in <a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a>)</td><td><a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a></td><td><code> [protected]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00304.html#6e67fc480147c0b88a483b85db6457b0">output_type</a> typedef</td><td><a class="el" href="a00304.html">tbb::flow::interface6::limiter_node< T ></a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00304.html#f89fcf44f38eb33f965ee5362d3e68e9">predecessor_type</a> typedef</td><td><a class="el" href="a00304.html">tbb::flow::interface6::limiter_node< T ></a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>prev</b> (defined in <a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a>)</td><td><a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a></td><td><code> [protected]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00304.html#de70a0e88ce7655d8c14b6af57f7496f">register_predecessor</a>(predecessor_type &src)</td><td><a class="el" href="a00304.html">tbb::flow::interface6::limiter_node< T ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00333.html#30e3316466efe3a713c23062b6e806f3">tbb::flow::interface6::receiver::register_predecessor</a>(predecessor_type &)</td><td><a class="el" href="a00333.html">tbb::flow::interface6::receiver< T ></a></td><td><code> [inline, virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00304.html#c76561d8d871b4769876988a4de12a9b">register_successor</a>(receiver< output_type > &r)</td><td><a class="el" href="a00304.html">tbb::flow::interface6::limiter_node< T ></a></td><td><code> [inline, virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00304.html#c530e7b469454e2340460795f2da3317">remove_predecessor</a>(predecessor_type &src)</td><td><a class="el" href="a00304.html">tbb::flow::interface6::limiter_node< T ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00333.html#3bc76547b51d3c9b633e3987d22dce95">tbb::flow::interface6::receiver::remove_predecessor</a>(predecessor_type &)</td><td><a class="el" href="a00333.html">tbb::flow::interface6::receiver< T ></a></td><td><code> [inline, virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00304.html#275e328063c121b3e506ccef2a825d28">remove_successor</a>(receiver< output_type > &r)</td><td><a class="el" href="a00304.html">tbb::flow::interface6::limiter_node< T ></a></td><td><code> [inline, virtual]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>reset</b>() (defined in <a class="el" href="a00304.html">tbb::flow::interface6::limiter_node< T ></a>)</td><td><a class="el" href="a00304.html">tbb::flow::interface6::limiter_node< T ></a></td><td><code> [inline, protected, virtual]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>reset_receiver</b>() (defined in <a class="el" href="a00304.html">tbb::flow::interface6::limiter_node< T ></a>)</td><td><a class="el" href="a00304.html">tbb::flow::interface6::limiter_node< T ></a></td><td><code> [inline, protected, virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00304.html#621bab40a858d214db69ef08d88b67c1">run_and_put_task</a> class</td><td><a class="el" href="a00304.html">tbb::flow::interface6::limiter_node< T ></a></td><td><code> [friend]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00304.html#e8945e4dd6ea759ff9e4735da13f12ef">successor_type</a> typedef</td><td><a class="el" href="a00304.html">tbb::flow::interface6::limiter_node< T ></a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00339.html#7b840f50da117a0d6848707c1857ea2e">try_consume</a>()</td><td><a class="el" href="a00339.html">tbb::flow::interface6::sender< T ></a></td><td><code> [inline, virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00339.html#922fb56b0aad090b90a98b7d56b76a59">try_get</a>(T &)</td><td><a class="el" href="a00339.html">tbb::flow::interface6::sender< T ></a></td><td><code> [inline, virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00333.html#e1adb4060a7cbac837cd24da57c5a846">try_put</a>(const T &t)</td><td><a class="el" href="a00333.html">tbb::flow::interface6::receiver< T ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00304.html#ca2ff9f3379b8b5a3de2ababbca4a476">try_put_task</a>(const T &t)</td><td><a class="el" href="a00304.html">tbb::flow::interface6::limiter_node< T ></a></td><td><code> [inline, protected, virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00339.html#27036b06d6a91e97007e14f400529199">try_release</a>()</td><td><a class="el" href="a00339.html">tbb::flow::interface6::sender< T ></a></td><td><code> [inline, virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00339.html#02c05b472271db1b68a48ea2618fa72f">try_reserve</a>(T &)</td><td><a class="el" href="a00339.html">tbb::flow::interface6::sender< T ></a></td><td><code> [inline, virtual]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>~graph_node</b>() (defined in <a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a>)</td><td><a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a></td><td><code> [inline, virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00333.html#b00699b235435f7b65b663d5063624a1">~receiver</a>()</td><td><a class="el" href="a00333.html">tbb::flow::interface6::receiver< T ></a></td><td><code> [inline, virtual]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>~sender</b>() (defined in <a class="el" href="a00339.html">tbb::flow::interface6::sender< T ></a>)</td><td><a class="el" href="a00339.html">tbb::flow::interface6::sender< T ></a></td><td><code> [inline, virtual]</code></td></tr>
-</table><hr>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>flow</b></li><li class="navelem"><b>interface7</b></li><li class="navelem"><a class="el" href="a00079.html">multifunction_node</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-types">Public Types</a> |
+<a href="#pub-methods">Public Member Functions</a> |
+<a href="#pro-methods">Protected Member Functions</a> |
+<a href="a00318.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::flow::interface7::multifunction_node< Input, Output, graph_buffer_policy, Allocator > Class Template Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>implements a function node that supports Input -> (set of outputs)  
+ <a href="a00079.html#details">More...</a></p>
+
+<p><code>#include <flow_graph.h></code></p>
+<div class="dynheader">
+Inheritance diagram for tbb::flow::interface7::multifunction_node< Input, Output, graph_buffer_policy, Allocator >:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00079.png" usemap="#tbb::flow::interface7::multifunction_node< Input, Output, graph_buffer_policy, Allocator >_map" alt=""/>
+  <map id="tbb::flow::interface7::multifunction_node< Input, Output, graph_buffer_policy, Allocator >_map" name="tbb::flow::interface7::multifunction_node< Input, Output, graph_buffer_policy, Allocator >_map">
+<area href="a00063.html" title="The base of all graph nodes. " alt="tbb::flow::interface7::graph_node" shape="rect" coords="0,56,914,80"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:a3b656d3448ae8bf5acc58b07c072b3ab"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3b656d3448ae8bf5acc58b07c072b3ab"></a>
+typedef Input </td><td class="memItemRight" valign="bottom"><b>input_type</b></td></tr>
+<tr class="separator:a3b656d3448ae8bf5acc58b07c072b3ab"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a644a4f1eb5056ebae1f0032318b3e99d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a644a4f1eb5056ebae1f0032318b3e99d"></a>
+typedef <br class="typebreak"/>
+internal::wrap_tuple_elements<br class="typebreak"/>
+< N, <br class="typebreak"/>
+internal::multifunction_output, <br class="typebreak"/>
+Output >::type </td><td class="memItemRight" valign="bottom"><b>output_ports_type</b></td></tr>
+<tr class="separator:a644a4f1eb5056ebae1f0032318b3e99d"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a7be5663f3c71c628215860fb97302a5a"><td class="memTemplParams" colspan="2"><a class="anchor" id="a7be5663f3c71c628215860fb97302a5a"></a>
+template<typename Body > </td></tr>
+<tr class="memitem:a7be5663f3c71c628215860fb97302a5a"><td class="memTemplItemLeft" align="right" valign="top"> </td><td class="memTemplItemRight" valign="bottom"><b>multifunction_node</b> (<a class="el" href="a00061.html">graph</a> &g, size_t concurrency, Body body)</td></tr>
+<tr class="separator:a7be5663f3c71c628215860fb97302a5a"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a09d3b9e53a7e2fa3c07a0b7a794556ea"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a09d3b9e53a7e2fa3c07a0b7a794556ea"></a>
+ </td><td class="memItemRight" valign="bottom"><b>multifunction_node</b> (const <a class="el" href="a00079.html">multifunction_node</a> &other)</td></tr>
+<tr class="separator:a09d3b9e53a7e2fa3c07a0b7a794556ea"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:afcc4529e5533d36b6341c83a09502ee9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afcc4529e5533d36b6341c83a09502ee9"></a>
+void </td><td class="memItemRight" valign="bottom"><b>set_name</b> (const char *name)</td></tr>
+<tr class="separator:afcc4529e5533d36b6341c83a09502ee9"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="inherit_header pub_methods_a00063"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00063')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a></td></tr>
+<tr class="memitem:a4badd313105e30f539882276353dcb8e inherit pub_methods_a00063"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4badd313105e30f539882276353dcb8e"></a>
+ </td><td class="memItemRight" valign="bottom"><b>graph_node</b> (<a class="el" href="a00061.html">graph</a> &g)</td></tr>
+<tr class="separator:a4badd313105e30f539882276353dcb8e inherit pub_methods_a00063"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
+Protected Member Functions</h2></td></tr>
+<tr class="memitem:a69010000b837315a6b6f4c9fece42cca"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a69010000b837315a6b6f4c9fece42cca"></a>
+void </td><td class="memItemRight" valign="bottom"><b>reset</b> ()</td></tr>
+<tr class="separator:a69010000b837315a6b6f4c9fece42cca"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
+Additional Inherited Members</h2></td></tr>
+<tr class="inherit_header pro_attribs_a00063"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_a00063')"><img src="closed.png" alt="-"/> Protected Attributes inherited from <a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a></td></tr>
+<tr class="memitem:a1caee1c5677047b05d18b1662ca6fdf8 inherit pro_attribs_a00063"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1caee1c5677047b05d18b1662ca6fdf8"></a>
+<a class="el" href="a00061.html">graph</a> & </td><td class="memItemRight" valign="bottom"><b>my_graph</b></td></tr>
+<tr class="separator:a1caee1c5677047b05d18b1662ca6fdf8 inherit pro_attribs_a00063"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:af48cd0cd4f6e44efc3b353adb55f86a8 inherit pro_attribs_a00063"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af48cd0cd4f6e44efc3b353adb55f86a8"></a>
+<a class="el" href="a00063.html">graph_node</a> * </td><td class="memItemRight" valign="bottom"><b>next</b></td></tr>
+<tr class="separator:af48cd0cd4f6e44efc3b353adb55f86a8 inherit pro_attribs_a00063"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a6917bffc3cb150319679bf2395e68caa inherit pro_attribs_a00063"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6917bffc3cb150319679bf2395e68caa"></a>
+<a class="el" href="a00063.html">graph_node</a> * </td><td class="memItemRight" valign="bottom"><b>prev</b></td></tr>
+<tr class="separator:a6917bffc3cb150319679bf2395e68caa inherit pro_attribs_a00063"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><h3>template<typename Input, typename Output, graph_buffer_policy = queueing, typename Allocator = cache_aligned_allocator<Input>><br/>
+class tbb::flow::interface7::multifunction_node< Input, Output, graph_buffer_policy, Allocator ></h3>
+
+<p>implements a function node that supports Input -> (set of outputs) </p>
+</div><hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="a00179.html">flow_graph.h</a></li>
+</ul>
+</div><!-- contents -->
+<hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00079.png b/doc/html/a00079.png
new file mode 100644
index 0000000..f16eb14
Binary files /dev/null and b/doc/html/a00079.png differ
diff --git a/doc/html/a00080.html b/doc/html/a00080.html
new file mode 100644
index 0000000..c030c22
--- /dev/null
+++ b/doc/html/a00080.html
@@ -0,0 +1,127 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::flow::interface7::multifunction_node< Input, Output, queueing, Allocator > Class Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>flow</b></li><li class="navelem"><b>interface7</b></li><li class="navelem"><a class="el" href="a00080.html">multifunction_node< Input, Output, queueing, Allocator ></a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-types">Public Types</a> |
+<a href="#pub-methods">Public Member Functions</a> |
+<a href="#pro-methods">Protected Member Functions</a> |
+<a href="#pro-static-attribs">Static Protected Attributes</a> |
+<a href="a00319.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::flow::interface7::multifunction_node< Input, Output, queueing, Allocator > Class Template Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="dynheader">
+Inheritance diagram for tbb::flow::interface7::multifunction_node< Input, Output, queueing, Allocator >:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00080.png" usemap="#tbb::flow::interface7::multifunction_node< Input, Output, queueing, Allocator >_map" alt=""/>
+  <map id="tbb::flow::interface7::multifunction_node< Input, Output, queueing, Allocator >_map" name="tbb::flow::interface7::multifunction_node< Input, Output, queueing, Allocator >_map">
+<area href="a00063.html" title="The base of all graph nodes. " alt="tbb::flow::interface7::graph_node" shape="rect" coords="0,56,924,80"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:a3ba06cb25b27e0a818f197e8f24da1d5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3ba06cb25b27e0a818f197e8f24da1d5"></a>
+typedef Input </td><td class="memItemRight" valign="bottom"><b>input_type</b></td></tr>
+<tr class="separator:a3ba06cb25b27e0a818f197e8f24da1d5"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a5727a047ab42213f88c3d2e6d2939aba"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5727a047ab42213f88c3d2e6d2939aba"></a>
+typedef <br class="typebreak"/>
+internal::wrap_tuple_elements<br class="typebreak"/>
+< N, <br class="typebreak"/>
+internal::multifunction_output, <br class="typebreak"/>
+Output >::type </td><td class="memItemRight" valign="bottom"><b>output_ports_type</b></td></tr>
+<tr class="separator:a5727a047ab42213f88c3d2e6d2939aba"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a5c7aca52ec421142f4ab8a20026e7832"><td class="memTemplParams" colspan="2"><a class="anchor" id="a5c7aca52ec421142f4ab8a20026e7832"></a>
+template<typename Body > </td></tr>
+<tr class="memitem:a5c7aca52ec421142f4ab8a20026e7832"><td class="memTemplItemLeft" align="right" valign="top"> </td><td class="memTemplItemRight" valign="bottom"><b>multifunction_node</b> (<a class="el" href="a00061.html">graph</a> &g, size_t concurrency, Body body)</td></tr>
+<tr class="separator:a5c7aca52ec421142f4ab8a20026e7832"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ad27702d05f0e572e767ebda96bcc76f6"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad27702d05f0e572e767ebda96bcc76f6"></a>
+ </td><td class="memItemRight" valign="bottom"><b>multifunction_node</b> (const <a class="el" href="a00079.html">multifunction_node</a> &other)</td></tr>
+<tr class="separator:ad27702d05f0e572e767ebda96bcc76f6"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:acb5cf6fedb110906dd4811ab6f223741"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acb5cf6fedb110906dd4811ab6f223741"></a>
+void </td><td class="memItemRight" valign="bottom"><b>set_name</b> (const char *name)</td></tr>
+<tr class="separator:acb5cf6fedb110906dd4811ab6f223741"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="inherit_header pub_methods_a00063"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00063')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a></td></tr>
+<tr class="memitem:a4badd313105e30f539882276353dcb8e inherit pub_methods_a00063"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4badd313105e30f539882276353dcb8e"></a>
+ </td><td class="memItemRight" valign="bottom"><b>graph_node</b> (<a class="el" href="a00061.html">graph</a> &g)</td></tr>
+<tr class="separator:a4badd313105e30f539882276353dcb8e inherit pub_methods_a00063"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
+Protected Member Functions</h2></td></tr>
+<tr class="memitem:aa45ef86b0eeb9c94c62207b8737969cf"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa45ef86b0eeb9c94c62207b8737969cf"></a>
+void </td><td class="memItemRight" valign="bottom"><b>reset</b> ()</td></tr>
+<tr class="separator:aa45ef86b0eeb9c94c62207b8737969cf"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-static-attribs"></a>
+Static Protected Attributes</h2></td></tr>
+<tr class="memitem:abfe0d66c5fc2d700443c025a6baab799"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abfe0d66c5fc2d700443c025a6baab799"></a>
+static const int </td><td class="memItemRight" valign="bottom"><b>N</b> = tbb::flow::tuple_size<Output>::value</td></tr>
+<tr class="separator:abfe0d66c5fc2d700443c025a6baab799"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
+Additional Inherited Members</h2></td></tr>
+<tr class="inherit_header pro_attribs_a00063"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_a00063')"><img src="closed.png" alt="-"/> Protected Attributes inherited from <a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a></td></tr>
+<tr class="memitem:a1caee1c5677047b05d18b1662ca6fdf8 inherit pro_attribs_a00063"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1caee1c5677047b05d18b1662ca6fdf8"></a>
+<a class="el" href="a00061.html">graph</a> & </td><td class="memItemRight" valign="bottom"><b>my_graph</b></td></tr>
+<tr class="separator:a1caee1c5677047b05d18b1662ca6fdf8 inherit pro_attribs_a00063"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:af48cd0cd4f6e44efc3b353adb55f86a8 inherit pro_attribs_a00063"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af48cd0cd4f6e44efc3b353adb55f86a8"></a>
+<a class="el" href="a00063.html">graph_node</a> * </td><td class="memItemRight" valign="bottom"><b>next</b></td></tr>
+<tr class="separator:af48cd0cd4f6e44efc3b353adb55f86a8 inherit pro_attribs_a00063"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a6917bffc3cb150319679bf2395e68caa inherit pro_attribs_a00063"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6917bffc3cb150319679bf2395e68caa"></a>
+<a class="el" href="a00063.html">graph_node</a> * </td><td class="memItemRight" valign="bottom"><b>prev</b></td></tr>
+<tr class="separator:a6917bffc3cb150319679bf2395e68caa inherit pro_attribs_a00063"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="a00179.html">flow_graph.h</a></li>
+</ul>
+</div><!-- contents -->
+<hr>
+<p></p>
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
+<p></p>
+Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
+registered trademarks or trademarks of Intel Corporation or its
+subsidiaries in the United States and other countries.
+<p></p>
+* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00080.png b/doc/html/a00080.png
new file mode 100644
index 0000000..542e235
Binary files /dev/null and b/doc/html/a00080.png differ
diff --git a/doc/html/a00081.html b/doc/html/a00081.html
new file mode 100644
index 0000000..859319a
--- /dev/null
+++ b/doc/html/a00081.html
@@ -0,0 +1,167 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::mutex Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00081.html">mutex</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Classes</a> |
+<a href="#pub-types">Public Types</a> |
+<a href="#pub-methods">Public Member Functions</a> |
+<a href="#pub-static-attribs">Static Public Attributes</a> |
+<a href="#friends">Friends</a> |
+<a href="a00258.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::mutex Class Reference<div class="ingroups"><a class="el" href="a00237.html">Synchronization</a></div></div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Wrapper around the platform's native reader-writer lock.  
+ <a href="a00081.html#details">More...</a></p>
+
+<p><code>#include <mutex.h></code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Classes</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00116.html">scoped_lock</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">The scoped locking pattern.  <a href="a00116.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:ad35737cbe356d6814f59abba680ab067"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><b>state_t</b> { <b>INITIALIZED</b> =0x1234, 
+<b>DESTROYED</b> =0x789A, 
+<b>HELD</b> =0x56CD
+ }</td></tr>
+<tr class="separator:ad35737cbe356d6814f59abba680ab067"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:abbe0cd12246121753ace00a5a12a90b0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abbe0cd12246121753ace00a5a12a90b0"></a>
+typedef LPCRITICAL_SECTION </td><td class="memItemRight" valign="bottom"><a class="el" href="a00081.html#abbe0cd12246121753ace00a5a12a90b0">native_handle_type</a></td></tr>
+<tr class="memdesc:abbe0cd12246121753ace00a5a12a90b0"><td class="mdescLeft"> </td><td class="mdescRight">Return native_handle. <br/></td></tr>
+<tr class="separator:abbe0cd12246121753ace00a5a12a90b0"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a0d992511dfc6f47295b10eb7fc0813d4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0d992511dfc6f47295b10eb7fc0813d4"></a>
+typedef pthread_mutex_t * </td><td class="memItemRight" valign="bottom"><b>native_handle_type</b></td></tr>
+<tr class="separator:a0d992511dfc6f47295b10eb7fc0813d4"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:ad1b280c954ffc8b8b3e63e4ee4144035"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad1b280c954ffc8b8b3e63e4ee4144035"></a>
+ </td><td class="memItemRight" valign="bottom"><a class="el" href="a00081.html#ad1b280c954ffc8b8b3e63e4ee4144035">mutex</a> ()</td></tr>
+<tr class="memdesc:ad1b280c954ffc8b8b3e63e4ee4144035"><td class="mdescLeft"> </td><td class="mdescRight">Construct unacquired mutex. <br/></td></tr>
+<tr class="separator:ad1b280c954ffc8b8b3e63e4ee4144035"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a95ff02ee699b34696001db4003c11a3a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a95ff02ee699b34696001db4003c11a3a"></a>
+void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00081.html#a95ff02ee699b34696001db4003c11a3a">lock</a> ()</td></tr>
+<tr class="memdesc:a95ff02ee699b34696001db4003c11a3a"><td class="mdescLeft"> </td><td class="mdescRight">Acquire lock. <br/></td></tr>
+<tr class="separator:a95ff02ee699b34696001db4003c11a3a"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a480283933106941125717499f9c5ad42"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00081.html#a480283933106941125717499f9c5ad42">try_lock</a> ()</td></tr>
+<tr class="memdesc:a480283933106941125717499f9c5ad42"><td class="mdescLeft"> </td><td class="mdescRight">Try acquiring lock (non-blocking)  <a href="#a480283933106941125717499f9c5ad42">More...</a><br/></td></tr>
+<tr class="separator:a480283933106941125717499f9c5ad42"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a721eeae7ba16f8b92535f4534b583874"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a721eeae7ba16f8b92535f4534b583874"></a>
+void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00081.html#a721eeae7ba16f8b92535f4534b583874">unlock</a> ()</td></tr>
+<tr class="memdesc:a721eeae7ba16f8b92535f4534b583874"><td class="mdescLeft"> </td><td class="mdescRight">Release lock. <br/></td></tr>
+<tr class="separator:a721eeae7ba16f8b92535f4534b583874"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:af69874d93822c905bdea0ab9e5ca5b89"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af69874d93822c905bdea0ab9e5ca5b89"></a>
+<a class="el" href="a00081.html#abbe0cd12246121753ace00a5a12a90b0">native_handle_type</a> </td><td class="memItemRight" valign="bottom"><b>native_handle</b> ()</td></tr>
+<tr class="separator:af69874d93822c905bdea0ab9e5ca5b89"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a0857c4596d7d5de09fe402ccd41d3e42"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0857c4596d7d5de09fe402ccd41d3e42"></a>
+void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00081.html#a0857c4596d7d5de09fe402ccd41d3e42">set_state</a> (state_t to)</td></tr>
+<tr class="memdesc:a0857c4596d7d5de09fe402ccd41d3e42"><td class="mdescLeft"> </td><td class="mdescRight">Set the internal state. <br/></td></tr>
+<tr class="separator:a0857c4596d7d5de09fe402ccd41d3e42"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-attribs"></a>
+Static Public Attributes</h2></td></tr>
+<tr class="memitem:a2677d672446faa842de9de38b3aff80a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2677d672446faa842de9de38b3aff80a"></a>
+static const bool </td><td class="memItemRight" valign="bottom"><b>is_rw_mutex</b> = false</td></tr>
+<tr class="separator:a2677d672446faa842de9de38b3aff80a"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:adf7e9e11c47cc869d219298232d6c0a1"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adf7e9e11c47cc869d219298232d6c0a1"></a>
+static const bool </td><td class="memItemRight" valign="bottom"><b>is_recursive_mutex</b> = false</td></tr>
+<tr class="separator:adf7e9e11c47cc869d219298232d6c0a1"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ab729ebd784af412184653c4fa90468d0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab729ebd784af412184653c4fa90468d0"></a>
+static const bool </td><td class="memItemRight" valign="bottom"><b>is_fair_mutex</b> = false</td></tr>
+<tr class="separator:ab729ebd784af412184653c4fa90468d0"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
+Friends</h2></td></tr>
+<tr class="memitem:afcf922650b2fd9d76b7b939d8511bbd8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afcf922650b2fd9d76b7b939d8511bbd8"></a>
+class </td><td class="memItemRight" valign="bottom"><b>scoped_lock</b></td></tr>
+<tr class="separator:afcf922650b2fd9d76b7b939d8511bbd8"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Wrapper around the platform's native reader-writer lock. </p>
+<p>For testing purposes only. </p>
+</div><h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="a480283933106941125717499f9c5ad42"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool tbb::mutex::try_lock </td>
+          <td>(</td>
+          <td class="paramname">)</td><td></td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Try acquiring lock (non-blocking) </p>
+<p>Return true if lock acquired; false otherwise. </p>
+
+<p>References <a class="el" href="a00014.html#a3525dbbac0d4eaedfe18bc57b7760857">tbb::aligned_space< T, N >::begin()</a>.</p>
+
+<p>Referenced by <a class="el" href="a00116.html#a46f983371aa852d2427ce69f9a571f78">tbb::mutex::scoped_lock::try_acquire()</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>mutex.h</li>
+</ul>
+</div><!-- contents -->
+<hr>
+<p></p>
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
+<p></p>
+Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
+registered trademarks or trademarks of Intel Corporation or its
+subsidiaries in the United States and other countries.
+<p></p>
+* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00082.html b/doc/html/a00082.html
new file mode 100644
index 0000000..197409e
--- /dev/null
+++ b/doc/html/a00082.html
@@ -0,0 +1,90 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::node Struct Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>interface5</b></li><li class="navelem"><a class="el" href="a00035.html">concurrent_hash_map</a></li><li class="navelem"><a class="el" href="a00082.html">node</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> |
+<a href="#pub-attribs">Public Attributes</a> |
+<a href="a00338.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::node Struct Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="dynheader">
+Inheritance diagram for tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::node:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00082.png" usemap="#tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::node_map" alt=""/>
+  <map id="tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::node_map" name="tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::node_map">
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:ace61f7bd9d097375f6e33fea4758fbf9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ace61f7bd9d097375f6e33fea4758fbf9"></a>
+ </td><td class="memItemRight" valign="bottom"><b>node</b> (const Key &key)</td></tr>
+<tr class="separator:ace61f7bd9d097375f6e33fea4758fbf9"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a6755d387982f27a06d859811699e40b7"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6755d387982f27a06d859811699e40b7"></a>
+ </td><td class="memItemRight" valign="bottom"><b>node</b> (const Key &key, const T &t)</td></tr>
+<tr class="separator:a6755d387982f27a06d859811699e40b7"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a15b3c8955eb1b104db439e9caf3737c3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a15b3c8955eb1b104db439e9caf3737c3"></a>
+void * </td><td class="memItemRight" valign="bottom"><b>operator new</b> (size_t, node_allocator_type &a)</td></tr>
+<tr class="separator:a15b3c8955eb1b104db439e9caf3737c3"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aa3115742612b79db574914741f2fff45"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa3115742612b79db574914741f2fff45"></a>
+void </td><td class="memItemRight" valign="bottom"><b>operator delete</b> (void *ptr, node_allocator_type &a)</td></tr>
+<tr class="separator:aa3115742612b79db574914741f2fff45"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
+Public Attributes</h2></td></tr>
+<tr class="memitem:a6977520eaa2f1dee220f726c8a884b46"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6977520eaa2f1dee220f726c8a884b46"></a>
+value_type </td><td class="memItemRight" valign="bottom"><b>item</b></td></tr>
+<tr class="separator:a6977520eaa2f1dee220f726c8a884b46"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<hr/>The documentation for this struct was generated from the following file:<ul>
+<li>concurrent_hash_map.h</li>
+</ul>
+</div><!-- contents -->
+<hr>
+<p></p>
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
+<p></p>
+Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
+registered trademarks or trademarks of Intel Corporation or its
+subsidiaries in the United States and other countries.
+<p></p>
+* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00082.png b/doc/html/a00082.png
new file mode 100644
index 0000000..b914379
Binary files /dev/null and b/doc/html/a00082.png differ
diff --git a/doc/html/a00083.html b/doc/html/a00083.html
new file mode 100644
index 0000000..2eadc07
--- /dev/null
+++ b/doc/html/a00083.html
@@ -0,0 +1,87 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::null_mutex Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00083.html">null_mutex</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Classes</a> |
+<a href="#pub-static-attribs">Static Public Attributes</a> |
+<a href="a00260.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::null_mutex Class Reference<div class="ingroups"><a class="el" href="a00237.html">Synchronization</a></div></div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>A mutex which does nothing.  
+ <a href="a00083.html#details">More...</a></p>
+
+<p><code>#include <null_mutex.h></code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Classes</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00115.html">scoped_lock</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Represents acquisition of a mutex.  <a href="a00115.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-attribs"></a>
+Static Public Attributes</h2></td></tr>
+<tr class="memitem:a20ed8301299d9ec166588401269d1788"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a20ed8301299d9ec166588401269d1788"></a>
+static const bool </td><td class="memItemRight" valign="bottom"><b>is_rw_mutex</b> = false</td></tr>
+<tr class="separator:a20ed8301299d9ec166588401269d1788"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a49bd7f5da83382e39f898d06cbf0e23e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a49bd7f5da83382e39f898d06cbf0e23e"></a>
+static const bool </td><td class="memItemRight" valign="bottom"><b>is_recursive_mutex</b> = true</td></tr>
+<tr class="separator:a49bd7f5da83382e39f898d06cbf0e23e"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ae4684b268ff379a69cd1fe93718ee7fc"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae4684b268ff379a69cd1fe93718ee7fc"></a>
+static const bool </td><td class="memItemRight" valign="bottom"><b>is_fair_mutex</b> = true</td></tr>
+<tr class="separator:ae4684b268ff379a69cd1fe93718ee7fc"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>A mutex which does nothing. </p>
+<p>A <a class="el" href="a00083.html" title="A mutex which does nothing. ">null_mutex</a> does no operation and simulates success. </p>
+</div><hr/>The documentation for this class was generated from the following file:<ul>
+<li>null_mutex.h</li>
+</ul>
+</div><!-- contents -->
+<hr>
+<p></p>
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
+<p></p>
+Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
+registered trademarks or trademarks of Intel Corporation or its
+subsidiaries in the United States and other countries.
+<p></p>
+* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00084.html b/doc/html/a00084.html
index a9b812f..f920503 100644
--- a/doc/html/a00084.html
+++ b/doc/html/a00084.html
@@ -1,50 +1,84 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::null_rw_mutex Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<h1>tbb::interface6::memory_pool_allocator< T, P > Member List</h1>This is the complete list of members for <a class="el" href="a00308.html">tbb::interface6::memory_pool_allocator< T, P ></a>, including all inherited members.<p><table>
-  <tr bgcolor="#f0f0f0"><td><b>address</b>(reference x) const  (defined in <a class="el" href="a00308.html">tbb::interface6::memory_pool_allocator< T, P ></a>)</td><td><a class="el" href="a00308.html">tbb::interface6::memory_pool_allocator< T, P ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>address</b>(const_reference x) const  (defined in <a class="el" href="a00308.html">tbb::interface6::memory_pool_allocator< T, P ></a>)</td><td><a class="el" href="a00308.html">tbb::interface6::memory_pool_allocator< T, P ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00308.html#365bd64d284c80d85bb2149a12681526">allocate</a>(size_type n, const void *=0)</td><td><a class="el" href="a00308.html">tbb::interface6::memory_pool_allocator< T, P ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>const_pointer</b> typedef (defined in <a class="el" href="a00308.html">tbb::interface6::memory_pool_allocator< T, P ></a>)</td><td><a class="el" href="a00308.html">tbb::interface6::memory_pool_allocator< T, P ></a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>const_reference</b> typedef (defined in <a class="el" href="a00308.html">tbb::interface6::memory_pool_allocator< T, P ></a>)</td><td><a class="el" href="a00308.html">tbb::interface6::memory_pool_allocator< T, P ></a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00308.html#c6d3fa3032bf5d4be841729d7893e26d">construct</a>(U *p, Args &&...args)</td><td><a class="el" href="a00308.html">tbb::interface6::memory_pool_allocator< T, P ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00308.html#4e24a03de38638af07548383024c54ab">deallocate</a>(pointer p, size_type)</td><td><a class="el" href="a00308.html">tbb::interface6::memory_pool_allocator< T, P ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>difference_type</b> typedef (defined in <a class="el" href="a00308.html">tbb::interface6::memory_pool_allocator< T, P ></a>)</td><td><a class="el" href="a00308.html">tbb::interface6::memory_pool_allocator< T, P ></a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00308.html#beebdb6144df8ba219fadfad4de866ea">max_size</a>() const </td><td><a class="el" href="a00308.html">tbb::interface6::memory_pool_allocator< T, P ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>memory_pool_allocator</b> (defined in <a class="el" href="a00308.html">tbb::interface6::memory_pool_allocator< T, P ></a>)</td><td><a class="el" href="a00308.html">tbb::interface6::memory_pool_allocator< T, P ></a></td><td><code> [friend]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>memory_pool_allocator</b>(pool_type &pool) (defined in <a class="el" href="a00308.html">tbb::interface6::memory_pool_allocator< T, P ></a>)</td><td><a class="el" href="a00308.html">tbb::interface6::memory_pool_allocator< T, P ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>memory_pool_allocator</b>(const memory_pool_allocator &src) (defined in <a class="el" href="a00308.html">tbb::interface6::memory_pool_allocator< T, P ></a>)</td><td><a class="el" href="a00308.html">tbb::interface6::memory_pool_allocator< T, P ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>memory_pool_allocator</b>(const memory_pool_allocator< U, P > &src) (defined in <a class="el" href="a00308.html">tbb::interface6::memory_pool_allocator< T, P ></a>)</td><td><a class="el" href="a00308.html">tbb::interface6::memory_pool_allocator< T, P ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>my_pool</b> (defined in <a class="el" href="a00308.html">tbb::interface6::memory_pool_allocator< T, P ></a>)</td><td><a class="el" href="a00308.html">tbb::interface6::memory_pool_allocator< T, P ></a></td><td><code> [protected]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>operator!=</b> (defined in <a class="el" href="a00308.html">tbb::interface6::memory_pool_allocator< T, P ></a>)</td><td><a class="el" href="a00308.html">tbb::interface6::memory_pool_allocator< T, P ></a></td><td><code> [friend]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>operator==</b> (defined in <a class="el" href="a00308.html">tbb::interface6::memory_pool_allocator< T, P ></a>)</td><td><a class="el" href="a00308.html">tbb::interface6::memory_pool_allocator< T, P ></a></td><td><code> [friend]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>pointer</b> typedef (defined in <a class="el" href="a00308.html">tbb::interface6::memory_pool_allocator< T, P ></a>)</td><td><a class="el" href="a00308.html">tbb::interface6::memory_pool_allocator< T, P ></a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>pool_type</b> typedef (defined in <a class="el" href="a00308.html">tbb::interface6::memory_pool_allocator< T, P ></a>)</td><td><a class="el" href="a00308.html">tbb::interface6::memory_pool_allocator< T, P ></a></td><td><code> [protected]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>reference</b> typedef (defined in <a class="el" href="a00308.html">tbb::interface6::memory_pool_allocator< T, P ></a>)</td><td><a class="el" href="a00308.html">tbb::interface6::memory_pool_allocator< T, P ></a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>size_type</b> typedef (defined in <a class="el" href="a00308.html">tbb::interface6::memory_pool_allocator< T, P ></a>)</td><td><a class="el" href="a00308.html">tbb::interface6::memory_pool_allocator< T, P ></a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>value_type</b> typedef (defined in <a class="el" href="a00308.html">tbb::interface6::memory_pool_allocator< T, P ></a>)</td><td><a class="el" href="a00308.html">tbb::interface6::memory_pool_allocator< T, P ></a></td><td></td></tr>
-</table><hr>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00084.html">null_rw_mutex</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Classes</a> |
+<a href="#pub-static-attribs">Static Public Attributes</a> |
+<a href="a00262.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::null_rw_mutex Class Reference<div class="ingroups"><a class="el" href="a00237.html">Synchronization</a></div></div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>A rw mutex which does nothing.  
+ <a href="a00084.html#details">More...</a></p>
+
+<p><code>#include <null_rw_mutex.h></code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Classes</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00117.html">scoped_lock</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Represents acquisition of a mutex.  <a href="a00117.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-attribs"></a>
+Static Public Attributes</h2></td></tr>
+<tr class="memitem:a2a676977ac67532f5f35f849ec7eac8c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2a676977ac67532f5f35f849ec7eac8c"></a>
+static const bool </td><td class="memItemRight" valign="bottom"><b>is_rw_mutex</b> = true</td></tr>
+<tr class="separator:a2a676977ac67532f5f35f849ec7eac8c"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ab153992db6e44aee96ce8c1b2d495c94"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab153992db6e44aee96ce8c1b2d495c94"></a>
+static const bool </td><td class="memItemRight" valign="bottom"><b>is_recursive_mutex</b> = true</td></tr>
+<tr class="separator:ab153992db6e44aee96ce8c1b2d495c94"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ab8500b8a645b1c03221fd1fb4156fa78"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab8500b8a645b1c03221fd1fb4156fa78"></a>
+static const bool </td><td class="memItemRight" valign="bottom"><b>is_fair_mutex</b> = true</td></tr>
+<tr class="separator:ab8500b8a645b1c03221fd1fb4156fa78"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>A rw mutex which does nothing. </p>
+<p>A <a class="el" href="a00084.html" title="A rw mutex which does nothing. ">null_rw_mutex</a> is a rw mutex that does nothing and simulates successful operation. </p>
+</div><hr/>The documentation for this class was generated from the following file:<ul>
+<li>null_rw_mutex.h</li>
+</ul>
+</div><!-- contents -->
+<hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00085.html b/doc/html/a00085.html
new file mode 100644
index 0000000..0bec958
--- /dev/null
+++ b/doc/html/a00085.html
@@ -0,0 +1,94 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::flow::interface7::or_node< InputTuple > Class Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>flow</b></li><li class="navelem"><b>interface7</b></li><li class="navelem"><a class="el" href="a00085.html">or_node</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-types">Public Types</a> |
+<a href="#pub-methods">Public Member Functions</a> |
+<a href="a00333.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::flow::interface7::or_node< InputTuple > Class Template Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="dynheader">
+Inheritance diagram for tbb::flow::interface7::or_node< InputTuple >:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00085.png" usemap="#tbb::flow::interface7::or_node< InputTuple >_map" alt=""/>
+  <map id="tbb::flow::interface7::or_node< InputTuple >_map" name="tbb::flow::interface7::or_node< InputTuple >_map">
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:aec79143ef25b72dfedaa6e1a92c78ffb"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aec79143ef25b72dfedaa6e1a92c78ffb"></a>
+typedef <br class="typebreak"/>
+internal::or_output_type<br class="typebreak"/>
+< InputTuple >::type </td><td class="memItemRight" valign="bottom"><b>output_type</b></td></tr>
+<tr class="separator:aec79143ef25b72dfedaa6e1a92c78ffb"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a45cc4429c83e39c3cba8b74199cac3a7"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a45cc4429c83e39c3cba8b74199cac3a7"></a>
+typedef <br class="typebreak"/>
+internal::unfolded_or_node<br class="typebreak"/>
+< InputTuple > </td><td class="memItemRight" valign="bottom"><b>unfolded_type</b></td></tr>
+<tr class="separator:a45cc4429c83e39c3cba8b74199cac3a7"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a6ee438b034f5617a192d2f2820323fa5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6ee438b034f5617a192d2f2820323fa5"></a>
+ </td><td class="memItemRight" valign="bottom"><b>or_node</b> (<a class="el" href="a00061.html">graph</a> &g)</td></tr>
+<tr class="separator:a6ee438b034f5617a192d2f2820323fa5"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a20bbd3dd16102cdcf2507600a6cd0e8e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a20bbd3dd16102cdcf2507600a6cd0e8e"></a>
+ </td><td class="memItemRight" valign="bottom"><b>or_node</b> (const <a class="el" href="a00085.html">or_node</a> &other)</td></tr>
+<tr class="separator:a20bbd3dd16102cdcf2507600a6cd0e8e"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a6b0cbf50f926b0b293c4faeaab55c26d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6b0cbf50f926b0b293c4faeaab55c26d"></a>
+void </td><td class="memItemRight" valign="bottom"><b>set_name</b> (const char *name)</td></tr>
+<tr class="separator:a6b0cbf50f926b0b293c4faeaab55c26d"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="a00179.html">flow_graph.h</a></li>
+</ul>
+</div><!-- contents -->
+<hr>
+<p></p>
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
+<p></p>
+Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
+registered trademarks or trademarks of Intel Corporation or its
+subsidiaries in the United States and other countries.
+<p></p>
+* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00085.png b/doc/html/a00085.png
new file mode 100644
index 0000000..c79e0af
Binary files /dev/null and b/doc/html/a00085.png differ
diff --git a/doc/html/a00086.html b/doc/html/a00086.html
index e5ce873..e13e69b 100644
--- a/doc/html/a00086.html
+++ b/doc/html/a00086.html
@@ -1,40 +1,227 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::flow::interface7::overwrite_node< T > Class Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<h1>tbb::interface6::memory_pool_allocator< void, P > Member List</h1>This is the complete list of members for <a class="el" href="a00309.html">tbb::interface6::memory_pool_allocator< void, P ></a>, including all inherited members.<p><table>
-  <tr bgcolor="#f0f0f0"><td><b>const_pointer</b> typedef (defined in <a class="el" href="a00309.html">tbb::interface6::memory_pool_allocator< void, P ></a>)</td><td><a class="el" href="a00309.html">tbb::interface6::memory_pool_allocator< void, P ></a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>memory_pool_allocator</b> (defined in <a class="el" href="a00309.html">tbb::interface6::memory_pool_allocator< void, P ></a>)</td><td><a class="el" href="a00309.html">tbb::interface6::memory_pool_allocator< void, P ></a></td><td><code> [friend]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>memory_pool_allocator</b>(pool_type &pool) (defined in <a class="el" href="a00309.html">tbb::interface6::memory_pool_allocator< void, P ></a>)</td><td><a class="el" href="a00309.html">tbb::interface6::memory_pool_allocator< void, P ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>memory_pool_allocator</b>(const memory_pool_allocator &src) (defined in <a class="el" href="a00309.html">tbb::interface6::memory_pool_allocator< void, P ></a>)</td><td><a class="el" href="a00309.html">tbb::interface6::memory_pool_allocator< void, P ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>memory_pool_allocator</b>(const memory_pool_allocator< U, P > &src) (defined in <a class="el" href="a00309.html">tbb::interface6::memory_pool_allocator< void, P ></a>)</td><td><a class="el" href="a00309.html">tbb::interface6::memory_pool_allocator< void, P ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>my_pool</b> (defined in <a class="el" href="a00309.html">tbb::interface6::memory_pool_allocator< void, P ></a>)</td><td><a class="el" href="a00309.html">tbb::interface6::memory_pool_allocator< void, P ></a></td><td><code> [protected]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>operator!=</b> (defined in <a class="el" href="a00309.html">tbb::interface6::memory_pool_allocator< void, P ></a>)</td><td><a class="el" href="a00309.html">tbb::interface6::memory_pool_allocator< void, P ></a></td><td><code> [friend]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>operator==</b> (defined in <a class="el" href="a00309.html">tbb::interface6::memory_pool_allocator< void, P ></a>)</td><td><a class="el" href="a00309.html">tbb::interface6::memory_pool_allocator< void, P ></a></td><td><code> [friend]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>pointer</b> typedef (defined in <a class="el" href="a00309.html">tbb::interface6::memory_pool_allocator< void, P ></a>)</td><td><a class="el" href="a00309.html">tbb::interface6::memory_pool_allocator< void, P ></a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>pool_type</b> typedef (defined in <a class="el" href="a00309.html">tbb::interface6::memory_pool_allocator< void, P ></a>)</td><td><a class="el" href="a00309.html">tbb::interface6::memory_pool_allocator< void, P ></a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>value_type</b> typedef (defined in <a class="el" href="a00309.html">tbb::interface6::memory_pool_allocator< void, P ></a>)</td><td><a class="el" href="a00309.html">tbb::interface6::memory_pool_allocator< void, P ></a></td><td></td></tr>
-</table><hr>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>flow</b></li><li class="navelem"><b>interface7</b></li><li class="navelem"><a class="el" href="a00086.html">overwrite_node</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-types">Public Types</a> |
+<a href="#pub-methods">Public Member Functions</a> |
+<a href="#pro-methods">Protected Member Functions</a> |
+<a href="#pro-attribs">Protected Attributes</a> |
+<a href="#friends">Friends</a> |
+<a href="a00322.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::flow::interface7::overwrite_node< T > Class Template Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="dynheader">
+Inheritance diagram for tbb::flow::interface7::overwrite_node< T >:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00086.png" usemap="#tbb::flow::interface7::overwrite_node< T >_map" alt=""/>
+  <map id="tbb::flow::interface7::overwrite_node< T >_map" name="tbb::flow::interface7::overwrite_node< T >_map">
+<area href="a00063.html" title="The base of all graph nodes. " alt="tbb::flow::interface7::graph_node" shape="rect" coords="0,56,255,80"/>
+<area href="a00106.html" title="Pure virtual template class that defines a receiver of messages of type T. " alt="tbb::flow::interface7::receiver< T >" shape="rect" coords="265,56,520,80"/>
+<area href="a00124.html" title="Pure virtual template class that defines a sender of messages of type T. " alt="tbb::flow::interface7::sender< T >" shape="rect" coords="530,56,785,80"/>
+<area href="a00159.html" alt="tbb::flow::interface7::write_once_node< T >" shape="rect" coords="265,168,520,192"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:a0a8edb9abd1842cb9a1f00574a85c5c3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0a8edb9abd1842cb9a1f00574a85c5c3"></a>
+typedef T </td><td class="memItemRight" valign="bottom"><b>input_type</b></td></tr>
+<tr class="separator:a0a8edb9abd1842cb9a1f00574a85c5c3"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:acaa2a72c0275a503c72c59b7b1b107a7"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acaa2a72c0275a503c72c59b7b1b107a7"></a>
+typedef T </td><td class="memItemRight" valign="bottom"><b>output_type</b></td></tr>
+<tr class="separator:acaa2a72c0275a503c72c59b7b1b107a7"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ae3c9152237c0355406644f8bdd423db9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae3c9152237c0355406644f8bdd423db9"></a>
+typedef <a class="el" href="a00124.html">sender</a>< <a class="el" href="a00106.html#a16eccc851b858604344bb8f1bb9eedc8">input_type</a> > </td><td class="memItemRight" valign="bottom"><b>predecessor_type</b></td></tr>
+<tr class="separator:ae3c9152237c0355406644f8bdd423db9"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a3840465efc064f51b88f55bf12cd8526"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3840465efc064f51b88f55bf12cd8526"></a>
+typedef <a class="el" href="a00106.html">receiver</a>< <a class="el" href="a00124.html#add86fddf72758d8e5b05b07650c6eeed">output_type</a> > </td><td class="memItemRight" valign="bottom"><b>successor_type</b></td></tr>
+<tr class="separator:a3840465efc064f51b88f55bf12cd8526"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="inherit_header pub_types_a00106"><td colspan="2" onclick="javascript:toggleInherit('pub_types_a00106')"><img src="closed.png" alt="-"/> Public Types inherited from <a class="el" href="a00106.html">tbb::flow::interface7::receiver< T ></a></td></tr>
+<tr class="memitem:a16eccc851b858604344bb8f1bb9eedc8 inherit pub_types_a00106"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a16eccc851b858604344bb8f1bb9eedc8"></a>
+typedef T </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#a16eccc851b858604344bb8f1bb9eedc8">input_type</a></td></tr>
+<tr class="memdesc:a16eccc851b858604344bb8f1bb9eedc8 inherit pub_types_a00106"><td class="mdescLeft"> </td><td class="mdescRight">The input type of this receiver. <br/></td></tr>
+<tr class="separator:a16eccc851b858604344bb8f1bb9eedc8 inherit pub_types_a00106"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:afbadf5511bd568d283040cd88bd4e81e inherit pub_types_a00106"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afbadf5511bd568d283040cd88bd4e81e"></a>
+typedef <a class="el" href="a00124.html">sender</a>< T > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#afbadf5511bd568d283040cd88bd4e81e">predecessor_type</a></td></tr>
+<tr class="memdesc:afbadf5511bd568d283040cd88bd4e81e inherit pub_types_a00106"><td class="mdescLeft"> </td><td class="mdescRight">The predecessor type for this node. <br/></td></tr>
+<tr class="separator:afbadf5511bd568d283040cd88bd4e81e inherit pub_types_a00106"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="inherit_header pub_types_a00124"><td colspan="2" onclick="javascript:toggleInherit('pub_types_a00124')"><img src="closed.png" alt="-"/> Public Types inherited from <a class="el" href="a00124.html">tbb::flow::interface7::sender< T ></a></td></tr>
+<tr class="memitem:add86fddf72758d8e5b05b07650c6eeed inherit pub_types_a00124"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="add86fddf72758d8e5b05b07650c6eeed"></a>
+typedef T </td><td class="memItemRight" valign="bottom"><a class="el" href="a00124.html#add86fddf72758d8e5b05b07650c6eeed">output_type</a></td></tr>
+<tr class="memdesc:add86fddf72758d8e5b05b07650c6eeed inherit pub_types_a00124"><td class="mdescLeft"> </td><td class="mdescRight">The output type of this sender. <br/></td></tr>
+<tr class="separator:add86fddf72758d8e5b05b07650c6eeed inherit pub_types_a00124"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a7779627063a29d4d2a1fc905a5cae8db inherit pub_types_a00124"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7779627063a29d4d2a1fc905a5cae8db"></a>
+typedef <a class="el" href="a00106.html">receiver</a>< T > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00124.html#a7779627063a29d4d2a1fc905a5cae8db">successor_type</a></td></tr>
+<tr class="memdesc:a7779627063a29d4d2a1fc905a5cae8db inherit pub_types_a00124"><td class="mdescLeft"> </td><td class="mdescRight">The successor type for this node. <br/></td></tr>
+<tr class="separator:a7779627063a29d4d2a1fc905a5cae8db inherit pub_types_a00124"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a8e0fdb38848772d2e8f93f55e062d148"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8e0fdb38848772d2e8f93f55e062d148"></a>
+ </td><td class="memItemRight" valign="bottom"><b>overwrite_node</b> (<a class="el" href="a00061.html">graph</a> &g)</td></tr>
+<tr class="separator:a8e0fdb38848772d2e8f93f55e062d148"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a2605cf9efc94c3cba2c59cb5c59e8f19"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2605cf9efc94c3cba2c59cb5c59e8f19"></a>
+ </td><td class="memItemRight" valign="bottom"><b>overwrite_node</b> (const <a class="el" href="a00086.html">overwrite_node</a> &src)</td></tr>
+<tr class="separator:a2605cf9efc94c3cba2c59cb5c59e8f19"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a584b012e5f6a786799b23df4cbd5dba5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a584b012e5f6a786799b23df4cbd5dba5"></a>
+void </td><td class="memItemRight" valign="bottom"><b>set_name</b> (const char *name)</td></tr>
+<tr class="separator:a584b012e5f6a786799b23df4cbd5dba5"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aed811ce5f59a555396c7bcd56316b4da"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aed811ce5f59a555396c7bcd56316b4da"></a>
+bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00086.html#aed811ce5f59a555396c7bcd56316b4da">register_successor</a> (<a class="el" href="a00124.html#a7779627063a29d4d2a1fc905a5cae8db">successor_type</a> &s)</td></tr>
+<tr class="memdesc:aed811ce5f59a555396c7bcd56316b4da"><td class="mdescLeft"> </td><td class="mdescRight">Add a new successor to this node. <br/></td></tr>
+<tr class="separator:aed811ce5f59a555396c7bcd56316b4da"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ab5ff89d56e2e3c3848d84a09c88b1d52"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab5ff89d56e2e3c3848d84a09c88b1d52"></a>
+bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00086.html#ab5ff89d56e2e3c3848d84a09c88b1d52">remove_successor</a> (<a class="el" href="a00124.html#a7779627063a29d4d2a1fc905a5cae8db">successor_type</a> &s)</td></tr>
+<tr class="memdesc:ab5ff89d56e2e3c3848d84a09c88b1d52"><td class="mdescLeft"> </td><td class="mdescRight">Removes a successor from this node. <br/></td></tr>
+<tr class="separator:ab5ff89d56e2e3c3848d84a09c88b1d52"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a575642eb611ca4e2012df5604634d341"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a575642eb611ca4e2012df5604634d341"></a>
+bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00086.html#a575642eb611ca4e2012df5604634d341">try_get</a> (T &v)</td></tr>
+<tr class="memdesc:a575642eb611ca4e2012df5604634d341"><td class="mdescLeft"> </td><td class="mdescRight">Request an item from the sender. <br/></td></tr>
+<tr class="separator:a575642eb611ca4e2012df5604634d341"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a3bf01d9c754667474fdb47e47df470a9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3bf01d9c754667474fdb47e47df470a9"></a>
+bool </td><td class="memItemRight" valign="bottom"><b>is_valid</b> ()</td></tr>
+<tr class="separator:a3bf01d9c754667474fdb47e47df470a9"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a4d950320406a8c819882ea50d918678a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4d950320406a8c819882ea50d918678a"></a>
+void </td><td class="memItemRight" valign="bottom"><b>clear</b> ()</td></tr>
+<tr class="separator:a4d950320406a8c819882ea50d918678a"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="inherit_header pub_methods_a00063"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00063')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a></td></tr>
+<tr class="memitem:a4badd313105e30f539882276353dcb8e inherit pub_methods_a00063"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4badd313105e30f539882276353dcb8e"></a>
+ </td><td class="memItemRight" valign="bottom"><b>graph_node</b> (<a class="el" href="a00061.html">graph</a> &g)</td></tr>
+<tr class="separator:a4badd313105e30f539882276353dcb8e inherit pub_methods_a00063"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="inherit_header pub_methods_a00106"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00106')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="a00106.html">tbb::flow::interface7::receiver< T ></a></td></tr>
+<tr class="memitem:a733889a9053478ef2fb2528e2205bf07 inherit pub_methods_a00106"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a733889a9053478ef2fb2528e2205bf07"></a>
+virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#a733889a9053478ef2fb2528e2205bf07">~receiver</a> ()</td></tr>
+<tr class="memdesc:a733889a9053478ef2fb2528e2205bf07 inherit pub_methods_a00106"><td class="mdescLeft"> </td><td class="mdescRight">Destructor. <br/></td></tr>
+<tr class="separator:a733889a9053478ef2fb2528e2205bf07 inherit pub_methods_a00106"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aee5067bb4f4b71ffa786c1b33cb9aa6a inherit pub_methods_a00106"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aee5067bb4f4b71ffa786c1b33cb9aa6a"></a>
+bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#aee5067bb4f4b71ffa786c1b33cb9aa6a">try_put</a> (const T &t)</td></tr>
+<tr class="memdesc:aee5067bb4f4b71ffa786c1b33cb9aa6a inherit pub_methods_a00106"><td class="mdescLeft"> </td><td class="mdescRight">Put an item to the receiver. <br/></td></tr>
+<tr class="separator:aee5067bb4f4b71ffa786c1b33cb9aa6a inherit pub_methods_a00106"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a16427aa709505de93ffe0d79136e4251 inherit pub_methods_a00106"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a16427aa709505de93ffe0d79136e4251"></a>
+virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#a16427aa709505de93ffe0d79136e4251">register_predecessor</a> (<a class="el" href="a00106.html#afbadf5511bd568d283040cd88bd4e81e">predecessor_type</a> &)</td></tr>
+<tr class="memdesc:a16427aa709505de93ffe0d79136e4251 inherit pub_methods_a00106"><td class="mdescLeft"> </td><td class="mdescRight">Add a predecessor to the node. <br/></td></tr>
+<tr class="separator:a16427aa709505de93ffe0d79136e4251 inherit pub_methods_a00106"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a55adae6228bbdc1539695e1ec20e9762 inherit pub_methods_a00106"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a55adae6228bbdc1539695e1ec20e9762"></a>
+virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#a55adae6228bbdc1539695e1ec20e9762">remove_predecessor</a> (<a class="el" href="a00106.html#afbadf5511bd568d283040cd88bd4e81e">predecessor_type</a> &)</td></tr>
+<tr class="memdesc:a55adae6228bbdc1539695e1ec20e9762 inherit pub_methods_a00106"><td class="mdescLeft"> </td><td class="mdescRight">Remove a predecessor from the node. <br/></td></tr>
+<tr class="separator:a55adae6228bbdc1539695e1ec20e9762 inherit pub_methods_a00106"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="inherit_header pub_methods_a00124"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00124')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="a00124.html">tbb::flow::interface7::sender< T ></a></td></tr>
+<tr class="memitem:aa1b9dcf77ab558530ff93a706b4c4b5d inherit pub_methods_a00124"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa1b9dcf77ab558530ff93a706b4c4b5d"></a>
+virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00124.html#aa1b9dcf77ab558530ff93a706b4c4b5d">try_reserve</a> (T &)</td></tr>
+<tr class="memdesc:aa1b9dcf77ab558530ff93a706b4c4b5d inherit pub_methods_a00124"><td class="mdescLeft"> </td><td class="mdescRight">Reserves an item in the sender. <br/></td></tr>
+<tr class="separator:aa1b9dcf77ab558530ff93a706b4c4b5d inherit pub_methods_a00124"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a97ac316ddfb6bd7c7f2f56e3e819a30a inherit pub_methods_a00124"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a97ac316ddfb6bd7c7f2f56e3e819a30a"></a>
+virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00124.html#a97ac316ddfb6bd7c7f2f56e3e819a30a">try_release</a> ()</td></tr>
+<tr class="memdesc:a97ac316ddfb6bd7c7f2f56e3e819a30a inherit pub_methods_a00124"><td class="mdescLeft"> </td><td class="mdescRight">Releases the reserved item. <br/></td></tr>
+<tr class="separator:a97ac316ddfb6bd7c7f2f56e3e819a30a inherit pub_methods_a00124"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ad404d5218c7ae2556261ffa880cdf804 inherit pub_methods_a00124"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad404d5218c7ae2556261ffa880cdf804"></a>
+virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00124.html#ad404d5218c7ae2556261ffa880cdf804">try_consume</a> ()</td></tr>
+<tr class="memdesc:ad404d5218c7ae2556261ffa880cdf804 inherit pub_methods_a00124"><td class="mdescLeft"> </td><td class="mdescRight">Consumes the reserved item. <br/></td></tr>
+<tr class="separator:ad404d5218c7ae2556261ffa880cdf804 inherit pub_methods_a00124"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
+Protected Member Functions</h2></td></tr>
+<tr class="memitem:a883f71d87767df7f0a7ae9393a2632f6"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a883f71d87767df7f0a7ae9393a2632f6"></a>
+task * </td><td class="memItemRight" valign="bottom"><b>try_put_task</b> (const T &v)</td></tr>
+<tr class="separator:a883f71d87767df7f0a7ae9393a2632f6"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a465ce685bc8c468389442a9aaef3f7d0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a465ce685bc8c468389442a9aaef3f7d0"></a>
+void </td><td class="memItemRight" valign="bottom"><b>reset</b> ()</td></tr>
+<tr class="separator:a465ce685bc8c468389442a9aaef3f7d0"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a953be19f0623ad2e5a4e52707cba00da"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a953be19f0623ad2e5a4e52707cba00da"></a>
+void </td><td class="memItemRight" valign="bottom"><b>reset_receiver</b> ()</td></tr>
+<tr class="separator:a953be19f0623ad2e5a4e52707cba00da"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="inherit_header pro_methods_a00106"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_a00106')"><img src="closed.png" alt="-"/> Protected Member Functions inherited from <a class="el" href="a00106.html">tbb::flow::interface7::receiver< T ></a></td></tr>
+<tr class="memitem:ae91eab3e06d4139ac38f143c74fe9eab inherit pro_methods_a00106"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae91eab3e06d4139ac38f143c74fe9eab"></a>
+virtual bool </td><td class="memItemRight" valign="bottom"><b>is_continue_receiver</b> ()</td></tr>
+<tr class="separator:ae91eab3e06d4139ac38f143c74fe9eab inherit pro_methods_a00106"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
+Protected Attributes</h2></td></tr>
+<tr class="memitem:ad8d534d5d059f91b82c4aef9235aa9f6"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad8d534d5d059f91b82c4aef9235aa9f6"></a>
+<a class="el" href="a00127.html">spin_mutex</a> </td><td class="memItemRight" valign="bottom"><b>my_mutex</b></td></tr>
+<tr class="separator:ad8d534d5d059f91b82c4aef9235aa9f6"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a024db18a1019452d3d715e9913fb2deb"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a024db18a1019452d3d715e9913fb2deb"></a>
+<a class="el" href="a00024.html">internal::broadcast_cache</a>< T, <br class="typebreak"/>
+<a class="el" href="a00084.html">null_rw_mutex</a> > </td><td class="memItemRight" valign="bottom"><b>my_successors</b></td></tr>
+<tr class="separator:a024db18a1019452d3d715e9913fb2deb"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a01a061a8c4938ce031017a57935db54b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a01a061a8c4938ce031017a57935db54b"></a>
+T </td><td class="memItemRight" valign="bottom"><b>my_buffer</b></td></tr>
+<tr class="separator:a01a061a8c4938ce031017a57935db54b"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:afbf79aaedd9459ed382823d8d85d0bfc"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afbf79aaedd9459ed382823d8d85d0bfc"></a>
+bool </td><td class="memItemRight" valign="bottom"><b>my_buffer_is_valid</b></td></tr>
+<tr class="separator:afbf79aaedd9459ed382823d8d85d0bfc"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="inherit_header pro_attribs_a00063"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_a00063')"><img src="closed.png" alt="-"/> Protected Attributes inherited from <a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a></td></tr>
+<tr class="memitem:a1caee1c5677047b05d18b1662ca6fdf8 inherit pro_attribs_a00063"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1caee1c5677047b05d18b1662ca6fdf8"></a>
+<a class="el" href="a00061.html">graph</a> & </td><td class="memItemRight" valign="bottom"><b>my_graph</b></td></tr>
+<tr class="separator:a1caee1c5677047b05d18b1662ca6fdf8 inherit pro_attribs_a00063"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:af48cd0cd4f6e44efc3b353adb55f86a8 inherit pro_attribs_a00063"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af48cd0cd4f6e44efc3b353adb55f86a8"></a>
+<a class="el" href="a00063.html">graph_node</a> * </td><td class="memItemRight" valign="bottom"><b>next</b></td></tr>
+<tr class="separator:af48cd0cd4f6e44efc3b353adb55f86a8 inherit pro_attribs_a00063"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a6917bffc3cb150319679bf2395e68caa inherit pro_attribs_a00063"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6917bffc3cb150319679bf2395e68caa"></a>
+<a class="el" href="a00063.html">graph_node</a> * </td><td class="memItemRight" valign="bottom"><b>prev</b></td></tr>
+<tr class="separator:a6917bffc3cb150319679bf2395e68caa inherit pro_attribs_a00063"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
+Friends</h2></td></tr>
+<tr class="memitem:abaf9bf74ca5f2854d09f5f07337280eb"><td class="memTemplParams" colspan="2"><a class="anchor" id="abaf9bf74ca5f2854d09f5f07337280eb"></a>
+template<typename R , typename B > </td></tr>
+<tr class="memitem:abaf9bf74ca5f2854d09f5f07337280eb"><td class="memTemplItemLeft" align="right" valign="top">class </td><td class="memTemplItemRight" valign="bottom"><b>run_and_put_task</b></td></tr>
+<tr class="separator:abaf9bf74ca5f2854d09f5f07337280eb"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a1360e38efe396058978cf3754ad620f5"><td class="memTemplParams" colspan="2"><a class="anchor" id="a1360e38efe396058978cf3754ad620f5"></a>
+template<typename X , typename Y > </td></tr>
+<tr class="memitem:a1360e38efe396058978cf3754ad620f5"><td class="memTemplItemLeft" align="right" valign="top">class </td><td class="memTemplItemRight" valign="bottom"><b>internal::broadcast_cache</b></td></tr>
+<tr class="separator:a1360e38efe396058978cf3754ad620f5"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:acbd9ac2610587a99cd7d43344297cc49"><td class="memTemplParams" colspan="2"><a class="anchor" id="acbd9ac2610587a99cd7d43344297cc49"></a>
+template<typename X , typename Y > </td></tr>
+<tr class="memitem:acbd9ac2610587a99cd7d43344297cc49"><td class="memTemplItemLeft" align="right" valign="top">class </td><td class="memTemplItemRight" valign="bottom"><b>internal::round_robin_cache</b></td></tr>
+<tr class="separator:acbd9ac2610587a99cd7d43344297cc49"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="a00179.html">flow_graph.h</a></li>
+</ul>
+</div><!-- contents -->
+<hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00086.png b/doc/html/a00086.png
new file mode 100644
index 0000000..f2d7752
Binary files /dev/null and b/doc/html/a00086.png differ
diff --git a/doc/html/a00087.html b/doc/html/a00087.html
new file mode 100644
index 0000000..a6f59e1
--- /dev/null
+++ b/doc/html/a00087.html
@@ -0,0 +1,99 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::parallel_do_feeder< Item > Class Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00087.html">parallel_do_feeder</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> |
+<a href="#friends">Friends</a> |
+<a href="a00264.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::parallel_do_feeder< Item > Class Template Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Class the user supplied algorithm body uses to add new tasks.  
+ <a href="a00087.html#details">More...</a></p>
+
+<p><code>#include <parallel_do.h></code></p>
+<div class="dynheader">
+Inheritance diagram for tbb::parallel_do_feeder< Item >:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00087.png" usemap="#tbb::parallel_do_feeder< Item >_map" alt=""/>
+  <map id="tbb::parallel_do_feeder< Item >_map" name="tbb::parallel_do_feeder< Item >_map">
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:ac095c6b1a32e9c0be010aa32875d7a63"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac095c6b1a32e9c0be010aa32875d7a63"></a>
+void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00087.html#ac095c6b1a32e9c0be010aa32875d7a63">add</a> (const Item &item)</td></tr>
+<tr class="memdesc:ac095c6b1a32e9c0be010aa32875d7a63"><td class="mdescLeft"> </td><td class="mdescRight">Add a work item to a running parallel_do. <br/></td></tr>
+<tr class="separator:ac095c6b1a32e9c0be010aa32875d7a63"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
+Friends</h2></td></tr>
+<tr class="memitem:ae5c8cc31bc27b79377687e3de76f480e"><td class="memTemplParams" colspan="2"><a class="anchor" id="ae5c8cc31bc27b79377687e3de76f480e"></a>
+template<typename Body_ , typename Item_ > </td></tr>
+<tr class="memitem:ae5c8cc31bc27b79377687e3de76f480e"><td class="memTemplItemLeft" align="right" valign="top">class </td><td class="memTemplItemRight" valign="bottom"><b>internal::parallel_do_feeder_impl</b></td></tr>
+<tr class="separator:ae5c8cc31bc27b79377687e3de76f480e"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><h3>template<typename Item><br/>
+class tbb::parallel_do_feeder< Item ></h3>
+
+<p>Class the user supplied algorithm body uses to add new tasks. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">Item</td><td>Work item type </td></tr>
+  </table>
+  </dd>
+</dl>
+</div><hr/>The documentation for this class was generated from the following file:<ul>
+<li>parallel_do.h</li>
+</ul>
+</div><!-- contents -->
+<hr>
+<p></p>
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
+<p></p>
+Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
+registered trademarks or trademarks of Intel Corporation or its
+subsidiaries in the United States and other countries.
+<p></p>
+* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00087.png b/doc/html/a00087.png
new file mode 100644
index 0000000..742cad9
Binary files /dev/null and b/doc/html/a00087.png differ
diff --git a/doc/html/a00088.html b/doc/html/a00088.html
index c86937e..cc0e7ae 100644
--- a/doc/html/a00088.html
+++ b/doc/html/a00088.html
@@ -1,31 +1,162 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::parallel_while< Body > Class Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<h1>tbb::interface6::memory_pool< Alloc > Member List</h1>This is the complete list of members for <a class="el" href="a00307.html">tbb::interface6::memory_pool< Alloc ></a>, including all inherited members.<p><table>
-  <tr class="memlist"><td><a class="el" href="a00307.html#2822528265718a4c779591fc37c02ca8">memory_pool</a>(const Alloc &src=Alloc())</td><td><a class="el" href="a00307.html">tbb::interface6::memory_pool< Alloc ></a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00307.html#fdad7c4ed08332ec384491a71b721957">~memory_pool</a>()</td><td><a class="el" href="a00307.html">tbb::interface6::memory_pool< Alloc ></a></td><td><code> [inline]</code></td></tr>
-</table><hr>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00088.html">parallel_while</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-types">Public Types</a> |
+<a href="#pub-methods">Public Member Functions</a> |
+<a href="a00267.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::parallel_while< Body > Class Template Reference<div class="ingroups"><a class="el" href="a00234.html">Algorithms</a></div></div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Parallel iteration over a stream, with optional addition of more work.  
+ <a href="a00088.html#details">More...</a></p>
+
+<p><code>#include <parallel_while.h></code></p>
+<div class="dynheader">
+Inheritance diagram for tbb::parallel_while< Body >:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00088.png" usemap="#tbb::parallel_while< Body >_map" alt=""/>
+  <map id="tbb::parallel_while< Body >_map" name="tbb::parallel_while< Body >_map">
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:a2442f019427e608d46801376267e44a8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2442f019427e608d46801376267e44a8"></a>
+typedef Body::argument_type </td><td class="memItemRight" valign="bottom"><a class="el" href="a00088.html#a2442f019427e608d46801376267e44a8">value_type</a></td></tr>
+<tr class="memdesc:a2442f019427e608d46801376267e44a8"><td class="mdescLeft"> </td><td class="mdescRight">Type of items. <br/></td></tr>
+<tr class="separator:a2442f019427e608d46801376267e44a8"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a220a7307358aa36802c8754ea45ca385"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a220a7307358aa36802c8754ea45ca385"></a>
+ </td><td class="memItemRight" valign="bottom"><a class="el" href="a00088.html#a220a7307358aa36802c8754ea45ca385">parallel_while</a> ()</td></tr>
+<tr class="memdesc:a220a7307358aa36802c8754ea45ca385"><td class="mdescLeft"> </td><td class="mdescRight">Construct empty non-running parallel while. <br/></td></tr>
+<tr class="separator:a220a7307358aa36802c8754ea45ca385"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ac2fd559c8a38639fa1ba97a0d5639ca8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac2fd559c8a38639fa1ba97a0d5639ca8"></a>
+ </td><td class="memItemRight" valign="bottom"><a class="el" href="a00088.html#ac2fd559c8a38639fa1ba97a0d5639ca8">~parallel_while</a> ()</td></tr>
+<tr class="memdesc:ac2fd559c8a38639fa1ba97a0d5639ca8"><td class="mdescLeft"> </td><td class="mdescRight">Destructor cleans up data members before returning. <br/></td></tr>
+<tr class="separator:ac2fd559c8a38639fa1ba97a0d5639ca8"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a20607ba5faa958144787d980aa850c16"><td class="memTemplParams" colspan="2">template<typename Stream > </td></tr>
+<tr class="memitem:a20607ba5faa958144787d980aa850c16"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00088.html#a20607ba5faa958144787d980aa850c16">run</a> (Stream &stream, const Body &body)</td></tr>
+<tr class="memdesc:a20607ba5faa958144787d980aa850c16"><td class="mdescLeft"> </td><td class="mdescRight">Apply body.apply to each item in the stream.  <a href="#a20607ba5faa958144787d980aa850c16">More...</a><br/></td></tr>
+<tr class="separator:a20607ba5faa958144787d980aa850c16"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a4861989d7f5e3111d264d4d6013e8fe1"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00088.html#a4861989d7f5e3111d264d4d6013e8fe1">add</a> (const <a class="el" href="a00088.html#a2442f019427e608d46801376267e44a8">value_type</a> &item)</td></tr>
+<tr class="memdesc:a4861989d7f5e3111d264d4d6013e8fe1"><td class="mdescLeft"> </td><td class="mdescRight">Add a work item while running.  <a href="#a4861989d7f5e3111d264d4d6013e8fe1">More...</a><br/></td></tr>
+<tr class="separator:a4861989d7f5e3111d264d4d6013e8fe1"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><h3>template<typename Body><br/>
+class tbb::parallel_while< Body ></h3>
+
+<p>Parallel iteration over a stream, with optional addition of more work. </p>
+<p>The Body b has the requirement: <br/>
+ "b(v)" <br/>
+ "b.argument_type" <br/>
+ where v is an argument_type </p>
+</div><h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="a4861989d7f5e3111d264d4d6013e8fe1"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename Body > </div>
+      <table class="memname">
+        <tr>
+          <td class="memname">void <a class="el" href="a00088.html">tbb::parallel_while</a>< Body >::add </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="a00088.html#a2442f019427e608d46801376267e44a8">value_type</a> & </td>
+          <td class="paramname"><em>item</em>)</td><td></td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Add a work item while running. </p>
+<p>Should be executed only by body.apply or a thread spawned therefrom. </p>
+
+</div>
+</div>
+<a class="anchor" id="a20607ba5faa958144787d980aa850c16"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename Body > </div>
+<div class="memtemplate">
+template<typename Stream > </div>
+      <table class="memname">
+        <tr>
+          <td class="memname">void <a class="el" href="a00088.html">tbb::parallel_while</a>< Body >::run </td>
+          <td>(</td>
+          <td class="paramtype">Stream & </td>
+          <td class="paramname"><em>stream</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const Body & </td>
+          <td class="paramname"><em>body</em> </td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Apply body.apply to each item in the stream. </p>
+<p>A Stream s has the requirements <br/>
+ "S::value_type" <br/>
+ "s.pop_if_present(value) is convertible to bool </p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>parallel_while.h</li>
+</ul>
+</div><!-- contents -->
+<hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00088.png b/doc/html/a00088.png
new file mode 100644
index 0000000..fc86480
Binary files /dev/null and b/doc/html/a00088.png differ
diff --git a/doc/html/a00089.html b/doc/html/a00089.html
new file mode 100644
index 0000000..114276d
--- /dev/null
+++ b/doc/html/a00089.html
@@ -0,0 +1,139 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::pipeline Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00089.html">pipeline</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> |
+<a href="#friends">Friends</a> |
+<a href="a00270.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::pipeline Class Reference<div class="ingroups"><a class="el" href="a00234.html">Algorithms</a></div></div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>A processing pipeline that applies filters to items.  
+ <a href="a00089.html#details">More...</a></p>
+
+<p><code>#include <pipeline.h></code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:afe7b7bd9b2617c2b69170675a478b2bd"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afe7b7bd9b2617c2b69170675a478b2bd"></a>
+__TBB_EXPORTED_METHOD </td><td class="memItemRight" valign="bottom"><a class="el" href="a00089.html#afe7b7bd9b2617c2b69170675a478b2bd">pipeline</a> ()</td></tr>
+<tr class="memdesc:afe7b7bd9b2617c2b69170675a478b2bd"><td class="mdescLeft"> </td><td class="mdescRight">Construct empty pipeline. <br/></td></tr>
+<tr class="separator:afe7b7bd9b2617c2b69170675a478b2bd"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ac3a7b33217b3f3bb0682ec3a40fd2c39"><td class="memItemLeft" align="right" valign="top">virtual __TBB_EXPORTED_METHOD </td><td class="memItemRight" valign="bottom"><a class="el" href="a00089.html#ac3a7b33217b3f3bb0682ec3a40fd2c39">~pipeline</a> ()</td></tr>
+<tr class="separator:ac3a7b33217b3f3bb0682ec3a40fd2c39"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a8eb83014bd53b184e0ed50f120ca310b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8eb83014bd53b184e0ed50f120ca310b"></a>
+void __TBB_EXPORTED_METHOD </td><td class="memItemRight" valign="bottom"><a class="el" href="a00089.html#a8eb83014bd53b184e0ed50f120ca310b">add_filter</a> (<a class="el" href="a00053.html">filter</a> &filter_)</td></tr>
+<tr class="memdesc:a8eb83014bd53b184e0ed50f120ca310b"><td class="mdescLeft"> </td><td class="mdescRight">Add filter to end of pipeline. <br/></td></tr>
+<tr class="separator:a8eb83014bd53b184e0ed50f120ca310b"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ac9ee9080cfc080c40a7ee7cb03a62637"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac9ee9080cfc080c40a7ee7cb03a62637"></a>
+void __TBB_EXPORTED_METHOD </td><td class="memItemRight" valign="bottom"><a class="el" href="a00089.html#ac9ee9080cfc080c40a7ee7cb03a62637">run</a> (size_t max_number_of_live_tokens)</td></tr>
+<tr class="memdesc:ac9ee9080cfc080c40a7ee7cb03a62637"><td class="mdescLeft"> </td><td class="mdescRight">Run the pipeline to completion. <br/></td></tr>
+<tr class="separator:ac9ee9080cfc080c40a7ee7cb03a62637"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a270dba81f7dd9935be7f3d69db907ff4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a270dba81f7dd9935be7f3d69db907ff4"></a>
+void __TBB_EXPORTED_METHOD </td><td class="memItemRight" valign="bottom"><a class="el" href="a00089.html#a270dba81f7dd9935be7f3d69db907ff4">run</a> (size_t max_number_of_live_tokens, <a class="el" href="a00138.html">tbb::task_group_context</a> &context)</td></tr>
+<tr class="memdesc:a270dba81f7dd9935be7f3d69db907ff4"><td class="mdescLeft"> </td><td class="mdescRight">Run the pipeline to completion with user-supplied context. <br/></td></tr>
+<tr class="separator:a270dba81f7dd9935be7f3d69db907ff4"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ae53edbda1771eeaa254d78ae6100a762"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae53edbda1771eeaa254d78ae6100a762"></a>
+void __TBB_EXPORTED_METHOD </td><td class="memItemRight" valign="bottom"><a class="el" href="a00089.html#ae53edbda1771eeaa254d78ae6100a762">clear</a> ()</td></tr>
+<tr class="memdesc:ae53edbda1771eeaa254d78ae6100a762"><td class="mdescLeft"> </td><td class="mdescRight">Remove all filters from the pipeline. <br/></td></tr>
+<tr class="separator:ae53edbda1771eeaa254d78ae6100a762"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
+Friends</h2></td></tr>
+<tr class="memitem:a88bd11ed4d74f6de43a7d3b0bc05f2c3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a88bd11ed4d74f6de43a7d3b0bc05f2c3"></a>
+class </td><td class="memItemRight" valign="bottom"><b>internal::stage_task</b></td></tr>
+<tr class="separator:a88bd11ed4d74f6de43a7d3b0bc05f2c3"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aa6f9dcf41617866d7bf0e72d8efc11e7"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa6f9dcf41617866d7bf0e72d8efc11e7"></a>
+class </td><td class="memItemRight" valign="bottom"><b>internal::pipeline_root_task</b></td></tr>
+<tr class="separator:aa6f9dcf41617866d7bf0e72d8efc11e7"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:adcddbbe2df37193795a145ef8aac7954"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adcddbbe2df37193795a145ef8aac7954"></a>
+class </td><td class="memItemRight" valign="bottom"><b>filter</b></td></tr>
+<tr class="separator:adcddbbe2df37193795a145ef8aac7954"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ab4463cf8612c362ee109224e45fad104"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab4463cf8612c362ee109224e45fad104"></a>
+class </td><td class="memItemRight" valign="bottom"><b>thread_bound_filter</b></td></tr>
+<tr class="separator:ab4463cf8612c362ee109224e45fad104"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a39b28579343dc2cdb67fe3fbffe731a8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a39b28579343dc2cdb67fe3fbffe731a8"></a>
+class </td><td class="memItemRight" valign="bottom"><b>internal::pipeline_cleaner</b></td></tr>
+<tr class="separator:a39b28579343dc2cdb67fe3fbffe731a8"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a0307e203ca37529138734040c3881a35"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0307e203ca37529138734040c3881a35"></a>
+class </td><td class="memItemRight" valign="bottom"><b>tbb::interface6::internal::pipeline_proxy</b></td></tr>
+<tr class="separator:a0307e203ca37529138734040c3881a35"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>A processing pipeline that applies filters to items. </p>
+</div><h2 class="groupheader">Constructor & Destructor Documentation</h2>
+<a class="anchor" id="ac3a7b33217b3f3bb0682ec3a40fd2c39"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual __TBB_EXPORTED_METHOD tbb::pipeline::~pipeline </td>
+          <td>(</td>
+          <td class="paramname">)</td><td></td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<p>Though the current implementation declares the destructor virtual, do not rely on this detail. The virtualness is deprecated and may disappear in future versions of TBB. </p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>pipeline.h</li>
+</ul>
+</div><!-- contents -->
+<hr>
+<p></p>
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
+<p></p>
+Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
+registered trademarks or trademarks of Intel Corporation or its
+subsidiaries in the United States and other countries.
+<p></p>
+* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00090.html b/doc/html/a00090.html
index a386356..08400b8 100644
--- a/doc/html/a00090.html
+++ b/doc/html/a00090.html
@@ -1,46 +1,70 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::pre_scan_tag Struct Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<h1>tbb::mutex Member List</h1>This is the complete list of members for <a class="el" href="a00313.html">tbb::mutex</a>, including all inherited members.<p><table>
-  <tr bgcolor="#f0f0f0"><td><b>DESTROYED</b> enum value (defined in <a class="el" href="a00313.html">tbb::mutex</a>)</td><td><a class="el" href="a00313.html">tbb::mutex</a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>HELD</b> enum value (defined in <a class="el" href="a00313.html">tbb::mutex</a>)</td><td><a class="el" href="a00313.html">tbb::mutex</a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>INITIALIZED</b> enum value (defined in <a class="el" href="a00313.html">tbb::mutex</a>)</td><td><a class="el" href="a00313.html">tbb::mutex</a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>is_fair_mutex</b> (defined in <a class="el" href="a00313.html">tbb::mutex</a>)</td><td><a class="el" href="a00313.html">tbb::mutex</a></td><td><code> [static]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>is_recursive_mutex</b> (defined in <a class="el" href="a00313.html">tbb::mutex</a>)</td><td><a class="el" href="a00313.html">tbb::mutex</a></td><td><code> [static]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>is_rw_mutex</b> (defined in <a class="el" href="a00313.html">tbb::mutex</a>)</td><td><a class="el" href="a00313.html">tbb::mutex</a></td><td><code> [static]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00313.html#4470e61c24c129a0299ca6c17240adbb">lock</a>()</td><td><a class="el" href="a00313.html">tbb::mutex</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00313.html#05313cb77d4f85213103d4dab74ed454">mutex</a>()</td><td><a class="el" href="a00313.html">tbb::mutex</a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>native_handle</b>() (defined in <a class="el" href="a00313.html">tbb::mutex</a>)</td><td><a class="el" href="a00313.html">tbb::mutex</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00313.html#9f1ec84d5815263ceae853f06ddb4cac">native_handle_type</a> typedef</td><td><a class="el" href="a00313.html">tbb::mutex</a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>native_handle_type</b> typedef (defined in <a class="el" href="a00313.html">tbb::mutex</a>)</td><td><a class="el" href="a00313.html">tbb::mutex</a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>scoped_lock</b> (defined in <a class="el" href="a00313.html">tbb::mutex</a>)</td><td><a class="el" href="a00313.html">tbb::mutex</a></td><td><code> [friend]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00313.html#795649a185b0d6af6dc81c5f378616dd">set_state</a>(state_t to)</td><td><a class="el" href="a00313.html">tbb::mutex</a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>state_t</b> enum name (defined in <a class="el" href="a00313.html">tbb::mutex</a>)</td><td><a class="el" href="a00313.html">tbb::mutex</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00313.html#4331652c79dea1c1131bd59ab161b234">try_lock</a>()</td><td><a class="el" href="a00313.html">tbb::mutex</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00313.html#5fc9ef443ae75d966695546be399cc6b">unlock</a>()</td><td><a class="el" href="a00313.html">tbb::mutex</a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>~mutex</b>() (defined in <a class="el" href="a00313.html">tbb::mutex</a>)</td><td><a class="el" href="a00313.html">tbb::mutex</a></td><td><code> [inline]</code></td></tr>
-</table><hr>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00090.html">pre_scan_tag</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-static-methods">Static Public Member Functions</a> |
+<a href="a00265.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::pre_scan_tag Struct Reference<div class="ingroups"><a class="el" href="a00234.html">Algorithms</a></div></div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Used to indicate that the initial scan is being performed.  
+ <a href="a00090.html#details">More...</a></p>
+
+<p><code>#include <parallel_scan.h></code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
+Static Public Member Functions</h2></td></tr>
+<tr class="memitem:a1d71947e8273d28e01620f92a292be59"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1d71947e8273d28e01620f92a292be59"></a>
+static bool </td><td class="memItemRight" valign="bottom"><b>is_final_scan</b> ()</td></tr>
+<tr class="separator:a1d71947e8273d28e01620f92a292be59"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Used to indicate that the initial scan is being performed. </p>
+</div><hr/>The documentation for this struct was generated from the following file:<ul>
+<li>parallel_scan.h</li>
+</ul>
+</div><!-- contents -->
+<hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00091.html b/doc/html/a00091.html
index 4a9d92c..dbfd9da 100644
--- a/doc/html/a00091.html
+++ b/doc/html/a00091.html
@@ -1,36 +1,316 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::flow::interface7::priority_queue_node< T, Compare, A > Class Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<h1>tbb::mutex::scoped_lock Member List</h1>This is the complete list of members for <a class="el" href="a00314.html">tbb::mutex::scoped_lock</a>, including all inherited members.<p><table>
-  <tr class="memlist"><td><a class="el" href="a00314.html#862e022841cdc522e4296a5533b22efd">acquire</a>(mutex &mutex)</td><td><a class="el" href="a00314.html">tbb::mutex::scoped_lock</a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>mutex</b> (defined in <a class="el" href="a00314.html">tbb::mutex::scoped_lock</a>)</td><td><a class="el" href="a00314.html">tbb::mutex::scoped_lock</a></td><td><code> [friend]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00314.html#0d51d18cd99df3b2e93bf07378d0992c">release</a>()</td><td><a class="el" href="a00314.html">tbb::mutex::scoped_lock</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00314.html#1d403ae51b484df5d86d85ae38f11e6e">scoped_lock</a>()</td><td><a class="el" href="a00314.html">tbb::mutex::scoped_lock</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00314.html#605a6b9af0f8cdabdf81825e0de99600">scoped_lock</a>(mutex &mutex)</td><td><a class="el" href="a00314.html">tbb::mutex::scoped_lock</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00314.html#591e0c49b82bcedffcbe0923f1b915ec">try_acquire</a>(mutex &mutex)</td><td><a class="el" href="a00314.html">tbb::mutex::scoped_lock</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00314.html#0ebbbecaf4311e9df7362cb76ceaa368">~scoped_lock</a>()</td><td><a class="el" href="a00314.html">tbb::mutex::scoped_lock</a></td><td><code> [inline]</code></td></tr>
-</table><hr>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>flow</b></li><li class="navelem"><b>interface7</b></li><li class="navelem"><a class="el" href="a00091.html">priority_queue_node</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-types">Public Types</a> |
+<a href="#pub-methods">Public Member Functions</a> |
+<a href="#pro-types">Protected Types</a> |
+<a href="#pro-methods">Protected Member Functions</a> |
+<a href="a00329.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::flow::interface7::priority_queue_node< T, Compare, A > Class Template Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Forwards messages in priority order.  
+ <a href="a00091.html#details">More...</a></p>
+
+<p><code>#include <flow_graph.h></code></p>
+<div class="dynheader">
+Inheritance diagram for tbb::flow::interface7::priority_queue_node< T, Compare, A >:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00091.png" usemap="#tbb::flow::interface7::priority_queue_node< T, Compare, A >_map" alt=""/>
+  <map id="tbb::flow::interface7::priority_queue_node< T, Compare, A >_map" name="tbb::flow::interface7::priority_queue_node< T, Compare, A >_map">
+<area href="a00027.html" title="Forwards messages in arbitrary order. " alt="tbb::flow::interface7::buffer_node< T, A >" shape="rect" coords="543,112,895,136"/>
+<area href="a00063.html" title="The base of all graph nodes. " alt="tbb::flow::interface7::graph_node" shape="rect" coords="0,56,352,80"/>
+<area href="a00106.html" title="Pure virtual template class that defines a receiver of messages of type T. " alt="tbb::flow::interface7::receiver< T >" shape="rect" coords="724,56,1076,80"/>
+<area href="a00124.html" title="Pure virtual template class that defines a sender of messages of type T. " alt="tbb::flow::interface7::sender< T >" shape="rect" coords="1086,56,1438,80"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:af9a1f2ec01b3c87fbff0f1fbc9d1f70b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af9a1f2ec01b3c87fbff0f1fbc9d1f70b"></a>
+typedef T </td><td class="memItemRight" valign="bottom"><b>input_type</b></td></tr>
+<tr class="separator:af9a1f2ec01b3c87fbff0f1fbc9d1f70b"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a34d7a390e9b9b589d3f9c4ef9132facf"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a34d7a390e9b9b589d3f9c4ef9132facf"></a>
+typedef T </td><td class="memItemRight" valign="bottom"><b>output_type</b></td></tr>
+<tr class="separator:a34d7a390e9b9b589d3f9c4ef9132facf"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a96b0fc02e4d635727a507ac22488709b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a96b0fc02e4d635727a507ac22488709b"></a>
+typedef <a class="el" href="a00027.html">buffer_node</a>< T, A > </td><td class="memItemRight" valign="bottom"><b>base_type</b></td></tr>
+<tr class="separator:a96b0fc02e4d635727a507ac22488709b"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a83261533efac3dd24a7d6e731d27fb0a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a83261533efac3dd24a7d6e731d27fb0a"></a>
+typedef <a class="el" href="a00124.html">sender</a>< <a class="el" href="a00106.html#a16eccc851b858604344bb8f1bb9eedc8">input_type</a> > </td><td class="memItemRight" valign="bottom"><b>predecessor_type</b></td></tr>
+<tr class="separator:a83261533efac3dd24a7d6e731d27fb0a"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a0bd8fea3f3d067e053972f3718bc922f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0bd8fea3f3d067e053972f3718bc922f"></a>
+typedef <a class="el" href="a00106.html">receiver</a>< <a class="el" href="a00124.html#add86fddf72758d8e5b05b07650c6eeed">output_type</a> > </td><td class="memItemRight" valign="bottom"><b>successor_type</b></td></tr>
+<tr class="separator:a0bd8fea3f3d067e053972f3718bc922f"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="inherit_header pub_types_a00027"><td colspan="2" onclick="javascript:toggleInherit('pub_types_a00027')"><img src="closed.png" alt="-"/> Public Types inherited from <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td></tr>
+<tr class="memitem:a57a0aab7103d1d0cbf27560c9acf6c8f inherit pub_types_a00027"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a57a0aab7103d1d0cbf27560c9acf6c8f"></a>
+typedef T </td><td class="memItemRight" valign="bottom"><b>input_type</b></td></tr>
+<tr class="separator:a57a0aab7103d1d0cbf27560c9acf6c8f inherit pub_types_a00027"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:abedb8c98e62146c3473344b7148173b8 inherit pub_types_a00027"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abedb8c98e62146c3473344b7148173b8"></a>
+typedef T </td><td class="memItemRight" valign="bottom"><b>output_type</b></td></tr>
+<tr class="separator:abedb8c98e62146c3473344b7148173b8 inherit pub_types_a00027"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a3c34a2182dcbbded45da979b0f405817 inherit pub_types_a00027"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3c34a2182dcbbded45da979b0f405817"></a>
+typedef <a class="el" href="a00124.html">sender</a>< <a class="el" href="a00106.html#a16eccc851b858604344bb8f1bb9eedc8">input_type</a> > </td><td class="memItemRight" valign="bottom"><b>predecessor_type</b></td></tr>
+<tr class="separator:a3c34a2182dcbbded45da979b0f405817 inherit pub_types_a00027"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a5e505e0c4a904e2c1ded8c7c8f657c3b inherit pub_types_a00027"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5e505e0c4a904e2c1ded8c7c8f657c3b"></a>
+typedef <a class="el" href="a00106.html">receiver</a>< <a class="el" href="a00124.html#add86fddf72758d8e5b05b07650c6eeed">output_type</a> > </td><td class="memItemRight" valign="bottom"><b>successor_type</b></td></tr>
+<tr class="separator:a5e505e0c4a904e2c1ded8c7c8f657c3b inherit pub_types_a00027"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a60032183e0f0266dc17b140e47dd8fc1 inherit pub_types_a00027"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a60032183e0f0266dc17b140e47dd8fc1"></a>
+typedef <a class="el" href="a00027.html">buffer_node</a>< T, A > </td><td class="memItemRight" valign="bottom"><b>my_class</b></td></tr>
+<tr class="separator:a60032183e0f0266dc17b140e47dd8fc1 inherit pub_types_a00027"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="inherit_header pub_types_a00106"><td colspan="2" onclick="javascript:toggleInherit('pub_types_a00106')"><img src="closed.png" alt="-"/> Public Types inherited from <a class="el" href="a00106.html">tbb::flow::interface7::receiver< T ></a></td></tr>
+<tr class="memitem:a16eccc851b858604344bb8f1bb9eedc8 inherit pub_types_a00106"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a16eccc851b858604344bb8f1bb9eedc8"></a>
+typedef T </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#a16eccc851b858604344bb8f1bb9eedc8">input_type</a></td></tr>
+<tr class="memdesc:a16eccc851b858604344bb8f1bb9eedc8 inherit pub_types_a00106"><td class="mdescLeft"> </td><td class="mdescRight">The input type of this receiver. <br/></td></tr>
+<tr class="separator:a16eccc851b858604344bb8f1bb9eedc8 inherit pub_types_a00106"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:afbadf5511bd568d283040cd88bd4e81e inherit pub_types_a00106"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afbadf5511bd568d283040cd88bd4e81e"></a>
+typedef <a class="el" href="a00124.html">sender</a>< T > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#afbadf5511bd568d283040cd88bd4e81e">predecessor_type</a></td></tr>
+<tr class="memdesc:afbadf5511bd568d283040cd88bd4e81e inherit pub_types_a00106"><td class="mdescLeft"> </td><td class="mdescRight">The predecessor type for this node. <br/></td></tr>
+<tr class="separator:afbadf5511bd568d283040cd88bd4e81e inherit pub_types_a00106"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="inherit_header pub_types_a00124"><td colspan="2" onclick="javascript:toggleInherit('pub_types_a00124')"><img src="closed.png" alt="-"/> Public Types inherited from <a class="el" href="a00124.html">tbb::flow::interface7::sender< T ></a></td></tr>
+<tr class="memitem:add86fddf72758d8e5b05b07650c6eeed inherit pub_types_a00124"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="add86fddf72758d8e5b05b07650c6eeed"></a>
+typedef T </td><td class="memItemRight" valign="bottom"><a class="el" href="a00124.html#add86fddf72758d8e5b05b07650c6eeed">output_type</a></td></tr>
+<tr class="memdesc:add86fddf72758d8e5b05b07650c6eeed inherit pub_types_a00124"><td class="mdescLeft"> </td><td class="mdescRight">The output type of this sender. <br/></td></tr>
+<tr class="separator:add86fddf72758d8e5b05b07650c6eeed inherit pub_types_a00124"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a7779627063a29d4d2a1fc905a5cae8db inherit pub_types_a00124"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7779627063a29d4d2a1fc905a5cae8db"></a>
+typedef <a class="el" href="a00106.html">receiver</a>< T > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00124.html#a7779627063a29d4d2a1fc905a5cae8db">successor_type</a></td></tr>
+<tr class="memdesc:a7779627063a29d4d2a1fc905a5cae8db inherit pub_types_a00124"><td class="mdescLeft"> </td><td class="mdescRight">The successor type for this node. <br/></td></tr>
+<tr class="separator:a7779627063a29d4d2a1fc905a5cae8db inherit pub_types_a00124"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:ab295c7b50ff804f7276609a25016e7ca"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab295c7b50ff804f7276609a25016e7ca"></a>
+ </td><td class="memItemRight" valign="bottom"><a class="el" href="a00091.html#ab295c7b50ff804f7276609a25016e7ca">priority_queue_node</a> (<a class="el" href="a00061.html">graph</a> &g)</td></tr>
+<tr class="memdesc:ab295c7b50ff804f7276609a25016e7ca"><td class="mdescLeft"> </td><td class="mdescRight">Constructor. <br/></td></tr>
+<tr class="separator:ab295c7b50ff804f7276609a25016e7ca"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aa163d8a81b4a795cb37f207b02191a39"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa163d8a81b4a795cb37f207b02191a39"></a>
+ </td><td class="memItemRight" valign="bottom"><a class="el" href="a00091.html#aa163d8a81b4a795cb37f207b02191a39">priority_queue_node</a> (const <a class="el" href="a00091.html">priority_queue_node</a> &src)</td></tr>
+<tr class="memdesc:aa163d8a81b4a795cb37f207b02191a39"><td class="mdescLeft"> </td><td class="mdescRight">Copy constructor. <br/></td></tr>
+<tr class="separator:aa163d8a81b4a795cb37f207b02191a39"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a59b60104b514ae3b108016adcc653dc3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a59b60104b514ae3b108016adcc653dc3"></a>
+void </td><td class="memItemRight" valign="bottom"><b>set_name</b> (const char *name)</td></tr>
+<tr class="separator:a59b60104b514ae3b108016adcc653dc3"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="inherit_header pub_methods_a00027"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00027')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td></tr>
+<tr class="memitem:a152f7bb9ab1f033ec56caa451327634c inherit pub_methods_a00027"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a152f7bb9ab1f033ec56caa451327634c"></a>
+ </td><td class="memItemRight" valign="bottom"><a class="el" href="a00027.html#a152f7bb9ab1f033ec56caa451327634c">buffer_node</a> (<a class="el" href="a00061.html">graph</a> &g)</td></tr>
+<tr class="memdesc:a152f7bb9ab1f033ec56caa451327634c inherit pub_methods_a00027"><td class="mdescLeft"> </td><td class="mdescRight">Constructor. <br/></td></tr>
+<tr class="separator:a152f7bb9ab1f033ec56caa451327634c inherit pub_methods_a00027"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a739635c43d1150f2c8dd3f455d698d36 inherit pub_methods_a00027"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a739635c43d1150f2c8dd3f455d698d36"></a>
+ </td><td class="memItemRight" valign="bottom"><a class="el" href="a00027.html#a739635c43d1150f2c8dd3f455d698d36">buffer_node</a> (const <a class="el" href="a00027.html">buffer_node</a> &src)</td></tr>
+<tr class="memdesc:a739635c43d1150f2c8dd3f455d698d36 inherit pub_methods_a00027"><td class="mdescLeft"> </td><td class="mdescRight">Copy constructor. <br/></td></tr>
+<tr class="separator:a739635c43d1150f2c8dd3f455d698d36 inherit pub_methods_a00027"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ab458d9fa2c7d6f39ec62d4027c9da376 inherit pub_methods_a00027"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00027.html#ab458d9fa2c7d6f39ec62d4027c9da376">register_successor</a> (<a class="el" href="a00106.html">receiver</a>< <a class="el" href="a00124.html#add86fddf72758d8e5b05b07650c6eeed">output_type</a> > &r)</td></tr>
+<tr class="memdesc:ab458d9fa2c7d6f39ec62d4027c9da376 inherit pub_methods_a00027"><td class="mdescLeft"> </td><td class="mdescRight">Adds a new successor.  <a href="#ab458d9fa2c7d6f39ec62d4027c9da376">More...</a><br/></td></tr>
+<tr class="separator:ab458d9fa2c7d6f39ec62d4027c9da376 inherit pub_methods_a00027"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a70d3c1fb1af11deb9b92fa753fa8604c inherit pub_methods_a00027"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00027.html#a70d3c1fb1af11deb9b92fa753fa8604c">remove_successor</a> (<a class="el" href="a00106.html">receiver</a>< <a class="el" href="a00124.html#add86fddf72758d8e5b05b07650c6eeed">output_type</a> > &r)</td></tr>
+<tr class="memdesc:a70d3c1fb1af11deb9b92fa753fa8604c inherit pub_methods_a00027"><td class="mdescLeft"> </td><td class="mdescRight">Removes a successor.  <a href="#a70d3c1fb1af11deb9b92fa753fa8604c">More...</a><br/></td></tr>
+<tr class="separator:a70d3c1fb1af11deb9b92fa753fa8604c inherit pub_methods_a00027"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a175cb77dfbdd0e322097a833a2271c1e inherit pub_methods_a00027"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00027.html#a175cb77dfbdd0e322097a833a2271c1e">try_get</a> (T &v)</td></tr>
+<tr class="memdesc:a175cb77dfbdd0e322097a833a2271c1e inherit pub_methods_a00027"><td class="mdescLeft"> </td><td class="mdescRight">Request an item from the <a class="el" href="a00027.html" title="Forwards messages in arbitrary order. ">buffer_node</a>.  <a href="#a175cb77dfbdd0e322097a833a2271c1e">More...</a><br/></td></tr>
+<tr class="separator:a175cb77dfbdd0e322097a833a2271c1e inherit pub_methods_a00027"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a3b12cdebf8cef15b90e3c9cd9e51019f inherit pub_methods_a00027"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00027.html#a3b12cdebf8cef15b90e3c9cd9e51019f">try_reserve</a> (T &v)</td></tr>
+<tr class="memdesc:a3b12cdebf8cef15b90e3c9cd9e51019f inherit pub_methods_a00027"><td class="mdescLeft"> </td><td class="mdescRight">Reserves an item.  <a href="#a3b12cdebf8cef15b90e3c9cd9e51019f">More...</a><br/></td></tr>
+<tr class="separator:a3b12cdebf8cef15b90e3c9cd9e51019f inherit pub_methods_a00027"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aaa3745fd4705345df16fb33954d93e30 inherit pub_methods_a00027"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00027.html#aaa3745fd4705345df16fb33954d93e30">try_release</a> ()</td></tr>
+<tr class="memdesc:aaa3745fd4705345df16fb33954d93e30 inherit pub_methods_a00027"><td class="mdescLeft"> </td><td class="mdescRight">Release a reserved item.  <a href="#aaa3745fd4705345df16fb33954d93e30">More...</a><br/></td></tr>
+<tr class="separator:aaa3745fd4705345df16fb33954d93e30 inherit pub_methods_a00027"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a335072bc547c5e9b40f58dfeab525953 inherit pub_methods_a00027"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00027.html#a335072bc547c5e9b40f58dfeab525953">try_consume</a> ()</td></tr>
+<tr class="memdesc:a335072bc547c5e9b40f58dfeab525953 inherit pub_methods_a00027"><td class="mdescLeft"> </td><td class="mdescRight">Consumes a reserved item.  <a href="#a335072bc547c5e9b40f58dfeab525953">More...</a><br/></td></tr>
+<tr class="separator:a335072bc547c5e9b40f58dfeab525953 inherit pub_methods_a00027"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="inherit_header pub_methods_a00063"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00063')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a></td></tr>
+<tr class="memitem:a4badd313105e30f539882276353dcb8e inherit pub_methods_a00063"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4badd313105e30f539882276353dcb8e"></a>
+ </td><td class="memItemRight" valign="bottom"><b>graph_node</b> (<a class="el" href="a00061.html">graph</a> &g)</td></tr>
+<tr class="separator:a4badd313105e30f539882276353dcb8e inherit pub_methods_a00063"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="inherit_header pub_methods_a00106"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00106')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="a00106.html">tbb::flow::interface7::receiver< T ></a></td></tr>
+<tr class="memitem:a733889a9053478ef2fb2528e2205bf07 inherit pub_methods_a00106"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a733889a9053478ef2fb2528e2205bf07"></a>
+virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#a733889a9053478ef2fb2528e2205bf07">~receiver</a> ()</td></tr>
+<tr class="memdesc:a733889a9053478ef2fb2528e2205bf07 inherit pub_methods_a00106"><td class="mdescLeft"> </td><td class="mdescRight">Destructor. <br/></td></tr>
+<tr class="separator:a733889a9053478ef2fb2528e2205bf07 inherit pub_methods_a00106"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aee5067bb4f4b71ffa786c1b33cb9aa6a inherit pub_methods_a00106"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aee5067bb4f4b71ffa786c1b33cb9aa6a"></a>
+bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#aee5067bb4f4b71ffa786c1b33cb9aa6a">try_put</a> (const T &t)</td></tr>
+<tr class="memdesc:aee5067bb4f4b71ffa786c1b33cb9aa6a inherit pub_methods_a00106"><td class="mdescLeft"> </td><td class="mdescRight">Put an item to the receiver. <br/></td></tr>
+<tr class="separator:aee5067bb4f4b71ffa786c1b33cb9aa6a inherit pub_methods_a00106"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a16427aa709505de93ffe0d79136e4251 inherit pub_methods_a00106"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a16427aa709505de93ffe0d79136e4251"></a>
+virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#a16427aa709505de93ffe0d79136e4251">register_predecessor</a> (<a class="el" href="a00106.html#afbadf5511bd568d283040cd88bd4e81e">predecessor_type</a> &)</td></tr>
+<tr class="memdesc:a16427aa709505de93ffe0d79136e4251 inherit pub_methods_a00106"><td class="mdescLeft"> </td><td class="mdescRight">Add a predecessor to the node. <br/></td></tr>
+<tr class="separator:a16427aa709505de93ffe0d79136e4251 inherit pub_methods_a00106"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a55adae6228bbdc1539695e1ec20e9762 inherit pub_methods_a00106"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a55adae6228bbdc1539695e1ec20e9762"></a>
+virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#a55adae6228bbdc1539695e1ec20e9762">remove_predecessor</a> (<a class="el" href="a00106.html#afbadf5511bd568d283040cd88bd4e81e">predecessor_type</a> &)</td></tr>
+<tr class="memdesc:a55adae6228bbdc1539695e1ec20e9762 inherit pub_methods_a00106"><td class="mdescLeft"> </td><td class="mdescRight">Remove a predecessor from the node. <br/></td></tr>
+<tr class="separator:a55adae6228bbdc1539695e1ec20e9762 inherit pub_methods_a00106"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-types"></a>
+Protected Types</h2></td></tr>
+<tr class="memitem:acae546705b61ae7591752a1f601ccb0f"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><b>op_stat</b> { <b>WAIT</b> =0, 
+<b>SUCCEEDED</b>, 
+<b>FAILED</b>
+ }</td></tr>
+<tr class="separator:acae546705b61ae7591752a1f601ccb0f"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a17327722546bfb4aa51fb4a637a63039"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a17327722546bfb4aa51fb4a637a63039"></a>
+typedef <a class="el" href="a00027.html">buffer_node</a>< T, A ><br class="typebreak"/>
+::size_type </td><td class="memItemRight" valign="bottom"><b>size_type</b></td></tr>
+<tr class="separator:a17327722546bfb4aa51fb4a637a63039"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a83e13afae1142541b28bfe21ac71419c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a83e13afae1142541b28bfe21ac71419c"></a>
+typedef <a class="el" href="a00027.html">buffer_node</a>< T, A ><br class="typebreak"/>
+::item_type </td><td class="memItemRight" valign="bottom"><b>item_type</b></td></tr>
+<tr class="separator:a83e13afae1142541b28bfe21ac71419c"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:acd29f816dcbfa0f02541aef1d10dae1d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acd29f816dcbfa0f02541aef1d10dae1d"></a>
+typedef <a class="el" href="a00027.html">buffer_node</a>< T, A ><br class="typebreak"/>
+::<a class="el" href="a00028.html">buffer_operation</a> </td><td class="memItemRight" valign="bottom"><b>prio_operation</b></td></tr>
+<tr class="separator:acd29f816dcbfa0f02541aef1d10dae1d"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="inherit_header pro_types_a00027"><td colspan="2" onclick="javascript:toggleInherit('pro_types_a00027')"><img src="closed.png" alt="-"/> Protected Types inherited from <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td></tr>
+<tr class="memitem:a0e9c45eefd5231c6a7f8e78ab4b3e3c1 inherit pro_types_a00027"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><b>op_type</b> { <br/>
+  <b>reg_succ</b>, 
+<b>rem_succ</b>, 
+<b>req_item</b>, 
+<b>res_item</b>, 
+<br/>
+  <b>rel_res</b>, 
+<b>con_res</b>, 
+<b>put_item</b>, 
+<b>try_fwd_task</b>
+<br/>
+ }</td></tr>
+<tr class="separator:a0e9c45eefd5231c6a7f8e78ab4b3e3c1 inherit pro_types_a00027"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a97578c4c0b47aa1e7281d0343f45c6e2 inherit pro_types_a00027"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><b>op_stat</b> { <b>WAIT</b> =0, 
+<b>SUCCEEDED</b>, 
+<b>FAILED</b>
+ }</td></tr>
+<tr class="separator:a97578c4c0b47aa1e7281d0343f45c6e2 inherit pro_types_a00027"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ac2ba7ceb6c4c435c5abc9846a91853e2 inherit pro_types_a00027"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac2ba7ceb6c4c435c5abc9846a91853e2"></a>
+typedef size_t </td><td class="memItemRight" valign="bottom"><b>size_type</b></td></tr>
+<tr class="separator:ac2ba7ceb6c4c435c5abc9846a91853e2 inherit pro_types_a00027"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a7f1a187e32fb9a630a142ef37aeda958 inherit pro_types_a00027"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7f1a187e32fb9a630a142ef37aeda958"></a>
+typedef <br class="typebreak"/>
+internal::aggregating_functor<br class="typebreak"/>
+< <a class="el" href="a00027.html">my_class</a>, <a class="el" href="a00028.html">buffer_operation</a> > </td><td class="memItemRight" valign="bottom"><b>my_handler</b></td></tr>
+<tr class="separator:a7f1a187e32fb9a630a142ef37aeda958 inherit pro_types_a00027"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
+Protected Member Functions</h2></td></tr>
+<tr class="memitem:a5af7744bd02e70e94a443d8b51d1b60e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5af7744bd02e70e94a443d8b51d1b60e"></a>
+void </td><td class="memItemRight" valign="bottom"><b>reset</b> ()</td></tr>
+<tr class="separator:a5af7744bd02e70e94a443d8b51d1b60e"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ab478330c41fa262d1b896432f1ac37cc"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab478330c41fa262d1b896432f1ac37cc"></a>
+void </td><td class="memItemRight" valign="bottom"><b>handle_operations</b> (<a class="el" href="a00028.html">prio_operation</a> *op_list)</td></tr>
+<tr class="separator:ab478330c41fa262d1b896432f1ac37cc"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a4e6d43ca8748046098fd27ca97e58f3d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4e6d43ca8748046098fd27ca97e58f3d"></a>
+void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00091.html#a4e6d43ca8748046098fd27ca97e58f3d">internal_forward_task</a> (<a class="el" href="a00028.html">prio_operation</a> *op)</td></tr>
+<tr class="memdesc:a4e6d43ca8748046098fd27ca97e58f3d"><td class="mdescLeft"> </td><td class="mdescRight">Tries to forward valid items to successors. <br/></td></tr>
+<tr class="separator:a4e6d43ca8748046098fd27ca97e58f3d"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a1fb636ae3d8e7a6fa6c6a30b6ae1d0b7"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1fb636ae3d8e7a6fa6c6a30b6ae1d0b7"></a>
+void </td><td class="memItemRight" valign="bottom"><b>internal_push</b> (<a class="el" href="a00028.html">prio_operation</a> *op)</td></tr>
+<tr class="separator:a1fb636ae3d8e7a6fa6c6a30b6ae1d0b7"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ac67d6e65c708a40b3849d6d9e96916fa"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac67d6e65c708a40b3849d6d9e96916fa"></a>
+void </td><td class="memItemRight" valign="bottom"><b>internal_pop</b> (<a class="el" href="a00028.html">prio_operation</a> *op)</td></tr>
+<tr class="separator:ac67d6e65c708a40b3849d6d9e96916fa"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ac820e6e5f2a0eed1f9ef72262f78f45d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac820e6e5f2a0eed1f9ef72262f78f45d"></a>
+void </td><td class="memItemRight" valign="bottom"><b>internal_reserve</b> (<a class="el" href="a00028.html">prio_operation</a> *op)</td></tr>
+<tr class="separator:ac820e6e5f2a0eed1f9ef72262f78f45d"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a21cc506b6bc5bbe59dfab4f9e59955fe"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a21cc506b6bc5bbe59dfab4f9e59955fe"></a>
+void </td><td class="memItemRight" valign="bottom"><b>internal_consume</b> (<a class="el" href="a00028.html">prio_operation</a> *op)</td></tr>
+<tr class="separator:a21cc506b6bc5bbe59dfab4f9e59955fe"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:adbcefdb4ae0369abb1d047bb49622176"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adbcefdb4ae0369abb1d047bb49622176"></a>
+void </td><td class="memItemRight" valign="bottom"><b>internal_release</b> (<a class="el" href="a00028.html">prio_operation</a> *op)</td></tr>
+<tr class="separator:adbcefdb4ae0369abb1d047bb49622176"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="inherit_header pro_methods_a00027"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_a00027')"><img src="closed.png" alt="-"/> Protected Member Functions inherited from <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td></tr>
+<tr class="memitem:a5fde962bed26ee41c370e48bce678320 inherit pro_methods_a00027"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5fde962bed26ee41c370e48bce678320"></a>
+task * </td><td class="memItemRight" valign="bottom"><b>grab_forwarding_task</b> (<a class="el" href="a00028.html">buffer_operation</a> &op_data)</td></tr>
+<tr class="separator:a5fde962bed26ee41c370e48bce678320 inherit pro_methods_a00027"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a19dbfc4065f57efd7375fcc1b259dd9c inherit pro_methods_a00027"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a19dbfc4065f57efd7375fcc1b259dd9c"></a>
+bool </td><td class="memItemRight" valign="bottom"><b>enqueue_forwarding_task</b> (<a class="el" href="a00028.html">buffer_operation</a> &op_data)</td></tr>
+<tr class="separator:a19dbfc4065f57efd7375fcc1b259dd9c inherit pro_methods_a00027"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a8910a497040a4c6f1a6a1fb7a33a8888 inherit pro_methods_a00027"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8910a497040a4c6f1a6a1fb7a33a8888"></a>
+virtual task * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00027.html#a8910a497040a4c6f1a6a1fb7a33a8888">forward_task</a> ()</td></tr>
+<tr class="memdesc:a8910a497040a4c6f1a6a1fb7a33a8888 inherit pro_methods_a00027"><td class="mdescLeft"> </td><td class="mdescRight">This is executed by an enqueued task, the "forwarder". <br/></td></tr>
+<tr class="separator:a8910a497040a4c6f1a6a1fb7a33a8888 inherit pro_methods_a00027"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:afa2dd93a1b42e77ccf7e1de0fddf3158 inherit pro_methods_a00027"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afa2dd93a1b42e77ccf7e1de0fddf3158"></a>
+virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00027.html#afa2dd93a1b42e77ccf7e1de0fddf3158">internal_reg_succ</a> (<a class="el" href="a00028.html">buffer_operation</a> *op)</td></tr>
+<tr class="memdesc:afa2dd93a1b42e77ccf7e1de0fddf3158 inherit pro_methods_a00027"><td class="mdescLeft"> </td><td class="mdescRight">Register successor. <br/></td></tr>
+<tr class="separator:afa2dd93a1b42e77ccf7e1de0fddf3158 inherit pro_methods_a00027"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a46c7f9cd9130036244d4ea8efd74bf22 inherit pro_methods_a00027"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a46c7f9cd9130036244d4ea8efd74bf22"></a>
+virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00027.html#a46c7f9cd9130036244d4ea8efd74bf22">internal_rem_succ</a> (<a class="el" href="a00028.html">buffer_operation</a> *op)</td></tr>
+<tr class="memdesc:a46c7f9cd9130036244d4ea8efd74bf22 inherit pro_methods_a00027"><td class="mdescLeft"> </td><td class="mdescRight">Remove successor. <br/></td></tr>
+<tr class="separator:a46c7f9cd9130036244d4ea8efd74bf22 inherit pro_methods_a00027"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aa4517c0a58649ea5eb140ab4b786e1ec inherit pro_methods_a00027"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa4517c0a58649ea5eb140ab4b786e1ec"></a>
+task * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00027.html#aa4517c0a58649ea5eb140ab4b786e1ec">try_put_task</a> (const T &t)</td></tr>
+<tr class="memdesc:aa4517c0a58649ea5eb140ab4b786e1ec inherit pro_methods_a00027"><td class="mdescLeft"> </td><td class="mdescRight">receive an item, return a task *if possible <br/></td></tr>
+<tr class="separator:aa4517c0a58649ea5eb140ab4b786e1ec inherit pro_methods_a00027"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aa4fe0ea40c0f1ed6d109eed8d8bf25ee inherit pro_methods_a00027"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa4fe0ea40c0f1ed6d109eed8d8bf25ee"></a>
+void </td><td class="memItemRight" valign="bottom"><b>reset_receiver</b> ()</td></tr>
+<tr class="separator:aa4fe0ea40c0f1ed6d109eed8d8bf25ee inherit pro_methods_a00027"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="inherit_header pro_methods_a00106"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_a00106')"><img src="closed.png" alt="-"/> Protected Member Functions inherited from <a class="el" href="a00106.html">tbb::flow::interface7::receiver< T ></a></td></tr>
+<tr class="memitem:ae91eab3e06d4139ac38f143c74fe9eab inherit pro_methods_a00106"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae91eab3e06d4139ac38f143c74fe9eab"></a>
+virtual bool </td><td class="memItemRight" valign="bottom"><b>is_continue_receiver</b> ()</td></tr>
+<tr class="separator:ae91eab3e06d4139ac38f143c74fe9eab inherit pro_methods_a00106"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
+Additional Inherited Members</h2></td></tr>
+<tr class="inherit_header pro_attribs_a00027"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_a00027')"><img src="closed.png" alt="-"/> Protected Attributes inherited from <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td></tr>
+<tr class="memitem:ade2fe89be00e023aafb1d3c380762048 inherit pro_attribs_a00027"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ade2fe89be00e023aafb1d3c380762048"></a>
+<a class="el" href="a00108.html">internal::round_robin_cache</a>< T, <br class="typebreak"/>
+<a class="el" href="a00084.html">null_rw_mutex</a> > </td><td class="memItemRight" valign="bottom"><b>my_successors</b></td></tr>
+<tr class="separator:ade2fe89be00e023aafb1d3c380762048 inherit pro_attribs_a00027"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a441fb73f0e15aed49945fb7ec9925e9f inherit pro_attribs_a00027"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a441fb73f0e15aed49945fb7ec9925e9f"></a>
+bool </td><td class="memItemRight" valign="bottom"><b>forwarder_busy</b></td></tr>
+<tr class="separator:a441fb73f0e15aed49945fb7ec9925e9f inherit pro_attribs_a00027"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:adc948866a1eb4c7a95b0edc08872d487 inherit pro_attribs_a00027"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adc948866a1eb4c7a95b0edc08872d487"></a>
+internal::aggregator<br class="typebreak"/>
+< my_handler, <a class="el" href="a00028.html">buffer_operation</a> > </td><td class="memItemRight" valign="bottom"><b>my_aggregator</b></td></tr>
+<tr class="separator:adc948866a1eb4c7a95b0edc08872d487 inherit pro_attribs_a00027"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><h3>template<typename T, typename Compare = std::less<T>, typename A = cache_aligned_allocator<T>><br/>
+class tbb::flow::interface7::priority_queue_node< T, Compare, A ></h3>
+
+<p>Forwards messages in priority order. </p>
+</div><hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="a00179.html">flow_graph.h</a></li>
+</ul>
+</div><!-- contents -->
+<hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00091.png b/doc/html/a00091.png
new file mode 100644
index 0000000..a84ee06
Binary files /dev/null and b/doc/html/a00091.png differ
diff --git a/doc/html/a00092.html b/doc/html/a00092.html
index e595b3e..d7cffb1 100644
--- a/doc/html/a00092.html
+++ b/doc/html/a00092.html
@@ -1,33 +1,310 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::flow::interface7::queue_node< T, A > Class Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<h1>tbb::null_mutex Member List</h1>This is the complete list of members for <a class="el" href="a00315.html">tbb::null_mutex</a>, including all inherited members.<p><table>
-  <tr bgcolor="#f0f0f0"><td><b>is_fair_mutex</b> (defined in <a class="el" href="a00315.html">tbb::null_mutex</a>)</td><td><a class="el" href="a00315.html">tbb::null_mutex</a></td><td><code> [static]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>is_recursive_mutex</b> (defined in <a class="el" href="a00315.html">tbb::null_mutex</a>)</td><td><a class="el" href="a00315.html">tbb::null_mutex</a></td><td><code> [static]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>is_rw_mutex</b> (defined in <a class="el" href="a00315.html">tbb::null_mutex</a>)</td><td><a class="el" href="a00315.html">tbb::null_mutex</a></td><td><code> [static]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>null_mutex</b>() (defined in <a class="el" href="a00315.html">tbb::null_mutex</a>)</td><td><a class="el" href="a00315.html">tbb::null_mutex</a></td><td><code> [inline]</code></td></tr>
-</table><hr>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>flow</b></li><li class="navelem"><b>interface7</b></li><li class="navelem"><a class="el" href="a00092.html">queue_node</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-types">Public Types</a> |
+<a href="#pub-methods">Public Member Functions</a> |
+<a href="#pro-types">Protected Types</a> |
+<a href="#pro-methods">Protected Member Functions</a> |
+<a href="a00327.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::flow::interface7::queue_node< T, A > Class Template Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Forwards messages in FIFO order.  
+ <a href="a00092.html#details">More...</a></p>
+
+<p><code>#include <flow_graph.h></code></p>
+<div class="dynheader">
+Inheritance diagram for tbb::flow::interface7::queue_node< T, A >:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00092.png" usemap="#tbb::flow::interface7::queue_node< T, A >_map" alt=""/>
+  <map id="tbb::flow::interface7::queue_node< T, A >_map" name="tbb::flow::interface7::queue_node< T, A >_map">
+<area href="a00027.html" title="Forwards messages in arbitrary order. " alt="tbb::flow::interface7::buffer_node< T, A >" shape="rect" coords="420,112,690,136"/>
+<area href="a00063.html" title="The base of all graph nodes. " alt="tbb::flow::interface7::graph_node" shape="rect" coords="0,56,270,80"/>
+<area href="a00106.html" title="Pure virtual template class that defines a receiver of messages of type T. " alt="tbb::flow::interface7::receiver< T >" shape="rect" coords="560,56,830,80"/>
+<area href="a00124.html" title="Pure virtual template class that defines a sender of messages of type T. " alt="tbb::flow::interface7::sender< T >" shape="rect" coords="840,56,1110,80"/>
+<area href="a00125.html" title="Forwards messages in sequence order. " alt="tbb::flow::interface7::sequencer_node< T, A >" shape="rect" coords="420,224,690,248"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:a6c97cb00f09b2920b470f7f05bd164d1"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6c97cb00f09b2920b470f7f05bd164d1"></a>
+typedef T </td><td class="memItemRight" valign="bottom"><b>input_type</b></td></tr>
+<tr class="separator:a6c97cb00f09b2920b470f7f05bd164d1"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a17ed7b6084d51f1d50164ed9b2eff680"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a17ed7b6084d51f1d50164ed9b2eff680"></a>
+typedef T </td><td class="memItemRight" valign="bottom"><b>output_type</b></td></tr>
+<tr class="separator:a17ed7b6084d51f1d50164ed9b2eff680"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a768cdbf6ab5f38ec87e402ff2897ca38"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a768cdbf6ab5f38ec87e402ff2897ca38"></a>
+typedef <a class="el" href="a00124.html">sender</a>< <a class="el" href="a00106.html#a16eccc851b858604344bb8f1bb9eedc8">input_type</a> > </td><td class="memItemRight" valign="bottom"><b>predecessor_type</b></td></tr>
+<tr class="separator:a768cdbf6ab5f38ec87e402ff2897ca38"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ad5fc2cf414bebdf02246e356b21cf39a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad5fc2cf414bebdf02246e356b21cf39a"></a>
+typedef <a class="el" href="a00106.html">receiver</a>< <a class="el" href="a00124.html#add86fddf72758d8e5b05b07650c6eeed">output_type</a> > </td><td class="memItemRight" valign="bottom"><b>successor_type</b></td></tr>
+<tr class="separator:ad5fc2cf414bebdf02246e356b21cf39a"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="inherit_header pub_types_a00027"><td colspan="2" onclick="javascript:toggleInherit('pub_types_a00027')"><img src="closed.png" alt="-"/> Public Types inherited from <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td></tr>
+<tr class="memitem:a57a0aab7103d1d0cbf27560c9acf6c8f inherit pub_types_a00027"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a57a0aab7103d1d0cbf27560c9acf6c8f"></a>
+typedef T </td><td class="memItemRight" valign="bottom"><b>input_type</b></td></tr>
+<tr class="separator:a57a0aab7103d1d0cbf27560c9acf6c8f inherit pub_types_a00027"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:abedb8c98e62146c3473344b7148173b8 inherit pub_types_a00027"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abedb8c98e62146c3473344b7148173b8"></a>
+typedef T </td><td class="memItemRight" valign="bottom"><b>output_type</b></td></tr>
+<tr class="separator:abedb8c98e62146c3473344b7148173b8 inherit pub_types_a00027"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a3c34a2182dcbbded45da979b0f405817 inherit pub_types_a00027"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3c34a2182dcbbded45da979b0f405817"></a>
+typedef <a class="el" href="a00124.html">sender</a>< <a class="el" href="a00106.html#a16eccc851b858604344bb8f1bb9eedc8">input_type</a> > </td><td class="memItemRight" valign="bottom"><b>predecessor_type</b></td></tr>
+<tr class="separator:a3c34a2182dcbbded45da979b0f405817 inherit pub_types_a00027"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a5e505e0c4a904e2c1ded8c7c8f657c3b inherit pub_types_a00027"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5e505e0c4a904e2c1ded8c7c8f657c3b"></a>
+typedef <a class="el" href="a00106.html">receiver</a>< <a class="el" href="a00124.html#add86fddf72758d8e5b05b07650c6eeed">output_type</a> > </td><td class="memItemRight" valign="bottom"><b>successor_type</b></td></tr>
+<tr class="separator:a5e505e0c4a904e2c1ded8c7c8f657c3b inherit pub_types_a00027"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a60032183e0f0266dc17b140e47dd8fc1 inherit pub_types_a00027"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a60032183e0f0266dc17b140e47dd8fc1"></a>
+typedef <a class="el" href="a00027.html">buffer_node</a>< T, A > </td><td class="memItemRight" valign="bottom"><b>my_class</b></td></tr>
+<tr class="separator:a60032183e0f0266dc17b140e47dd8fc1 inherit pub_types_a00027"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="inherit_header pub_types_a00106"><td colspan="2" onclick="javascript:toggleInherit('pub_types_a00106')"><img src="closed.png" alt="-"/> Public Types inherited from <a class="el" href="a00106.html">tbb::flow::interface7::receiver< T ></a></td></tr>
+<tr class="memitem:a16eccc851b858604344bb8f1bb9eedc8 inherit pub_types_a00106"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a16eccc851b858604344bb8f1bb9eedc8"></a>
+typedef T </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#a16eccc851b858604344bb8f1bb9eedc8">input_type</a></td></tr>
+<tr class="memdesc:a16eccc851b858604344bb8f1bb9eedc8 inherit pub_types_a00106"><td class="mdescLeft"> </td><td class="mdescRight">The input type of this receiver. <br/></td></tr>
+<tr class="separator:a16eccc851b858604344bb8f1bb9eedc8 inherit pub_types_a00106"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:afbadf5511bd568d283040cd88bd4e81e inherit pub_types_a00106"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afbadf5511bd568d283040cd88bd4e81e"></a>
+typedef <a class="el" href="a00124.html">sender</a>< T > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#afbadf5511bd568d283040cd88bd4e81e">predecessor_type</a></td></tr>
+<tr class="memdesc:afbadf5511bd568d283040cd88bd4e81e inherit pub_types_a00106"><td class="mdescLeft"> </td><td class="mdescRight">The predecessor type for this node. <br/></td></tr>
+<tr class="separator:afbadf5511bd568d283040cd88bd4e81e inherit pub_types_a00106"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="inherit_header pub_types_a00124"><td colspan="2" onclick="javascript:toggleInherit('pub_types_a00124')"><img src="closed.png" alt="-"/> Public Types inherited from <a class="el" href="a00124.html">tbb::flow::interface7::sender< T ></a></td></tr>
+<tr class="memitem:add86fddf72758d8e5b05b07650c6eeed inherit pub_types_a00124"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="add86fddf72758d8e5b05b07650c6eeed"></a>
+typedef T </td><td class="memItemRight" valign="bottom"><a class="el" href="a00124.html#add86fddf72758d8e5b05b07650c6eeed">output_type</a></td></tr>
+<tr class="memdesc:add86fddf72758d8e5b05b07650c6eeed inherit pub_types_a00124"><td class="mdescLeft"> </td><td class="mdescRight">The output type of this sender. <br/></td></tr>
+<tr class="separator:add86fddf72758d8e5b05b07650c6eeed inherit pub_types_a00124"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a7779627063a29d4d2a1fc905a5cae8db inherit pub_types_a00124"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7779627063a29d4d2a1fc905a5cae8db"></a>
+typedef <a class="el" href="a00106.html">receiver</a>< T > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00124.html#a7779627063a29d4d2a1fc905a5cae8db">successor_type</a></td></tr>
+<tr class="memdesc:a7779627063a29d4d2a1fc905a5cae8db inherit pub_types_a00124"><td class="mdescLeft"> </td><td class="mdescRight">The successor type for this node. <br/></td></tr>
+<tr class="separator:a7779627063a29d4d2a1fc905a5cae8db inherit pub_types_a00124"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a503d3fe4f98302549e36f74633de5716"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a503d3fe4f98302549e36f74633de5716"></a>
+ </td><td class="memItemRight" valign="bottom"><a class="el" href="a00092.html#a503d3fe4f98302549e36f74633de5716">queue_node</a> (<a class="el" href="a00061.html">graph</a> &g)</td></tr>
+<tr class="memdesc:a503d3fe4f98302549e36f74633de5716"><td class="mdescLeft"> </td><td class="mdescRight">Constructor. <br/></td></tr>
+<tr class="separator:a503d3fe4f98302549e36f74633de5716"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aa790bb6d3c8bef58d59235dfba1a1092"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa790bb6d3c8bef58d59235dfba1a1092"></a>
+ </td><td class="memItemRight" valign="bottom"><a class="el" href="a00092.html#aa790bb6d3c8bef58d59235dfba1a1092">queue_node</a> (const <a class="el" href="a00092.html">queue_node</a> &src)</td></tr>
+<tr class="memdesc:aa790bb6d3c8bef58d59235dfba1a1092"><td class="mdescLeft"> </td><td class="mdescRight">Copy constructor. <br/></td></tr>
+<tr class="separator:aa790bb6d3c8bef58d59235dfba1a1092"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:af27bdd716ffead0a648bb9e7e81790ae"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af27bdd716ffead0a648bb9e7e81790ae"></a>
+void </td><td class="memItemRight" valign="bottom"><b>set_name</b> (const char *name)</td></tr>
+<tr class="separator:af27bdd716ffead0a648bb9e7e81790ae"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="inherit_header pub_methods_a00027"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00027')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td></tr>
+<tr class="memitem:a152f7bb9ab1f033ec56caa451327634c inherit pub_methods_a00027"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a152f7bb9ab1f033ec56caa451327634c"></a>
+ </td><td class="memItemRight" valign="bottom"><a class="el" href="a00027.html#a152f7bb9ab1f033ec56caa451327634c">buffer_node</a> (<a class="el" href="a00061.html">graph</a> &g)</td></tr>
+<tr class="memdesc:a152f7bb9ab1f033ec56caa451327634c inherit pub_methods_a00027"><td class="mdescLeft"> </td><td class="mdescRight">Constructor. <br/></td></tr>
+<tr class="separator:a152f7bb9ab1f033ec56caa451327634c inherit pub_methods_a00027"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a739635c43d1150f2c8dd3f455d698d36 inherit pub_methods_a00027"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a739635c43d1150f2c8dd3f455d698d36"></a>
+ </td><td class="memItemRight" valign="bottom"><a class="el" href="a00027.html#a739635c43d1150f2c8dd3f455d698d36">buffer_node</a> (const <a class="el" href="a00027.html">buffer_node</a> &src)</td></tr>
+<tr class="memdesc:a739635c43d1150f2c8dd3f455d698d36 inherit pub_methods_a00027"><td class="mdescLeft"> </td><td class="mdescRight">Copy constructor. <br/></td></tr>
+<tr class="separator:a739635c43d1150f2c8dd3f455d698d36 inherit pub_methods_a00027"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ab458d9fa2c7d6f39ec62d4027c9da376 inherit pub_methods_a00027"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00027.html#ab458d9fa2c7d6f39ec62d4027c9da376">register_successor</a> (<a class="el" href="a00106.html">receiver</a>< <a class="el" href="a00124.html#add86fddf72758d8e5b05b07650c6eeed">output_type</a> > &r)</td></tr>
+<tr class="memdesc:ab458d9fa2c7d6f39ec62d4027c9da376 inherit pub_methods_a00027"><td class="mdescLeft"> </td><td class="mdescRight">Adds a new successor.  <a href="#ab458d9fa2c7d6f39ec62d4027c9da376">More...</a><br/></td></tr>
+<tr class="separator:ab458d9fa2c7d6f39ec62d4027c9da376 inherit pub_methods_a00027"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a70d3c1fb1af11deb9b92fa753fa8604c inherit pub_methods_a00027"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00027.html#a70d3c1fb1af11deb9b92fa753fa8604c">remove_successor</a> (<a class="el" href="a00106.html">receiver</a>< <a class="el" href="a00124.html#add86fddf72758d8e5b05b07650c6eeed">output_type</a> > &r)</td></tr>
+<tr class="memdesc:a70d3c1fb1af11deb9b92fa753fa8604c inherit pub_methods_a00027"><td class="mdescLeft"> </td><td class="mdescRight">Removes a successor.  <a href="#a70d3c1fb1af11deb9b92fa753fa8604c">More...</a><br/></td></tr>
+<tr class="separator:a70d3c1fb1af11deb9b92fa753fa8604c inherit pub_methods_a00027"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a175cb77dfbdd0e322097a833a2271c1e inherit pub_methods_a00027"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00027.html#a175cb77dfbdd0e322097a833a2271c1e">try_get</a> (T &v)</td></tr>
+<tr class="memdesc:a175cb77dfbdd0e322097a833a2271c1e inherit pub_methods_a00027"><td class="mdescLeft"> </td><td class="mdescRight">Request an item from the <a class="el" href="a00027.html" title="Forwards messages in arbitrary order. ">buffer_node</a>.  <a href="#a175cb77dfbdd0e322097a833a2271c1e">More...</a><br/></td></tr>
+<tr class="separator:a175cb77dfbdd0e322097a833a2271c1e inherit pub_methods_a00027"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a3b12cdebf8cef15b90e3c9cd9e51019f inherit pub_methods_a00027"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00027.html#a3b12cdebf8cef15b90e3c9cd9e51019f">try_reserve</a> (T &v)</td></tr>
+<tr class="memdesc:a3b12cdebf8cef15b90e3c9cd9e51019f inherit pub_methods_a00027"><td class="mdescLeft"> </td><td class="mdescRight">Reserves an item.  <a href="#a3b12cdebf8cef15b90e3c9cd9e51019f">More...</a><br/></td></tr>
+<tr class="separator:a3b12cdebf8cef15b90e3c9cd9e51019f inherit pub_methods_a00027"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aaa3745fd4705345df16fb33954d93e30 inherit pub_methods_a00027"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00027.html#aaa3745fd4705345df16fb33954d93e30">try_release</a> ()</td></tr>
+<tr class="memdesc:aaa3745fd4705345df16fb33954d93e30 inherit pub_methods_a00027"><td class="mdescLeft"> </td><td class="mdescRight">Release a reserved item.  <a href="#aaa3745fd4705345df16fb33954d93e30">More...</a><br/></td></tr>
+<tr class="separator:aaa3745fd4705345df16fb33954d93e30 inherit pub_methods_a00027"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a335072bc547c5e9b40f58dfeab525953 inherit pub_methods_a00027"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00027.html#a335072bc547c5e9b40f58dfeab525953">try_consume</a> ()</td></tr>
+<tr class="memdesc:a335072bc547c5e9b40f58dfeab525953 inherit pub_methods_a00027"><td class="mdescLeft"> </td><td class="mdescRight">Consumes a reserved item.  <a href="#a335072bc547c5e9b40f58dfeab525953">More...</a><br/></td></tr>
+<tr class="separator:a335072bc547c5e9b40f58dfeab525953 inherit pub_methods_a00027"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="inherit_header pub_methods_a00063"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00063')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a></td></tr>
+<tr class="memitem:a4badd313105e30f539882276353dcb8e inherit pub_methods_a00063"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4badd313105e30f539882276353dcb8e"></a>
+ </td><td class="memItemRight" valign="bottom"><b>graph_node</b> (<a class="el" href="a00061.html">graph</a> &g)</td></tr>
+<tr class="separator:a4badd313105e30f539882276353dcb8e inherit pub_methods_a00063"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="inherit_header pub_methods_a00106"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00106')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="a00106.html">tbb::flow::interface7::receiver< T ></a></td></tr>
+<tr class="memitem:a733889a9053478ef2fb2528e2205bf07 inherit pub_methods_a00106"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a733889a9053478ef2fb2528e2205bf07"></a>
+virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#a733889a9053478ef2fb2528e2205bf07">~receiver</a> ()</td></tr>
+<tr class="memdesc:a733889a9053478ef2fb2528e2205bf07 inherit pub_methods_a00106"><td class="mdescLeft"> </td><td class="mdescRight">Destructor. <br/></td></tr>
+<tr class="separator:a733889a9053478ef2fb2528e2205bf07 inherit pub_methods_a00106"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aee5067bb4f4b71ffa786c1b33cb9aa6a inherit pub_methods_a00106"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aee5067bb4f4b71ffa786c1b33cb9aa6a"></a>
+bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#aee5067bb4f4b71ffa786c1b33cb9aa6a">try_put</a> (const T &t)</td></tr>
+<tr class="memdesc:aee5067bb4f4b71ffa786c1b33cb9aa6a inherit pub_methods_a00106"><td class="mdescLeft"> </td><td class="mdescRight">Put an item to the receiver. <br/></td></tr>
+<tr class="separator:aee5067bb4f4b71ffa786c1b33cb9aa6a inherit pub_methods_a00106"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a16427aa709505de93ffe0d79136e4251 inherit pub_methods_a00106"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a16427aa709505de93ffe0d79136e4251"></a>
+virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#a16427aa709505de93ffe0d79136e4251">register_predecessor</a> (<a class="el" href="a00106.html#afbadf5511bd568d283040cd88bd4e81e">predecessor_type</a> &)</td></tr>
+<tr class="memdesc:a16427aa709505de93ffe0d79136e4251 inherit pub_methods_a00106"><td class="mdescLeft"> </td><td class="mdescRight">Add a predecessor to the node. <br/></td></tr>
+<tr class="separator:a16427aa709505de93ffe0d79136e4251 inherit pub_methods_a00106"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a55adae6228bbdc1539695e1ec20e9762 inherit pub_methods_a00106"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a55adae6228bbdc1539695e1ec20e9762"></a>
+virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#a55adae6228bbdc1539695e1ec20e9762">remove_predecessor</a> (<a class="el" href="a00106.html#afbadf5511bd568d283040cd88bd4e81e">predecessor_type</a> &)</td></tr>
+<tr class="memdesc:a55adae6228bbdc1539695e1ec20e9762 inherit pub_methods_a00106"><td class="mdescLeft"> </td><td class="mdescRight">Remove a predecessor from the node. <br/></td></tr>
+<tr class="separator:a55adae6228bbdc1539695e1ec20e9762 inherit pub_methods_a00106"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-types"></a>
+Protected Types</h2></td></tr>
+<tr class="memitem:a7e8acd469a6e7d7f843158104c3a829d"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><b>op_stat</b> { <b>WAIT</b> =0, 
+<b>SUCCEEDED</b>, 
+<b>FAILED</b>
+ }</td></tr>
+<tr class="separator:a7e8acd469a6e7d7f843158104c3a829d"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aef5a0b62dcb531fbca36f329415423c2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aef5a0b62dcb531fbca36f329415423c2"></a>
+typedef <a class="el" href="a00027.html">buffer_node</a>< T, A ><br class="typebreak"/>
+::size_type </td><td class="memItemRight" valign="bottom"><b>size_type</b></td></tr>
+<tr class="separator:aef5a0b62dcb531fbca36f329415423c2"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a57e3683d6bd811bb88c117310d1165ca"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a57e3683d6bd811bb88c117310d1165ca"></a>
+typedef <a class="el" href="a00027.html">buffer_node</a>< T, A ><br class="typebreak"/>
+::<a class="el" href="a00028.html">buffer_operation</a> </td><td class="memItemRight" valign="bottom"><b>queue_operation</b></td></tr>
+<tr class="separator:a57e3683d6bd811bb88c117310d1165ca"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="inherit_header pro_types_a00027"><td colspan="2" onclick="javascript:toggleInherit('pro_types_a00027')"><img src="closed.png" alt="-"/> Protected Types inherited from <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td></tr>
+<tr class="memitem:a0e9c45eefd5231c6a7f8e78ab4b3e3c1 inherit pro_types_a00027"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><b>op_type</b> { <br/>
+  <b>reg_succ</b>, 
+<b>rem_succ</b>, 
+<b>req_item</b>, 
+<b>res_item</b>, 
+<br/>
+  <b>rel_res</b>, 
+<b>con_res</b>, 
+<b>put_item</b>, 
+<b>try_fwd_task</b>
+<br/>
+ }</td></tr>
+<tr class="separator:a0e9c45eefd5231c6a7f8e78ab4b3e3c1 inherit pro_types_a00027"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a97578c4c0b47aa1e7281d0343f45c6e2 inherit pro_types_a00027"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><b>op_stat</b> { <b>WAIT</b> =0, 
+<b>SUCCEEDED</b>, 
+<b>FAILED</b>
+ }</td></tr>
+<tr class="separator:a97578c4c0b47aa1e7281d0343f45c6e2 inherit pro_types_a00027"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ac2ba7ceb6c4c435c5abc9846a91853e2 inherit pro_types_a00027"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac2ba7ceb6c4c435c5abc9846a91853e2"></a>
+typedef size_t </td><td class="memItemRight" valign="bottom"><b>size_type</b></td></tr>
+<tr class="separator:ac2ba7ceb6c4c435c5abc9846a91853e2 inherit pro_types_a00027"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a7f1a187e32fb9a630a142ef37aeda958 inherit pro_types_a00027"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7f1a187e32fb9a630a142ef37aeda958"></a>
+typedef <br class="typebreak"/>
+internal::aggregating_functor<br class="typebreak"/>
+< <a class="el" href="a00027.html">my_class</a>, <a class="el" href="a00028.html">buffer_operation</a> > </td><td class="memItemRight" valign="bottom"><b>my_handler</b></td></tr>
+<tr class="separator:a7f1a187e32fb9a630a142ef37aeda958 inherit pro_types_a00027"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
+Protected Member Functions</h2></td></tr>
+<tr class="memitem:a1ab7e37f537acb75175844bd34132b99"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1ab7e37f537acb75175844bd34132b99"></a>
+void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00092.html#a1ab7e37f537acb75175844bd34132b99">internal_forward_task</a> (<a class="el" href="a00028.html">queue_operation</a> *op)</td></tr>
+<tr class="memdesc:a1ab7e37f537acb75175844bd34132b99"><td class="mdescLeft"> </td><td class="mdescRight">Tries to forward valid items to successors. <br/></td></tr>
+<tr class="separator:a1ab7e37f537acb75175844bd34132b99"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ad5d225b5305d2d8e1778d2ac65e473a8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad5d225b5305d2d8e1778d2ac65e473a8"></a>
+void </td><td class="memItemRight" valign="bottom"><b>internal_pop</b> (<a class="el" href="a00028.html">queue_operation</a> *op)</td></tr>
+<tr class="separator:ad5d225b5305d2d8e1778d2ac65e473a8"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ae85f9ee123b22bb273116402372d2619"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae85f9ee123b22bb273116402372d2619"></a>
+void </td><td class="memItemRight" valign="bottom"><b>internal_reserve</b> (<a class="el" href="a00028.html">queue_operation</a> *op)</td></tr>
+<tr class="separator:ae85f9ee123b22bb273116402372d2619"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:acc6c42585d3deef75dd3922b6fe9cc21"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acc6c42585d3deef75dd3922b6fe9cc21"></a>
+void </td><td class="memItemRight" valign="bottom"><b>internal_consume</b> (<a class="el" href="a00028.html">queue_operation</a> *op)</td></tr>
+<tr class="separator:acc6c42585d3deef75dd3922b6fe9cc21"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="inherit_header pro_methods_a00027"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_a00027')"><img src="closed.png" alt="-"/> Protected Member Functions inherited from <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td></tr>
+<tr class="memitem:a2d09326016a31e17acd57f8e6ce58054 inherit pro_methods_a00027"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2d09326016a31e17acd57f8e6ce58054"></a>
+virtual void </td><td class="memItemRight" valign="bottom"><b>handle_operations</b> (<a class="el" href="a00028.html">buffer_operation</a> *op_list)</td></tr>
+<tr class="separator:a2d09326016a31e17acd57f8e6ce58054 inherit pro_methods_a00027"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a5fde962bed26ee41c370e48bce678320 inherit pro_methods_a00027"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5fde962bed26ee41c370e48bce678320"></a>
+task * </td><td class="memItemRight" valign="bottom"><b>grab_forwarding_task</b> (<a class="el" href="a00028.html">buffer_operation</a> &op_data)</td></tr>
+<tr class="separator:a5fde962bed26ee41c370e48bce678320 inherit pro_methods_a00027"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a19dbfc4065f57efd7375fcc1b259dd9c inherit pro_methods_a00027"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a19dbfc4065f57efd7375fcc1b259dd9c"></a>
+bool </td><td class="memItemRight" valign="bottom"><b>enqueue_forwarding_task</b> (<a class="el" href="a00028.html">buffer_operation</a> &op_data)</td></tr>
+<tr class="separator:a19dbfc4065f57efd7375fcc1b259dd9c inherit pro_methods_a00027"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a8910a497040a4c6f1a6a1fb7a33a8888 inherit pro_methods_a00027"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8910a497040a4c6f1a6a1fb7a33a8888"></a>
+virtual task * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00027.html#a8910a497040a4c6f1a6a1fb7a33a8888">forward_task</a> ()</td></tr>
+<tr class="memdesc:a8910a497040a4c6f1a6a1fb7a33a8888 inherit pro_methods_a00027"><td class="mdescLeft"> </td><td class="mdescRight">This is executed by an enqueued task, the "forwarder". <br/></td></tr>
+<tr class="separator:a8910a497040a4c6f1a6a1fb7a33a8888 inherit pro_methods_a00027"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:afa2dd93a1b42e77ccf7e1de0fddf3158 inherit pro_methods_a00027"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afa2dd93a1b42e77ccf7e1de0fddf3158"></a>
+virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00027.html#afa2dd93a1b42e77ccf7e1de0fddf3158">internal_reg_succ</a> (<a class="el" href="a00028.html">buffer_operation</a> *op)</td></tr>
+<tr class="memdesc:afa2dd93a1b42e77ccf7e1de0fddf3158 inherit pro_methods_a00027"><td class="mdescLeft"> </td><td class="mdescRight">Register successor. <br/></td></tr>
+<tr class="separator:afa2dd93a1b42e77ccf7e1de0fddf3158 inherit pro_methods_a00027"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a46c7f9cd9130036244d4ea8efd74bf22 inherit pro_methods_a00027"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a46c7f9cd9130036244d4ea8efd74bf22"></a>
+virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00027.html#a46c7f9cd9130036244d4ea8efd74bf22">internal_rem_succ</a> (<a class="el" href="a00028.html">buffer_operation</a> *op)</td></tr>
+<tr class="memdesc:a46c7f9cd9130036244d4ea8efd74bf22 inherit pro_methods_a00027"><td class="mdescLeft"> </td><td class="mdescRight">Remove successor. <br/></td></tr>
+<tr class="separator:a46c7f9cd9130036244d4ea8efd74bf22 inherit pro_methods_a00027"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a2fe75e82e8dffa7d13fa9e82d9951dba inherit pro_methods_a00027"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2fe75e82e8dffa7d13fa9e82d9951dba"></a>
+virtual void </td><td class="memItemRight" valign="bottom"><b>internal_push</b> (<a class="el" href="a00028.html">buffer_operation</a> *op)</td></tr>
+<tr class="separator:a2fe75e82e8dffa7d13fa9e82d9951dba inherit pro_methods_a00027"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ae7b3eee1ec878f6f0055f6133b233c09 inherit pro_methods_a00027"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae7b3eee1ec878f6f0055f6133b233c09"></a>
+virtual void </td><td class="memItemRight" valign="bottom"><b>internal_release</b> (<a class="el" href="a00028.html">buffer_operation</a> *op)</td></tr>
+<tr class="separator:ae7b3eee1ec878f6f0055f6133b233c09 inherit pro_methods_a00027"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aa4517c0a58649ea5eb140ab4b786e1ec inherit pro_methods_a00027"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa4517c0a58649ea5eb140ab4b786e1ec"></a>
+task * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00027.html#aa4517c0a58649ea5eb140ab4b786e1ec">try_put_task</a> (const T &t)</td></tr>
+<tr class="memdesc:aa4517c0a58649ea5eb140ab4b786e1ec inherit pro_methods_a00027"><td class="mdescLeft"> </td><td class="mdescRight">receive an item, return a task *if possible <br/></td></tr>
+<tr class="separator:aa4517c0a58649ea5eb140ab4b786e1ec inherit pro_methods_a00027"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a5c02d02bdb7ab20055d2f0aaba8d3c9c inherit pro_methods_a00027"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5c02d02bdb7ab20055d2f0aaba8d3c9c"></a>
+void </td><td class="memItemRight" valign="bottom"><b>reset</b> ()</td></tr>
+<tr class="separator:a5c02d02bdb7ab20055d2f0aaba8d3c9c inherit pro_methods_a00027"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aa4fe0ea40c0f1ed6d109eed8d8bf25ee inherit pro_methods_a00027"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa4fe0ea40c0f1ed6d109eed8d8bf25ee"></a>
+void </td><td class="memItemRight" valign="bottom"><b>reset_receiver</b> ()</td></tr>
+<tr class="separator:aa4fe0ea40c0f1ed6d109eed8d8bf25ee inherit pro_methods_a00027"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="inherit_header pro_methods_a00106"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_a00106')"><img src="closed.png" alt="-"/> Protected Member Functions inherited from <a class="el" href="a00106.html">tbb::flow::interface7::receiver< T ></a></td></tr>
+<tr class="memitem:ae91eab3e06d4139ac38f143c74fe9eab inherit pro_methods_a00106"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae91eab3e06d4139ac38f143c74fe9eab"></a>
+virtual bool </td><td class="memItemRight" valign="bottom"><b>is_continue_receiver</b> ()</td></tr>
+<tr class="separator:ae91eab3e06d4139ac38f143c74fe9eab inherit pro_methods_a00106"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
+Additional Inherited Members</h2></td></tr>
+<tr class="inherit_header pro_attribs_a00027"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_a00027')"><img src="closed.png" alt="-"/> Protected Attributes inherited from <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td></tr>
+<tr class="memitem:ade2fe89be00e023aafb1d3c380762048 inherit pro_attribs_a00027"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ade2fe89be00e023aafb1d3c380762048"></a>
+<a class="el" href="a00108.html">internal::round_robin_cache</a>< T, <br class="typebreak"/>
+<a class="el" href="a00084.html">null_rw_mutex</a> > </td><td class="memItemRight" valign="bottom"><b>my_successors</b></td></tr>
+<tr class="separator:ade2fe89be00e023aafb1d3c380762048 inherit pro_attribs_a00027"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a441fb73f0e15aed49945fb7ec9925e9f inherit pro_attribs_a00027"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a441fb73f0e15aed49945fb7ec9925e9f"></a>
+bool </td><td class="memItemRight" valign="bottom"><b>forwarder_busy</b></td></tr>
+<tr class="separator:a441fb73f0e15aed49945fb7ec9925e9f inherit pro_attribs_a00027"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:adc948866a1eb4c7a95b0edc08872d487 inherit pro_attribs_a00027"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adc948866a1eb4c7a95b0edc08872d487"></a>
+internal::aggregator<br class="typebreak"/>
+< my_handler, <a class="el" href="a00028.html">buffer_operation</a> > </td><td class="memItemRight" valign="bottom"><b>my_aggregator</b></td></tr>
+<tr class="separator:adc948866a1eb4c7a95b0edc08872d487 inherit pro_attribs_a00027"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><h3>template<typename T, typename A = cache_aligned_allocator<T>><br/>
+class tbb::flow::interface7::queue_node< T, A ></h3>
+
+<p>Forwards messages in FIFO order. </p>
+</div><hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="a00179.html">flow_graph.h</a></li>
+</ul>
+</div><!-- contents -->
+<hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00092.png b/doc/html/a00092.png
new file mode 100644
index 0000000..98df659
Binary files /dev/null and b/doc/html/a00092.png differ
diff --git a/doc/html/a00093.html b/doc/html/a00093.html
index c8e11d5..28ca6c4 100644
--- a/doc/html/a00093.html
+++ b/doc/html/a00093.html
@@ -1,35 +1,94 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::queuing_mutex Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<h1>tbb::null_mutex::scoped_lock Member List</h1>This is the complete list of members for <a class="el" href="a00316.html">tbb::null_mutex::scoped_lock</a>, including all inherited members.<p><table>
-  <tr bgcolor="#f0f0f0"><td><b>acquire</b>(null_mutex &) (defined in <a class="el" href="a00316.html">tbb::null_mutex::scoped_lock</a>)</td><td><a class="el" href="a00316.html">tbb::null_mutex::scoped_lock</a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>release</b>() (defined in <a class="el" href="a00316.html">tbb::null_mutex::scoped_lock</a>)</td><td><a class="el" href="a00316.html">tbb::null_mutex::scoped_lock</a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>scoped_lock</b>() (defined in <a class="el" href="a00316.html">tbb::null_mutex::scoped_lock</a>)</td><td><a class="el" href="a00316.html">tbb::null_mutex::scoped_lock</a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>scoped_lock</b>(null_mutex &) (defined in <a class="el" href="a00316.html">tbb::null_mutex::scoped_lock</a>)</td><td><a class="el" href="a00316.html">tbb::null_mutex::scoped_lock</a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>try_acquire</b>(null_mutex &) (defined in <a class="el" href="a00316.html">tbb::null_mutex::scoped_lock</a>)</td><td><a class="el" href="a00316.html">tbb::null_mutex::scoped_lock</a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>~scoped_lock</b>() (defined in <a class="el" href="a00316.html">tbb::null_mutex::scoped_lock</a>)</td><td><a class="el" href="a00316.html">tbb::null_mutex::scoped_lock</a></td><td><code> [inline]</code></td></tr>
-</table><hr>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00093.html">queuing_mutex</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Classes</a> |
+<a href="#pub-methods">Public Member Functions</a> |
+<a href="#pub-static-attribs">Static Public Attributes</a> |
+<a href="a00271.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::queuing_mutex Class Reference<div class="ingroups"><a class="el" href="a00237.html">Synchronization</a></div></div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Queuing mutex with local-only spinning.  
+ <a href="a00093.html#details">More...</a></p>
+
+<p><code>#include <queuing_mutex.h></code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Classes</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00121.html">scoped_lock</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">The scoped locking pattern.  <a href="a00121.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a0e58fce2062ae349a30b320b7fdc9155"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0e58fce2062ae349a30b320b7fdc9155"></a>
+ </td><td class="memItemRight" valign="bottom"><a class="el" href="a00093.html#a0e58fce2062ae349a30b320b7fdc9155">queuing_mutex</a> ()</td></tr>
+<tr class="memdesc:a0e58fce2062ae349a30b320b7fdc9155"><td class="mdescLeft"> </td><td class="mdescRight">Construct unacquired mutex. <br/></td></tr>
+<tr class="separator:a0e58fce2062ae349a30b320b7fdc9155"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ae475e98e804c75239748b293e7e0feff"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae475e98e804c75239748b293e7e0feff"></a>
+void __TBB_EXPORTED_METHOD </td><td class="memItemRight" valign="bottom"><b>internal_construct</b> ()</td></tr>
+<tr class="separator:ae475e98e804c75239748b293e7e0feff"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-attribs"></a>
+Static Public Attributes</h2></td></tr>
+<tr class="memitem:a504f3af8a939468f1514604c0941bc62"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a504f3af8a939468f1514604c0941bc62"></a>
+static const bool </td><td class="memItemRight" valign="bottom"><b>is_rw_mutex</b> = false</td></tr>
+<tr class="separator:a504f3af8a939468f1514604c0941bc62"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a47ad4cdac79581c01a66241e2e5c2c07"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a47ad4cdac79581c01a66241e2e5c2c07"></a>
+static const bool </td><td class="memItemRight" valign="bottom"><b>is_recursive_mutex</b> = false</td></tr>
+<tr class="separator:a47ad4cdac79581c01a66241e2e5c2c07"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a5b4833b97208bd699cba061dfc3057cc"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5b4833b97208bd699cba061dfc3057cc"></a>
+static const bool </td><td class="memItemRight" valign="bottom"><b>is_fair_mutex</b> = true</td></tr>
+<tr class="separator:a5b4833b97208bd699cba061dfc3057cc"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Queuing mutex with local-only spinning. </p>
+</div><hr/>The documentation for this class was generated from the following file:<ul>
+<li>queuing_mutex.h</li>
+</ul>
+</div><!-- contents -->
+<hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00094.html b/doc/html/a00094.html
index 1ec5e34..2af5a70 100644
--- a/doc/html/a00094.html
+++ b/doc/html/a00094.html
@@ -1,33 +1,99 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::queuing_rw_mutex Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<h1>tbb::null_rw_mutex Member List</h1>This is the complete list of members for <a class="el" href="a00317.html">tbb::null_rw_mutex</a>, including all inherited members.<p><table>
-  <tr bgcolor="#f0f0f0"><td><b>is_fair_mutex</b> (defined in <a class="el" href="a00317.html">tbb::null_rw_mutex</a>)</td><td><a class="el" href="a00317.html">tbb::null_rw_mutex</a></td><td><code> [static]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>is_recursive_mutex</b> (defined in <a class="el" href="a00317.html">tbb::null_rw_mutex</a>)</td><td><a class="el" href="a00317.html">tbb::null_rw_mutex</a></td><td><code> [static]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>is_rw_mutex</b> (defined in <a class="el" href="a00317.html">tbb::null_rw_mutex</a>)</td><td><a class="el" href="a00317.html">tbb::null_rw_mutex</a></td><td><code> [static]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>null_rw_mutex</b>() (defined in <a class="el" href="a00317.html">tbb::null_rw_mutex</a>)</td><td><a class="el" href="a00317.html">tbb::null_rw_mutex</a></td><td><code> [inline]</code></td></tr>
-</table><hr>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00094.html">queuing_rw_mutex</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Classes</a> |
+<a href="#pub-methods">Public Member Functions</a> |
+<a href="#pub-static-attribs">Static Public Attributes</a> |
+<a href="a00273.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::queuing_rw_mutex Class Reference<div class="ingroups"><a class="el" href="a00237.html">Synchronization</a></div></div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Queuing reader-writer mutex with local-only spinning.  
+ <a href="a00094.html#details">More...</a></p>
+
+<p><code>#include <queuing_rw_mutex.h></code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Classes</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00119.html">scoped_lock</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">The scoped locking pattern.  <a href="a00119.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a23de1ac415b6f54b778c8fd6ec6073e0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a23de1ac415b6f54b778c8fd6ec6073e0"></a>
+ </td><td class="memItemRight" valign="bottom"><a class="el" href="a00094.html#a23de1ac415b6f54b778c8fd6ec6073e0">queuing_rw_mutex</a> ()</td></tr>
+<tr class="memdesc:a23de1ac415b6f54b778c8fd6ec6073e0"><td class="mdescLeft"> </td><td class="mdescRight">Construct unacquired mutex. <br/></td></tr>
+<tr class="separator:a23de1ac415b6f54b778c8fd6ec6073e0"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ae67fe828d7e07222e7876ef9fd780fcc"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae67fe828d7e07222e7876ef9fd780fcc"></a>
+ </td><td class="memItemRight" valign="bottom"><a class="el" href="a00094.html#ae67fe828d7e07222e7876ef9fd780fcc">~queuing_rw_mutex</a> ()</td></tr>
+<tr class="memdesc:ae67fe828d7e07222e7876ef9fd780fcc"><td class="mdescLeft"> </td><td class="mdescRight">Destructor asserts if the mutex is acquired, i.e. q_tail is non-NULL. <br/></td></tr>
+<tr class="separator:ae67fe828d7e07222e7876ef9fd780fcc"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:afd032e7e13804cd4d1cd8fce60d773f8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afd032e7e13804cd4d1cd8fce60d773f8"></a>
+void __TBB_EXPORTED_METHOD </td><td class="memItemRight" valign="bottom"><b>internal_construct</b> ()</td></tr>
+<tr class="separator:afd032e7e13804cd4d1cd8fce60d773f8"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-attribs"></a>
+Static Public Attributes</h2></td></tr>
+<tr class="memitem:ae3dbfbf71bfa9c662a59688cd86bfbd7"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae3dbfbf71bfa9c662a59688cd86bfbd7"></a>
+static const bool </td><td class="memItemRight" valign="bottom"><b>is_rw_mutex</b> = true</td></tr>
+<tr class="separator:ae3dbfbf71bfa9c662a59688cd86bfbd7"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ae8c3ee1f5ab3af3954abeec1d165ea8e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae8c3ee1f5ab3af3954abeec1d165ea8e"></a>
+static const bool </td><td class="memItemRight" valign="bottom"><b>is_recursive_mutex</b> = false</td></tr>
+<tr class="separator:ae8c3ee1f5ab3af3954abeec1d165ea8e"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a4704d512922b4b5d21c97901f9f7abd0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4704d512922b4b5d21c97901f9f7abd0"></a>
+static const bool </td><td class="memItemRight" valign="bottom"><b>is_fair_mutex</b> = true</td></tr>
+<tr class="separator:a4704d512922b4b5d21c97901f9f7abd0"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Queuing reader-writer mutex with local-only spinning. </p>
+<p>Adapted from Krieger, Stumm, et al. pseudocode at <a href="http://www.eecg.toronto.edu/parallel/pubs_abs.html#Krieger_etal_ICPP93">http://www.eecg.toronto.edu/parallel/pubs_abs.html#Krieger_etal_ICPP93</a> </p>
+</div><hr/>The documentation for this class was generated from the following file:<ul>
+<li>queuing_rw_mutex.h</li>
+</ul>
+</div><!-- contents -->
+<hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00095.html b/doc/html/a00095.html
index d3f5080..09ef886 100644
--- a/doc/html/a00095.html
+++ b/doc/html/a00095.html
@@ -1,37 +1,228 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::interface5::reader_writer_lock Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<h1>tbb::null_rw_mutex::scoped_lock Member List</h1>This is the complete list of members for <a class="el" href="a00318.html">tbb::null_rw_mutex::scoped_lock</a>, including all inherited members.<p><table>
-  <tr bgcolor="#f0f0f0"><td><b>acquire</b>(null_rw_mutex &, bool=true) (defined in <a class="el" href="a00318.html">tbb::null_rw_mutex::scoped_lock</a>)</td><td><a class="el" href="a00318.html">tbb::null_rw_mutex::scoped_lock</a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>downgrade_to_reader</b>() (defined in <a class="el" href="a00318.html">tbb::null_rw_mutex::scoped_lock</a>)</td><td><a class="el" href="a00318.html">tbb::null_rw_mutex::scoped_lock</a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>release</b>() (defined in <a class="el" href="a00318.html">tbb::null_rw_mutex::scoped_lock</a>)</td><td><a class="el" href="a00318.html">tbb::null_rw_mutex::scoped_lock</a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>scoped_lock</b>() (defined in <a class="el" href="a00318.html">tbb::null_rw_mutex::scoped_lock</a>)</td><td><a class="el" href="a00318.html">tbb::null_rw_mutex::scoped_lock</a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>scoped_lock</b>(null_rw_mutex &, bool=true) (defined in <a class="el" href="a00318.html">tbb::null_rw_mutex::scoped_lock</a>)</td><td><a class="el" href="a00318.html">tbb::null_rw_mutex::scoped_lock</a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>try_acquire</b>(null_rw_mutex &, bool=true) (defined in <a class="el" href="a00318.html">tbb::null_rw_mutex::scoped_lock</a>)</td><td><a class="el" href="a00318.html">tbb::null_rw_mutex::scoped_lock</a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>upgrade_to_writer</b>() (defined in <a class="el" href="a00318.html">tbb::null_rw_mutex::scoped_lock</a>)</td><td><a class="el" href="a00318.html">tbb::null_rw_mutex::scoped_lock</a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>~scoped_lock</b>() (defined in <a class="el" href="a00318.html">tbb::null_rw_mutex::scoped_lock</a>)</td><td><a class="el" href="a00318.html">tbb::null_rw_mutex::scoped_lock</a></td><td><code> [inline]</code></td></tr>
-</table><hr>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>interface5</b></li><li class="navelem"><a class="el" href="a00095.html">reader_writer_lock</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Classes</a> |
+<a href="#pub-types">Public Types</a> |
+<a href="#pub-methods">Public Member Functions</a> |
+<a href="#friends">Friends</a> |
+<a href="a00347.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::interface5::reader_writer_lock Class Reference<div class="ingroups"><a class="el" href="a00237.html">Synchronization</a></div></div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Writer-preference reader-writer lock with local-only spinning on readers.  
+ <a href="a00095.html#details">More...</a></p>
+
+<p><code>#include <reader_writer_lock.h></code></p>
+<div class="dynheader">
+Inheritance diagram for tbb::interface5::reader_writer_lock:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00095.png" usemap="#tbb::interface5::reader_writer_lock_map" alt=""/>
+  <map id="tbb::interface5::reader_writer_lock_map" name="tbb::interface5::reader_writer_lock_map">
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Classes</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00118.html">scoped_lock</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">The scoped lock pattern for write locks.  <a href="a00118.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00123.html">scoped_lock_read</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">The scoped lock pattern for read locks.  <a href="a00123.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:a29bbf9ca21c12b313d9fa5326feaf3ed"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00095.html#a29bbf9ca21c12b313d9fa5326feaf3ed">status_t</a> { <b>waiting_nonblocking</b>, 
+<b>waiting</b>, 
+<b>active</b>, 
+<b>invalid</b>
+ }</td></tr>
+<tr class="memdesc:a29bbf9ca21c12b313d9fa5326feaf3ed"><td class="mdescLeft"> </td><td class="mdescRight">Status type for nodes associated with lock instances.  <a href="a00095.html#a29bbf9ca21c12b313d9fa5326feaf3ed">More...</a><br/></td></tr>
+<tr class="separator:a29bbf9ca21c12b313d9fa5326feaf3ed"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:abceda6c50b0c36eacbef51f4682742f3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abceda6c50b0c36eacbef51f4682742f3"></a>
+ </td><td class="memItemRight" valign="bottom"><a class="el" href="a00095.html#abceda6c50b0c36eacbef51f4682742f3">reader_writer_lock</a> ()</td></tr>
+<tr class="memdesc:abceda6c50b0c36eacbef51f4682742f3"><td class="mdescLeft"> </td><td class="mdescRight">Constructs a new <a class="el" href="a00095.html" title="Writer-preference reader-writer lock with local-only spinning on readers. ">reader_writer_lock</a>. <br/></td></tr>
+<tr class="separator:abceda6c50b0c36eacbef51f4682742f3"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aeee96b648c7b5ff6126c8a2e13ec7241"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aeee96b648c7b5ff6126c8a2e13ec7241"></a>
+ </td><td class="memItemRight" valign="bottom"><a class="el" href="a00095.html#aeee96b648c7b5ff6126c8a2e13ec7241">~reader_writer_lock</a> ()</td></tr>
+<tr class="memdesc:aeee96b648c7b5ff6126c8a2e13ec7241"><td class="mdescLeft"> </td><td class="mdescRight">Destructs a <a class="el" href="a00095.html" title="Writer-preference reader-writer lock with local-only spinning on readers. ">reader_writer_lock</a> object. <br/></td></tr>
+<tr class="separator:aeee96b648c7b5ff6126c8a2e13ec7241"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:af92eb949fc491af8f7e350869ea0a0d1"><td class="memItemLeft" align="right" valign="top">void __TBB_EXPORTED_METHOD </td><td class="memItemRight" valign="bottom"><a class="el" href="a00095.html#af92eb949fc491af8f7e350869ea0a0d1">lock</a> ()</td></tr>
+<tr class="memdesc:af92eb949fc491af8f7e350869ea0a0d1"><td class="mdescLeft"> </td><td class="mdescRight">Acquires the <a class="el" href="a00095.html" title="Writer-preference reader-writer lock with local-only spinning on readers. ">reader_writer_lock</a> for write.  <a href="#af92eb949fc491af8f7e350869ea0a0d1">More...</a><br/></td></tr>
+<tr class="separator:af92eb949fc491af8f7e350869ea0a0d1"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a1739e842af52925a2d4a7e821b9b3b8d"><td class="memItemLeft" align="right" valign="top">bool __TBB_EXPORTED_METHOD </td><td class="memItemRight" valign="bottom"><a class="el" href="a00095.html#a1739e842af52925a2d4a7e821b9b3b8d">try_lock</a> ()</td></tr>
+<tr class="memdesc:a1739e842af52925a2d4a7e821b9b3b8d"><td class="mdescLeft"> </td><td class="mdescRight">Tries to acquire the <a class="el" href="a00095.html" title="Writer-preference reader-writer lock with local-only spinning on readers. ">reader_writer_lock</a> for write.  <a href="#a1739e842af52925a2d4a7e821b9b3b8d">More...</a><br/></td></tr>
+<tr class="separator:a1739e842af52925a2d4a7e821b9b3b8d"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a6fd4fcdf0e5c0425d1cc736d644f234f"><td class="memItemLeft" align="right" valign="top">void __TBB_EXPORTED_METHOD </td><td class="memItemRight" valign="bottom"><a class="el" href="a00095.html#a6fd4fcdf0e5c0425d1cc736d644f234f">lock_read</a> ()</td></tr>
+<tr class="memdesc:a6fd4fcdf0e5c0425d1cc736d644f234f"><td class="mdescLeft"> </td><td class="mdescRight">Acquires the <a class="el" href="a00095.html" title="Writer-preference reader-writer lock with local-only spinning on readers. ">reader_writer_lock</a> for read.  <a href="#a6fd4fcdf0e5c0425d1cc736d644f234f">More...</a><br/></td></tr>
+<tr class="separator:a6fd4fcdf0e5c0425d1cc736d644f234f"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a9c7aa04e00202c9a1197cb6d870cabb4"><td class="memItemLeft" align="right" valign="top">bool __TBB_EXPORTED_METHOD </td><td class="memItemRight" valign="bottom"><a class="el" href="a00095.html#a9c7aa04e00202c9a1197cb6d870cabb4">try_lock_read</a> ()</td></tr>
+<tr class="memdesc:a9c7aa04e00202c9a1197cb6d870cabb4"><td class="mdescLeft"> </td><td class="mdescRight">Tries to acquire the <a class="el" href="a00095.html" title="Writer-preference reader-writer lock with local-only spinning on readers. ">reader_writer_lock</a> for read.  <a href="#a9c7aa04e00202c9a1197cb6d870cabb4">More...</a><br/></td></tr>
+<tr class="separator:a9c7aa04e00202c9a1197cb6d870cabb4"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a4c55c4dbde63e950fdc843c9b01a174f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4c55c4dbde63e950fdc843c9b01a174f"></a>
+void __TBB_EXPORTED_METHOD </td><td class="memItemRight" valign="bottom"><a class="el" href="a00095.html#a4c55c4dbde63e950fdc843c9b01a174f">unlock</a> ()</td></tr>
+<tr class="memdesc:a4c55c4dbde63e950fdc843c9b01a174f"><td class="mdescLeft"> </td><td class="mdescRight">Releases the <a class="el" href="a00095.html" title="Writer-preference reader-writer lock with local-only spinning on readers. ">reader_writer_lock</a>. <br/></td></tr>
+<tr class="separator:a4c55c4dbde63e950fdc843c9b01a174f"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
+Friends</h2></td></tr>
+<tr class="memitem:afcf922650b2fd9d76b7b939d8511bbd8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afcf922650b2fd9d76b7b939d8511bbd8"></a>
+class </td><td class="memItemRight" valign="bottom"><b>scoped_lock</b></td></tr>
+<tr class="separator:afcf922650b2fd9d76b7b939d8511bbd8"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a578ccbc6ecbc6d32cb45ccfdc0ed4ee6"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a578ccbc6ecbc6d32cb45ccfdc0ed4ee6"></a>
+class </td><td class="memItemRight" valign="bottom"><b>scoped_lock_read</b></td></tr>
+<tr class="separator:a578ccbc6ecbc6d32cb45ccfdc0ed4ee6"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Writer-preference reader-writer lock with local-only spinning on readers. </p>
+<p>Loosely adapted from Mellor-Crummey and Scott pseudocode at <a href="http://www.cs.rochester.edu/research/synchronization/pseudocode/rw.html#s_wp">http://www.cs.rochester.edu/research/synchronization/pseudocode/rw.html#s_wp</a> </p>
+</div><h2 class="groupheader">Member Enumeration Documentation</h2>
+<a class="anchor" id="a29bbf9ca21c12b313d9fa5326feaf3ed"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">enum <a class="el" href="a00095.html#a29bbf9ca21c12b313d9fa5326feaf3ed">tbb::interface5::reader_writer_lock::status_t</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Status type for nodes associated with lock instances. </p>
+<p>waiting_nonblocking: the wait state for nonblocking lock instances; for writes, these transition straight to active states; for reads, these are unused.</p>
+<p>waiting: the start and spin state for all lock instances; these will transition to active state when appropriate. Non-blocking write locks transition from this state to waiting_nonblocking immediately.</p>
+<p>active: the active state means that the lock instance holds the lock; it will transition to invalid state during node deletion</p>
+<p>invalid: the end state for all nodes; this is set in the destructor so if we encounter this state, we are looking at memory that has already been freed</p>
+<p>The state diagrams below describe the status transitions. Single arrows indicate that the thread that owns the node is responsible for the transition; double arrows indicate that any thread could make the transition.</p>
+<p>State diagram for <a class="el" href="a00118.html" title="The scoped lock pattern for write locks. ">scoped_lock</a> status:</p>
+<p>waiting -------—> waiting_nonblocking | _____________/ | V V V active --------------—> invalid</p>
+<p>State diagram for <a class="el" href="a00123.html" title="The scoped lock pattern for read locks. ">scoped_lock_read</a> status:</p>
+<p>waiting | V active --------------—>invalid </p>
+
+</div>
+</div>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="af92eb949fc491af8f7e350869ea0a0d1"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void __TBB_EXPORTED_METHOD tbb::interface5::reader_writer_lock::lock </td>
+          <td>(</td>
+          <td class="paramname">)</td><td></td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Acquires the <a class="el" href="a00095.html" title="Writer-preference reader-writer lock with local-only spinning on readers. ">reader_writer_lock</a> for write. </p>
+<p>If the lock is currently held in write mode by another context, the writer will block by spinning on a local variable. Exceptions thrown: <a class="el" href="a00065.html" title="Exception for PPL locks. ">improper_lock</a> The context tries to acquire a <a class="el" href="a00095.html" title="Writer-preference reader-writer lock with local-only spinning on readers. ">reader_writer_lock</a> that it already has write ownership of. </p>
+
+</div>
+</div>
+<a class="anchor" id="a6fd4fcdf0e5c0425d1cc736d644f234f"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void __TBB_EXPORTED_METHOD tbb::interface5::reader_writer_lock::lock_read </td>
+          <td>(</td>
+          <td class="paramname">)</td><td></td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Acquires the <a class="el" href="a00095.html" title="Writer-preference reader-writer lock with local-only spinning on readers. ">reader_writer_lock</a> for read. </p>
+<p>If the lock is currently held by a writer, this reader will block and wait until the writers are done. Exceptions thrown: <a class="el" href="a00065.html" title="Exception for PPL locks. ">improper_lock</a> The context tries to acquire a <a class="el" href="a00095.html" title="Writer-preference reader-writer lock with local-only spinning on readers. ">reader_writer_lock</a> that it already has write ownership of. </p>
+
+</div>
+</div>
+<a class="anchor" id="a1739e842af52925a2d4a7e821b9b3b8d"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool __TBB_EXPORTED_METHOD tbb::interface5::reader_writer_lock::try_lock </td>
+          <td>(</td>
+          <td class="paramname">)</td><td></td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Tries to acquire the <a class="el" href="a00095.html" title="Writer-preference reader-writer lock with local-only spinning on readers. ">reader_writer_lock</a> for write. </p>
+<p>This function does not block. Return Value: True or false, depending on whether the lock is acquired or not. If the lock is already held by this acquiring context, <a class="el" href="a00095.html#a1739e842af52925a2d4a7e821b9b3b8d" title="Tries to acquire the reader_writer_lock for write. ">try_lock()</a> returns false. </p>
+
+</div>
+</div>
+<a class="anchor" id="a9c7aa04e00202c9a1197cb6d870cabb4"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool __TBB_EXPORTED_METHOD tbb::interface5::reader_writer_lock::try_lock_read </td>
+          <td>(</td>
+          <td class="paramname">)</td><td></td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Tries to acquire the <a class="el" href="a00095.html" title="Writer-preference reader-writer lock with local-only spinning on readers. ">reader_writer_lock</a> for read. </p>
+<p>This function does not block. Return Value: True or false, depending on whether the lock is acquired or not. </p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>reader_writer_lock.h</li>
+</ul>
+</div><!-- contents -->
+<hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00095.png b/doc/html/a00095.png
new file mode 100644
index 0000000..12ea5c6
Binary files /dev/null and b/doc/html/a00095.png differ
diff --git a/doc/html/a00096.html b/doc/html/a00096.html
index 9de9a26..42e9be3 100644
--- a/doc/html/a00096.html
+++ b/doc/html/a00096.html
@@ -1,31 +1,64 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::cache_aligned_allocator< void >::rebind< U > Struct Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<h1>tbb::parallel_do_feeder< Item > Member List</h1>This is the complete list of members for <a class="el" href="a00319.html">tbb::parallel_do_feeder< Item ></a>, including all inherited members.<p><table>
-  <tr class="memlist"><td><a class="el" href="a00319.html#40baaf0f6856f4491dd0adf896c93516">add</a>(const Item &item)</td><td><a class="el" href="a00319.html">tbb::parallel_do_feeder< Item ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>internal::parallel_do_feeder_impl</b> (defined in <a class="el" href="a00319.html">tbb::parallel_do_feeder< Item ></a>)</td><td><a class="el" href="a00319.html">tbb::parallel_do_feeder< Item ></a></td><td><code> [friend]</code></td></tr>
-</table><hr>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00030.html">cache_aligned_allocator< void ></a></li><li class="navelem"><a class="el" href="a00096.html">rebind</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-types">Public Types</a> |
+<a href="a00253.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::cache_aligned_allocator< void >::rebind< U > Struct Template Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:a9a8756c2c1d9425bdf7490943ae0b189"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9a8756c2c1d9425bdf7490943ae0b189"></a>
+typedef <br class="typebreak"/>
+<a class="el" href="a00029.html">cache_aligned_allocator</a>< U > </td><td class="memItemRight" valign="bottom"><b>other</b></td></tr>
+<tr class="separator:a9a8756c2c1d9425bdf7490943ae0b189"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<hr/>The documentation for this struct was generated from the following file:<ul>
+<li>cache_aligned_allocator.h</li>
+</ul>
+</div><!-- contents -->
+<hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00097.html b/doc/html/a00097.html
new file mode 100644
index 0000000..6a3e2d0
--- /dev/null
+++ b/doc/html/a00097.html
@@ -0,0 +1,66 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::scalable_allocator< void >::rebind< U > Struct Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00112.html">scalable_allocator< void ></a></li><li class="navelem"><a class="el" href="a00097.html">rebind</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-types">Public Types</a> |
+<a href="a00280.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::scalable_allocator< void >::rebind< U > Struct Template Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:a37986044aa989f9c1f9edef6ab79435d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a37986044aa989f9c1f9edef6ab79435d"></a>
+typedef <a class="el" href="a00111.html">scalable_allocator</a>< U > </td><td class="memItemRight" valign="bottom"><b>other</b></td></tr>
+<tr class="separator:a37986044aa989f9c1f9edef6ab79435d"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<hr/>The documentation for this struct was generated from the following file:<ul>
+<li><a class="el" href="a00199.html">scalable_allocator.h</a></li>
+</ul>
+</div><!-- contents -->
+<hr>
+<p></p>
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
+<p></p>
+Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
+registered trademarks or trademarks of Intel Corporation or its
+subsidiaries in the United States and other countries.
+<p></p>
+* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00098.html b/doc/html/a00098.html
index fdd5b98..b37238a 100644
--- a/doc/html/a00098.html
+++ b/doc/html/a00098.html
@@ -1,30 +1,63 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::tbb_allocator< T >::rebind< U > Struct Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<h1>tbb::pre_scan_tag Member List</h1>This is the complete list of members for <a class="el" href="a00323.html">tbb::pre_scan_tag</a>, including all inherited members.<p><table>
-  <tr bgcolor="#f0f0f0"><td><b>is_final_scan</b>() (defined in <a class="el" href="a00323.html">tbb::pre_scan_tag</a>)</td><td><a class="el" href="a00323.html">tbb::pre_scan_tag</a></td><td><code> [inline, static]</code></td></tr>
-</table><hr>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00144.html">tbb_allocator</a></li><li class="navelem"><a class="el" href="a00098.html">rebind</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-types">Public Types</a> |
+<a href="a00290.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::tbb_allocator< T >::rebind< U > Struct Template Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:adbeadd225df01e2cde9ffe5d92293671"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adbeadd225df01e2cde9ffe5d92293671"></a>
+typedef <a class="el" href="a00144.html">tbb_allocator</a>< U > </td><td class="memItemRight" valign="bottom"><b>other</b></td></tr>
+<tr class="separator:adbeadd225df01e2cde9ffe5d92293671"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<hr/>The documentation for this struct was generated from the following file:<ul>
+<li>tbb_allocator.h</li>
+</ul>
+</div><!-- contents -->
+<hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00099.html b/doc/html/a00099.html
index 106c570..a1d12eb 100644
--- a/doc/html/a00099.html
+++ b/doc/html/a00099.html
@@ -1,30 +1,63 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::tbb_allocator< void >::rebind< U > Struct Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<h1>tbb::final_scan_tag Member List</h1>This is the complete list of members for <a class="el" href="a00296.html">tbb::final_scan_tag</a>, including all inherited members.<p><table>
-  <tr bgcolor="#f0f0f0"><td><b>is_final_scan</b>() (defined in <a class="el" href="a00296.html">tbb::final_scan_tag</a>)</td><td><a class="el" href="a00296.html">tbb::final_scan_tag</a></td><td><code> [inline, static]</code></td></tr>
-</table><hr>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00145.html">tbb_allocator< void ></a></li><li class="navelem"><a class="el" href="a00099.html">rebind</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-types">Public Types</a> |
+<a href="a00292.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::tbb_allocator< void >::rebind< U > Struct Template Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:a8f3c27dc0f43be2eafdfe8c6f222c44c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8f3c27dc0f43be2eafdfe8c6f222c44c"></a>
+typedef <a class="el" href="a00144.html">tbb_allocator</a>< U > </td><td class="memItemRight" valign="bottom"><b>other</b></td></tr>
+<tr class="separator:a8f3c27dc0f43be2eafdfe8c6f222c44c"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<hr/>The documentation for this struct was generated from the following file:<ul>
+<li>tbb_allocator.h</li>
+</ul>
+</div><!-- contents -->
+<hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00100.html b/doc/html/a00100.html
index 0ade400..91ca248 100644
--- a/doc/html/a00100.html
+++ b/doc/html/a00100.html
@@ -1,34 +1,64 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::zero_allocator< T, Allocator >::rebind< U > Struct Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<h1>tbb::parallel_while< Body > Member List</h1>This is the complete list of members for <a class="el" href="a00320.html">tbb::parallel_while< Body ></a>, including all inherited members.<p><table>
-  <tr class="memlist"><td><a class="el" href="a00320.html#e131c560057a58229992b61eb8dba4c6">add</a>(const value_type &item)</td><td><a class="el" href="a00320.html">tbb::parallel_while< Body ></a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00320.html#36e26ba3880c7bcf804a97ba0cbe133f">parallel_while</a>()</td><td><a class="el" href="a00320.html">tbb::parallel_while< Body ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00320.html#b32a0a6e5e09ebb7fad3e6652c19afe5">run</a>(Stream &stream, const Body &body)</td><td><a class="el" href="a00320.html">tbb::parallel_while< Body ></a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00320.html#fa297e53d3af2a101e712bc200233e9c">value_type</a> typedef</td><td><a class="el" href="a00320.html">tbb::parallel_while< Body ></a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00320.html#6fcfc973cc56b79c6d0fbb8a31be7e84">~parallel_while</a>()</td><td><a class="el" href="a00320.html">tbb::parallel_while< Body ></a></td><td><code> [inline]</code></td></tr>
-</table><hr>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00160.html">zero_allocator</a></li><li class="navelem"><a class="el" href="a00100.html">rebind</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-types">Public Types</a> |
+<a href="a00294.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::zero_allocator< T, Allocator >::rebind< U > Struct Template Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:aab450b73dbeb738f88700ac54ce04ce9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aab450b73dbeb738f88700ac54ce04ce9"></a>
+typedef <a class="el" href="a00160.html">zero_allocator</a>< U, <br class="typebreak"/>
+Allocator > </td><td class="memItemRight" valign="bottom"><b>other</b></td></tr>
+<tr class="separator:aab450b73dbeb738f88700ac54ce04ce9"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<hr/>The documentation for this struct was generated from the following file:<ul>
+<li>tbb_allocator.h</li>
+</ul>
+</div><!-- contents -->
+<hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00101.html b/doc/html/a00101.html
index 3a3bde4..9991356 100644
--- a/doc/html/a00101.html
+++ b/doc/html/a00101.html
@@ -1,31 +1,64 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::interface6::memory_pool_allocator< T, P >::rebind< U > Struct Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<h1>tbb::internal::affinity_partitioner_base_v3 Member List</h1>This is the complete list of members for <a class="el" href="a00262.html">tbb::internal::affinity_partitioner_base_v3</a>, including all inherited members.<p><table>
-  <tr bgcolor="#f0f0f0"><td><b>tbb::affinity_partitioner</b> (defined in <a class="el" href="a00262.html">tbb::internal::affinity_partitioner_base_v3</a>)</td><td><a class="el" href="a00262.html">tbb::internal::affinity_partitioner_base_v3</a></td><td><code> [friend]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>tbb::interface6::internal::affinity_partition_type</b> (defined in <a class="el" href="a00262.html">tbb::internal::affinity_partitioner_base_v3</a>)</td><td><a class="el" href="a00262.html">tbb::internal::affinity_partitioner_base_v3</a></td><td><code> [friend]</code></td></tr>
-</table><hr>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>interface6</b></li><li class="navelem"><a class="el" href="a00074.html">memory_pool_allocator</a></li><li class="navelem"><a class="el" href="a00101.html">rebind</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-types">Public Types</a> |
+<a href="a00357.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::interface6::memory_pool_allocator< T, P >::rebind< U > Struct Template Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:a1e9f9c6f0163df16980598fcafca665b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1e9f9c6f0163df16980598fcafca665b"></a>
+typedef <a class="el" href="a00074.html">memory_pool_allocator</a><br class="typebreak"/>
+< U, P > </td><td class="memItemRight" valign="bottom"><b>other</b></td></tr>
+<tr class="separator:a1e9f9c6f0163df16980598fcafca665b"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<hr/>The documentation for this struct was generated from the following file:<ul>
+<li><a class="el" href="a00180.html">memory_pool.h</a></li>
+</ul>
+</div><!-- contents -->
+<hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00102.html b/doc/html/a00102.html
index fd97764..38a0e56 100644
--- a/doc/html/a00102.html
+++ b/doc/html/a00102.html
@@ -1,34 +1,64 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::interface6::memory_pool_allocator< void, P >::rebind< U > Struct Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<h1>tbb::internal::partition_type_base Member List</h1>This is the complete list of members for <a class="el" href="a00321.html">tbb::internal::partition_type_base</a>, including all inherited members.<p><table>
-  <tr bgcolor="#f0f0f0"><td><b>continue_after_execute_range</b>() (defined in <a class="el" href="a00321.html">tbb::internal::partition_type_base</a>)</td><td><a class="el" href="a00321.html">tbb::internal::partition_type_base</a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>decide_whether_to_delay</b>() (defined in <a class="el" href="a00321.html">tbb::internal::partition_type_base</a>)</td><td><a class="el" href="a00321.html">tbb::internal::partition_type_base</a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>note_affinity</b>(task::affinity_id) (defined in <a class="el" href="a00321.html">tbb::internal::partition_type_base</a>)</td><td><a class="el" href="a00321.html">tbb::internal::partition_type_base</a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>set_affinity</b>(task &) (defined in <a class="el" href="a00321.html">tbb::internal::partition_type_base</a>)</td><td><a class="el" href="a00321.html">tbb::internal::partition_type_base</a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>spawn_or_delay</b>(bool, task &b) (defined in <a class="el" href="a00321.html">tbb::internal::partition_type_base</a>)</td><td><a class="el" href="a00321.html">tbb::internal::partition_type_base</a></td><td><code> [inline]</code></td></tr>
-</table><hr>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>interface6</b></li><li class="navelem"><a class="el" href="a00075.html">memory_pool_allocator< void, P ></a></li><li class="navelem"><a class="el" href="a00102.html">rebind</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-types">Public Types</a> |
+<a href="a00359.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::interface6::memory_pool_allocator< void, P >::rebind< U > Struct Template Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:a4a2190850873b9f2bc63c28dfd336dd9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4a2190850873b9f2bc63c28dfd336dd9"></a>
+typedef <a class="el" href="a00074.html">memory_pool_allocator</a><br class="typebreak"/>
+< U, P > </td><td class="memItemRight" valign="bottom"><b>other</b></td></tr>
+<tr class="separator:a4a2190850873b9f2bc63c28dfd336dd9"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<hr/>The documentation for this struct was generated from the following file:<ul>
+<li><a class="el" href="a00180.html">memory_pool.h</a></li>
+</ul>
+</div><!-- contents -->
+<hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00103.html b/doc/html/a00103.html
index 71fb512..bb4976f 100644
--- a/doc/html/a00103.html
+++ b/doc/html/a00103.html
@@ -1,34 +1,64 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::zero_allocator< void, Allocator >::rebind< U > Struct Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<h1>tbb::simple_partitioner Member List</h1>This is the complete list of members for <a class="el" href="a00341.html">tbb::simple_partitioner</a>, including all inherited members.<p><table>
-  <tr bgcolor="#f0f0f0"><td><b>interface6::internal::start_for</b> (defined in <a class="el" href="a00341.html">tbb::simple_partitioner</a>)</td><td><a class="el" href="a00341.html">tbb::simple_partitioner</a></td><td><code> [friend]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>interface6::internal::start_reduce</b> (defined in <a class="el" href="a00341.html">tbb::simple_partitioner</a>)</td><td><a class="el" href="a00341.html">tbb::simple_partitioner</a></td><td><code> [friend]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>internal::start_scan</b> (defined in <a class="el" href="a00341.html">tbb::simple_partitioner</a>)</td><td><a class="el" href="a00341.html">tbb::simple_partitioner</a></td><td><code> [friend]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>serial::interface6::start_for</b> (defined in <a class="el" href="a00341.html">tbb::simple_partitioner</a>)</td><td><a class="el" href="a00341.html">tbb::simple_partitioner</a></td><td><code> [friend]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>simple_partitioner</b>() (defined in <a class="el" href="a00341.html">tbb::simple_partitioner</a>)</td><td><a class="el" href="a00341.html">tbb::simple_partitioner</a></td><td><code> [inline]</code></td></tr>
-</table><hr>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00161.html">zero_allocator< void, Allocator ></a></li><li class="navelem"><a class="el" href="a00103.html">rebind</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-types">Public Types</a> |
+<a href="a00296.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::zero_allocator< void, Allocator >::rebind< U > Struct Template Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:a6a001a156c058ee1194ba55ce534a43e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6a001a156c058ee1194ba55ce534a43e"></a>
+typedef <a class="el" href="a00160.html">zero_allocator</a>< U, <br class="typebreak"/>
+Allocator > </td><td class="memItemRight" valign="bottom"><b>other</b></td></tr>
+<tr class="separator:a6a001a156c058ee1194ba55ce534a43e"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<hr/>The documentation for this struct was generated from the following file:<ul>
+<li>tbb_allocator.h</li>
+</ul>
+</div><!-- contents -->
+<hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00104.html b/doc/html/a00104.html
new file mode 100644
index 0000000..5787d8d
--- /dev/null
+++ b/doc/html/a00104.html
@@ -0,0 +1,67 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::cache_aligned_allocator< T >::rebind< U > Struct Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00029.html">cache_aligned_allocator</a></li><li class="navelem"><a class="el" href="a00104.html">rebind</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-types">Public Types</a> |
+<a href="a00251.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::cache_aligned_allocator< T >::rebind< U > Struct Template Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:a1bb89d2224e26a9dfee7ef1adbac8b3d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1bb89d2224e26a9dfee7ef1adbac8b3d"></a>
+typedef <br class="typebreak"/>
+<a class="el" href="a00029.html">cache_aligned_allocator</a>< U > </td><td class="memItemRight" valign="bottom"><b>other</b></td></tr>
+<tr class="separator:a1bb89d2224e26a9dfee7ef1adbac8b3d"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<hr/>The documentation for this struct was generated from the following file:<ul>
+<li>cache_aligned_allocator.h</li>
+</ul>
+</div><!-- contents -->
+<hr>
+<p></p>
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
+<p></p>
+Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
+registered trademarks or trademarks of Intel Corporation or its
+subsidiaries in the United States and other countries.
+<p></p>
+* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00105.html b/doc/html/a00105.html
index 85b5548..908cf4d 100644
--- a/doc/html/a00105.html
+++ b/doc/html/a00105.html
@@ -1,34 +1,63 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::scalable_allocator< T >::rebind< U > Struct Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<h1>tbb::auto_partitioner Member List</h1>This is the complete list of members for <a class="el" href="a00269.html">tbb::auto_partitioner</a>, including all inherited members.<p><table>
-  <tr bgcolor="#f0f0f0"><td><b>auto_partitioner</b>() (defined in <a class="el" href="a00269.html">tbb::auto_partitioner</a>)</td><td><a class="el" href="a00269.html">tbb::auto_partitioner</a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>interface6::internal::start_for</b> (defined in <a class="el" href="a00269.html">tbb::auto_partitioner</a>)</td><td><a class="el" href="a00269.html">tbb::auto_partitioner</a></td><td><code> [friend]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>interface6::internal::start_reduce</b> (defined in <a class="el" href="a00269.html">tbb::auto_partitioner</a>)</td><td><a class="el" href="a00269.html">tbb::auto_partitioner</a></td><td><code> [friend]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>internal::start_scan</b> (defined in <a class="el" href="a00269.html">tbb::auto_partitioner</a>)</td><td><a class="el" href="a00269.html">tbb::auto_partitioner</a></td><td><code> [friend]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>serial::interface6::start_for</b> (defined in <a class="el" href="a00269.html">tbb::auto_partitioner</a>)</td><td><a class="el" href="a00269.html">tbb::auto_partitioner</a></td><td><code> [friend]</code></td></tr>
-</table><hr>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00111.html">scalable_allocator</a></li><li class="navelem"><a class="el" href="a00105.html">rebind</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-types">Public Types</a> |
+<a href="a00278.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::scalable_allocator< T >::rebind< U > Struct Template Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:a4f44c77105a911769353936a23b780a6"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4f44c77105a911769353936a23b780a6"></a>
+typedef <a class="el" href="a00111.html">scalable_allocator</a>< U > </td><td class="memItemRight" valign="bottom"><b>other</b></td></tr>
+<tr class="separator:a4f44c77105a911769353936a23b780a6"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<hr/>The documentation for this struct was generated from the following file:<ul>
+<li><a class="el" href="a00199.html">scalable_allocator.h</a></li>
+</ul>
+</div><!-- contents -->
+<hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00106.html b/doc/html/a00106.html
index 1f767e1..0771610 100644
--- a/doc/html/a00106.html
+++ b/doc/html/a00106.html
@@ -1,36 +1,153 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::flow::interface7::receiver< T > Class Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<h1>tbb::affinity_partitioner Member List</h1>This is the complete list of members for <a class="el" href="a00261.html">tbb::affinity_partitioner</a>, including all inherited members.<p><table>
-  <tr bgcolor="#f0f0f0"><td><b>affinity_partitioner</b>() (defined in <a class="el" href="a00261.html">tbb::affinity_partitioner</a>)</td><td><a class="el" href="a00261.html">tbb::affinity_partitioner</a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>interface6::internal::start_for</b> (defined in <a class="el" href="a00261.html">tbb::affinity_partitioner</a>)</td><td><a class="el" href="a00261.html">tbb::affinity_partitioner</a></td><td><code> [friend]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>interface6::internal::start_reduce</b> (defined in <a class="el" href="a00261.html">tbb::affinity_partitioner</a>)</td><td><a class="el" href="a00261.html">tbb::affinity_partitioner</a></td><td><code> [friend]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>internal::start_scan</b> (defined in <a class="el" href="a00261.html">tbb::affinity_partitioner</a>)</td><td><a class="el" href="a00261.html">tbb::affinity_partitioner</a></td><td><code> [friend]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>serial::interface6::start_for</b> (defined in <a class="el" href="a00261.html">tbb::affinity_partitioner</a>)</td><td><a class="el" href="a00261.html">tbb::affinity_partitioner</a></td><td><code> [friend]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>tbb::affinity_partitioner</b> (defined in <a class="el" href="a00262.html">tbb::internal::affinity_partitioner_base_v3</a>)</td><td><a class="el" href="a00262.html">tbb::internal::affinity_partitioner_base_v3</a></td><td><code> [friend]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>tbb::interface6::internal::affinity_partition_type</b> (defined in <a class="el" href="a00262.html">tbb::internal::affinity_partitioner_base_v3</a>)</td><td><a class="el" href="a00262.html">tbb::internal::affinity_partitioner_base_v3</a></td><td><code> [friend]</code></td></tr>
-</table><hr>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>flow</b></li><li class="navelem"><b>interface7</b></li><li class="navelem"><a class="el" href="a00106.html">receiver</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-types">Public Types</a> |
+<a href="#pub-methods">Public Member Functions</a> |
+<a href="#pro-methods">Protected Member Functions</a> |
+<a href="#friends">Friends</a> |
+<a href="a00309.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::flow::interface7::receiver< T > Class Template Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Pure virtual template class that defines a receiver of messages of type T.  
+ <a href="a00106.html#details">More...</a></p>
+
+<p><code>#include <flow_graph.h></code></p>
+<div class="dynheader">
+Inheritance diagram for tbb::flow::interface7::receiver< T >:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00106.png" usemap="#tbb::flow::interface7::receiver< T >_map" alt=""/>
+  <map id="tbb::flow::interface7::receiver< T >_map" name="tbb::flow::interface7::receiver< T >_map">
+<area href="a00025.html" title="Forwards messages of type T to all successors. " alt="tbb::flow::interface7::broadcast_node< T >" shape="rect" coords="0,56,352,80"/>
+<area href="a00027.html" title="Forwards messages in arbitrary order. " alt="tbb::flow::interface7::buffer_node< T, A >" shape="rect" coords="362,56,714,80"/>
+<area href="a00072.html" title="Forwards messages only if the threshold has not been reached. " alt="tbb::flow::interface7::limiter_node< T >" shape="rect" coords="724,56,1076,80"/>
+<area href="a00086.html" alt="tbb::flow::interface7::overwrite_node< T >" shape="rect" coords="1086,56,1438,80"/>
+<area href="a00091.html" title="Forwards messages in priority order. " alt="tbb::flow::interface7::priority_queue_node< T, Compare, A >" shape="rect" coords="181,112,533,136"/>
+<area href="a00092.html" title="Forwards messages in FIFO order. " alt="tbb::flow::interface7::queue_node< T, A >" shape="rect" coords="543,112,895,136"/>
+<area href="a00159.html" alt="tbb::flow::interface7::write_once_node< T >" shape="rect" coords="1086,112,1438,136"/>
+<area href="a00125.html" title="Forwards messages in sequence order. " alt="tbb::flow::interface7::sequencer_node< T, A >" shape="rect" coords="543,168,895,192"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:a16eccc851b858604344bb8f1bb9eedc8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a16eccc851b858604344bb8f1bb9eedc8"></a>
+typedef T </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#a16eccc851b858604344bb8f1bb9eedc8">input_type</a></td></tr>
+<tr class="memdesc:a16eccc851b858604344bb8f1bb9eedc8"><td class="mdescLeft"> </td><td class="mdescRight">The input type of this receiver. <br/></td></tr>
+<tr class="separator:a16eccc851b858604344bb8f1bb9eedc8"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:afbadf5511bd568d283040cd88bd4e81e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afbadf5511bd568d283040cd88bd4e81e"></a>
+typedef <a class="el" href="a00124.html">sender</a>< T > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#afbadf5511bd568d283040cd88bd4e81e">predecessor_type</a></td></tr>
+<tr class="memdesc:afbadf5511bd568d283040cd88bd4e81e"><td class="mdescLeft"> </td><td class="mdescRight">The predecessor type for this node. <br/></td></tr>
+<tr class="separator:afbadf5511bd568d283040cd88bd4e81e"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a733889a9053478ef2fb2528e2205bf07"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a733889a9053478ef2fb2528e2205bf07"></a>
+virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#a733889a9053478ef2fb2528e2205bf07">~receiver</a> ()</td></tr>
+<tr class="memdesc:a733889a9053478ef2fb2528e2205bf07"><td class="mdescLeft"> </td><td class="mdescRight">Destructor. <br/></td></tr>
+<tr class="separator:a733889a9053478ef2fb2528e2205bf07"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aee5067bb4f4b71ffa786c1b33cb9aa6a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aee5067bb4f4b71ffa786c1b33cb9aa6a"></a>
+bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#aee5067bb4f4b71ffa786c1b33cb9aa6a">try_put</a> (const T &t)</td></tr>
+<tr class="memdesc:aee5067bb4f4b71ffa786c1b33cb9aa6a"><td class="mdescLeft"> </td><td class="mdescRight">Put an item to the receiver. <br/></td></tr>
+<tr class="separator:aee5067bb4f4b71ffa786c1b33cb9aa6a"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a16427aa709505de93ffe0d79136e4251"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a16427aa709505de93ffe0d79136e4251"></a>
+virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#a16427aa709505de93ffe0d79136e4251">register_predecessor</a> (<a class="el" href="a00106.html#afbadf5511bd568d283040cd88bd4e81e">predecessor_type</a> &)</td></tr>
+<tr class="memdesc:a16427aa709505de93ffe0d79136e4251"><td class="mdescLeft"> </td><td class="mdescRight">Add a predecessor to the node. <br/></td></tr>
+<tr class="separator:a16427aa709505de93ffe0d79136e4251"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a55adae6228bbdc1539695e1ec20e9762"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a55adae6228bbdc1539695e1ec20e9762"></a>
+virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#a55adae6228bbdc1539695e1ec20e9762">remove_predecessor</a> (<a class="el" href="a00106.html#afbadf5511bd568d283040cd88bd4e81e">predecessor_type</a> &)</td></tr>
+<tr class="memdesc:a55adae6228bbdc1539695e1ec20e9762"><td class="mdescLeft"> </td><td class="mdescRight">Remove a predecessor from the node. <br/></td></tr>
+<tr class="separator:a55adae6228bbdc1539695e1ec20e9762"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
+Protected Member Functions</h2></td></tr>
+<tr class="memitem:a3581a59d59476fffdc7caeea06c26371"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3581a59d59476fffdc7caeea06c26371"></a>
+virtual task * </td><td class="memItemRight" valign="bottom"><b>try_put_task</b> (const T &t)=0</td></tr>
+<tr class="separator:a3581a59d59476fffdc7caeea06c26371"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a39778b19a5b622d470e30418d576346f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a39778b19a5b622d470e30418d576346f"></a>
+virtual void </td><td class="memItemRight" valign="bottom"><b>reset_receiver</b> ()=0</td></tr>
+<tr class="separator:a39778b19a5b622d470e30418d576346f"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ae91eab3e06d4139ac38f143c74fe9eab"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae91eab3e06d4139ac38f143c74fe9eab"></a>
+virtual bool </td><td class="memItemRight" valign="bottom"><b>is_continue_receiver</b> ()</td></tr>
+<tr class="separator:ae91eab3e06d4139ac38f143c74fe9eab"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
+Friends</h2></td></tr>
+<tr class="memitem:abaf9bf74ca5f2854d09f5f07337280eb"><td class="memTemplParams" colspan="2"><a class="anchor" id="abaf9bf74ca5f2854d09f5f07337280eb"></a>
+template<typename R , typename B > </td></tr>
+<tr class="memitem:abaf9bf74ca5f2854d09f5f07337280eb"><td class="memTemplItemLeft" align="right" valign="top">class </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00106.html#abaf9bf74ca5f2854d09f5f07337280eb">run_and_put_task</a></td></tr>
+<tr class="memdesc:abaf9bf74ca5f2854d09f5f07337280eb"><td class="mdescLeft"> </td><td class="mdescRight">put item to successor; return task to run the successor if possible. <br/></td></tr>
+<tr class="separator:abaf9bf74ca5f2854d09f5f07337280eb"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a1360e38efe396058978cf3754ad620f5"><td class="memTemplParams" colspan="2"><a class="anchor" id="a1360e38efe396058978cf3754ad620f5"></a>
+template<typename X , typename Y > </td></tr>
+<tr class="memitem:a1360e38efe396058978cf3754ad620f5"><td class="memTemplItemLeft" align="right" valign="top">class </td><td class="memTemplItemRight" valign="bottom"><b>internal::broadcast_cache</b></td></tr>
+<tr class="separator:a1360e38efe396058978cf3754ad620f5"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:acbd9ac2610587a99cd7d43344297cc49"><td class="memTemplParams" colspan="2"><a class="anchor" id="acbd9ac2610587a99cd7d43344297cc49"></a>
+template<typename X , typename Y > </td></tr>
+<tr class="memitem:acbd9ac2610587a99cd7d43344297cc49"><td class="memTemplItemLeft" align="right" valign="top">class </td><td class="memTemplItemRight" valign="bottom"><b>internal::round_robin_cache</b></td></tr>
+<tr class="separator:acbd9ac2610587a99cd7d43344297cc49"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a05ec930a348f7eed564236d00edbda24"><td class="memTemplParams" colspan="2"><a class="anchor" id="a05ec930a348f7eed564236d00edbda24"></a>
+template<typename U > </td></tr>
+<tr class="memitem:a05ec930a348f7eed564236d00edbda24"><td class="memTemplItemLeft" align="right" valign="top">class </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00106.html#a05ec930a348f7eed564236d00edbda24">limiter_node</a></td></tr>
+<tr class="memdesc:a05ec930a348f7eed564236d00edbda24"><td class="mdescLeft"> </td><td class="mdescRight">put receiver back in initial state <br/></td></tr>
+<tr class="separator:a05ec930a348f7eed564236d00edbda24"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a73cd25db4e6e9497940262f70f3ffc54"><td class="memTemplParams" colspan="2"><a class="anchor" id="a73cd25db4e6e9497940262f70f3ffc54"></a>
+template<typename TT , typename M > </td></tr>
+<tr class="memitem:a73cd25db4e6e9497940262f70f3ffc54"><td class="memTemplItemLeft" align="right" valign="top">class </td><td class="memTemplItemRight" valign="bottom"><b>internal::successor_cache</b></td></tr>
+<tr class="separator:a73cd25db4e6e9497940262f70f3ffc54"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><h3>template<typename T><br/>
+class tbb::flow::interface7::receiver< T ></h3>
+
+<p>Pure virtual template class that defines a receiver of messages of type T. </p>
+</div><hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="a00179.html">flow_graph.h</a></li>
+</ul>
+</div><!-- contents -->
+<hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00106.png b/doc/html/a00106.png
new file mode 100644
index 0000000..80adf90
Binary files /dev/null and b/doc/html/a00106.png differ
diff --git a/doc/html/a00107.html b/doc/html/a00107.html
index b30c352..0a37a74 100644
--- a/doc/html/a00107.html
+++ b/doc/html/a00107.html
@@ -1,51 +1,151 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::recursive_mutex Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<h1>tbb::filter Member List</h1>This is the complete list of members for <a class="el" href="a00294.html">tbb::filter</a>, including all inherited members.<p><table>
-  <tr class="memlist"><td><a class="el" href="a00294.html#f17200974c33be21f42a5f00893de028">exact_exception_propagation</a></td><td><a class="el" href="a00294.html">tbb::filter</a></td><td><code> [protected, static]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>filter</b>(mode filter_mode) (defined in <a class="el" href="a00294.html">tbb::filter</a>)</td><td><a class="el" href="a00294.html">tbb::filter</a></td><td><code> [inline, protected]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00294.html#dd6a6e7210efc9bcaf2c5e08767d92b5">filter_is_bound</a></td><td><a class="el" href="a00294.html">tbb::filter</a></td><td><code> [protected, static]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00294.html#2e5eb65f95d8050186278077e433c5b1">filter_is_out_of_order</a></td><td><a class="el" href="a00294.html">tbb::filter</a></td><td><code> [protected, static]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00294.html#4b7de3a76e744f3d9c1bc5d437ea851d">filter_is_serial</a></td><td><a class="el" href="a00294.html">tbb::filter</a></td><td><code> [protected, static]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00294.html#bdd02a434a6e7499dd1e8f43aae96793">filter_may_emit_null</a></td><td><a class="el" href="a00294.html">tbb::filter</a></td><td><code> [protected, static]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00294.html#56275eb889c77c4807967133e21401bd">finalize</a>(void *)</td><td><a class="el" href="a00294.html">tbb::filter</a></td><td><code> [inline, virtual]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>internal::pipeline_root_task</b> (defined in <a class="el" href="a00294.html">tbb::filter</a>)</td><td><a class="el" href="a00294.html">tbb::filter</a></td><td><code> [friend]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>internal::stage_task</b> (defined in <a class="el" href="a00294.html">tbb::filter</a>)</td><td><a class="el" href="a00294.html">tbb::filter</a></td><td><code> [friend]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00294.html#15c29cae5d237e6d63dbfe5c94af89d5">is_bound</a>() const </td><td><a class="el" href="a00294.html">tbb::filter</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00294.html#cd53206c4795ef2df5df26b795caf692">is_ordered</a>() const </td><td><a class="el" href="a00294.html">tbb::filter</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00294.html#fcfec27656a69ff2072802ac001e936f">is_serial</a>() const </td><td><a class="el" href="a00294.html">tbb::filter</a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>my_pipeline</b>(NULL) (defined in <a class="el" href="a00294.html">tbb::filter</a>)</td><td><a class="el" href="a00294.html">tbb::filter</a></td><td><code> [protected]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>next_segment</b>(NULL) (defined in <a class="el" href="a00294.html">tbb::filter</a>)</td><td><a class="el" href="a00294.html">tbb::filter</a></td><td><code> [inline, protected]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00294.html#8ec4dfe053e94a2349d56781ddea8477">object_may_be_null</a>()</td><td><a class="el" href="a00294.html">tbb::filter</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00294.html#fa1b3dc1f4f47563ccab7f4d92f5b543">operator()</a>(void *item)=0</td><td><a class="el" href="a00294.html">tbb::filter</a></td><td><code> [pure virtual]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>pipeline</b> (defined in <a class="el" href="a00294.html">tbb::filter</a>)</td><td><a class="el" href="a00294.html">tbb::filter</a></td><td><code> [friend]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>prev_filter_in_pipeline</b>(not_in_pipeline()) (defined in <a class="el" href="a00294.html">tbb::filter</a>)</td><td><a class="el" href="a00294.html">tbb::filter</a></td><td><code> [protected]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>set_end_of_input</b>() (defined in <a class="el" href="a00294.html">tbb::filter</a>)</td><td><a class="el" href="a00294.html">tbb::filter</a></td><td><code> [protected]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>thread_bound_filter</b> (defined in <a class="el" href="a00294.html">tbb::filter</a>)</td><td><a class="el" href="a00294.html">tbb::filter</a></td><td><code> [friend]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>x1</b>((is_serial_?serial:parallel)|exact_exception_propagation)) (defined in <a class="el" href="a00294.html">tbb::filter</a>)</td><td><a class="el" href="a00294.html">tbb::filter</a></td><td><code> [protected]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00294.html#66d159f362293e3964ba3da8bc1d2604">~filter</a>()</td><td><a class="el" href="a00294.html">tbb::filter</a></td><td><code> [virtual]</code></td></tr>
-</table><hr>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00107.html">recursive_mutex</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Classes</a> |
+<a href="#pub-types">Public Types</a> |
+<a href="#pub-methods">Public Member Functions</a> |
+<a href="#pub-static-attribs">Static Public Attributes</a> |
+<a href="#friends">Friends</a> |
+<a href="a00275.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::recursive_mutex Class Reference<div class="ingroups"><a class="el" href="a00237.html">Synchronization</a></div></div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p><code>#include <recursive_mutex.h></code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Classes</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00120.html">scoped_lock</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">The scoped locking pattern.  <a href="a00120.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:a3d40334b0e26d5addfde5596e7f9aaec"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3d40334b0e26d5addfde5596e7f9aaec"></a>
+typedef LPCRITICAL_SECTION </td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#a3d40334b0e26d5addfde5596e7f9aaec">native_handle_type</a></td></tr>
+<tr class="memdesc:a3d40334b0e26d5addfde5596e7f9aaec"><td class="mdescLeft"> </td><td class="mdescRight">Return native_handle. <br/></td></tr>
+<tr class="separator:a3d40334b0e26d5addfde5596e7f9aaec"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a59f90e65656fec5a07e375c6e7cd39f3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a59f90e65656fec5a07e375c6e7cd39f3"></a>
+typedef pthread_mutex_t * </td><td class="memItemRight" valign="bottom"><b>native_handle_type</b></td></tr>
+<tr class="separator:a59f90e65656fec5a07e375c6e7cd39f3"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a47eb6e7e7ffa5d35341125792b17236b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a47eb6e7e7ffa5d35341125792b17236b"></a>
+ </td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#a47eb6e7e7ffa5d35341125792b17236b">recursive_mutex</a> ()</td></tr>
+<tr class="memdesc:a47eb6e7e7ffa5d35341125792b17236b"><td class="mdescLeft"> </td><td class="mdescRight">Construct unacquired <a class="el" href="a00107.html">recursive_mutex</a>. <br/></td></tr>
+<tr class="separator:a47eb6e7e7ffa5d35341125792b17236b"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:adea997b45dc4a360f38d14bde9c991f2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adea997b45dc4a360f38d14bde9c991f2"></a>
+void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#adea997b45dc4a360f38d14bde9c991f2">lock</a> ()</td></tr>
+<tr class="memdesc:adea997b45dc4a360f38d14bde9c991f2"><td class="mdescLeft"> </td><td class="mdescRight">Acquire lock. <br/></td></tr>
+<tr class="separator:adea997b45dc4a360f38d14bde9c991f2"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a8b181d9aaa95444145222cfe206e8094"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#a8b181d9aaa95444145222cfe206e8094">try_lock</a> ()</td></tr>
+<tr class="memdesc:a8b181d9aaa95444145222cfe206e8094"><td class="mdescLeft"> </td><td class="mdescRight">Try acquiring lock (non-blocking)  <a href="#a8b181d9aaa95444145222cfe206e8094">More...</a><br/></td></tr>
+<tr class="separator:a8b181d9aaa95444145222cfe206e8094"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:af57e8d25e0e7614e98bcfa50bc9416c8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af57e8d25e0e7614e98bcfa50bc9416c8"></a>
+void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html#af57e8d25e0e7614e98bcfa50bc9416c8">unlock</a> ()</td></tr>
+<tr class="memdesc:af57e8d25e0e7614e98bcfa50bc9416c8"><td class="mdescLeft"> </td><td class="mdescRight">Release lock. <br/></td></tr>
+<tr class="separator:af57e8d25e0e7614e98bcfa50bc9416c8"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a050ca2a8d3b5c98f9d6c1252856436db"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a050ca2a8d3b5c98f9d6c1252856436db"></a>
+<a class="el" href="a00107.html#a3d40334b0e26d5addfde5596e7f9aaec">native_handle_type</a> </td><td class="memItemRight" valign="bottom"><b>native_handle</b> ()</td></tr>
+<tr class="separator:a050ca2a8d3b5c98f9d6c1252856436db"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-attribs"></a>
+Static Public Attributes</h2></td></tr>
+<tr class="memitem:a668511b8520c41a342c038ba26ce70ff"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a668511b8520c41a342c038ba26ce70ff"></a>
+static const bool </td><td class="memItemRight" valign="bottom"><b>is_rw_mutex</b> = false</td></tr>
+<tr class="separator:a668511b8520c41a342c038ba26ce70ff"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a2817cf2c1a7875590548f49a834ca668"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2817cf2c1a7875590548f49a834ca668"></a>
+static const bool </td><td class="memItemRight" valign="bottom"><b>is_recursive_mutex</b> = true</td></tr>
+<tr class="separator:a2817cf2c1a7875590548f49a834ca668"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:abcc4a830c307cb4d25311550a527fe4d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abcc4a830c307cb4d25311550a527fe4d"></a>
+static const bool </td><td class="memItemRight" valign="bottom"><b>is_fair_mutex</b> = false</td></tr>
+<tr class="separator:abcc4a830c307cb4d25311550a527fe4d"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
+Friends</h2></td></tr>
+<tr class="memitem:afcf922650b2fd9d76b7b939d8511bbd8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afcf922650b2fd9d76b7b939d8511bbd8"></a>
+class </td><td class="memItemRight" valign="bottom"><b>scoped_lock</b></td></tr>
+<tr class="separator:afcf922650b2fd9d76b7b939d8511bbd8"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Mutex that allows recursive mutex acquisition. </p>
+</div><h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="a8b181d9aaa95444145222cfe206e8094"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool tbb::recursive_mutex::try_lock </td>
+          <td>(</td>
+          <td class="paramname">)</td><td></td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Try acquiring lock (non-blocking) </p>
+<p>Return true if lock acquired; false otherwise. </p>
+
+<p>References <a class="el" href="a00014.html#a3525dbbac0d4eaedfe18bc57b7760857">tbb::aligned_space< T, N >::begin()</a>.</p>
+
+<p>Referenced by <a class="el" href="a00120.html#a160bba506f4033980ddb69ab7a02c4fb">tbb::recursive_mutex::scoped_lock::try_acquire()</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>recursive_mutex.h</li>
+</ul>
+</div><!-- contents -->
+<hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00108.html b/doc/html/a00108.html
index 0006fd1..ffb785f 100644
--- a/doc/html/a00108.html
+++ b/doc/html/a00108.html
@@ -1,56 +1,53 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::flow::interface7::internal::round_robin_cache< T, M > Class Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<h1>tbb::thread_bound_filter Member List</h1>This is the complete list of members for <a class="el" href="a00361.html">tbb::thread_bound_filter</a>, including all inherited members.<p><table>
-  <tr bgcolor="#f0f0f0"><td><b>end_of_stream</b> enum value (defined in <a class="el" href="a00361.html">tbb::thread_bound_filter</a>)</td><td><a class="el" href="a00361.html">tbb::thread_bound_filter</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00294.html#f17200974c33be21f42a5f00893de028">exact_exception_propagation</a></td><td><a class="el" href="a00294.html">tbb::filter</a></td><td><code> [protected, static]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>filter</b>(mode filter_mode) (defined in <a class="el" href="a00294.html">tbb::filter</a>)</td><td><a class="el" href="a00294.html">tbb::filter</a></td><td><code> [inline, protected]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00294.html#dd6a6e7210efc9bcaf2c5e08767d92b5">filter_is_bound</a></td><td><a class="el" href="a00294.html">tbb::filter</a></td><td><code> [protected, static]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00294.html#2e5eb65f95d8050186278077e433c5b1">filter_is_out_of_order</a></td><td><a class="el" href="a00294.html">tbb::filter</a></td><td><code> [protected, static]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00294.html#4b7de3a76e744f3d9c1bc5d437ea851d">filter_is_serial</a></td><td><a class="el" href="a00294.html">tbb::filter</a></td><td><code> [protected, static]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00294.html#bdd02a434a6e7499dd1e8f43aae96793">filter_may_emit_null</a></td><td><a class="el" href="a00294.html">tbb::filter</a></td><td><code> [protected, static]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00294.html#56275eb889c77c4807967133e21401bd">finalize</a>(void *)</td><td><a class="el" href="a00294.html">tbb::filter</a></td><td><code> [inline, virtual]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>internal::pipeline_root_task</b> (defined in <a class="el" href="a00294.html">tbb::filter</a>)</td><td><a class="el" href="a00294.html">tbb::filter</a></td><td><code> [friend]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>internal::stage_task</b> (defined in <a class="el" href="a00294.html">tbb::filter</a>)</td><td><a class="el" href="a00294.html">tbb::filter</a></td><td><code> [friend]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00294.html#15c29cae5d237e6d63dbfe5c94af89d5">is_bound</a>() const </td><td><a class="el" href="a00294.html">tbb::filter</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00294.html#cd53206c4795ef2df5df26b795caf692">is_ordered</a>() const </td><td><a class="el" href="a00294.html">tbb::filter</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00294.html#fcfec27656a69ff2072802ac001e936f">is_serial</a>() const </td><td><a class="el" href="a00294.html">tbb::filter</a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>item_not_available</b> enum value (defined in <a class="el" href="a00361.html">tbb::thread_bound_filter</a>)</td><td><a class="el" href="a00361.html">tbb::thread_bound_filter</a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>my_pipeline</b>(NULL) (defined in <a class="el" href="a00294.html">tbb::filter</a>)</td><td><a class="el" href="a00294.html">tbb::filter</a></td><td><code> [protected]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>next_segment</b>(NULL) (defined in <a class="el" href="a00294.html">tbb::filter</a>)</td><td><a class="el" href="a00294.html">tbb::filter</a></td><td><code> [inline, protected]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00294.html#8ec4dfe053e94a2349d56781ddea8477">object_may_be_null</a>()</td><td><a class="el" href="a00294.html">tbb::filter</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00294.html#fa1b3dc1f4f47563ccab7f4d92f5b543">operator()</a>(void *item)=0</td><td><a class="el" href="a00294.html">tbb::filter</a></td><td><code> [pure virtual]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>prev_filter_in_pipeline</b>(not_in_pipeline()) (defined in <a class="el" href="a00294.html">tbb::filter</a>)</td><td><a class="el" href="a00294.html">tbb::filter</a></td><td><code> [protected]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00361.html#5e726bdc7fbd924c0b07bd558b1d4d5d">process_item</a>()</td><td><a class="el" href="a00361.html">tbb::thread_bound_filter</a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>result_type</b> enum name (defined in <a class="el" href="a00361.html">tbb::thread_bound_filter</a>)</td><td><a class="el" href="a00361.html">tbb::thread_bound_filter</a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>set_end_of_input</b>() (defined in <a class="el" href="a00294.html">tbb::filter</a>)</td><td><a class="el" href="a00294.html">tbb::filter</a></td><td><code> [protected]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>success</b> enum value (defined in <a class="el" href="a00361.html">tbb::thread_bound_filter</a>)</td><td><a class="el" href="a00361.html">tbb::thread_bound_filter</a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>thread_bound_filter</b>(mode filter_mode) (defined in <a class="el" href="a00361.html">tbb::thread_bound_filter</a>)</td><td><a class="el" href="a00361.html">tbb::thread_bound_filter</a></td><td><code> [inline, protected]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00361.html#c4f90f2c771bce748beb9be734fa286c">try_process_item</a>()</td><td><a class="el" href="a00361.html">tbb::thread_bound_filter</a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>x1</b>((is_serial_?serial:parallel)|exact_exception_propagation)) (defined in <a class="el" href="a00294.html">tbb::filter</a>)</td><td><a class="el" href="a00294.html">tbb::filter</a></td><td><code> [protected]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00294.html#66d159f362293e3964ba3da8bc1d2604">~filter</a>()</td><td><a class="el" href="a00294.html">tbb::filter</a></td><td><code> [virtual]</code></td></tr>
-</table><hr>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>flow</b></li><li class="navelem"><b>interface7</b></li><li class="navelem"><b>internal</b></li><li class="navelem"><a class="el" href="a00108.html">round_robin_cache</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::flow::interface7::internal::round_robin_cache< T, M > Class Template Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="a00179.html">flow_graph.h</a></li>
+</ul>
+</div><!-- contents -->
+<hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00109.html b/doc/html/a00109.html
index 559c8d2..878c999 100644
--- a/doc/html/a00109.html
+++ b/doc/html/a00109.html
@@ -1,41 +1,53 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::flow::interface7::run_and_put_task< R, B > Class Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<h1>tbb::pipeline Member List</h1>This is the complete list of members for <a class="el" href="a00322.html">tbb::pipeline</a>, including all inherited members.<p><table>
-  <tr class="memlist"><td><a class="el" href="a00322.html#38fb5c9c8395dd6f89a4ae2011a83e0d">add_filter</a>(filter &filter_)</td><td><a class="el" href="a00322.html">tbb::pipeline</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00322.html#2c84aef5b834b555ee220b176e25931e">clear</a>()</td><td><a class="el" href="a00322.html">tbb::pipeline</a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>filter</b> (defined in <a class="el" href="a00322.html">tbb::pipeline</a>)</td><td><a class="el" href="a00322.html">tbb::pipeline</a></td><td><code> [friend]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>internal::pipeline_cleaner</b> (defined in <a class="el" href="a00322.html">tbb::pipeline</a>)</td><td><a class="el" href="a00322.html">tbb::pipeline</a></td><td><code> [friend]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>internal::pipeline_root_task</b> (defined in <a class="el" href="a00322.html">tbb::pipeline</a>)</td><td><a class="el" href="a00322.html">tbb::pipeline</a></td><td><code> [friend]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>internal::stage_task</b> (defined in <a class="el" href="a00322.html">tbb::pipeline</a>)</td><td><a class="el" href="a00322.html">tbb::pipeline</a></td><td><code> [friend]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00322.html#596dc3beba27099c4c8581cb419e1a59">pipeline</a>()</td><td><a class="el" href="a00322.html">tbb::pipeline</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00322.html#f627616049b3fe36801f37ee40403ef8">run</a>(size_t max_number_of_live_tokens)</td><td><a class="el" href="a00322.html">tbb::pipeline</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00322.html#93d7fec8cd607b803dd2d79fb46bd260">run</a>(size_t max_number_of_live_tokens, tbb::task_group_context &context)</td><td><a class="el" href="a00322.html">tbb::pipeline</a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>tbb::interface6::internal::pipeline_proxy</b> (defined in <a class="el" href="a00322.html">tbb::pipeline</a>)</td><td><a class="el" href="a00322.html">tbb::pipeline</a></td><td><code> [friend]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>thread_bound_filter</b> (defined in <a class="el" href="a00322.html">tbb::pipeline</a>)</td><td><a class="el" href="a00322.html">tbb::pipeline</a></td><td><code> [friend]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00322.html#49513c6c24f9d5bbbb27edca5efe01c9">~pipeline</a>()</td><td><a class="el" href="a00322.html">tbb::pipeline</a></td><td><code> [virtual]</code></td></tr>
-</table><hr>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>flow</b></li><li class="navelem"><b>interface7</b></li><li class="navelem"><a class="el" href="a00109.html">run_and_put_task</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::flow::interface7::run_and_put_task< R, B > Class Template Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="a00179.html">flow_graph.h</a></li>
+</ul>
+</div><!-- contents -->
+<hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00110.html b/doc/html/a00110.html
index 887695f..fa5fea4 100644
--- a/doc/html/a00110.html
+++ b/doc/html/a00110.html
@@ -1,31 +1,318 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::interface6::runtime_loader Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<h1>tbb::interface6::flow_control Member List</h1>This is the complete list of members for <a class="el" href="a00297.html">tbb::interface6::flow_control</a>, including all inherited members.<p><table>
-  <tr bgcolor="#f0f0f0"><td><b>internal::concrete_filter</b> (defined in <a class="el" href="a00297.html">tbb::interface6::flow_control</a>)</td><td><a class="el" href="a00297.html">tbb::interface6::flow_control</a></td><td><code> [friend]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>stop</b>() (defined in <a class="el" href="a00297.html">tbb::interface6::flow_control</a>)</td><td><a class="el" href="a00297.html">tbb::interface6::flow_control</a></td><td><code> [inline]</code></td></tr>
-</table><hr>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>interface6</b></li><li class="navelem"><a class="el" href="a00110.html">runtime_loader</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-types">Public Types</a> |
+<a href="#pub-methods">Public Member Functions</a> |
+<a href="a00364.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::interface6::runtime_loader Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Load TBB at runtime.  
+ <a href="a00110.html#details">More...</a></p>
+
+<p><code>#include <runtime_loader.h></code></p>
+<div class="dynheader">
+Inheritance diagram for tbb::interface6::runtime_loader:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00110.png" usemap="#tbb::interface6::runtime_loader_map" alt=""/>
+  <map id="tbb::interface6::runtime_loader_map" name="tbb::interface6::runtime_loader_map">
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:ab85c82f9c0ccd91905f2795a79ac1295"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#ab85c82f9c0ccd91905f2795a79ac1295">error_mode</a> { <a class="el" href="a00110.html#ab85c82f9c0ccd91905f2795a79ac1295af9c9137d6acdb0fd37f1a92b5cdaeb36">em_status</a>, 
+<a class="el" href="a00110.html#ab85c82f9c0ccd91905f2795a79ac1295a17ec1019cffa635146eaefb042e28a2c">em_throw</a>, 
+<a class="el" href="a00110.html#ab85c82f9c0ccd91905f2795a79ac1295ac41f8e03c7e8bfc6a420be035d59cc35">em_abort</a>
+ }</td></tr>
+<tr class="memdesc:ab85c82f9c0ccd91905f2795a79ac1295"><td class="mdescLeft"> </td><td class="mdescRight">Error mode constants.  <a href="a00110.html#ab85c82f9c0ccd91905f2795a79ac1295">More...</a><br/></td></tr>
+<tr class="separator:ab85c82f9c0ccd91905f2795a79ac1295"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a264674772d9f4240d89aa9d939c1eef7"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a264674772d9f4240d89aa9d939c1eef7">error_code</a> { <br/>
+  <a class="el" href="a00110.html#a264674772d9f4240d89aa9d939c1eef7afc7eba28f2fc936312f041cf85276434">ec_ok</a>, 
+<a class="el" href="a00110.html#a264674772d9f4240d89aa9d939c1eef7a670e4d0a5a3c1bbcdff9e5ee16dc9c01">ec_bad_call</a>, 
+<a class="el" href="a00110.html#a264674772d9f4240d89aa9d939c1eef7afd928f63eb3da0980e746d58374b07c3">ec_bad_arg</a>, 
+<a class="el" href="a00110.html#a264674772d9f4240d89aa9d939c1eef7a71f874957c0322f499ba764dd0bb8732">ec_bad_lib</a>, 
+<br/>
+  <a class="el" href="a00110.html#a264674772d9f4240d89aa9d939c1eef7aae7497a49ceae69d06d6ab9fef636064">ec_bad_ver</a>, 
+<a class="el" href="a00110.html#a264674772d9f4240d89aa9d939c1eef7a5e694560f3ada80d2cc25881b5ae43dd">ec_no_lib</a>
+<br/>
+ }</td></tr>
+<tr class="memdesc:a264674772d9f4240d89aa9d939c1eef7"><td class="mdescLeft"> </td><td class="mdescRight">Error codes.  <a href="a00110.html#a264674772d9f4240d89aa9d939c1eef7">More...</a><br/></td></tr>
+<tr class="separator:a264674772d9f4240d89aa9d939c1eef7"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a2f87eaf99564c705aa140f2eb8848eaa"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2f87eaf99564c705aa140f2eb8848eaa"></a>
+ </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a2f87eaf99564c705aa140f2eb8848eaa">runtime_loader</a> (<a class="el" href="a00110.html#ab85c82f9c0ccd91905f2795a79ac1295">error_mode</a> mode=<a class="el" href="a00110.html#ab85c82f9c0ccd91905f2795a79ac1295ac41f8e03c7e8bfc6a420be035d59cc35">em_abort</a>)</td></tr>
+<tr class="memdesc:a2f87eaf99564c705aa140f2eb8848eaa"><td class="mdescLeft"> </td><td class="mdescRight">Initialize object but do not load TBB. <br/></td></tr>
+<tr class="separator:a2f87eaf99564c705aa140f2eb8848eaa"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a3e0932074d2f3ad04605e7e5da88c561"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a3e0932074d2f3ad04605e7e5da88c561">runtime_loader</a> (char const *path[], int min_ver=TBB_INTERFACE_VERSION, int max_ver=INT_MAX, <a class="el" href="a00110.html#ab85c82f9c0ccd91905f2795a79ac1295">error_mode</a> mode=<a class="el" href="a00110.html#ab85c82f9c0ccd91905f2795a79ac1295ac41f8e03c7e8bfc6a42 [...]
+<tr class="memdesc:a3e0932074d2f3ad04605e7e5da88c561"><td class="mdescLeft"> </td><td class="mdescRight">Initialize object and load TBB.  <a href="#a3e0932074d2f3ad04605e7e5da88c561">More...</a><br/></td></tr>
+<tr class="separator:a3e0932074d2f3ad04605e7e5da88c561"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aa3b96f53e165e3d692c3c36292ba0737"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa3b96f53e165e3d692c3c36292ba0737"></a>
+ </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#aa3b96f53e165e3d692c3c36292ba0737">~runtime_loader</a> ()</td></tr>
+<tr class="memdesc:aa3b96f53e165e3d692c3c36292ba0737"><td class="mdescLeft"> </td><td class="mdescRight">Destroy object. <br/></td></tr>
+<tr class="separator:aa3b96f53e165e3d692c3c36292ba0737"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ae2949e9adcac56a2cb9864437be8e22e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00110.html#a264674772d9f4240d89aa9d939c1eef7">error_code</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#ae2949e9adcac56a2cb9864437be8e22e">load</a> (char const *path[], int min_ver=TBB_INTERFACE_VERSION, int max_ver=INT_MAX)</td></tr>
+<tr class="memdesc:ae2949e9adcac56a2cb9864437be8e22e"><td class="mdescLeft"> </td><td class="mdescRight">Load TBB.  <a href="#ae2949e9adcac56a2cb9864437be8e22e">More...</a><br/></td></tr>
+<tr class="separator:ae2949e9adcac56a2cb9864437be8e22e"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a85bf9ee021a2076a3ac7cfd70aae7345"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00110.html#a264674772d9f4240d89aa9d939c1eef7">error_code</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00110.html#a85bf9ee021a2076a3ac7cfd70aae7345">status</a> ()</td></tr>
+<tr class="memdesc:a85bf9ee021a2076a3ac7cfd70aae7345"><td class="mdescLeft"> </td><td class="mdescRight">Report status.  <a href="#a85bf9ee021a2076a3ac7cfd70aae7345">More...</a><br/></td></tr>
+<tr class="separator:a85bf9ee021a2076a3ac7cfd70aae7345"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Load TBB at runtime. </p>
+<p><b>Usage:</b> </p>
+<p>In source code:</p>
+<div class="fragment"><div class="line"><span class="preprocessor">#include "tbb/runtime_loader.h"</span></div>
+<div class="line"></div>
+<div class="line"><span class="keywordtype">char</span> <span class="keyword">const</span> * path[] = { <span class="stringliteral">"<install dir>/lib/ia32"</span>, NULL };</div>
+<div class="line">tbb::runtime_loader loader( path );</div>
+<div class="line"></div>
+<div class="line"><span class="comment">// Now use TBB.</span></div>
+</div><!-- fragment --><p>Link with <code>tbbproxy.lib</code> (or <code>libtbbproxy.a</code>) instead of <code>tbb.lib</code> (<code>libtbb.dylib</code>, <code>libtbb.so</code>).</p>
+<p>TBB library will be loaded at runtime from <code></code> <install dir>="">/lib/ia32 directory.</p>
+<p><b>Attention:</b> </p>
+<p>All <code><a class="el" href="a00110.html" title="Load TBB at runtime. ">runtime_loader</a></code> objects (in the same module, i.e. exe or dll) share some global state. The most noticeable piece of global state is loaded TBB library. There are some implications: </p>
+<pre class="fragment">-   Only one TBB library can be loaded per module.
+
+-   If one object has already loaded TBB library, another object will not load TBB.
+    If the loaded TBB library is suitable for the second object, both will use TBB
+    cooperatively, otherwise the second object will report an error.
+
+-   \c runtime_loader objects will not work (correctly) in parallel due to absence of
+    syncronization.</pre> </div><h2 class="groupheader">Member Enumeration Documentation</h2>
+<a class="anchor" id="a264674772d9f4240d89aa9d939c1eef7"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">enum <a class="el" href="a00110.html#a264674772d9f4240d89aa9d939c1eef7">tbb::interface6::runtime_loader::error_code</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Error codes. </p>
+<table class="fieldtable">
+<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="a264674772d9f4240d89aa9d939c1eef7afc7eba28f2fc936312f041cf85276434"></a>ec_ok</em> </td><td class="fielddoc">
+<p>No errors. </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="a264674772d9f4240d89aa9d939c1eef7a670e4d0a5a3c1bbcdff9e5ee16dc9c01"></a>ec_bad_call</em> </td><td class="fielddoc">
+<p>Invalid function call (e. g. <a class="el" href="a00110.html#ae2949e9adcac56a2cb9864437be8e22e" title="Load TBB. ">load()</a> called when TBB is already loaded). </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="a264674772d9f4240d89aa9d939c1eef7afd928f63eb3da0980e746d58374b07c3"></a>ec_bad_arg</em> </td><td class="fielddoc">
+<p>Invalid argument passed. </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="a264674772d9f4240d89aa9d939c1eef7a71f874957c0322f499ba764dd0bb8732"></a>ec_bad_lib</em> </td><td class="fielddoc">
+<p>Invalid library found (e. g. <code>TBB_runtime_version</code> symbol not found). </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="a264674772d9f4240d89aa9d939c1eef7aae7497a49ceae69d06d6ab9fef636064"></a>ec_bad_ver</em> </td><td class="fielddoc">
+<p>TBB found but version is not suitable. </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="a264674772d9f4240d89aa9d939c1eef7a5e694560f3ada80d2cc25881b5ae43dd"></a>ec_no_lib</em> </td><td class="fielddoc">
+<p>No suitable TBB library found. </p>
+</td></tr>
+</table>
+
+</div>
+</div>
+<a class="anchor" id="ab85c82f9c0ccd91905f2795a79ac1295"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">enum <a class="el" href="a00110.html#ab85c82f9c0ccd91905f2795a79ac1295">tbb::interface6::runtime_loader::error_mode</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Error mode constants. </p>
+<table class="fieldtable">
+<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="ab85c82f9c0ccd91905f2795a79ac1295af9c9137d6acdb0fd37f1a92b5cdaeb36"></a>em_status</em> </td><td class="fielddoc">
+<p>Save status of operation and continue. </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="ab85c82f9c0ccd91905f2795a79ac1295a17ec1019cffa635146eaefb042e28a2c"></a>em_throw</em> </td><td class="fielddoc">
+<p>Throw an exception of tbb::runtime_loader::error_code type. </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="ab85c82f9c0ccd91905f2795a79ac1295ac41f8e03c7e8bfc6a420be035d59cc35"></a>em_abort</em> </td><td class="fielddoc">
+<p>Print message to <code>stderr</code> and call <code>abort()</code>. </p>
+</td></tr>
+</table>
+
+</div>
+</div>
+<h2 class="groupheader">Constructor & Destructor Documentation</h2>
+<a class="anchor" id="a3e0932074d2f3ad04605e7e5da88c561"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">tbb::interface6::runtime_loader::runtime_loader </td>
+          <td>(</td>
+          <td class="paramtype">char const * </td>
+          <td class="paramname"><em>path</em>[], </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int </td>
+          <td class="paramname"><em>min_ver</em> = <code>TBB_INTERFACE_VERSION</code>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int </td>
+          <td class="paramname"><em>max_ver</em> = <code>INT_MAX</code>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="a00110.html#ab85c82f9c0ccd91905f2795a79ac1295">error_mode</a> </td>
+          <td class="paramname"><em>mode</em> = <code><a class="el" href="a00110.html#ab85c82f9c0ccd91905f2795a79ac1295ac41f8e03c7e8bfc6a420be035d59cc35">em_abort</a></code> </td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Initialize object and load TBB. </p>
+<p>See <a class="el" href="a00110.html#ae2949e9adcac56a2cb9864437be8e22e" title="Load TBB. ">load()</a> for details.</p>
+<p>If error mode is <code>em_status</code>, call <a class="el" href="a00110.html#a85bf9ee021a2076a3ac7cfd70aae7345" title="Report status. ">status()</a> to check whether TBB was loaded or not. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">path</td><td>List of directories to search TBB in. </td></tr>
+    <tr><td class="paramname">min_ver</td><td>Minimal suitable version of TBB. </td></tr>
+    <tr><td class="paramname">max_ver</td><td>Maximal suitable version of TBB. </td></tr>
+    <tr><td class="paramname">mode</td><td>Error mode for this object. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="ae2949e9adcac56a2cb9864437be8e22e"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00110.html#a264674772d9f4240d89aa9d939c1eef7">error_code</a> tbb::interface6::runtime_loader::load </td>
+          <td>(</td>
+          <td class="paramtype">char const * </td>
+          <td class="paramname"><em>path</em>[], </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int </td>
+          <td class="paramname"><em>min_ver</em> = <code>TBB_INTERFACE_VERSION</code>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int </td>
+          <td class="paramname"><em>max_ver</em> = <code>INT_MAX</code> </td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Load TBB. </p>
+<p>The method searches the directories specified in <code>path</code>[] array for the TBB library. When the library is found, it is loaded and its version is checked. If the version is not suitable, the library is unloaded, and the search continues.</p>
+<p><b>Note:</b> </p>
+<p>For security reasons, avoid using relative directory names. For example, never load TBB from current (<code>"."</code>), parent (<code>".."</code>) or any other relative directory (like <code>"lib"</code> ). Use only absolute directory names (e. g. "/usr/local/lib").</p>
+<p>For the same security reasons, avoid using system default directories (<code>""</code>) on Windows. (See <a href="http://www.microsoft.com/technet/security/advisory/2269637.mspx">http://www.microsoft.com/technet/security/advisory/2269637.mspx</a> for details.)</p>
+<p>Neglecting these rules may cause your program to execute 3-rd party malicious code.</p>
+<p><b>Errors:</b> </p>
+<ul>
+<li><code>ec_bad_call</code> - TBB already loaded by this object.</li>
+<li><code>ec_bad_arg</code> - <code>min_ver</code> and/or <code>max_ver</code> negative or zero, or <code>min_ver</code> > <code>max_ver</code>.</li>
+<li><code>ec_bad_ver</code> - TBB of unsuitable version already loaded by another object.</li>
+<li><code>ec_no_lib</code> - No suitable library found. </li>
+</ul>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">path</td><td>List of directories to search TBB in. </td></tr>
+    <tr><td class="paramname">min_ver</td><td>Minimal suitable version of TBB. </td></tr>
+    <tr><td class="paramname">max_ver</td><td>Maximal suitable version of TBB. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="a85bf9ee021a2076a3ac7cfd70aae7345"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="a00110.html#a264674772d9f4240d89aa9d939c1eef7">error_code</a> tbb::interface6::runtime_loader::status </td>
+          <td>(</td>
+          <td class="paramname">)</td><td></td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Report status. </p>
+<p>If error mode is <code>em_status</code>, the function returns status of the last operation. </p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>runtime_loader.h</li>
+</ul>
+</div><!-- contents -->
+<hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00110.png b/doc/html/a00110.png
new file mode 100644
index 0000000..56b89a6
Binary files /dev/null and b/doc/html/a00110.png differ
diff --git a/doc/html/a00111.html b/doc/html/a00111.html
index 50c70dd..b9fa466 100644
--- a/doc/html/a00111.html
+++ b/doc/html/a00111.html
@@ -1,38 +1,143 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::scalable_allocator< T > Class Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<h1>tbb::interface6::filter_t< T, U > Member List</h1>This is the complete list of members for <a class="el" href="a00295.html">tbb::interface6::filter_t< T, U ></a>, including all inherited members.<p><table>
-  <tr bgcolor="#f0f0f0"><td><b>clear</b>() (defined in <a class="el" href="a00295.html">tbb::interface6::filter_t< T, U ></a>)</td><td><a class="el" href="a00295.html">tbb::interface6::filter_t< T, U ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>filter_t</b>() (defined in <a class="el" href="a00295.html">tbb::interface6::filter_t< T, U ></a>)</td><td><a class="el" href="a00295.html">tbb::interface6::filter_t< T, U ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>filter_t</b>(const filter_t< T, U > &rhs) (defined in <a class="el" href="a00295.html">tbb::interface6::filter_t< T, U ></a>)</td><td><a class="el" href="a00295.html">tbb::interface6::filter_t< T, U ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>filter_t</b>(tbb::filter::mode mode, const Body &body) (defined in <a class="el" href="a00295.html">tbb::interface6::filter_t< T, U ></a>)</td><td><a class="el" href="a00295.html">tbb::interface6::filter_t< T, U ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>internal::pipeline_proxy</b> (defined in <a class="el" href="a00295.html">tbb::interface6::filter_t< T, U ></a>)</td><td><a class="el" href="a00295.html">tbb::interface6::filter_t< T, U ></a></td><td><code> [friend]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00295.html#85c2892eff1fddcd06e28911e75838bd">make_filter</a>(tbb::filter::mode, const Body &)</td><td><a class="el" href="a00295.html">tbb::interface6::filter_t< T, U ></a></td><td><code> [friend]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>operator &</b> (defined in <a class="el" href="a00295.html">tbb::interface6::filter_t< T, U ></a>)</td><td><a class="el" href="a00295.html">tbb::interface6::filter_t< T, U ></a></td><td><code> [friend]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>operator=</b>(const filter_t< T, U > &rhs) (defined in <a class="el" href="a00295.html">tbb::interface6::filter_t< T, U ></a>)</td><td><a class="el" href="a00295.html">tbb::interface6::filter_t< T, U ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>~filter_t</b>() (defined in <a class="el" href="a00295.html">tbb::interface6::filter_t< T, U ></a>)</td><td><a class="el" href="a00295.html">tbb::interface6::filter_t< T, U ></a></td><td><code> [inline]</code></td></tr>
-</table><hr>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00111.html">scalable_allocator</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Classes</a> |
+<a href="#pub-types">Public Types</a> |
+<a href="#pub-methods">Public Member Functions</a> |
+<a href="#pub-attribs">Public Attributes</a> |
+<a href="a00277.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::scalable_allocator< T > Class Template Reference<div class="ingroups"><a class="el" href="a00236.html">Memory Allocation</a></div></div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Meets "allocator" requirements of ISO C++ Standard, Section 20.1.5.  
+ <a href="a00111.html#details">More...</a></p>
+
+<p><code>#include <scalable_allocator.h></code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Classes</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00105.html">rebind</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:aa9171ca5fc6dc349ae95a28cd16b504c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa9171ca5fc6dc349ae95a28cd16b504c"></a>
+typedef <br class="typebreak"/>
+internal::allocator_type< T ><br class="typebreak"/>
+::value_type </td><td class="memItemRight" valign="bottom"><b>value_type</b></td></tr>
+<tr class="separator:aa9171ca5fc6dc349ae95a28cd16b504c"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:af5352e44d6bcde3d0bdf8368acd3c84c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af5352e44d6bcde3d0bdf8368acd3c84c"></a>
+typedef value_type * </td><td class="memItemRight" valign="bottom"><b>pointer</b></td></tr>
+<tr class="separator:af5352e44d6bcde3d0bdf8368acd3c84c"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a9722dbf8015bed6319bc16996d45546f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9722dbf8015bed6319bc16996d45546f"></a>
+typedef const value_type * </td><td class="memItemRight" valign="bottom"><b>const_pointer</b></td></tr>
+<tr class="separator:a9722dbf8015bed6319bc16996d45546f"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:af3c8f5f07f47672c0c97fab799807728"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af3c8f5f07f47672c0c97fab799807728"></a>
+typedef value_type & </td><td class="memItemRight" valign="bottom"><b>reference</b></td></tr>
+<tr class="separator:af3c8f5f07f47672c0c97fab799807728"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a4de1dd8be241f945d464cbef0dd6c5b8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4de1dd8be241f945d464cbef0dd6c5b8"></a>
+typedef const value_type & </td><td class="memItemRight" valign="bottom"><b>const_reference</b></td></tr>
+<tr class="separator:a4de1dd8be241f945d464cbef0dd6c5b8"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ac2376f6bacc6dcb3aa37f27a78681e89"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac2376f6bacc6dcb3aa37f27a78681e89"></a>
+typedef size_t </td><td class="memItemRight" valign="bottom"><b>size_type</b></td></tr>
+<tr class="separator:ac2376f6bacc6dcb3aa37f27a78681e89"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a751a0d5a410244226f62914cbde260ff"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a751a0d5a410244226f62914cbde260ff"></a>
+typedef ptrdiff_t </td><td class="memItemRight" valign="bottom"><b>difference_type</b></td></tr>
+<tr class="separator:a751a0d5a410244226f62914cbde260ff"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a276a735dca4ba6abbe3b251d4c003ea7"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a276a735dca4ba6abbe3b251d4c003ea7"></a>
+ </td><td class="memItemRight" valign="bottom"><b>scalable_allocator</b> (const <a class="el" href="a00111.html">scalable_allocator</a> &)  throw ()</td></tr>
+<tr class="separator:a276a735dca4ba6abbe3b251d4c003ea7"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ae680426a4dfbd51a7447d12354679c6e"><td class="memTemplParams" colspan="2"><a class="anchor" id="ae680426a4dfbd51a7447d12354679c6e"></a>
+template<typename U > </td></tr>
+<tr class="memitem:ae680426a4dfbd51a7447d12354679c6e"><td class="memTemplItemLeft" align="right" valign="top"> </td><td class="memTemplItemRight" valign="bottom"><b>scalable_allocator</b> (const <a class="el" href="a00111.html">scalable_allocator</a>< U > &)  throw ()</td></tr>
+<tr class="separator:ae680426a4dfbd51a7447d12354679c6e"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a647d824ce9396c3c4cb4450b0c2b7b3c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a647d824ce9396c3c4cb4450b0c2b7b3c"></a>
+pointer </td><td class="memItemRight" valign="bottom"><b>address</b> (reference x) const </td></tr>
+<tr class="separator:a647d824ce9396c3c4cb4450b0c2b7b3c"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ab30cf9e0d0bef7ba8567edc6efb045e4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab30cf9e0d0bef7ba8567edc6efb045e4"></a>
+const_pointer </td><td class="memItemRight" valign="bottom"><b>address</b> (const_reference x) const </td></tr>
+<tr class="separator:ab30cf9e0d0bef7ba8567edc6efb045e4"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:acf24945c12dc0586dfb1f8638daf7838"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acf24945c12dc0586dfb1f8638daf7838"></a>
+pointer </td><td class="memItemRight" valign="bottom"><a class="el" href="a00111.html#acf24945c12dc0586dfb1f8638daf7838">allocate</a> (size_type n, const void *=0)</td></tr>
+<tr class="memdesc:acf24945c12dc0586dfb1f8638daf7838"><td class="mdescLeft"> </td><td class="mdescRight">Allocate space for n objects. <br/></td></tr>
+<tr class="separator:acf24945c12dc0586dfb1f8638daf7838"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a0632b19f25e5d5f86f18b3101925f488"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0632b19f25e5d5f86f18b3101925f488"></a>
+void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00111.html#a0632b19f25e5d5f86f18b3101925f488">deallocate</a> (pointer p, size_type)</td></tr>
+<tr class="memdesc:a0632b19f25e5d5f86f18b3101925f488"><td class="mdescLeft"> </td><td class="mdescRight">Free previously allocated block of memory. <br/></td></tr>
+<tr class="separator:a0632b19f25e5d5f86f18b3101925f488"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:afaa85d739b466699cf669116fd10d175"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afaa85d739b466699cf669116fd10d175"></a>
+size_type </td><td class="memItemRight" valign="bottom"><a class="el" href="a00111.html#afaa85d739b466699cf669116fd10d175">max_size</a> () const   throw ()</td></tr>
+<tr class="memdesc:afaa85d739b466699cf669116fd10d175"><td class="mdescLeft"> </td><td class="mdescRight">Largest value for which method allocate might succeed. <br/></td></tr>
+<tr class="separator:afaa85d739b466699cf669116fd10d175"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a0502de23b9ed7c1611703fe725cb4cd3"><td class="memTemplParams" colspan="2"><a class="anchor" id="a0502de23b9ed7c1611703fe725cb4cd3"></a>
+template<typename U , typename... Args> </td></tr>
+<tr class="memitem:a0502de23b9ed7c1611703fe725cb4cd3"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><b>construct</b> (U *p, Args &&...args)</td></tr>
+<tr class="separator:a0502de23b9ed7c1611703fe725cb4cd3"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ac79ddb098880d8bde6097ac11f641188"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac79ddb098880d8bde6097ac11f641188"></a>
+void </td><td class="memItemRight" valign="bottom"><b>destroy</b> (pointer p)</td></tr>
+<tr class="separator:ac79ddb098880d8bde6097ac11f641188"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
+Public Attributes</h2></td></tr>
+<tr class="memitem:a5da5dab41683415768ef034005cd6302"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5da5dab41683415768ef034005cd6302"></a>
+::new((void *) p) U(std voi </td><td class="memItemRight" valign="bottom"><b>construct</b> )(pointer p, const value_type &value)</td></tr>
+<tr class="separator:a5da5dab41683415768ef034005cd6302"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><h3>template<typename T><br/>
+class tbb::scalable_allocator< T ></h3>
+
+<p>Meets "allocator" requirements of ISO C++ Standard, Section 20.1.5. </p>
+<p>The members are ordered the same way they are in section 20.4.1 of the ISO C++ standard. </p>
+</div><hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="a00199.html">scalable_allocator.h</a></li>
+</ul>
+</div><!-- contents -->
+<hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00112.html b/doc/html/a00112.html
index 0e140bb..24c39b2 100644
--- a/doc/html/a00112.html
+++ b/doc/html/a00112.html
@@ -1,34 +1,85 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::scalable_allocator< void > Class Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<h1>tbb::queuing_mutex Member List</h1>This is the complete list of members for <a class="el" href="a00326.html">tbb::queuing_mutex</a>, including all inherited members.<p><table>
-  <tr bgcolor="#f0f0f0"><td><b>internal_construct</b>() (defined in <a class="el" href="a00326.html">tbb::queuing_mutex</a>)</td><td><a class="el" href="a00326.html">tbb::queuing_mutex</a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>is_fair_mutex</b> (defined in <a class="el" href="a00326.html">tbb::queuing_mutex</a>)</td><td><a class="el" href="a00326.html">tbb::queuing_mutex</a></td><td><code> [static]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>is_recursive_mutex</b> (defined in <a class="el" href="a00326.html">tbb::queuing_mutex</a>)</td><td><a class="el" href="a00326.html">tbb::queuing_mutex</a></td><td><code> [static]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>is_rw_mutex</b> (defined in <a class="el" href="a00326.html">tbb::queuing_mutex</a>)</td><td><a class="el" href="a00326.html">tbb::queuing_mutex</a></td><td><code> [static]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00326.html#b389ad9c4db7293e4bdb5b8cda69ec04">queuing_mutex</a>()</td><td><a class="el" href="a00326.html">tbb::queuing_mutex</a></td><td><code> [inline]</code></td></tr>
-</table><hr>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00112.html">scalable_allocator< void ></a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Classes</a> |
+<a href="#pub-types">Public Types</a> |
+<a href="a00279.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::scalable_allocator< void > Class Template Reference<div class="ingroups"><a class="el" href="a00236.html">Memory Allocation</a></div></div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Analogous to std::allocator<void>, as defined in ISO C++ Standard, Section 20.4.1.  
+ <a href="a00112.html#details">More...</a></p>
+
+<p><code>#include <scalable_allocator.h></code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Classes</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00097.html">rebind</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:a4220fdea504929811e9c083da3ec24cd"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4220fdea504929811e9c083da3ec24cd"></a>
+typedef void * </td><td class="memItemRight" valign="bottom"><b>pointer</b></td></tr>
+<tr class="separator:a4220fdea504929811e9c083da3ec24cd"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a2ae27d63cd7df1dc8d2a47c89aad8bba"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2ae27d63cd7df1dc8d2a47c89aad8bba"></a>
+typedef const void * </td><td class="memItemRight" valign="bottom"><b>const_pointer</b></td></tr>
+<tr class="separator:a2ae27d63cd7df1dc8d2a47c89aad8bba"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a968aea700a5f30ad613a84a474b00ba4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a968aea700a5f30ad613a84a474b00ba4"></a>
+typedef void </td><td class="memItemRight" valign="bottom"><b>value_type</b></td></tr>
+<tr class="separator:a968aea700a5f30ad613a84a474b00ba4"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><h3>template<><br/>
+class tbb::scalable_allocator< void ></h3>
+
+<p>Analogous to std::allocator<void>, as defined in ISO C++ Standard, Section 20.4.1. </p>
+</div><hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="a00199.html">scalable_allocator.h</a></li>
+</ul>
+</div><!-- contents -->
+<hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00113.html b/doc/html/a00113.html
index d9b1ed8..e2663cc 100644
--- a/doc/html/a00113.html
+++ b/doc/html/a00113.html
@@ -1,35 +1,133 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::spin_mutex::scoped_lock Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<h1>tbb::queuing_mutex::scoped_lock Member List</h1>This is the complete list of members for <a class="el" href="a00327.html">tbb::queuing_mutex::scoped_lock</a>, including all inherited members.<p><table>
-  <tr class="memlist"><td><a class="el" href="a00327.html#533e4fc8355ee321206a0609c42d909d">acquire</a>(queuing_mutex &m)</td><td><a class="el" href="a00327.html">tbb::queuing_mutex::scoped_lock</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00327.html#3bf2b8c87ff22115be9b2eac179f2d30">release</a>()</td><td><a class="el" href="a00327.html">tbb::queuing_mutex::scoped_lock</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00327.html#db0fa3967491014572e24d6607bdc971">scoped_lock</a>()</td><td><a class="el" href="a00327.html">tbb::queuing_mutex::scoped_lock</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00327.html#9b51ef972f5618ac17caadb58841ab6d">scoped_lock</a>(queuing_mutex &m)</td><td><a class="el" href="a00327.html">tbb::queuing_mutex::scoped_lock</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00327.html#e5a014fb817599386a87170cf2cf51a9">try_acquire</a>(queuing_mutex &m)</td><td><a class="el" href="a00327.html">tbb::queuing_mutex::scoped_lock</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00327.html#ac2c576a93570957d694192a5f491443">~scoped_lock</a>()</td><td><a class="el" href="a00327.html">tbb::queuing_mutex::scoped_lock</a></td><td><code> [inline]</code></td></tr>
-</table><hr>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00127.html">spin_mutex</a></li><li class="navelem"><a class="el" href="a00113.html">scoped_lock</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> |
+<a href="#friends">Friends</a> |
+<a href="a00282.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::spin_mutex::scoped_lock Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Represents acquisition of a mutex.  
+ <a href="a00113.html#details">More...</a></p>
+
+<p><code>#include <spin_mutex.h></code></p>
+<div class="dynheader">
+Inheritance diagram for tbb::spin_mutex::scoped_lock:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00113.png" usemap="#tbb::spin_mutex::scoped_lock_map" alt=""/>
+  <map id="tbb::spin_mutex::scoped_lock_map" name="tbb::spin_mutex::scoped_lock_map">
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a4287be975cf2448c95f068b065c45107"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4287be975cf2448c95f068b065c45107"></a>
+ </td><td class="memItemRight" valign="bottom"><a class="el" href="a00113.html#a4287be975cf2448c95f068b065c45107">scoped_lock</a> ()</td></tr>
+<tr class="memdesc:a4287be975cf2448c95f068b065c45107"><td class="mdescLeft"> </td><td class="mdescRight">Construct without acquiring a mutex. <br/></td></tr>
+<tr class="separator:a4287be975cf2448c95f068b065c45107"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a73f7381a9a112b9f5a856b1face525fb"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a73f7381a9a112b9f5a856b1face525fb"></a>
+ </td><td class="memItemRight" valign="bottom"><a class="el" href="a00113.html#a73f7381a9a112b9f5a856b1face525fb">scoped_lock</a> (<a class="el" href="a00127.html">spin_mutex</a> &m)</td></tr>
+<tr class="memdesc:a73f7381a9a112b9f5a856b1face525fb"><td class="mdescLeft"> </td><td class="mdescRight">Construct and acquire lock on a mutex. <br/></td></tr>
+<tr class="separator:a73f7381a9a112b9f5a856b1face525fb"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a7c702117f08ae82d034a98b3d5510ffc"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7c702117f08ae82d034a98b3d5510ffc"></a>
+void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00113.html#a7c702117f08ae82d034a98b3d5510ffc">acquire</a> (<a class="el" href="a00127.html">spin_mutex</a> &m)</td></tr>
+<tr class="memdesc:a7c702117f08ae82d034a98b3d5510ffc"><td class="mdescLeft"> </td><td class="mdescRight">Acquire lock. <br/></td></tr>
+<tr class="separator:a7c702117f08ae82d034a98b3d5510ffc"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a76acbd67c74906f6ea33a1de6fd443ce"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00113.html#a76acbd67c74906f6ea33a1de6fd443ce">try_acquire</a> (<a class="el" href="a00127.html">spin_mutex</a> &m)</td></tr>
+<tr class="memdesc:a76acbd67c74906f6ea33a1de6fd443ce"><td class="mdescLeft"> </td><td class="mdescRight">Try acquiring lock (non-blocking)  <a href="#a76acbd67c74906f6ea33a1de6fd443ce">More...</a><br/></td></tr>
+<tr class="separator:a76acbd67c74906f6ea33a1de6fd443ce"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a7e801b0c28fd8395fec400b96acc5c34"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7e801b0c28fd8395fec400b96acc5c34"></a>
+void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00113.html#a7e801b0c28fd8395fec400b96acc5c34">release</a> ()</td></tr>
+<tr class="memdesc:a7e801b0c28fd8395fec400b96acc5c34"><td class="mdescLeft"> </td><td class="mdescRight">Release lock. <br/></td></tr>
+<tr class="separator:a7e801b0c28fd8395fec400b96acc5c34"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a9940d6e494466d9c53846ed347d79d83"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9940d6e494466d9c53846ed347d79d83"></a>
+ </td><td class="memItemRight" valign="bottom"><a class="el" href="a00113.html#a9940d6e494466d9c53846ed347d79d83">~scoped_lock</a> ()</td></tr>
+<tr class="memdesc:a9940d6e494466d9c53846ed347d79d83"><td class="mdescLeft"> </td><td class="mdescRight">Destroy lock. If holding a lock, releases the lock first. <br/></td></tr>
+<tr class="separator:a9940d6e494466d9c53846ed347d79d83"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
+Friends</h2></td></tr>
+<tr class="memitem:adf989c33fa5ee03e75925c2d0f86b89e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adf989c33fa5ee03e75925c2d0f86b89e"></a>
+class </td><td class="memItemRight" valign="bottom"><b>spin_mutex</b></td></tr>
+<tr class="separator:adf989c33fa5ee03e75925c2d0f86b89e"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Represents acquisition of a mutex. </p>
+</div><h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="a76acbd67c74906f6ea33a1de6fd443ce"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool tbb::spin_mutex::scoped_lock::try_acquire </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="a00127.html">spin_mutex</a> & </td>
+          <td class="paramname"><em>m</em>)</td><td></td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Try acquiring lock (non-blocking) </p>
+<p>Return true if lock acquired; false otherwise. </p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>spin_mutex.h</li>
+</ul>
+</div><!-- contents -->
+<hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00113.png b/doc/html/a00113.png
new file mode 100644
index 0000000..25da9c6
Binary files /dev/null and b/doc/html/a00113.png differ
diff --git a/doc/html/a00114.html b/doc/html/a00114.html
index 9fb0f1d..255ad94 100644
--- a/doc/html/a00114.html
+++ b/doc/html/a00114.html
@@ -1,35 +1,208 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::spin_rw_mutex_v3::scoped_lock Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<h1>tbb::queuing_rw_mutex Member List</h1>This is the complete list of members for <a class="el" href="a00328.html">tbb::queuing_rw_mutex</a>, including all inherited members.<p><table>
-  <tr bgcolor="#f0f0f0"><td><b>internal_construct</b>() (defined in <a class="el" href="a00328.html">tbb::queuing_rw_mutex</a>)</td><td><a class="el" href="a00328.html">tbb::queuing_rw_mutex</a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>is_fair_mutex</b> (defined in <a class="el" href="a00328.html">tbb::queuing_rw_mutex</a>)</td><td><a class="el" href="a00328.html">tbb::queuing_rw_mutex</a></td><td><code> [static]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>is_recursive_mutex</b> (defined in <a class="el" href="a00328.html">tbb::queuing_rw_mutex</a>)</td><td><a class="el" href="a00328.html">tbb::queuing_rw_mutex</a></td><td><code> [static]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>is_rw_mutex</b> (defined in <a class="el" href="a00328.html">tbb::queuing_rw_mutex</a>)</td><td><a class="el" href="a00328.html">tbb::queuing_rw_mutex</a></td><td><code> [static]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00328.html#85c90877c3447690ac4e2ac4ff8dea5e">queuing_rw_mutex</a>()</td><td><a class="el" href="a00328.html">tbb::queuing_rw_mutex</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00328.html#1ba73e3d95cfdf8323880bc623af9099">~queuing_rw_mutex</a>()</td><td><a class="el" href="a00328.html">tbb::queuing_rw_mutex</a></td><td><code> [inline]</code></td></tr>
-</table><hr>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00128.html">spin_rw_mutex_v3</a></li><li class="navelem"><a class="el" href="a00114.html">scoped_lock</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> |
+<a href="#pro-attribs">Protected Attributes</a> |
+<a href="a00284.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::spin_rw_mutex_v3::scoped_lock Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>The scoped locking pattern.  
+ <a href="a00114.html#details">More...</a></p>
+
+<p><code>#include <spin_rw_mutex.h></code></p>
+<div class="dynheader">
+Inheritance diagram for tbb::spin_rw_mutex_v3::scoped_lock:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00114.png" usemap="#tbb::spin_rw_mutex_v3::scoped_lock_map" alt=""/>
+  <map id="tbb::spin_rw_mutex_v3::scoped_lock_map" name="tbb::spin_rw_mutex_v3::scoped_lock_map">
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a285b355121772c874a7ecaaf4d347224"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00114.html#a285b355121772c874a7ecaaf4d347224">scoped_lock</a> ()</td></tr>
+<tr class="memdesc:a285b355121772c874a7ecaaf4d347224"><td class="mdescLeft"> </td><td class="mdescRight">Construct lock that has not acquired a mutex.  <a href="#a285b355121772c874a7ecaaf4d347224">More...</a><br/></td></tr>
+<tr class="separator:a285b355121772c874a7ecaaf4d347224"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a0a2e15358575f7651446bca13a5a2674"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0a2e15358575f7651446bca13a5a2674"></a>
+ </td><td class="memItemRight" valign="bottom"><a class="el" href="a00114.html#a0a2e15358575f7651446bca13a5a2674">scoped_lock</a> (<a class="el" href="a00128.html">spin_rw_mutex</a> &m, bool write=true)</td></tr>
+<tr class="memdesc:a0a2e15358575f7651446bca13a5a2674"><td class="mdescLeft"> </td><td class="mdescRight">Acquire lock on given mutex. <br/></td></tr>
+<tr class="separator:a0a2e15358575f7651446bca13a5a2674"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a5c27ca2e0c9db960a9a7430082ff7edd"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5c27ca2e0c9db960a9a7430082ff7edd"></a>
+ </td><td class="memItemRight" valign="bottom"><a class="el" href="a00114.html#a5c27ca2e0c9db960a9a7430082ff7edd">~scoped_lock</a> ()</td></tr>
+<tr class="memdesc:a5c27ca2e0c9db960a9a7430082ff7edd"><td class="mdescLeft"> </td><td class="mdescRight">Release lock (if lock is held). <br/></td></tr>
+<tr class="separator:a5c27ca2e0c9db960a9a7430082ff7edd"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a6d49df365396ab314e78ba07c6b96433"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6d49df365396ab314e78ba07c6b96433"></a>
+void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00114.html#a6d49df365396ab314e78ba07c6b96433">acquire</a> (<a class="el" href="a00128.html">spin_rw_mutex</a> &m, bool write=true)</td></tr>
+<tr class="memdesc:a6d49df365396ab314e78ba07c6b96433"><td class="mdescLeft"> </td><td class="mdescRight">Acquire lock on given mutex. <br/></td></tr>
+<tr class="separator:a6d49df365396ab314e78ba07c6b96433"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:afbe5de57eadc457518df7a1bb0d30c00"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00114.html#afbe5de57eadc457518df7a1bb0d30c00">upgrade_to_writer</a> ()</td></tr>
+<tr class="memdesc:afbe5de57eadc457518df7a1bb0d30c00"><td class="mdescLeft"> </td><td class="mdescRight">Upgrade reader to become a writer.  <a href="#afbe5de57eadc457518df7a1bb0d30c00">More...</a><br/></td></tr>
+<tr class="separator:afbe5de57eadc457518df7a1bb0d30c00"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a99e279a995a51abfb87b865e886949f8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a99e279a995a51abfb87b865e886949f8"></a>
+void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00114.html#a99e279a995a51abfb87b865e886949f8">release</a> ()</td></tr>
+<tr class="memdesc:a99e279a995a51abfb87b865e886949f8"><td class="mdescLeft"> </td><td class="mdescRight">Release lock. <br/></td></tr>
+<tr class="separator:a99e279a995a51abfb87b865e886949f8"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aa693c05221d977856a98270a255fe5df"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa693c05221d977856a98270a255fe5df"></a>
+bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00114.html#aa693c05221d977856a98270a255fe5df">downgrade_to_reader</a> ()</td></tr>
+<tr class="memdesc:aa693c05221d977856a98270a255fe5df"><td class="mdescLeft"> </td><td class="mdescRight">Downgrade writer to become a reader. <br/></td></tr>
+<tr class="separator:aa693c05221d977856a98270a255fe5df"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:abf17ada91882fd70f139c503c0220f16"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abf17ada91882fd70f139c503c0220f16"></a>
+bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00114.html#abf17ada91882fd70f139c503c0220f16">try_acquire</a> (<a class="el" href="a00128.html">spin_rw_mutex</a> &m, bool write=true)</td></tr>
+<tr class="memdesc:abf17ada91882fd70f139c503c0220f16"><td class="mdescLeft"> </td><td class="mdescRight">Try acquire lock on given mutex. <br/></td></tr>
+<tr class="separator:abf17ada91882fd70f139c503c0220f16"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ad65afc1689547cba82a4667480806ef5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad65afc1689547cba82a4667480806ef5"></a>
+<a class="el" href="a00128.html">spin_rw_mutex</a> * </td><td class="memItemRight" valign="bottom"><b>__internal_get_mutex</b> ()</td></tr>
+<tr class="separator:ad65afc1689547cba82a4667480806ef5"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a50e7a21e905abc3e7448a30972923a36"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a50e7a21e905abc3e7448a30972923a36"></a>
+void </td><td class="memItemRight" valign="bottom"><b>__internal_set_mutex</b> (<a class="el" href="a00128.html">spin_rw_mutex</a> *m)</td></tr>
+<tr class="separator:a50e7a21e905abc3e7448a30972923a36"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a0bc9be67c5c4f6ffb8ba79baa73448c8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0bc9be67c5c4f6ffb8ba79baa73448c8"></a>
+void </td><td class="memItemRight" valign="bottom"><b>__internal_set_writer</b> (bool flag=true)</td></tr>
+<tr class="separator:a0bc9be67c5c4f6ffb8ba79baa73448c8"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
+Protected Attributes</h2></td></tr>
+<tr class="memitem:a8d70c5a2348e30a6979bfbf677328dc4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8d70c5a2348e30a6979bfbf677328dc4"></a>
+<a class="el" href="a00128.html">spin_rw_mutex</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00114.html#a8d70c5a2348e30a6979bfbf677328dc4">mutex</a></td></tr>
+<tr class="memdesc:a8d70c5a2348e30a6979bfbf677328dc4"><td class="mdescLeft"> </td><td class="mdescRight">The pointer to the current mutex that is held, or NULL if no mutex is held. <br/></td></tr>
+<tr class="separator:a8d70c5a2348e30a6979bfbf677328dc4"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:acfd129dc5106ad1129ba803e67311050"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00114.html#acfd129dc5106ad1129ba803e67311050">is_writer</a></td></tr>
+<tr class="memdesc:acfd129dc5106ad1129ba803e67311050"><td class="mdescLeft"> </td><td class="mdescRight">If mutex!=NULL, then is_writer is true if holding a writer lock, false if holding a reader lock.  <a href="#acfd129dc5106ad1129ba803e67311050">More...</a><br/></td></tr>
+<tr class="separator:acfd129dc5106ad1129ba803e67311050"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>The scoped locking pattern. </p>
+<p>It helps to avoid the common problem of forgetting to release lock. It also nicely provides the "node" for queuing locks. </p>
+</div><h2 class="groupheader">Constructor & Destructor Documentation</h2>
+<a class="anchor" id="a285b355121772c874a7ecaaf4d347224"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">tbb::spin_rw_mutex_v3::scoped_lock::scoped_lock </td>
+          <td>(</td>
+          <td class="paramname">)</td><td></td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Construct lock that has not acquired a mutex. </p>
+<p>Equivalent to zero-initialization of *this. </p>
+
+</div>
+</div>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="afbe5de57eadc457518df7a1bb0d30c00"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool tbb::spin_rw_mutex_v3::scoped_lock::upgrade_to_writer </td>
+          <td>(</td>
+          <td class="paramname">)</td><td></td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Upgrade reader to become a writer. </p>
+<p>Returns whether the upgrade happened without releasing and re-acquiring the lock </p>
+
+<p>References <a class="el" href="a00114.html#acfd129dc5106ad1129ba803e67311050">is_writer</a>.</p>
+
+</div>
+</div>
+<h2 class="groupheader">Member Data Documentation</h2>
+<a class="anchor" id="acfd129dc5106ad1129ba803e67311050"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool tbb::spin_rw_mutex_v3::scoped_lock::is_writer</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>If mutex!=NULL, then is_writer is true if holding a writer lock, false if holding a reader lock. </p>
+<p>Not defined if not holding a lock. </p>
+
+<p>Referenced by <a class="el" href="a00114.html#a6d49df365396ab314e78ba07c6b96433">acquire()</a>, <a class="el" href="a00114.html#aa693c05221d977856a98270a255fe5df">downgrade_to_reader()</a>, <a class="el" href="a00114.html#a99e279a995a51abfb87b865e886949f8">release()</a>, <a class="el" href="a00114.html#abf17ada91882fd70f139c503c0220f16">try_acquire()</a>, and <a class="el" href="a00114.html#afbe5de57eadc457518df7a1bb0d30c00">upgrade_to_writer()</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>spin_rw_mutex.h</li>
+</ul>
+</div><!-- contents -->
+<hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00114.png b/doc/html/a00114.png
new file mode 100644
index 0000000..13249c6
Binary files /dev/null and b/doc/html/a00114.png differ
diff --git a/doc/html/a00115.html b/doc/html/a00115.html
index 1b931d7..1c275d6 100644
--- a/doc/html/a00115.html
+++ b/doc/html/a00115.html
@@ -1,37 +1,79 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::null_mutex::scoped_lock Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<h1>tbb::queuing_rw_mutex::scoped_lock Member List</h1>This is the complete list of members for <a class="el" href="a00329.html">tbb::queuing_rw_mutex::scoped_lock</a>, including all inherited members.<p><table>
-  <tr class="memlist"><td><a class="el" href="a00329.html#a8dd5ab8686e76de21587544dbb681e0">acquire</a>(queuing_rw_mutex &m, bool write=true)</td><td><a class="el" href="a00329.html">tbb::queuing_rw_mutex::scoped_lock</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00329.html#0d2f93edf7b15ec4bcee138823220c52">downgrade_to_reader</a>()</td><td><a class="el" href="a00329.html">tbb::queuing_rw_mutex::scoped_lock</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00329.html#67ae221109ddc69510ab593874e435d4">release</a>()</td><td><a class="el" href="a00329.html">tbb::queuing_rw_mutex::scoped_lock</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00329.html#c62e365be7bcbba091c9ea7454a4d22c">scoped_lock</a>()</td><td><a class="el" href="a00329.html">tbb::queuing_rw_mutex::scoped_lock</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00329.html#fbb8798792d3aebb136c46fc63d2529e">scoped_lock</a>(queuing_rw_mutex &m, bool write=true)</td><td><a class="el" href="a00329.html">tbb::queuing_rw_mutex::scoped_lock</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00329.html#2e4ff6c9ec2fee6682f95290d1f42baa">try_acquire</a>(queuing_rw_mutex &m, bool write=true)</td><td><a class="el" href="a00329.html">tbb::queuing_rw_mutex::scoped_lock</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00329.html#11ba1da4a722c9e6f73339a52c487e82">upgrade_to_writer</a>()</td><td><a class="el" href="a00329.html">tbb::queuing_rw_mutex::scoped_lock</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00329.html#32c7d67a660d23ebbaab1a1d2826d31a">~scoped_lock</a>()</td><td><a class="el" href="a00329.html">tbb::queuing_rw_mutex::scoped_lock</a></td><td><code> [inline]</code></td></tr>
-</table><hr>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00083.html">null_mutex</a></li><li class="navelem"><a class="el" href="a00115.html">scoped_lock</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> |
+<a href="a00261.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::null_mutex::scoped_lock Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Represents acquisition of a mutex.  
+ <a href="a00115.html#details">More...</a></p>
+
+<p><code>#include <null_mutex.h></code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:af71834d1fc4c7406595e9df5b43ab7bb"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af71834d1fc4c7406595e9df5b43ab7bb"></a>
+ </td><td class="memItemRight" valign="bottom"><b>scoped_lock</b> (<a class="el" href="a00083.html">null_mutex</a> &)</td></tr>
+<tr class="separator:af71834d1fc4c7406595e9df5b43ab7bb"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a7d541c92b1678a7dde6a45783a02160f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7d541c92b1678a7dde6a45783a02160f"></a>
+void </td><td class="memItemRight" valign="bottom"><b>acquire</b> (<a class="el" href="a00083.html">null_mutex</a> &)</td></tr>
+<tr class="separator:a7d541c92b1678a7dde6a45783a02160f"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ac5d4d5a4182091ea13fb5d38667f6449"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac5d4d5a4182091ea13fb5d38667f6449"></a>
+bool </td><td class="memItemRight" valign="bottom"><b>try_acquire</b> (<a class="el" href="a00083.html">null_mutex</a> &)</td></tr>
+<tr class="separator:ac5d4d5a4182091ea13fb5d38667f6449"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a21f848f83dfa6504381e3da4de7a9e00"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a21f848f83dfa6504381e3da4de7a9e00"></a>
+void </td><td class="memItemRight" valign="bottom"><b>release</b> ()</td></tr>
+<tr class="separator:a21f848f83dfa6504381e3da4de7a9e00"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Represents acquisition of a mutex. </p>
+</div><hr/>The documentation for this class was generated from the following file:<ul>
+<li>null_mutex.h</li>
+</ul>
+</div><!-- contents -->
+<hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00116.html b/doc/html/a00116.html
index 0f596ec..bcd3aca 100644
--- a/doc/html/a00116.html
+++ b/doc/html/a00116.html
@@ -1,43 +1,107 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::mutex::scoped_lock Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<h1>tbb::interface5::reader_writer_lock Member List</h1>This is the complete list of members for <a class="el" href="a00330.html">tbb::interface5::reader_writer_lock</a>, including all inherited members.<p><table>
-  <tr bgcolor="#f0f0f0"><td><b>active</b> enum value (defined in <a class="el" href="a00330.html">tbb::interface5::reader_writer_lock</a>)</td><td><a class="el" href="a00330.html">tbb::interface5::reader_writer_lock</a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>invalid</b> enum value (defined in <a class="el" href="a00330.html">tbb::interface5::reader_writer_lock</a>)</td><td><a class="el" href="a00330.html">tbb::interface5::reader_writer_lock</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00330.html#2653d1a2d560059a51219a8ceab3ade9">lock</a>()</td><td><a class="el" href="a00330.html">tbb::interface5::reader_writer_lock</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00330.html#d9d16a24d9f6c3dada73c6b9ff214f5b">lock_read</a>()</td><td><a class="el" href="a00330.html">tbb::interface5::reader_writer_lock</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00330.html#c1431c4293e777efd9aab9a95c2a46e1">reader_writer_lock</a>()</td><td><a class="el" href="a00330.html">tbb::interface5::reader_writer_lock</a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>scoped_lock</b> (defined in <a class="el" href="a00330.html">tbb::interface5::reader_writer_lock</a>)</td><td><a class="el" href="a00330.html">tbb::interface5::reader_writer_lock</a></td><td><code> [friend]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>scoped_lock_read</b> (defined in <a class="el" href="a00330.html">tbb::interface5::reader_writer_lock</a>)</td><td><a class="el" href="a00330.html">tbb::interface5::reader_writer_lock</a></td><td><code> [friend]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00330.html#6f921f0d7c1812ceb5674418c8b6ccaf">status_t</a> enum name</td><td><a class="el" href="a00330.html">tbb::interface5::reader_writer_lock</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00330.html#721eb173e154ab38292273e9266a9b07">try_lock</a>()</td><td><a class="el" href="a00330.html">tbb::interface5::reader_writer_lock</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00330.html#595fb23952e3b89426b1f7938dea9b11">try_lock_read</a>()</td><td><a class="el" href="a00330.html">tbb::interface5::reader_writer_lock</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00330.html#5113b32689305599b2c36b5831547704">unlock</a>()</td><td><a class="el" href="a00330.html">tbb::interface5::reader_writer_lock</a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>waiting</b> enum value (defined in <a class="el" href="a00330.html">tbb::interface5::reader_writer_lock</a>)</td><td><a class="el" href="a00330.html">tbb::interface5::reader_writer_lock</a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>waiting_nonblocking</b> enum value (defined in <a class="el" href="a00330.html">tbb::interface5::reader_writer_lock</a>)</td><td><a class="el" href="a00330.html">tbb::interface5::reader_writer_lock</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00330.html#5135f64f7b7339017f33d956445edbee">~reader_writer_lock</a>()</td><td><a class="el" href="a00330.html">tbb::interface5::reader_writer_lock</a></td><td><code> [inline]</code></td></tr>
-</table><hr>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00081.html">mutex</a></li><li class="navelem"><a class="el" href="a00116.html">scoped_lock</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> |
+<a href="#friends">Friends</a> |
+<a href="a00259.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::mutex::scoped_lock Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>The scoped locking pattern.  
+ <a href="a00116.html#details">More...</a></p>
+
+<p><code>#include <mutex.h></code></p>
+<div class="dynheader">
+Inheritance diagram for tbb::mutex::scoped_lock:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00116.png" usemap="#tbb::mutex::scoped_lock_map" alt=""/>
+  <map id="tbb::mutex::scoped_lock_map" name="tbb::mutex::scoped_lock_map">
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a23122745ccd5fc2498fcbbd5ced09e06"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a23122745ccd5fc2498fcbbd5ced09e06"></a>
+ </td><td class="memItemRight" valign="bottom"><a class="el" href="a00116.html#a23122745ccd5fc2498fcbbd5ced09e06">scoped_lock</a> ()</td></tr>
+<tr class="memdesc:a23122745ccd5fc2498fcbbd5ced09e06"><td class="mdescLeft"> </td><td class="mdescRight">Construct lock that has not acquired a mutex. <br/></td></tr>
+<tr class="separator:a23122745ccd5fc2498fcbbd5ced09e06"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ab7c2074543443824790433d3d6c3fece"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab7c2074543443824790433d3d6c3fece"></a>
+ </td><td class="memItemRight" valign="bottom"><a class="el" href="a00116.html#ab7c2074543443824790433d3d6c3fece">scoped_lock</a> (<a class="el" href="a00081.html">mutex</a> &<a class="el" href="a00081.html">mutex</a>)</td></tr>
+<tr class="memdesc:ab7c2074543443824790433d3d6c3fece"><td class="mdescLeft"> </td><td class="mdescRight">Acquire lock on given mutex. <br/></td></tr>
+<tr class="separator:ab7c2074543443824790433d3d6c3fece"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a08c399ee0bb9762039b29e570ec46fe9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a08c399ee0bb9762039b29e570ec46fe9"></a>
+ </td><td class="memItemRight" valign="bottom"><a class="el" href="a00116.html#a08c399ee0bb9762039b29e570ec46fe9">~scoped_lock</a> ()</td></tr>
+<tr class="memdesc:a08c399ee0bb9762039b29e570ec46fe9"><td class="mdescLeft"> </td><td class="mdescRight">Release lock (if lock is held). <br/></td></tr>
+<tr class="separator:a08c399ee0bb9762039b29e570ec46fe9"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a9fce3e2e9f592315dc9c1ada72ae5e3c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9fce3e2e9f592315dc9c1ada72ae5e3c"></a>
+void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00116.html#a9fce3e2e9f592315dc9c1ada72ae5e3c">acquire</a> (<a class="el" href="a00081.html">mutex</a> &<a class="el" href="a00081.html">mutex</a>)</td></tr>
+<tr class="memdesc:a9fce3e2e9f592315dc9c1ada72ae5e3c"><td class="mdescLeft"> </td><td class="mdescRight">Acquire lock on given mutex. <br/></td></tr>
+<tr class="separator:a9fce3e2e9f592315dc9c1ada72ae5e3c"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a46f983371aa852d2427ce69f9a571f78"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a46f983371aa852d2427ce69f9a571f78"></a>
+bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00116.html#a46f983371aa852d2427ce69f9a571f78">try_acquire</a> (<a class="el" href="a00081.html">mutex</a> &<a class="el" href="a00081.html">mutex</a>)</td></tr>
+<tr class="memdesc:a46f983371aa852d2427ce69f9a571f78"><td class="mdescLeft"> </td><td class="mdescRight">Try acquire lock on given mutex. <br/></td></tr>
+<tr class="separator:a46f983371aa852d2427ce69f9a571f78"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a1a1590281ccca912229a689d920fd78a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1a1590281ccca912229a689d920fd78a"></a>
+void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00116.html#a1a1590281ccca912229a689d920fd78a">release</a> ()</td></tr>
+<tr class="memdesc:a1a1590281ccca912229a689d920fd78a"><td class="mdescLeft"> </td><td class="mdescRight">Release lock. <br/></td></tr>
+<tr class="separator:a1a1590281ccca912229a689d920fd78a"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
+Friends</h2></td></tr>
+<tr class="memitem:a6f4535025b9df015e1a7d35f4e2bbee7"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6f4535025b9df015e1a7d35f4e2bbee7"></a>
+class </td><td class="memItemRight" valign="bottom"><b>mutex</b></td></tr>
+<tr class="separator:a6f4535025b9df015e1a7d35f4e2bbee7"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>The scoped locking pattern. </p>
+<p>It helps to avoid the common problem of forgetting to release lock. It also nicely provides the "node" for queuing locks. </p>
+</div><hr/>The documentation for this class was generated from the following file:<ul>
+<li>mutex.h</li>
+</ul>
+</div><!-- contents -->
+<hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00116.png b/doc/html/a00116.png
new file mode 100644
index 0000000..5450176
Binary files /dev/null and b/doc/html/a00116.png differ
diff --git a/doc/html/a00117.html b/doc/html/a00117.html
index d5d0571..df6dd88 100644
--- a/doc/html/a00117.html
+++ b/doc/html/a00117.html
@@ -1,34 +1,85 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::null_rw_mutex::scoped_lock Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<h1>tbb::interface5::reader_writer_lock::scoped_lock Member List</h1>This is the complete list of members for <a class="el" href="a00331.html">tbb::interface5::reader_writer_lock::scoped_lock</a>, including all inherited members.<p><table>
-  <tr bgcolor="#f0f0f0"><td><b>operator delete</b>(void *p) (defined in <a class="el" href="a00331.html">tbb::interface5::reader_writer_lock::scoped_lock</a>)</td><td><a class="el" href="a00331.html">tbb::interface5::reader_writer_lock::scoped_lock</a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>operator new</b>(size_t s) (defined in <a class="el" href="a00331.html">tbb::interface5::reader_writer_lock::scoped_lock</a>)</td><td><a class="el" href="a00331.html">tbb::interface5::reader_writer_lock::scoped_lock</a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>reader_writer_lock</b> (defined in <a class="el" href="a00331.html">tbb::interface5::reader_writer_lock::scoped_lock</a>)</td><td><a class="el" href="a00331.html">tbb::interface5::reader_writer_lock::scoped_lock</a></td><td><code> [friend]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00331.html#cf19f20e082887c1bb0ba6b0911c3583">scoped_lock</a>(reader_writer_lock &lock)</td><td><a class="el" href="a00331.html">tbb::interface5::reader_writer_lock::scoped_lock</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00331.html#70246e0260493625ff956fa5926fc71f">~scoped_lock</a>()</td><td><a class="el" href="a00331.html">tbb::interface5::reader_writer_lock::scoped_lock</a></td><td><code> [inline]</code></td></tr>
-</table><hr>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00084.html">null_rw_mutex</a></li><li class="navelem"><a class="el" href="a00117.html">scoped_lock</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> |
+<a href="a00263.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::null_rw_mutex::scoped_lock Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Represents acquisition of a mutex.  
+ <a href="a00117.html#details">More...</a></p>
+
+<p><code>#include <null_rw_mutex.h></code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a4b7f9a3976c7744a96e435e027c6262c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4b7f9a3976c7744a96e435e027c6262c"></a>
+ </td><td class="memItemRight" valign="bottom"><b>scoped_lock</b> (<a class="el" href="a00084.html">null_rw_mutex</a> &, bool=true)</td></tr>
+<tr class="separator:a4b7f9a3976c7744a96e435e027c6262c"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a251d45c5c42ac6c6006d0463c2173bc8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a251d45c5c42ac6c6006d0463c2173bc8"></a>
+void </td><td class="memItemRight" valign="bottom"><b>acquire</b> (<a class="el" href="a00084.html">null_rw_mutex</a> &, bool=true)</td></tr>
+<tr class="separator:a251d45c5c42ac6c6006d0463c2173bc8"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a07ed8c0c225fec43b96dcec5b4d4380d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a07ed8c0c225fec43b96dcec5b4d4380d"></a>
+bool </td><td class="memItemRight" valign="bottom"><b>upgrade_to_writer</b> ()</td></tr>
+<tr class="separator:a07ed8c0c225fec43b96dcec5b4d4380d"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a899c14f8d077edd2fe7925bb82a94686"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a899c14f8d077edd2fe7925bb82a94686"></a>
+bool </td><td class="memItemRight" valign="bottom"><b>downgrade_to_reader</b> ()</td></tr>
+<tr class="separator:a899c14f8d077edd2fe7925bb82a94686"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:afdb10af455fa8730b1a9bc8d5ca16c41"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afdb10af455fa8730b1a9bc8d5ca16c41"></a>
+bool </td><td class="memItemRight" valign="bottom"><b>try_acquire</b> (<a class="el" href="a00084.html">null_rw_mutex</a> &, bool=true)</td></tr>
+<tr class="separator:afdb10af455fa8730b1a9bc8d5ca16c41"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a57d0613ea1614fe9c7daa0706e56efab"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a57d0613ea1614fe9c7daa0706e56efab"></a>
+void </td><td class="memItemRight" valign="bottom"><b>release</b> ()</td></tr>
+<tr class="separator:a57d0613ea1614fe9c7daa0706e56efab"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Represents acquisition of a mutex. </p>
+</div><hr/>The documentation for this class was generated from the following file:<ul>
+<li>null_rw_mutex.h</li>
+</ul>
+</div><!-- contents -->
+<hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00118.html b/doc/html/a00118.html
index d8c63ac..cee3b56 100644
--- a/doc/html/a00118.html
+++ b/doc/html/a00118.html
@@ -1,34 +1,97 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::interface5::reader_writer_lock::scoped_lock Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<h1>tbb::interface5::reader_writer_lock::scoped_lock_read Member List</h1>This is the complete list of members for <a class="el" href="a00332.html">tbb::interface5::reader_writer_lock::scoped_lock_read</a>, including all inherited members.<p><table>
-  <tr bgcolor="#f0f0f0"><td><b>operator delete</b>(void *p) (defined in <a class="el" href="a00332.html">tbb::interface5::reader_writer_lock::scoped_lock_read</a>)</td><td><a class="el" href="a00332.html">tbb::interface5::reader_writer_lock::scoped_lock_read</a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>operator new</b>(size_t s) (defined in <a class="el" href="a00332.html">tbb::interface5::reader_writer_lock::scoped_lock_read</a>)</td><td><a class="el" href="a00332.html">tbb::interface5::reader_writer_lock::scoped_lock_read</a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>reader_writer_lock</b> (defined in <a class="el" href="a00332.html">tbb::interface5::reader_writer_lock::scoped_lock_read</a>)</td><td><a class="el" href="a00332.html">tbb::interface5::reader_writer_lock::scoped_lock_read</a></td><td><code> [friend]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00332.html#87ab0dc8f7216e6ba0f7acd6aec33064">scoped_lock_read</a>(reader_writer_lock &lock)</td><td><a class="el" href="a00332.html">tbb::interface5::reader_writer_lock::scoped_lock_read</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00332.html#bd21c5f3d555d64d1de8658e15bf4966">~scoped_lock_read</a>()</td><td><a class="el" href="a00332.html">tbb::interface5::reader_writer_lock::scoped_lock_read</a></td><td><code> [inline]</code></td></tr>
-</table><hr>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>interface5</b></li><li class="navelem"><a class="el" href="a00095.html">reader_writer_lock</a></li><li class="navelem"><a class="el" href="a00118.html">scoped_lock</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> |
+<a href="#friends">Friends</a> |
+<a href="a00348.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::interface5::reader_writer_lock::scoped_lock Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>The scoped lock pattern for write locks.  
+ <a href="a00118.html#details">More...</a></p>
+
+<p><code>#include <reader_writer_lock.h></code></p>
+<div class="dynheader">
+Inheritance diagram for tbb::interface5::reader_writer_lock::scoped_lock:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00118.png" usemap="#tbb::interface5::reader_writer_lock::scoped_lock_map" alt=""/>
+  <map id="tbb::interface5::reader_writer_lock::scoped_lock_map" name="tbb::interface5::reader_writer_lock::scoped_lock_map">
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:aaed982d8c3f1e84298f9842063694f3c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aaed982d8c3f1e84298f9842063694f3c"></a>
+ </td><td class="memItemRight" valign="bottom"><a class="el" href="a00118.html#aaed982d8c3f1e84298f9842063694f3c">scoped_lock</a> (<a class="el" href="a00095.html">reader_writer_lock</a> &<a class="el" href="a00095.html#af92eb949fc491af8f7e350869ea0a0d1">lock</a>)</td></tr>
+<tr class="memdesc:aaed982d8c3f1e84298f9842063694f3c"><td class="mdescLeft"> </td><td class="mdescRight">Construct with blocking attempt to acquire write lock on the passed-in lock. <br/></td></tr>
+<tr class="separator:aaed982d8c3f1e84298f9842063694f3c"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a41e77cf094ed30b0a9a39ee217c3653b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a41e77cf094ed30b0a9a39ee217c3653b"></a>
+ </td><td class="memItemRight" valign="bottom"><a class="el" href="a00118.html#a41e77cf094ed30b0a9a39ee217c3653b">~scoped_lock</a> ()</td></tr>
+<tr class="memdesc:a41e77cf094ed30b0a9a39ee217c3653b"><td class="mdescLeft"> </td><td class="mdescRight">Destructor, releases the write lock. <br/></td></tr>
+<tr class="separator:a41e77cf094ed30b0a9a39ee217c3653b"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a5bca00f4788ed8f635a8383a25a10ec8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5bca00f4788ed8f635a8383a25a10ec8"></a>
+void * </td><td class="memItemRight" valign="bottom"><b>operator new</b> (size_t s)</td></tr>
+<tr class="separator:a5bca00f4788ed8f635a8383a25a10ec8"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a3ef0de25ee6d7897198fcf09471bf24f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3ef0de25ee6d7897198fcf09471bf24f"></a>
+void </td><td class="memItemRight" valign="bottom"><b>operator delete</b> (void *p)</td></tr>
+<tr class="separator:a3ef0de25ee6d7897198fcf09471bf24f"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
+Friends</h2></td></tr>
+<tr class="memitem:afb01bc2e211c782503ef5088003f120f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afb01bc2e211c782503ef5088003f120f"></a>
+class </td><td class="memItemRight" valign="bottom"><b>reader_writer_lock</b></td></tr>
+<tr class="separator:afb01bc2e211c782503ef5088003f120f"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>The scoped lock pattern for write locks. </p>
+<p>Scoped locks help avoid the common problem of forgetting to release the lock. This type also serves as the node for queuing locks. </p>
+</div><hr/>The documentation for this class was generated from the following file:<ul>
+<li>reader_writer_lock.h</li>
+</ul>
+</div><!-- contents -->
+<hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00118.png b/doc/html/a00118.png
new file mode 100644
index 0000000..a999a7d
Binary files /dev/null and b/doc/html/a00118.png differ
diff --git a/doc/html/a00119.html b/doc/html/a00119.html
index 8ae2055..b0850cd 100644
--- a/doc/html/a00119.html
+++ b/doc/html/a00119.html
@@ -1,41 +1,152 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::queuing_rw_mutex::scoped_lock Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<h1>tbb::recursive_mutex Member List</h1>This is the complete list of members for <a class="el" href="a00334.html">tbb::recursive_mutex</a>, including all inherited members.<p><table>
-  <tr bgcolor="#f0f0f0"><td><b>is_fair_mutex</b> (defined in <a class="el" href="a00334.html">tbb::recursive_mutex</a>)</td><td><a class="el" href="a00334.html">tbb::recursive_mutex</a></td><td><code> [static]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>is_recursive_mutex</b> (defined in <a class="el" href="a00334.html">tbb::recursive_mutex</a>)</td><td><a class="el" href="a00334.html">tbb::recursive_mutex</a></td><td><code> [static]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>is_rw_mutex</b> (defined in <a class="el" href="a00334.html">tbb::recursive_mutex</a>)</td><td><a class="el" href="a00334.html">tbb::recursive_mutex</a></td><td><code> [static]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00334.html#4c342c69d47f4bb0b393535dee4015d6">lock</a>()</td><td><a class="el" href="a00334.html">tbb::recursive_mutex</a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>native_handle</b>() (defined in <a class="el" href="a00334.html">tbb::recursive_mutex</a>)</td><td><a class="el" href="a00334.html">tbb::recursive_mutex</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00334.html#889fa8cc32dd707eef7c0f52dda09c0d">native_handle_type</a> typedef</td><td><a class="el" href="a00334.html">tbb::recursive_mutex</a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>native_handle_type</b> typedef (defined in <a class="el" href="a00334.html">tbb::recursive_mutex</a>)</td><td><a class="el" href="a00334.html">tbb::recursive_mutex</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00334.html#d2fceb7f95c24a8cd1457d4527e4b8c6">recursive_mutex</a>()</td><td><a class="el" href="a00334.html">tbb::recursive_mutex</a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>scoped_lock</b> (defined in <a class="el" href="a00334.html">tbb::recursive_mutex</a>)</td><td><a class="el" href="a00334.html">tbb::recursive_mutex</a></td><td><code> [friend]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00334.html#86e719b0afee25704af11ab97694d240">try_lock</a>()</td><td><a class="el" href="a00334.html">tbb::recursive_mutex</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00334.html#f0a96e26b7f074588dc31e32524856ae">unlock</a>()</td><td><a class="el" href="a00334.html">tbb::recursive_mutex</a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>~recursive_mutex</b>() (defined in <a class="el" href="a00334.html">tbb::recursive_mutex</a>)</td><td><a class="el" href="a00334.html">tbb::recursive_mutex</a></td><td><code> [inline]</code></td></tr>
-</table><hr>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00094.html">queuing_rw_mutex</a></li><li class="navelem"><a class="el" href="a00119.html">scoped_lock</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> |
+<a href="a00274.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::queuing_rw_mutex::scoped_lock Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>The scoped locking pattern.  
+ <a href="a00119.html#details">More...</a></p>
+
+<p><code>#include <queuing_rw_mutex.h></code></p>
+<div class="dynheader">
+Inheritance diagram for tbb::queuing_rw_mutex::scoped_lock:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00119.png" usemap="#tbb::queuing_rw_mutex::scoped_lock_map" alt=""/>
+  <map id="tbb::queuing_rw_mutex::scoped_lock_map" name="tbb::queuing_rw_mutex::scoped_lock_map">
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a1ae3792726dcff8da1f2c5366fb2b754"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00119.html#a1ae3792726dcff8da1f2c5366fb2b754">scoped_lock</a> ()</td></tr>
+<tr class="memdesc:a1ae3792726dcff8da1f2c5366fb2b754"><td class="mdescLeft"> </td><td class="mdescRight">Construct lock that has not acquired a mutex.  <a href="#a1ae3792726dcff8da1f2c5366fb2b754">More...</a><br/></td></tr>
+<tr class="separator:a1ae3792726dcff8da1f2c5366fb2b754"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:af1b55ca1839c9c7c2cd779cd2dd9c474"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af1b55ca1839c9c7c2cd779cd2dd9c474"></a>
+ </td><td class="memItemRight" valign="bottom"><a class="el" href="a00119.html#af1b55ca1839c9c7c2cd779cd2dd9c474">scoped_lock</a> (<a class="el" href="a00094.html">queuing_rw_mutex</a> &m, bool write=true)</td></tr>
+<tr class="memdesc:af1b55ca1839c9c7c2cd779cd2dd9c474"><td class="mdescLeft"> </td><td class="mdescRight">Acquire lock on given mutex. <br/></td></tr>
+<tr class="separator:af1b55ca1839c9c7c2cd779cd2dd9c474"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a6cb16cc55f884bbbd5a69430c47b288f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6cb16cc55f884bbbd5a69430c47b288f"></a>
+ </td><td class="memItemRight" valign="bottom"><a class="el" href="a00119.html#a6cb16cc55f884bbbd5a69430c47b288f">~scoped_lock</a> ()</td></tr>
+<tr class="memdesc:a6cb16cc55f884bbbd5a69430c47b288f"><td class="mdescLeft"> </td><td class="mdescRight">Release lock (if lock is held). <br/></td></tr>
+<tr class="separator:a6cb16cc55f884bbbd5a69430c47b288f"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ab4bf2fb86d6a418f9ea36474eb8893f9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab4bf2fb86d6a418f9ea36474eb8893f9"></a>
+void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00119.html#ab4bf2fb86d6a418f9ea36474eb8893f9">acquire</a> (<a class="el" href="a00094.html">queuing_rw_mutex</a> &m, bool write=true)</td></tr>
+<tr class="memdesc:ab4bf2fb86d6a418f9ea36474eb8893f9"><td class="mdescLeft"> </td><td class="mdescRight">Acquire lock on given mutex. <br/></td></tr>
+<tr class="separator:ab4bf2fb86d6a418f9ea36474eb8893f9"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a4843d40dddc37c1aa3444e27d35d2433"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4843d40dddc37c1aa3444e27d35d2433"></a>
+bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00119.html#a4843d40dddc37c1aa3444e27d35d2433">try_acquire</a> (<a class="el" href="a00094.html">queuing_rw_mutex</a> &m, bool write=true)</td></tr>
+<tr class="memdesc:a4843d40dddc37c1aa3444e27d35d2433"><td class="mdescLeft"> </td><td class="mdescRight">Acquire lock on given mutex if free (i.e. non-blocking) <br/></td></tr>
+<tr class="separator:a4843d40dddc37c1aa3444e27d35d2433"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a50fb02b77f02a01c74754d163157ec77"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a50fb02b77f02a01c74754d163157ec77"></a>
+void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00119.html#a50fb02b77f02a01c74754d163157ec77">release</a> ()</td></tr>
+<tr class="memdesc:a50fb02b77f02a01c74754d163157ec77"><td class="mdescLeft"> </td><td class="mdescRight">Release lock. <br/></td></tr>
+<tr class="separator:a50fb02b77f02a01c74754d163157ec77"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ae0f28ecfbbc5f8b3024cd47048b72b5b"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00119.html#ae0f28ecfbbc5f8b3024cd47048b72b5b">upgrade_to_writer</a> ()</td></tr>
+<tr class="memdesc:ae0f28ecfbbc5f8b3024cd47048b72b5b"><td class="mdescLeft"> </td><td class="mdescRight">Upgrade reader to become a writer.  <a href="#ae0f28ecfbbc5f8b3024cd47048b72b5b">More...</a><br/></td></tr>
+<tr class="separator:ae0f28ecfbbc5f8b3024cd47048b72b5b"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:af0af63035147a3d8422f8c8d7b8d2629"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af0af63035147a3d8422f8c8d7b8d2629"></a>
+bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00119.html#af0af63035147a3d8422f8c8d7b8d2629">downgrade_to_reader</a> ()</td></tr>
+<tr class="memdesc:af0af63035147a3d8422f8c8d7b8d2629"><td class="mdescLeft"> </td><td class="mdescRight">Downgrade writer to become a reader. <br/></td></tr>
+<tr class="separator:af0af63035147a3d8422f8c8d7b8d2629"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>The scoped locking pattern. </p>
+<p>It helps to avoid the common problem of forgetting to release lock. It also nicely provides the "node" for queuing locks. </p>
+</div><h2 class="groupheader">Constructor & Destructor Documentation</h2>
+<a class="anchor" id="a1ae3792726dcff8da1f2c5366fb2b754"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">tbb::queuing_rw_mutex::scoped_lock::scoped_lock </td>
+          <td>(</td>
+          <td class="paramname">)</td><td></td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Construct lock that has not acquired a mutex. </p>
+<p>Equivalent to zero-initialization of *this. </p>
+
+</div>
+</div>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="ae0f28ecfbbc5f8b3024cd47048b72b5b"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool tbb::queuing_rw_mutex::scoped_lock::upgrade_to_writer </td>
+          <td>(</td>
+          <td class="paramname">)</td><td></td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Upgrade reader to become a writer. </p>
+<p>Returns whether the upgrade happened without releasing and re-acquiring the lock </p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>queuing_rw_mutex.h</li>
+</ul>
+</div><!-- contents -->
+<hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00119.png b/doc/html/a00119.png
new file mode 100644
index 0000000..227e99a
Binary files /dev/null and b/doc/html/a00119.png differ
diff --git a/doc/html/a00120.html b/doc/html/a00120.html
index ad79d83..9eae4cb 100644
--- a/doc/html/a00120.html
+++ b/doc/html/a00120.html
@@ -1,36 +1,107 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::recursive_mutex::scoped_lock Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<h1>tbb::recursive_mutex::scoped_lock Member List</h1>This is the complete list of members for <a class="el" href="a00335.html">tbb::recursive_mutex::scoped_lock</a>, including all inherited members.<p><table>
-  <tr class="memlist"><td><a class="el" href="a00335.html#7fb04da37cccf8c99b1f9102d9074f9a">acquire</a>(recursive_mutex &mutex)</td><td><a class="el" href="a00335.html">tbb::recursive_mutex::scoped_lock</a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>recursive_mutex</b> (defined in <a class="el" href="a00335.html">tbb::recursive_mutex::scoped_lock</a>)</td><td><a class="el" href="a00335.html">tbb::recursive_mutex::scoped_lock</a></td><td><code> [friend]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00335.html#ac480ea0e9d5ea0345a67d57008b6263">release</a>()</td><td><a class="el" href="a00335.html">tbb::recursive_mutex::scoped_lock</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00335.html#d82d4d36fbf9727a493d26ae50855fe7">scoped_lock</a>()</td><td><a class="el" href="a00335.html">tbb::recursive_mutex::scoped_lock</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00335.html#dec17713c4c1321ac8fec66816d0c602">scoped_lock</a>(recursive_mutex &mutex)</td><td><a class="el" href="a00335.html">tbb::recursive_mutex::scoped_lock</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00335.html#36bfc3e93e3ef6340abef4901444d340">try_acquire</a>(recursive_mutex &mutex)</td><td><a class="el" href="a00335.html">tbb::recursive_mutex::scoped_lock</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00335.html#c1197ffb8f3cd9d4fed71d7e06265b7c">~scoped_lock</a>()</td><td><a class="el" href="a00335.html">tbb::recursive_mutex::scoped_lock</a></td><td><code> [inline]</code></td></tr>
-</table><hr>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00107.html">recursive_mutex</a></li><li class="navelem"><a class="el" href="a00120.html">scoped_lock</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> |
+<a href="#friends">Friends</a> |
+<a href="a00276.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::recursive_mutex::scoped_lock Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>The scoped locking pattern.  
+ <a href="a00120.html#details">More...</a></p>
+
+<p><code>#include <recursive_mutex.h></code></p>
+<div class="dynheader">
+Inheritance diagram for tbb::recursive_mutex::scoped_lock:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00120.png" usemap="#tbb::recursive_mutex::scoped_lock_map" alt=""/>
+  <map id="tbb::recursive_mutex::scoped_lock_map" name="tbb::recursive_mutex::scoped_lock_map">
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a0a9962a3932cfbd0d12cb197494f951b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0a9962a3932cfbd0d12cb197494f951b"></a>
+ </td><td class="memItemRight" valign="bottom"><a class="el" href="a00120.html#a0a9962a3932cfbd0d12cb197494f951b">scoped_lock</a> ()</td></tr>
+<tr class="memdesc:a0a9962a3932cfbd0d12cb197494f951b"><td class="mdescLeft"> </td><td class="mdescRight">Construct lock that has not acquired a <a class="el" href="a00107.html">recursive_mutex</a>. <br/></td></tr>
+<tr class="separator:a0a9962a3932cfbd0d12cb197494f951b"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ab42cb541abb9647cac23b1db9a4db93d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab42cb541abb9647cac23b1db9a4db93d"></a>
+ </td><td class="memItemRight" valign="bottom"><a class="el" href="a00120.html#ab42cb541abb9647cac23b1db9a4db93d">scoped_lock</a> (<a class="el" href="a00107.html">recursive_mutex</a> &<a class="el" href="a00081.html">mutex</a>)</td></tr>
+<tr class="memdesc:ab42cb541abb9647cac23b1db9a4db93d"><td class="mdescLeft"> </td><td class="mdescRight">Acquire lock on given mutex. <br/></td></tr>
+<tr class="separator:ab42cb541abb9647cac23b1db9a4db93d"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a90a966e19120aac99b36a3d6d04af1a2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a90a966e19120aac99b36a3d6d04af1a2"></a>
+ </td><td class="memItemRight" valign="bottom"><a class="el" href="a00120.html#a90a966e19120aac99b36a3d6d04af1a2">~scoped_lock</a> ()</td></tr>
+<tr class="memdesc:a90a966e19120aac99b36a3d6d04af1a2"><td class="mdescLeft"> </td><td class="mdescRight">Release lock (if lock is held). <br/></td></tr>
+<tr class="separator:a90a966e19120aac99b36a3d6d04af1a2"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ac5450ce6a5813f395afaa434384c6539"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac5450ce6a5813f395afaa434384c6539"></a>
+void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00120.html#ac5450ce6a5813f395afaa434384c6539">acquire</a> (<a class="el" href="a00107.html">recursive_mutex</a> &<a class="el" href="a00081.html">mutex</a>)</td></tr>
+<tr class="memdesc:ac5450ce6a5813f395afaa434384c6539"><td class="mdescLeft"> </td><td class="mdescRight">Acquire lock on given mutex. <br/></td></tr>
+<tr class="separator:ac5450ce6a5813f395afaa434384c6539"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a160bba506f4033980ddb69ab7a02c4fb"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a160bba506f4033980ddb69ab7a02c4fb"></a>
+bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00120.html#a160bba506f4033980ddb69ab7a02c4fb">try_acquire</a> (<a class="el" href="a00107.html">recursive_mutex</a> &<a class="el" href="a00081.html">mutex</a>)</td></tr>
+<tr class="memdesc:a160bba506f4033980ddb69ab7a02c4fb"><td class="mdescLeft"> </td><td class="mdescRight">Try acquire lock on given <a class="el" href="a00107.html">recursive_mutex</a>. <br/></td></tr>
+<tr class="separator:a160bba506f4033980ddb69ab7a02c4fb"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a2fe3246ffc26bdb5a58f33ca513b6c0f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2fe3246ffc26bdb5a58f33ca513b6c0f"></a>
+void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00120.html#a2fe3246ffc26bdb5a58f33ca513b6c0f">release</a> ()</td></tr>
+<tr class="memdesc:a2fe3246ffc26bdb5a58f33ca513b6c0f"><td class="mdescLeft"> </td><td class="mdescRight">Release lock. <br/></td></tr>
+<tr class="separator:a2fe3246ffc26bdb5a58f33ca513b6c0f"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
+Friends</h2></td></tr>
+<tr class="memitem:a1bdb637fe5c9412323bf92846b40682e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1bdb637fe5c9412323bf92846b40682e"></a>
+class </td><td class="memItemRight" valign="bottom"><b>recursive_mutex</b></td></tr>
+<tr class="separator:a1bdb637fe5c9412323bf92846b40682e"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>The scoped locking pattern. </p>
+<p>It helps to avoid the common problem of forgetting to release lock. It also nicely provides the "node" for queuing locks. </p>
+</div><hr/>The documentation for this class was generated from the following file:<ul>
+<li>recursive_mutex.h</li>
+</ul>
+</div><!-- contents -->
+<hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00120.png b/doc/html/a00120.png
new file mode 100644
index 0000000..9d4ec98
Binary files /dev/null and b/doc/html/a00120.png differ
diff --git a/doc/html/a00121.html b/doc/html/a00121.html
index d896120..e3abd74 100644
--- a/doc/html/a00121.html
+++ b/doc/html/a00121.html
@@ -1,45 +1,126 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::queuing_mutex::scoped_lock Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<h1>tbb::interface6::runtime_loader Member List</h1>This is the complete list of members for <a class="el" href="a00336.html">tbb::interface6::runtime_loader</a>, including all inherited members.<p><table>
-  <tr class="memlist"><td><a class="el" href="a00336.html#6831be91cdc64e57e565ce0dde01878927e94a7b173bb8d0623bf48aad8fc703">ec_bad_arg</a> enum value</td><td><a class="el" href="a00336.html">tbb::interface6::runtime_loader</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00336.html#6831be91cdc64e57e565ce0dde018789e6ce2b091083b80878cbb70cd00782a1">ec_bad_call</a> enum value</td><td><a class="el" href="a00336.html">tbb::interface6::runtime_loader</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00336.html#6831be91cdc64e57e565ce0dde01878903ee81d8c05966bc1125666713dee5f6">ec_bad_lib</a> enum value</td><td><a class="el" href="a00336.html">tbb::interface6::runtime_loader</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00336.html#6831be91cdc64e57e565ce0dde01878907790f32918e60d670a96c1f0349e8d6">ec_bad_ver</a> enum value</td><td><a class="el" href="a00336.html">tbb::interface6::runtime_loader</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00336.html#6831be91cdc64e57e565ce0dde01878902acc03ebfcdb16e3e26b24f64da2bdb">ec_no_lib</a> enum value</td><td><a class="el" href="a00336.html">tbb::interface6::runtime_loader</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00336.html#6831be91cdc64e57e565ce0dde0187891e3a364f63f419e5ea2f1d1e52289b27">ec_ok</a> enum value</td><td><a class="el" href="a00336.html">tbb::interface6::runtime_loader</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00336.html#bb0130fe0f596399707e61431231ebcb630dd30c9ba61d5ab187e80313bbad94">em_abort</a> enum value</td><td><a class="el" href="a00336.html">tbb::interface6::runtime_loader</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00336.html#bb0130fe0f596399707e61431231ebcbdb47fe5ffbd2eaf47e6de0af433ada38">em_status</a> enum value</td><td><a class="el" href="a00336.html">tbb::interface6::runtime_loader</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00336.html#bb0130fe0f596399707e61431231ebcbdeb59ca2912432b47fd3ec831574653b">em_throw</a> enum value</td><td><a class="el" href="a00336.html">tbb::interface6::runtime_loader</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00336.html#6831be91cdc64e57e565ce0dde018789">error_code</a> enum name</td><td><a class="el" href="a00336.html">tbb::interface6::runtime_loader</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00336.html#bb0130fe0f596399707e61431231ebcb">error_mode</a> enum name</td><td><a class="el" href="a00336.html">tbb::interface6::runtime_loader</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00336.html#5f3f6f1683386705a6931acae45f0862">load</a>(char const *path[], int min_ver=TBB_INTERFACE_VERSION, int max_ver=INT_MAX)</td><td><a class="el" href="a00336.html">tbb::interface6::runtime_loader</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00336.html#7caa4ff6e44c2348e67f601cc5d97c34">runtime_loader</a>(error_mode mode=em_abort)</td><td><a class="el" href="a00336.html">tbb::interface6::runtime_loader</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00336.html#7ae5330beb48fce0c702c32a5df0094a">runtime_loader</a>(char const *path[], int min_ver=TBB_INTERFACE_VERSION, int max_ver=INT_MAX, error_mode mode=em_abort)</td><td><a class="el" href="a00336.html">tbb::interface6::runtime_loader</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00336.html#78d938ed2e54d38dd38d6609e6c60389">status</a>()</td><td><a class="el" href="a00336.html">tbb::interface6::runtime_loader</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00336.html#c25fec923a751a3e03f5cbe969f1f0c5">~runtime_loader</a>()</td><td><a class="el" href="a00336.html">tbb::interface6::runtime_loader</a></td><td></td></tr>
-</table><hr>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00093.html">queuing_mutex</a></li><li class="navelem"><a class="el" href="a00121.html">scoped_lock</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> |
+<a href="a00272.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::queuing_mutex::scoped_lock Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>The scoped locking pattern.  
+ <a href="a00121.html#details">More...</a></p>
+
+<p><code>#include <queuing_mutex.h></code></p>
+<div class="dynheader">
+Inheritance diagram for tbb::queuing_mutex::scoped_lock:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00121.png" usemap="#tbb::queuing_mutex::scoped_lock_map" alt=""/>
+  <map id="tbb::queuing_mutex::scoped_lock_map" name="tbb::queuing_mutex::scoped_lock_map">
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a0afe0107eb0aae613e726f67624d2fca"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00121.html#a0afe0107eb0aae613e726f67624d2fca">scoped_lock</a> ()</td></tr>
+<tr class="memdesc:a0afe0107eb0aae613e726f67624d2fca"><td class="mdescLeft"> </td><td class="mdescRight">Construct lock that has not acquired a mutex.  <a href="#a0afe0107eb0aae613e726f67624d2fca">More...</a><br/></td></tr>
+<tr class="separator:a0afe0107eb0aae613e726f67624d2fca"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aa82d9da0dcfe5b21f1c08473f8223105"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa82d9da0dcfe5b21f1c08473f8223105"></a>
+ </td><td class="memItemRight" valign="bottom"><a class="el" href="a00121.html#aa82d9da0dcfe5b21f1c08473f8223105">scoped_lock</a> (<a class="el" href="a00093.html">queuing_mutex</a> &m)</td></tr>
+<tr class="memdesc:aa82d9da0dcfe5b21f1c08473f8223105"><td class="mdescLeft"> </td><td class="mdescRight">Acquire lock on given mutex. <br/></td></tr>
+<tr class="separator:aa82d9da0dcfe5b21f1c08473f8223105"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a469ec43836a8dd250ce0a22b02945630"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a469ec43836a8dd250ce0a22b02945630"></a>
+ </td><td class="memItemRight" valign="bottom"><a class="el" href="a00121.html#a469ec43836a8dd250ce0a22b02945630">~scoped_lock</a> ()</td></tr>
+<tr class="memdesc:a469ec43836a8dd250ce0a22b02945630"><td class="mdescLeft"> </td><td class="mdescRight">Release lock (if lock is held). <br/></td></tr>
+<tr class="separator:a469ec43836a8dd250ce0a22b02945630"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:abf8aa7ccd48d54dcb53665700a17d02a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abf8aa7ccd48d54dcb53665700a17d02a"></a>
+void __TBB_EXPORTED_METHOD </td><td class="memItemRight" valign="bottom"><a class="el" href="a00121.html#abf8aa7ccd48d54dcb53665700a17d02a">acquire</a> (<a class="el" href="a00093.html">queuing_mutex</a> &m)</td></tr>
+<tr class="memdesc:abf8aa7ccd48d54dcb53665700a17d02a"><td class="mdescLeft"> </td><td class="mdescRight">Acquire lock on given mutex. <br/></td></tr>
+<tr class="separator:abf8aa7ccd48d54dcb53665700a17d02a"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ab4800ba9e743cd91f152036a6689b0e9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab4800ba9e743cd91f152036a6689b0e9"></a>
+bool __TBB_EXPORTED_METHOD </td><td class="memItemRight" valign="bottom"><a class="el" href="a00121.html#ab4800ba9e743cd91f152036a6689b0e9">try_acquire</a> (<a class="el" href="a00093.html">queuing_mutex</a> &m)</td></tr>
+<tr class="memdesc:ab4800ba9e743cd91f152036a6689b0e9"><td class="mdescLeft"> </td><td class="mdescRight">Acquire lock on given mutex if free (i.e. non-blocking) <br/></td></tr>
+<tr class="separator:ab4800ba9e743cd91f152036a6689b0e9"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aaa065e48b428b8d43e9bb931ba9e6f6c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aaa065e48b428b8d43e9bb931ba9e6f6c"></a>
+void __TBB_EXPORTED_METHOD </td><td class="memItemRight" valign="bottom"><a class="el" href="a00121.html#aaa065e48b428b8d43e9bb931ba9e6f6c">release</a> ()</td></tr>
+<tr class="memdesc:aaa065e48b428b8d43e9bb931ba9e6f6c"><td class="mdescLeft"> </td><td class="mdescRight">Release lock. <br/></td></tr>
+<tr class="separator:aaa065e48b428b8d43e9bb931ba9e6f6c"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>The scoped locking pattern. </p>
+<p>It helps to avoid the common problem of forgetting to release lock. It also nicely provides the "node" for queuing locks. </p>
+</div><h2 class="groupheader">Constructor & Destructor Documentation</h2>
+<a class="anchor" id="a0afe0107eb0aae613e726f67624d2fca"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">tbb::queuing_mutex::scoped_lock::scoped_lock </td>
+          <td>(</td>
+          <td class="paramname">)</td><td></td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Construct lock that has not acquired a mutex. </p>
+<p>Equivalent to zero-initialization of *this. </p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>queuing_mutex.h</li>
+</ul>
+</div><!-- contents -->
+<hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00121.png b/doc/html/a00121.png
new file mode 100644
index 0000000..611457f
Binary files /dev/null and b/doc/html/a00121.png differ
diff --git a/doc/html/a00122.html b/doc/html/a00122.html
new file mode 100644
index 0000000..8286c56
--- /dev/null
+++ b/doc/html/a00122.html
@@ -0,0 +1,74 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::internal::critical_section_v4::scoped_lock Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>internal</b></li><li class="navelem"><a class="el" href="a00051.html">critical_section_v4</a></li><li class="navelem"><a class="el" href="a00122.html">scoped_lock</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> |
+<a href="a00371.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::internal::critical_section_v4::scoped_lock Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="dynheader">
+Inheritance diagram for tbb::internal::critical_section_v4::scoped_lock:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00122.png" usemap="#tbb::internal::critical_section_v4::scoped_lock_map" alt=""/>
+  <map id="tbb::internal::critical_section_v4::scoped_lock_map" name="tbb::internal::critical_section_v4::scoped_lock_map">
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a3d2a294e9d790bdeba9ca3ff60e75d53"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3d2a294e9d790bdeba9ca3ff60e75d53"></a>
+ </td><td class="memItemRight" valign="bottom"><b>scoped_lock</b> (<a class="el" href="a00051.html">critical_section_v4</a> &lock_me)</td></tr>
+<tr class="separator:a3d2a294e9d790bdeba9ca3ff60e75d53"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>critical_section.h</li>
+</ul>
+</div><!-- contents -->
+<hr>
+<p></p>
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
+<p></p>
+Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
+registered trademarks or trademarks of Intel Corporation or its
+subsidiaries in the United States and other countries.
+<p></p>
+* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00122.png b/doc/html/a00122.png
new file mode 100644
index 0000000..15626cf
Binary files /dev/null and b/doc/html/a00122.png differ
diff --git a/doc/html/a00123.html b/doc/html/a00123.html
index 4b979b2..3d39c81 100644
--- a/doc/html/a00123.html
+++ b/doc/html/a00123.html
@@ -1,45 +1,96 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::interface5::reader_writer_lock::scoped_lock_read Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<h1>tbb::scalable_allocator< T > Member List</h1>This is the complete list of members for <a class="el" href="a00337.html">tbb::scalable_allocator< T ></a>, including all inherited members.<p><table>
-  <tr bgcolor="#f0f0f0"><td><b>address</b>(reference x) const  (defined in <a class="el" href="a00337.html">tbb::scalable_allocator< T ></a>)</td><td><a class="el" href="a00337.html">tbb::scalable_allocator< T ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>address</b>(const_reference x) const  (defined in <a class="el" href="a00337.html">tbb::scalable_allocator< T ></a>)</td><td><a class="el" href="a00337.html">tbb::scalable_allocator< T ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00337.html#726b1586d05d44665a36e1c7b2699bfd">allocate</a>(size_type n, const void *=0)</td><td><a class="el" href="a00337.html">tbb::scalable_allocator< T ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>const_pointer</b> typedef (defined in <a class="el" href="a00337.html">tbb::scalable_allocator< T ></a>)</td><td><a class="el" href="a00337.html">tbb::scalable_allocator< T ></a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>const_reference</b> typedef (defined in <a class="el" href="a00337.html">tbb::scalable_allocator< T ></a>)</td><td><a class="el" href="a00337.html">tbb::scalable_allocator< T ></a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>construct</b>(U *p, Args &&...args) (defined in <a class="el" href="a00337.html">tbb::scalable_allocator< T ></a>)</td><td><a class="el" href="a00337.html">tbb::scalable_allocator< T ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00337.html#f806a238c18cbcfb531e1e0a0d2ec59d">deallocate</a>(pointer p, size_type)</td><td><a class="el" href="a00337.html">tbb::scalable_allocator< T ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>difference_type</b> typedef (defined in <a class="el" href="a00337.html">tbb::scalable_allocator< T ></a>)</td><td><a class="el" href="a00337.html">tbb::scalable_allocator< T ></a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00337.html#880e766f1d913988c21973dbdd874fd5">max_size</a>() const </td><td><a class="el" href="a00337.html">tbb::scalable_allocator< T ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>pointer</b> typedef (defined in <a class="el" href="a00337.html">tbb::scalable_allocator< T ></a>)</td><td><a class="el" href="a00337.html">tbb::scalable_allocator< T ></a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>reference</b> typedef (defined in <a class="el" href="a00337.html">tbb::scalable_allocator< T ></a>)</td><td><a class="el" href="a00337.html">tbb::scalable_allocator< T ></a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>scalable_allocator</b>() (defined in <a class="el" href="a00337.html">tbb::scalable_allocator< T ></a>)</td><td><a class="el" href="a00337.html">tbb::scalable_allocator< T ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>scalable_allocator</b>(const scalable_allocator &) (defined in <a class="el" href="a00337.html">tbb::scalable_allocator< T ></a>)</td><td><a class="el" href="a00337.html">tbb::scalable_allocator< T ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>scalable_allocator</b>(const scalable_allocator< U > &) (defined in <a class="el" href="a00337.html">tbb::scalable_allocator< T ></a>)</td><td><a class="el" href="a00337.html">tbb::scalable_allocator< T ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>size_type</b> typedef (defined in <a class="el" href="a00337.html">tbb::scalable_allocator< T ></a>)</td><td><a class="el" href="a00337.html">tbb::scalable_allocator< T ></a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>value_type</b> typedef (defined in <a class="el" href="a00337.html">tbb::scalable_allocator< T ></a>)</td><td><a class="el" href="a00337.html">tbb::scalable_allocator< T ></a></td><td></td></tr>
-</table><hr>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>interface5</b></li><li class="navelem"><a class="el" href="a00095.html">reader_writer_lock</a></li><li class="navelem"><a class="el" href="a00123.html">scoped_lock_read</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> |
+<a href="#friends">Friends</a> |
+<a href="a00349.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::interface5::reader_writer_lock::scoped_lock_read Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>The scoped lock pattern for read locks.  
+ <a href="a00123.html#details">More...</a></p>
+
+<p><code>#include <reader_writer_lock.h></code></p>
+<div class="dynheader">
+Inheritance diagram for tbb::interface5::reader_writer_lock::scoped_lock_read:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00123.png" usemap="#tbb::interface5::reader_writer_lock::scoped_lock_read_map" alt=""/>
+  <map id="tbb::interface5::reader_writer_lock::scoped_lock_read_map" name="tbb::interface5::reader_writer_lock::scoped_lock_read_map">
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a9d3120a23016dabd4cc2683fa561ee5a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9d3120a23016dabd4cc2683fa561ee5a"></a>
+ </td><td class="memItemRight" valign="bottom"><a class="el" href="a00123.html#a9d3120a23016dabd4cc2683fa561ee5a">scoped_lock_read</a> (<a class="el" href="a00095.html">reader_writer_lock</a> &<a class="el" href="a00095.html#af92eb949fc491af8f7e350869ea0a0d1">lock</a>)</td></tr>
+<tr class="memdesc:a9d3120a23016dabd4cc2683fa561ee5a"><td class="mdescLeft"> </td><td class="mdescRight">Construct with blocking attempt to acquire read lock on the passed-in lock. <br/></td></tr>
+<tr class="separator:a9d3120a23016dabd4cc2683fa561ee5a"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:acf0e23fb4d3aeb6bde18d5d1236bd9d5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acf0e23fb4d3aeb6bde18d5d1236bd9d5"></a>
+ </td><td class="memItemRight" valign="bottom"><a class="el" href="a00123.html#acf0e23fb4d3aeb6bde18d5d1236bd9d5">~scoped_lock_read</a> ()</td></tr>
+<tr class="memdesc:acf0e23fb4d3aeb6bde18d5d1236bd9d5"><td class="mdescLeft"> </td><td class="mdescRight">Destructor, releases the read lock. <br/></td></tr>
+<tr class="separator:acf0e23fb4d3aeb6bde18d5d1236bd9d5"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a9eb8c7a64912a1c74ea76a01a20a1621"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9eb8c7a64912a1c74ea76a01a20a1621"></a>
+void * </td><td class="memItemRight" valign="bottom"><b>operator new</b> (size_t s)</td></tr>
+<tr class="separator:a9eb8c7a64912a1c74ea76a01a20a1621"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a1a6c15dfdbe1bc7a6648ed836ebd8de6"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1a6c15dfdbe1bc7a6648ed836ebd8de6"></a>
+void </td><td class="memItemRight" valign="bottom"><b>operator delete</b> (void *p)</td></tr>
+<tr class="separator:a1a6c15dfdbe1bc7a6648ed836ebd8de6"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
+Friends</h2></td></tr>
+<tr class="memitem:afb01bc2e211c782503ef5088003f120f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afb01bc2e211c782503ef5088003f120f"></a>
+class </td><td class="memItemRight" valign="bottom"><b>reader_writer_lock</b></td></tr>
+<tr class="separator:afb01bc2e211c782503ef5088003f120f"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>The scoped lock pattern for read locks. </p>
+</div><hr/>The documentation for this class was generated from the following file:<ul>
+<li>reader_writer_lock.h</li>
+</ul>
+</div><!-- contents -->
+<hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00123.png b/doc/html/a00123.png
new file mode 100644
index 0000000..10066bd
Binary files /dev/null and b/doc/html/a00123.png differ
diff --git a/doc/html/a00124.html b/doc/html/a00124.html
new file mode 100644
index 0000000..28d324e
--- /dev/null
+++ b/doc/html/a00124.html
@@ -0,0 +1,125 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::flow::interface7::sender< T > Class Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>flow</b></li><li class="navelem"><b>interface7</b></li><li class="navelem"><a class="el" href="a00124.html">sender</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-types">Public Types</a> |
+<a href="#pub-methods">Public Member Functions</a> |
+<a href="a00308.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::flow::interface7::sender< T > Class Template Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Pure virtual template class that defines a sender of messages of type T.  
+ <a href="a00124.html#details">More...</a></p>
+
+<p><code>#include <flow_graph.h></code></p>
+<div class="dynheader">
+Inheritance diagram for tbb::flow::interface7::sender< T >:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00124.png" usemap="#tbb::flow::interface7::sender< T >_map" alt=""/>
+  <map id="tbb::flow::interface7::sender< T >_map" name="tbb::flow::interface7::sender< T >_map">
+<area href="a00025.html" title="Forwards messages of type T to all successors. " alt="tbb::flow::interface7::broadcast_node< T >" shape="rect" coords="0,56,352,80"/>
+<area href="a00027.html" title="Forwards messages in arbitrary order. " alt="tbb::flow::interface7::buffer_node< T, A >" shape="rect" coords="362,56,714,80"/>
+<area href="a00072.html" title="Forwards messages only if the threshold has not been reached. " alt="tbb::flow::interface7::limiter_node< T >" shape="rect" coords="724,56,1076,80"/>
+<area href="a00086.html" alt="tbb::flow::interface7::overwrite_node< T >" shape="rect" coords="1086,56,1438,80"/>
+<area href="a00091.html" title="Forwards messages in priority order. " alt="tbb::flow::interface7::priority_queue_node< T, Compare, A >" shape="rect" coords="181,112,533,136"/>
+<area href="a00092.html" title="Forwards messages in FIFO order. " alt="tbb::flow::interface7::queue_node< T, A >" shape="rect" coords="543,112,895,136"/>
+<area href="a00159.html" alt="tbb::flow::interface7::write_once_node< T >" shape="rect" coords="1086,112,1438,136"/>
+<area href="a00125.html" title="Forwards messages in sequence order. " alt="tbb::flow::interface7::sequencer_node< T, A >" shape="rect" coords="543,168,895,192"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:add86fddf72758d8e5b05b07650c6eeed"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="add86fddf72758d8e5b05b07650c6eeed"></a>
+typedef T </td><td class="memItemRight" valign="bottom"><a class="el" href="a00124.html#add86fddf72758d8e5b05b07650c6eeed">output_type</a></td></tr>
+<tr class="memdesc:add86fddf72758d8e5b05b07650c6eeed"><td class="mdescLeft"> </td><td class="mdescRight">The output type of this sender. <br/></td></tr>
+<tr class="separator:add86fddf72758d8e5b05b07650c6eeed"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a7779627063a29d4d2a1fc905a5cae8db"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7779627063a29d4d2a1fc905a5cae8db"></a>
+typedef <a class="el" href="a00106.html">receiver</a>< T > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00124.html#a7779627063a29d4d2a1fc905a5cae8db">successor_type</a></td></tr>
+<tr class="memdesc:a7779627063a29d4d2a1fc905a5cae8db"><td class="mdescLeft"> </td><td class="mdescRight">The successor type for this node. <br/></td></tr>
+<tr class="separator:a7779627063a29d4d2a1fc905a5cae8db"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a4dac8f53a1f8373c1f3a874b9617e4ec"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4dac8f53a1f8373c1f3a874b9617e4ec"></a>
+virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00124.html#a4dac8f53a1f8373c1f3a874b9617e4ec">register_successor</a> (<a class="el" href="a00124.html#a7779627063a29d4d2a1fc905a5cae8db">successor_type</a> &r)=0</td></tr>
+<tr class="memdesc:a4dac8f53a1f8373c1f3a874b9617e4ec"><td class="mdescLeft"> </td><td class="mdescRight">Add a new successor to this node. <br/></td></tr>
+<tr class="separator:a4dac8f53a1f8373c1f3a874b9617e4ec"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ac1ae19f49e31c6ca94dcf14732eb7a64"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac1ae19f49e31c6ca94dcf14732eb7a64"></a>
+virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00124.html#ac1ae19f49e31c6ca94dcf14732eb7a64">remove_successor</a> (<a class="el" href="a00124.html#a7779627063a29d4d2a1fc905a5cae8db">successor_type</a> &r)=0</td></tr>
+<tr class="memdesc:ac1ae19f49e31c6ca94dcf14732eb7a64"><td class="mdescLeft"> </td><td class="mdescRight">Removes a successor from this node. <br/></td></tr>
+<tr class="separator:ac1ae19f49e31c6ca94dcf14732eb7a64"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ad50b8ac93e79cbdcd2bba11d35432f2c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad50b8ac93e79cbdcd2bba11d35432f2c"></a>
+virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00124.html#ad50b8ac93e79cbdcd2bba11d35432f2c">try_get</a> (T &)</td></tr>
+<tr class="memdesc:ad50b8ac93e79cbdcd2bba11d35432f2c"><td class="mdescLeft"> </td><td class="mdescRight">Request an item from the sender. <br/></td></tr>
+<tr class="separator:ad50b8ac93e79cbdcd2bba11d35432f2c"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aa1b9dcf77ab558530ff93a706b4c4b5d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa1b9dcf77ab558530ff93a706b4c4b5d"></a>
+virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00124.html#aa1b9dcf77ab558530ff93a706b4c4b5d">try_reserve</a> (T &)</td></tr>
+<tr class="memdesc:aa1b9dcf77ab558530ff93a706b4c4b5d"><td class="mdescLeft"> </td><td class="mdescRight">Reserves an item in the sender. <br/></td></tr>
+<tr class="separator:aa1b9dcf77ab558530ff93a706b4c4b5d"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a97ac316ddfb6bd7c7f2f56e3e819a30a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a97ac316ddfb6bd7c7f2f56e3e819a30a"></a>
+virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00124.html#a97ac316ddfb6bd7c7f2f56e3e819a30a">try_release</a> ()</td></tr>
+<tr class="memdesc:a97ac316ddfb6bd7c7f2f56e3e819a30a"><td class="mdescLeft"> </td><td class="mdescRight">Releases the reserved item. <br/></td></tr>
+<tr class="separator:a97ac316ddfb6bd7c7f2f56e3e819a30a"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ad404d5218c7ae2556261ffa880cdf804"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad404d5218c7ae2556261ffa880cdf804"></a>
+virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00124.html#ad404d5218c7ae2556261ffa880cdf804">try_consume</a> ()</td></tr>
+<tr class="memdesc:ad404d5218c7ae2556261ffa880cdf804"><td class="mdescLeft"> </td><td class="mdescRight">Consumes the reserved item. <br/></td></tr>
+<tr class="separator:ad404d5218c7ae2556261ffa880cdf804"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><h3>template<typename T><br/>
+class tbb::flow::interface7::sender< T ></h3>
+
+<p>Pure virtual template class that defines a sender of messages of type T. </p>
+</div><hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="a00179.html">flow_graph.h</a></li>
+</ul>
+</div><!-- contents -->
+<hr>
+<p></p>
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
+<p></p>
+Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
+registered trademarks or trademarks of Intel Corporation or its
+subsidiaries in the United States and other countries.
+<p></p>
+* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00124.png b/doc/html/a00124.png
new file mode 100644
index 0000000..4f10ba4
Binary files /dev/null and b/doc/html/a00124.png differ
diff --git a/doc/html/a00125.html b/doc/html/a00125.html
index 9e1f0b5..b27089d 100644
--- a/doc/html/a00125.html
+++ b/doc/html/a00125.html
@@ -1,32 +1,306 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::flow::interface7::sequencer_node< T, A > Class Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<h1>tbb::scalable_allocator< void > Member List</h1>This is the complete list of members for <a class="el" href="a00338.html">tbb::scalable_allocator< void ></a>, including all inherited members.<p><table>
-  <tr bgcolor="#f0f0f0"><td><b>const_pointer</b> typedef (defined in <a class="el" href="a00338.html">tbb::scalable_allocator< void ></a>)</td><td><a class="el" href="a00338.html">tbb::scalable_allocator< void ></a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>pointer</b> typedef (defined in <a class="el" href="a00338.html">tbb::scalable_allocator< void ></a>)</td><td><a class="el" href="a00338.html">tbb::scalable_allocator< void ></a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>value_type</b> typedef (defined in <a class="el" href="a00338.html">tbb::scalable_allocator< void ></a>)</td><td><a class="el" href="a00338.html">tbb::scalable_allocator< void ></a></td><td></td></tr>
-</table><hr>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>flow</b></li><li class="navelem"><b>interface7</b></li><li class="navelem"><a class="el" href="a00125.html">sequencer_node</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-types">Public Types</a> |
+<a href="#pub-methods">Public Member Functions</a> |
+<a href="#pro-types">Protected Types</a> |
+<a href="a00328.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::flow::interface7::sequencer_node< T, A > Class Template Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Forwards messages in sequence order.  
+ <a href="a00125.html#details">More...</a></p>
+
+<p><code>#include <flow_graph.h></code></p>
+<div class="dynheader">
+Inheritance diagram for tbb::flow::interface7::sequencer_node< T, A >:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00125.png" usemap="#tbb::flow::interface7::sequencer_node< T, A >_map" alt=""/>
+  <map id="tbb::flow::interface7::sequencer_node< T, A >_map" name="tbb::flow::interface7::sequencer_node< T, A >_map">
+<area href="a00092.html" title="Forwards messages in FIFO order. " alt="tbb::flow::interface7::queue_node< T, A >" shape="rect" coords="420,168,690,192"/>
+<area href="a00027.html" title="Forwards messages in arbitrary order. " alt="tbb::flow::interface7::buffer_node< T, A >" shape="rect" coords="420,112,690,136"/>
+<area href="a00063.html" title="The base of all graph nodes. " alt="tbb::flow::interface7::graph_node" shape="rect" coords="0,56,270,80"/>
+<area href="a00106.html" title="Pure virtual template class that defines a receiver of messages of type T. " alt="tbb::flow::interface7::receiver< T >" shape="rect" coords="560,56,830,80"/>
+<area href="a00124.html" title="Pure virtual template class that defines a sender of messages of type T. " alt="tbb::flow::interface7::sender< T >" shape="rect" coords="840,56,1110,80"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:a5aa01d803952d6d83f58a57c6f5b86e9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5aa01d803952d6d83f58a57c6f5b86e9"></a>
+typedef T </td><td class="memItemRight" valign="bottom"><b>input_type</b></td></tr>
+<tr class="separator:a5aa01d803952d6d83f58a57c6f5b86e9"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:adcdbbd1ffdbe39bfc68310062c869e1e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adcdbbd1ffdbe39bfc68310062c869e1e"></a>
+typedef T </td><td class="memItemRight" valign="bottom"><b>output_type</b></td></tr>
+<tr class="separator:adcdbbd1ffdbe39bfc68310062c869e1e"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:af91d621025c821dd6d23b4aa587d8642"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af91d621025c821dd6d23b4aa587d8642"></a>
+typedef <a class="el" href="a00124.html">sender</a>< <a class="el" href="a00106.html#a16eccc851b858604344bb8f1bb9eedc8">input_type</a> > </td><td class="memItemRight" valign="bottom"><b>predecessor_type</b></td></tr>
+<tr class="separator:af91d621025c821dd6d23b4aa587d8642"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aeda5e9bf9d2c3101007a14332b7d578f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aeda5e9bf9d2c3101007a14332b7d578f"></a>
+typedef <a class="el" href="a00106.html">receiver</a>< <a class="el" href="a00124.html#add86fddf72758d8e5b05b07650c6eeed">output_type</a> > </td><td class="memItemRight" valign="bottom"><b>successor_type</b></td></tr>
+<tr class="separator:aeda5e9bf9d2c3101007a14332b7d578f"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="inherit_header pub_types_a00092"><td colspan="2" onclick="javascript:toggleInherit('pub_types_a00092')"><img src="closed.png" alt="-"/> Public Types inherited from <a class="el" href="a00092.html">tbb::flow::interface7::queue_node< T, A ></a></td></tr>
+<tr class="memitem:a6c97cb00f09b2920b470f7f05bd164d1 inherit pub_types_a00092"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6c97cb00f09b2920b470f7f05bd164d1"></a>
+typedef T </td><td class="memItemRight" valign="bottom"><b>input_type</b></td></tr>
+<tr class="separator:a6c97cb00f09b2920b470f7f05bd164d1 inherit pub_types_a00092"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a17ed7b6084d51f1d50164ed9b2eff680 inherit pub_types_a00092"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a17ed7b6084d51f1d50164ed9b2eff680"></a>
+typedef T </td><td class="memItemRight" valign="bottom"><b>output_type</b></td></tr>
+<tr class="separator:a17ed7b6084d51f1d50164ed9b2eff680 inherit pub_types_a00092"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a768cdbf6ab5f38ec87e402ff2897ca38 inherit pub_types_a00092"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a768cdbf6ab5f38ec87e402ff2897ca38"></a>
+typedef <a class="el" href="a00124.html">sender</a>< <a class="el" href="a00106.html#a16eccc851b858604344bb8f1bb9eedc8">input_type</a> > </td><td class="memItemRight" valign="bottom"><b>predecessor_type</b></td></tr>
+<tr class="separator:a768cdbf6ab5f38ec87e402ff2897ca38 inherit pub_types_a00092"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ad5fc2cf414bebdf02246e356b21cf39a inherit pub_types_a00092"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad5fc2cf414bebdf02246e356b21cf39a"></a>
+typedef <a class="el" href="a00106.html">receiver</a>< <a class="el" href="a00124.html#add86fddf72758d8e5b05b07650c6eeed">output_type</a> > </td><td class="memItemRight" valign="bottom"><b>successor_type</b></td></tr>
+<tr class="separator:ad5fc2cf414bebdf02246e356b21cf39a inherit pub_types_a00092"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="inherit_header pub_types_a00027"><td colspan="2" onclick="javascript:toggleInherit('pub_types_a00027')"><img src="closed.png" alt="-"/> Public Types inherited from <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td></tr>
+<tr class="memitem:a57a0aab7103d1d0cbf27560c9acf6c8f inherit pub_types_a00027"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a57a0aab7103d1d0cbf27560c9acf6c8f"></a>
+typedef T </td><td class="memItemRight" valign="bottom"><b>input_type</b></td></tr>
+<tr class="separator:a57a0aab7103d1d0cbf27560c9acf6c8f inherit pub_types_a00027"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:abedb8c98e62146c3473344b7148173b8 inherit pub_types_a00027"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abedb8c98e62146c3473344b7148173b8"></a>
+typedef T </td><td class="memItemRight" valign="bottom"><b>output_type</b></td></tr>
+<tr class="separator:abedb8c98e62146c3473344b7148173b8 inherit pub_types_a00027"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a3c34a2182dcbbded45da979b0f405817 inherit pub_types_a00027"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3c34a2182dcbbded45da979b0f405817"></a>
+typedef <a class="el" href="a00124.html">sender</a>< <a class="el" href="a00106.html#a16eccc851b858604344bb8f1bb9eedc8">input_type</a> > </td><td class="memItemRight" valign="bottom"><b>predecessor_type</b></td></tr>
+<tr class="separator:a3c34a2182dcbbded45da979b0f405817 inherit pub_types_a00027"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a5e505e0c4a904e2c1ded8c7c8f657c3b inherit pub_types_a00027"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5e505e0c4a904e2c1ded8c7c8f657c3b"></a>
+typedef <a class="el" href="a00106.html">receiver</a>< <a class="el" href="a00124.html#add86fddf72758d8e5b05b07650c6eeed">output_type</a> > </td><td class="memItemRight" valign="bottom"><b>successor_type</b></td></tr>
+<tr class="separator:a5e505e0c4a904e2c1ded8c7c8f657c3b inherit pub_types_a00027"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a60032183e0f0266dc17b140e47dd8fc1 inherit pub_types_a00027"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a60032183e0f0266dc17b140e47dd8fc1"></a>
+typedef <a class="el" href="a00027.html">buffer_node</a>< T, A > </td><td class="memItemRight" valign="bottom"><b>my_class</b></td></tr>
+<tr class="separator:a60032183e0f0266dc17b140e47dd8fc1 inherit pub_types_a00027"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="inherit_header pub_types_a00106"><td colspan="2" onclick="javascript:toggleInherit('pub_types_a00106')"><img src="closed.png" alt="-"/> Public Types inherited from <a class="el" href="a00106.html">tbb::flow::interface7::receiver< T ></a></td></tr>
+<tr class="memitem:a16eccc851b858604344bb8f1bb9eedc8 inherit pub_types_a00106"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a16eccc851b858604344bb8f1bb9eedc8"></a>
+typedef T </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#a16eccc851b858604344bb8f1bb9eedc8">input_type</a></td></tr>
+<tr class="memdesc:a16eccc851b858604344bb8f1bb9eedc8 inherit pub_types_a00106"><td class="mdescLeft"> </td><td class="mdescRight">The input type of this receiver. <br/></td></tr>
+<tr class="separator:a16eccc851b858604344bb8f1bb9eedc8 inherit pub_types_a00106"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:afbadf5511bd568d283040cd88bd4e81e inherit pub_types_a00106"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afbadf5511bd568d283040cd88bd4e81e"></a>
+typedef <a class="el" href="a00124.html">sender</a>< T > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#afbadf5511bd568d283040cd88bd4e81e">predecessor_type</a></td></tr>
+<tr class="memdesc:afbadf5511bd568d283040cd88bd4e81e inherit pub_types_a00106"><td class="mdescLeft"> </td><td class="mdescRight">The predecessor type for this node. <br/></td></tr>
+<tr class="separator:afbadf5511bd568d283040cd88bd4e81e inherit pub_types_a00106"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="inherit_header pub_types_a00124"><td colspan="2" onclick="javascript:toggleInherit('pub_types_a00124')"><img src="closed.png" alt="-"/> Public Types inherited from <a class="el" href="a00124.html">tbb::flow::interface7::sender< T ></a></td></tr>
+<tr class="memitem:add86fddf72758d8e5b05b07650c6eeed inherit pub_types_a00124"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="add86fddf72758d8e5b05b07650c6eeed"></a>
+typedef T </td><td class="memItemRight" valign="bottom"><a class="el" href="a00124.html#add86fddf72758d8e5b05b07650c6eeed">output_type</a></td></tr>
+<tr class="memdesc:add86fddf72758d8e5b05b07650c6eeed inherit pub_types_a00124"><td class="mdescLeft"> </td><td class="mdescRight">The output type of this sender. <br/></td></tr>
+<tr class="separator:add86fddf72758d8e5b05b07650c6eeed inherit pub_types_a00124"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a7779627063a29d4d2a1fc905a5cae8db inherit pub_types_a00124"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7779627063a29d4d2a1fc905a5cae8db"></a>
+typedef <a class="el" href="a00106.html">receiver</a>< T > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00124.html#a7779627063a29d4d2a1fc905a5cae8db">successor_type</a></td></tr>
+<tr class="memdesc:a7779627063a29d4d2a1fc905a5cae8db inherit pub_types_a00124"><td class="mdescLeft"> </td><td class="mdescRight">The successor type for this node. <br/></td></tr>
+<tr class="separator:a7779627063a29d4d2a1fc905a5cae8db inherit pub_types_a00124"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a0e8d3d486edc7f70c81b36ce9421c11a"><td class="memTemplParams" colspan="2"><a class="anchor" id="a0e8d3d486edc7f70c81b36ce9421c11a"></a>
+template<typename Sequencer > </td></tr>
+<tr class="memitem:a0e8d3d486edc7f70c81b36ce9421c11a"><td class="memTemplItemLeft" align="right" valign="top"> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00125.html#a0e8d3d486edc7f70c81b36ce9421c11a">sequencer_node</a> (<a class="el" href="a00061.html">graph</a> &g, const Sequencer &s)</td></tr>
+<tr class="memdesc:a0e8d3d486edc7f70c81b36ce9421c11a"><td class="mdescLeft"> </td><td class="mdescRight">Constructor. <br/></td></tr>
+<tr class="separator:a0e8d3d486edc7f70c81b36ce9421c11a"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a19cfdaf85098d0fcf0b1956dc913a7a2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a19cfdaf85098d0fcf0b1956dc913a7a2"></a>
+ </td><td class="memItemRight" valign="bottom"><a class="el" href="a00125.html#a19cfdaf85098d0fcf0b1956dc913a7a2">sequencer_node</a> (const <a class="el" href="a00125.html">sequencer_node</a> &src)</td></tr>
+<tr class="memdesc:a19cfdaf85098d0fcf0b1956dc913a7a2"><td class="mdescLeft"> </td><td class="mdescRight">Copy constructor. <br/></td></tr>
+<tr class="separator:a19cfdaf85098d0fcf0b1956dc913a7a2"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a01fd0321c7bd0f2112458cec2a636d7d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a01fd0321c7bd0f2112458cec2a636d7d"></a>
+ </td><td class="memItemRight" valign="bottom"><a class="el" href="a00125.html#a01fd0321c7bd0f2112458cec2a636d7d">~sequencer_node</a> ()</td></tr>
+<tr class="memdesc:a01fd0321c7bd0f2112458cec2a636d7d"><td class="mdescLeft"> </td><td class="mdescRight">Destructor. <br/></td></tr>
+<tr class="separator:a01fd0321c7bd0f2112458cec2a636d7d"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a76626e1f059d1ef1c5ddd3c798ef3ad6"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a76626e1f059d1ef1c5ddd3c798ef3ad6"></a>
+void </td><td class="memItemRight" valign="bottom"><b>set_name</b> (const char *name)</td></tr>
+<tr class="separator:a76626e1f059d1ef1c5ddd3c798ef3ad6"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="inherit_header pub_methods_a00092"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00092')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="a00092.html">tbb::flow::interface7::queue_node< T, A ></a></td></tr>
+<tr class="memitem:a503d3fe4f98302549e36f74633de5716 inherit pub_methods_a00092"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a503d3fe4f98302549e36f74633de5716"></a>
+ </td><td class="memItemRight" valign="bottom"><a class="el" href="a00092.html#a503d3fe4f98302549e36f74633de5716">queue_node</a> (<a class="el" href="a00061.html">graph</a> &g)</td></tr>
+<tr class="memdesc:a503d3fe4f98302549e36f74633de5716 inherit pub_methods_a00092"><td class="mdescLeft"> </td><td class="mdescRight">Constructor. <br/></td></tr>
+<tr class="separator:a503d3fe4f98302549e36f74633de5716 inherit pub_methods_a00092"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aa790bb6d3c8bef58d59235dfba1a1092 inherit pub_methods_a00092"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa790bb6d3c8bef58d59235dfba1a1092"></a>
+ </td><td class="memItemRight" valign="bottom"><a class="el" href="a00092.html#aa790bb6d3c8bef58d59235dfba1a1092">queue_node</a> (const <a class="el" href="a00092.html">queue_node</a> &src)</td></tr>
+<tr class="memdesc:aa790bb6d3c8bef58d59235dfba1a1092 inherit pub_methods_a00092"><td class="mdescLeft"> </td><td class="mdescRight">Copy constructor. <br/></td></tr>
+<tr class="separator:aa790bb6d3c8bef58d59235dfba1a1092 inherit pub_methods_a00092"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="inherit_header pub_methods_a00027"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00027')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td></tr>
+<tr class="memitem:a152f7bb9ab1f033ec56caa451327634c inherit pub_methods_a00027"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a152f7bb9ab1f033ec56caa451327634c"></a>
+ </td><td class="memItemRight" valign="bottom"><a class="el" href="a00027.html#a152f7bb9ab1f033ec56caa451327634c">buffer_node</a> (<a class="el" href="a00061.html">graph</a> &g)</td></tr>
+<tr class="memdesc:a152f7bb9ab1f033ec56caa451327634c inherit pub_methods_a00027"><td class="mdescLeft"> </td><td class="mdescRight">Constructor. <br/></td></tr>
+<tr class="separator:a152f7bb9ab1f033ec56caa451327634c inherit pub_methods_a00027"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a739635c43d1150f2c8dd3f455d698d36 inherit pub_methods_a00027"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a739635c43d1150f2c8dd3f455d698d36"></a>
+ </td><td class="memItemRight" valign="bottom"><a class="el" href="a00027.html#a739635c43d1150f2c8dd3f455d698d36">buffer_node</a> (const <a class="el" href="a00027.html">buffer_node</a> &src)</td></tr>
+<tr class="memdesc:a739635c43d1150f2c8dd3f455d698d36 inherit pub_methods_a00027"><td class="mdescLeft"> </td><td class="mdescRight">Copy constructor. <br/></td></tr>
+<tr class="separator:a739635c43d1150f2c8dd3f455d698d36 inherit pub_methods_a00027"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ab458d9fa2c7d6f39ec62d4027c9da376 inherit pub_methods_a00027"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00027.html#ab458d9fa2c7d6f39ec62d4027c9da376">register_successor</a> (<a class="el" href="a00106.html">receiver</a>< <a class="el" href="a00124.html#add86fddf72758d8e5b05b07650c6eeed">output_type</a> > &r)</td></tr>
+<tr class="memdesc:ab458d9fa2c7d6f39ec62d4027c9da376 inherit pub_methods_a00027"><td class="mdescLeft"> </td><td class="mdescRight">Adds a new successor.  <a href="#ab458d9fa2c7d6f39ec62d4027c9da376">More...</a><br/></td></tr>
+<tr class="separator:ab458d9fa2c7d6f39ec62d4027c9da376 inherit pub_methods_a00027"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a70d3c1fb1af11deb9b92fa753fa8604c inherit pub_methods_a00027"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00027.html#a70d3c1fb1af11deb9b92fa753fa8604c">remove_successor</a> (<a class="el" href="a00106.html">receiver</a>< <a class="el" href="a00124.html#add86fddf72758d8e5b05b07650c6eeed">output_type</a> > &r)</td></tr>
+<tr class="memdesc:a70d3c1fb1af11deb9b92fa753fa8604c inherit pub_methods_a00027"><td class="mdescLeft"> </td><td class="mdescRight">Removes a successor.  <a href="#a70d3c1fb1af11deb9b92fa753fa8604c">More...</a><br/></td></tr>
+<tr class="separator:a70d3c1fb1af11deb9b92fa753fa8604c inherit pub_methods_a00027"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a175cb77dfbdd0e322097a833a2271c1e inherit pub_methods_a00027"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00027.html#a175cb77dfbdd0e322097a833a2271c1e">try_get</a> (T &v)</td></tr>
+<tr class="memdesc:a175cb77dfbdd0e322097a833a2271c1e inherit pub_methods_a00027"><td class="mdescLeft"> </td><td class="mdescRight">Request an item from the <a class="el" href="a00027.html" title="Forwards messages in arbitrary order. ">buffer_node</a>.  <a href="#a175cb77dfbdd0e322097a833a2271c1e">More...</a><br/></td></tr>
+<tr class="separator:a175cb77dfbdd0e322097a833a2271c1e inherit pub_methods_a00027"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a3b12cdebf8cef15b90e3c9cd9e51019f inherit pub_methods_a00027"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00027.html#a3b12cdebf8cef15b90e3c9cd9e51019f">try_reserve</a> (T &v)</td></tr>
+<tr class="memdesc:a3b12cdebf8cef15b90e3c9cd9e51019f inherit pub_methods_a00027"><td class="mdescLeft"> </td><td class="mdescRight">Reserves an item.  <a href="#a3b12cdebf8cef15b90e3c9cd9e51019f">More...</a><br/></td></tr>
+<tr class="separator:a3b12cdebf8cef15b90e3c9cd9e51019f inherit pub_methods_a00027"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aaa3745fd4705345df16fb33954d93e30 inherit pub_methods_a00027"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00027.html#aaa3745fd4705345df16fb33954d93e30">try_release</a> ()</td></tr>
+<tr class="memdesc:aaa3745fd4705345df16fb33954d93e30 inherit pub_methods_a00027"><td class="mdescLeft"> </td><td class="mdescRight">Release a reserved item.  <a href="#aaa3745fd4705345df16fb33954d93e30">More...</a><br/></td></tr>
+<tr class="separator:aaa3745fd4705345df16fb33954d93e30 inherit pub_methods_a00027"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a335072bc547c5e9b40f58dfeab525953 inherit pub_methods_a00027"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00027.html#a335072bc547c5e9b40f58dfeab525953">try_consume</a> ()</td></tr>
+<tr class="memdesc:a335072bc547c5e9b40f58dfeab525953 inherit pub_methods_a00027"><td class="mdescLeft"> </td><td class="mdescRight">Consumes a reserved item.  <a href="#a335072bc547c5e9b40f58dfeab525953">More...</a><br/></td></tr>
+<tr class="separator:a335072bc547c5e9b40f58dfeab525953 inherit pub_methods_a00027"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="inherit_header pub_methods_a00063"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00063')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a></td></tr>
+<tr class="memitem:a4badd313105e30f539882276353dcb8e inherit pub_methods_a00063"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4badd313105e30f539882276353dcb8e"></a>
+ </td><td class="memItemRight" valign="bottom"><b>graph_node</b> (<a class="el" href="a00061.html">graph</a> &g)</td></tr>
+<tr class="separator:a4badd313105e30f539882276353dcb8e inherit pub_methods_a00063"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="inherit_header pub_methods_a00106"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00106')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="a00106.html">tbb::flow::interface7::receiver< T ></a></td></tr>
+<tr class="memitem:a733889a9053478ef2fb2528e2205bf07 inherit pub_methods_a00106"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a733889a9053478ef2fb2528e2205bf07"></a>
+virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#a733889a9053478ef2fb2528e2205bf07">~receiver</a> ()</td></tr>
+<tr class="memdesc:a733889a9053478ef2fb2528e2205bf07 inherit pub_methods_a00106"><td class="mdescLeft"> </td><td class="mdescRight">Destructor. <br/></td></tr>
+<tr class="separator:a733889a9053478ef2fb2528e2205bf07 inherit pub_methods_a00106"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aee5067bb4f4b71ffa786c1b33cb9aa6a inherit pub_methods_a00106"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aee5067bb4f4b71ffa786c1b33cb9aa6a"></a>
+bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#aee5067bb4f4b71ffa786c1b33cb9aa6a">try_put</a> (const T &t)</td></tr>
+<tr class="memdesc:aee5067bb4f4b71ffa786c1b33cb9aa6a inherit pub_methods_a00106"><td class="mdescLeft"> </td><td class="mdescRight">Put an item to the receiver. <br/></td></tr>
+<tr class="separator:aee5067bb4f4b71ffa786c1b33cb9aa6a inherit pub_methods_a00106"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a16427aa709505de93ffe0d79136e4251 inherit pub_methods_a00106"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a16427aa709505de93ffe0d79136e4251"></a>
+virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#a16427aa709505de93ffe0d79136e4251">register_predecessor</a> (<a class="el" href="a00106.html#afbadf5511bd568d283040cd88bd4e81e">predecessor_type</a> &)</td></tr>
+<tr class="memdesc:a16427aa709505de93ffe0d79136e4251 inherit pub_methods_a00106"><td class="mdescLeft"> </td><td class="mdescRight">Add a predecessor to the node. <br/></td></tr>
+<tr class="separator:a16427aa709505de93ffe0d79136e4251 inherit pub_methods_a00106"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a55adae6228bbdc1539695e1ec20e9762 inherit pub_methods_a00106"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a55adae6228bbdc1539695e1ec20e9762"></a>
+virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#a55adae6228bbdc1539695e1ec20e9762">remove_predecessor</a> (<a class="el" href="a00106.html#afbadf5511bd568d283040cd88bd4e81e">predecessor_type</a> &)</td></tr>
+<tr class="memdesc:a55adae6228bbdc1539695e1ec20e9762 inherit pub_methods_a00106"><td class="mdescLeft"> </td><td class="mdescRight">Remove a predecessor from the node. <br/></td></tr>
+<tr class="separator:a55adae6228bbdc1539695e1ec20e9762 inherit pub_methods_a00106"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-types"></a>
+Protected Types</h2></td></tr>
+<tr class="memitem:a689a740c2b648ae4a1670af171a28543"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><b>op_stat</b> { <b>WAIT</b> =0, 
+<b>SUCCEEDED</b>, 
+<b>FAILED</b>
+ }</td></tr>
+<tr class="separator:a689a740c2b648ae4a1670af171a28543"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ae454d9879aff78200898fd37a9eb9d3e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae454d9879aff78200898fd37a9eb9d3e"></a>
+typedef <a class="el" href="a00027.html">buffer_node</a>< T, A ><br class="typebreak"/>
+::size_type </td><td class="memItemRight" valign="bottom"><b>size_type</b></td></tr>
+<tr class="separator:ae454d9879aff78200898fd37a9eb9d3e"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a9bf4296222afd3309732039a96002c00"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9bf4296222afd3309732039a96002c00"></a>
+typedef <a class="el" href="a00027.html">buffer_node</a>< T, A ><br class="typebreak"/>
+::<a class="el" href="a00028.html">buffer_operation</a> </td><td class="memItemRight" valign="bottom"><b>sequencer_operation</b></td></tr>
+<tr class="separator:a9bf4296222afd3309732039a96002c00"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="inherit_header pro_types_a00092"><td colspan="2" onclick="javascript:toggleInherit('pro_types_a00092')"><img src="closed.png" alt="-"/> Protected Types inherited from <a class="el" href="a00092.html">tbb::flow::interface7::queue_node< T, A ></a></td></tr>
+<tr class="memitem:a7e8acd469a6e7d7f843158104c3a829d inherit pro_types_a00092"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><b>op_stat</b> { <b>WAIT</b> =0, 
+<b>SUCCEEDED</b>, 
+<b>FAILED</b>
+ }</td></tr>
+<tr class="separator:a7e8acd469a6e7d7f843158104c3a829d inherit pro_types_a00092"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aef5a0b62dcb531fbca36f329415423c2 inherit pro_types_a00092"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aef5a0b62dcb531fbca36f329415423c2"></a>
+typedef <a class="el" href="a00027.html">buffer_node</a>< T, A ><br class="typebreak"/>
+::size_type </td><td class="memItemRight" valign="bottom"><b>size_type</b></td></tr>
+<tr class="separator:aef5a0b62dcb531fbca36f329415423c2 inherit pro_types_a00092"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a57e3683d6bd811bb88c117310d1165ca inherit pro_types_a00092"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a57e3683d6bd811bb88c117310d1165ca"></a>
+typedef <a class="el" href="a00027.html">buffer_node</a>< T, A ><br class="typebreak"/>
+::<a class="el" href="a00028.html">buffer_operation</a> </td><td class="memItemRight" valign="bottom"><b>queue_operation</b></td></tr>
+<tr class="separator:a57e3683d6bd811bb88c117310d1165ca inherit pro_types_a00092"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="inherit_header pro_types_a00027"><td colspan="2" onclick="javascript:toggleInherit('pro_types_a00027')"><img src="closed.png" alt="-"/> Protected Types inherited from <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td></tr>
+<tr class="memitem:a0e9c45eefd5231c6a7f8e78ab4b3e3c1 inherit pro_types_a00027"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><b>op_type</b> { <br/>
+  <b>reg_succ</b>, 
+<b>rem_succ</b>, 
+<b>req_item</b>, 
+<b>res_item</b>, 
+<br/>
+  <b>rel_res</b>, 
+<b>con_res</b>, 
+<b>put_item</b>, 
+<b>try_fwd_task</b>
+<br/>
+ }</td></tr>
+<tr class="separator:a0e9c45eefd5231c6a7f8e78ab4b3e3c1 inherit pro_types_a00027"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a97578c4c0b47aa1e7281d0343f45c6e2 inherit pro_types_a00027"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><b>op_stat</b> { <b>WAIT</b> =0, 
+<b>SUCCEEDED</b>, 
+<b>FAILED</b>
+ }</td></tr>
+<tr class="separator:a97578c4c0b47aa1e7281d0343f45c6e2 inherit pro_types_a00027"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ac2ba7ceb6c4c435c5abc9846a91853e2 inherit pro_types_a00027"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac2ba7ceb6c4c435c5abc9846a91853e2"></a>
+typedef size_t </td><td class="memItemRight" valign="bottom"><b>size_type</b></td></tr>
+<tr class="separator:ac2ba7ceb6c4c435c5abc9846a91853e2 inherit pro_types_a00027"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a7f1a187e32fb9a630a142ef37aeda958 inherit pro_types_a00027"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7f1a187e32fb9a630a142ef37aeda958"></a>
+typedef <br class="typebreak"/>
+internal::aggregating_functor<br class="typebreak"/>
+< <a class="el" href="a00027.html">my_class</a>, <a class="el" href="a00028.html">buffer_operation</a> > </td><td class="memItemRight" valign="bottom"><b>my_handler</b></td></tr>
+<tr class="separator:a7f1a187e32fb9a630a142ef37aeda958 inherit pro_types_a00027"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
+Additional Inherited Members</h2></td></tr>
+<tr class="inherit_header pro_methods_a00092"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_a00092')"><img src="closed.png" alt="-"/> Protected Member Functions inherited from <a class="el" href="a00092.html">tbb::flow::interface7::queue_node< T, A ></a></td></tr>
+<tr class="memitem:a1ab7e37f537acb75175844bd34132b99 inherit pro_methods_a00092"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1ab7e37f537acb75175844bd34132b99"></a>
+void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00092.html#a1ab7e37f537acb75175844bd34132b99">internal_forward_task</a> (<a class="el" href="a00028.html">queue_operation</a> *op)</td></tr>
+<tr class="memdesc:a1ab7e37f537acb75175844bd34132b99 inherit pro_methods_a00092"><td class="mdescLeft"> </td><td class="mdescRight">Tries to forward valid items to successors. <br/></td></tr>
+<tr class="separator:a1ab7e37f537acb75175844bd34132b99 inherit pro_methods_a00092"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ad5d225b5305d2d8e1778d2ac65e473a8 inherit pro_methods_a00092"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad5d225b5305d2d8e1778d2ac65e473a8"></a>
+void </td><td class="memItemRight" valign="bottom"><b>internal_pop</b> (<a class="el" href="a00028.html">queue_operation</a> *op)</td></tr>
+<tr class="separator:ad5d225b5305d2d8e1778d2ac65e473a8 inherit pro_methods_a00092"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ae85f9ee123b22bb273116402372d2619 inherit pro_methods_a00092"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae85f9ee123b22bb273116402372d2619"></a>
+void </td><td class="memItemRight" valign="bottom"><b>internal_reserve</b> (<a class="el" href="a00028.html">queue_operation</a> *op)</td></tr>
+<tr class="separator:ae85f9ee123b22bb273116402372d2619 inherit pro_methods_a00092"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:acc6c42585d3deef75dd3922b6fe9cc21 inherit pro_methods_a00092"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acc6c42585d3deef75dd3922b6fe9cc21"></a>
+void </td><td class="memItemRight" valign="bottom"><b>internal_consume</b> (<a class="el" href="a00028.html">queue_operation</a> *op)</td></tr>
+<tr class="separator:acc6c42585d3deef75dd3922b6fe9cc21 inherit pro_methods_a00092"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="inherit_header pro_attribs_a00027"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_a00027')"><img src="closed.png" alt="-"/> Protected Attributes inherited from <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td></tr>
+<tr class="memitem:ade2fe89be00e023aafb1d3c380762048 inherit pro_attribs_a00027"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ade2fe89be00e023aafb1d3c380762048"></a>
+<a class="el" href="a00108.html">internal::round_robin_cache</a>< T, <br class="typebreak"/>
+<a class="el" href="a00084.html">null_rw_mutex</a> > </td><td class="memItemRight" valign="bottom"><b>my_successors</b></td></tr>
+<tr class="separator:ade2fe89be00e023aafb1d3c380762048 inherit pro_attribs_a00027"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a441fb73f0e15aed49945fb7ec9925e9f inherit pro_attribs_a00027"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a441fb73f0e15aed49945fb7ec9925e9f"></a>
+bool </td><td class="memItemRight" valign="bottom"><b>forwarder_busy</b></td></tr>
+<tr class="separator:a441fb73f0e15aed49945fb7ec9925e9f inherit pro_attribs_a00027"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:adc948866a1eb4c7a95b0edc08872d487 inherit pro_attribs_a00027"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adc948866a1eb4c7a95b0edc08872d487"></a>
+internal::aggregator<br class="typebreak"/>
+< my_handler, <a class="el" href="a00028.html">buffer_operation</a> > </td><td class="memItemRight" valign="bottom"><b>my_aggregator</b></td></tr>
+<tr class="separator:adc948866a1eb4c7a95b0edc08872d487 inherit pro_attribs_a00027"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><h3>template<typename T, typename A = cache_aligned_allocator<T>><br/>
+class tbb::flow::interface7::sequencer_node< T, A ></h3>
+
+<p>Forwards messages in sequence order. </p>
+</div><hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="a00179.html">flow_graph.h</a></li>
+</ul>
+</div><!-- contents -->
+<hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00125.png b/doc/html/a00125.png
new file mode 100644
index 0000000..ba8cb4d
Binary files /dev/null and b/doc/html/a00125.png differ
diff --git a/doc/html/a00126.html b/doc/html/a00126.html
new file mode 100644
index 0000000..d79f736
--- /dev/null
+++ b/doc/html/a00126.html
@@ -0,0 +1,214 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::flow::interface7::source_node< Output > Class Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>flow</b></li><li class="navelem"><b>interface7</b></li><li class="navelem"><a class="el" href="a00126.html">source_node</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-types">Public Types</a> |
+<a href="#pub-methods">Public Member Functions</a> |
+<a href="#pro-methods">Protected Member Functions</a> |
+<a href="#friends">Friends</a> |
+<a href="a00315.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::flow::interface7::source_node< Output > Class Template Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>An executable node that acts as a source, i.e. it has no predecessors.  
+ <a href="a00126.html#details">More...</a></p>
+
+<p><code>#include <flow_graph.h></code></p>
+<div class="dynheader">
+Inheritance diagram for tbb::flow::interface7::source_node< Output >:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00126.png" usemap="#tbb::flow::interface7::source_node< Output >_map" alt=""/>
+  <map id="tbb::flow::interface7::source_node< Output >_map" name="tbb::flow::interface7::source_node< Output >_map">
+<area href="a00063.html" title="The base of all graph nodes. " alt="tbb::flow::interface7::graph_node" shape="rect" coords="0,56,262,80"/>
+<area href="a00124.html" alt="tbb::flow::interface7::sender< Output >" shape="rect" coords="272,56,534,80"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:a0308ffc2e5c24739cd85e769ec8a8f5f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0308ffc2e5c24739cd85e769ec8a8f5f"></a>
+typedef Output </td><td class="memItemRight" valign="bottom"><a class="el" href="a00126.html#a0308ffc2e5c24739cd85e769ec8a8f5f">output_type</a></td></tr>
+<tr class="memdesc:a0308ffc2e5c24739cd85e769ec8a8f5f"><td class="mdescLeft"> </td><td class="mdescRight">The type of the output message, which is complete. <br/></td></tr>
+<tr class="separator:a0308ffc2e5c24739cd85e769ec8a8f5f"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ae354d135ba9aceb6ca41464fff027666"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae354d135ba9aceb6ca41464fff027666"></a>
+typedef <a class="el" href="a00106.html">receiver</a>< Output > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00126.html#ae354d135ba9aceb6ca41464fff027666">successor_type</a></td></tr>
+<tr class="memdesc:ae354d135ba9aceb6ca41464fff027666"><td class="mdescLeft"> </td><td class="mdescRight">The type of successors of this node. <br/></td></tr>
+<tr class="separator:ae354d135ba9aceb6ca41464fff027666"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="inherit_header pub_types_a00124"><td colspan="2" onclick="javascript:toggleInherit('pub_types_a00124')"><img src="closed.png" alt="-"/> Public Types inherited from <a class="el" href="a00124.html">tbb::flow::interface7::sender< Output ></a></td></tr>
+<tr class="memitem:add86fddf72758d8e5b05b07650c6eeed inherit pub_types_a00124"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="add86fddf72758d8e5b05b07650c6eeed"></a>
+typedef Output </td><td class="memItemRight" valign="bottom"><a class="el" href="a00124.html#add86fddf72758d8e5b05b07650c6eeed">output_type</a></td></tr>
+<tr class="memdesc:add86fddf72758d8e5b05b07650c6eeed inherit pub_types_a00124"><td class="mdescLeft"> </td><td class="mdescRight">The output type of this sender. <br/></td></tr>
+<tr class="separator:add86fddf72758d8e5b05b07650c6eeed inherit pub_types_a00124"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a7779627063a29d4d2a1fc905a5cae8db inherit pub_types_a00124"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7779627063a29d4d2a1fc905a5cae8db"></a>
+typedef <a class="el" href="a00106.html">receiver</a>< Output > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00124.html#a7779627063a29d4d2a1fc905a5cae8db">successor_type</a></td></tr>
+<tr class="memdesc:a7779627063a29d4d2a1fc905a5cae8db inherit pub_types_a00124"><td class="mdescLeft"> </td><td class="mdescRight">The successor type for this node. <br/></td></tr>
+<tr class="separator:a7779627063a29d4d2a1fc905a5cae8db inherit pub_types_a00124"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a5730a4677f5bfdf6ff6e45e31a249d37"><td class="memTemplParams" colspan="2"><a class="anchor" id="a5730a4677f5bfdf6ff6e45e31a249d37"></a>
+template<typename Body > </td></tr>
+<tr class="memitem:a5730a4677f5bfdf6ff6e45e31a249d37"><td class="memTemplItemLeft" align="right" valign="top"> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00126.html#a5730a4677f5bfdf6ff6e45e31a249d37">source_node</a> (<a class="el" href="a00061.html">graph</a> &g, Body body, bool is_active=true)</td></tr>
+<tr class="memdesc:a5730a4677f5bfdf6ff6e45e31a249d37"><td class="mdescLeft"> </td><td class="mdescRight">Constructor for a node with a successor. <br/></td></tr>
+<tr class="separator:a5730a4677f5bfdf6ff6e45e31a249d37"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aa365130109912d4cdd4534a0cb1d92bd"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa365130109912d4cdd4534a0cb1d92bd"></a>
+ </td><td class="memItemRight" valign="bottom"><a class="el" href="a00126.html#aa365130109912d4cdd4534a0cb1d92bd">source_node</a> (const <a class="el" href="a00126.html">source_node</a> &src)</td></tr>
+<tr class="memdesc:aa365130109912d4cdd4534a0cb1d92bd"><td class="mdescLeft"> </td><td class="mdescRight">Copy constructor. <br/></td></tr>
+<tr class="separator:aa365130109912d4cdd4534a0cb1d92bd"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a5ce12e348e121b9f4dffda9d1035c490"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5ce12e348e121b9f4dffda9d1035c490"></a>
+ </td><td class="memItemRight" valign="bottom"><a class="el" href="a00126.html#a5ce12e348e121b9f4dffda9d1035c490">~source_node</a> ()</td></tr>
+<tr class="memdesc:a5ce12e348e121b9f4dffda9d1035c490"><td class="mdescLeft"> </td><td class="mdescRight">The destructor. <br/></td></tr>
+<tr class="separator:a5ce12e348e121b9f4dffda9d1035c490"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aee939f57a984576e945a71f476af3b81"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aee939f57a984576e945a71f476af3b81"></a>
+void </td><td class="memItemRight" valign="bottom"><b>set_name</b> (const char *name)</td></tr>
+<tr class="separator:aee939f57a984576e945a71f476af3b81"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:abf1627cf40dc62fa456fbf23bbcd2efa"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abf1627cf40dc62fa456fbf23bbcd2efa"></a>
+bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00126.html#abf1627cf40dc62fa456fbf23bbcd2efa">register_successor</a> (<a class="el" href="a00106.html">receiver</a>< <a class="el" href="a00126.html#a0308ffc2e5c24739cd85e769ec8a8f5f">output_type</a> > &r)</td></tr>
+<tr class="memdesc:abf1627cf40dc62fa456fbf23bbcd2efa"><td class="mdescLeft"> </td><td class="mdescRight">Add a new successor to this node. <br/></td></tr>
+<tr class="separator:abf1627cf40dc62fa456fbf23bbcd2efa"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a97c80882ddbdfdcf50761e606f231123"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a97c80882ddbdfdcf50761e606f231123"></a>
+bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00126.html#a97c80882ddbdfdcf50761e606f231123">remove_successor</a> (<a class="el" href="a00106.html">receiver</a>< <a class="el" href="a00126.html#a0308ffc2e5c24739cd85e769ec8a8f5f">output_type</a> > &r)</td></tr>
+<tr class="memdesc:a97c80882ddbdfdcf50761e606f231123"><td class="mdescLeft"> </td><td class="mdescRight">Removes a successor from this node. <br/></td></tr>
+<tr class="separator:a97c80882ddbdfdcf50761e606f231123"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a038c6b2b406d496244617a2d6dc01581"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a038c6b2b406d496244617a2d6dc01581"></a>
+bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00126.html#a038c6b2b406d496244617a2d6dc01581">try_get</a> (<a class="el" href="a00126.html#a0308ffc2e5c24739cd85e769ec8a8f5f">output_type</a> &v)</td></tr>
+<tr class="memdesc:a038c6b2b406d496244617a2d6dc01581"><td class="mdescLeft"> </td><td class="mdescRight">Request an item from the node. <br/></td></tr>
+<tr class="separator:a038c6b2b406d496244617a2d6dc01581"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aabb0d505d684d173b1a2c976bf0781a6"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aabb0d505d684d173b1a2c976bf0781a6"></a>
+bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00126.html#aabb0d505d684d173b1a2c976bf0781a6">try_reserve</a> (<a class="el" href="a00126.html#a0308ffc2e5c24739cd85e769ec8a8f5f">output_type</a> &v)</td></tr>
+<tr class="memdesc:aabb0d505d684d173b1a2c976bf0781a6"><td class="mdescLeft"> </td><td class="mdescRight">Reserves an item. <br/></td></tr>
+<tr class="separator:aabb0d505d684d173b1a2c976bf0781a6"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a309c65a2d0208a1072f7e852198d461d"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00126.html#a309c65a2d0208a1072f7e852198d461d">try_release</a> ()</td></tr>
+<tr class="memdesc:a309c65a2d0208a1072f7e852198d461d"><td class="mdescLeft"> </td><td class="mdescRight">Release a reserved item.  <a href="#a309c65a2d0208a1072f7e852198d461d">More...</a><br/></td></tr>
+<tr class="separator:a309c65a2d0208a1072f7e852198d461d"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ad38a58c2f8f74f4c5cf72a2625ac26bf"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad38a58c2f8f74f4c5cf72a2625ac26bf"></a>
+bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00126.html#ad38a58c2f8f74f4c5cf72a2625ac26bf">try_consume</a> ()</td></tr>
+<tr class="memdesc:ad38a58c2f8f74f4c5cf72a2625ac26bf"><td class="mdescLeft"> </td><td class="mdescRight">Consumes a reserved item. <br/></td></tr>
+<tr class="separator:ad38a58c2f8f74f4c5cf72a2625ac26bf"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a67264c4564abefbf14c0d587c6fe2857"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a67264c4564abefbf14c0d587c6fe2857"></a>
+void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00126.html#a67264c4564abefbf14c0d587c6fe2857">activate</a> ()</td></tr>
+<tr class="memdesc:a67264c4564abefbf14c0d587c6fe2857"><td class="mdescLeft"> </td><td class="mdescRight">Activates a node that was created in the inactive state. <br/></td></tr>
+<tr class="separator:a67264c4564abefbf14c0d587c6fe2857"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a44b05598b8e9636ed328b07dcfe40e09"><td class="memTemplParams" colspan="2"><a class="anchor" id="a44b05598b8e9636ed328b07dcfe40e09"></a>
+template<typename Body > </td></tr>
+<tr class="memitem:a44b05598b8e9636ed328b07dcfe40e09"><td class="memTemplItemLeft" align="right" valign="top">Body </td><td class="memTemplItemRight" valign="bottom"><b>copy_function_object</b> ()</td></tr>
+<tr class="separator:a44b05598b8e9636ed328b07dcfe40e09"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="inherit_header pub_methods_a00063"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00063')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a></td></tr>
+<tr class="memitem:a4badd313105e30f539882276353dcb8e inherit pub_methods_a00063"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4badd313105e30f539882276353dcb8e"></a>
+ </td><td class="memItemRight" valign="bottom"><b>graph_node</b> (<a class="el" href="a00061.html">graph</a> &g)</td></tr>
+<tr class="separator:a4badd313105e30f539882276353dcb8e inherit pub_methods_a00063"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
+Protected Member Functions</h2></td></tr>
+<tr class="memitem:a1874ab9048214245bff7b26c0d9e814b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1874ab9048214245bff7b26c0d9e814b"></a>
+void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00126.html#a1874ab9048214245bff7b26c0d9e814b">reset</a> ()</td></tr>
+<tr class="memdesc:a1874ab9048214245bff7b26c0d9e814b"><td class="mdescLeft"> </td><td class="mdescRight">resets the node to its initial state <br/></td></tr>
+<tr class="separator:a1874ab9048214245bff7b26c0d9e814b"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
+Friends</h2></td></tr>
+<tr class="memitem:a5cb5b39a66ec0c37e20f8e17e7cfda9a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5cb5b39a66ec0c37e20f8e17e7cfda9a"></a>
+class </td><td class="memItemRight" valign="bottom"><b>internal::source_task_bypass< source_node< output_type > ></b></td></tr>
+<tr class="separator:a5cb5b39a66ec0c37e20f8e17e7cfda9a"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
+Additional Inherited Members</h2></td></tr>
+<tr class="inherit_header pro_attribs_a00063"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_a00063')"><img src="closed.png" alt="-"/> Protected Attributes inherited from <a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a></td></tr>
+<tr class="memitem:a1caee1c5677047b05d18b1662ca6fdf8 inherit pro_attribs_a00063"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1caee1c5677047b05d18b1662ca6fdf8"></a>
+<a class="el" href="a00061.html">graph</a> & </td><td class="memItemRight" valign="bottom"><b>my_graph</b></td></tr>
+<tr class="separator:a1caee1c5677047b05d18b1662ca6fdf8 inherit pro_attribs_a00063"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:af48cd0cd4f6e44efc3b353adb55f86a8 inherit pro_attribs_a00063"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af48cd0cd4f6e44efc3b353adb55f86a8"></a>
+<a class="el" href="a00063.html">graph_node</a> * </td><td class="memItemRight" valign="bottom"><b>next</b></td></tr>
+<tr class="separator:af48cd0cd4f6e44efc3b353adb55f86a8 inherit pro_attribs_a00063"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a6917bffc3cb150319679bf2395e68caa inherit pro_attribs_a00063"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6917bffc3cb150319679bf2395e68caa"></a>
+<a class="el" href="a00063.html">graph_node</a> * </td><td class="memItemRight" valign="bottom"><b>prev</b></td></tr>
+<tr class="separator:a6917bffc3cb150319679bf2395e68caa inherit pro_attribs_a00063"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><h3>template<typename Output><br/>
+class tbb::flow::interface7::source_node< Output ></h3>
+
+<p>An executable node that acts as a source, i.e. it has no predecessors. </p>
+</div><h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="a309c65a2d0208a1072f7e852198d461d"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename Output > </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool <a class="el" href="a00126.html">tbb::flow::interface7::source_node</a>< Output >::try_release </td>
+          <td>(</td>
+          <td class="paramname">)</td><td></td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Release a reserved item. </p>
+<p>true = item has been released and so remains in sender, dest must request or reserve future items </p>
+
+<p>Reimplemented from <a class="el" href="a00124.html#a97ac316ddfb6bd7c7f2f56e3e819a30a">tbb::flow::interface7::sender< Output ></a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="a00179.html">flow_graph.h</a></li>
+</ul>
+</div><!-- contents -->
+<hr>
+<p></p>
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
+<p></p>
+Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
+registered trademarks or trademarks of Intel Corporation or its
+subsidiaries in the United States and other countries.
+<p></p>
+* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00126.png b/doc/html/a00126.png
new file mode 100644
index 0000000..a81f0d4
Binary files /dev/null and b/doc/html/a00126.png differ
diff --git a/doc/html/a00127.html b/doc/html/a00127.html
index f47abc8..afd6220 100644
--- a/doc/html/a00127.html
+++ b/doc/html/a00127.html
@@ -1,38 +1,171 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::spin_mutex Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<h1>tbb::spin_mutex Member List</h1>This is the complete list of members for <a class="el" href="a00343.html">tbb::spin_mutex</a>, including all inherited members.<p><table>
-  <tr class="memlist"><td><a class="el" href="a00343.html#4b3fa21632815f8fab2fd6c67ec0d48c">internal_construct</a>()</td><td><a class="el" href="a00343.html">tbb::spin_mutex</a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>is_fair_mutex</b> (defined in <a class="el" href="a00343.html">tbb::spin_mutex</a>)</td><td><a class="el" href="a00343.html">tbb::spin_mutex</a></td><td><code> [static]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>is_recursive_mutex</b> (defined in <a class="el" href="a00343.html">tbb::spin_mutex</a>)</td><td><a class="el" href="a00343.html">tbb::spin_mutex</a></td><td><code> [static]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>is_rw_mutex</b> (defined in <a class="el" href="a00343.html">tbb::spin_mutex</a>)</td><td><a class="el" href="a00343.html">tbb::spin_mutex</a></td><td><code> [static]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00343.html#4f748989e19b6045e3a2d2ee73626a28">lock</a>()</td><td><a class="el" href="a00343.html">tbb::spin_mutex</a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>scoped_lock</b> (defined in <a class="el" href="a00343.html">tbb::spin_mutex</a>)</td><td><a class="el" href="a00343.html">tbb::spin_mutex</a></td><td><code> [friend]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00343.html#3d8fb44644fd8d41ada1fbeba7409be3">spin_mutex</a>()</td><td><a class="el" href="a00343.html">tbb::spin_mutex</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00343.html#8f9a58fb56a2b4c5efe1a7f7c1ae2074">try_lock</a>()</td><td><a class="el" href="a00343.html">tbb::spin_mutex</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00343.html#0e843ee6265f57f27d228ba91e7308ef">unlock</a>()</td><td><a class="el" href="a00343.html">tbb::spin_mutex</a></td><td><code> [inline]</code></td></tr>
-</table><hr>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00127.html">spin_mutex</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Classes</a> |
+<a href="#pub-methods">Public Member Functions</a> |
+<a href="#pub-static-attribs">Static Public Attributes</a> |
+<a href="#friends">Friends</a> |
+<a href="a00281.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::spin_mutex Class Reference<div class="ingroups"><a class="el" href="a00237.html">Synchronization</a></div></div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>A lock that occupies a single byte.  
+ <a href="a00127.html#details">More...</a></p>
+
+<p><code>#include <spin_mutex.h></code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Classes</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00113.html">scoped_lock</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Represents acquisition of a mutex.  <a href="a00113.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a6c96196965bf7df426311d282ad3c378"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00127.html#a6c96196965bf7df426311d282ad3c378">spin_mutex</a> ()</td></tr>
+<tr class="memdesc:a6c96196965bf7df426311d282ad3c378"><td class="mdescLeft"> </td><td class="mdescRight">Construct unacquired lock.  <a href="#a6c96196965bf7df426311d282ad3c378">More...</a><br/></td></tr>
+<tr class="separator:a6c96196965bf7df426311d282ad3c378"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a4ec484f4df6ec5595ec821ef20bd6cd7"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4ec484f4df6ec5595ec821ef20bd6cd7"></a>
+void __TBB_EXPORTED_METHOD </td><td class="memItemRight" valign="bottom"><a class="el" href="a00127.html#a4ec484f4df6ec5595ec821ef20bd6cd7">internal_construct</a> ()</td></tr>
+<tr class="memdesc:a4ec484f4df6ec5595ec821ef20bd6cd7"><td class="mdescLeft"> </td><td class="mdescRight">Internal constructor with ITT instrumentation. <br/></td></tr>
+<tr class="separator:a4ec484f4df6ec5595ec821ef20bd6cd7"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a8957e40b0781192419d01d28e5205ec4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8957e40b0781192419d01d28e5205ec4"></a>
+void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00127.html#a8957e40b0781192419d01d28e5205ec4">lock</a> ()</td></tr>
+<tr class="memdesc:a8957e40b0781192419d01d28e5205ec4"><td class="mdescLeft"> </td><td class="mdescRight">Acquire lock. <br/></td></tr>
+<tr class="separator:a8957e40b0781192419d01d28e5205ec4"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a003ffb196d22bf22ca22142338b7eeab"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00127.html#a003ffb196d22bf22ca22142338b7eeab">try_lock</a> ()</td></tr>
+<tr class="memdesc:a003ffb196d22bf22ca22142338b7eeab"><td class="mdescLeft"> </td><td class="mdescRight">Try acquiring lock (non-blocking)  <a href="#a003ffb196d22bf22ca22142338b7eeab">More...</a><br/></td></tr>
+<tr class="separator:a003ffb196d22bf22ca22142338b7eeab"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:adfcf8fe840aa73c08c2cadd570fd48fd"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adfcf8fe840aa73c08c2cadd570fd48fd"></a>
+void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00127.html#adfcf8fe840aa73c08c2cadd570fd48fd">unlock</a> ()</td></tr>
+<tr class="memdesc:adfcf8fe840aa73c08c2cadd570fd48fd"><td class="mdescLeft"> </td><td class="mdescRight">Release lock. <br/></td></tr>
+<tr class="separator:adfcf8fe840aa73c08c2cadd570fd48fd"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-attribs"></a>
+Static Public Attributes</h2></td></tr>
+<tr class="memitem:a7c3354db4bd5cc81bccee9f249abb9e8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7c3354db4bd5cc81bccee9f249abb9e8"></a>
+static const bool </td><td class="memItemRight" valign="bottom"><b>is_rw_mutex</b> = false</td></tr>
+<tr class="separator:a7c3354db4bd5cc81bccee9f249abb9e8"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a0cae048c5dc5deffe75464e4a3a2b752"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0cae048c5dc5deffe75464e4a3a2b752"></a>
+static const bool </td><td class="memItemRight" valign="bottom"><b>is_recursive_mutex</b> = false</td></tr>
+<tr class="separator:a0cae048c5dc5deffe75464e4a3a2b752"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ad00ec9a97f34c9160300950b36deac3e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad00ec9a97f34c9160300950b36deac3e"></a>
+static const bool </td><td class="memItemRight" valign="bottom"><b>is_fair_mutex</b> = false</td></tr>
+<tr class="separator:ad00ec9a97f34c9160300950b36deac3e"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
+Friends</h2></td></tr>
+<tr class="memitem:afcf922650b2fd9d76b7b939d8511bbd8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afcf922650b2fd9d76b7b939d8511bbd8"></a>
+class </td><td class="memItemRight" valign="bottom"><b>scoped_lock</b></td></tr>
+<tr class="separator:afcf922650b2fd9d76b7b939d8511bbd8"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>A lock that occupies a single byte. </p>
+<p>A <a class="el" href="a00127.html" title="A lock that occupies a single byte. ">spin_mutex</a> is a spin mutex that fits in a single byte. It should be used only for locking short critical sections (typically less than 20 instructions) when fairness is not an issue. If zero-initialized, the mutex is considered unheld. </p>
+</div><h2 class="groupheader">Constructor & Destructor Documentation</h2>
+<a class="anchor" id="a6c96196965bf7df426311d282ad3c378"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">tbb::spin_mutex::spin_mutex </td>
+          <td>(</td>
+          <td class="paramname">)</td><td></td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Construct unacquired lock. </p>
+<p>Equivalent to zero-initialization of *this. </p>
+
+<p>References <a class="el" href="a00127.html#a4ec484f4df6ec5595ec821ef20bd6cd7">internal_construct()</a>.</p>
+
+</div>
+</div>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="a003ffb196d22bf22ca22142338b7eeab"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool tbb::spin_mutex::try_lock </td>
+          <td>(</td>
+          <td class="paramname">)</td><td></td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Try acquiring lock (non-blocking) </p>
+<p>Return true if lock acquired; false otherwise. </p>
+
+<p>References <a class="el" href="a00014.html#a3525dbbac0d4eaedfe18bc57b7760857">tbb::aligned_space< T, N >::begin()</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>spin_mutex.h</li>
+</ul>
+</div><!-- contents -->
+<hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00128.html b/doc/html/a00128.html
index c9dde52..599407f 100644
--- a/doc/html/a00128.html
+++ b/doc/html/a00128.html
@@ -1,36 +1,225 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::spin_rw_mutex_v3 Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<h1>tbb::spin_mutex::scoped_lock Member List</h1>This is the complete list of members for <a class="el" href="a00344.html">tbb::spin_mutex::scoped_lock</a>, including all inherited members.<p><table>
-  <tr class="memlist"><td><a class="el" href="a00344.html#3ee3c338732b1f64b0b32a757807a30d">acquire</a>(spin_mutex &m)</td><td><a class="el" href="a00344.html">tbb::spin_mutex::scoped_lock</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00344.html#eeb615e68e963e6bf8d9c11402d0ce8e">release</a>()</td><td><a class="el" href="a00344.html">tbb::spin_mutex::scoped_lock</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00344.html#29ae680ae7f5e685c2e15535b9c855b3">scoped_lock</a>()</td><td><a class="el" href="a00344.html">tbb::spin_mutex::scoped_lock</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00344.html#5ce6807050a9e8f87bcb4a65dccb12ef">scoped_lock</a>(spin_mutex &m)</td><td><a class="el" href="a00344.html">tbb::spin_mutex::scoped_lock</a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>spin_mutex</b> (defined in <a class="el" href="a00344.html">tbb::spin_mutex::scoped_lock</a>)</td><td><a class="el" href="a00344.html">tbb::spin_mutex::scoped_lock</a></td><td><code> [friend]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00344.html#9297ec188534b45dc0ca48f2f39a0501">try_acquire</a>(spin_mutex &m)</td><td><a class="el" href="a00344.html">tbb::spin_mutex::scoped_lock</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00344.html#ac6fa425d1f06c56d8b70abc51aac844">~scoped_lock</a>()</td><td><a class="el" href="a00344.html">tbb::spin_mutex::scoped_lock</a></td><td><code> [inline]</code></td></tr>
-</table><hr>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00128.html">spin_rw_mutex_v3</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Classes</a> |
+<a href="#pub-methods">Public Member Functions</a> |
+<a href="#pub-static-attribs">Static Public Attributes</a> |
+<a href="#pro-types">Protected Types</a> |
+<a href="#pro-attribs">Protected Attributes</a> |
+<a href="#pro-static-attribs">Static Protected Attributes</a> |
+<a href="a00283.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::spin_rw_mutex_v3 Class Reference<div class="ingroups"><a class="el" href="a00237.html">Synchronization</a></div></div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Fast, unfair, spinning reader-writer lock with backoff and writer-preference.  
+ <a href="a00128.html#details">More...</a></p>
+
+<p><code>#include <spin_rw_mutex.h></code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Classes</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00114.html">scoped_lock</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">The scoped locking pattern.  <a href="a00114.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:ad30fc1ffa0a2b8134e177e02c5821d7f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad30fc1ffa0a2b8134e177e02c5821d7f"></a>
+ </td><td class="memItemRight" valign="bottom"><a class="el" href="a00128.html#ad30fc1ffa0a2b8134e177e02c5821d7f">spin_rw_mutex_v3</a> ()</td></tr>
+<tr class="memdesc:ad30fc1ffa0a2b8134e177e02c5821d7f"><td class="mdescLeft"> </td><td class="mdescRight">Construct unacquired mutex. <br/></td></tr>
+<tr class="separator:ad30fc1ffa0a2b8134e177e02c5821d7f"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:acc7cf2e4b14d3a2a591a3552d74ba99d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acc7cf2e4b14d3a2a591a3552d74ba99d"></a>
+ </td><td class="memItemRight" valign="bottom"><a class="el" href="a00128.html#acc7cf2e4b14d3a2a591a3552d74ba99d">~spin_rw_mutex_v3</a> ()</td></tr>
+<tr class="memdesc:acc7cf2e4b14d3a2a591a3552d74ba99d"><td class="mdescLeft"> </td><td class="mdescRight">Destructor asserts if the mutex is acquired, i.e. state is zero. <br/></td></tr>
+<tr class="separator:acc7cf2e4b14d3a2a591a3552d74ba99d"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a51e207646300a4c242bb4aaa4e04e9b8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a51e207646300a4c242bb4aaa4e04e9b8"></a>
+void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00128.html#a51e207646300a4c242bb4aaa4e04e9b8">lock</a> ()</td></tr>
+<tr class="memdesc:a51e207646300a4c242bb4aaa4e04e9b8"><td class="mdescLeft"> </td><td class="mdescRight">Acquire writer lock. <br/></td></tr>
+<tr class="separator:a51e207646300a4c242bb4aaa4e04e9b8"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ab6ec20b1ec43a49c8c2908984e35b5e8"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00128.html#ab6ec20b1ec43a49c8c2908984e35b5e8">try_lock</a> ()</td></tr>
+<tr class="memdesc:ab6ec20b1ec43a49c8c2908984e35b5e8"><td class="mdescLeft"> </td><td class="mdescRight">Try acquiring writer lock (non-blocking)  <a href="#ab6ec20b1ec43a49c8c2908984e35b5e8">More...</a><br/></td></tr>
+<tr class="separator:ab6ec20b1ec43a49c8c2908984e35b5e8"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ab04321ed2cdf12ac5825c54591028fc0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab04321ed2cdf12ac5825c54591028fc0"></a>
+void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00128.html#ab04321ed2cdf12ac5825c54591028fc0">unlock</a> ()</td></tr>
+<tr class="memdesc:ab04321ed2cdf12ac5825c54591028fc0"><td class="mdescLeft"> </td><td class="mdescRight">Release lock. <br/></td></tr>
+<tr class="separator:ab04321ed2cdf12ac5825c54591028fc0"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aa0e3bb644e9021d0f80ee36b03f228e4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa0e3bb644e9021d0f80ee36b03f228e4"></a>
+void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00128.html#aa0e3bb644e9021d0f80ee36b03f228e4">lock_read</a> ()</td></tr>
+<tr class="memdesc:aa0e3bb644e9021d0f80ee36b03f228e4"><td class="mdescLeft"> </td><td class="mdescRight">Acquire reader lock. <br/></td></tr>
+<tr class="separator:aa0e3bb644e9021d0f80ee36b03f228e4"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ac932f65b0b66320688e7957ce9c3e2c1"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00128.html#ac932f65b0b66320688e7957ce9c3e2c1">try_lock_read</a> ()</td></tr>
+<tr class="memdesc:ac932f65b0b66320688e7957ce9c3e2c1"><td class="mdescLeft"> </td><td class="mdescRight">Try acquiring reader lock (non-blocking)  <a href="#ac932f65b0b66320688e7957ce9c3e2c1">More...</a><br/></td></tr>
+<tr class="separator:ac932f65b0b66320688e7957ce9c3e2c1"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-attribs"></a>
+Static Public Attributes</h2></td></tr>
+<tr class="memitem:addc8223faacc1bb2cc8626b609ab2c49"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="addc8223faacc1bb2cc8626b609ab2c49"></a>
+static const bool </td><td class="memItemRight" valign="bottom"><b>is_rw_mutex</b> = true</td></tr>
+<tr class="separator:addc8223faacc1bb2cc8626b609ab2c49"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a7f6aa8fe3e9c7c4ee4cdec6d221ffe45"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7f6aa8fe3e9c7c4ee4cdec6d221ffe45"></a>
+static const bool </td><td class="memItemRight" valign="bottom"><b>is_recursive_mutex</b> = false</td></tr>
+<tr class="separator:a7f6aa8fe3e9c7c4ee4cdec6d221ffe45"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:affd403f6e3822589e985a2c23505fbd1"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="affd403f6e3822589e985a2c23505fbd1"></a>
+static const bool </td><td class="memItemRight" valign="bottom"><b>is_fair_mutex</b> = false</td></tr>
+<tr class="separator:affd403f6e3822589e985a2c23505fbd1"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-types"></a>
+Protected Types</h2></td></tr>
+<tr class="memitem:a27adc7d791dfaa4a60638313b9d1c1f4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a27adc7d791dfaa4a60638313b9d1c1f4"></a>
+typedef intptr_t </td><td class="memItemRight" valign="bottom"><b>state_t</b></td></tr>
+<tr class="separator:a27adc7d791dfaa4a60638313b9d1c1f4"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
+Protected Attributes</h2></td></tr>
+<tr class="memitem:aa28625051072472ccd8a2b19405d6fb3"><td class="memItemLeft" align="right" valign="top">state_t </td><td class="memItemRight" valign="bottom"><a class="el" href="a00128.html#aa28625051072472ccd8a2b19405d6fb3">state</a></td></tr>
+<tr class="memdesc:aa28625051072472ccd8a2b19405d6fb3"><td class="mdescLeft"> </td><td class="mdescRight">State of lock.  <a href="#aa28625051072472ccd8a2b19405d6fb3">More...</a><br/></td></tr>
+<tr class="separator:aa28625051072472ccd8a2b19405d6fb3"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-static-attribs"></a>
+Static Protected Attributes</h2></td></tr>
+<tr class="memitem:aaeec59dde09fe92be196ecddb480777b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aaeec59dde09fe92be196ecddb480777b"></a>
+static const state_t </td><td class="memItemRight" valign="bottom"><b>WRITER</b> = 1</td></tr>
+<tr class="separator:aaeec59dde09fe92be196ecddb480777b"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a5b321914828e5e21baf24d58f32c66d5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5b321914828e5e21baf24d58f32c66d5"></a>
+static const state_t </td><td class="memItemRight" valign="bottom"><b>WRITER_PENDING</b> = 2</td></tr>
+<tr class="separator:a5b321914828e5e21baf24d58f32c66d5"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a6cc93cdcf4ad43f6bf8b0f76cde66f9e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6cc93cdcf4ad43f6bf8b0f76cde66f9e"></a>
+static const state_t </td><td class="memItemRight" valign="bottom"><b>READERS</b> = ~(WRITER | WRITER_PENDING)</td></tr>
+<tr class="separator:a6cc93cdcf4ad43f6bf8b0f76cde66f9e"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:af1386a2fa5979432e4a58b94e68db23f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af1386a2fa5979432e4a58b94e68db23f"></a>
+static const state_t </td><td class="memItemRight" valign="bottom"><b>ONE_READER</b> = 4</td></tr>
+<tr class="separator:af1386a2fa5979432e4a58b94e68db23f"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a6a811c72bd7e5ad6a3a9161ee05e298c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6a811c72bd7e5ad6a3a9161ee05e298c"></a>
+static const state_t </td><td class="memItemRight" valign="bottom"><b>BUSY</b> = WRITER | READERS</td></tr>
+<tr class="separator:a6a811c72bd7e5ad6a3a9161ee05e298c"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Fast, unfair, spinning reader-writer lock with backoff and writer-preference. </p>
+</div><h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="ab6ec20b1ec43a49c8c2908984e35b5e8"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool tbb::spin_rw_mutex_v3::try_lock </td>
+          <td>(</td>
+          <td class="paramname">)</td><td></td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Try acquiring writer lock (non-blocking) </p>
+<p>Return true if lock acquired; false otherwise. </p>
+
+</div>
+</div>
+<a class="anchor" id="ac932f65b0b66320688e7957ce9c3e2c1"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool tbb::spin_rw_mutex_v3::try_lock_read </td>
+          <td>(</td>
+          <td class="paramname">)</td><td></td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Try acquiring reader lock (non-blocking) </p>
+<p>Return true if reader lock acquired; false otherwise. </p>
+
+</div>
+</div>
+<h2 class="groupheader">Member Data Documentation</h2>
+<a class="anchor" id="aa28625051072472ccd8a2b19405d6fb3"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">state_t tbb::spin_rw_mutex_v3::state</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>State of lock. </p>
+<p>Bit 0 = writer is holding lock Bit 1 = request by a writer to acquire lock (hint to readers to wait) Bit 2..N = number of readers holding lock </p>
+
+<p>Referenced by <a class="el" href="a00114.html#a99e279a995a51abfb87b865e886949f8">tbb::spin_rw_mutex_v3::scoped_lock::release()</a>, and <a class="el" href="a00128.html#ab04321ed2cdf12ac5825c54591028fc0">unlock()</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>spin_rw_mutex.h</li>
+</ul>
+</div><!-- contents -->
+<hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00129.html b/doc/html/a00129.html
index 64ded4a..fa3beb0 100644
--- a/doc/html/a00129.html
+++ b/doc/html/a00129.html
@@ -1,39 +1,61 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::split Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<h1>tbb::spin_rw_mutex_v3 Member List</h1>This is the complete list of members for <a class="el" href="a00345.html">tbb::spin_rw_mutex_v3</a>, including all inherited members.<p><table>
-  <tr bgcolor="#f0f0f0"><td><b>is_fair_mutex</b> (defined in <a class="el" href="a00345.html">tbb::spin_rw_mutex_v3</a>)</td><td><a class="el" href="a00345.html">tbb::spin_rw_mutex_v3</a></td><td><code> [static]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>is_recursive_mutex</b> (defined in <a class="el" href="a00345.html">tbb::spin_rw_mutex_v3</a>)</td><td><a class="el" href="a00345.html">tbb::spin_rw_mutex_v3</a></td><td><code> [static]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>is_rw_mutex</b> (defined in <a class="el" href="a00345.html">tbb::spin_rw_mutex_v3</a>)</td><td><a class="el" href="a00345.html">tbb::spin_rw_mutex_v3</a></td><td><code> [static]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00345.html#4007d6e1523dbc3c2bb7f889ab789a8a">lock</a>()</td><td><a class="el" href="a00345.html">tbb::spin_rw_mutex_v3</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00345.html#13f799708ac4ca437a16be202e263e18">lock_read</a>()</td><td><a class="el" href="a00345.html">tbb::spin_rw_mutex_v3</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00345.html#61332b2756de89f3f5f69310cbb6e70c">spin_rw_mutex_v3</a>()</td><td><a class="el" href="a00345.html">tbb::spin_rw_mutex_v3</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00345.html#088bb256be794cc47d3b83791632fdfc">try_lock</a>()</td><td><a class="el" href="a00345.html">tbb::spin_rw_mutex_v3</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00345.html#b8667415869013f840d976aa406d385a">try_lock_read</a>()</td><td><a class="el" href="a00345.html">tbb::spin_rw_mutex_v3</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00345.html#f9f52ead2098eb5fb12da59d5ae53b55">unlock</a>()</td><td><a class="el" href="a00345.html">tbb::spin_rw_mutex_v3</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00345.html#9a815fb2759e55072ed413f1b6970cf3">~spin_rw_mutex_v3</a>()</td><td><a class="el" href="a00345.html">tbb::spin_rw_mutex_v3</a></td><td><code> [inline]</code></td></tr>
-</table><hr>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00129.html">split</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::split Class Reference<div class="ingroups"><a class="el" href="a00234.html">Algorithms</a></div></div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Dummy type that distinguishes splitting constructor from copy constructor.  
+ <a href="a00129.html#details">More...</a></p>
+
+<p><code>#include <tbb_stddef.h></code></p>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Dummy type that distinguishes splitting constructor from copy constructor. </p>
+<p>See description of parallel_for and parallel_reduce for example usages. </p>
+</div><hr/>The documentation for this class was generated from the following file:<ul>
+<li>tbb_stddef.h</li>
+</ul>
+</div><!-- contents -->
+<hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00130.html b/doc/html/a00130.html
index 2e0dd07..65a7e08 100644
--- a/doc/html/a00130.html
+++ b/doc/html/a00130.html
@@ -1,39 +1,146 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::flow::interface7::split_node< TupleType, Allocator > Class Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<h1>tbb::spin_rw_mutex_v3::scoped_lock Member List</h1>This is the complete list of members for <a class="el" href="a00346.html">tbb::spin_rw_mutex_v3::scoped_lock</a>, including all inherited members.<p><table>
-  <tr class="memlist"><td><a class="el" href="a00346.html#b0b646ec5be02a127d159bbb7ca65353">acquire</a>(spin_rw_mutex &m, bool write=true)</td><td><a class="el" href="a00346.html">tbb::spin_rw_mutex_v3::scoped_lock</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00346.html#c2c2c38a08cb9080e87099fac3e5bc94">downgrade_to_reader</a>()</td><td><a class="el" href="a00346.html">tbb::spin_rw_mutex_v3::scoped_lock</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00346.html#6b5a7c3c67a36b05c4df8410d32627d8">is_writer</a></td><td><a class="el" href="a00346.html">tbb::spin_rw_mutex_v3::scoped_lock</a></td><td><code> [protected]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00346.html#d96d1a1fcc3d79ef3e5c06a53b8ffeaa">mutex</a></td><td><a class="el" href="a00346.html">tbb::spin_rw_mutex_v3::scoped_lock</a></td><td><code> [protected]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00346.html#61b14d00a78185c9b2d206ebfc379124">release</a>()</td><td><a class="el" href="a00346.html">tbb::spin_rw_mutex_v3::scoped_lock</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00346.html#d6ea60dee5563f702379bf5e51aa8806">scoped_lock</a>()</td><td><a class="el" href="a00346.html">tbb::spin_rw_mutex_v3::scoped_lock</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00346.html#42a92d4f8fdde425b111cfa8a9228071">scoped_lock</a>(spin_rw_mutex &m, bool write=true)</td><td><a class="el" href="a00346.html">tbb::spin_rw_mutex_v3::scoped_lock</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00346.html#9879626968d9b9a04cd2ec0fb2e84ae1">try_acquire</a>(spin_rw_mutex &m, bool write=true)</td><td><a class="el" href="a00346.html">tbb::spin_rw_mutex_v3::scoped_lock</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00346.html#3f0b1e3f2efab63336400348bd070226">upgrade_to_writer</a>()</td><td><a class="el" href="a00346.html">tbb::spin_rw_mutex_v3::scoped_lock</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00346.html#d7eaaa3f2e2c5dc11e7005811b1bdd04">~scoped_lock</a>()</td><td><a class="el" href="a00346.html">tbb::spin_rw_mutex_v3::scoped_lock</a></td><td><code> [inline]</code></td></tr>
-</table><hr>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>flow</b></li><li class="navelem"><b>interface7</b></li><li class="navelem"><a class="el" href="a00130.html">split_node</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Classes</a> |
+<a href="#pub-types">Public Types</a> |
+<a href="#pub-methods">Public Member Functions</a> |
+<a href="a00320.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::flow::interface7::split_node< TupleType, Allocator > Class Template Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p><a class="el" href="a00130.html" title="split_node: accepts a tuple as input, forwards each element of the tuple to its ">split_node</a>: accepts a tuple as input, forwards each element of the tuple to its  
+ <a href="a00130.html#details">More...</a></p>
+
+<p><code>#include <flow_graph.h></code></p>
+<div class="dynheader">
+Inheritance diagram for tbb::flow::interface7::split_node< TupleType, Allocator >:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00130.png" usemap="#tbb::flow::interface7::split_node< TupleType, Allocator >_map" alt=""/>
+  <map id="tbb::flow::interface7::split_node< TupleType, Allocator >_map" name="tbb::flow::interface7::split_node< TupleType, Allocator >_map">
+<area href="a00079.html" alt="tbb::flow::interface7::multifunction_node< TupleType, TupleType, rejecting, Allocator >" shape="rect" coords="500,112,1490,136"/>
+<area href="a00063.html" title="The base of all graph nodes. " alt="tbb::flow::interface7::graph_node" shape="rect" coords="0,56,990,80"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:a7b30b85d93e3a6cc74eb58a9eccc77e8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7b30b85d93e3a6cc74eb58a9eccc77e8"></a>
+typedef <br class="typebreak"/>
+base_type::output_ports_type </td><td class="memItemRight" valign="bottom"><b>output_ports_type</b></td></tr>
+<tr class="separator:a7b30b85d93e3a6cc74eb58a9eccc77e8"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ab385733461335acd814fdc501dd1ab90"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab385733461335acd814fdc501dd1ab90"></a>
+typedef TupleType </td><td class="memItemRight" valign="bottom"><b>input_type</b></td></tr>
+<tr class="separator:ab385733461335acd814fdc501dd1ab90"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:abd56f31b5208a5dff21e5ecba2c2902f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abd56f31b5208a5dff21e5ecba2c2902f"></a>
+typedef Allocator </td><td class="memItemRight" valign="bottom"><b>allocator_type</b></td></tr>
+<tr class="separator:abd56f31b5208a5dff21e5ecba2c2902f"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="inherit_header pub_types_a00079"><td colspan="2" onclick="javascript:toggleInherit('pub_types_a00079')"><img src="closed.png" alt="-"/> Public Types inherited from <a class="el" href="a00079.html">tbb::flow::interface7::multifunction_node< TupleType, TupleType, rejecting, Allocator ></a></td></tr>
+<tr class="memitem:a3b656d3448ae8bf5acc58b07c072b3ab inherit pub_types_a00079"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3b656d3448ae8bf5acc58b07c072b3ab"></a>
+typedef TupleType </td><td class="memItemRight" valign="bottom"><b>input_type</b></td></tr>
+<tr class="separator:a3b656d3448ae8bf5acc58b07c072b3ab inherit pub_types_a00079"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a644a4f1eb5056ebae1f0032318b3e99d inherit pub_types_a00079"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a644a4f1eb5056ebae1f0032318b3e99d"></a>
+typedef <br class="typebreak"/>
+internal::wrap_tuple_elements<br class="typebreak"/>
+< N, <br class="typebreak"/>
+internal::multifunction_output, <br class="typebreak"/>
+TupleType >::type </td><td class="memItemRight" valign="bottom"><b>output_ports_type</b></td></tr>
+<tr class="separator:a644a4f1eb5056ebae1f0032318b3e99d inherit pub_types_a00079"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a61bb1309f07046df50f2c9ab878c81d4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a61bb1309f07046df50f2c9ab878c81d4"></a>
+ </td><td class="memItemRight" valign="bottom"><b>split_node</b> (<a class="el" href="a00061.html">graph</a> &g)</td></tr>
+<tr class="separator:a61bb1309f07046df50f2c9ab878c81d4"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ae9fad205fec699a225969f0391ea133d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae9fad205fec699a225969f0391ea133d"></a>
+ </td><td class="memItemRight" valign="bottom"><b>split_node</b> (const <a class="el" href="a00130.html">split_node</a> &other)</td></tr>
+<tr class="separator:ae9fad205fec699a225969f0391ea133d"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a1550198e198fc858c5619ce1dbd8411a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1550198e198fc858c5619ce1dbd8411a"></a>
+void </td><td class="memItemRight" valign="bottom"><b>set_name</b> (const char *name)</td></tr>
+<tr class="separator:a1550198e198fc858c5619ce1dbd8411a"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="inherit_header pub_methods_a00079"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00079')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="a00079.html">tbb::flow::interface7::multifunction_node< TupleType, TupleType, rejecting, Allocator ></a></td></tr>
+<tr class="memitem:a7be5663f3c71c628215860fb97302a5a inherit pub_methods_a00079"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7be5663f3c71c628215860fb97302a5a"></a>
+ </td><td class="memItemRight" valign="bottom"><b>multifunction_node</b> (<a class="el" href="a00061.html">graph</a> &g, size_t concurrency, Body body)</td></tr>
+<tr class="separator:a7be5663f3c71c628215860fb97302a5a inherit pub_methods_a00079"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a09d3b9e53a7e2fa3c07a0b7a794556ea inherit pub_methods_a00079"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a09d3b9e53a7e2fa3c07a0b7a794556ea"></a>
+ </td><td class="memItemRight" valign="bottom"><b>multifunction_node</b> (const <a class="el" href="a00079.html">multifunction_node</a> &other)</td></tr>
+<tr class="separator:a09d3b9e53a7e2fa3c07a0b7a794556ea inherit pub_methods_a00079"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:afcc4529e5533d36b6341c83a09502ee9 inherit pub_methods_a00079"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afcc4529e5533d36b6341c83a09502ee9"></a>
+void </td><td class="memItemRight" valign="bottom"><b>set_name</b> (const char *name)</td></tr>
+<tr class="separator:afcc4529e5533d36b6341c83a09502ee9 inherit pub_methods_a00079"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="inherit_header pub_methods_a00063"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00063')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a></td></tr>
+<tr class="memitem:a4badd313105e30f539882276353dcb8e inherit pub_methods_a00063"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4badd313105e30f539882276353dcb8e"></a>
+ </td><td class="memItemRight" valign="bottom"><b>graph_node</b> (<a class="el" href="a00061.html">graph</a> &g)</td></tr>
+<tr class="separator:a4badd313105e30f539882276353dcb8e inherit pub_methods_a00063"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
+Additional Inherited Members</h2></td></tr>
+<tr class="inherit_header pro_methods_a00079"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_a00079')"><img src="closed.png" alt="-"/> Protected Member Functions inherited from <a class="el" href="a00079.html">tbb::flow::interface7::multifunction_node< TupleType, TupleType, rejecting, Allocator ></a></td></tr>
+<tr class="memitem:a69010000b837315a6b6f4c9fece42cca inherit pro_methods_a00079"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a69010000b837315a6b6f4c9fece42cca"></a>
+void </td><td class="memItemRight" valign="bottom"><b>reset</b> ()</td></tr>
+<tr class="separator:a69010000b837315a6b6f4c9fece42cca inherit pro_methods_a00079"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="inherit_header pro_attribs_a00063"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_a00063')"><img src="closed.png" alt="-"/> Protected Attributes inherited from <a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a></td></tr>
+<tr class="memitem:a1caee1c5677047b05d18b1662ca6fdf8 inherit pro_attribs_a00063"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1caee1c5677047b05d18b1662ca6fdf8"></a>
+<a class="el" href="a00061.html">graph</a> & </td><td class="memItemRight" valign="bottom"><b>my_graph</b></td></tr>
+<tr class="separator:a1caee1c5677047b05d18b1662ca6fdf8 inherit pro_attribs_a00063"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:af48cd0cd4f6e44efc3b353adb55f86a8 inherit pro_attribs_a00063"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af48cd0cd4f6e44efc3b353adb55f86a8"></a>
+<a class="el" href="a00063.html">graph_node</a> * </td><td class="memItemRight" valign="bottom"><b>next</b></td></tr>
+<tr class="separator:af48cd0cd4f6e44efc3b353adb55f86a8 inherit pro_attribs_a00063"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a6917bffc3cb150319679bf2395e68caa inherit pro_attribs_a00063"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6917bffc3cb150319679bf2395e68caa"></a>
+<a class="el" href="a00063.html">graph_node</a> * </td><td class="memItemRight" valign="bottom"><b>prev</b></td></tr>
+<tr class="separator:a6917bffc3cb150319679bf2395e68caa inherit pro_attribs_a00063"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><h3>template<typename TupleType, typename Allocator = cache_aligned_allocator<TupleType>><br/>
+class tbb::flow::interface7::split_node< TupleType, Allocator ></h3>
+
+<p><a class="el" href="a00130.html" title="split_node: accepts a tuple as input, forwards each element of the tuple to its ">split_node</a>: accepts a tuple as input, forwards each element of the tuple to its </p>
+</div><hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="a00179.html">flow_graph.h</a></li>
+</ul>
+</div><!-- contents -->
+<hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00130.png b/doc/html/a00130.png
new file mode 100644
index 0000000..280b875
Binary files /dev/null and b/doc/html/a00130.png differ
diff --git a/doc/html/a00131.html b/doc/html/a00131.html
new file mode 100644
index 0000000..ee49534
--- /dev/null
+++ b/doc/html/a00131.html
@@ -0,0 +1,56 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::internal::STATIC_ASSERTION_FAILED< condition > Struct Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>internal</b></li><li class="navelem"><a class="el" href="a00131.html">STATIC_ASSERTION_FAILED</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::internal::STATIC_ASSERTION_FAILED< condition > Struct Template Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<hr/>The documentation for this struct was generated from the following file:<ul>
+<li>tbb_stddef.h</li>
+</ul>
+</div><!-- contents -->
+<hr>
+<p></p>
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
+<p></p>
+Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
+registered trademarks or trademarks of Intel Corporation or its
+subsidiaries in the United States and other countries.
+<p></p>
+* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00132.html b/doc/html/a00132.html
index cd42daf..044a161 100644
--- a/doc/html/a00132.html
+++ b/doc/html/a00132.html
@@ -1,29 +1,63 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::internal::STATIC_ASSERTION_FAILED< false > Struct Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<h1>tbb::interface5::internal::task_base Member List</h1>This is the complete list of members for <a class="el" href="a00351.html">tbb::interface5::internal::task_base</a>, including all inherited members.<p><table>
-</table><hr>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>internal</b></li><li class="navelem"><a class="el" href="a00132.html">STATIC_ASSERTION_FAILED< false ></a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-types">Public Types</a> |
+<a href="a00376.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::internal::STATIC_ASSERTION_FAILED< false > Struct Template Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:aec2ba9645cac9caa207a83d7c2660266"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom">{ <b>value</b> =1
+ }</td></tr>
+<tr class="separator:aec2ba9645cac9caa207a83d7c2660266"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<hr/>The documentation for this struct was generated from the following file:<ul>
+<li>tbb_stddef.h</li>
+</ul>
+</div><!-- contents -->
+<hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00133.html b/doc/html/a00133.html
new file mode 100644
index 0000000..c471193
--- /dev/null
+++ b/doc/html/a00133.html
@@ -0,0 +1,118 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::structured_task_group Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00133.html">structured_task_group</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> |
+<a href="a00287.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::structured_task_group Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="dynheader">
+Inheritance diagram for tbb::structured_task_group:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00133.png" usemap="#tbb::structured_task_group_map" alt=""/>
+  <map id="tbb::structured_task_group_map" name="tbb::structured_task_group_map">
+<area href="a00137.html" alt="tbb::internal::task_group_base" shape="rect" coords="0,56,179,80"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:ab6812c9b682cec4b1a93da169b6fffc7"><td class="memTemplParams" colspan="2"><a class="anchor" id="ab6812c9b682cec4b1a93da169b6fffc7"></a>
+template<typename F > </td></tr>
+<tr class="memitem:ab6812c9b682cec4b1a93da169b6fffc7"><td class="memTemplItemLeft" align="right" valign="top">task_group_status </td><td class="memTemplItemRight" valign="bottom"><b>run_and_wait</b> (<a class="el" href="a00139.html">task_handle</a>< F > &h)</td></tr>
+<tr class="separator:ab6812c9b682cec4b1a93da169b6fffc7"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a0578ff577290a108d395ab29a0a04e04"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0578ff577290a108d395ab29a0a04e04"></a>
+task_group_status </td><td class="memItemRight" valign="bottom"><b>wait</b> ()</td></tr>
+<tr class="separator:a0578ff577290a108d395ab29a0a04e04"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="inherit_header pub_methods_a00137"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00137')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="a00137.html">tbb::internal::task_group_base</a></td></tr>
+<tr class="memitem:ac846a7be5035e1f5c929bda05e1b4401 inherit pub_methods_a00137"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac846a7be5035e1f5c929bda05e1b4401"></a>
+ </td><td class="memItemRight" valign="bottom"><b>task_group_base</b> (uintptr_t traits=0)</td></tr>
+<tr class="separator:ac846a7be5035e1f5c929bda05e1b4401 inherit pub_methods_a00137"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a8d8398153ad19d83a629aeb46991620b inherit pub_methods_a00137"><td class="memTemplParams" colspan="2"><a class="anchor" id="a8d8398153ad19d83a629aeb46991620b"></a>
+template<typename F > </td></tr>
+<tr class="memitem:a8d8398153ad19d83a629aeb46991620b inherit pub_methods_a00137"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><b>run</b> (<a class="el" href="a00139.html">task_handle</a>< F > &h)</td></tr>
+<tr class="separator:a8d8398153ad19d83a629aeb46991620b inherit pub_methods_a00137"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a9a05d8b3350796df951c701978cec816 inherit pub_methods_a00137"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9a05d8b3350796df951c701978cec816"></a>
+task_group_status </td><td class="memItemRight" valign="bottom"><b>wait</b> ()</td></tr>
+<tr class="separator:a9a05d8b3350796df951c701978cec816 inherit pub_methods_a00137"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a91b0943033a9e802cea00ac4af9e4ae2 inherit pub_methods_a00137"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a91b0943033a9e802cea00ac4af9e4ae2"></a>
+bool </td><td class="memItemRight" valign="bottom"><b>is_canceling</b> ()</td></tr>
+<tr class="separator:a91b0943033a9e802cea00ac4af9e4ae2 inherit pub_methods_a00137"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a2c2b1b967f4d1924cf15c19e3854ff2f inherit pub_methods_a00137"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2c2b1b967f4d1924cf15c19e3854ff2f"></a>
+void </td><td class="memItemRight" valign="bottom"><b>cancel</b> ()</td></tr>
+<tr class="separator:a2c2b1b967f4d1924cf15c19e3854ff2f inherit pub_methods_a00137"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
+Additional Inherited Members</h2></td></tr>
+<tr class="inherit_header pro_methods_a00137"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_a00137')"><img src="closed.png" alt="-"/> Protected Member Functions inherited from <a class="el" href="a00137.html">tbb::internal::task_group_base</a></td></tr>
+<tr class="memitem:a4efe5bdeaa3c874a36e7d95d76ad1367 inherit pro_methods_a00137"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4efe5bdeaa3c874a36e7d95d76ad1367"></a>
+task & </td><td class="memItemRight" valign="bottom"><b>owner</b> ()</td></tr>
+<tr class="separator:a4efe5bdeaa3c874a36e7d95d76ad1367 inherit pro_methods_a00137"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aef3561e83c11cde7299a34db1064f420 inherit pro_methods_a00137"><td class="memTemplParams" colspan="2"><a class="anchor" id="aef3561e83c11cde7299a34db1064f420"></a>
+template<typename F > </td></tr>
+<tr class="memitem:aef3561e83c11cde7299a34db1064f420 inherit pro_methods_a00137"><td class="memTemplItemLeft" align="right" valign="top">task_group_status </td><td class="memTemplItemRight" valign="bottom"><b>internal_run_and_wait</b> (F &f)</td></tr>
+<tr class="separator:aef3561e83c11cde7299a34db1064f420 inherit pro_methods_a00137"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ab57636e45b436a15c7adefb25f9df090 inherit pro_methods_a00137"><td class="memTemplParams" colspan="2"><a class="anchor" id="ab57636e45b436a15c7adefb25f9df090"></a>
+template<typename F , typename Task > </td></tr>
+<tr class="memitem:ab57636e45b436a15c7adefb25f9df090 inherit pro_methods_a00137"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><b>internal_run</b> (F &f)</td></tr>
+<tr class="separator:ab57636e45b436a15c7adefb25f9df090 inherit pro_methods_a00137"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="inherit_header pro_attribs_a00137"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_a00137')"><img src="closed.png" alt="-"/> Protected Attributes inherited from <a class="el" href="a00137.html">tbb::internal::task_group_base</a></td></tr>
+<tr class="memitem:a60fb257f34f63428032f93e9b3b50a89 inherit pro_attribs_a00137"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a60fb257f34f63428032f93e9b3b50a89"></a>
+empty_task * </td><td class="memItemRight" valign="bottom"><b>my_root</b></td></tr>
+<tr class="separator:a60fb257f34f63428032f93e9b3b50a89 inherit pro_attribs_a00137"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:afa2bb3845517c6b2f9e29a4e3b08a62d inherit pro_attribs_a00137"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afa2bb3845517c6b2f9e29a4e3b08a62d"></a>
+<a class="el" href="a00138.html">task_group_context</a> </td><td class="memItemRight" valign="bottom"><b>my_context</b></td></tr>
+<tr class="separator:afa2bb3845517c6b2f9e29a4e3b08a62d inherit pro_attribs_a00137"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>task_group.h</li>
+</ul>
+</div><!-- contents -->
+<hr>
+<p></p>
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
+<p></p>
+Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
+registered trademarks or trademarks of Intel Corporation or its
+subsidiaries in the United States and other countries.
+<p></p>
+* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00133.png b/doc/html/a00133.png
new file mode 100644
index 0000000..f9335ed
Binary files /dev/null and b/doc/html/a00133.png differ
diff --git a/doc/html/a00134.html b/doc/html/a00134.html
new file mode 100644
index 0000000..2d5b3a2
--- /dev/null
+++ b/doc/html/a00134.html
@@ -0,0 +1,56 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::flow::interface7::internal::successor_cache< T, M > Class Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>flow</b></li><li class="navelem"><b>interface7</b></li><li class="navelem"><b>internal</b></li><li class="navelem"><a class="el" href="a00134.html">successor_cache</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::flow::interface7::internal::successor_cache< T, M > Class Template Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="a00179.html">flow_graph.h</a></li>
+</ul>
+</div><!-- contents -->
+<hr>
+<p></p>
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
+<p></p>
+Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
+registered trademarks or trademarks of Intel Corporation or its
+subsidiaries in the United States and other countries.
+<p></p>
+* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00135.html b/doc/html/a00135.html
index 3dcf5a3..c7a5259 100644
--- a/doc/html/a00135.html
+++ b/doc/html/a00135.html
@@ -1,90 +1,379 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::interface7::task_arena Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<h1>tbb::task Member List</h1>This is the complete list of members for <a class="el" href="a00349.html">tbb::task</a>, including all inherited members.<p><table>
-  <tr class="memlist"><td><a class="el" href="a00349.html#4a3c415562d17905390ea5b49d12293e2a3f84c7721f6c0b859a91a5ecc660c4">__TBB_RECYCLE_TO_ENQUEUE</a> enum value</td><td><a class="el" href="a00349.html">tbb::task</a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>add_to_depth</b>(int) (defined in <a class="el" href="a00349.html">tbb::task</a>)</td><td><a class="el" href="a00349.html">tbb::task</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00349.html#3a920a56b0bcf2801518fb45b2c9d2be">affinity</a>() const </td><td><a class="el" href="a00349.html">tbb::task</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00349.html#d61bb32389d3857bf7511d69beaafb76">affinity_id</a> typedef</td><td><a class="el" href="a00349.html">tbb::task</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00349.html#1ff794f7053cd9148d5f280fbf07377f">allocate_child</a>()</td><td><a class="el" href="a00349.html">tbb::task</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00349.html#1434c79a5138993269d034008bff7329">allocate_continuation</a>()</td><td><a class="el" href="a00349.html">tbb::task</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00349.html#23acb0da0afd690da797f9f882027d34">allocate_root</a>()</td><td><a class="el" href="a00349.html">tbb::task</a></td><td><code> [inline, static]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00349.html#8ccc518caf31075a3e073996d2d240a4">allocate_root</a>(task_group_context &ctx)</td><td><a class="el" href="a00349.html">tbb::task</a></td><td><code> [inline, static]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00349.html#4a3c415562d17905390ea5b49d12293ebe94d3348dd038e41107819f00c1884c">allocated</a> enum value</td><td><a class="el" href="a00349.html">tbb::task</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00349.html#0f3fb4aac549ab642022450a4bd13326">cancel_group_execution</a>()</td><td><a class="el" href="a00349.html">tbb::task</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00349.html#62247be9a637a814c8e8f4bcfb3a1908">change_group</a>(task_group_context &ctx)</td><td><a class="el" href="a00349.html">tbb::task</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00349.html#d8c36a93f3972590fbb65ff1cef3173b">context</a>()</td><td><a class="el" href="a00349.html">tbb::task</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00349.html#ef4680f5c148020c5e7e43ddef44cd5d">decrement_ref_count</a>()</td><td><a class="el" href="a00349.html">tbb::task</a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>depth</b>() const  (defined in <a class="el" href="a00349.html">tbb::task</a>)</td><td><a class="el" href="a00349.html">tbb::task</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00349.html#dfaacf92685e5f86393bf657b2853bf8">destroy</a>(task &t)</td><td><a class="el" href="a00349.html">tbb::task</a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>endif</b> enum value (defined in <a class="el" href="a00349.html">tbb::task</a>)</td><td><a class="el" href="a00349.html">tbb::task</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00349.html#8365d063c0cc9d7bd616bca47256b93c">enqueue</a>(task &t)</td><td><a class="el" href="a00349.html">tbb::task</a></td><td><code> [inline, static]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00349.html#fe6bf6aaf84e664134fabb6c4f409ea9">enqueue</a>(task &t, priority_t p)</td><td><a class="el" href="a00349.html">tbb::task</a></td><td><code> [inline, static]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00349.html#22c298cd40937a431a06777423f002f6">execute</a>()=0</td><td><a class="el" href="a00349.html">tbb::task</a></td><td><code> [pure virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00349.html#4a3c415562d17905390ea5b49d12293ead0fe2302ccc360923f738c2ed7ec1b9">executing</a> enum value</td><td><a class="el" href="a00349.html">tbb::task</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00349.html#4a3c415562d17905390ea5b49d12293ecc67ca92bd6f1ce9738a1e9e7206b735">freed</a> enum value</td><td><a class="el" href="a00349.html">tbb::task</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00349.html#5987123486afca36ddebb9e2a8b7779a">group</a>()</td><td><a class="el" href="a00349.html">tbb::task</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00349.html#e1d969a1ccab6796e3b8b2c1a5be33d2">group_priority</a>() const </td><td><a class="el" href="a00349.html">tbb::task</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00349.html#f5fb43c7ad0de5a4b95703cebc39e345">increment_ref_count</a>()</td><td><a class="el" href="a00349.html">tbb::task</a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>interface5::internal::task_base</b> (defined in <a class="el" href="a00349.html">tbb::task</a>)</td><td><a class="el" href="a00349.html">tbb::task</a></td><td><code> [friend]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>internal::allocate_additional_child_of_proxy</b> (defined in <a class="el" href="a00349.html">tbb::task</a>)</td><td><a class="el" href="a00349.html">tbb::task</a></td><td><code> [friend]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>internal::allocate_child_proxy</b> (defined in <a class="el" href="a00349.html">tbb::task</a>)</td><td><a class="el" href="a00349.html">tbb::task</a></td><td><code> [friend]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>internal::allocate_continuation_proxy</b> (defined in <a class="el" href="a00349.html">tbb::task</a>)</td><td><a class="el" href="a00349.html">tbb::task</a></td><td><code> [friend]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>internal::allocate_root_proxy</b> (defined in <a class="el" href="a00349.html">tbb::task</a>)</td><td><a class="el" href="a00349.html">tbb::task</a></td><td><code> [friend]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>internal::allocate_root_with_context_proxy</b> (defined in <a class="el" href="a00349.html">tbb::task</a>)</td><td><a class="el" href="a00349.html">tbb::task</a></td><td><code> [friend]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>internal::scheduler</b> (defined in <a class="el" href="a00349.html">tbb::task</a>)</td><td><a class="el" href="a00349.html">tbb::task</a></td><td><code> [friend]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00349.html#025f18118c057c4c8db87ff2ce8df975">is_cancelled</a>() const </td><td><a class="el" href="a00349.html">tbb::task</a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>is_cancelled</b>() const  (defined in <a class="el" href="a00349.html">tbb::task</a>)</td><td><a class="el" href="a00349.html">tbb::task</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00349.html#c26718b3b247cd13deb1a741902e7105">is_owned_by_current_thread</a>() const </td><td><a class="el" href="a00349.html">tbb::task</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00349.html#f9169402702f56bf519448aaf34450aa">is_stolen_task</a>() const </td><td><a class="el" href="a00349.html">tbb::task</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00349.html#713c338c8eeaebdc5a6b10a69c039b06">note_affinity</a>(affinity_id id)</td><td><a class="el" href="a00349.html">tbb::task</a></td><td><code> [virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00349.html#314e98ee4347ccec83efcb9ee22e8596">parent</a>() const </td><td><a class="el" href="a00349.html">tbb::task</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00349.html#4a3c415562d17905390ea5b49d12293e0841dcf1c2a96dee9aa7b69f636cb81a">ready</a> enum value</td><td><a class="el" href="a00349.html">tbb::task</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00349.html#db399855177438bbc9cc61d508dae8d2">recycle_as_child_of</a>(task &new_parent)</td><td><a class="el" href="a00349.html">tbb::task</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00349.html#a67a79e18f62b43a623a00cfbd76db4c">recycle_as_continuation</a>()</td><td><a class="el" href="a00349.html">tbb::task</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00349.html#3b290d14109704e2b69dc1ac980a7a76">recycle_as_safe_continuation</a>()</td><td><a class="el" href="a00349.html">tbb::task</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00349.html#076120a15237d1ee63060c992e878b29">recycle_to_enqueue</a>()</td><td><a class="el" href="a00349.html">tbb::task</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00349.html#4f1be9bbcdb487830dbe298b68d85144">recycle_to_reexecute</a>()</td><td><a class="el" href="a00349.html">tbb::task</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00349.html#4a3c415562d17905390ea5b49d12293e3bf499aa6e6487cd1ace883a63100513">reexecute</a> enum value</td><td><a class="el" href="a00349.html">tbb::task</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00349.html#ad774f55eaec008ae02b236423209ced">ref_count</a>() const </td><td><a class="el" href="a00349.html">tbb::task</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00349.html#bd43e8d6249738efafd12d6a4c72c5e3">self</a>()</td><td><a class="el" href="a00349.html">tbb::task</a></td><td><code> [static]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00349.html#dca19d7a45487a7d67a0db517e2b57c9">set_affinity</a>(affinity_id id)</td><td><a class="el" href="a00349.html">tbb::task</a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>set_depth</b>(intptr_t) (defined in <a class="el" href="a00349.html">tbb::task</a>)</td><td><a class="el" href="a00349.html">tbb::task</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00349.html#9ac8d1542d67d9d80121ff986801ac26">set_group_priority</a>(priority_t p)</td><td><a class="el" href="a00349.html">tbb::task</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00349.html#d2eaf79fcaa3ae473e3bd3f44bd8a464">set_parent</a>(task *p)</td><td><a class="el" href="a00349.html">tbb::task</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00349.html#06a4206a57e8e12a439b14d6d41cfd92">set_ref_count</a>(int count)</td><td><a class="el" href="a00349.html">tbb::task</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00349.html#3ce28ca9baa771cfc37ecd72e69c4f3c">spawn_and_wait_for_all</a>(task &child)</td><td><a class="el" href="a00349.html">tbb::task</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00349.html#894ab68378e502776d8220eea7ce9fa1">spawn_and_wait_for_all</a>(task_list &list)</td><td><a class="el" href="a00349.html">tbb::task</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00349.html#ce8ce689c26a4ddf343829bc3c73290a">spawn_root_and_wait</a>(task &root)</td><td><a class="el" href="a00349.html">tbb::task</a></td><td><code> [inline, static]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00349.html#c33c7edbaec67aa8a56f48986a9dc69f">spawn_root_and_wait</a>(task_list &root_list)</td><td><a class="el" href="a00349.html">tbb::task</a></td><td><code> [inline, static]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00349.html#0af7b2d7e6e8b4333b2accfce3dfb374">state</a>() const </td><td><a class="el" href="a00349.html">tbb::task</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00349.html#4a3c415562d17905390ea5b49d12293e">state_type</a> enum name</td><td><a class="el" href="a00349.html">tbb::task</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00349.html#2bce8ec6e44706e70128f5cf91b76e67">task</a>()</td><td><a class="el" href="a00349.html">tbb::task</a></td><td><code> [inline, protected]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>task_list</b> (defined in <a class="el" href="a00349.html">tbb::task</a>)</td><td><a class="el" href="a00349.html">tbb::task</a></td><td><code> [friend]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00349.html#53d2615ad9c38859b4c8080936600283">wait_for_all</a>()</td><td><a class="el" href="a00349.html">tbb::task</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00349.html#98245ee0473f84cb19dbbf8c81134908">~task</a>()</td><td><a class="el" href="a00349.html">tbb::task</a></td><td><code> [inline, virtual]</code></td></tr>
-</table><hr>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>interface7</b></li><li class="navelem"><a class="el" href="a00135.html">task_arena</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> |
+<a href="#pub-static-methods">Static Public Member Functions</a> |
+<a href="#friends">Friends</a> |
+<a href="a00369.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::interface7::task_arena Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p><code>#include <task_arena.h></code></p>
+<div class="dynheader">
+Inheritance diagram for tbb::interface7::task_arena:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00135.png" usemap="#tbb::interface7::task_arena_map" alt=""/>
+  <map id="tbb::interface7::task_arena_map" name="tbb::interface7::task_arena_map">
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a6035737ce1a8db376d06880dae9d0c40"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00135.html#a6035737ce1a8db376d06880dae9d0c40">task_arena</a> (int max_concurrency=automatic, unsigned reserved_for_masters=1)</td></tr>
+<tr class="memdesc:a6035737ce1a8db376d06880dae9d0c40"><td class="mdescLeft"> </td><td class="mdescRight">Creates <a class="el" href="a00135.html">task_arena</a> with certain concurrency limits.  <a href="#a6035737ce1a8db376d06880dae9d0c40">More...</a><br/></td></tr>
+<tr class="separator:a6035737ce1a8db376d06880dae9d0c40"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a70d122b3e6e4760c6053c5c230c715ef"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a70d122b3e6e4760c6053c5c230c715ef"></a>
+ </td><td class="memItemRight" valign="bottom"><a class="el" href="a00135.html#a70d122b3e6e4760c6053c5c230c715ef">task_arena</a> (const <a class="el" href="a00135.html">task_arena</a> &s)</td></tr>
+<tr class="memdesc:a70d122b3e6e4760c6053c5c230c715ef"><td class="mdescLeft"> </td><td class="mdescRight">Copies settings from another <a class="el" href="a00135.html">task_arena</a>. <br/></td></tr>
+<tr class="separator:a70d122b3e6e4760c6053c5c230c715ef"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a955131a79f8dc5a0a5c9ffa66a7e7140"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a955131a79f8dc5a0a5c9ffa66a7e7140"></a>
+void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00135.html#a955131a79f8dc5a0a5c9ffa66a7e7140">initialize</a> ()</td></tr>
+<tr class="memdesc:a955131a79f8dc5a0a5c9ffa66a7e7140"><td class="mdescLeft"> </td><td class="mdescRight">Forces allocation of the resources for the <a class="el" href="a00135.html">task_arena</a> as specified in constructor arguments. <br/></td></tr>
+<tr class="separator:a955131a79f8dc5a0a5c9ffa66a7e7140"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a754d60ba6981461eb7c86afd14d3da2a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a754d60ba6981461eb7c86afd14d3da2a"></a>
+void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00135.html#a754d60ba6981461eb7c86afd14d3da2a">initialize</a> (int max_concurrency, unsigned reserved_for_masters=1)</td></tr>
+<tr class="memdesc:a754d60ba6981461eb7c86afd14d3da2a"><td class="mdescLeft"> </td><td class="mdescRight">Overrides concurrency level and forces initialization of internal representation. <br/></td></tr>
+<tr class="separator:a754d60ba6981461eb7c86afd14d3da2a"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aecb3eedeacfe8469a91c17525dae7fc9"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00135.html#aecb3eedeacfe8469a91c17525dae7fc9">terminate</a> ()</td></tr>
+<tr class="separator:aecb3eedeacfe8469a91c17525dae7fc9"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a9ff5a35a219953a4f3d99b833fa5f683"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00135.html#a9ff5a35a219953a4f3d99b833fa5f683">~task_arena</a> ()</td></tr>
+<tr class="separator:a9ff5a35a219953a4f3d99b833fa5f683"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ad85856cefa30d42155a2b122b03efd8c"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00135.html#ad85856cefa30d42155a2b122b03efd8c">is_active</a> () const </td></tr>
+<tr class="separator:ad85856cefa30d42155a2b122b03efd8c"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a8034275ed2fffa68f70484043b90d406"><td class="memTemplParams" colspan="2">template<typename F > </td></tr>
+<tr class="memitem:a8034275ed2fffa68f70484043b90d406"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00135.html#a8034275ed2fffa68f70484043b90d406">enqueue</a> (const F &f)</td></tr>
+<tr class="separator:a8034275ed2fffa68f70484043b90d406"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a9a04ab4afb2d74b0317618f59ab49be7"><td class="memTemplParams" colspan="2">template<typename F > </td></tr>
+<tr class="memitem:a9a04ab4afb2d74b0317618f59ab49be7"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00135.html#a9a04ab4afb2d74b0317618f59ab49be7">enqueue</a> (const F &f, priority_t p)</td></tr>
+<tr class="separator:a9a04ab4afb2d74b0317618f59ab49be7"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:af0c96f325b59d567b4c720f2830adde8"><td class="memTemplParams" colspan="2">template<typename F > </td></tr>
+<tr class="memitem:af0c96f325b59d567b4c720f2830adde8"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00135.html#af0c96f325b59d567b4c720f2830adde8">execute</a> (F &f)</td></tr>
+<tr class="separator:af0c96f325b59d567b4c720f2830adde8"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ab8442c8e9e3e678349409e08cabc7ae2"><td class="memTemplParams" colspan="2">template<typename F > </td></tr>
+<tr class="memitem:ab8442c8e9e3e678349409e08cabc7ae2"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00135.html#ab8442c8e9e3e678349409e08cabc7ae2">execute</a> (const F &f)</td></tr>
+<tr class="separator:ab8442c8e9e3e678349409e08cabc7ae2"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a07d87dff8c6116ee349684e10f754aeb"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00135.html#a07d87dff8c6116ee349684e10f754aeb">debug_wait_until_empty</a> ()</td></tr>
+<tr class="separator:a07d87dff8c6116ee349684e10f754aeb"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
+Static Public Member Functions</h2></td></tr>
+<tr class="memitem:a4c107b6a4cc79183923fe2433d25644f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4c107b6a4cc79183923fe2433d25644f"></a>
+static int </td><td class="memItemRight" valign="bottom"><a class="el" href="a00135.html#a4c107b6a4cc79183923fe2433d25644f">current_slot</a> ()</td></tr>
+<tr class="memdesc:a4c107b6a4cc79183923fe2433d25644f"><td class="mdescLeft"> </td><td class="mdescRight">Returns the index, aka slot number, of the calling thread in its current arena. <br/></td></tr>
+<tr class="separator:a4c107b6a4cc79183923fe2433d25644f"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
+Friends</h2></td></tr>
+<tr class="memitem:a6887d06dd0f104ab6c06fdddca4d2471"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6887d06dd0f104ab6c06fdddca4d2471"></a>
+class </td><td class="memItemRight" valign="bottom"><b>tbb::internal::task_scheduler_observer_v3</b></td></tr>
+<tr class="separator:a6887d06dd0f104ab6c06fdddca4d2471"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>1-to-1 proxy representation class of scheduler's arena Constructors set up settings only, real construction is deferred till the first method invocation Destructor only removes one of the references to the inner arena representation. Final destruction happens when all the references (and the work) are gone. </p>
+</div><h2 class="groupheader">Constructor & Destructor Documentation</h2>
+<a class="anchor" id="a6035737ce1a8db376d06880dae9d0c40"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">tbb::interface7::task_arena::task_arena </td>
+          <td>(</td>
+          <td class="paramtype">int </td>
+          <td class="paramname"><em>max_concurrency</em> = <code>automatic</code>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">unsigned </td>
+          <td class="paramname"><em>reserved_for_masters</em> = <code>1</code> </td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Creates <a class="el" href="a00135.html">task_arena</a> with certain concurrency limits. </p>
+<p>Sets up settings only, real construction is deferred till the first method invocation </p>
+<ul>
+<li>max_concurrency specifies total number of slots in arena where threads work </li>
+<li>reserved_for_masters specifies number of slots to be used by master threads only. Value of 1 is default and reflects behavior of implicit arenas. </li>
+</ul>
+
+</div>
+</div>
+<a class="anchor" id="a9ff5a35a219953a4f3d99b833fa5f683"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">tbb::interface7::task_arena::~task_arena </td>
+          <td>(</td>
+          <td class="paramname">)</td><td></td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<p>Removes the reference to the internal arena representation, and destroys the external object. Not thread safe wrt concurrent invocations of other methods. </p>
+
+</div>
+</div>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="a07d87dff8c6116ee349684e10f754aeb"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">void tbb::interface7::task_arena::debug_wait_until_empty </td>
+          <td>(</td>
+          <td class="paramname">)</td><td></td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<p>Wait for all work in the arena to be completed Even submitted by other application threads Joins arena if/when possible (in the same way as <a class="el" href="a00135.html#af0c96f325b59d567b4c720f2830adde8">execute()</a>) </p>
+
+</div>
+</div>
+<a class="anchor" id="a8034275ed2fffa68f70484043b90d406"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename F > </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">void tbb::interface7::task_arena::enqueue </td>
+          <td>(</td>
+          <td class="paramtype">const F & </td>
+          <td class="paramname"><em>f</em>)</td><td></td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<p>Enqueues a task into the arena to process a functor, and immediately returns. Does not require the calling thread to join the arena </p>
+
+</div>
+</div>
+<a class="anchor" id="a9a04ab4afb2d74b0317618f59ab49be7"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename F > </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">void tbb::interface7::task_arena::enqueue </td>
+          <td>(</td>
+          <td class="paramtype">const F & </td>
+          <td class="paramname"><em>f</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">priority_t </td>
+          <td class="paramname"><em>p</em> </td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<p>Enqueues a task with priority p into the arena to process a functor f, and immediately returns. Does not require the calling thread to join the arena </p>
+
+</div>
+</div>
+<a class="anchor" id="af0c96f325b59d567b4c720f2830adde8"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename F > </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">void tbb::interface7::task_arena::execute </td>
+          <td>(</td>
+          <td class="paramtype">F & </td>
+          <td class="paramname"><em>f</em>)</td><td></td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<p>Joins the arena and executes a functor, then returns If not possible to join, wraps the functor into a task, enqueues it and waits for task completion Can decrement the arena demand for workers, causing a worker to leave and free a slot to the calling thread </p>
+
+</div>
+</div>
+<a class="anchor" id="ab8442c8e9e3e678349409e08cabc7ae2"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename F > </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">void tbb::interface7::task_arena::execute </td>
+          <td>(</td>
+          <td class="paramtype">const F & </td>
+          <td class="paramname"><em>f</em>)</td><td></td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<p>Joins the arena and executes a functor, then returns If not possible to join, wraps the functor into a task, enqueues it and waits for task completion Can decrement the arena demand for workers, causing a worker to leave and free a slot to the calling thread </p>
+
+</div>
+</div>
+<a class="anchor" id="ad85856cefa30d42155a2b122b03efd8c"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool tbb::interface7::task_arena::is_active </td>
+          <td>(</td>
+          <td class="paramname">)</td><td></td>
+          <td> const</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<p>Returns true if the arena is active (initialized); false otherwise. The name was chosen to match a <a class="el" href="a00141.html" title="Class delimiting the scope of task scheduler activity. ">task_scheduler_init</a> method with the same semantics. </p>
+
+</div>
+</div>
+<a class="anchor" id="aecb3eedeacfe8469a91c17525dae7fc9"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">void tbb::interface7::task_arena::terminate </td>
+          <td>(</td>
+          <td class="paramname">)</td><td></td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<p>Removes the reference to the internal arena representation. Not thread safe wrt concurrent invocations of other methods. </p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>task_arena.h</li>
+</ul>
+</div><!-- contents -->
+<hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00135.png b/doc/html/a00135.png
new file mode 100644
index 0000000..e9685d4
Binary files /dev/null and b/doc/html/a00135.png differ
diff --git a/doc/html/a00136.html b/doc/html/a00136.html
index b07e17f..1ed3b67 100644
--- a/doc/html/a00136.html
+++ b/doc/html/a00136.html
@@ -1,88 +1,127 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::task_group Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<h1>tbb::empty_task Member List</h1>This is the complete list of members for <a class="el" href="a00292.html">tbb::empty_task</a>, including all inherited members.<p><table>
-  <tr class="memlist"><td><a class="el" href="a00349.html#4a3c415562d17905390ea5b49d12293e2a3f84c7721f6c0b859a91a5ecc660c4">__TBB_RECYCLE_TO_ENQUEUE</a> enum value</td><td><a class="el" href="a00349.html">tbb::task</a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>add_to_depth</b>(int) (defined in <a class="el" href="a00349.html">tbb::task</a>)</td><td><a class="el" href="a00349.html">tbb::task</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00349.html#3a920a56b0bcf2801518fb45b2c9d2be">affinity</a>() const </td><td><a class="el" href="a00349.html">tbb::task</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00349.html#d61bb32389d3857bf7511d69beaafb76">affinity_id</a> typedef</td><td><a class="el" href="a00349.html">tbb::task</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00349.html#1ff794f7053cd9148d5f280fbf07377f">allocate_child</a>()</td><td><a class="el" href="a00349.html">tbb::task</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00349.html#1434c79a5138993269d034008bff7329">allocate_continuation</a>()</td><td><a class="el" href="a00349.html">tbb::task</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00349.html#23acb0da0afd690da797f9f882027d34">allocate_root</a>()</td><td><a class="el" href="a00349.html">tbb::task</a></td><td><code> [inline, static]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00349.html#8ccc518caf31075a3e073996d2d240a4">allocate_root</a>(task_group_context &ctx)</td><td><a class="el" href="a00349.html">tbb::task</a></td><td><code> [inline, static]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00349.html#4a3c415562d17905390ea5b49d12293ebe94d3348dd038e41107819f00c1884c">allocated</a> enum value</td><td><a class="el" href="a00349.html">tbb::task</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00349.html#0f3fb4aac549ab642022450a4bd13326">cancel_group_execution</a>()</td><td><a class="el" href="a00349.html">tbb::task</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00349.html#62247be9a637a814c8e8f4bcfb3a1908">change_group</a>(task_group_context &ctx)</td><td><a class="el" href="a00349.html">tbb::task</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00349.html#d8c36a93f3972590fbb65ff1cef3173b">context</a>()</td><td><a class="el" href="a00349.html">tbb::task</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00349.html#ef4680f5c148020c5e7e43ddef44cd5d">decrement_ref_count</a>()</td><td><a class="el" href="a00349.html">tbb::task</a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>depth</b>() const  (defined in <a class="el" href="a00349.html">tbb::task</a>)</td><td><a class="el" href="a00349.html">tbb::task</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00349.html#dfaacf92685e5f86393bf657b2853bf8">destroy</a>(task &t)</td><td><a class="el" href="a00349.html">tbb::task</a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>endif</b> enum value (defined in <a class="el" href="a00349.html">tbb::task</a>)</td><td><a class="el" href="a00349.html">tbb::task</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00349.html#8365d063c0cc9d7bd616bca47256b93c">enqueue</a>(task &t)</td><td><a class="el" href="a00349.html">tbb::task</a></td><td><code> [inline, static]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00349.html#fe6bf6aaf84e664134fabb6c4f409ea9">enqueue</a>(task &t, priority_t p)</td><td><a class="el" href="a00349.html">tbb::task</a></td><td><code> [inline, static]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00349.html#4a3c415562d17905390ea5b49d12293ead0fe2302ccc360923f738c2ed7ec1b9">executing</a> enum value</td><td><a class="el" href="a00349.html">tbb::task</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00349.html#4a3c415562d17905390ea5b49d12293ecc67ca92bd6f1ce9738a1e9e7206b735">freed</a> enum value</td><td><a class="el" href="a00349.html">tbb::task</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00349.html#5987123486afca36ddebb9e2a8b7779a">group</a>()</td><td><a class="el" href="a00349.html">tbb::task</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00349.html#e1d969a1ccab6796e3b8b2c1a5be33d2">group_priority</a>() const </td><td><a class="el" href="a00349.html">tbb::task</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00349.html#f5fb43c7ad0de5a4b95703cebc39e345">increment_ref_count</a>()</td><td><a class="el" href="a00349.html">tbb::task</a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>interface5::internal::task_base</b> (defined in <a class="el" href="a00349.html">tbb::task</a>)</td><td><a class="el" href="a00349.html">tbb::task</a></td><td><code> [friend]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>internal::allocate_additional_child_of_proxy</b> (defined in <a class="el" href="a00349.html">tbb::task</a>)</td><td><a class="el" href="a00349.html">tbb::task</a></td><td><code> [friend]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>internal::allocate_child_proxy</b> (defined in <a class="el" href="a00349.html">tbb::task</a>)</td><td><a class="el" href="a00349.html">tbb::task</a></td><td><code> [friend]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>internal::allocate_continuation_proxy</b> (defined in <a class="el" href="a00349.html">tbb::task</a>)</td><td><a class="el" href="a00349.html">tbb::task</a></td><td><code> [friend]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>internal::allocate_root_proxy</b> (defined in <a class="el" href="a00349.html">tbb::task</a>)</td><td><a class="el" href="a00349.html">tbb::task</a></td><td><code> [friend]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>internal::allocate_root_with_context_proxy</b> (defined in <a class="el" href="a00349.html">tbb::task</a>)</td><td><a class="el" href="a00349.html">tbb::task</a></td><td><code> [friend]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>internal::scheduler</b> (defined in <a class="el" href="a00349.html">tbb::task</a>)</td><td><a class="el" href="a00349.html">tbb::task</a></td><td><code> [friend]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00349.html#025f18118c057c4c8db87ff2ce8df975">is_cancelled</a>() const </td><td><a class="el" href="a00349.html">tbb::task</a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>is_cancelled</b>() const  (defined in <a class="el" href="a00349.html">tbb::task</a>)</td><td><a class="el" href="a00349.html">tbb::task</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00349.html#c26718b3b247cd13deb1a741902e7105">is_owned_by_current_thread</a>() const </td><td><a class="el" href="a00349.html">tbb::task</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00349.html#f9169402702f56bf519448aaf34450aa">is_stolen_task</a>() const </td><td><a class="el" href="a00349.html">tbb::task</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00349.html#713c338c8eeaebdc5a6b10a69c039b06">note_affinity</a>(affinity_id id)</td><td><a class="el" href="a00349.html">tbb::task</a></td><td><code> [virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00349.html#314e98ee4347ccec83efcb9ee22e8596">parent</a>() const </td><td><a class="el" href="a00349.html">tbb::task</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00349.html#4a3c415562d17905390ea5b49d12293e0841dcf1c2a96dee9aa7b69f636cb81a">ready</a> enum value</td><td><a class="el" href="a00349.html">tbb::task</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00349.html#db399855177438bbc9cc61d508dae8d2">recycle_as_child_of</a>(task &new_parent)</td><td><a class="el" href="a00349.html">tbb::task</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00349.html#a67a79e18f62b43a623a00cfbd76db4c">recycle_as_continuation</a>()</td><td><a class="el" href="a00349.html">tbb::task</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00349.html#3b290d14109704e2b69dc1ac980a7a76">recycle_as_safe_continuation</a>()</td><td><a class="el" href="a00349.html">tbb::task</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00349.html#076120a15237d1ee63060c992e878b29">recycle_to_enqueue</a>()</td><td><a class="el" href="a00349.html">tbb::task</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00349.html#4f1be9bbcdb487830dbe298b68d85144">recycle_to_reexecute</a>()</td><td><a class="el" href="a00349.html">tbb::task</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00349.html#4a3c415562d17905390ea5b49d12293e3bf499aa6e6487cd1ace883a63100513">reexecute</a> enum value</td><td><a class="el" href="a00349.html">tbb::task</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00349.html#ad774f55eaec008ae02b236423209ced">ref_count</a>() const </td><td><a class="el" href="a00349.html">tbb::task</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00349.html#bd43e8d6249738efafd12d6a4c72c5e3">self</a>()</td><td><a class="el" href="a00349.html">tbb::task</a></td><td><code> [static]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00349.html#dca19d7a45487a7d67a0db517e2b57c9">set_affinity</a>(affinity_id id)</td><td><a class="el" href="a00349.html">tbb::task</a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>set_depth</b>(intptr_t) (defined in <a class="el" href="a00349.html">tbb::task</a>)</td><td><a class="el" href="a00349.html">tbb::task</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00349.html#9ac8d1542d67d9d80121ff986801ac26">set_group_priority</a>(priority_t p)</td><td><a class="el" href="a00349.html">tbb::task</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00349.html#d2eaf79fcaa3ae473e3bd3f44bd8a464">set_parent</a>(task *p)</td><td><a class="el" href="a00349.html">tbb::task</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00349.html#06a4206a57e8e12a439b14d6d41cfd92">set_ref_count</a>(int count)</td><td><a class="el" href="a00349.html">tbb::task</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00349.html#3ce28ca9baa771cfc37ecd72e69c4f3c">spawn_and_wait_for_all</a>(task &child)</td><td><a class="el" href="a00349.html">tbb::task</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00349.html#894ab68378e502776d8220eea7ce9fa1">spawn_and_wait_for_all</a>(task_list &list)</td><td><a class="el" href="a00349.html">tbb::task</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00349.html#ce8ce689c26a4ddf343829bc3c73290a">spawn_root_and_wait</a>(task &root)</td><td><a class="el" href="a00349.html">tbb::task</a></td><td><code> [inline, static]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00349.html#c33c7edbaec67aa8a56f48986a9dc69f">spawn_root_and_wait</a>(task_list &root_list)</td><td><a class="el" href="a00349.html">tbb::task</a></td><td><code> [inline, static]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00349.html#0af7b2d7e6e8b4333b2accfce3dfb374">state</a>() const </td><td><a class="el" href="a00349.html">tbb::task</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00349.html#4a3c415562d17905390ea5b49d12293e">state_type</a> enum name</td><td><a class="el" href="a00349.html">tbb::task</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00349.html#2bce8ec6e44706e70128f5cf91b76e67">task</a>()</td><td><a class="el" href="a00349.html">tbb::task</a></td><td><code> [inline, protected]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00349.html#53d2615ad9c38859b4c8080936600283">wait_for_all</a>()</td><td><a class="el" href="a00349.html">tbb::task</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00349.html#98245ee0473f84cb19dbbf8c81134908">~task</a>()</td><td><a class="el" href="a00349.html">tbb::task</a></td><td><code> [inline, virtual]</code></td></tr>
-</table><hr>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00136.html">task_group</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> |
+<a href="a00286.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::task_group Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="dynheader">
+Inheritance diagram for tbb::task_group:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00136.png" usemap="#tbb::task_group_map" alt=""/>
+  <map id="tbb::task_group_map" name="tbb::task_group_map">
+<area href="a00137.html" alt="tbb::internal::task_group_base" shape="rect" coords="0,56,179,80"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a451393a4a540ffda7ba9996fd7b0dc93"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a451393a4a540ffda7ba9996fd7b0dc93"></a>
+ </td><td class="memItemRight" valign="bottom"><b>catch</b> (...)</td></tr>
+<tr class="separator:a451393a4a540ffda7ba9996fd7b0dc93"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:abe756667c1272f714ad388aa31f2d29e"><td class="memTemplParams" colspan="2"><a class="anchor" id="abe756667c1272f714ad388aa31f2d29e"></a>
+template<typename F > </td></tr>
+<tr class="memitem:abe756667c1272f714ad388aa31f2d29e"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><b>run</b> (<a class="el" href="a00139.html">task_handle</a>< F > &h)</td></tr>
+<tr class="separator:abe756667c1272f714ad388aa31f2d29e"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a6355cce7750b1367fb98924af151e8b2"><td class="memTemplParams" colspan="2"><a class="anchor" id="a6355cce7750b1367fb98924af151e8b2"></a>
+template<typename F > </td></tr>
+<tr class="memitem:a6355cce7750b1367fb98924af151e8b2"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><b>run</b> (const F &f)</td></tr>
+<tr class="separator:a6355cce7750b1367fb98924af151e8b2"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aeef1b473ff0edaf3f356722b13e877b0"><td class="memTemplParams" colspan="2"><a class="anchor" id="aeef1b473ff0edaf3f356722b13e877b0"></a>
+template<typename F > </td></tr>
+<tr class="memitem:aeef1b473ff0edaf3f356722b13e877b0"><td class="memTemplItemLeft" align="right" valign="top">task_group_status </td><td class="memTemplItemRight" valign="bottom"><b>run_and_wait</b> (const F &f)</td></tr>
+<tr class="separator:aeef1b473ff0edaf3f356722b13e877b0"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a543903ef748fd10eb864c27a2e8ac18b"><td class="memTemplParams" colspan="2"><a class="anchor" id="a543903ef748fd10eb864c27a2e8ac18b"></a>
+template<typename F > </td></tr>
+<tr class="memitem:a543903ef748fd10eb864c27a2e8ac18b"><td class="memTemplItemLeft" align="right" valign="top">task_group_status </td><td class="memTemplItemRight" valign="bottom"><b>run_and_wait</b> (<a class="el" href="a00139.html">task_handle</a>< F > &h)</td></tr>
+<tr class="separator:a543903ef748fd10eb864c27a2e8ac18b"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="inherit_header pub_methods_a00137"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00137')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="a00137.html">tbb::internal::task_group_base</a></td></tr>
+<tr class="memitem:ac846a7be5035e1f5c929bda05e1b4401 inherit pub_methods_a00137"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac846a7be5035e1f5c929bda05e1b4401"></a>
+ </td><td class="memItemRight" valign="bottom"><b>task_group_base</b> (uintptr_t traits=0)</td></tr>
+<tr class="separator:ac846a7be5035e1f5c929bda05e1b4401 inherit pub_methods_a00137"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a8d8398153ad19d83a629aeb46991620b inherit pub_methods_a00137"><td class="memTemplParams" colspan="2"><a class="anchor" id="a8d8398153ad19d83a629aeb46991620b"></a>
+template<typename F > </td></tr>
+<tr class="memitem:a8d8398153ad19d83a629aeb46991620b inherit pub_methods_a00137"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><b>run</b> (<a class="el" href="a00139.html">task_handle</a>< F > &h)</td></tr>
+<tr class="separator:a8d8398153ad19d83a629aeb46991620b inherit pub_methods_a00137"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a9a05d8b3350796df951c701978cec816 inherit pub_methods_a00137"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9a05d8b3350796df951c701978cec816"></a>
+task_group_status </td><td class="memItemRight" valign="bottom"><b>wait</b> ()</td></tr>
+<tr class="separator:a9a05d8b3350796df951c701978cec816 inherit pub_methods_a00137"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a91b0943033a9e802cea00ac4af9e4ae2 inherit pub_methods_a00137"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a91b0943033a9e802cea00ac4af9e4ae2"></a>
+bool </td><td class="memItemRight" valign="bottom"><b>is_canceling</b> ()</td></tr>
+<tr class="separator:a91b0943033a9e802cea00ac4af9e4ae2 inherit pub_methods_a00137"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a2c2b1b967f4d1924cf15c19e3854ff2f inherit pub_methods_a00137"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2c2b1b967f4d1924cf15c19e3854ff2f"></a>
+void </td><td class="memItemRight" valign="bottom"><b>cancel</b> ()</td></tr>
+<tr class="separator:a2c2b1b967f4d1924cf15c19e3854ff2f inherit pub_methods_a00137"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
+Additional Inherited Members</h2></td></tr>
+<tr class="inherit_header pro_methods_a00137"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_a00137')"><img src="closed.png" alt="-"/> Protected Member Functions inherited from <a class="el" href="a00137.html">tbb::internal::task_group_base</a></td></tr>
+<tr class="memitem:a4efe5bdeaa3c874a36e7d95d76ad1367 inherit pro_methods_a00137"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4efe5bdeaa3c874a36e7d95d76ad1367"></a>
+task & </td><td class="memItemRight" valign="bottom"><b>owner</b> ()</td></tr>
+<tr class="separator:a4efe5bdeaa3c874a36e7d95d76ad1367 inherit pro_methods_a00137"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aef3561e83c11cde7299a34db1064f420 inherit pro_methods_a00137"><td class="memTemplParams" colspan="2"><a class="anchor" id="aef3561e83c11cde7299a34db1064f420"></a>
+template<typename F > </td></tr>
+<tr class="memitem:aef3561e83c11cde7299a34db1064f420 inherit pro_methods_a00137"><td class="memTemplItemLeft" align="right" valign="top">task_group_status </td><td class="memTemplItemRight" valign="bottom"><b>internal_run_and_wait</b> (F &f)</td></tr>
+<tr class="separator:aef3561e83c11cde7299a34db1064f420 inherit pro_methods_a00137"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ab57636e45b436a15c7adefb25f9df090 inherit pro_methods_a00137"><td class="memTemplParams" colspan="2"><a class="anchor" id="ab57636e45b436a15c7adefb25f9df090"></a>
+template<typename F , typename Task > </td></tr>
+<tr class="memitem:ab57636e45b436a15c7adefb25f9df090 inherit pro_methods_a00137"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><b>internal_run</b> (F &f)</td></tr>
+<tr class="separator:ab57636e45b436a15c7adefb25f9df090 inherit pro_methods_a00137"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="inherit_header pro_attribs_a00137"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_a00137')"><img src="closed.png" alt="-"/> Protected Attributes inherited from <a class="el" href="a00137.html">tbb::internal::task_group_base</a></td></tr>
+<tr class="memitem:a60fb257f34f63428032f93e9b3b50a89 inherit pro_attribs_a00137"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a60fb257f34f63428032f93e9b3b50a89"></a>
+empty_task * </td><td class="memItemRight" valign="bottom"><b>my_root</b></td></tr>
+<tr class="separator:a60fb257f34f63428032f93e9b3b50a89 inherit pro_attribs_a00137"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:afa2bb3845517c6b2f9e29a4e3b08a62d inherit pro_attribs_a00137"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afa2bb3845517c6b2f9e29a4e3b08a62d"></a>
+<a class="el" href="a00138.html">task_group_context</a> </td><td class="memItemRight" valign="bottom"><b>my_context</b></td></tr>
+<tr class="separator:afa2bb3845517c6b2f9e29a4e3b08a62d inherit pro_attribs_a00137"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>task_group.h</li>
+</ul>
+</div><!-- contents -->
+<hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00136.png b/doc/html/a00136.png
new file mode 100644
index 0000000..d42b601
Binary files /dev/null and b/doc/html/a00136.png differ
diff --git a/doc/html/a00137.html b/doc/html/a00137.html
index 0e9c98e..f8b715d 100644
--- a/doc/html/a00137.html
+++ b/doc/html/a00137.html
@@ -1,37 +1,111 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::internal::task_group_base Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<h1>tbb::task_list Member List</h1>This is the complete list of members for <a class="el" href="a00354.html">tbb::task_list</a>, including all inherited members.<p><table>
-  <tr class="memlist"><td><a class="el" href="a00354.html#fce446ee13e025969945328f3ff59b95">clear</a>()</td><td><a class="el" href="a00354.html">tbb::task_list</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00354.html#f3ac31e092814b90929f81bb30441959">empty</a>() const </td><td><a class="el" href="a00354.html">tbb::task_list</a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>interface5::internal::task_base</b> (defined in <a class="el" href="a00354.html">tbb::task_list</a>)</td><td><a class="el" href="a00354.html">tbb::task_list</a></td><td><code> [friend]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00354.html#5fe85df5ed524418389d34051750347d">pop_front</a>()</td><td><a class="el" href="a00354.html">tbb::task_list</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00354.html#4cd34756bc4763dafb8c84838a0124ff">push_back</a>(task &task)</td><td><a class="el" href="a00354.html">tbb::task_list</a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>task</b> (defined in <a class="el" href="a00354.html">tbb::task_list</a>)</td><td><a class="el" href="a00354.html">tbb::task_list</a></td><td><code> [friend]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00354.html#416341c2047eaef50417b41eaf7e9de6">task_list</a>()</td><td><a class="el" href="a00354.html">tbb::task_list</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00354.html#6d438f1499a02db1e59c24ab6043e5ba">~task_list</a>()</td><td><a class="el" href="a00354.html">tbb::task_list</a></td><td><code> [inline]</code></td></tr>
-</table><hr>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>internal</b></li><li class="navelem"><a class="el" href="a00137.html">task_group_base</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> |
+<a href="#pro-methods">Protected Member Functions</a> |
+<a href="#pro-attribs">Protected Attributes</a> |
+<a href="a00373.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::internal::task_group_base Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="dynheader">
+Inheritance diagram for tbb::internal::task_group_base:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00137.png" usemap="#tbb::internal::task_group_base_map" alt=""/>
+  <map id="tbb::internal::task_group_base_map" name="tbb::internal::task_group_base_map">
+<area href="a00133.html" alt="tbb::structured_task_group" shape="rect" coords="0,112,179,136"/>
+<area href="a00136.html" alt="tbb::task_group" shape="rect" coords="189,112,368,136"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:ac846a7be5035e1f5c929bda05e1b4401"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac846a7be5035e1f5c929bda05e1b4401"></a>
+ </td><td class="memItemRight" valign="bottom"><b>task_group_base</b> (uintptr_t traits=0)</td></tr>
+<tr class="separator:ac846a7be5035e1f5c929bda05e1b4401"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a8d8398153ad19d83a629aeb46991620b"><td class="memTemplParams" colspan="2"><a class="anchor" id="a8d8398153ad19d83a629aeb46991620b"></a>
+template<typename F > </td></tr>
+<tr class="memitem:a8d8398153ad19d83a629aeb46991620b"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><b>run</b> (<a class="el" href="a00139.html">task_handle</a>< F > &h)</td></tr>
+<tr class="separator:a8d8398153ad19d83a629aeb46991620b"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a9a05d8b3350796df951c701978cec816"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9a05d8b3350796df951c701978cec816"></a>
+task_group_status </td><td class="memItemRight" valign="bottom"><b>wait</b> ()</td></tr>
+<tr class="separator:a9a05d8b3350796df951c701978cec816"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a91b0943033a9e802cea00ac4af9e4ae2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a91b0943033a9e802cea00ac4af9e4ae2"></a>
+bool </td><td class="memItemRight" valign="bottom"><b>is_canceling</b> ()</td></tr>
+<tr class="separator:a91b0943033a9e802cea00ac4af9e4ae2"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a2c2b1b967f4d1924cf15c19e3854ff2f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2c2b1b967f4d1924cf15c19e3854ff2f"></a>
+void </td><td class="memItemRight" valign="bottom"><b>cancel</b> ()</td></tr>
+<tr class="separator:a2c2b1b967f4d1924cf15c19e3854ff2f"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
+Protected Member Functions</h2></td></tr>
+<tr class="memitem:a4efe5bdeaa3c874a36e7d95d76ad1367"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4efe5bdeaa3c874a36e7d95d76ad1367"></a>
+task & </td><td class="memItemRight" valign="bottom"><b>owner</b> ()</td></tr>
+<tr class="separator:a4efe5bdeaa3c874a36e7d95d76ad1367"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aef3561e83c11cde7299a34db1064f420"><td class="memTemplParams" colspan="2"><a class="anchor" id="aef3561e83c11cde7299a34db1064f420"></a>
+template<typename F > </td></tr>
+<tr class="memitem:aef3561e83c11cde7299a34db1064f420"><td class="memTemplItemLeft" align="right" valign="top">task_group_status </td><td class="memTemplItemRight" valign="bottom"><b>internal_run_and_wait</b> (F &f)</td></tr>
+<tr class="separator:aef3561e83c11cde7299a34db1064f420"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ab57636e45b436a15c7adefb25f9df090"><td class="memTemplParams" colspan="2"><a class="anchor" id="ab57636e45b436a15c7adefb25f9df090"></a>
+template<typename F , typename Task > </td></tr>
+<tr class="memitem:ab57636e45b436a15c7adefb25f9df090"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><b>internal_run</b> (F &f)</td></tr>
+<tr class="separator:ab57636e45b436a15c7adefb25f9df090"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
+Protected Attributes</h2></td></tr>
+<tr class="memitem:a60fb257f34f63428032f93e9b3b50a89"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a60fb257f34f63428032f93e9b3b50a89"></a>
+empty_task * </td><td class="memItemRight" valign="bottom"><b>my_root</b></td></tr>
+<tr class="separator:a60fb257f34f63428032f93e9b3b50a89"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:afa2bb3845517c6b2f9e29a4e3b08a62d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afa2bb3845517c6b2f9e29a4e3b08a62d"></a>
+<a class="el" href="a00138.html">task_group_context</a> </td><td class="memItemRight" valign="bottom"><b>my_context</b></td></tr>
+<tr class="separator:afa2bb3845517c6b2f9e29a4e3b08a62d"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>task_group.h</li>
+</ul>
+</div><!-- contents -->
+<hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00137.png b/doc/html/a00137.png
new file mode 100644
index 0000000..e95fec5
Binary files /dev/null and b/doc/html/a00137.png differ
diff --git a/doc/html/a00138.html b/doc/html/a00138.html
index 0f09758..7dc9ed0 100644
--- a/doc/html/a00138.html
+++ b/doc/html/a00138.html
@@ -1,44 +1,57 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::task_group_context Struct Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<h1>tbb::interface6::task_arena Member List</h1>This is the complete list of members for <a class="el" href="a00350.html">tbb::interface6::task_arena</a>, including all inherited members.<p><table>
-  <tr class="memlist"><td><a class="el" href="a00350.html#fa26370c094032900c1ed69d8e92f4e8">automatic</a></td><td><a class="el" href="a00350.html">tbb::interface6::task_arena</a></td><td><code> [static]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00350.html#e734de6a5f4a0bd4461c0cbdaa29b6ce">current_slot</a>()</td><td><a class="el" href="a00350.html">tbb::interface6::task_arena</a></td><td><code> [static]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00350.html#11e3854e92c842ee7d72a7f83d416896">enqueue</a>(const F &f)</td><td><a class="el" href="a00350.html">tbb::interface6::task_arena</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00350.html#780277a89e35868abdec843fecaa2237">enqueue</a>(const F &f, priority_t p)</td><td><a class="el" href="a00350.html">tbb::interface6::task_arena</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00350.html#1e013b96178a79c57ec7846ea2cf5e2e">execute</a>(F &f)</td><td><a class="el" href="a00350.html">tbb::interface6::task_arena</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00350.html#082803bb20347e64fed2c11db8e9670e">execute</a>(const F &f)</td><td><a class="el" href="a00350.html">tbb::interface6::task_arena</a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>initialize</b>() (defined in <a class="el" href="a00350.html">tbb::interface6::task_arena</a>)</td><td><a class="el" href="a00350.html">tbb::interface6::task_arena</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00350.html#ff36aa5ec1305ca9931396fa608981da">initialize</a>(int max_concurrency, unsigned reserved_for_masters=1)</td><td><a class="el" href="a00350.html">tbb::interface6::task_arena</a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>internal::task_scheduler_observer_v3</b> (defined in <a class="el" href="a00350.html">tbb::interface6::task_arena</a>)</td><td><a class="el" href="a00350.html">tbb::interface6::task_arena</a></td><td><code> [friend]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00350.html#11e35391bf67e96f877183659106583d">is_active</a>() const </td><td><a class="el" href="a00350.html">tbb::interface6::task_arena</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00350.html#5e14461dfcbc713df95367cf7f44738f">task_arena</a>(int max_concurrency=automatic, unsigned reserved_for_masters=1)</td><td><a class="el" href="a00350.html">tbb::interface6::task_arena</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00350.html#27ac2706e3f2a989487ba7944b07cb94">task_arena</a>(const task_arena &s)</td><td><a class="el" href="a00350.html">tbb::interface6::task_arena</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00350.html#ee3f3f736da03bfe8b82acfa822624a6">terminate</a>()</td><td><a class="el" href="a00350.html">tbb::interface6::task_arena</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00350.html#776e73ba196e5bbb8b8ed489fc2b77d3">wait_until_empty</a>()</td><td><a class="el" href="a00350.html">tbb::interface6::task_arena</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00350.html#fec24e9b3fa07a6e7b20add7c7e0a660">~task_arena</a>()</td><td><a class="el" href="a00350.html">tbb::interface6::task_arena</a></td><td><code> [inline]</code></td></tr>
-</table><hr>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00138.html">task_group_context</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::task_group_context Struct Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p><code>#include <parallel_invoke.h></code></p>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Dummy to avoid cluttering the bulk of the header with enormous amount of ifdefs. </p>
+</div><hr/>The documentation for this struct was generated from the following file:<ul>
+<li>parallel_invoke.h</li>
+</ul>
+</div><!-- contents -->
+<hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00139.html b/doc/html/a00139.html
new file mode 100644
index 0000000..ebc109b
--- /dev/null
+++ b/doc/html/a00139.html
@@ -0,0 +1,91 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::task_handle< F > Class Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00139.html">task_handle</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> |
+<a href="#friends">Friends</a> |
+<a href="a00285.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::task_handle< F > Class Template Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="dynheader">
+Inheritance diagram for tbb::task_handle< F >:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00139.png" usemap="#tbb::task_handle< F >_map" alt=""/>
+  <map id="tbb::task_handle< F >_map" name="tbb::task_handle< F >_map">
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a1e213e12e1c2d789c22e56901b53b1d2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1e213e12e1c2d789c22e56901b53b1d2"></a>
+ </td><td class="memItemRight" valign="bottom"><b>task_handle</b> (const F &f)</td></tr>
+<tr class="separator:a1e213e12e1c2d789c22e56901b53b1d2"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ab09a19aa92286d48cc42d3e9cd60b5d8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab09a19aa92286d48cc42d3e9cd60b5d8"></a>
+void </td><td class="memItemRight" valign="bottom"><b>operator()</b> () const </td></tr>
+<tr class="separator:ab09a19aa92286d48cc42d3e9cd60b5d8"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
+Friends</h2></td></tr>
+<tr class="memitem:a70a59090420eb9c76bd067b3ed3f1e72"><td class="memTemplParams" colspan="2"><a class="anchor" id="a70a59090420eb9c76bd067b3ed3f1e72"></a>
+template<typename _F > </td></tr>
+<tr class="memitem:a70a59090420eb9c76bd067b3ed3f1e72"><td class="memTemplItemLeft" align="right" valign="top">class </td><td class="memTemplItemRight" valign="bottom"><b>internal::task_handle_task</b></td></tr>
+<tr class="separator:a70a59090420eb9c76bd067b3ed3f1e72"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:abe85fe1f158cb2a40cd7203854b9460a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abe85fe1f158cb2a40cd7203854b9460a"></a>
+class </td><td class="memItemRight" valign="bottom"><b>task_group</b></td></tr>
+<tr class="separator:abe85fe1f158cb2a40cd7203854b9460a"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a2913777f78e95f9ea09d788b12db6b62"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2913777f78e95f9ea09d788b12db6b62"></a>
+class </td><td class="memItemRight" valign="bottom"><b>structured_task_group</b></td></tr>
+<tr class="separator:a2913777f78e95f9ea09d788b12db6b62"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>task_group.h</li>
+</ul>
+</div><!-- contents -->
+<hr>
+<p></p>
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
+<p></p>
+Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
+registered trademarks or trademarks of Intel Corporation or its
+subsidiaries in the United States and other countries.
+<p></p>
+* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00139.png b/doc/html/a00139.png
new file mode 100644
index 0000000..5f640e9
Binary files /dev/null and b/doc/html/a00139.png differ
diff --git a/doc/html/a00140.html b/doc/html/a00140.html
new file mode 100644
index 0000000..5e306d8
--- /dev/null
+++ b/doc/html/a00140.html
@@ -0,0 +1,74 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::internal::task_handle_task< F > Class Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>internal</b></li><li class="navelem"><a class="el" href="a00140.html">task_handle_task</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> |
+<a href="a00372.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::internal::task_handle_task< F > Class Template Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="dynheader">
+Inheritance diagram for tbb::internal::task_handle_task< F >:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00140.png" usemap="#tbb::internal::task_handle_task< F >_map" alt=""/>
+  <map id="tbb::internal::task_handle_task< F >_map" name="tbb::internal::task_handle_task< F >_map">
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:abcddb511967aa06d264ac6c06c4fb08b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abcddb511967aa06d264ac6c06c4fb08b"></a>
+ </td><td class="memItemRight" valign="bottom"><b>task_handle_task</b> (<a class="el" href="a00139.html">task_handle</a>< F > &h)</td></tr>
+<tr class="separator:abcddb511967aa06d264ac6c06c4fb08b"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>task_group.h</li>
+</ul>
+</div><!-- contents -->
+<hr>
+<p></p>
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
+<p></p>
+Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
+registered trademarks or trademarks of Intel Corporation or its
+subsidiaries in the United States and other countries.
+<p></p>
+* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00140.png b/doc/html/a00140.png
new file mode 100644
index 0000000..229263c
Binary files /dev/null and b/doc/html/a00140.png differ
diff --git a/doc/html/a00141.html b/doc/html/a00141.html
new file mode 100644
index 0000000..c045a16
--- /dev/null
+++ b/doc/html/a00141.html
@@ -0,0 +1,215 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::task_scheduler_init Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00141.html">task_scheduler_init</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> |
+<a href="#pub-static-methods">Static Public Member Functions</a> |
+<a href="#pub-attribs">Public Attributes</a> |
+<a href="#pub-static-attribs">Static Public Attributes</a> |
+<a href="a00288.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::task_scheduler_init Class Reference<div class="ingroups"><a class="el" href="a00239.html">Task Scheduling</a></div></div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Class delimiting the scope of task scheduler activity.  
+ <a href="a00141.html#details">More...</a></p>
+
+<p><code>#include <task_scheduler_init.h></code></p>
+<div class="dynheader">
+Inheritance diagram for tbb::task_scheduler_init:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00141.png" usemap="#tbb::task_scheduler_init_map" alt=""/>
+  <map id="tbb::task_scheduler_init_map" name="tbb::task_scheduler_init_map">
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a485028b867bffef5829209330e79e64c"><td class="memItemLeft" align="right" valign="top">void __TBB_EXPORTED_METHOD </td><td class="memItemRight" valign="bottom"><a class="el" href="a00141.html#a485028b867bffef5829209330e79e64c">initialize</a> (int number_of_threads=<a class="el" href="a00141.html#a945886f5ef48300a8ebff2d077c166b1">automatic</a>)</td></tr>
+<tr class="memdesc:a485028b867bffef5829209330e79e64c"><td class="mdescLeft"> </td><td class="mdescRight">Ensure that scheduler exists for this thread.  <a href="#a485028b867bffef5829209330e79e64c">More...</a><br/></td></tr>
+<tr class="separator:a485028b867bffef5829209330e79e64c"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a0f5294f74b123a646a1762c68d11e39a"><td class="memItemLeft" align="right" valign="top">void __TBB_EXPORTED_METHOD </td><td class="memItemRight" valign="bottom"><a class="el" href="a00141.html#a0f5294f74b123a646a1762c68d11e39a">initialize</a> (int number_of_threads, stack_size_type <a class="el" href="a00141.html#a8310e807e1199d0f23b3a57aeb4fde51">thread_stack_size</a>)</td></tr>
+<tr class="memdesc:a0f5294f74b123a646a1762c68d11e39a"><td class="mdescLeft"> </td><td class="mdescRight">The overloaded method with stack size parameter.  <a href="#a0f5294f74b123a646a1762c68d11e39a">More...</a><br/></td></tr>
+<tr class="separator:a0f5294f74b123a646a1762c68d11e39a"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a15d5dca7f79c5769bb96f674e4da0c04"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a15d5dca7f79c5769bb96f674e4da0c04"></a>
+void __TBB_EXPORTED_METHOD </td><td class="memItemRight" valign="bottom"><a class="el" href="a00141.html#a15d5dca7f79c5769bb96f674e4da0c04">terminate</a> ()</td></tr>
+<tr class="memdesc:a15d5dca7f79c5769bb96f674e4da0c04"><td class="mdescLeft"> </td><td class="mdescRight">Inverse of method initialize. <br/></td></tr>
+<tr class="separator:a15d5dca7f79c5769bb96f674e4da0c04"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aa772e5a1bd18b171d335f41b58acd2b9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa772e5a1bd18b171d335f41b58acd2b9"></a>
+ </td><td class="memItemRight" valign="bottom"><b>if</b> (wait_workers_in_terminate) my_scheduler</td></tr>
+<tr class="separator:aa772e5a1bd18b171d335f41b58acd2b9"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a7d748f4a1f99884f081919feb3bca275"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7d748f4a1f99884f081919feb3bca275"></a>
+ </td><td class="memItemRight" valign="bottom"><b>initialize</b> (number_of_threads, <a class="el" href="a00141.html#a8310e807e1199d0f23b3a57aeb4fde51">thread_stack_size</a>)</td></tr>
+<tr class="separator:a7d748f4a1f99884f081919feb3bca275"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a20b121334ec39c1d91bd4fe9a51892b0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a20b121334ec39c1d91bd4fe9a51892b0"></a>
+ </td><td class="memItemRight" valign="bottom"><a class="el" href="a00141.html#a20b121334ec39c1d91bd4fe9a51892b0">~task_scheduler_init</a> ()</td></tr>
+<tr class="memdesc:a20b121334ec39c1d91bd4fe9a51892b0"><td class="mdescLeft"> </td><td class="mdescRight">Destroy scheduler for this thread if thread has no other live task_scheduler_inits. <br/></td></tr>
+<tr class="separator:a20b121334ec39c1d91bd4fe9a51892b0"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aed5505d7fed9d5493676aa15c176512c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aed5505d7fed9d5493676aa15c176512c"></a>
+bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00141.html#aed5505d7fed9d5493676aa15c176512c">is_active</a> () const </td></tr>
+<tr class="memdesc:aed5505d7fed9d5493676aa15c176512c"><td class="mdescLeft"> </td><td class="mdescRight">Returns true if scheduler is active (initialized); false otherwise. <br/></td></tr>
+<tr class="separator:aed5505d7fed9d5493676aa15c176512c"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
+Static Public Member Functions</h2></td></tr>
+<tr class="memitem:aa0c0d46ec09bedc1ee876aa8aa87c3d1"><td class="memItemLeft" align="right" valign="top">static int __TBB_EXPORTED_FUNC </td><td class="memItemRight" valign="bottom"><a class="el" href="a00141.html#aa0c0d46ec09bedc1ee876aa8aa87c3d1">default_num_threads</a> ()</td></tr>
+<tr class="memdesc:aa0c0d46ec09bedc1ee876aa8aa87c3d1"><td class="mdescLeft"> </td><td class="mdescRight">Returns the number of threads TBB scheduler would create if initialized by default.  <a href="#aa0c0d46ec09bedc1ee876aa8aa87c3d1">More...</a><br/></td></tr>
+<tr class="separator:aa0c0d46ec09bedc1ee876aa8aa87c3d1"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
+Public Attributes</h2></td></tr>
+<tr class="memitem:a8310e807e1199d0f23b3a57aeb4fde51"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8310e807e1199d0f23b3a57aeb4fde51"></a>
+<a class="el" href="a00141.html">task_scheduler_init</a>(int <br class="typebreak"/>
+number_of_threads=<a class="el" href="a00141.html#a945886f5ef48300a8ebff2d077c166b1">automatic</a>, <br class="typebreak"/>
+stack_size_type <br class="typebreak"/>
+thread_stack_size=0, bool <br class="typebreak"/>
+wait_workers_in_terminate=false) </td><td class="memItemRight" valign="bottom"><a class="el" href="a00141.html#a8310e807e1199d0f23b3a57aeb4fde51">thread_stack_size</a> = TBB_USE_CAPTURED_EXCEPTION ? propagation_mode_captured : propagation_mode_exact</td></tr>
+<tr class="memdesc:a8310e807e1199d0f23b3a57aeb4fde51"><td class="mdescLeft"> </td><td class="mdescRight">Shorthand for default constructor followed by call to initialize(number_of_threads). <br/></td></tr>
+<tr class="separator:a8310e807e1199d0f23b3a57aeb4fde51"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-attribs"></a>
+Static Public Attributes</h2></td></tr>
+<tr class="memitem:a945886f5ef48300a8ebff2d077c166b1"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a945886f5ef48300a8ebff2d077c166b1"></a>
+static const int </td><td class="memItemRight" valign="bottom"><a class="el" href="a00141.html#a945886f5ef48300a8ebff2d077c166b1">automatic</a> = -1</td></tr>
+<tr class="memdesc:a945886f5ef48300a8ebff2d077c166b1"><td class="mdescLeft"> </td><td class="mdescRight">Typedef for number of threads that is automatic. <br/></td></tr>
+<tr class="separator:a945886f5ef48300a8ebff2d077c166b1"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:af0e49ff2f59a4e53c9c07897b57f084d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af0e49ff2f59a4e53c9c07897b57f084d"></a>
+static const int </td><td class="memItemRight" valign="bottom"><a class="el" href="a00141.html#af0e49ff2f59a4e53c9c07897b57f084d">deferred</a> = -2</td></tr>
+<tr class="memdesc:af0e49ff2f59a4e53c9c07897b57f084d"><td class="mdescLeft"> </td><td class="mdescRight">Argument to <a class="el" href="a00141.html#a485028b867bffef5829209330e79e64c" title="Ensure that scheduler exists for this thread. ">initialize()</a> or constructor that causes initialization to be deferred. <br/></td></tr>
+<tr class="separator:af0e49ff2f59a4e53c9c07897b57f084d"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Class delimiting the scope of task scheduler activity. </p>
+<p>A thread can construct a <a class="el" href="a00141.html" title="Class delimiting the scope of task scheduler activity. ">task_scheduler_init</a> object and keep it alive while it uses TBB's tasking subsystem (including parallel algorithms).</p>
+<p>This class allows to customize properties of the TBB task pool to some extent. For example it can limit concurrency level of parallel work initiated by the given thread. It also can be used to specify stack size of the TBB worker threads, though this setting is not effective if the thread pool has already been created.</p>
+<p>If a parallel construct is used without <a class="el" href="a00141.html" title="Class delimiting the scope of task scheduler activity. ">task_scheduler_init</a> object previously created, the scheduler will be initialized automatically with default settings, and will persist until this thread exits. Default concurrency level is defined as described in <a class="el" href="a00141.html#a485028b867bffef5829209330e79e64c" title="Ensure that scheduler exists for this thread. ">task_schedule [...]
+</div><h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="aa0c0d46ec09bedc1ee876aa8aa87c3d1"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">static int __TBB_EXPORTED_FUNC tbb::task_scheduler_init::default_num_threads </td>
+          <td>(</td>
+          <td class="paramname">)</td><td></td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Returns the number of threads TBB scheduler would create if initialized by default. </p>
+<p>Result returned by this method does not depend on whether the scheduler has already been initialized.</p>
+<p>Because tbb 2.0 does not support blocking tasks yet, you may use this method to boost the number of threads in the tbb's internal pool, if your tasks are doing I/O operations. The optimal number of additional threads depends on how much time your tasks spend in the blocked state.</p>
+<p>Before TBB 3.0 U4 this method returned the number of logical CPU in the system. Currently on Windows, Linux and FreeBSD it returns the number of logical CPUs available to the current process in accordance with its affinity mask.</p>
+<p>NOTE: The return value of this method never changes after its first invocation. This means that changes in the process affinity mask that took place after this method was first invoked will not affect the number of worker threads in the TBB worker threads pool. </p>
+
+</div>
+</div>
+<a class="anchor" id="a485028b867bffef5829209330e79e64c"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void __TBB_EXPORTED_METHOD tbb::task_scheduler_init::initialize </td>
+          <td>(</td>
+          <td class="paramtype">int </td>
+          <td class="paramname"><em>number_of_threads</em> = <code><a class="el" href="a00141.html#a945886f5ef48300a8ebff2d077c166b1">automatic</a></code>)</td><td></td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Ensure that scheduler exists for this thread. </p>
+<p>A value of -1 lets TBB decide on the number of threads, which is usually maximal hardware concurrency for this process, that is the number of logical CPUs on the machine (possibly limited by the processor affinity mask of this process (Windows) or of this thread (Linux, FreeBSD). It is preferable option for production code because it helps to avoid nasty surprises when several TBB based components run side-by-side or in a nested fashion inside the same process.</p>
+<p>The number_of_threads is ignored if any other task_scheduler_inits currently exist. A thread may construct multiple task_scheduler_inits. Doing so does no harm because the underlying scheduler is reference counted. </p>
+
+</div>
+</div>
+<a class="anchor" id="a0f5294f74b123a646a1762c68d11e39a"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void __TBB_EXPORTED_METHOD tbb::task_scheduler_init::initialize </td>
+          <td>(</td>
+          <td class="paramtype">int </td>
+          <td class="paramname"><em>number_of_threads</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">stack_size_type </td>
+          <td class="paramname"><em>thread_stack_size</em> </td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>The overloaded method with stack size parameter. </p>
+<p>Overloading is necessary to preserve ABI compatibility </p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>task_scheduler_init.h</li>
+</ul>
+</div><!-- contents -->
+<hr>
+<p></p>
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
+<p></p>
+Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
+registered trademarks or trademarks of Intel Corporation or its
+subsidiaries in the United States and other countries.
+<p></p>
+* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00141.png b/doc/html/a00141.png
new file mode 100644
index 0000000..58550fd
Binary files /dev/null and b/doc/html/a00141.png differ
diff --git a/doc/html/a00142.html b/doc/html/a00142.html
new file mode 100644
index 0000000..2c10e55
--- /dev/null
+++ b/doc/html/a00142.html
@@ -0,0 +1,206 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::interface6::task_scheduler_observer Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>interface6</b></li><li class="navelem"><a class="el" href="a00142.html">task_scheduler_observer</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> |
+<a href="#friends">Friends</a> |
+<a href="a00365.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::interface6::task_scheduler_observer Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="dynheader">
+Inheritance diagram for tbb::interface6::task_scheduler_observer:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00142.png" usemap="#tbb::interface6::task_scheduler_observer_map" alt=""/>
+  <map id="tbb::interface6::task_scheduler_observer_map" name="tbb::interface6::task_scheduler_observer_map">
+<area href="a00143.html" alt="tbb::internal::task_scheduler_observer_v3" shape="rect" coords="0,0,247,24"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a89025b1e1d42e97d6fe114c0c331f730"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00142.html#a89025b1e1d42e97d6fe114c0c331f730">task_scheduler_observer</a> (bool local=false)</td></tr>
+<tr class="memdesc:a89025b1e1d42e97d6fe114c0c331f730"><td class="mdescLeft"> </td><td class="mdescRight">Construct local or global observer in inactive state (observation disabled).  <a href="#a89025b1e1d42e97d6fe114c0c331f730">More...</a><br/></td></tr>
+<tr class="separator:a89025b1e1d42e97d6fe114c0c331f730"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a36e7e0c466320029d5a3e50a573e04c1"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00142.html#a36e7e0c466320029d5a3e50a573e04c1">task_scheduler_observer</a> (task_arena &a)</td></tr>
+<tr class="memdesc:a36e7e0c466320029d5a3e50a573e04c1"><td class="mdescLeft"> </td><td class="mdescRight">Construct local observer for a given arena in inactive state (observation disabled).  <a href="#a36e7e0c466320029d5a3e50a573e04c1">More...</a><br/></td></tr>
+<tr class="separator:a36e7e0c466320029d5a3e50a573e04c1"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a9ef3f1853439b46e5a9db7fd1c0f9116"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9ef3f1853439b46e5a9db7fd1c0f9116"></a>
+virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="a00142.html#a9ef3f1853439b46e5a9db7fd1c0f9116">~task_scheduler_observer</a> ()</td></tr>
+<tr class="memdesc:a9ef3f1853439b46e5a9db7fd1c0f9116"><td class="mdescLeft"> </td><td class="mdescRight">Destructor additionally protects concurrent on_scheduler_leaving notification. <br/></td></tr>
+<tr class="separator:a9ef3f1853439b46e5a9db7fd1c0f9116"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:afd3842518d9a37efb3c8455b22950bb8"><td class="memItemLeft" align="right" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00142.html#afd3842518d9a37efb3c8455b22950bb8">on_scheduler_leaving</a> ()</td></tr>
+<tr class="memdesc:afd3842518d9a37efb3c8455b22950bb8"><td class="mdescLeft"> </td><td class="mdescRight">The callback can be invoked in a worker thread before it leaves an arena.  <a href="#afd3842518d9a37efb3c8455b22950bb8">More...</a><br/></td></tr>
+<tr class="separator:afd3842518d9a37efb3c8455b22950bb8"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="inherit_header pub_methods_a00143"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00143')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="a00143.html">tbb::internal::task_scheduler_observer_v3</a></td></tr>
+<tr class="memitem:a40209b347e3c82bb5bfda05941304309 inherit pub_methods_a00143"><td class="memItemLeft" align="right" valign="top">void __TBB_EXPORTED_METHOD </td><td class="memItemRight" valign="bottom"><a class="el" href="a00143.html#a40209b347e3c82bb5bfda05941304309">observe</a> (bool state=true)</td></tr>
+<tr class="memdesc:a40209b347e3c82bb5bfda05941304309 inherit pub_methods_a00143"><td class="mdescLeft"> </td><td class="mdescRight">Enable or disable observation.  <a href="#a40209b347e3c82bb5bfda05941304309">More...</a><br/></td></tr>
+<tr class="separator:a40209b347e3c82bb5bfda05941304309 inherit pub_methods_a00143"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a31abaf256f7172f010cfb2259c7787bb inherit pub_methods_a00143"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a31abaf256f7172f010cfb2259c7787bb"></a>
+bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00143.html#a31abaf256f7172f010cfb2259c7787bb">is_observing</a> () const </td></tr>
+<tr class="memdesc:a31abaf256f7172f010cfb2259c7787bb inherit pub_methods_a00143"><td class="mdescLeft"> </td><td class="mdescRight">Returns true if observation is enabled, false otherwise. <br/></td></tr>
+<tr class="separator:a31abaf256f7172f010cfb2259c7787bb inherit pub_methods_a00143"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a25bffb05efaaab36bc58590969e29745 inherit pub_methods_a00143"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a25bffb05efaaab36bc58590969e29745"></a>
+ </td><td class="memItemRight" valign="bottom"><a class="el" href="a00143.html#a25bffb05efaaab36bc58590969e29745">task_scheduler_observer_v3</a> ()</td></tr>
+<tr class="memdesc:a25bffb05efaaab36bc58590969e29745 inherit pub_methods_a00143"><td class="mdescLeft"> </td><td class="mdescRight">Construct observer with observation disabled. <br/></td></tr>
+<tr class="separator:a25bffb05efaaab36bc58590969e29745 inherit pub_methods_a00143"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:af4282a27725fbe86052bb785bdd9c5d3 inherit pub_methods_a00143"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00143.html#af4282a27725fbe86052bb785bdd9c5d3">on_scheduler_entry</a> (bool)</td></tr>
+<tr class="memdesc:af4282a27725fbe86052bb785bdd9c5d3 inherit pub_methods_a00143"><td class="mdescLeft"> </td><td class="mdescRight">Entry notification.  <a href="#af4282a27725fbe86052bb785bdd9c5d3">More...</a><br/></td></tr>
+<tr class="separator:af4282a27725fbe86052bb785bdd9c5d3 inherit pub_methods_a00143"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a657e90f833568e217b807d0122fa7668 inherit pub_methods_a00143"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00143.html#a657e90f833568e217b807d0122fa7668">on_scheduler_exit</a> (bool)</td></tr>
+<tr class="memdesc:a657e90f833568e217b807d0122fa7668 inherit pub_methods_a00143"><td class="mdescLeft"> </td><td class="mdescRight">Exit notification.  <a href="#a657e90f833568e217b807d0122fa7668">More...</a><br/></td></tr>
+<tr class="separator:a657e90f833568e217b807d0122fa7668 inherit pub_methods_a00143"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a151e475ebba39172fcc13f43bed426cc inherit pub_methods_a00143"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a151e475ebba39172fcc13f43bed426cc"></a>
+virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="a00143.html#a151e475ebba39172fcc13f43bed426cc">~task_scheduler_observer_v3</a> ()</td></tr>
+<tr class="memdesc:a151e475ebba39172fcc13f43bed426cc inherit pub_methods_a00143"><td class="mdescLeft"> </td><td class="mdescRight">Destructor automatically switches observation off if it is enabled. <br/></td></tr>
+<tr class="separator:a151e475ebba39172fcc13f43bed426cc inherit pub_methods_a00143"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
+Friends</h2></td></tr>
+<tr class="memitem:a567691ababd2dee2c44d1d6d4b9b093a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a567691ababd2dee2c44d1d6d4b9b093a"></a>
+class </td><td class="memItemRight" valign="bottom"><b>internal::task_scheduler_observer_v3</b></td></tr>
+<tr class="separator:a567691ababd2dee2c44d1d6d4b9b093a"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ae3fb165cd890fab10c1d09823dcb0ac9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae3fb165cd890fab10c1d09823dcb0ac9"></a>
+class </td><td class="memItemRight" valign="bottom"><b>internal::observer_proxy</b></td></tr>
+<tr class="separator:ae3fb165cd890fab10c1d09823dcb0ac9"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a5d0d193bf27a1606466663c68e05e1b3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5d0d193bf27a1606466663c68e05e1b3"></a>
+class </td><td class="memItemRight" valign="bottom"><b>internal::observer_list</b></td></tr>
+<tr class="separator:a5d0d193bf27a1606466663c68e05e1b3"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<h2 class="groupheader">Constructor & Destructor Documentation</h2>
+<a class="anchor" id="a89025b1e1d42e97d6fe114c0c331f730"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">tbb::interface6::task_scheduler_observer::task_scheduler_observer </td>
+          <td>(</td>
+          <td class="paramtype">bool </td>
+          <td class="paramname"><em>local</em> = <code>false</code>)</td><td></td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Construct local or global observer in inactive state (observation disabled). </p>
+<p>For a local observer entry/exit notifications are invoked whenever a worker thread joins/leaves the arena of the observer's owner thread. If a thread is already in the arena when the observer is activated, the entry notification is called before it executes the first stolen task. TODO: Obsolete. Global observer semantics is obsolete as it violates master thread isolation guarantees and is not composable. Thus the current default behavior of the constructor is obsolete too and will be  [...]
+
+<p>References <a class="el" href="a00222.html#adb86d08473679d6fe0eabcdc766ffe3aa73cb2e2bcb94442b8b2b72e93a76f2e5">tbb::relaxed</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a36e7e0c466320029d5a3e50a573e04c1"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">tbb::interface6::task_scheduler_observer::task_scheduler_observer </td>
+          <td>(</td>
+          <td class="paramtype">task_arena & </td>
+          <td class="paramname"><em>a</em>)</td><td></td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Construct local observer for a given arena in inactive state (observation disabled). </p>
+<p>entry/exit notifications are invoked whenever a thread joins/leaves arena. If a thread is already in the arena when the observer is activated, the entry notification is called before it executes the first stolen task. </p>
+
+<p>References <a class="el" href="a00222.html#adb86d08473679d6fe0eabcdc766ffe3aa73cb2e2bcb94442b8b2b72e93a76f2e5">tbb::relaxed</a>.</p>
+
+</div>
+</div>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="afd3842518d9a37efb3c8455b22950bb8"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual bool tbb::interface6::task_scheduler_observer::on_scheduler_leaving </td>
+          <td>(</td>
+          <td class="paramname">)</td><td></td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>The callback can be invoked in a worker thread before it leaves an arena. </p>
+<p>If it returns false, the thread remains in the arena. Will not be called for masters or if the worker leaves arena due to rebalancing or priority changes, etc. NOTE: The preview library must be linked for this method to take effect </p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>task_scheduler_observer.h</li>
+</ul>
+</div><!-- contents -->
+<hr>
+<p></p>
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
+<p></p>
+Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
+registered trademarks or trademarks of Intel Corporation or its
+subsidiaries in the United States and other countries.
+<p></p>
+* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00142.png b/doc/html/a00142.png
new file mode 100644
index 0000000..37496e9
Binary files /dev/null and b/doc/html/a00142.png differ
diff --git a/doc/html/a00143.html b/doc/html/a00143.html
new file mode 100644
index 0000000..08b8027
--- /dev/null
+++ b/doc/html/a00143.html
@@ -0,0 +1,185 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::internal::task_scheduler_observer_v3 Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>internal</b></li><li class="navelem"><a class="el" href="a00143.html">task_scheduler_observer_v3</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> |
+<a href="#friends">Friends</a> |
+<a href="a00374.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::internal::task_scheduler_observer_v3 Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="dynheader">
+Inheritance diagram for tbb::internal::task_scheduler_observer_v3:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00143.png" usemap="#tbb::internal::task_scheduler_observer_v3_map" alt=""/>
+  <map id="tbb::internal::task_scheduler_observer_v3_map" name="tbb::internal::task_scheduler_observer_v3_map">
+<area href="a00142.html" alt="tbb::interface6::task_scheduler_observer" shape="rect" coords="0,56,247,80"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a40209b347e3c82bb5bfda05941304309"><td class="memItemLeft" align="right" valign="top">void __TBB_EXPORTED_METHOD </td><td class="memItemRight" valign="bottom"><a class="el" href="a00143.html#a40209b347e3c82bb5bfda05941304309">observe</a> (bool state=true)</td></tr>
+<tr class="memdesc:a40209b347e3c82bb5bfda05941304309"><td class="mdescLeft"> </td><td class="mdescRight">Enable or disable observation.  <a href="#a40209b347e3c82bb5bfda05941304309">More...</a><br/></td></tr>
+<tr class="separator:a40209b347e3c82bb5bfda05941304309"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a31abaf256f7172f010cfb2259c7787bb"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a31abaf256f7172f010cfb2259c7787bb"></a>
+bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00143.html#a31abaf256f7172f010cfb2259c7787bb">is_observing</a> () const </td></tr>
+<tr class="memdesc:a31abaf256f7172f010cfb2259c7787bb"><td class="mdescLeft"> </td><td class="mdescRight">Returns true if observation is enabled, false otherwise. <br/></td></tr>
+<tr class="separator:a31abaf256f7172f010cfb2259c7787bb"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a25bffb05efaaab36bc58590969e29745"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a25bffb05efaaab36bc58590969e29745"></a>
+ </td><td class="memItemRight" valign="bottom"><a class="el" href="a00143.html#a25bffb05efaaab36bc58590969e29745">task_scheduler_observer_v3</a> ()</td></tr>
+<tr class="memdesc:a25bffb05efaaab36bc58590969e29745"><td class="mdescLeft"> </td><td class="mdescRight">Construct observer with observation disabled. <br/></td></tr>
+<tr class="separator:a25bffb05efaaab36bc58590969e29745"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:af4282a27725fbe86052bb785bdd9c5d3"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00143.html#af4282a27725fbe86052bb785bdd9c5d3">on_scheduler_entry</a> (bool)</td></tr>
+<tr class="memdesc:af4282a27725fbe86052bb785bdd9c5d3"><td class="mdescLeft"> </td><td class="mdescRight">Entry notification.  <a href="#af4282a27725fbe86052bb785bdd9c5d3">More...</a><br/></td></tr>
+<tr class="separator:af4282a27725fbe86052bb785bdd9c5d3"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a657e90f833568e217b807d0122fa7668"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00143.html#a657e90f833568e217b807d0122fa7668">on_scheduler_exit</a> (bool)</td></tr>
+<tr class="memdesc:a657e90f833568e217b807d0122fa7668"><td class="mdescLeft"> </td><td class="mdescRight">Exit notification.  <a href="#a657e90f833568e217b807d0122fa7668">More...</a><br/></td></tr>
+<tr class="separator:a657e90f833568e217b807d0122fa7668"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a151e475ebba39172fcc13f43bed426cc"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a151e475ebba39172fcc13f43bed426cc"></a>
+virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="a00143.html#a151e475ebba39172fcc13f43bed426cc">~task_scheduler_observer_v3</a> ()</td></tr>
+<tr class="memdesc:a151e475ebba39172fcc13f43bed426cc"><td class="mdescLeft"> </td><td class="mdescRight">Destructor automatically switches observation off if it is enabled. <br/></td></tr>
+<tr class="separator:a151e475ebba39172fcc13f43bed426cc"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
+Friends</h2></td></tr>
+<tr class="memitem:a897b52f8da750f35b9b2ef410eae7181"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a897b52f8da750f35b9b2ef410eae7181"></a>
+class </td><td class="memItemRight" valign="bottom"><b>observer_proxy</b></td></tr>
+<tr class="separator:a897b52f8da750f35b9b2ef410eae7181"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a232d1ae378b2c82f9788c5611429298b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a232d1ae378b2c82f9788c5611429298b"></a>
+class </td><td class="memItemRight" valign="bottom"><b>observer_list</b></td></tr>
+<tr class="separator:a232d1ae378b2c82f9788c5611429298b"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ad972d2c44eeed885d9df2b75e7231277"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad972d2c44eeed885d9df2b75e7231277"></a>
+class </td><td class="memItemRight" valign="bottom"><b>interface6::task_scheduler_observer</b></td></tr>
+<tr class="separator:ad972d2c44eeed885d9df2b75e7231277"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="a40209b347e3c82bb5bfda05941304309"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void __TBB_EXPORTED_METHOD tbb::internal::task_scheduler_observer_v3::observe </td>
+          <td>(</td>
+          <td class="paramtype">bool </td>
+          <td class="paramname"><em>state</em> = <code>true</code>)</td><td></td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Enable or disable observation. </p>
+<p>For local observers the method can be used only when the current thread has the task scheduler initialized or is attached to an arena.</p>
+<p>Repeated calls with the same state are no-ops. </p>
+
+<p>Referenced by <a class="el" href="a00142.html#a9ef3f1853439b46e5a9db7fd1c0f9116">tbb::interface6::task_scheduler_observer::~task_scheduler_observer()</a>, and <a class="el" href="a00143.html#a151e475ebba39172fcc13f43bed426cc">~task_scheduler_observer_v3()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="af4282a27725fbe86052bb785bdd9c5d3"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual void tbb::internal::task_scheduler_observer_v3::on_scheduler_entry </td>
+          <td>(</td>
+          <td class="paramtype">bool </td>
+          <td class="paramname">)</td><td></td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Entry notification. </p>
+<p>Invoked from inside observe(true) call and whenever a worker enters the arena this observer is associated with. If a thread is already in the arena when the observer is activated, the entry notification is called before it executes the first stolen task.</p>
+<p>Obsolete semantics. For global observers it is called by a thread before the first steal since observation became enabled. </p>
+
+</div>
+</div>
+<a class="anchor" id="a657e90f833568e217b807d0122fa7668"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual void tbb::internal::task_scheduler_observer_v3::on_scheduler_exit </td>
+          <td>(</td>
+          <td class="paramtype">bool </td>
+          <td class="paramname">)</td><td></td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Exit notification. </p>
+<p>Invoked from inside observe(false) call and whenever a worker leaves the arena this observer is associated with.</p>
+<p>Obsolete semantics. For global observers it is called by a thread before the first steal since observation became enabled. </p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>task_scheduler_observer.h</li>
+</ul>
+</div><!-- contents -->
+<hr>
+<p></p>
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
+<p></p>
+Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
+registered trademarks or trademarks of Intel Corporation or its
+subsidiaries in the United States and other countries.
+<p></p>
+* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00143.png b/doc/html/a00143.png
new file mode 100644
index 0000000..b87088c
Binary files /dev/null and b/doc/html/a00143.png differ
diff --git a/doc/html/a00144.html b/doc/html/a00144.html
new file mode 100644
index 0000000..4fbac50
--- /dev/null
+++ b/doc/html/a00144.html
@@ -0,0 +1,157 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::tbb_allocator< T > Class Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00144.html">tbb_allocator</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Classes</a> |
+<a href="#pub-types">Public Types</a> |
+<a href="#pub-methods">Public Member Functions</a> |
+<a href="#pub-static-methods">Static Public Member Functions</a> |
+<a href="a00289.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::tbb_allocator< T > Class Template Reference<div class="ingroups"><a class="el" href="a00236.html">Memory Allocation</a></div></div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Meets "allocator" requirements of ISO C++ Standard, Section 20.1.5.  
+ <a href="a00144.html#details">More...</a></p>
+
+<p><code>#include <tbb_allocator.h></code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Classes</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00098.html">rebind</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:a60463a571d5c20f7762112367261ad94"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00144.html#a60463a571d5c20f7762112367261ad94">malloc_type</a> { <b>scalable</b>, 
+<b>standard</b>
+ }</td></tr>
+<tr class="memdesc:a60463a571d5c20f7762112367261ad94"><td class="mdescLeft"> </td><td class="mdescRight">Specifies current allocator. <br/></td></tr>
+<tr class="separator:a60463a571d5c20f7762112367261ad94"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a26be966de4164e37002247c2c2266df9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a26be966de4164e37002247c2c2266df9"></a>
+typedef <br class="typebreak"/>
+internal::allocator_type< T ><br class="typebreak"/>
+::value_type </td><td class="memItemRight" valign="bottom"><b>value_type</b></td></tr>
+<tr class="separator:a26be966de4164e37002247c2c2266df9"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a452a6c09408f425c9a005b5f2aad1761"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a452a6c09408f425c9a005b5f2aad1761"></a>
+typedef value_type * </td><td class="memItemRight" valign="bottom"><b>pointer</b></td></tr>
+<tr class="separator:a452a6c09408f425c9a005b5f2aad1761"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a63122d559635096a2618aecd1ba6664b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a63122d559635096a2618aecd1ba6664b"></a>
+typedef const value_type * </td><td class="memItemRight" valign="bottom"><b>const_pointer</b></td></tr>
+<tr class="separator:a63122d559635096a2618aecd1ba6664b"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a5ec6bd5e8cdd5b7abb99f5d72760c7a2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5ec6bd5e8cdd5b7abb99f5d72760c7a2"></a>
+typedef value_type & </td><td class="memItemRight" valign="bottom"><b>reference</b></td></tr>
+<tr class="separator:a5ec6bd5e8cdd5b7abb99f5d72760c7a2"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a24d98ce3ab908bc4b10d21dad6622364"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a24d98ce3ab908bc4b10d21dad6622364"></a>
+typedef const value_type & </td><td class="memItemRight" valign="bottom"><b>const_reference</b></td></tr>
+<tr class="separator:a24d98ce3ab908bc4b10d21dad6622364"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a812817d50e8df15df54998caec9892eb"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a812817d50e8df15df54998caec9892eb"></a>
+typedef size_t </td><td class="memItemRight" valign="bottom"><b>size_type</b></td></tr>
+<tr class="separator:a812817d50e8df15df54998caec9892eb"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:acba390757f664df03a15e933e3e34941"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acba390757f664df03a15e933e3e34941"></a>
+typedef ptrdiff_t </td><td class="memItemRight" valign="bottom"><b>difference_type</b></td></tr>
+<tr class="separator:acba390757f664df03a15e933e3e34941"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a8371538bc959f41f342012e363564aed"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8371538bc959f41f342012e363564aed"></a>
+ </td><td class="memItemRight" valign="bottom"><b>tbb_allocator</b> (const <a class="el" href="a00144.html">tbb_allocator</a> &)  throw ()</td></tr>
+<tr class="separator:a8371538bc959f41f342012e363564aed"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a9faff9ae2c2cd3ed2ca064b562224974"><td class="memTemplParams" colspan="2"><a class="anchor" id="a9faff9ae2c2cd3ed2ca064b562224974"></a>
+template<typename U > </td></tr>
+<tr class="memitem:a9faff9ae2c2cd3ed2ca064b562224974"><td class="memTemplItemLeft" align="right" valign="top"> </td><td class="memTemplItemRight" valign="bottom"><b>tbb_allocator</b> (const <a class="el" href="a00144.html">tbb_allocator</a>< U > &)  throw ()</td></tr>
+<tr class="separator:a9faff9ae2c2cd3ed2ca064b562224974"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ac1370dbb1f06fed57273bddcae688255"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac1370dbb1f06fed57273bddcae688255"></a>
+pointer </td><td class="memItemRight" valign="bottom"><b>address</b> (reference x) const </td></tr>
+<tr class="separator:ac1370dbb1f06fed57273bddcae688255"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:afb9c91d548d4a5affe3ec1de1c1b9327"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afb9c91d548d4a5affe3ec1de1c1b9327"></a>
+const_pointer </td><td class="memItemRight" valign="bottom"><b>address</b> (const_reference x) const </td></tr>
+<tr class="separator:afb9c91d548d4a5affe3ec1de1c1b9327"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:afedd8a64eed9692083c708f419338e0c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afedd8a64eed9692083c708f419338e0c"></a>
+pointer </td><td class="memItemRight" valign="bottom"><a class="el" href="a00144.html#afedd8a64eed9692083c708f419338e0c">allocate</a> (size_type n, const void *=0)</td></tr>
+<tr class="memdesc:afedd8a64eed9692083c708f419338e0c"><td class="mdescLeft"> </td><td class="mdescRight">Allocate space for n objects. <br/></td></tr>
+<tr class="separator:afedd8a64eed9692083c708f419338e0c"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a28e333e0fff56dd53c20b82cfee430ab"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a28e333e0fff56dd53c20b82cfee430ab"></a>
+void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00144.html#a28e333e0fff56dd53c20b82cfee430ab">deallocate</a> (pointer p, size_type)</td></tr>
+<tr class="memdesc:a28e333e0fff56dd53c20b82cfee430ab"><td class="mdescLeft"> </td><td class="mdescRight">Free previously allocated block of memory. <br/></td></tr>
+<tr class="separator:a28e333e0fff56dd53c20b82cfee430ab"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a0a2676fb8a2f931961d373b88848c93e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0a2676fb8a2f931961d373b88848c93e"></a>
+size_type </td><td class="memItemRight" valign="bottom"><a class="el" href="a00144.html#a0a2676fb8a2f931961d373b88848c93e">max_size</a> () const   throw ()</td></tr>
+<tr class="memdesc:a0a2676fb8a2f931961d373b88848c93e"><td class="mdescLeft"> </td><td class="mdescRight">Largest value for which method allocate might succeed. <br/></td></tr>
+<tr class="separator:a0a2676fb8a2f931961d373b88848c93e"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:af54fa3029e33cebe5ba64a8538306fdf"><td class="memTemplParams" colspan="2"><a class="anchor" id="af54fa3029e33cebe5ba64a8538306fdf"></a>
+template<typename U , typename... Args> </td></tr>
+<tr class="memitem:af54fa3029e33cebe5ba64a8538306fdf"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00144.html#af54fa3029e33cebe5ba64a8538306fdf">construct</a> (U *p, Args &&...args)</td></tr>
+<tr class="memdesc:af54fa3029e33cebe5ba64a8538306fdf"><td class="mdescLeft"> </td><td class="mdescRight">Copy-construct value at location pointed to by p. <br/></td></tr>
+<tr class="separator:af54fa3029e33cebe5ba64a8538306fdf"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a694e266db657afba34ecb60111b2e2d3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a694e266db657afba34ecb60111b2e2d3"></a>
+void </td><td class="memItemRight" valign="bottom"><b>construct</b> (pointer p, const value_type &value)</td></tr>
+<tr class="separator:a694e266db657afba34ecb60111b2e2d3"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ac7b1b393a8ff3399079328c0971c1996"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac7b1b393a8ff3399079328c0971c1996"></a>
+void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00144.html#ac7b1b393a8ff3399079328c0971c1996">destroy</a> (pointer p)</td></tr>
+<tr class="memdesc:ac7b1b393a8ff3399079328c0971c1996"><td class="mdescLeft"> </td><td class="mdescRight">Destroy value at location pointed to by p. <br/></td></tr>
+<tr class="separator:ac7b1b393a8ff3399079328c0971c1996"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
+Static Public Member Functions</h2></td></tr>
+<tr class="memitem:aa4606cff0156ec4237c1571204851bfb"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa4606cff0156ec4237c1571204851bfb"></a>
+static <a class="el" href="a00144.html#a60463a571d5c20f7762112367261ad94">malloc_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00144.html#aa4606cff0156ec4237c1571204851bfb">allocator_type</a> ()</td></tr>
+<tr class="memdesc:aa4606cff0156ec4237c1571204851bfb"><td class="mdescLeft"> </td><td class="mdescRight">Returns current allocator. <br/></td></tr>
+<tr class="separator:aa4606cff0156ec4237c1571204851bfb"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><h3>template<typename T><br/>
+class tbb::tbb_allocator< T ></h3>
+
+<p>Meets "allocator" requirements of ISO C++ Standard, Section 20.1.5. </p>
+<p>The class selects the best memory allocation mechanism available from scalable_malloc and standard malloc. The members are ordered the same way they are in section 20.4.1 of the ISO C++ standard. </p>
+</div><hr/>The documentation for this class was generated from the following file:<ul>
+<li>tbb_allocator.h</li>
+</ul>
+</div><!-- contents -->
+<hr>
+<p></p>
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
+<p></p>
+Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
+registered trademarks or trademarks of Intel Corporation or its
+subsidiaries in the United States and other countries.
+<p></p>
+* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00145.html b/doc/html/a00145.html
index 1c80241..97027b5 100644
--- a/doc/html/a00145.html
+++ b/doc/html/a00145.html
@@ -1,37 +1,85 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::tbb_allocator< void > Class Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<h1>tbb::task_scheduler_init Member List</h1>This is the complete list of members for <a class="el" href="a00355.html">tbb::task_scheduler_init</a>, including all inherited members.<p><table>
-  <tr class="memlist"><td><a class="el" href="a00355.html#8f5988e2b0fbb2d533fcbb7f2583743f">automatic</a></td><td><a class="el" href="a00355.html">tbb::task_scheduler_init</a></td><td><code> [static]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00355.html#e6c860f1e559026ff3ef4599c0d6c514">deferred</a></td><td><a class="el" href="a00355.html">tbb::task_scheduler_init</a></td><td><code> [static]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00355.html#d476053cc712e572554823492a5229ce">initialize</a>(int number_of_threads=automatic)</td><td><a class="el" href="a00355.html">tbb::task_scheduler_init</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00355.html#d5ed214a8bb53b0466ed91ff4734b9a3">initialize</a>(int number_of_threads, stack_size_type thread_stack_size)</td><td><a class="el" href="a00355.html">tbb::task_scheduler_init</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00355.html#12752282977029f23416642bc03e8b74">is_active</a>() const </td><td><a class="el" href="a00355.html">tbb::task_scheduler_init</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00355.html#5dbd23c83603b3b09dffa7982112cc95">task_scheduler_init</a>(int number_of_threads=automatic, stack_size_type thread_stack_size=0, bool wait_workers_in_terminate=false) task_scheduler_init(int number_of_threads</td><td><a class="el" href="a00355.html">tbb::task_scheduler_init</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00355.html#f73257e04cb7fb9bd5be2b635d9016f1">terminate</a>()</td><td><a class="el" href="a00355.html">tbb::task_scheduler_init</a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>thread_stack_size</b> (defined in <a class="el" href="a00355.html">tbb::task_scheduler_init</a>)</td><td><a class="el" href="a00355.html">tbb::task_scheduler_init</a></td><td></td></tr>
-</table><hr>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00145.html">tbb_allocator< void ></a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Classes</a> |
+<a href="#pub-types">Public Types</a> |
+<a href="a00291.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::tbb_allocator< void > Class Template Reference<div class="ingroups"><a class="el" href="a00236.html">Memory Allocation</a></div></div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Analogous to std::allocator<void>, as defined in ISO C++ Standard, Section 20.4.1.  
+ <a href="a00145.html#details">More...</a></p>
+
+<p><code>#include <tbb_allocator.h></code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Classes</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00099.html">rebind</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:a8fda536620d85d53caa82c45ffa49dd8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8fda536620d85d53caa82c45ffa49dd8"></a>
+typedef void * </td><td class="memItemRight" valign="bottom"><b>pointer</b></td></tr>
+<tr class="separator:a8fda536620d85d53caa82c45ffa49dd8"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a401d3c91a38b09410a20fe69d4d9745d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a401d3c91a38b09410a20fe69d4d9745d"></a>
+typedef const void * </td><td class="memItemRight" valign="bottom"><b>const_pointer</b></td></tr>
+<tr class="separator:a401d3c91a38b09410a20fe69d4d9745d"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:afef43ed21663982050fbae7b970e33f6"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afef43ed21663982050fbae7b970e33f6"></a>
+typedef void </td><td class="memItemRight" valign="bottom"><b>value_type</b></td></tr>
+<tr class="separator:afef43ed21663982050fbae7b970e33f6"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><h3>template<><br/>
+class tbb::tbb_allocator< void ></h3>
+
+<p>Analogous to std::allocator<void>, as defined in ISO C++ Standard, Section 20.4.1. </p>
+</div><hr/>The documentation for this class was generated from the following file:<ul>
+<li>tbb_allocator.h</li>
+</ul>
+</div><!-- contents -->
+<hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00146.html b/doc/html/a00146.html
new file mode 100644
index 0000000..fd3142d
--- /dev/null
+++ b/doc/html/a00146.html
@@ -0,0 +1,226 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::tbb_exception Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00146.html">tbb_exception</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> |
+<a href="a00302.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::tbb_exception Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Interface to be implemented by all exceptions TBB recognizes and propagates across the threads.  
+ <a href="a00146.html#details">More...</a></p>
+
+<p><code>#include <tbb_exception.h></code></p>
+<div class="dynheader">
+Inheritance diagram for tbb::tbb_exception:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00146.png" usemap="#tbb::tbb_exception_map" alt=""/>
+  <map id="tbb::tbb_exception_map" name="tbb::tbb_exception_map">
+<area href="a00031.html" title="This class is used by TBB to propagate information about unhandled exceptions into the root thread..." alt="tbb::captured_exception" shape="rect" coords="0,112,248,136"/>
+<area href="a00078.html" title="Template that can be used to implement exception that transfers arbitrary ExceptionData to the root t..." alt="tbb::movable_exception< ExceptionData >" shape="rect" coords="258,112,506,136"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a4bd4ba0d501021013d1473d21b020b69"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="a00146.html">tbb_exception</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00146.html#a4bd4ba0d501021013d1473d21b020b69">move</a> ()=0  throw ()</td></tr>
+<tr class="memdesc:a4bd4ba0d501021013d1473d21b020b69"><td class="mdescLeft"> </td><td class="mdescRight">Creates and returns pointer to the deep copy of this exception object.  <a href="#a4bd4ba0d501021013d1473d21b020b69">More...</a><br/></td></tr>
+<tr class="separator:a4bd4ba0d501021013d1473d21b020b69"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ad3bc09bf78c33f19a0bcdf882fdf9d41"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00146.html#ad3bc09bf78c33f19a0bcdf882fdf9d41">destroy</a> ()=0  throw ()</td></tr>
+<tr class="memdesc:ad3bc09bf78c33f19a0bcdf882fdf9d41"><td class="mdescLeft"> </td><td class="mdescRight">Destroys objects created by the <a class="el" href="a00146.html#a4bd4ba0d501021013d1473d21b020b69" title="Creates and returns pointer to the deep copy of this exception object. ">move()</a> method.  <a href="#ad3bc09bf78c33f19a0bcdf882fdf9d41">More...</a><br/></td></tr>
+<tr class="separator:ad3bc09bf78c33f19a0bcdf882fdf9d41"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ae45c08d36c7ec7ae91785da3515a8828"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00146.html#ae45c08d36c7ec7ae91785da3515a8828">throw_self</a> ()=0</td></tr>
+<tr class="memdesc:ae45c08d36c7ec7ae91785da3515a8828"><td class="mdescLeft"> </td><td class="mdescRight">Throws this exception object.  <a href="#ae45c08d36c7ec7ae91785da3515a8828">More...</a><br/></td></tr>
+<tr class="separator:ae45c08d36c7ec7ae91785da3515a8828"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a282bb7dce5f157d044d14d50cd6ff35c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a282bb7dce5f157d044d14d50cd6ff35c"></a>
+virtual const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00146.html#a282bb7dce5f157d044d14d50cd6ff35c">name</a> () const =0  throw ()</td></tr>
+<tr class="memdesc:a282bb7dce5f157d044d14d50cd6ff35c"><td class="mdescLeft"> </td><td class="mdescRight">Returns RTTI name of the originally intercepted exception. <br/></td></tr>
+<tr class="separator:a282bb7dce5f157d044d14d50cd6ff35c"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ae0ad81121d4b722ecc466b5d3cc4e919"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae0ad81121d4b722ecc466b5d3cc4e919"></a>
+virtual const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00146.html#ae0ad81121d4b722ecc466b5d3cc4e919">what</a> () const =0  throw ()</td></tr>
+<tr class="memdesc:ae0ad81121d4b722ecc466b5d3cc4e919"><td class="mdescLeft"> </td><td class="mdescRight">Returns the result of originally intercepted exception's <a class="el" href="a00146.html#ae0ad81121d4b722ecc466b5d3cc4e919" title="Returns the result of originally intercepted exception's what() method. ">what()</a> method. <br/></td></tr>
+<tr class="separator:ae0ad81121d4b722ecc466b5d3cc4e919"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a6a973c37078afedf7d457ff4704bf8cd"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00146.html#a6a973c37078afedf7d457ff4704bf8cd">operator delete</a> (void *p)</td></tr>
+<tr class="separator:a6a973c37078afedf7d457ff4704bf8cd"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Interface to be implemented by all exceptions TBB recognizes and propagates across the threads. </p>
+<p>If an unhandled exception of the type derived from <a class="el" href="a00146.html" title="Interface to be implemented by all exceptions TBB recognizes and propagates across the threads...">tbb::tbb_exception</a> is intercepted by the TBB scheduler in one of the worker threads, it is delivered to and re-thrown in the root thread. The root thread is the thread that has started the outermost algorithm or root task sharing the same <a class="el" href="a00138.html">task_group_context</a>  [...]
+<p>Note: when documentation mentions workers with respect to exception handling, masters are implied as well, because they are completely equivalent in this context. Consequently a root thread can be master or worker thread.</p>
+<p>NOTE: In case of nested algorithms or complex task hierarchies when the nested levels share (explicitly or by means of implicit inheritance) the task group context of the outermost level, the exception may be (re-)thrown multiple times (ultimately - in each worker on each nesting level) before reaching the root thread at the outermost level. IMPORTANT: if you intercept an exception derived from this class on a nested level, you must re-throw it in the catch block by means of the "thro [...]
+<p>TBB provides two implementations of this interface: <a class="el" href="a00031.html" title="This class is used by TBB to propagate information about unhandled exceptions into the root thread...">tbb::captured_exception</a> and template class <a class="el" href="a00078.html" title="Template that can be used to implement exception that transfers arbitrary ExceptionData to the root t...">tbb::movable_exception</a>. See their declarations for more info. </p>
+</div><h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="ad3bc09bf78c33f19a0bcdf882fdf9d41"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual void tbb::tbb_exception::destroy </td>
+          <td>(</td>
+          <td class="paramname">)</td><td></td>
+          <td></td>
+        </tr>
+        <tr>
+          <td align="right">throw </td><td>(</td><td colspan="2"></td>
+        </tr>
+        <tr>
+          <td align="right"></td><td>)</td><td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Destroys objects created by the <a class="el" href="a00146.html#a4bd4ba0d501021013d1473d21b020b69" title="Creates and returns pointer to the deep copy of this exception object. ">move()</a> method. </p>
+<p>Frees memory and calls destructor for this exception object. Can and must be used only on objects created by the move method. </p>
+
+<p>Implemented in <a class="el" href="a00078.html#a02f0401b465690de797face2432d9421">tbb::movable_exception< ExceptionData ></a>, and <a class="el" href="a00031.html#a3006b6825dda6c746d28fb748f5675de">tbb::captured_exception</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a4bd4ba0d501021013d1473d21b020b69"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual <a class="el" href="a00146.html">tbb_exception</a>* tbb::tbb_exception::move </td>
+          <td>(</td>
+          <td class="paramname">)</td><td></td>
+          <td></td>
+        </tr>
+        <tr>
+          <td align="right">throw </td><td>(</td><td colspan="2"></td>
+        </tr>
+        <tr>
+          <td align="right"></td><td>)</td><td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Creates and returns pointer to the deep copy of this exception object. </p>
+<p>Move semantics is allowed. </p>
+
+<p>Implemented in <a class="el" href="a00078.html#aeb47d3ac90a1f01fe642b572f6ac519d">tbb::movable_exception< ExceptionData ></a>, and <a class="el" href="a00031.html#abb221485cd260349efdef681f633a6a4">tbb::captured_exception</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a6a973c37078afedf7d457ff4704bf8cd"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">void tbb::tbb_exception::operator delete </td>
+          <td>(</td>
+          <td class="paramtype">void * </td>
+          <td class="paramname"><em>p</em>)</td><td></td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<p>Operator delete is provided only to allow using existing smart pointers with TBB exception objects obtained as the result of applying <a class="el" href="a00146.html#a4bd4ba0d501021013d1473d21b020b69" title="Creates and returns pointer to the deep copy of this exception object. ">move()</a> operation on an exception thrown out of TBB scheduler.</p>
+<p>When overriding method <a class="el" href="a00146.html#a4bd4ba0d501021013d1473d21b020b69" title="Creates and returns pointer to the deep copy of this exception object. ">move()</a> make sure to override operator delete as well if memory is allocated not by TBB's scalable allocator. </p>
+
+</div>
+</div>
+<a class="anchor" id="ae45c08d36c7ec7ae91785da3515a8828"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">virtual void tbb::tbb_exception::throw_self </td>
+          <td>(</td>
+          <td class="paramname">)</td><td></td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Throws this exception object. </p>
+<p>Make sure that if you have several levels of derivation from this interface you implement or override this method on the most derived level. The implementation is as simple as "throw *this;". Failure to do this will result in exception of a base class type being thrown. </p>
+
+<p>Implemented in <a class="el" href="a00078.html#a3d1570b53220fbcb45eb81552b57827a">tbb::movable_exception< ExceptionData ></a>, and <a class="el" href="a00031.html#ac9ae925678fcc0cc02a74df7d06b8d63">tbb::captured_exception</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>tbb_exception.h</li>
+</ul>
+</div><!-- contents -->
+<hr>
+<p></p>
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
+<p></p>
+Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
+registered trademarks or trademarks of Intel Corporation or its
+subsidiaries in the United States and other countries.
+<p></p>
+* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00146.png b/doc/html/a00146.png
new file mode 100644
index 0000000..a067095
Binary files /dev/null and b/doc/html/a00146.png differ
diff --git a/doc/html/a00147.html b/doc/html/a00147.html
new file mode 100644
index 0000000..2fa4922
--- /dev/null
+++ b/doc/html/a00147.html
@@ -0,0 +1,117 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::internal::tbb_exception_ptr Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>internal</b></li><li class="navelem"><a class="el" href="a00147.html">tbb_exception_ptr</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> |
+<a href="#pub-static-methods">Static Public Member Functions</a> |
+<a href="a00375.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::internal::tbb_exception_ptr Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Exception container that preserves the exact copy of the original exception.  
+ <a href="a00147.html#details">More...</a></p>
+
+<p><code>#include <tbb_exception.h></code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a38d3ca480e2758a67bcd7427b156daae"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00147.html#a38d3ca480e2758a67bcd7427b156daae">destroy</a> ()  throw ()</td></tr>
+<tr class="memdesc:a38d3ca480e2758a67bcd7427b156daae"><td class="mdescLeft"> </td><td class="mdescRight">Destroys this objects.  <a href="#a38d3ca480e2758a67bcd7427b156daae">More...</a><br/></td></tr>
+<tr class="separator:a38d3ca480e2758a67bcd7427b156daae"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a1713aa9a6a3850049d34358397a8ed81"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1713aa9a6a3850049d34358397a8ed81"></a>
+void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00147.html#a1713aa9a6a3850049d34358397a8ed81">throw_self</a> ()</td></tr>
+<tr class="memdesc:a1713aa9a6a3850049d34358397a8ed81"><td class="mdescLeft"> </td><td class="mdescRight">Throws the contained exception . <br/></td></tr>
+<tr class="separator:a1713aa9a6a3850049d34358397a8ed81"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
+Static Public Member Functions</h2></td></tr>
+<tr class="memitem:a83d4cb04d89ed11b5e030fe4db2d5e5f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a83d4cb04d89ed11b5e030fe4db2d5e5f"></a>
+static <a class="el" href="a00147.html">tbb_exception_ptr</a> * </td><td class="memItemRight" valign="bottom"><b>allocate</b> ()</td></tr>
+<tr class="separator:a83d4cb04d89ed11b5e030fe4db2d5e5f"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ae54ded5f55ad39805e6cb967fc710346"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae54ded5f55ad39805e6cb967fc710346"></a>
+static <a class="el" href="a00147.html">tbb_exception_ptr</a> * </td><td class="memItemRight" valign="bottom"><b>allocate</b> (const <a class="el" href="a00146.html">tbb_exception</a> &tag)</td></tr>
+<tr class="separator:ae54ded5f55ad39805e6cb967fc710346"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:abfbea91401d2594deb04ea331734171c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abfbea91401d2594deb04ea331734171c"></a>
+static <a class="el" href="a00147.html">tbb_exception_ptr</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00147.html#abfbea91401d2594deb04ea331734171c">allocate</a> (<a class="el" href="a00031.html">captured_exception</a> &src)</td></tr>
+<tr class="memdesc:abfbea91401d2594deb04ea331734171c"><td class="mdescLeft"> </td><td class="mdescRight">This overload uses move semantics (i.e. it empties src) <br/></td></tr>
+<tr class="separator:abfbea91401d2594deb04ea331734171c"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Exception container that preserves the exact copy of the original exception. </p>
+<p>This class can be used only when the appropriate runtime support (mandated by C++0x) is present </p>
+</div><h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="a38d3ca480e2758a67bcd7427b156daae"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void tbb::internal::tbb_exception_ptr::destroy </td>
+          <td>(</td>
+          <td class="paramname">)</td><td></td>
+          <td></td>
+        </tr>
+        <tr>
+          <td align="right">throw </td><td>(</td><td colspan="2"></td>
+        </tr>
+        <tr>
+          <td align="right"></td><td>)</td><td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Destroys this objects. </p>
+<p>Note that objects of this type can be created only by the allocate() method. </p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>tbb_exception.h</li>
+</ul>
+</div><!-- contents -->
+<hr>
+<p></p>
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
+<p></p>
+Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
+registered trademarks or trademarks of Intel Corporation or its
+subsidiaries in the United States and other countries.
+<p></p>
+* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00148.html b/doc/html/a00148.html
index a4c9004..d8a964f 100644
--- a/doc/html/a00148.html
+++ b/doc/html/a00148.html
@@ -1,48 +1,76 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::tbb_hash_compare< Key > Struct Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<h1>tbb::tbb_allocator< T > Member List</h1>This is the complete list of members for <a class="el" href="a00356.html">tbb::tbb_allocator< T ></a>, including all inherited members.<p><table>
-  <tr bgcolor="#f0f0f0"><td><b>address</b>(reference x) const  (defined in <a class="el" href="a00356.html">tbb::tbb_allocator< T ></a>)</td><td><a class="el" href="a00356.html">tbb::tbb_allocator< T ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>address</b>(const_reference x) const  (defined in <a class="el" href="a00356.html">tbb::tbb_allocator< T ></a>)</td><td><a class="el" href="a00356.html">tbb::tbb_allocator< T ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00356.html#f6cb487b1bdce0b581f265a77dca6d53">allocate</a>(size_type n, const void *=0)</td><td><a class="el" href="a00356.html">tbb::tbb_allocator< T ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>const_pointer</b> typedef (defined in <a class="el" href="a00356.html">tbb::tbb_allocator< T ></a>)</td><td><a class="el" href="a00356.html">tbb::tbb_allocator< T ></a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>const_reference</b> typedef (defined in <a class="el" href="a00356.html">tbb::tbb_allocator< T ></a>)</td><td><a class="el" href="a00356.html">tbb::tbb_allocator< T ></a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00356.html#3999cb92a8b6a995b65ee9ae5c31751f">construct</a>(U *p, Args &&...args)</td><td><a class="el" href="a00356.html">tbb::tbb_allocator< T ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00356.html#fdd011fdf2f9ad07006dc7c0a7ec1da2">deallocate</a>(pointer p, size_type)</td><td><a class="el" href="a00356.html">tbb::tbb_allocator< T ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>difference_type</b> typedef (defined in <a class="el" href="a00356.html">tbb::tbb_allocator< T ></a>)</td><td><a class="el" href="a00356.html">tbb::tbb_allocator< T ></a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00356.html#09a7f81fb2c3055aaecf058b11538544">malloc_type</a> enum name</td><td><a class="el" href="a00356.html">tbb::tbb_allocator< T ></a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00356.html#f059ca2c96243024f0d562ee3a87a3a5">max_size</a>() const </td><td><a class="el" href="a00356.html">tbb::tbb_allocator< T ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>pointer</b> typedef (defined in <a class="el" href="a00356.html">tbb::tbb_allocator< T ></a>)</td><td><a class="el" href="a00356.html">tbb::tbb_allocator< T ></a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>reference</b> typedef (defined in <a class="el" href="a00356.html">tbb::tbb_allocator< T ></a>)</td><td><a class="el" href="a00356.html">tbb::tbb_allocator< T ></a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>scalable</b> enum value (defined in <a class="el" href="a00356.html">tbb::tbb_allocator< T ></a>)</td><td><a class="el" href="a00356.html">tbb::tbb_allocator< T ></a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>size_type</b> typedef (defined in <a class="el" href="a00356.html">tbb::tbb_allocator< T ></a>)</td><td><a class="el" href="a00356.html">tbb::tbb_allocator< T ></a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>standard</b> enum value (defined in <a class="el" href="a00356.html">tbb::tbb_allocator< T ></a>)</td><td><a class="el" href="a00356.html">tbb::tbb_allocator< T ></a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>tbb_allocator</b>() (defined in <a class="el" href="a00356.html">tbb::tbb_allocator< T ></a>)</td><td><a class="el" href="a00356.html">tbb::tbb_allocator< T ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>tbb_allocator</b>(const tbb_allocator &) (defined in <a class="el" href="a00356.html">tbb::tbb_allocator< T ></a>)</td><td><a class="el" href="a00356.html">tbb::tbb_allocator< T ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>tbb_allocator</b>(const tbb_allocator< U > &) (defined in <a class="el" href="a00356.html">tbb::tbb_allocator< T ></a>)</td><td><a class="el" href="a00356.html">tbb::tbb_allocator< T ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>value_type</b> typedef (defined in <a class="el" href="a00356.html">tbb::tbb_allocator< T ></a>)</td><td><a class="el" href="a00356.html">tbb::tbb_allocator< T ></a></td><td></td></tr>
-</table><hr>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00148.html">tbb_hash_compare</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-static-methods">Static Public Member Functions</a> |
+<a href="a00255.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::tbb_hash_compare< Key > Struct Template Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>hash_compare that is default argument for concurrent_hash_map  
+ <a href="a00148.html#details">More...</a></p>
+
+<p><code>#include <concurrent_hash_map.h></code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
+Static Public Member Functions</h2></td></tr>
+<tr class="memitem:a525ef96e5015680e43b8e1fecd3a2fb5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a525ef96e5015680e43b8e1fecd3a2fb5"></a>
+static size_t </td><td class="memItemRight" valign="bottom"><b>hash</b> (const Key &a)</td></tr>
+<tr class="separator:a525ef96e5015680e43b8e1fecd3a2fb5"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:afdc33dc9b83fb3b0ead4f234eca81c95"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afdc33dc9b83fb3b0ead4f234eca81c95"></a>
+static bool </td><td class="memItemRight" valign="bottom"><b>equal</b> (const Key &a, const Key &b)</td></tr>
+<tr class="separator:afdc33dc9b83fb3b0ead4f234eca81c95"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><h3>template<typename Key><br/>
+struct tbb::tbb_hash_compare< Key ></h3>
+
+<p>hash_compare that is default argument for concurrent_hash_map </p>
+</div><hr/>The documentation for this struct was generated from the following file:<ul>
+<li>concurrent_hash_map.h</li>
+</ul>
+</div><!-- contents -->
+<hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00149.html b/doc/html/a00149.html
new file mode 100644
index 0000000..3752365
--- /dev/null
+++ b/doc/html/a00149.html
@@ -0,0 +1,173 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::internal::tbb_thread_v3 Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>internal</b></li><li class="navelem"><a class="el" href="a00149.html">tbb_thread_v3</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Classes</a> |
+<a href="#pub-types">Public Types</a> |
+<a href="#pub-methods">Public Member Functions</a> |
+<a href="#pub-static-methods">Static Public Member Functions</a> |
+<a href="#friends">Friends</a> |
+<a href="a00381.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::internal::tbb_thread_v3 Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Versioned thread class.  
+ <a href="a00149.html#details">More...</a></p>
+
+<p><code>#include <tbb_thread.h></code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Classes</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00064.html">id</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:acf81b6411caec392fc62fdfbf72560ac"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acf81b6411caec392fc62fdfbf72560ac"></a>
+typedef HANDLE </td><td class="memItemRight" valign="bottom"><b>native_handle_type</b></td></tr>
+<tr class="separator:acf81b6411caec392fc62fdfbf72560ac"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a30e64e2a6bef43e2fd847e6c60a31207"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a30e64e2a6bef43e2fd847e6c60a31207"></a>
+typedef pthread_t </td><td class="memItemRight" valign="bottom"><b>native_handle_type</b></td></tr>
+<tr class="separator:a30e64e2a6bef43e2fd847e6c60a31207"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a644f78d07a6e5ce3b9994fe5b19b1543"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a644f78d07a6e5ce3b9994fe5b19b1543"></a>
+ </td><td class="memItemRight" valign="bottom"><a class="el" href="a00149.html#a644f78d07a6e5ce3b9994fe5b19b1543">tbb_thread_v3</a> ()</td></tr>
+<tr class="memdesc:a644f78d07a6e5ce3b9994fe5b19b1543"><td class="mdescLeft"> </td><td class="mdescRight">Constructs a thread object that does not represent a thread of execution. <br/></td></tr>
+<tr class="separator:a644f78d07a6e5ce3b9994fe5b19b1543"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a9c5587ab76ca1aa98bae7fe69a459466"><td class="memTemplParams" colspan="2"><a class="anchor" id="a9c5587ab76ca1aa98bae7fe69a459466"></a>
+template<class F > </td></tr>
+<tr class="memitem:a9c5587ab76ca1aa98bae7fe69a459466"><td class="memTemplItemLeft" align="right" valign="top"> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00149.html#a9c5587ab76ca1aa98bae7fe69a459466">tbb_thread_v3</a> (F f)</td></tr>
+<tr class="memdesc:a9c5587ab76ca1aa98bae7fe69a459466"><td class="mdescLeft"> </td><td class="mdescRight">Constructs an object and executes f() in a new thread. <br/></td></tr>
+<tr class="separator:a9c5587ab76ca1aa98bae7fe69a459466"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a672a5367e687635c869926bf8a986296"><td class="memTemplParams" colspan="2"><a class="anchor" id="a672a5367e687635c869926bf8a986296"></a>
+template<class F , class X > </td></tr>
+<tr class="memitem:a672a5367e687635c869926bf8a986296"><td class="memTemplItemLeft" align="right" valign="top"> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00149.html#a672a5367e687635c869926bf8a986296">tbb_thread_v3</a> (F f, X x)</td></tr>
+<tr class="memdesc:a672a5367e687635c869926bf8a986296"><td class="mdescLeft"> </td><td class="mdescRight">Constructs an object and executes f(x) in a new thread. <br/></td></tr>
+<tr class="separator:a672a5367e687635c869926bf8a986296"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ac3f57678f2a289084a6d275f8f8fbc62"><td class="memTemplParams" colspan="2"><a class="anchor" id="ac3f57678f2a289084a6d275f8f8fbc62"></a>
+template<class F , class X , class Y > </td></tr>
+<tr class="memitem:ac3f57678f2a289084a6d275f8f8fbc62"><td class="memTemplItemLeft" align="right" valign="top"> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00149.html#ac3f57678f2a289084a6d275f8f8fbc62">tbb_thread_v3</a> (F f, X x, Y y)</td></tr>
+<tr class="memdesc:ac3f57678f2a289084a6d275f8f8fbc62"><td class="mdescLeft"> </td><td class="mdescRight">Constructs an object and executes f(x,y) in a new thread. <br/></td></tr>
+<tr class="separator:ac3f57678f2a289084a6d275f8f8fbc62"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aa4f68564c30ee6f59bab29c3b3216623"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa4f68564c30ee6f59bab29c3b3216623"></a>
+<a class="el" href="a00149.html">tbb_thread_v3</a> & </td><td class="memItemRight" valign="bottom"><b>operator=</b> (<a class="el" href="a00149.html">tbb_thread_v3</a> &x)</td></tr>
+<tr class="separator:aa4f68564c30ee6f59bab29c3b3216623"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a24419cbdd69c7e072e5f1219202db8b6"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a24419cbdd69c7e072e5f1219202db8b6"></a>
+void </td><td class="memItemRight" valign="bottom"><b>swap</b> (<a class="el" href="a00149.html">tbb_thread_v3</a> &t)</td></tr>
+<tr class="separator:a24419cbdd69c7e072e5f1219202db8b6"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a937e61f9f07fd73bd26de0684d0653a2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a937e61f9f07fd73bd26de0684d0653a2"></a>
+bool </td><td class="memItemRight" valign="bottom"><b>joinable</b> () const </td></tr>
+<tr class="separator:a937e61f9f07fd73bd26de0684d0653a2"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a044c8727c51e921b0cc43a6b057eb559"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a044c8727c51e921b0cc43a6b057eb559"></a>
+void __TBB_EXPORTED_METHOD </td><td class="memItemRight" valign="bottom"><a class="el" href="a00149.html#a044c8727c51e921b0cc43a6b057eb559">join</a> ()</td></tr>
+<tr class="memdesc:a044c8727c51e921b0cc43a6b057eb559"><td class="mdescLeft"> </td><td class="mdescRight">The completion of the thread represented by *this happens before <a class="el" href="a00149.html#a044c8727c51e921b0cc43a6b057eb559" title="The completion of the thread represented by *this happens before join() returns. ">join()</a> returns. <br/></td></tr>
+<tr class="separator:a044c8727c51e921b0cc43a6b057eb559"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a80a31a41708872af5557b907f129b19b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a80a31a41708872af5557b907f129b19b"></a>
+void __TBB_EXPORTED_METHOD </td><td class="memItemRight" valign="bottom"><a class="el" href="a00149.html#a80a31a41708872af5557b907f129b19b">detach</a> ()</td></tr>
+<tr class="memdesc:a80a31a41708872af5557b907f129b19b"><td class="mdescLeft"> </td><td class="mdescRight">When <a class="el" href="a00149.html#a80a31a41708872af5557b907f129b19b" title="When detach() returns, *this no longer represents the possibly continuing thread of execution...">detach()</a> returns, *this no longer represents the possibly continuing thread of execution. <br/></td></tr>
+<tr class="separator:a80a31a41708872af5557b907f129b19b"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ab8540592d92e4433f70099d66f6c4ced"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab8540592d92e4433f70099d66f6c4ced"></a>
+<a class="el" href="a00064.html">id</a> </td><td class="memItemRight" valign="bottom"><b>get_id</b> () const </td></tr>
+<tr class="separator:ab8540592d92e4433f70099d66f6c4ced"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a98e89e22e11fb6cab05f0f7839c79310"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a98e89e22e11fb6cab05f0f7839c79310"></a>
+native_handle_type </td><td class="memItemRight" valign="bottom"><b>native_handle</b> ()</td></tr>
+<tr class="separator:a98e89e22e11fb6cab05f0f7839c79310"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
+Static Public Member Functions</h2></td></tr>
+<tr class="memitem:a2b761b3d80a7397c645402865e06b1a8"><td class="memItemLeft" align="right" valign="top">static unsigned __TBB_EXPORTED_FUNC </td><td class="memItemRight" valign="bottom"><a class="el" href="a00149.html#a2b761b3d80a7397c645402865e06b1a8">hardware_concurrency</a> ()</td></tr>
+<tr class="memdesc:a2b761b3d80a7397c645402865e06b1a8"><td class="mdescLeft"> </td><td class="mdescRight">The number of hardware thread contexts.  <a href="#a2b761b3d80a7397c645402865e06b1a8">More...</a><br/></td></tr>
+<tr class="separator:a2b761b3d80a7397c645402865e06b1a8"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
+Friends</h2></td></tr>
+<tr class="memitem:a9b8a2643aa337c0ec7f68cc2797a10ba"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9b8a2643aa337c0ec7f68cc2797a10ba"></a>
+void __TBB_EXPORTED_FUNC </td><td class="memItemRight" valign="bottom"><b>move_v3</b> (<a class="el" href="a00149.html">tbb_thread_v3</a> &t1, <a class="el" href="a00149.html">tbb_thread_v3</a> &t2)</td></tr>
+<tr class="separator:a9b8a2643aa337c0ec7f68cc2797a10ba"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aec9f484a314b5289f05fbd2c304de911"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aec9f484a314b5289f05fbd2c304de911"></a>
+void </td><td class="memItemRight" valign="bottom"><b>tbb::swap</b> (<a class="el" href="a00149.html">tbb_thread_v3</a> &t1, <a class="el" href="a00149.html">tbb_thread_v3</a> &t2)</td></tr>
+<tr class="separator:aec9f484a314b5289f05fbd2c304de911"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Versioned thread class. </p>
+</div><h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="a2b761b3d80a7397c645402865e06b1a8"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">static unsigned __TBB_EXPORTED_FUNC tbb::internal::tbb_thread_v3::hardware_concurrency </td>
+          <td>(</td>
+          <td class="paramname">)</td><td></td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>The number of hardware thread contexts. </p>
+<p>Before TBB 3.0 U4 this methods returned the number of logical CPU in the system. Currently on Windows, Linux and FreeBSD it returns the number of logical CPUs available to the current process in accordance with its affinity mask.</p>
+<p>NOTE: The return value of this method never changes after its first invocation. This means that changes in the process affinity mask that took place after this method was first invoked will not affect the number of worker threads in the TBB worker threads pool. </p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>tbb_thread.h</li>
+</ul>
+</div><!-- contents -->
+<hr>
+<p></p>
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
+<p></p>
+Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
+registered trademarks or trademarks of Intel Corporation or its
+subsidiaries in the United States and other countries.
+<p></p>
+* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00150.html b/doc/html/a00150.html
index 4d4233d..340ee57 100644
--- a/doc/html/a00150.html
+++ b/doc/html/a00150.html
@@ -1,32 +1,157 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::thread_bound_filter Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<h1>tbb::tbb_allocator< void > Member List</h1>This is the complete list of members for <a class="el" href="a00357.html">tbb::tbb_allocator< void ></a>, including all inherited members.<p><table>
-  <tr bgcolor="#f0f0f0"><td><b>const_pointer</b> typedef (defined in <a class="el" href="a00357.html">tbb::tbb_allocator< void ></a>)</td><td><a class="el" href="a00357.html">tbb::tbb_allocator< void ></a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>pointer</b> typedef (defined in <a class="el" href="a00357.html">tbb::tbb_allocator< void ></a>)</td><td><a class="el" href="a00357.html">tbb::tbb_allocator< void ></a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>value_type</b> typedef (defined in <a class="el" href="a00357.html">tbb::tbb_allocator< void ></a>)</td><td><a class="el" href="a00357.html">tbb::tbb_allocator< void ></a></td><td></td></tr>
-</table><hr>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00150.html">thread_bound_filter</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-types">Public Types</a> |
+<a href="#pub-methods">Public Member Functions</a> |
+<a href="#pro-methods">Protected Member Functions</a> |
+<a href="a00269.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::thread_bound_filter Class Reference<div class="ingroups"><a class="el" href="a00234.html">Algorithms</a></div></div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>A stage in a pipeline served by a user thread.  
+ <a href="a00150.html#details">More...</a></p>
+
+<p><code>#include <pipeline.h></code></p>
+<div class="dynheader">
+Inheritance diagram for tbb::thread_bound_filter:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00150.png" usemap="#tbb::thread_bound_filter_map" alt=""/>
+  <map id="tbb::thread_bound_filter_map" name="tbb::thread_bound_filter_map">
+<area href="a00053.html" title="A stage in a pipeline. " alt="tbb::filter" shape="rect" coords="0,56,145,80"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:a2425d6944a22a57c906945df57290e9d"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><b>result_type</b> { <b>success</b>, 
+<b>item_not_available</b>, 
+<b>end_of_stream</b>
+ }</td></tr>
+<tr class="separator:a2425d6944a22a57c906945df57290e9d"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a12cfa43c620066a8783529cc8519c6f9"><td class="memItemLeft" align="right" valign="top">result_type __TBB_EXPORTED_METHOD </td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#a12cfa43c620066a8783529cc8519c6f9">try_process_item</a> ()</td></tr>
+<tr class="memdesc:a12cfa43c620066a8783529cc8519c6f9"><td class="mdescLeft"> </td><td class="mdescRight">If a data item is available, invoke operator() on that item.  <a href="#a12cfa43c620066a8783529cc8519c6f9">More...</a><br/></td></tr>
+<tr class="separator:a12cfa43c620066a8783529cc8519c6f9"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ac99258407f382d84568a510075074fc7"><td class="memItemLeft" align="right" valign="top">result_type __TBB_EXPORTED_METHOD </td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html#ac99258407f382d84568a510075074fc7">process_item</a> ()</td></tr>
+<tr class="memdesc:ac99258407f382d84568a510075074fc7"><td class="mdescLeft"> </td><td class="mdescRight">Wait until a data item becomes available, and invoke operator() on that item.  <a href="#ac99258407f382d84568a510075074fc7">More...</a><br/></td></tr>
+<tr class="separator:ac99258407f382d84568a510075074fc7"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
+Protected Member Functions</h2></td></tr>
+<tr class="memitem:a5f236956f85f28c783127c949e902610"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5f236956f85f28c783127c949e902610"></a>
+ </td><td class="memItemRight" valign="bottom"><b>thread_bound_filter</b> (mode filter_mode)</td></tr>
+<tr class="separator:a5f236956f85f28c783127c949e902610"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
+Additional Inherited Members</h2></td></tr>
+<tr class="inherit_header pro_static_attribs_a00053"><td colspan="2" onclick="javascript:toggleInherit('pro_static_attribs_a00053')"><img src="closed.png" alt="-"/> Static Protected Attributes inherited from <a class="el" href="a00053.html">tbb::filter</a></td></tr>
+<tr class="memitem:ae9dab2e01b0963b341ab04b59eec1475 inherit pro_static_attribs_a00053"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae9dab2e01b0963b341ab04b59eec1475"></a>
+static const unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="a00053.html#ae9dab2e01b0963b341ab04b59eec1475">filter_is_serial</a> = 0x1</td></tr>
+<tr class="memdesc:ae9dab2e01b0963b341ab04b59eec1475 inherit pro_static_attribs_a00053"><td class="mdescLeft"> </td><td class="mdescRight">The lowest bit 0 is for parallel vs. serial. <br/></td></tr>
+<tr class="separator:ae9dab2e01b0963b341ab04b59eec1475 inherit pro_static_attribs_a00053"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a091fcf6abc79edfa5c8bf01f742e2392 inherit pro_static_attribs_a00053"><td class="memItemLeft" align="right" valign="top">static const unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="a00053.html#a091fcf6abc79edfa5c8bf01f742e2392">filter_is_out_of_order</a> = 0x1<<4</td></tr>
+<tr class="memdesc:a091fcf6abc79edfa5c8bf01f742e2392 inherit pro_static_attribs_a00053"><td class="mdescLeft"> </td><td class="mdescRight">4th bit distinguishes ordered vs unordered filters.  <a href="#a091fcf6abc79edfa5c8bf01f742e2392">More...</a><br/></td></tr>
+<tr class="separator:a091fcf6abc79edfa5c8bf01f742e2392 inherit pro_static_attribs_a00053"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a1382f216bd094064a18eb48ecc43c86b inherit pro_static_attribs_a00053"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1382f216bd094064a18eb48ecc43c86b"></a>
+static const unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="a00053.html#a1382f216bd094064a18eb48ecc43c86b">filter_is_bound</a> = 0x1<<5</td></tr>
+<tr class="memdesc:a1382f216bd094064a18eb48ecc43c86b inherit pro_static_attribs_a00053"><td class="mdescLeft"> </td><td class="mdescRight">5th bit distinguishes thread-bound and regular filters. <br/></td></tr>
+<tr class="separator:a1382f216bd094064a18eb48ecc43c86b inherit pro_static_attribs_a00053"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a6645ec56872b6ba2056dcaa467e292f7 inherit pro_static_attribs_a00053"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6645ec56872b6ba2056dcaa467e292f7"></a>
+static const unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="a00053.html#a6645ec56872b6ba2056dcaa467e292f7">filter_may_emit_null</a> = 0x1<<6</td></tr>
+<tr class="memdesc:a6645ec56872b6ba2056dcaa467e292f7 inherit pro_static_attribs_a00053"><td class="mdescLeft"> </td><td class="mdescRight">6th bit marks input filters emitting small objects <br/></td></tr>
+<tr class="separator:a6645ec56872b6ba2056dcaa467e292f7 inherit pro_static_attribs_a00053"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aab9689e23a96c6c9bf1c8caae74d92ee inherit pro_static_attribs_a00053"><td class="memItemLeft" align="right" valign="top">static const unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="a00053.html#aab9689e23a96c6c9bf1c8caae74d92ee">exact_exception_propagation</a></td></tr>
+<tr class="memdesc:aab9689e23a96c6c9bf1c8caae74d92ee inherit pro_static_attribs_a00053"><td class="mdescLeft"> </td><td class="mdescRight">7th bit defines exception propagation mode expected by the application.  <a href="#aab9689e23a96c6c9bf1c8caae74d92ee">More...</a><br/></td></tr>
+<tr class="separator:aab9689e23a96c6c9bf1c8caae74d92ee inherit pro_static_attribs_a00053"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>A stage in a pipeline served by a user thread. </p>
+</div><h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="ac99258407f382d84568a510075074fc7"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">result_type __TBB_EXPORTED_METHOD tbb::thread_bound_filter::process_item </td>
+          <td>(</td>
+          <td class="paramname">)</td><td></td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Wait until a data item becomes available, and invoke operator() on that item. </p>
+<p>This interface is blocking. Returns 'success' if an item was processed. Returns 'end_of_stream' if there are no more items to process. Never returns 'item_not_available', as it blocks until another return condition applies. </p>
+
+</div>
+</div>
+<a class="anchor" id="a12cfa43c620066a8783529cc8519c6f9"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">result_type __TBB_EXPORTED_METHOD tbb::thread_bound_filter::try_process_item </td>
+          <td>(</td>
+          <td class="paramname">)</td><td></td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>If a data item is available, invoke operator() on that item. </p>
+<p>This interface is non-blocking. Returns 'success' if an item was processed. Returns 'item_not_available' if no item can be processed now but more may arrive in the future, or if token limit is reached. Returns 'end_of_stream' if there are no more items to process. </p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>pipeline.h</li>
+</ul>
+</div><!-- contents -->
+<hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00150.png b/doc/html/a00150.png
new file mode 100644
index 0000000..7eab1d5
Binary files /dev/null and b/doc/html/a00150.png differ
diff --git a/doc/html/a00151.html b/doc/html/a00151.html
new file mode 100644
index 0000000..d00656f
--- /dev/null
+++ b/doc/html/a00151.html
@@ -0,0 +1,96 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::internal::thread_closure_0< F > Struct Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>internal</b></li><li class="navelem"><a class="el" href="a00151.html">thread_closure_0</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> |
+<a href="#pub-static-methods">Static Public Member Functions</a> |
+<a href="#pub-attribs">Public Attributes</a> |
+<a href="a00378.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::internal::thread_closure_0< F > Struct Template Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="dynheader">
+Inheritance diagram for tbb::internal::thread_closure_0< F >:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00151.png" usemap="#tbb::internal::thread_closure_0< F >_map" alt=""/>
+  <map id="tbb::internal::thread_closure_0< F >_map" name="tbb::internal::thread_closure_0< F >_map">
+<area href="a00154.html" alt="tbb::internal::thread_closure_base" shape="rect" coords="0,0,214,24"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a538aa9db5b40cf64cdafc0af0649a7f2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a538aa9db5b40cf64cdafc0af0649a7f2"></a>
+ </td><td class="memItemRight" valign="bottom"><b>thread_closure_0</b> (const F &f)</td></tr>
+<tr class="separator:a538aa9db5b40cf64cdafc0af0649a7f2"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="inherit_header pub_methods_a00154"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00154')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="a00154.html">tbb::internal::thread_closure_base</a></td></tr>
+<tr class="memitem:a624f5a5a40051faf39444ad3a9f36df5 inherit pub_methods_a00154"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a624f5a5a40051faf39444ad3a9f36df5"></a>
+void * </td><td class="memItemRight" valign="bottom"><b>operator new</b> (size_t size)</td></tr>
+<tr class="separator:a624f5a5a40051faf39444ad3a9f36df5 inherit pub_methods_a00154"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a56e1bfd2ca46abcc3c3f265eff10360d inherit pub_methods_a00154"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a56e1bfd2ca46abcc3c3f265eff10360d"></a>
+void </td><td class="memItemRight" valign="bottom"><b>operator delete</b> (void *ptr)</td></tr>
+<tr class="separator:a56e1bfd2ca46abcc3c3f265eff10360d inherit pub_methods_a00154"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
+Static Public Member Functions</h2></td></tr>
+<tr class="memitem:a4b9e7370103f473212ccb10e65d676fb"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4b9e7370103f473212ccb10e65d676fb"></a>
+static __TBB_NATIVE_THREAD_ROUTINE </td><td class="memItemRight" valign="bottom"><b>start_routine</b> (void *c)</td></tr>
+<tr class="separator:a4b9e7370103f473212ccb10e65d676fb"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
+Public Attributes</h2></td></tr>
+<tr class="memitem:aff55f3266cccfbb2d296aa9b07239ce8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aff55f3266cccfbb2d296aa9b07239ce8"></a>
+F </td><td class="memItemRight" valign="bottom"><b>function</b></td></tr>
+<tr class="separator:aff55f3266cccfbb2d296aa9b07239ce8"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<hr/>The documentation for this struct was generated from the following file:<ul>
+<li>tbb_thread.h</li>
+</ul>
+</div><!-- contents -->
+<hr>
+<p></p>
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
+<p></p>
+Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
+registered trademarks or trademarks of Intel Corporation or its
+subsidiaries in the United States and other countries.
+<p></p>
+* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00151.png b/doc/html/a00151.png
new file mode 100644
index 0000000..ca33e7f
Binary files /dev/null and b/doc/html/a00151.png differ
diff --git a/doc/html/a00152.html b/doc/html/a00152.html
index 117173f..9c90fe6 100644
--- a/doc/html/a00152.html
+++ b/doc/html/a00152.html
@@ -1,41 +1,107 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::internal::thread_closure_1< F, X > Struct Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<h1>tbb::zero_allocator< T, Allocator > Member List</h1>This is the complete list of members for <a class="el" href="a00366.html">tbb::zero_allocator< T, Allocator ></a>, including all inherited members.<p><table>
-  <tr bgcolor="#f0f0f0"><td><b>allocate</b>(const size_type n, const void *hint=0) (defined in <a class="el" href="a00366.html">tbb::zero_allocator< T, Allocator ></a>)</td><td><a class="el" href="a00366.html">tbb::zero_allocator< T, Allocator ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>base_allocator_type</b> typedef (defined in <a class="el" href="a00366.html">tbb::zero_allocator< T, Allocator ></a>)</td><td><a class="el" href="a00366.html">tbb::zero_allocator< T, Allocator ></a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>const_pointer</b> typedef (defined in <a class="el" href="a00366.html">tbb::zero_allocator< T, Allocator ></a>)</td><td><a class="el" href="a00366.html">tbb::zero_allocator< T, Allocator ></a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>const_reference</b> typedef (defined in <a class="el" href="a00366.html">tbb::zero_allocator< T, Allocator ></a>)</td><td><a class="el" href="a00366.html">tbb::zero_allocator< T, Allocator ></a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>difference_type</b> typedef (defined in <a class="el" href="a00366.html">tbb::zero_allocator< T, Allocator ></a>)</td><td><a class="el" href="a00366.html">tbb::zero_allocator< T, Allocator ></a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>pointer</b> typedef (defined in <a class="el" href="a00366.html">tbb::zero_allocator< T, Allocator ></a>)</td><td><a class="el" href="a00366.html">tbb::zero_allocator< T, Allocator ></a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>reference</b> typedef (defined in <a class="el" href="a00366.html">tbb::zero_allocator< T, Allocator ></a>)</td><td><a class="el" href="a00366.html">tbb::zero_allocator< T, Allocator ></a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>size_type</b> typedef (defined in <a class="el" href="a00366.html">tbb::zero_allocator< T, Allocator ></a>)</td><td><a class="el" href="a00366.html">tbb::zero_allocator< T, Allocator ></a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>value_type</b> typedef (defined in <a class="el" href="a00366.html">tbb::zero_allocator< T, Allocator ></a>)</td><td><a class="el" href="a00366.html">tbb::zero_allocator< T, Allocator ></a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>zero_allocator</b>() (defined in <a class="el" href="a00366.html">tbb::zero_allocator< T, Allocator ></a>)</td><td><a class="el" href="a00366.html">tbb::zero_allocator< T, Allocator ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>zero_allocator</b>(const zero_allocator &a) (defined in <a class="el" href="a00366.html">tbb::zero_allocator< T, Allocator ></a>)</td><td><a class="el" href="a00366.html">tbb::zero_allocator< T, Allocator ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>zero_allocator</b>(const zero_allocator< U > &a) (defined in <a class="el" href="a00366.html">tbb::zero_allocator< T, Allocator ></a>)</td><td><a class="el" href="a00366.html">tbb::zero_allocator< T, Allocator ></a></td><td><code> [inline]</code></td></tr>
-</table><hr>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>internal</b></li><li class="navelem"><a class="el" href="a00152.html">thread_closure_1</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> |
+<a href="#pub-static-methods">Static Public Member Functions</a> |
+<a href="#pub-attribs">Public Attributes</a> |
+<a href="a00379.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::internal::thread_closure_1< F, X > Struct Template Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Structure used to pass user function with 1 argument to thread.  
+ <a href="a00152.html#details">More...</a></p>
+
+<p><code>#include <tbb_thread.h></code></p>
+<div class="dynheader">
+Inheritance diagram for tbb::internal::thread_closure_1< F, X >:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00152.png" usemap="#tbb::internal::thread_closure_1< F, X >_map" alt=""/>
+  <map id="tbb::internal::thread_closure_1< F, X >_map" name="tbb::internal::thread_closure_1< F, X >_map">
+<area href="a00154.html" alt="tbb::internal::thread_closure_base" shape="rect" coords="0,0,232,24"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:afef38584bcf65f3f71700cfec80b8b18"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afef38584bcf65f3f71700cfec80b8b18"></a>
+ </td><td class="memItemRight" valign="bottom"><b>thread_closure_1</b> (const F &f, const X &x)</td></tr>
+<tr class="separator:afef38584bcf65f3f71700cfec80b8b18"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="inherit_header pub_methods_a00154"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00154')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="a00154.html">tbb::internal::thread_closure_base</a></td></tr>
+<tr class="memitem:a624f5a5a40051faf39444ad3a9f36df5 inherit pub_methods_a00154"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a624f5a5a40051faf39444ad3a9f36df5"></a>
+void * </td><td class="memItemRight" valign="bottom"><b>operator new</b> (size_t size)</td></tr>
+<tr class="separator:a624f5a5a40051faf39444ad3a9f36df5 inherit pub_methods_a00154"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a56e1bfd2ca46abcc3c3f265eff10360d inherit pub_methods_a00154"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a56e1bfd2ca46abcc3c3f265eff10360d"></a>
+void </td><td class="memItemRight" valign="bottom"><b>operator delete</b> (void *ptr)</td></tr>
+<tr class="separator:a56e1bfd2ca46abcc3c3f265eff10360d inherit pub_methods_a00154"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
+Static Public Member Functions</h2></td></tr>
+<tr class="memitem:a33d533b3301c45708c6252d040f855a6"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a33d533b3301c45708c6252d040f855a6"></a>
+static __TBB_NATIVE_THREAD_ROUTINE </td><td class="memItemRight" valign="bottom"><a class="el" href="a00152.html#a33d533b3301c45708c6252d040f855a6">start_routine</a> (void *c)</td></tr>
+<tr class="memdesc:a33d533b3301c45708c6252d040f855a6"><td class="mdescLeft"> </td><td class="mdescRight">Routine passed to Windows's _beginthreadex by thread::internal_start() inside tbb.dll. <br/></td></tr>
+<tr class="separator:a33d533b3301c45708c6252d040f855a6"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
+Public Attributes</h2></td></tr>
+<tr class="memitem:a39a5a39b2a7513868944ffe7ffd89640"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a39a5a39b2a7513868944ffe7ffd89640"></a>
+F </td><td class="memItemRight" valign="bottom"><b>function</b></td></tr>
+<tr class="separator:a39a5a39b2a7513868944ffe7ffd89640"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a607886c68ca8bdd984b9b4f6ec744dea"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a607886c68ca8bdd984b9b4f6ec744dea"></a>
+X </td><td class="memItemRight" valign="bottom"><b>arg1</b></td></tr>
+<tr class="separator:a607886c68ca8bdd984b9b4f6ec744dea"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><h3>template<class F, class X><br/>
+struct tbb::internal::thread_closure_1< F, X ></h3>
+
+<p>Structure used to pass user function with 1 argument to thread. </p>
+</div><hr/>The documentation for this struct was generated from the following file:<ul>
+<li>tbb_thread.h</li>
+</ul>
+</div><!-- contents -->
+<hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00152.png b/doc/html/a00152.png
new file mode 100644
index 0000000..961925b
Binary files /dev/null and b/doc/html/a00152.png differ
diff --git a/doc/html/a00153.html b/doc/html/a00153.html
new file mode 100644
index 0000000..67a577c
--- /dev/null
+++ b/doc/html/a00153.html
@@ -0,0 +1,103 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::internal::thread_closure_2< F, X, Y > Struct Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>internal</b></li><li class="navelem"><a class="el" href="a00153.html">thread_closure_2</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> |
+<a href="#pub-static-methods">Static Public Member Functions</a> |
+<a href="#pub-attribs">Public Attributes</a> |
+<a href="a00380.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::internal::thread_closure_2< F, X, Y > Struct Template Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="dynheader">
+Inheritance diagram for tbb::internal::thread_closure_2< F, X, Y >:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00153.png" usemap="#tbb::internal::thread_closure_2< F, X, Y >_map" alt=""/>
+  <map id="tbb::internal::thread_closure_2< F, X, Y >_map" name="tbb::internal::thread_closure_2< F, X, Y >_map">
+<area href="a00154.html" alt="tbb::internal::thread_closure_base" shape="rect" coords="0,0,250,24"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:aa5f65ba1d019063487f425021ca2ba59"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa5f65ba1d019063487f425021ca2ba59"></a>
+ </td><td class="memItemRight" valign="bottom"><b>thread_closure_2</b> (const F &f, const X &x, const Y &y)</td></tr>
+<tr class="separator:aa5f65ba1d019063487f425021ca2ba59"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="inherit_header pub_methods_a00154"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00154')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="a00154.html">tbb::internal::thread_closure_base</a></td></tr>
+<tr class="memitem:a624f5a5a40051faf39444ad3a9f36df5 inherit pub_methods_a00154"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a624f5a5a40051faf39444ad3a9f36df5"></a>
+void * </td><td class="memItemRight" valign="bottom"><b>operator new</b> (size_t size)</td></tr>
+<tr class="separator:a624f5a5a40051faf39444ad3a9f36df5 inherit pub_methods_a00154"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a56e1bfd2ca46abcc3c3f265eff10360d inherit pub_methods_a00154"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a56e1bfd2ca46abcc3c3f265eff10360d"></a>
+void </td><td class="memItemRight" valign="bottom"><b>operator delete</b> (void *ptr)</td></tr>
+<tr class="separator:a56e1bfd2ca46abcc3c3f265eff10360d inherit pub_methods_a00154"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
+Static Public Member Functions</h2></td></tr>
+<tr class="memitem:a29003179f98d768622c72b9ab5cfe8f6"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a29003179f98d768622c72b9ab5cfe8f6"></a>
+static __TBB_NATIVE_THREAD_ROUTINE </td><td class="memItemRight" valign="bottom"><a class="el" href="a00153.html#a29003179f98d768622c72b9ab5cfe8f6">start_routine</a> (void *c)</td></tr>
+<tr class="memdesc:a29003179f98d768622c72b9ab5cfe8f6"><td class="mdescLeft"> </td><td class="mdescRight">Routine passed to Windows's _beginthreadex by thread::internal_start() inside tbb.dll. <br/></td></tr>
+<tr class="separator:a29003179f98d768622c72b9ab5cfe8f6"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
+Public Attributes</h2></td></tr>
+<tr class="memitem:a247bf0a01f8a390031b71c9b85fb8b24"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a247bf0a01f8a390031b71c9b85fb8b24"></a>
+F </td><td class="memItemRight" valign="bottom"><b>function</b></td></tr>
+<tr class="separator:a247bf0a01f8a390031b71c9b85fb8b24"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a36f694b6dcc91c92b09d3deee24e4732"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a36f694b6dcc91c92b09d3deee24e4732"></a>
+X </td><td class="memItemRight" valign="bottom"><b>arg1</b></td></tr>
+<tr class="separator:a36f694b6dcc91c92b09d3deee24e4732"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a47f0e53fc6b9026d9529a3bf1cc4fa72"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a47f0e53fc6b9026d9529a3bf1cc4fa72"></a>
+Y </td><td class="memItemRight" valign="bottom"><b>arg2</b></td></tr>
+<tr class="separator:a47f0e53fc6b9026d9529a3bf1cc4fa72"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<hr/>The documentation for this struct was generated from the following file:<ul>
+<li>tbb_thread.h</li>
+</ul>
+</div><!-- contents -->
+<hr>
+<p></p>
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
+<p></p>
+Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
+registered trademarks or trademarks of Intel Corporation or its
+subsidiaries in the United States and other countries.
+<p></p>
+* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00153.png b/doc/html/a00153.png
new file mode 100644
index 0000000..aa52099
Binary files /dev/null and b/doc/html/a00153.png differ
diff --git a/doc/html/a00154.html b/doc/html/a00154.html
index d936ab9..0394695 100644
--- a/doc/html/a00154.html
+++ b/doc/html/a00154.html
@@ -1,33 +1,77 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::internal::thread_closure_base Struct Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<h1>tbb::zero_allocator< void, Allocator > Member List</h1>This is the complete list of members for <a class="el" href="a00367.html">tbb::zero_allocator< void, Allocator ></a>, including all inherited members.<p><table>
-  <tr bgcolor="#f0f0f0"><td><b>base_allocator_type</b> typedef (defined in <a class="el" href="a00367.html">tbb::zero_allocator< void, Allocator ></a>)</td><td><a class="el" href="a00367.html">tbb::zero_allocator< void, Allocator ></a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>const_pointer</b> typedef (defined in <a class="el" href="a00367.html">tbb::zero_allocator< void, Allocator ></a>)</td><td><a class="el" href="a00367.html">tbb::zero_allocator< void, Allocator ></a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>pointer</b> typedef (defined in <a class="el" href="a00367.html">tbb::zero_allocator< void, Allocator ></a>)</td><td><a class="el" href="a00367.html">tbb::zero_allocator< void, Allocator ></a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>value_type</b> typedef (defined in <a class="el" href="a00367.html">tbb::zero_allocator< void, Allocator ></a>)</td><td><a class="el" href="a00367.html">tbb::zero_allocator< void, Allocator ></a></td><td></td></tr>
-</table><hr>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>internal</b></li><li class="navelem"><a class="el" href="a00154.html">thread_closure_base</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> |
+<a href="a00377.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::internal::thread_closure_base Struct Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="dynheader">
+Inheritance diagram for tbb::internal::thread_closure_base:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00154.png" usemap="#tbb::internal::thread_closure_base_map" alt=""/>
+  <map id="tbb::internal::thread_closure_base_map" name="tbb::internal::thread_closure_base_map">
+<area href="a00151.html" alt="tbb::internal::thread_closure_0< F >" shape="rect" coords="0,56,250,80"/>
+<area href="a00152.html" title="Structure used to pass user function with 1 argument to thread. " alt="tbb::internal::thread_closure_1< F, X >" shape="rect" coords="260,56,510,80"/>
+<area href="a00153.html" alt="tbb::internal::thread_closure_2< F, X, Y >" shape="rect" coords="520,56,770,80"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a624f5a5a40051faf39444ad3a9f36df5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a624f5a5a40051faf39444ad3a9f36df5"></a>
+void * </td><td class="memItemRight" valign="bottom"><b>operator new</b> (size_t size)</td></tr>
+<tr class="separator:a624f5a5a40051faf39444ad3a9f36df5"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a56e1bfd2ca46abcc3c3f265eff10360d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a56e1bfd2ca46abcc3c3f265eff10360d"></a>
+void </td><td class="memItemRight" valign="bottom"><b>operator delete</b> (void *ptr)</td></tr>
+<tr class="separator:a56e1bfd2ca46abcc3c3f265eff10360d"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<hr/>The documentation for this struct was generated from the following file:<ul>
+<li>tbb_thread.h</li>
+</ul>
+</div><!-- contents -->
+<hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00154.png b/doc/html/a00154.png
new file mode 100644
index 0000000..0324577
Binary files /dev/null and b/doc/html/a00154.png differ
diff --git a/doc/html/a00155.html b/doc/html/a00155.html
new file mode 100644
index 0000000..c0287c1
--- /dev/null
+++ b/doc/html/a00155.html
@@ -0,0 +1,101 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::tick_count Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00155.html">tick_count</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Classes</a> |
+<a href="#pub-methods">Public Member Functions</a> |
+<a href="#pub-static-methods">Static Public Member Functions</a> |
+<a href="#friends">Friends</a> |
+<a href="a00305.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::tick_count Class Reference<div class="ingroups"><a class="el" href="a00238.html">Timing</a></div></div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Absolute timestamp.  
+ <a href="a00155.html#details">More...</a></p>
+
+<p><code>#include <tick_count.h></code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Classes</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00066.html">interval_t</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Relative time interval.  <a href="a00066.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a9f1daa0b7a4feb800f802b4be1f1e497"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9f1daa0b7a4feb800f802b4be1f1e497"></a>
+ </td><td class="memItemRight" valign="bottom"><a class="el" href="a00155.html#a9f1daa0b7a4feb800f802b4be1f1e497">tick_count</a> ()</td></tr>
+<tr class="memdesc:a9f1daa0b7a4feb800f802b4be1f1e497"><td class="mdescLeft"> </td><td class="mdescRight">Construct an absolute timestamp initialized to zero. <br/></td></tr>
+<tr class="separator:a9f1daa0b7a4feb800f802b4be1f1e497"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
+Static Public Member Functions</h2></td></tr>
+<tr class="memitem:a74dcecde7431ff4591d7c46fc1d50d7e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a74dcecde7431ff4591d7c46fc1d50d7e"></a>
+static <a class="el" href="a00155.html">tick_count</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00155.html#a74dcecde7431ff4591d7c46fc1d50d7e">now</a> ()</td></tr>
+<tr class="memdesc:a74dcecde7431ff4591d7c46fc1d50d7e"><td class="mdescLeft"> </td><td class="mdescRight">Return current time. <br/></td></tr>
+<tr class="separator:a74dcecde7431ff4591d7c46fc1d50d7e"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aaf6a0d91e7d40f7d68e0ad6b79350e58"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aaf6a0d91e7d40f7d68e0ad6b79350e58"></a>
+static double </td><td class="memItemRight" valign="bottom"><a class="el" href="a00155.html#aaf6a0d91e7d40f7d68e0ad6b79350e58">resolution</a> ()</td></tr>
+<tr class="memdesc:aaf6a0d91e7d40f7d68e0ad6b79350e58"><td class="mdescLeft"> </td><td class="mdescRight">Return the resolution of the clock in seconds per tick. <br/></td></tr>
+<tr class="separator:aaf6a0d91e7d40f7d68e0ad6b79350e58"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
+Friends</h2></td></tr>
+<tr class="memitem:ab5ceaed3ebf5a0d41088a5bc7c8dc653"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab5ceaed3ebf5a0d41088a5bc7c8dc653"></a>
+<a class="el" href="a00066.html">interval_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00155.html#ab5ceaed3ebf5a0d41088a5bc7c8dc653">operator-</a> (const <a class="el" href="a00155.html">tick_count</a> &t1, const <a class="el" href="a00155.html">tick_count</a> &t0)</td></tr>
+<tr class="memdesc:ab5ceaed3ebf5a0d41088a5bc7c8dc653"><td class="mdescLeft"> </td><td class="mdescRight">Subtract two timestamps to get the time interval between. <br/></td></tr>
+<tr class="separator:ab5ceaed3ebf5a0d41088a5bc7c8dc653"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Absolute timestamp. </p>
+</div><hr/>The documentation for this class was generated from the following file:<ul>
+<li>tick_count.h</li>
+</ul>
+</div><!-- contents -->
+<hr>
+<p></p>
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
+<p></p>
+Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
+registered trademarks or trademarks of Intel Corporation or its
+subsidiaries in the United States and other countries.
+<p></p>
+* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00156.html b/doc/html/a00156.html
index 5fb9751..56b3424 100644
--- a/doc/html/a00156.html
+++ b/doc/html/a00156.html
@@ -1,31 +1,78 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::user_abort Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<h1>tbb::bad_last_alloc Member List</h1>This is the complete list of members for <a class="el" href="a00270.html">tbb::bad_last_alloc</a>, including all inherited members.<p><table>
-  <tr bgcolor="#f0f0f0"><td><b>what</b>() const  (defined in <a class="el" href="a00270.html">tbb::bad_last_alloc</a>)</td><td><a class="el" href="a00270.html">tbb::bad_last_alloc</a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>~bad_last_alloc</b>() (defined in <a class="el" href="a00270.html">tbb::bad_last_alloc</a>)</td><td><a class="el" href="a00270.html">tbb::bad_last_alloc</a></td><td><code> [inline]</code></td></tr>
-</table><hr>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00156.html">user_abort</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> |
+<a href="a00299.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::user_abort Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Exception for user-initiated abort.  
+ <a href="a00156.html#details">More...</a></p>
+
+<p><code>#include <tbb_exception.h></code></p>
+<div class="dynheader">
+Inheritance diagram for tbb::user_abort:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00156.png" usemap="#tbb::user_abort_map" alt=""/>
+  <map id="tbb::user_abort_map" name="tbb::user_abort_map">
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a8e27e7ca7fd8f821c4e5c40266ed16f9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8e27e7ca7fd8f821c4e5c40266ed16f9"></a>
+const char * </td><td class="memItemRight" valign="bottom"><b>what</b> () const   throw ()</td></tr>
+<tr class="separator:a8e27e7ca7fd8f821c4e5c40266ed16f9"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Exception for user-initiated abort. </p>
+</div><hr/>The documentation for this class was generated from the following file:<ul>
+<li>tbb_exception.h</li>
+</ul>
+</div><!-- contents -->
+<hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00156.png b/doc/html/a00156.png
new file mode 100644
index 0000000..a1f2334
Binary files /dev/null and b/doc/html/a00156.png differ
diff --git a/doc/html/a00157.html b/doc/html/a00157.html
index 7a13656..9308951 100644
--- a/doc/html/a00157.html
+++ b/doc/html/a00157.html
@@ -1,30 +1,88 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::interface5::concurrent_unordered_map_traits< Key, T, Hash_compare, Allocator, Allow_multimapping >::value_compare Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<h1>tbb::improper_lock Member List</h1>This is the complete list of members for <a class="el" href="a00302.html">tbb::improper_lock</a>, including all inherited members.<p><table>
-  <tr bgcolor="#f0f0f0"><td><b>what</b>() const  (defined in <a class="el" href="a00302.html">tbb::improper_lock</a>)</td><td><a class="el" href="a00302.html">tbb::improper_lock</a></td><td></td></tr>
-</table><hr>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>interface5</b></li><li class="navelem"><a class="el" href="a00041.html">concurrent_unordered_map_traits</a></li><li class="navelem"><a class="el" href="a00157.html">value_compare</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> |
+<a href="#pro-attribs">Protected Attributes</a> |
+<a href="#friends">Friends</a> |
+<a href="a00341.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::interface5::concurrent_unordered_map_traits< Key, T, Hash_compare, Allocator, Allow_multimapping >::value_compare Class Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="dynheader">
+Inheritance diagram for tbb::interface5::concurrent_unordered_map_traits< Key, T, Hash_compare, Allocator, Allow_multimapping >::value_compare:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00157.png" usemap="#tbb::interface5::concurrent_unordered_map_traits< Key, T, Hash_compare, Allocator, Allow_multimapping >::value_compare_map" alt=""/>
+  <map id="tbb::interface5::concurrent_unordered_map_traits< Key, T, Hash_compare, Allocator, Allow_multimapping >::value_compare_map" name="tbb::interface5::concurrent_unordered_map_traits< Key, T, Hash_compare, Allocator, Allow_multimapping >::value_compare_map">
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:ab45af27d6a7ce27dfdd5cd86b9e242a4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab45af27d6a7ce27dfdd5cd86b9e242a4"></a>
+bool </td><td class="memItemRight" valign="bottom"><b>operator()</b> (const value_type &left, const value_type &right) const </td></tr>
+<tr class="separator:ab45af27d6a7ce27dfdd5cd86b9e242a4"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a950d35402dcfda797180cfa504e62696"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a950d35402dcfda797180cfa504e62696"></a>
+ </td><td class="memItemRight" valign="bottom"><b>value_compare</b> (const hash_compare &comparator)</td></tr>
+<tr class="separator:a950d35402dcfda797180cfa504e62696"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
+Protected Attributes</h2></td></tr>
+<tr class="memitem:a9f3947368607fd396df7f112f79abc1f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9f3947368607fd396df7f112f79abc1f"></a>
+hash_compare </td><td class="memItemRight" valign="bottom"><b>my_hash_compare</b></td></tr>
+<tr class="separator:a9f3947368607fd396df7f112f79abc1f"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
+Friends</h2></td></tr>
+<tr class="memitem:af8b0853dc699e83103d36df2c881aa67"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af8b0853dc699e83103d36df2c881aa67"></a>
+class </td><td class="memItemRight" valign="bottom"><b>concurrent_unordered_map_traits< Key, T, Hash_compare, Allocator, Allow_multimapping ></b></td></tr>
+<tr class="separator:af8b0853dc699e83103d36df2c881aa67"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>concurrent_unordered_map.h</li>
+</ul>
+</div><!-- contents -->
+<hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00157.png b/doc/html/a00157.png
new file mode 100644
index 0000000..d675463
Binary files /dev/null and b/doc/html/a00157.png differ
diff --git a/doc/html/a00158.html b/doc/html/a00158.html
index fdcf630..e6d2825 100644
--- a/doc/html/a00158.html
+++ b/doc/html/a00158.html
@@ -1,30 +1,53 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::vector_iterator< Container, Value > Class Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<h1>tbb::user_abort Member List</h1>This is the complete list of members for <a class="el" href="a00364.html">tbb::user_abort</a>, including all inherited members.<p><table>
-  <tr bgcolor="#f0f0f0"><td><b>what</b>() const  (defined in <a class="el" href="a00364.html">tbb::user_abort</a>)</td><td><a class="el" href="a00364.html">tbb::user_abort</a></td><td></td></tr>
-</table><hr>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00158.html">vector_iterator</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::vector_iterator< Container, Value > Class Template Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>concurrent_vector.h</li>
+</ul>
+</div><!-- contents -->
+<hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00159.html b/doc/html/a00159.html
index bd29e5d..ceb0e2d 100644
--- a/doc/html/a00159.html
+++ b/doc/html/a00159.html
@@ -1,30 +1,240 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::flow::interface7::write_once_node< T > Class Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<h1>tbb::missing_wait Member List</h1>This is the complete list of members for <a class="el" href="a00310.html">tbb::missing_wait</a>, including all inherited members.<p><table>
-  <tr bgcolor="#f0f0f0"><td><b>what</b>() const  (defined in <a class="el" href="a00310.html">tbb::missing_wait</a>)</td><td><a class="el" href="a00310.html">tbb::missing_wait</a></td><td></td></tr>
-</table><hr>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>flow</b></li><li class="navelem"><b>interface7</b></li><li class="navelem"><a class="el" href="a00159.html">write_once_node</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-types">Public Types</a> |
+<a href="#pub-methods">Public Member Functions</a> |
+<a href="#pro-methods">Protected Member Functions</a> |
+<a href="#friends">Friends</a> |
+<a href="a00323.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::flow::interface7::write_once_node< T > Class Template Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="dynheader">
+Inheritance diagram for tbb::flow::interface7::write_once_node< T >:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00159.png" usemap="#tbb::flow::interface7::write_once_node< T >_map" alt=""/>
+  <map id="tbb::flow::interface7::write_once_node< T >_map" name="tbb::flow::interface7::write_once_node< T >_map">
+<area href="a00086.html" alt="tbb::flow::interface7::overwrite_node< T >" shape="rect" coords="265,112,520,136"/>
+<area href="a00063.html" title="The base of all graph nodes. " alt="tbb::flow::interface7::graph_node" shape="rect" coords="0,56,255,80"/>
+<area href="a00106.html" title="Pure virtual template class that defines a receiver of messages of type T. " alt="tbb::flow::interface7::receiver< T >" shape="rect" coords="265,56,520,80"/>
+<area href="a00124.html" title="Pure virtual template class that defines a sender of messages of type T. " alt="tbb::flow::interface7::sender< T >" shape="rect" coords="530,56,785,80"/>
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:ab3b6999f46ff4e7c73613eca7139a308"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab3b6999f46ff4e7c73613eca7139a308"></a>
+typedef T </td><td class="memItemRight" valign="bottom"><b>input_type</b></td></tr>
+<tr class="separator:ab3b6999f46ff4e7c73613eca7139a308"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ac1228d1cd407e65842465e44ff1a5744"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac1228d1cd407e65842465e44ff1a5744"></a>
+typedef T </td><td class="memItemRight" valign="bottom"><b>output_type</b></td></tr>
+<tr class="separator:ac1228d1cd407e65842465e44ff1a5744"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ab22f169f2471c7ed2fdf55b82f48f9de"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab22f169f2471c7ed2fdf55b82f48f9de"></a>
+typedef <a class="el" href="a00124.html">sender</a>< <a class="el" href="a00106.html#a16eccc851b858604344bb8f1bb9eedc8">input_type</a> > </td><td class="memItemRight" valign="bottom"><b>predecessor_type</b></td></tr>
+<tr class="separator:ab22f169f2471c7ed2fdf55b82f48f9de"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a4b2f464c97cfdacbfc0ed7caeb426537"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4b2f464c97cfdacbfc0ed7caeb426537"></a>
+typedef <a class="el" href="a00106.html">receiver</a>< <a class="el" href="a00124.html#add86fddf72758d8e5b05b07650c6eeed">output_type</a> > </td><td class="memItemRight" valign="bottom"><b>successor_type</b></td></tr>
+<tr class="separator:a4b2f464c97cfdacbfc0ed7caeb426537"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="inherit_header pub_types_a00086"><td colspan="2" onclick="javascript:toggleInherit('pub_types_a00086')"><img src="closed.png" alt="-"/> Public Types inherited from <a class="el" href="a00086.html">tbb::flow::interface7::overwrite_node< T ></a></td></tr>
+<tr class="memitem:a0a8edb9abd1842cb9a1f00574a85c5c3 inherit pub_types_a00086"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0a8edb9abd1842cb9a1f00574a85c5c3"></a>
+typedef T </td><td class="memItemRight" valign="bottom"><b>input_type</b></td></tr>
+<tr class="separator:a0a8edb9abd1842cb9a1f00574a85c5c3 inherit pub_types_a00086"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:acaa2a72c0275a503c72c59b7b1b107a7 inherit pub_types_a00086"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acaa2a72c0275a503c72c59b7b1b107a7"></a>
+typedef T </td><td class="memItemRight" valign="bottom"><b>output_type</b></td></tr>
+<tr class="separator:acaa2a72c0275a503c72c59b7b1b107a7 inherit pub_types_a00086"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ae3c9152237c0355406644f8bdd423db9 inherit pub_types_a00086"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae3c9152237c0355406644f8bdd423db9"></a>
+typedef <a class="el" href="a00124.html">sender</a>< <a class="el" href="a00106.html#a16eccc851b858604344bb8f1bb9eedc8">input_type</a> > </td><td class="memItemRight" valign="bottom"><b>predecessor_type</b></td></tr>
+<tr class="separator:ae3c9152237c0355406644f8bdd423db9 inherit pub_types_a00086"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a3840465efc064f51b88f55bf12cd8526 inherit pub_types_a00086"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3840465efc064f51b88f55bf12cd8526"></a>
+typedef <a class="el" href="a00106.html">receiver</a>< <a class="el" href="a00124.html#add86fddf72758d8e5b05b07650c6eeed">output_type</a> > </td><td class="memItemRight" valign="bottom"><b>successor_type</b></td></tr>
+<tr class="separator:a3840465efc064f51b88f55bf12cd8526 inherit pub_types_a00086"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="inherit_header pub_types_a00106"><td colspan="2" onclick="javascript:toggleInherit('pub_types_a00106')"><img src="closed.png" alt="-"/> Public Types inherited from <a class="el" href="a00106.html">tbb::flow::interface7::receiver< T ></a></td></tr>
+<tr class="memitem:a16eccc851b858604344bb8f1bb9eedc8 inherit pub_types_a00106"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a16eccc851b858604344bb8f1bb9eedc8"></a>
+typedef T </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#a16eccc851b858604344bb8f1bb9eedc8">input_type</a></td></tr>
+<tr class="memdesc:a16eccc851b858604344bb8f1bb9eedc8 inherit pub_types_a00106"><td class="mdescLeft"> </td><td class="mdescRight">The input type of this receiver. <br/></td></tr>
+<tr class="separator:a16eccc851b858604344bb8f1bb9eedc8 inherit pub_types_a00106"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:afbadf5511bd568d283040cd88bd4e81e inherit pub_types_a00106"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afbadf5511bd568d283040cd88bd4e81e"></a>
+typedef <a class="el" href="a00124.html">sender</a>< T > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#afbadf5511bd568d283040cd88bd4e81e">predecessor_type</a></td></tr>
+<tr class="memdesc:afbadf5511bd568d283040cd88bd4e81e inherit pub_types_a00106"><td class="mdescLeft"> </td><td class="mdescRight">The predecessor type for this node. <br/></td></tr>
+<tr class="separator:afbadf5511bd568d283040cd88bd4e81e inherit pub_types_a00106"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="inherit_header pub_types_a00124"><td colspan="2" onclick="javascript:toggleInherit('pub_types_a00124')"><img src="closed.png" alt="-"/> Public Types inherited from <a class="el" href="a00124.html">tbb::flow::interface7::sender< T ></a></td></tr>
+<tr class="memitem:add86fddf72758d8e5b05b07650c6eeed inherit pub_types_a00124"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="add86fddf72758d8e5b05b07650c6eeed"></a>
+typedef T </td><td class="memItemRight" valign="bottom"><a class="el" href="a00124.html#add86fddf72758d8e5b05b07650c6eeed">output_type</a></td></tr>
+<tr class="memdesc:add86fddf72758d8e5b05b07650c6eeed inherit pub_types_a00124"><td class="mdescLeft"> </td><td class="mdescRight">The output type of this sender. <br/></td></tr>
+<tr class="separator:add86fddf72758d8e5b05b07650c6eeed inherit pub_types_a00124"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a7779627063a29d4d2a1fc905a5cae8db inherit pub_types_a00124"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7779627063a29d4d2a1fc905a5cae8db"></a>
+typedef <a class="el" href="a00106.html">receiver</a>< T > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00124.html#a7779627063a29d4d2a1fc905a5cae8db">successor_type</a></td></tr>
+<tr class="memdesc:a7779627063a29d4d2a1fc905a5cae8db inherit pub_types_a00124"><td class="mdescLeft"> </td><td class="mdescRight">The successor type for this node. <br/></td></tr>
+<tr class="separator:a7779627063a29d4d2a1fc905a5cae8db inherit pub_types_a00124"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a8225d7ca0ff9762552413cfb1382d78f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8225d7ca0ff9762552413cfb1382d78f"></a>
+ </td><td class="memItemRight" valign="bottom"><a class="el" href="a00159.html#a8225d7ca0ff9762552413cfb1382d78f">write_once_node</a> (<a class="el" href="a00061.html">graph</a> &g)</td></tr>
+<tr class="memdesc:a8225d7ca0ff9762552413cfb1382d78f"><td class="mdescLeft"> </td><td class="mdescRight">Constructor. <br/></td></tr>
+<tr class="separator:a8225d7ca0ff9762552413cfb1382d78f"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a68b94bb09b608522462080fe99125e07"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a68b94bb09b608522462080fe99125e07"></a>
+ </td><td class="memItemRight" valign="bottom"><a class="el" href="a00159.html#a68b94bb09b608522462080fe99125e07">write_once_node</a> (const <a class="el" href="a00159.html">write_once_node</a> &src)</td></tr>
+<tr class="memdesc:a68b94bb09b608522462080fe99125e07"><td class="mdescLeft"> </td><td class="mdescRight">Copy constructor: call base class copy constructor. <br/></td></tr>
+<tr class="separator:a68b94bb09b608522462080fe99125e07"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:afad8a544e45d1cb510c1e532e6bf3578"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afad8a544e45d1cb510c1e532e6bf3578"></a>
+void </td><td class="memItemRight" valign="bottom"><b>set_name</b> (const char *name)</td></tr>
+<tr class="separator:afad8a544e45d1cb510c1e532e6bf3578"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="inherit_header pub_methods_a00086"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00086')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="a00086.html">tbb::flow::interface7::overwrite_node< T ></a></td></tr>
+<tr class="memitem:a8e0fdb38848772d2e8f93f55e062d148 inherit pub_methods_a00086"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8e0fdb38848772d2e8f93f55e062d148"></a>
+ </td><td class="memItemRight" valign="bottom"><b>overwrite_node</b> (<a class="el" href="a00061.html">graph</a> &g)</td></tr>
+<tr class="separator:a8e0fdb38848772d2e8f93f55e062d148 inherit pub_methods_a00086"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a2605cf9efc94c3cba2c59cb5c59e8f19 inherit pub_methods_a00086"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2605cf9efc94c3cba2c59cb5c59e8f19"></a>
+ </td><td class="memItemRight" valign="bottom"><b>overwrite_node</b> (const <a class="el" href="a00086.html">overwrite_node</a> &src)</td></tr>
+<tr class="separator:a2605cf9efc94c3cba2c59cb5c59e8f19 inherit pub_methods_a00086"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aed811ce5f59a555396c7bcd56316b4da inherit pub_methods_a00086"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aed811ce5f59a555396c7bcd56316b4da"></a>
+bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00086.html#aed811ce5f59a555396c7bcd56316b4da">register_successor</a> (<a class="el" href="a00124.html#a7779627063a29d4d2a1fc905a5cae8db">successor_type</a> &s)</td></tr>
+<tr class="memdesc:aed811ce5f59a555396c7bcd56316b4da inherit pub_methods_a00086"><td class="mdescLeft"> </td><td class="mdescRight">Add a new successor to this node. <br/></td></tr>
+<tr class="separator:aed811ce5f59a555396c7bcd56316b4da inherit pub_methods_a00086"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ab5ff89d56e2e3c3848d84a09c88b1d52 inherit pub_methods_a00086"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab5ff89d56e2e3c3848d84a09c88b1d52"></a>
+bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00086.html#ab5ff89d56e2e3c3848d84a09c88b1d52">remove_successor</a> (<a class="el" href="a00124.html#a7779627063a29d4d2a1fc905a5cae8db">successor_type</a> &s)</td></tr>
+<tr class="memdesc:ab5ff89d56e2e3c3848d84a09c88b1d52 inherit pub_methods_a00086"><td class="mdescLeft"> </td><td class="mdescRight">Removes a successor from this node. <br/></td></tr>
+<tr class="separator:ab5ff89d56e2e3c3848d84a09c88b1d52 inherit pub_methods_a00086"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a575642eb611ca4e2012df5604634d341 inherit pub_methods_a00086"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a575642eb611ca4e2012df5604634d341"></a>
+bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00086.html#a575642eb611ca4e2012df5604634d341">try_get</a> (T &v)</td></tr>
+<tr class="memdesc:a575642eb611ca4e2012df5604634d341 inherit pub_methods_a00086"><td class="mdescLeft"> </td><td class="mdescRight">Request an item from the sender. <br/></td></tr>
+<tr class="separator:a575642eb611ca4e2012df5604634d341 inherit pub_methods_a00086"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a3bf01d9c754667474fdb47e47df470a9 inherit pub_methods_a00086"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3bf01d9c754667474fdb47e47df470a9"></a>
+bool </td><td class="memItemRight" valign="bottom"><b>is_valid</b> ()</td></tr>
+<tr class="separator:a3bf01d9c754667474fdb47e47df470a9 inherit pub_methods_a00086"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a4d950320406a8c819882ea50d918678a inherit pub_methods_a00086"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4d950320406a8c819882ea50d918678a"></a>
+void </td><td class="memItemRight" valign="bottom"><b>clear</b> ()</td></tr>
+<tr class="separator:a4d950320406a8c819882ea50d918678a inherit pub_methods_a00086"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="inherit_header pub_methods_a00063"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00063')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a></td></tr>
+<tr class="memitem:a4badd313105e30f539882276353dcb8e inherit pub_methods_a00063"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4badd313105e30f539882276353dcb8e"></a>
+ </td><td class="memItemRight" valign="bottom"><b>graph_node</b> (<a class="el" href="a00061.html">graph</a> &g)</td></tr>
+<tr class="separator:a4badd313105e30f539882276353dcb8e inherit pub_methods_a00063"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="inherit_header pub_methods_a00106"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00106')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="a00106.html">tbb::flow::interface7::receiver< T ></a></td></tr>
+<tr class="memitem:a733889a9053478ef2fb2528e2205bf07 inherit pub_methods_a00106"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a733889a9053478ef2fb2528e2205bf07"></a>
+virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#a733889a9053478ef2fb2528e2205bf07">~receiver</a> ()</td></tr>
+<tr class="memdesc:a733889a9053478ef2fb2528e2205bf07 inherit pub_methods_a00106"><td class="mdescLeft"> </td><td class="mdescRight">Destructor. <br/></td></tr>
+<tr class="separator:a733889a9053478ef2fb2528e2205bf07 inherit pub_methods_a00106"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aee5067bb4f4b71ffa786c1b33cb9aa6a inherit pub_methods_a00106"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aee5067bb4f4b71ffa786c1b33cb9aa6a"></a>
+bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#aee5067bb4f4b71ffa786c1b33cb9aa6a">try_put</a> (const T &t)</td></tr>
+<tr class="memdesc:aee5067bb4f4b71ffa786c1b33cb9aa6a inherit pub_methods_a00106"><td class="mdescLeft"> </td><td class="mdescRight">Put an item to the receiver. <br/></td></tr>
+<tr class="separator:aee5067bb4f4b71ffa786c1b33cb9aa6a inherit pub_methods_a00106"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a16427aa709505de93ffe0d79136e4251 inherit pub_methods_a00106"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a16427aa709505de93ffe0d79136e4251"></a>
+virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#a16427aa709505de93ffe0d79136e4251">register_predecessor</a> (<a class="el" href="a00106.html#afbadf5511bd568d283040cd88bd4e81e">predecessor_type</a> &)</td></tr>
+<tr class="memdesc:a16427aa709505de93ffe0d79136e4251 inherit pub_methods_a00106"><td class="mdescLeft"> </td><td class="mdescRight">Add a predecessor to the node. <br/></td></tr>
+<tr class="separator:a16427aa709505de93ffe0d79136e4251 inherit pub_methods_a00106"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a55adae6228bbdc1539695e1ec20e9762 inherit pub_methods_a00106"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a55adae6228bbdc1539695e1ec20e9762"></a>
+virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html#a55adae6228bbdc1539695e1ec20e9762">remove_predecessor</a> (<a class="el" href="a00106.html#afbadf5511bd568d283040cd88bd4e81e">predecessor_type</a> &)</td></tr>
+<tr class="memdesc:a55adae6228bbdc1539695e1ec20e9762 inherit pub_methods_a00106"><td class="mdescLeft"> </td><td class="mdescRight">Remove a predecessor from the node. <br/></td></tr>
+<tr class="separator:a55adae6228bbdc1539695e1ec20e9762 inherit pub_methods_a00106"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="inherit_header pub_methods_a00124"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00124')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="a00124.html">tbb::flow::interface7::sender< T ></a></td></tr>
+<tr class="memitem:aa1b9dcf77ab558530ff93a706b4c4b5d inherit pub_methods_a00124"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa1b9dcf77ab558530ff93a706b4c4b5d"></a>
+virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00124.html#aa1b9dcf77ab558530ff93a706b4c4b5d">try_reserve</a> (T &)</td></tr>
+<tr class="memdesc:aa1b9dcf77ab558530ff93a706b4c4b5d inherit pub_methods_a00124"><td class="mdescLeft"> </td><td class="mdescRight">Reserves an item in the sender. <br/></td></tr>
+<tr class="separator:aa1b9dcf77ab558530ff93a706b4c4b5d inherit pub_methods_a00124"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a97ac316ddfb6bd7c7f2f56e3e819a30a inherit pub_methods_a00124"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a97ac316ddfb6bd7c7f2f56e3e819a30a"></a>
+virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00124.html#a97ac316ddfb6bd7c7f2f56e3e819a30a">try_release</a> ()</td></tr>
+<tr class="memdesc:a97ac316ddfb6bd7c7f2f56e3e819a30a inherit pub_methods_a00124"><td class="mdescLeft"> </td><td class="mdescRight">Releases the reserved item. <br/></td></tr>
+<tr class="separator:a97ac316ddfb6bd7c7f2f56e3e819a30a inherit pub_methods_a00124"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ad404d5218c7ae2556261ffa880cdf804 inherit pub_methods_a00124"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad404d5218c7ae2556261ffa880cdf804"></a>
+virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00124.html#ad404d5218c7ae2556261ffa880cdf804">try_consume</a> ()</td></tr>
+<tr class="memdesc:ad404d5218c7ae2556261ffa880cdf804 inherit pub_methods_a00124"><td class="mdescLeft"> </td><td class="mdescRight">Consumes the reserved item. <br/></td></tr>
+<tr class="separator:ad404d5218c7ae2556261ffa880cdf804 inherit pub_methods_a00124"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
+Protected Member Functions</h2></td></tr>
+<tr class="memitem:a6f03bc8ba1bc382978ce230c489c93be"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6f03bc8ba1bc382978ce230c489c93be"></a>
+task * </td><td class="memItemRight" valign="bottom"><b>try_put_task</b> (const T &v)</td></tr>
+<tr class="separator:a6f03bc8ba1bc382978ce230c489c93be"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="inherit_header pro_methods_a00086"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_a00086')"><img src="closed.png" alt="-"/> Protected Member Functions inherited from <a class="el" href="a00086.html">tbb::flow::interface7::overwrite_node< T ></a></td></tr>
+<tr class="memitem:a465ce685bc8c468389442a9aaef3f7d0 inherit pro_methods_a00086"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a465ce685bc8c468389442a9aaef3f7d0"></a>
+void </td><td class="memItemRight" valign="bottom"><b>reset</b> ()</td></tr>
+<tr class="separator:a465ce685bc8c468389442a9aaef3f7d0 inherit pro_methods_a00086"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a953be19f0623ad2e5a4e52707cba00da inherit pro_methods_a00086"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a953be19f0623ad2e5a4e52707cba00da"></a>
+void </td><td class="memItemRight" valign="bottom"><b>reset_receiver</b> ()</td></tr>
+<tr class="separator:a953be19f0623ad2e5a4e52707cba00da inherit pro_methods_a00086"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="inherit_header pro_methods_a00106"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_a00106')"><img src="closed.png" alt="-"/> Protected Member Functions inherited from <a class="el" href="a00106.html">tbb::flow::interface7::receiver< T ></a></td></tr>
+<tr class="memitem:ae91eab3e06d4139ac38f143c74fe9eab inherit pro_methods_a00106"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae91eab3e06d4139ac38f143c74fe9eab"></a>
+virtual bool </td><td class="memItemRight" valign="bottom"><b>is_continue_receiver</b> ()</td></tr>
+<tr class="separator:ae91eab3e06d4139ac38f143c74fe9eab inherit pro_methods_a00106"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
+Friends</h2></td></tr>
+<tr class="memitem:abaf9bf74ca5f2854d09f5f07337280eb"><td class="memTemplParams" colspan="2"><a class="anchor" id="abaf9bf74ca5f2854d09f5f07337280eb"></a>
+template<typename R , typename B > </td></tr>
+<tr class="memitem:abaf9bf74ca5f2854d09f5f07337280eb"><td class="memTemplItemLeft" align="right" valign="top">class </td><td class="memTemplItemRight" valign="bottom"><b>run_and_put_task</b></td></tr>
+<tr class="separator:abaf9bf74ca5f2854d09f5f07337280eb"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a1360e38efe396058978cf3754ad620f5"><td class="memTemplParams" colspan="2"><a class="anchor" id="a1360e38efe396058978cf3754ad620f5"></a>
+template<typename X , typename Y > </td></tr>
+<tr class="memitem:a1360e38efe396058978cf3754ad620f5"><td class="memTemplItemLeft" align="right" valign="top">class </td><td class="memTemplItemRight" valign="bottom"><b>internal::broadcast_cache</b></td></tr>
+<tr class="separator:a1360e38efe396058978cf3754ad620f5"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:acbd9ac2610587a99cd7d43344297cc49"><td class="memTemplParams" colspan="2"><a class="anchor" id="acbd9ac2610587a99cd7d43344297cc49"></a>
+template<typename X , typename Y > </td></tr>
+<tr class="memitem:acbd9ac2610587a99cd7d43344297cc49"><td class="memTemplItemLeft" align="right" valign="top">class </td><td class="memTemplItemRight" valign="bottom"><b>internal::round_robin_cache</b></td></tr>
+<tr class="separator:acbd9ac2610587a99cd7d43344297cc49"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
+Additional Inherited Members</h2></td></tr>
+<tr class="inherit_header pro_attribs_a00086"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_a00086')"><img src="closed.png" alt="-"/> Protected Attributes inherited from <a class="el" href="a00086.html">tbb::flow::interface7::overwrite_node< T ></a></td></tr>
+<tr class="memitem:ad8d534d5d059f91b82c4aef9235aa9f6 inherit pro_attribs_a00086"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad8d534d5d059f91b82c4aef9235aa9f6"></a>
+<a class="el" href="a00127.html">spin_mutex</a> </td><td class="memItemRight" valign="bottom"><b>my_mutex</b></td></tr>
+<tr class="separator:ad8d534d5d059f91b82c4aef9235aa9f6 inherit pro_attribs_a00086"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a024db18a1019452d3d715e9913fb2deb inherit pro_attribs_a00086"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a024db18a1019452d3d715e9913fb2deb"></a>
+<a class="el" href="a00024.html">internal::broadcast_cache</a>< T, <br class="typebreak"/>
+<a class="el" href="a00084.html">null_rw_mutex</a> > </td><td class="memItemRight" valign="bottom"><b>my_successors</b></td></tr>
+<tr class="separator:a024db18a1019452d3d715e9913fb2deb inherit pro_attribs_a00086"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a01a061a8c4938ce031017a57935db54b inherit pro_attribs_a00086"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a01a061a8c4938ce031017a57935db54b"></a>
+T </td><td class="memItemRight" valign="bottom"><b>my_buffer</b></td></tr>
+<tr class="separator:a01a061a8c4938ce031017a57935db54b inherit pro_attribs_a00086"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:afbf79aaedd9459ed382823d8d85d0bfc inherit pro_attribs_a00086"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afbf79aaedd9459ed382823d8d85d0bfc"></a>
+bool </td><td class="memItemRight" valign="bottom"><b>my_buffer_is_valid</b></td></tr>
+<tr class="separator:afbf79aaedd9459ed382823d8d85d0bfc inherit pro_attribs_a00086"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="a00179.html">flow_graph.h</a></li>
+</ul>
+</div><!-- contents -->
+<hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00159.png b/doc/html/a00159.png
new file mode 100644
index 0000000..696962a
Binary files /dev/null and b/doc/html/a00159.png differ
diff --git a/doc/html/a00160.html b/doc/html/a00160.html
index 73a6acb..57f7cf6 100644
--- a/doc/html/a00160.html
+++ b/doc/html/a00160.html
@@ -1,30 +1,130 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::zero_allocator< T, Allocator > Class Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<h1>tbb::invalid_multiple_scheduling Member List</h1>This is the complete list of members for <a class="el" href="a00303.html">tbb::invalid_multiple_scheduling</a>, including all inherited members.<p><table>
-  <tr bgcolor="#f0f0f0"><td><b>what</b>() const  (defined in <a class="el" href="a00303.html">tbb::invalid_multiple_scheduling</a>)</td><td><a class="el" href="a00303.html">tbb::invalid_multiple_scheduling</a></td><td></td></tr>
-</table><hr>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00160.html">zero_allocator</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Classes</a> |
+<a href="#pub-types">Public Types</a> |
+<a href="#pub-methods">Public Member Functions</a> |
+<a href="a00293.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::zero_allocator< T, Allocator > Class Template Reference<div class="ingroups"><a class="el" href="a00236.html">Memory Allocation</a></div></div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Meets "allocator" requirements of ISO C++ Standard, Section 20.1.5.  
+ <a href="a00160.html#details">More...</a></p>
+
+<p><code>#include <tbb_allocator.h></code></p>
+<div class="dynheader">
+Inheritance diagram for tbb::zero_allocator< T, Allocator >:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00160.png" usemap="#tbb::zero_allocator< T, Allocator >_map" alt=""/>
+  <map id="tbb::zero_allocator< T, Allocator >_map" name="tbb::zero_allocator< T, Allocator >_map">
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Classes</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00100.html">rebind</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:a62f27899a40c4bfaa6ba4313ffc833ef"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a62f27899a40c4bfaa6ba4313ffc833ef"></a>
+typedef Allocator< T > </td><td class="memItemRight" valign="bottom"><b>base_allocator_type</b></td></tr>
+<tr class="separator:a62f27899a40c4bfaa6ba4313ffc833ef"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a906f5c2d47fff1bf4fd868a2441752d1"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a906f5c2d47fff1bf4fd868a2441752d1"></a>
+typedef <br class="typebreak"/>
+base_allocator_type::value_type </td><td class="memItemRight" valign="bottom"><b>value_type</b></td></tr>
+<tr class="separator:a906f5c2d47fff1bf4fd868a2441752d1"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:afb9458462ffca5d8734968862c9c4e6b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afb9458462ffca5d8734968862c9c4e6b"></a>
+typedef <br class="typebreak"/>
+base_allocator_type::pointer </td><td class="memItemRight" valign="bottom"><b>pointer</b></td></tr>
+<tr class="separator:afb9458462ffca5d8734968862c9c4e6b"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a2a08548bf83e153b40029de72738b60f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2a08548bf83e153b40029de72738b60f"></a>
+typedef <br class="typebreak"/>
+base_allocator_type::const_pointer </td><td class="memItemRight" valign="bottom"><b>const_pointer</b></td></tr>
+<tr class="separator:a2a08548bf83e153b40029de72738b60f"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a0afb88e128fc595c62f24e34f445d834"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0afb88e128fc595c62f24e34f445d834"></a>
+typedef <br class="typebreak"/>
+base_allocator_type::reference </td><td class="memItemRight" valign="bottom"><b>reference</b></td></tr>
+<tr class="separator:a0afb88e128fc595c62f24e34f445d834"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a28180fc12dc69c275983f6400526ba01"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a28180fc12dc69c275983f6400526ba01"></a>
+typedef <br class="typebreak"/>
+base_allocator_type::const_reference </td><td class="memItemRight" valign="bottom"><b>const_reference</b></td></tr>
+<tr class="separator:a28180fc12dc69c275983f6400526ba01"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a8e741b3db82dfdce3f68cfd6d66901ce"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8e741b3db82dfdce3f68cfd6d66901ce"></a>
+typedef <br class="typebreak"/>
+base_allocator_type::size_type </td><td class="memItemRight" valign="bottom"><b>size_type</b></td></tr>
+<tr class="separator:a8e741b3db82dfdce3f68cfd6d66901ce"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aba68dc670e813a0c5c7f06e262b66187"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aba68dc670e813a0c5c7f06e262b66187"></a>
+typedef <br class="typebreak"/>
+base_allocator_type::difference_type </td><td class="memItemRight" valign="bottom"><b>difference_type</b></td></tr>
+<tr class="separator:aba68dc670e813a0c5c7f06e262b66187"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a9080a874dd20d0ca8e404683113990f2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9080a874dd20d0ca8e404683113990f2"></a>
+ </td><td class="memItemRight" valign="bottom"><b>zero_allocator</b> (const <a class="el" href="a00160.html">zero_allocator</a> &a)  throw ()</td></tr>
+<tr class="separator:a9080a874dd20d0ca8e404683113990f2"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ab417c217e597c6f412c5a630ba18bc32"><td class="memTemplParams" colspan="2"><a class="anchor" id="ab417c217e597c6f412c5a630ba18bc32"></a>
+template<typename U > </td></tr>
+<tr class="memitem:ab417c217e597c6f412c5a630ba18bc32"><td class="memTemplItemLeft" align="right" valign="top"> </td><td class="memTemplItemRight" valign="bottom"><b>zero_allocator</b> (const <a class="el" href="a00160.html">zero_allocator</a>< U > &a)  throw ()</td></tr>
+<tr class="separator:ab417c217e597c6f412c5a630ba18bc32"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a1b9fe1273c2332e3c0b571d7bf1ba615"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1b9fe1273c2332e3c0b571d7bf1ba615"></a>
+pointer </td><td class="memItemRight" valign="bottom"><b>allocate</b> (const size_type n, const void *hint=0)</td></tr>
+<tr class="separator:a1b9fe1273c2332e3c0b571d7bf1ba615"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><h3>template<typename T, template< typename X > class Allocator = tbb_allocator><br/>
+class tbb::zero_allocator< T, Allocator ></h3>
+
+<p>Meets "allocator" requirements of ISO C++ Standard, Section 20.1.5. </p>
+<p>The class is an adapter over an actual allocator that fills the allocation using memset function with template argument C as the value. The members are ordered the same way they are in section 20.4.1 of the ISO C++ standard. </p>
+</div><hr/>The documentation for this class was generated from the following file:<ul>
+<li>tbb_allocator.h</li>
+</ul>
+</div><!-- contents -->
+<hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00160.png b/doc/html/a00160.png
new file mode 100644
index 0000000..f03aec2
Binary files /dev/null and b/doc/html/a00160.png differ
diff --git a/doc/html/a00161.html b/doc/html/a00161.html
index 1d82b9c..b0d0bc5 100644
--- a/doc/html/a00161.html
+++ b/doc/html/a00161.html
@@ -1,36 +1,99 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb::zero_allocator< void, Allocator > Class Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<h1>tbb::tbb_exception Member List</h1>This is the complete list of members for <a class="el" href="a00358.html">tbb::tbb_exception</a>, including all inherited members.<p><table>
-  <tr class="memlist"><td><a class="el" href="a00358.html#66c94938eca8bf88b76f3eccaaf215d8">destroy</a>()=0</td><td><a class="el" href="a00358.html">tbb::tbb_exception</a></td><td><code> [pure virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00358.html#3e3482bf264d4ca4dde046cd9c02c766">move</a>()=0</td><td><a class="el" href="a00358.html">tbb::tbb_exception</a></td><td><code> [pure virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00358.html#d00f6497e552fee978a02bfcbebf46e2">name</a>() const =0</td><td><a class="el" href="a00358.html">tbb::tbb_exception</a></td><td><code> [pure virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00358.html#3f2da7f3d8a6e4c1df522af1213afb5a">operator delete</a>(void *p)</td><td><a class="el" href="a00358.html">tbb::tbb_exception</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00358.html#8588e07fa49692f4d734e4f2e4f048f4">throw_self</a>()=0</td><td><a class="el" href="a00358.html">tbb::tbb_exception</a></td><td><code> [pure virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00358.html#e8157689ecb66bc6c72d3618bf3cc371">what</a>() const =0</td><td><a class="el" href="a00358.html">tbb::tbb_exception</a></td><td><code> [pure virtual]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>~tbb_exception</b>() (defined in <a class="el" href="a00358.html">tbb::tbb_exception</a>)</td><td><a class="el" href="a00358.html">tbb::tbb_exception</a></td><td><code> [inline]</code></td></tr>
-</table><hr>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00161.html">zero_allocator< void, Allocator ></a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Classes</a> |
+<a href="#pub-types">Public Types</a> |
+<a href="a00295.html">List of all members</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb::zero_allocator< void, Allocator > Class Template Reference<div class="ingroups"><a class="el" href="a00236.html">Memory Allocation</a></div></div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Analogous to std::allocator<void>, as defined in ISO C++ Standard, Section 20.4.1.  
+ <a href="a00161.html#details">More...</a></p>
+
+<p><code>#include <tbb_allocator.h></code></p>
+<div class="dynheader">
+Inheritance diagram for tbb::zero_allocator< void, Allocator >:</div>
+<div class="dyncontent">
+ <div class="center">
+  <img src="a00161.png" usemap="#tbb::zero_allocator< void, Allocator >_map" alt=""/>
+  <map id="tbb::zero_allocator< void, Allocator >_map" name="tbb::zero_allocator< void, Allocator >_map">
+</map>
+ </div></div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Classes</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00103.html">rebind</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
+Public Types</h2></td></tr>
+<tr class="memitem:ad760fbbdefc95c096c94521316e9e091"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad760fbbdefc95c096c94521316e9e091"></a>
+typedef Allocator< void > </td><td class="memItemRight" valign="bottom"><b>base_allocator_type</b></td></tr>
+<tr class="separator:ad760fbbdefc95c096c94521316e9e091"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a392c9d2f51594e7372e5e73e4bf805ff"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a392c9d2f51594e7372e5e73e4bf805ff"></a>
+typedef <br class="typebreak"/>
+base_allocator_type::value_type </td><td class="memItemRight" valign="bottom"><b>value_type</b></td></tr>
+<tr class="separator:a392c9d2f51594e7372e5e73e4bf805ff"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aa6c02215a540d3f5dd4cb4739bd05bcf"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa6c02215a540d3f5dd4cb4739bd05bcf"></a>
+typedef <br class="typebreak"/>
+base_allocator_type::pointer </td><td class="memItemRight" valign="bottom"><b>pointer</b></td></tr>
+<tr class="separator:aa6c02215a540d3f5dd4cb4739bd05bcf"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a0f2fa4e1a995d60f763595ef4b91dd9a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0f2fa4e1a995d60f763595ef4b91dd9a"></a>
+typedef <br class="typebreak"/>
+base_allocator_type::const_pointer </td><td class="memItemRight" valign="bottom"><b>const_pointer</b></td></tr>
+<tr class="separator:a0f2fa4e1a995d60f763595ef4b91dd9a"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><h3>template<template< typename T > class Allocator><br/>
+class tbb::zero_allocator< void, Allocator ></h3>
+
+<p>Analogous to std::allocator<void>, as defined in ISO C++ Standard, Section 20.4.1. </p>
+</div><hr/>The documentation for this class was generated from the following file:<ul>
+<li>tbb_allocator.h</li>
+</ul>
+</div><!-- contents -->
+<hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00161.png b/doc/html/a00161.png
new file mode 100644
index 0000000..f97e606
Binary files /dev/null and b/doc/html/a00161.png differ
diff --git a/doc/html/a00162.html b/doc/html/a00162.html
deleted file mode 100644
index c760408..0000000
--- a/doc/html/a00162.html
+++ /dev/null
@@ -1,45 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
-  <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<h1>tbb::captured_exception Member List</h1>This is the complete list of members for <a class="el" href="a00278.html">tbb::captured_exception</a>, including all inherited members.<p><table>
-  <tr bgcolor="#f0f0f0"><td><b>captured_exception</b>(const captured_exception &src) (defined in <a class="el" href="a00278.html">tbb::captured_exception</a>)</td><td><a class="el" href="a00278.html">tbb::captured_exception</a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>captured_exception</b>(const char *name_, const char *info) (defined in <a class="el" href="a00278.html">tbb::captured_exception</a>)</td><td><a class="el" href="a00278.html">tbb::captured_exception</a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>clear</b>() (defined in <a class="el" href="a00278.html">tbb::captured_exception</a>)</td><td><a class="el" href="a00278.html">tbb::captured_exception</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00278.html#93d875d3555502ff6f18513525de204c">destroy</a>()</td><td><a class="el" href="a00278.html">tbb::captured_exception</a></td><td><code> [virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00278.html#837a50b8f6a800bda225c39d1699643f">move</a>()</td><td><a class="el" href="a00278.html">tbb::captured_exception</a></td><td><code> [virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00278.html#5af82fd677449c5ca727fa1d7e16f9f5">name</a>() const </td><td><a class="el" href="a00278.html">tbb::captured_exception</a></td><td><code> [virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00358.html#3f2da7f3d8a6e4c1df522af1213afb5a">operator delete</a>(void *p)</td><td><a class="el" href="a00358.html">tbb::tbb_exception</a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>operator=</b>(const captured_exception &src) (defined in <a class="el" href="a00278.html">tbb::captured_exception</a>)</td><td><a class="el" href="a00278.html">tbb::captured_exception</a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>set</b>(const char *name, const char *info) (defined in <a class="el" href="a00278.html">tbb::captured_exception</a>)</td><td><a class="el" href="a00278.html">tbb::captured_exception</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00278.html#2dd1be66ab32fa27e0ddef5707fa67ef">throw_self</a>()</td><td><a class="el" href="a00278.html">tbb::captured_exception</a></td><td><code> [inline, virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00278.html#6b5988ef74a1fe2a58998d110b3633e0">what</a>() const </td><td><a class="el" href="a00278.html">tbb::captured_exception</a></td><td><code> [virtual]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>~captured_exception</b>() (defined in <a class="el" href="a00278.html">tbb::captured_exception</a>)</td><td><a class="el" href="a00278.html">tbb::captured_exception</a></td><td></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>~tbb_exception</b>() (defined in <a class="el" href="a00358.html">tbb::tbb_exception</a>)</td><td><a class="el" href="a00358.html">tbb::tbb_exception</a></td><td><code> [inline]</code></td></tr>
-</table><hr>
-<p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
-<p></p>
-Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
-registered trademarks or trademarks of Intel Corporation or its
-subsidiaries in the United States and other countries.
-<p></p>
-* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00163.html b/doc/html/a00163.html
deleted file mode 100644
index 6993323..0000000
--- a/doc/html/a00163.html
+++ /dev/null
@@ -1,46 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
-  <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<h1>tbb::movable_exception< ExceptionData > Member List</h1>This is the complete list of members for <a class="el" href="a00311.html">tbb::movable_exception< ExceptionData ></a>, including all inherited members.<p><table>
-  <tr bgcolor="#f0f0f0"><td><b>data</b>() (defined in <a class="el" href="a00311.html">tbb::movable_exception< ExceptionData ></a>)</td><td><a class="el" href="a00311.html">tbb::movable_exception< ExceptionData ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>data</b>() const  (defined in <a class="el" href="a00311.html">tbb::movable_exception< ExceptionData ></a>)</td><td><a class="el" href="a00311.html">tbb::movable_exception< ExceptionData ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00311.html#7a46873119d9f85a7b0009c13e41a258">destroy</a>()</td><td><a class="el" href="a00311.html">tbb::movable_exception< ExceptionData ></a></td><td><code> [inline, virtual]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>movable_exception</b>(const ExceptionData &data_) (defined in <a class="el" href="a00311.html">tbb::movable_exception< ExceptionData ></a>)</td><td><a class="el" href="a00311.html">tbb::movable_exception< ExceptionData ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>movable_exception</b>(const movable_exception &src) (defined in <a class="el" href="a00311.html">tbb::movable_exception< ExceptionData ></a>)</td><td><a class="el" href="a00311.html">tbb::movable_exception< ExceptionData ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00311.html#1aea0ad179d6f0481fe7f3495f66adf9">move</a>()</td><td><a class="el" href="a00311.html">tbb::movable_exception< ExceptionData ></a></td><td><code> [inline, virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00311.html#a8c0ae2089ae784b28907cf748b89416">my_exception_data</a></td><td><a class="el" href="a00311.html">tbb::movable_exception< ExceptionData ></a></td><td><code> [protected]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00311.html#bc5f5c4739b17ac5211ac58226c2f5a5">name</a>() const </td><td><a class="el" href="a00311.html">tbb::movable_exception< ExceptionData ></a></td><td><code> [inline, virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00358.html#3f2da7f3d8a6e4c1df522af1213afb5a">operator delete</a>(void *p)</td><td><a class="el" href="a00358.html">tbb::tbb_exception</a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>operator=</b>(const movable_exception &src) (defined in <a class="el" href="a00311.html">tbb::movable_exception< ExceptionData ></a>)</td><td><a class="el" href="a00311.html">tbb::movable_exception< ExceptionData ></a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00311.html#17cffba35811c92b7e65d63506b69602">throw_self</a>()</td><td><a class="el" href="a00311.html">tbb::movable_exception< ExceptionData ></a></td><td><code> [inline, virtual]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00311.html#b33a89bccf0c63106f1270c7bfaaf54f">what</a>() const </td><td><a class="el" href="a00311.html">tbb::movable_exception< ExceptionData ></a></td><td><code> [inline, virtual]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>~movable_exception</b>() (defined in <a class="el" href="a00311.html">tbb::movable_exception< ExceptionData ></a>)</td><td><a class="el" href="a00311.html">tbb::movable_exception< ExceptionData ></a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>~tbb_exception</b>() (defined in <a class="el" href="a00358.html">tbb::tbb_exception</a>)</td><td><a class="el" href="a00358.html">tbb::tbb_exception</a></td><td><code> [inline]</code></td></tr>
-</table><hr>
-<p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
-<p></p>
-Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
-registered trademarks or trademarks of Intel Corporation or its
-subsidiaries in the United States and other countries.
-<p></p>
-* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00164.html b/doc/html/a00164.html
deleted file mode 100644
index d243320..0000000
--- a/doc/html/a00164.html
+++ /dev/null
@@ -1,37 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
-  <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<h1>tbb::internal::tbb_exception_ptr Member List</h1>This is the complete list of members for <a class="el" href="a00359.html">tbb::internal::tbb_exception_ptr</a>, including all inherited members.<p><table>
-  <tr bgcolor="#f0f0f0"><td><b>allocate</b>() (defined in <a class="el" href="a00359.html">tbb::internal::tbb_exception_ptr</a>)</td><td><a class="el" href="a00359.html">tbb::internal::tbb_exception_ptr</a></td><td><code> [static]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>allocate</b>(const tbb_exception &tag) (defined in <a class="el" href="a00359.html">tbb::internal::tbb_exception_ptr</a>)</td><td><a class="el" href="a00359.html">tbb::internal::tbb_exception_ptr</a></td><td><code> [static]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00359.html#c35e5db8e9cdff5d1387db5b0bad2e4a">allocate</a>(captured_exception &src)</td><td><a class="el" href="a00359.html">tbb::internal::tbb_exception_ptr</a></td><td><code> [static]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00359.html#921875bbacd2c8a5f324c7da7a415262">destroy</a>()</td><td><a class="el" href="a00359.html">tbb::internal::tbb_exception_ptr</a></td><td></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00359.html#292832fd5c523e3d8081a22247840a1d">throw_self</a>()</td><td><a class="el" href="a00359.html">tbb::internal::tbb_exception_ptr</a></td><td><code> [inline]</code></td></tr>
-</table><hr>
-<p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
-<p></p>
-Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
-registered trademarks or trademarks of Intel Corporation or its
-subsidiaries in the United States and other countries.
-<p></p>
-* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00169.html b/doc/html/a00169.html
deleted file mode 100644
index 2ca47d4..0000000
--- a/doc/html/a00169.html
+++ /dev/null
@@ -1,37 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
-  <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<h1>tbb::internal::atomic_backoff Member List</h1>This is the complete list of members for <a class="el" href="a00268.html">tbb::internal::atomic_backoff</a>, including all inherited members.<p><table>
-  <tr bgcolor="#f0f0f0"><td><b>atomic_backoff</b>() (defined in <a class="el" href="a00268.html">tbb::internal::atomic_backoff</a>)</td><td><a class="el" href="a00268.html">tbb::internal::atomic_backoff</a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>atomic_backoff</b>(bool) (defined in <a class="el" href="a00268.html">tbb::internal::atomic_backoff</a>)</td><td><a class="el" href="a00268.html">tbb::internal::atomic_backoff</a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>bounded_pause</b>() (defined in <a class="el" href="a00268.html">tbb::internal::atomic_backoff</a>)</td><td><a class="el" href="a00268.html">tbb::internal::atomic_backoff</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00268.html#a174ea93e3bd3d5cce82389c2f28d037">pause</a>()</td><td><a class="el" href="a00268.html">tbb::internal::atomic_backoff</a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>reset</b>() (defined in <a class="el" href="a00268.html">tbb::internal::atomic_backoff</a>)</td><td><a class="el" href="a00268.html">tbb::internal::atomic_backoff</a></td><td><code> [inline]</code></td></tr>
-</table><hr>
-<p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
-<p></p>
-Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
-registered trademarks or trademarks of Intel Corporation or its
-subsidiaries in the United States and other countries.
-<p></p>
-* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00173.html b/doc/html/a00173.html
deleted file mode 100644
index 4372e5d..0000000
--- a/doc/html/a00173.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
-  <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<h1>tbb::internal::machine_load_store_seq_cst< T, 8 > Member List</h1>This is the complete list of members for <a class="el" href="a00306.html">tbb::internal::machine_load_store_seq_cst< T, 8 ></a>, including all inherited members.<p><table>
-  <tr bgcolor="#f0f0f0"><td><b>load</b>(const volatile T &location) (defined in <a class="el" href="a00306.html">tbb::internal::machine_load_store_seq_cst< T, 8 ></a>)</td><td><a class="el" href="a00306.html">tbb::internal::machine_load_store_seq_cst< T, 8 ></a></td><td><code> [inline, static]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>store</b>(volatile T &location, T value) (defined in <a class="el" href="a00306.html">tbb::internal::machine_load_store_seq_cst< T, 8 ></a>)</td><td><a class="el" href="a00306.html">tbb::internal::machine_load_store_seq_cst< T, 8 ></a></td><td><code> [inline, static]</code></td></tr>
-</table><hr>
-<p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
-<p></p>
-Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
-registered trademarks or trademarks of Intel Corporation or its
-subsidiaries in the United States and other countries.
-<p></p>
-* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00174.html b/doc/html/a00174.html
deleted file mode 100644
index ba3eb5f..0000000
--- a/doc/html/a00174.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
-  <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<h1>tbb::internal::machine_load_store_relaxed< T, S > Member List</h1>This is the complete list of members for <a class="el" href="a00305.html">tbb::internal::machine_load_store_relaxed< T, S ></a>, including all inherited members.<p><table>
-  <tr bgcolor="#f0f0f0"><td><b>load</b>(const volatile T &location) (defined in <a class="el" href="a00305.html">tbb::internal::machine_load_store_relaxed< T, S ></a>)</td><td><a class="el" href="a00305.html">tbb::internal::machine_load_store_relaxed< T, S ></a></td><td><code> [inline, static]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>store</b>(volatile T &location, T value) (defined in <a class="el" href="a00305.html">tbb::internal::machine_load_store_relaxed< T, S ></a>)</td><td><a class="el" href="a00305.html">tbb::internal::machine_load_store_relaxed< T, S ></a></td><td><code> [inline, static]</code></td></tr>
-</table><hr>
-<p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
-<p></p>
-Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
-registered trademarks or trademarks of Intel Corporation or its
-subsidiaries in the United States and other countries.
-<p></p>
-* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00179.html b/doc/html/a00179.html
new file mode 100644
index 0000000..ee88809
--- /dev/null
+++ b/doc/html/a00179.html
@@ -0,0 +1,207 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>flow_graph.h File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File List</span></a></li>
+      <li><a href="globals.html"><span>File Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_525f2cc589630bacbdc3bb450847427e.html">tbb</a></li><li class="navelem"><a class="el" href="dir_b9976680b2be72d2d0b8fca1c31202a2.html">1.0</a></li><li class="navelem"><a class="el" href="dir_63fb2cc293d133785b96e521fa051167.html">include</a></li><li class="navelem"><a class="el" href="dir_87119f26c7695cbc270003e99bc7f49f.html">tbb</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Classes</a> |
+<a href="#namespaces">Namespaces</a> |
+<a href="#namespaces">Constant Groups</a> |
+<a href="#enum-members">Enumerations</a> |
+<a href="#func-members">Functions</a> |
+<a href="#var-members">Variables</a>  </div>
+  <div class="headertitle">
+<div class="title">flow_graph.h File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>The graph related classes and functions.  
+<a href="#details">More...</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Classes</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00134.html">tbb::flow::interface7::internal::successor_cache< T, M ></a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00024.html">tbb::flow::interface7::internal::broadcast_cache< T, M ></a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00108.html">tbb::flow::interface7::internal::round_robin_cache< T, M ></a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00048.html">tbb::flow::interface7::continue_msg</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">An empty class used for messages that mean "I'm done".  <a href="a00048.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00124.html">tbb::flow::interface7::sender< T ></a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Pure virtual template class that defines a sender of messages of type T.  <a href="a00124.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html">tbb::flow::interface7::receiver< T ></a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Pure virtual template class that defines a receiver of messages of type T.  <a href="a00106.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00124.html">tbb::flow::interface7::sender< T ></a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Pure virtual template class that defines a sender of messages of type T.  <a href="a00124.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00072.html">tbb::flow::interface7::limiter_node< T ></a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Forwards messages only if the threshold has not been reached.  <a href="a00072.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00109.html">tbb::flow::interface7::run_and_put_task< R, B ></a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00106.html">tbb::flow::interface7::receiver< T ></a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Pure virtual template class that defines a receiver of messages of type T.  <a href="a00106.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00050.html">tbb::flow::interface7::continue_receiver</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Base class for receivers of completion messages.  <a href="a00050.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00062.html">tbb::flow::interface7::graph_iterator< GraphContainerType, GraphNodeType ></a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00061.html">tbb::flow::interface7::graph</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">The graph class.  <a href="a00061.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">The base of all graph nodes.  <a href="a00063.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00126.html">tbb::flow::interface7::source_node< Output ></a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">An executable node that acts as a source, i.e. it has no predecessors.  <a href="a00126.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00059.html">tbb::flow::interface7::function_node< Input, Output, graph_buffer_policy, Allocator ></a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Implements a function node that supports Input -> Output.  <a href="a00059.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00060.html">tbb::flow::interface7::function_node< Input, Output, queueing, Allocator ></a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Implements a function node that supports Input -> Output.  <a href="a00060.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00079.html">tbb::flow::interface7::multifunction_node< Input, Output, graph_buffer_policy, Allocator ></a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">implements a function node that supports Input -> (set of outputs)  <a href="a00079.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00080.html">tbb::flow::interface7::multifunction_node< Input, Output, queueing, Allocator ></a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00130.html">tbb::flow::interface7::split_node< TupleType, Allocator ></a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="a00130.html" title="split_node: accepts a tuple as input, forwards each element of the tuple to its ">split_node</a>: accepts a tuple as input, forwards each element of the tuple to its  <a href="a00130.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00049.html">tbb::flow::interface7::continue_node< Output ></a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Implements an executable node that supports <a class="el" href="a00048.html" title="An empty class used for messages that mean "I'm done". ">continue_msg</a> -> Output.  <a href="a00049.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00086.html">tbb::flow::interface7::overwrite_node< T ></a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00159.html">tbb::flow::interface7::write_once_node< T ></a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00025.html">tbb::flow::interface7::broadcast_node< T ></a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Forwards messages of type T to all successors.  <a href="a00025.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Forwards messages in arbitrary order.  <a href="a00027.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00028.html">tbb::flow::interface7::buffer_node< T, A >::buffer_operation</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00092.html">tbb::flow::interface7::queue_node< T, A ></a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Forwards messages in FIFO order.  <a href="a00092.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00125.html">tbb::flow::interface7::sequencer_node< T, A ></a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Forwards messages in sequence order.  <a href="a00125.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00091.html">tbb::flow::interface7::priority_queue_node< T, Compare, A ></a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Forwards messages in priority order.  <a href="a00091.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00072.html">tbb::flow::interface7::limiter_node< T ></a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Forwards messages only if the threshold has not been reached.  <a href="a00072.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00068.html">tbb::flow::interface7::join_node< OutputTuple, JP ></a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00070.html">tbb::flow::interface7::join_node< OutputTuple, reserving ></a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00069.html">tbb::flow::interface7::join_node< OutputTuple, queueing ></a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00071.html">tbb::flow::interface7::join_node< OutputTuple, tag_matching ></a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00085.html">tbb::flow::interface7::or_node< InputTuple ></a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
+Namespaces</h2></td></tr>
+<tr class="memitem:a00222"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00222.html">tbb</a></td></tr>
+<tr class="memdesc:a00222"><td class="mdescLeft"> </td><td class="mdescRight">The namespace tbb contains all components of the library. <br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
+Constant Groups</h2></td></tr>
+<tr class="memitem:a00222"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00222.html">tbb</a></td></tr>
+<tr class="memdesc:a00222"><td class="mdescLeft"> </td><td class="mdescRight">The namespace tbb contains all components of the library. <br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
+Enumerations</h2></td></tr>
+<tr class="memitem:a7bec4a3445fea3cd5974119730dea98f"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><b>concurrency</b> { <b>unlimited</b> = 0, 
+<b>serial</b> = 1
+ }</td></tr>
+<tr class="memdesc:a7bec4a3445fea3cd5974119730dea98f"><td class="mdescLeft"> </td><td class="mdescRight">An enumeration the provides the two most common concurrency levels: unlimited and serial. <br/></td></tr>
+<tr class="separator:a7bec4a3445fea3cd5974119730dea98f"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:aba7c4b74c28d9c7afcfa7b3b7f92c4a2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aba7c4b74c28d9c7afcfa7b3b7f92c4a2"></a>
+static tbb::task * </td><td class="memItemRight" valign="bottom"><b>tbb::flow::interface7::combine_tasks</b> (tbb::task *left, tbb::task *right)</td></tr>
+<tr class="separator:aba7c4b74c28d9c7afcfa7b3b7f92c4a2"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ab8165a6d22fd39f043aaf5ebe60a1ee7"><td class="memTemplParams" colspan="2"><a class="anchor" id="ab8165a6d22fd39f043aaf5ebe60a1ee7"></a>
+template<typename T > </td></tr>
+<tr class="memitem:ab8165a6d22fd39f043aaf5ebe60a1ee7"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><b>tbb::flow::interface7::make_edge</b> (sender< T > &p, receiver< T > &s)</td></tr>
+<tr class="memdesc:ab8165a6d22fd39f043aaf5ebe60a1ee7"><td class="mdescLeft"> </td><td class="mdescRight">Makes an edge between a single predecessor and a single successor. <br/></td></tr>
+<tr class="separator:ab8165a6d22fd39f043aaf5ebe60a1ee7"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a604efbfc6e5a5889bd73b7a0924b3675"><td class="memTemplParams" colspan="2"><a class="anchor" id="a604efbfc6e5a5889bd73b7a0924b3675"></a>
+template<typename T > </td></tr>
+<tr class="memitem:a604efbfc6e5a5889bd73b7a0924b3675"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><b>tbb::flow::interface7::remove_edge</b> (sender< T > &p, receiver< T > &s)</td></tr>
+<tr class="memdesc:a604efbfc6e5a5889bd73b7a0924b3675"><td class="mdescLeft"> </td><td class="mdescRight">Makes an edge between a single predecessor and a single successor. <br/></td></tr>
+<tr class="separator:a604efbfc6e5a5889bd73b7a0924b3675"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:afcbf2abcb561437eba15eda6df743420"><td class="memTemplParams" colspan="2"><a class="anchor" id="afcbf2abcb561437eba15eda6df743420"></a>
+template<typename Body , typename Node > </td></tr>
+<tr class="memitem:afcbf2abcb561437eba15eda6df743420"><td class="memTemplItemLeft" align="right" valign="top">Body </td><td class="memTemplItemRight" valign="bottom"><b>tbb::flow::interface7::copy_body</b> (Node &n)</td></tr>
+<tr class="memdesc:afcbf2abcb561437eba15eda6df743420"><td class="mdescLeft"> </td><td class="mdescRight">Returns a copy of the body from a function or continue node. <br/></td></tr>
+<tr class="separator:afcbf2abcb561437eba15eda6df743420"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
+Variables</h2></td></tr>
+<tr class="memitem:ad438065c0420375007de860eb0bcd037"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad438065c0420375007de860eb0bcd037"></a>
+static tbb::task *const </td><td class="memItemRight" valign="bottom"><b>tbb::flow::interface7::SUCCESSFULLY_ENQUEUED</b> = (task *)-1</td></tr>
+<tr class="separator:ad438065c0420375007de860eb0bcd037"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>The graph related classes and functions. </p>
+<p>There are some applications that best express dependencies as messages passed between nodes in a graph. These messages may contain data or simply act as signals that a predecessors has completed. The graph class and its associated node classes can be used to express such applcations. </p>
+</div></div><!-- contents -->
+<hr>
+<p></p>
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
+<p></p>
+Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
+registered trademarks or trademarks of Intel Corporation or its
+subsidiaries in the United States and other countries.
+<p></p>
+* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00180.html b/doc/html/a00180.html
new file mode 100644
index 0000000..efd8e4d
--- /dev/null
+++ b/doc/html/a00180.html
@@ -0,0 +1,99 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>memory_pool.h File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File List</span></a></li>
+      <li><a href="globals.html"><span>File Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_525f2cc589630bacbdc3bb450847427e.html">tbb</a></li><li class="navelem"><a class="el" href="dir_b9976680b2be72d2d0b8fca1c31202a2.html">1.0</a></li><li class="navelem"><a class="el" href="dir_63fb2cc293d133785b96e521fa051167.html">include</a></li><li class="navelem"><a class="el" href="dir_87119f26c7695cbc270003e99bc7f49f.html">tbb</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Classes</a> |
+<a href="#namespaces">Namespaces</a> |
+<a href="#namespaces">Constant Groups</a> |
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">memory_pool.h File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Classes</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00074.html">tbb::interface6::memory_pool_allocator< T, P ></a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Meets "allocator" requirements of ISO C++ Standard, Section 20.1.5.  <a href="a00074.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00101.html">tbb::interface6::memory_pool_allocator< T, P >::rebind< U ></a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00075.html">tbb::interface6::memory_pool_allocator< void, P ></a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Analogous to std::allocator<void>, as defined in ISO C++ Standard, Section 20.4.1.  <a href="a00075.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00102.html">tbb::interface6::memory_pool_allocator< void, P >::rebind< U ></a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00073.html">tbb::interface6::memory_pool< Alloc ></a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Thread-safe growable pool allocator for variable-size requests.  <a href="a00073.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00056.html">tbb::interface6::fixed_pool</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
+Namespaces</h2></td></tr>
+<tr class="memitem:a00222"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00222.html">tbb</a></td></tr>
+<tr class="memdesc:a00222"><td class="mdescLeft"> </td><td class="mdescRight">The namespace tbb contains all components of the library. <br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
+Constant Groups</h2></td></tr>
+<tr class="memitem:a00222"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00222.html">tbb</a></td></tr>
+<tr class="memdesc:a00222"><td class="mdescLeft"> </td><td class="mdescRight">The namespace tbb contains all components of the library. <br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:a21dc513d4407872bb3b257870c6d77b2"><td class="memTemplParams" colspan="2"><a class="anchor" id="a21dc513d4407872bb3b257870c6d77b2"></a>
+template<typename T , typename U , typename P > </td></tr>
+<tr class="memitem:a21dc513d4407872bb3b257870c6d77b2"><td class="memTemplItemLeft" align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><b>tbb::interface6::operator==</b> (const memory_pool_allocator< T, P > &a, const memory_pool_allocator< U, P > &b)</td></tr>
+<tr class="separator:a21dc513d4407872bb3b257870c6d77b2"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aed6a6d87d04444c2619b6f0136ab0702"><td class="memTemplParams" colspan="2"><a class="anchor" id="aed6a6d87d04444c2619b6f0136ab0702"></a>
+template<typename T , typename U , typename P > </td></tr>
+<tr class="memitem:aed6a6d87d04444c2619b6f0136ab0702"><td class="memTemplItemLeft" align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><b>tbb::interface6::operator!=</b> (const memory_pool_allocator< T, P > &a, const memory_pool_allocator< U, P > &b)</td></tr>
+<tr class="separator:aed6a6d87d04444c2619b6f0136ab0702"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+</div><!-- contents -->
+<hr>
+<p></p>
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
+<p></p>
+Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
+registered trademarks or trademarks of Intel Corporation or its
+subsidiaries in the United States and other countries.
+<p></p>
+* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00183.html b/doc/html/a00183.html
deleted file mode 100644
index 5a1562b..0000000
--- a/doc/html/a00183.html
+++ /dev/null
@@ -1,33 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
-  <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<h1>tbb::internal::work_around_alignment_bug< Size, T > Member List</h1>This is the complete list of members for <a class="el" href="a00365.html">tbb::internal::work_around_alignment_bug< Size, T ></a>, including all inherited members.<p><table>
-  <tr bgcolor="#f0f0f0"><td><b>alignment</b> (defined in <a class="el" href="a00365.html">tbb::internal::work_around_alignment_bug< Size, T ></a>)</td><td><a class="el" href="a00365.html">tbb::internal::work_around_alignment_bug< Size, T ></a></td><td><code> [static]</code></td></tr>
-</table><hr>
-<p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
-<p></p>
-Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
-registered trademarks or trademarks of Intel Corporation or its
-subsidiaries in the United States and other countries.
-<p></p>
-* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00188.html b/doc/html/a00188.html
deleted file mode 100644
index e9e10fe..0000000
--- a/doc/html/a00188.html
+++ /dev/null
@@ -1,36 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
-  <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<h1>tbb::tick_count Member List</h1>This is the complete list of members for <a class="el" href="a00362.html">tbb::tick_count</a>, including all inherited members.<p><table>
-  <tr class="memlist"><td><a class="el" href="a00362.html#fb7f78ca61cf28398645ace66e284473">now</a>()</td><td><a class="el" href="a00362.html">tbb::tick_count</a></td><td><code> [inline, static]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00362.html#09dde78a4100800c11bb883d6204b586">operator-</a>(const tick_count &t1, const tick_count &t0)</td><td><a class="el" href="a00362.html">tbb::tick_count</a></td><td><code> [friend]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00362.html#8aaa5ac47975a1b0fa3e95752281159e">resolution</a>()</td><td><a class="el" href="a00362.html">tbb::tick_count</a></td><td><code> [inline, static]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00362.html#34593326ae4191e02a13c7cbdab9de4c">tick_count</a>()</td><td><a class="el" href="a00362.html">tbb::tick_count</a></td><td><code> [inline]</code></td></tr>
-</table><hr>
-<p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
-<p></p>
-Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
-registered trademarks or trademarks of Intel Corporation or its
-subsidiaries in the United States and other countries.
-<p></p>
-* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00189.html b/doc/html/a00189.html
deleted file mode 100644
index 74e4f6a..0000000
--- a/doc/html/a00189.html
+++ /dev/null
@@ -1,41 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
-  <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<h1>tbb::tick_count::interval_t Member List</h1>This is the complete list of members for <a class="el" href="a00363.html">tbb::tick_count::interval_t</a>, including all inherited members.<p><table>
-  <tr class="memlist"><td><a class="el" href="a00363.html#75a9a0949f8a8a84d6758835f1b48dad">interval_t</a>()</td><td><a class="el" href="a00363.html">tbb::tick_count::interval_t</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00363.html#1a21a428e00cced2e6a49e0f5f2258bf">interval_t</a>(double sec)</td><td><a class="el" href="a00363.html">tbb::tick_count::interval_t</a></td><td><code> [inline, explicit]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00363.html#5871ead1ca230efbe52a5008470e6428">operator+</a>(const interval_t &i, const interval_t &j)</td><td><a class="el" href="a00363.html">tbb::tick_count::interval_t</a></td><td><code> [friend]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00363.html#cd9814947902e26463a69a111530f81b">operator+=</a>(const interval_t &i)</td><td><a class="el" href="a00363.html">tbb::tick_count::interval_t</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00363.html#09dde78a4100800c11bb883d6204b586">operator-</a>(const tick_count &t1, const tick_count &t0)</td><td><a class="el" href="a00363.html">tbb::tick_count::interval_t</a></td><td><code> [friend]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00363.html#fa509691e1d689830931e36edd274f76">operator-</a>(const interval_t &i, const interval_t &j)</td><td><a class="el" href="a00363.html">tbb::tick_count::interval_t</a></td><td><code> [friend]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00363.html#35ff7eaf7c2031b4a991402ac9ecb940">operator-=</a>(const interval_t &i)</td><td><a class="el" href="a00363.html">tbb::tick_count::interval_t</a></td><td><code> [inline]</code></td></tr>
-  <tr class="memlist"><td><a class="el" href="a00363.html#d5d8429c0bc59cf6131b2abc7929fa59">seconds</a>() const </td><td><a class="el" href="a00363.html">tbb::tick_count::interval_t</a></td><td><code> [inline]</code></td></tr>
-  <tr bgcolor="#f0f0f0"><td><b>tbb::tick_count</b> (defined in <a class="el" href="a00363.html">tbb::tick_count::interval_t</a>)</td><td><a class="el" href="a00363.html">tbb::tick_count::interval_t</a></td><td><code> [friend]</code></td></tr>
-</table><hr>
-<p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
-<p></p>
-Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
-registered trademarks or trademarks of Intel Corporation or its
-subsidiaries in the United States and other countries.
-<p></p>
-* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00199.html b/doc/html/a00199.html
new file mode 100644
index 0000000..9c3a40d
--- /dev/null
+++ b/doc/html/a00199.html
@@ -0,0 +1,191 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>scalable_allocator.h File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File List</span></a></li>
+      <li><a href="globals.html"><span>File Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_525f2cc589630bacbdc3bb450847427e.html">tbb</a></li><li class="navelem"><a class="el" href="dir_b9976680b2be72d2d0b8fca1c31202a2.html">1.0</a></li><li class="navelem"><a class="el" href="dir_63fb2cc293d133785b96e521fa051167.html">include</a></li><li class="navelem"><a class="el" href="dir_87119f26c7695cbc270003e99bc7f49f.html">tbb</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Classes</a> |
+<a href="#namespaces">Namespaces</a> |
+<a href="#namespaces">Constant Groups</a> |
+<a href="#typedef-members">Typedefs</a> |
+<a href="#enum-members">Enumerations</a> |
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">scalable_allocator.h File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Classes</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00076.html">rml::MemPoolPolicy</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00111.html">tbb::scalable_allocator< T ></a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Meets "allocator" requirements of ISO C++ Standard, Section 20.1.5.  <a href="a00111.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00105.html">tbb::scalable_allocator< T >::rebind< U ></a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00112.html">tbb::scalable_allocator< void ></a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Analogous to std::allocator<void>, as defined in ISO C++ Standard, Section 20.4.1.  <a href="a00112.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00097.html">tbb::scalable_allocator< void >::rebind< U ></a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
+Namespaces</h2></td></tr>
+<tr class="memitem:a00219"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00219.html">rml</a></td></tr>
+<tr class="memdesc:a00219"><td class="mdescLeft"> </td><td class="mdescRight">The namespace rml contains components of low-level memory pool interface. <br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a00222"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00222.html">tbb</a></td></tr>
+<tr class="memdesc:a00222"><td class="mdescLeft"> </td><td class="mdescRight">The namespace tbb contains all components of the library. <br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
+Constant Groups</h2></td></tr>
+<tr class="memitem:a00219"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00219.html">rml</a></td></tr>
+<tr class="memdesc:a00219"><td class="mdescLeft"> </td><td class="mdescRight">The namespace rml contains components of low-level memory pool interface. <br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a00222"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00222.html">tbb</a></td></tr>
+<tr class="memdesc:a00222"><td class="mdescLeft"> </td><td class="mdescRight">The namespace tbb contains all components of the library. <br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
+Typedefs</h2></td></tr>
+<tr class="memitem:ae13d09a0a00d9cae537655207c8560a2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae13d09a0a00d9cae537655207c8560a2"></a>
+typedef void *(* </td><td class="memItemRight" valign="bottom"><b>rml::rawAllocType</b> )(intptr_t pool_id, size_t &bytes)</td></tr>
+<tr class="separator:ae13d09a0a00d9cae537655207c8560a2"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a44f982f3478d462e81a1300dd516cb8e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a44f982f3478d462e81a1300dd516cb8e"></a>
+typedef int(* </td><td class="memItemRight" valign="bottom"><b>rml::rawFreeType</b> )(intptr_t pool_id, void *raw_ptr, size_t raw_bytes)</td></tr>
+<tr class="separator:a44f982f3478d462e81a1300dd516cb8e"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
+Enumerations</h2></td></tr>
+<tr class="memitem:abd5aafe33a307bbbe334f0049e625cd1"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><b>ScalableAllocationResult</b> { <br/>
+  <b>TBBMALLOC_OK</b>, 
+<b>TBBMALLOC_INVALID_PARAM</b>, 
+<b>TBBMALLOC_UNSUPPORTED</b>, 
+<b>TBBMALLOC_NO_MEMORY</b>, 
+<br/>
+  <b>TBBMALLOC_NO_EFFECT</b>
+<br/>
+ }</td></tr>
+<tr class="separator:abd5aafe33a307bbbe334f0049e625cd1"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a75085058c147f85d8897858363b6e99c"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><b>AllocationModeParam</b> { <b>TBBMALLOC_USE_HUGE_PAGES</b>, 
+<b>USE_HUGE_PAGES</b> = TBBMALLOC_USE_HUGE_PAGES, 
+<b>TBBMALLOC_SET_SOFT_HEAP_LIMIT</b>
+ }</td></tr>
+<tr class="separator:a75085058c147f85d8897858363b6e99c"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a57dd71201713941030ef626baa8fa0eb"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><b>ScalableAllocationCmd</b> { <b>TBBMALLOC_CLEAN_ALL_BUFFERS</b>, 
+<b>TBBMALLOC_CLEAN_THREAD_BUFFERS</b>
+ }</td></tr>
+<tr class="separator:a57dd71201713941030ef626baa8fa0eb"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a09eea006328e62aac7cbbbd9a3fb7958"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><b>MemPoolError</b> { <br/>
+  <b>POOL_OK</b> = TBBMALLOC_OK, 
+<b>INVALID_POLICY</b> = TBBMALLOC_INVALID_PARAM, 
+<b>UNSUPPORTED_POLICY</b> = TBBMALLOC_UNSUPPORTED, 
+<b>NO_MEMORY</b> = TBBMALLOC_NO_MEMORY, 
+<br/>
+  <b>NO_EFFECT</b> = TBBMALLOC_NO_EFFECT
+<br/>
+ }</td></tr>
+<tr class="separator:a09eea006328e62aac7cbbbd9a3fb7958"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:ga2a5bdc71439a70b20f2eadf6e1a489e1"><td class="memItemLeft" align="right" valign="top">void *__TBB_EXPORTED_FUNC </td><td class="memItemRight" valign="bottom"><a class="el" href="a00236.html#ga2a5bdc71439a70b20f2eadf6e1a489e1">scalable_malloc</a> (size_t size)</td></tr>
+<tr class="separator:ga2a5bdc71439a70b20f2eadf6e1a489e1"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ga2ad3952b8c4dd7d293e02ae18fc37b84"><td class="memItemLeft" align="right" valign="top">void __TBB_EXPORTED_FUNC </td><td class="memItemRight" valign="bottom"><a class="el" href="a00236.html#ga2ad3952b8c4dd7d293e02ae18fc37b84">scalable_free</a> (void *ptr)</td></tr>
+<tr class="separator:ga2ad3952b8c4dd7d293e02ae18fc37b84"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ga40d6e0bc19cdfa3005b2b935c62077a1"><td class="memItemLeft" align="right" valign="top">void *__TBB_EXPORTED_FUNC </td><td class="memItemRight" valign="bottom"><a class="el" href="a00236.html#ga40d6e0bc19cdfa3005b2b935c62077a1">scalable_realloc</a> (void *ptr, size_t size)</td></tr>
+<tr class="separator:ga40d6e0bc19cdfa3005b2b935c62077a1"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ga3b4ff39555cd9e929fce2958325cd8ea"><td class="memItemLeft" align="right" valign="top">void *__TBB_EXPORTED_FUNC </td><td class="memItemRight" valign="bottom"><a class="el" href="a00236.html#ga3b4ff39555cd9e929fce2958325cd8ea">scalable_calloc</a> (size_t nobj, size_t size)</td></tr>
+<tr class="separator:ga3b4ff39555cd9e929fce2958325cd8ea"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:gaf117b4994f719d539804da8dd115e28c"><td class="memItemLeft" align="right" valign="top">int __TBB_EXPORTED_FUNC </td><td class="memItemRight" valign="bottom"><a class="el" href="a00236.html#gaf117b4994f719d539804da8dd115e28c">scalable_posix_memalign</a> (void **memptr, size_t alignment, size_t size)</td></tr>
+<tr class="separator:gaf117b4994f719d539804da8dd115e28c"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ga903307de17bc1611515f8e6ae782a3d6"><td class="memItemLeft" align="right" valign="top">void *__TBB_EXPORTED_FUNC </td><td class="memItemRight" valign="bottom"><a class="el" href="a00236.html#ga903307de17bc1611515f8e6ae782a3d6">scalable_aligned_malloc</a> (size_t size, size_t alignment)</td></tr>
+<tr class="separator:ga903307de17bc1611515f8e6ae782a3d6"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:gaa07391c54330b2e4dd1743ae9c9c4f2d"><td class="memItemLeft" align="right" valign="top">void *__TBB_EXPORTED_FUNC </td><td class="memItemRight" valign="bottom"><a class="el" href="a00236.html#gaa07391c54330b2e4dd1743ae9c9c4f2d">scalable_aligned_realloc</a> (void *ptr, size_t size, size_t alignment)</td></tr>
+<tr class="separator:gaa07391c54330b2e4dd1743ae9c9c4f2d"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:gad9aa7595581a7bc5be193d7e034c8f61"><td class="memItemLeft" align="right" valign="top">void __TBB_EXPORTED_FUNC </td><td class="memItemRight" valign="bottom"><a class="el" href="a00236.html#gad9aa7595581a7bc5be193d7e034c8f61">scalable_aligned_free</a> (void *ptr)</td></tr>
+<tr class="separator:gad9aa7595581a7bc5be193d7e034c8f61"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ga2b718206e50acb6392b86e4877d98213"><td class="memItemLeft" align="right" valign="top">size_t __TBB_EXPORTED_FUNC </td><td class="memItemRight" valign="bottom"><a class="el" href="a00236.html#ga2b718206e50acb6392b86e4877d98213">scalable_msize</a> (void *ptr)</td></tr>
+<tr class="separator:ga2b718206e50acb6392b86e4877d98213"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ga7f5029970f72ebbffee896c46a23958e"><td class="memItemLeft" align="right" valign="top">int __TBB_EXPORTED_FUNC </td><td class="memItemRight" valign="bottom"><a class="el" href="a00236.html#ga7f5029970f72ebbffee896c46a23958e">scalable_allocation_mode</a> (int param, intptr_t value)</td></tr>
+<tr class="separator:ga7f5029970f72ebbffee896c46a23958e"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:gabe5acd876b4d89bf89787c4e779c2518"><td class="memItemLeft" align="right" valign="top">int __TBB_EXPORTED_FUNC </td><td class="memItemRight" valign="bottom"><a class="el" href="a00236.html#gabe5acd876b4d89bf89787c4e779c2518">scalable_allocation_command</a> (int cmd, void *param)</td></tr>
+<tr class="separator:gabe5acd876b4d89bf89787c4e779c2518"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a152cad3c009030ad9364bc1f3ff0c648"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a152cad3c009030ad9364bc1f3ff0c648"></a>
+MemPoolError </td><td class="memItemRight" valign="bottom"><b>rml::pool_create_v1</b> (intptr_t pool_id, const MemPoolPolicy *policy, rml::MemoryPool **pool)</td></tr>
+<tr class="separator:a152cad3c009030ad9364bc1f3ff0c648"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a19a32c0a2ff3a0d8c3eeba0ac894f887"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a19a32c0a2ff3a0d8c3eeba0ac894f887"></a>
+bool </td><td class="memItemRight" valign="bottom"><b>rml::pool_destroy</b> (MemoryPool *memPool)</td></tr>
+<tr class="separator:a19a32c0a2ff3a0d8c3eeba0ac894f887"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a5e8b6e757a521a8f2a186b8577aefb98"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5e8b6e757a521a8f2a186b8577aefb98"></a>
+void * </td><td class="memItemRight" valign="bottom"><b>rml::pool_malloc</b> (MemoryPool *memPool, size_t size)</td></tr>
+<tr class="separator:a5e8b6e757a521a8f2a186b8577aefb98"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:af9ac1381bacb2cbe1f4bca08e99dd2ee"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af9ac1381bacb2cbe1f4bca08e99dd2ee"></a>
+void * </td><td class="memItemRight" valign="bottom"><b>rml::pool_realloc</b> (MemoryPool *memPool, void *object, size_t size)</td></tr>
+<tr class="separator:af9ac1381bacb2cbe1f4bca08e99dd2ee"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a8ac1e82af435d8bef5f7c21506c5f831"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8ac1e82af435d8bef5f7c21506c5f831"></a>
+void * </td><td class="memItemRight" valign="bottom"><b>rml::pool_aligned_malloc</b> (MemoryPool *mPool, size_t size, size_t alignment)</td></tr>
+<tr class="separator:a8ac1e82af435d8bef5f7c21506c5f831"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a3b2c69d3eae3f7bdcf36df5af9b2eb2e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3b2c69d3eae3f7bdcf36df5af9b2eb2e"></a>
+void * </td><td class="memItemRight" valign="bottom"><b>rml::pool_aligned_realloc</b> (MemoryPool *mPool, void *ptr, size_t size, size_t alignment)</td></tr>
+<tr class="separator:a3b2c69d3eae3f7bdcf36df5af9b2eb2e"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a61700754fe0ba9d761fab34ad51e3bc2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a61700754fe0ba9d761fab34ad51e3bc2"></a>
+bool </td><td class="memItemRight" valign="bottom"><b>rml::pool_reset</b> (MemoryPool *memPool)</td></tr>
+<tr class="separator:a61700754fe0ba9d761fab34ad51e3bc2"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a06eff2efabb77248f880b86eecc08c6e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a06eff2efabb77248f880b86eecc08c6e"></a>
+bool </td><td class="memItemRight" valign="bottom"><b>rml::pool_free</b> (MemoryPool *memPool, void *object)</td></tr>
+<tr class="separator:a06eff2efabb77248f880b86eecc08c6e"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a17323bcd620e6e3e4091e2e5568f97d3"><td class="memTemplParams" colspan="2"><a class="anchor" id="a17323bcd620e6e3e4091e2e5568f97d3"></a>
+template<typename T , typename U > </td></tr>
+<tr class="memitem:a17323bcd620e6e3e4091e2e5568f97d3"><td class="memTemplItemLeft" align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><b>tbb::operator==</b> (const scalable_allocator< T > &, const scalable_allocator< U > &)</td></tr>
+<tr class="separator:a17323bcd620e6e3e4091e2e5568f97d3"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:af3fb987bb18adf8384db9c9713b81588"><td class="memTemplParams" colspan="2"><a class="anchor" id="af3fb987bb18adf8384db9c9713b81588"></a>
+template<typename T , typename U > </td></tr>
+<tr class="memitem:af3fb987bb18adf8384db9c9713b81588"><td class="memTemplItemLeft" align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><b>tbb::operator!=</b> (const scalable_allocator< T > &, const scalable_allocator< U > &)</td></tr>
+<tr class="separator:af3fb987bb18adf8384db9c9713b81588"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+</div><!-- contents -->
+<hr>
+<p></p>
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
+<p></p>
+Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
+registered trademarks or trademarks of Intel Corporation or its
+subsidiaries in the United States and other countries.
+<p></p>
+* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00219.html b/doc/html/a00219.html
new file mode 100644
index 0000000..1924159
--- /dev/null
+++ b/doc/html/a00219.html
@@ -0,0 +1,115 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>rml Namespace Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="namespaces.html"><span>Namespace List</span></a></li>
+      <li><a href="namespacemembers.html"><span>Namespace Members</span></a></li>
+    </ul>
+  </div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Classes</a> |
+<a href="#typedef-members">Typedefs</a> |
+<a href="#enum-members">Enumerations</a> |
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">rml Namespace Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>The namespace rml contains components of low-level memory pool interface.  
+<a href="#details">More...</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Classes</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00076.html">MemPoolPolicy</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
+Typedefs</h2></td></tr>
+<tr class="memitem:ae13d09a0a00d9cae537655207c8560a2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae13d09a0a00d9cae537655207c8560a2"></a>
+typedef void *(* </td><td class="memItemRight" valign="bottom"><b>rawAllocType</b> )(intptr_t pool_id, size_t &bytes)</td></tr>
+<tr class="separator:ae13d09a0a00d9cae537655207c8560a2"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a44f982f3478d462e81a1300dd516cb8e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a44f982f3478d462e81a1300dd516cb8e"></a>
+typedef int(* </td><td class="memItemRight" valign="bottom"><b>rawFreeType</b> )(intptr_t pool_id, void *raw_ptr, size_t raw_bytes)</td></tr>
+<tr class="separator:a44f982f3478d462e81a1300dd516cb8e"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
+Enumerations</h2></td></tr>
+<tr class="memitem:a09eea006328e62aac7cbbbd9a3fb7958"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><b>MemPoolError</b> { <br/>
+  <b>POOL_OK</b> = TBBMALLOC_OK, 
+<b>INVALID_POLICY</b> = TBBMALLOC_INVALID_PARAM, 
+<b>UNSUPPORTED_POLICY</b> = TBBMALLOC_UNSUPPORTED, 
+<b>NO_MEMORY</b> = TBBMALLOC_NO_MEMORY, 
+<br/>
+  <b>NO_EFFECT</b> = TBBMALLOC_NO_EFFECT
+<br/>
+ }</td></tr>
+<tr class="separator:a09eea006328e62aac7cbbbd9a3fb7958"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:a152cad3c009030ad9364bc1f3ff0c648"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a152cad3c009030ad9364bc1f3ff0c648"></a>
+MemPoolError </td><td class="memItemRight" valign="bottom"><b>pool_create_v1</b> (intptr_t pool_id, const <a class="el" href="a00076.html">MemPoolPolicy</a> *policy, rml::MemoryPool **pool)</td></tr>
+<tr class="separator:a152cad3c009030ad9364bc1f3ff0c648"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a19a32c0a2ff3a0d8c3eeba0ac894f887"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a19a32c0a2ff3a0d8c3eeba0ac894f887"></a>
+bool </td><td class="memItemRight" valign="bottom"><b>pool_destroy</b> (MemoryPool *memPool)</td></tr>
+<tr class="separator:a19a32c0a2ff3a0d8c3eeba0ac894f887"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a5e8b6e757a521a8f2a186b8577aefb98"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5e8b6e757a521a8f2a186b8577aefb98"></a>
+void * </td><td class="memItemRight" valign="bottom"><b>pool_malloc</b> (MemoryPool *memPool, size_t size)</td></tr>
+<tr class="separator:a5e8b6e757a521a8f2a186b8577aefb98"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:af9ac1381bacb2cbe1f4bca08e99dd2ee"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af9ac1381bacb2cbe1f4bca08e99dd2ee"></a>
+void * </td><td class="memItemRight" valign="bottom"><b>pool_realloc</b> (MemoryPool *memPool, void *object, size_t size)</td></tr>
+<tr class="separator:af9ac1381bacb2cbe1f4bca08e99dd2ee"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a8ac1e82af435d8bef5f7c21506c5f831"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8ac1e82af435d8bef5f7c21506c5f831"></a>
+void * </td><td class="memItemRight" valign="bottom"><b>pool_aligned_malloc</b> (MemoryPool *mPool, size_t size, size_t alignment)</td></tr>
+<tr class="separator:a8ac1e82af435d8bef5f7c21506c5f831"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a3b2c69d3eae3f7bdcf36df5af9b2eb2e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3b2c69d3eae3f7bdcf36df5af9b2eb2e"></a>
+void * </td><td class="memItemRight" valign="bottom"><b>pool_aligned_realloc</b> (MemoryPool *mPool, void *ptr, size_t size, size_t alignment)</td></tr>
+<tr class="separator:a3b2c69d3eae3f7bdcf36df5af9b2eb2e"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a61700754fe0ba9d761fab34ad51e3bc2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a61700754fe0ba9d761fab34ad51e3bc2"></a>
+bool </td><td class="memItemRight" valign="bottom"><b>pool_reset</b> (MemoryPool *memPool)</td></tr>
+<tr class="separator:a61700754fe0ba9d761fab34ad51e3bc2"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a06eff2efabb77248f880b86eecc08c6e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a06eff2efabb77248f880b86eecc08c6e"></a>
+bool </td><td class="memItemRight" valign="bottom"><b>pool_free</b> (MemoryPool *memPool, void *object)</td></tr>
+<tr class="separator:a06eff2efabb77248f880b86eecc08c6e"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>The namespace rml contains components of low-level memory pool interface. </p>
+<p>Assert that x is true.</p>
+<p>If x is false, print assertion failure message. If the comment argument is not NULL, it is printed as part of the failure message. The comment argument has no other effect. </p>
+</div></div><!-- contents -->
+<hr>
+<p></p>
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
+<p></p>
+Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
+registered trademarks or trademarks of Intel Corporation or its
+subsidiaries in the United States and other countries.
+<p></p>
+* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00222.html b/doc/html/a00222.html
new file mode 100644
index 0000000..49f68d0
--- /dev/null
+++ b/doc/html/a00222.html
@@ -0,0 +1,641 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb Namespace Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="namespaces.html"><span>Namespace List</span></a></li>
+      <li><a href="namespacemembers.html"><span>Namespace Members</span></a></li>
+    </ul>
+  </div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Classes</a> |
+<a href="#typedef-members">Typedefs</a> |
+<a href="#enum-members">Enumerations</a> |
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">tbb Namespace Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>The namespace tbb contains all components of the library.  
+<a href="#details">More...</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Classes</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00014.html">aligned_space</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Block of space aligned sufficiently to construct an array T with N elements.  <a href="a00014.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00015.html">atomic</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Primary template for atomic.  <a href="a00015.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00016.html">atomic< void * ></a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Specialization for <a class="el" href="a00016.html" title="Specialization for atomic<void*>, for sake of not allowing arithmetic or operator->. ">atomic<void*></a>, for sake of not allowing arithmetic or operator->.  <a href="a00016.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00021.html">blocked_range</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">A range over which to iterate.  <a href="a00021.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00022.html">blocked_range2d</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">A 2-dimensional range that models the Range concept.  <a href="a00022.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00023.html">blocked_range3d</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">A 3-dimensional range that models the Range concept.  <a href="a00023.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00029.html">cache_aligned_allocator</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Meets "allocator" requirements of ISO C++ Standard, Section 20.1.5.  <a href="a00029.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00030.html">cache_aligned_allocator< void ></a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Analogous to std::allocator<void>, as defined in ISO C++ Standard, Section 20.4.1.  <a href="a00030.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00032.html">combinable</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Thread-local storage with optional reduction.  <a href="a00032.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00148.html">tbb_hash_compare</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">hash_compare that is default argument for concurrent_hash_map  <a href="a00148.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00034.html">concurrent_bounded_queue</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">A high-performance thread-safe blocking concurrent bounded queue.  <a href="a00034.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00046.html">concurrent_vector</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Concurrent vector container.  <a href="a00046.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00158.html">vector_iterator</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00081.html">mutex</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Wrapper around the platform's native reader-writer lock.  <a href="a00081.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00083.html">null_mutex</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">A mutex which does nothing.  <a href="a00083.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00084.html">null_rw_mutex</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">A rw mutex which does nothing.  <a href="a00084.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00087.html">parallel_do_feeder</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Class the user supplied algorithm body uses to add new tasks.  <a href="a00087.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00138.html">task_group_context</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00090.html">pre_scan_tag</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Used to indicate that the initial scan is being performed.  <a href="a00090.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00055.html">final_scan_tag</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Used to indicate that the final scan is being performed.  <a href="a00055.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00088.html">parallel_while</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration over a stream, with optional addition of more work.  <a href="a00088.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00053.html">filter</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">A stage in a pipeline.  <a href="a00053.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html">thread_bound_filter</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">A stage in a pipeline served by a user thread.  <a href="a00150.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00089.html">pipeline</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">A processing pipeline that applies filters to items.  <a href="a00089.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00093.html">queuing_mutex</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Queuing mutex with local-only spinning.  <a href="a00093.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00094.html">queuing_rw_mutex</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Queuing reader-writer mutex with local-only spinning.  <a href="a00094.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html">recursive_mutex</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00111.html">scalable_allocator</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Meets "allocator" requirements of ISO C++ Standard, Section 20.1.5.  <a href="a00111.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00112.html">scalable_allocator< void ></a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Analogous to std::allocator<void>, as defined in ISO C++ Standard, Section 20.4.1.  <a href="a00112.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00127.html">spin_mutex</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">A lock that occupies a single byte.  <a href="a00127.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00128.html">spin_rw_mutex_v3</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Fast, unfair, spinning reader-writer lock with backoff and writer-preference.  <a href="a00128.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00139.html">task_handle</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00136.html">task_group</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00133.html">structured_task_group</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00141.html">task_scheduler_init</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Class delimiting the scope of task scheduler activity.  <a href="a00141.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00144.html">tbb_allocator</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Meets "allocator" requirements of ISO C++ Standard, Section 20.1.5.  <a href="a00144.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00145.html">tbb_allocator< void ></a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Analogous to std::allocator<void>, as defined in ISO C++ Standard, Section 20.4.1.  <a href="a00145.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00160.html">zero_allocator</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Meets "allocator" requirements of ISO C++ Standard, Section 20.1.5.  <a href="a00160.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00161.html">zero_allocator< void, Allocator ></a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Analogous to std::allocator<void>, as defined in ISO C++ Standard, Section 20.4.1.  <a href="a00161.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00017.html">bad_last_alloc</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Exception for concurrent containers.  <a href="a00017.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00065.html">improper_lock</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Exception for PPL locks.  <a href="a00065.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00156.html">user_abort</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Exception for user-initiated abort.  <a href="a00156.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00077.html">missing_wait</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Exception for missing wait on <a class="el" href="a00133.html">structured_task_group</a>.  <a href="a00077.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00067.html">invalid_multiple_scheduling</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Exception for repeated scheduling of the same <a class="el" href="a00139.html">task_handle</a>.  <a href="a00067.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00146.html">tbb_exception</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Interface to be implemented by all exceptions TBB recognizes and propagates across the threads.  <a href="a00146.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00031.html">captured_exception</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">This class is used by TBB to propagate information about unhandled exceptions into the root thread.  <a href="a00031.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00078.html">movable_exception</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Template that can be used to implement exception that transfers arbitrary ExceptionData to the root thread.  <a href="a00078.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00129.html">split</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Dummy type that distinguishes splitting constructor from copy constructor.  <a href="a00129.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00155.html">tick_count</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Absolute timestamp.  <a href="a00155.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
+Typedefs</h2></td></tr>
+<tr class="memitem:a889d8f126388fdc24c597d195a4d7028"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a889d8f126388fdc24c597d195a4d7028"></a>
+typedef <br class="typebreak"/>
+<a class="el" href="a00051.html">internal::critical_section_v4</a> </td><td class="memItemRight" valign="bottom"><b>critical_section</b></td></tr>
+<tr class="separator:a889d8f126388fdc24c597d195a4d7028"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ga69722571e9e4406693c4a1379f0b47eb"><td class="memItemLeft" align="right" valign="top">typedef <br class="typebreak"/>
+interface7::internal::padded_mutex<br class="typebreak"/>
+< interface7::internal::x86_eliding_mutex, <br class="typebreak"/>
+false > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00237.html#ga69722571e9e4406693c4a1379f0b47eb">speculative_spin_mutex</a></td></tr>
+<tr class="memdesc:ga69722571e9e4406693c4a1379f0b47eb"><td class="mdescLeft"> </td><td class="mdescRight">A cross-platform spin mutex with speculative lock acquisition.  <a href="a00237.html#ga69722571e9e4406693c4a1379f0b47eb">More...</a><br/></td></tr>
+<tr class="separator:ga69722571e9e4406693c4a1379f0b47eb"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a6cc3d02744cab8ac389919806d47e417"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6cc3d02744cab8ac389919806d47e417"></a>
+typedef <a class="el" href="a00128.html">spin_rw_mutex_v3</a> </td><td class="memItemRight" valign="bottom"><b>spin_rw_mutex</b></td></tr>
+<tr class="separator:a6cc3d02744cab8ac389919806d47e417"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a1a268320974a3357e9609a2f98be5090"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1a268320974a3357e9609a2f98be5090"></a>
+typedef std::size_t </td><td class="memItemRight" valign="bottom"><b>stack_size_type</b></td></tr>
+<tr class="separator:a1a268320974a3357e9609a2f98be5090"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:af58de4ab3200dd2bd621f052c6f677e4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af58de4ab3200dd2bd621f052c6f677e4"></a>
+typedef <br class="typebreak"/>
+<a class="el" href="a00143.html">tbb::internal::task_scheduler_observer_v3</a> </td><td class="memItemRight" valign="bottom"><b>task_scheduler_observer</b></td></tr>
+<tr class="separator:af58de4ab3200dd2bd621f052c6f677e4"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a7805ca254302ff88b566f7dcde7e56b0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7805ca254302ff88b566f7dcde7e56b0"></a>
+typedef <a class="el" href="a00149.html">internal::tbb_thread_v3</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00222.html#a7805ca254302ff88b566f7dcde7e56b0">tbb_thread</a></td></tr>
+<tr class="memdesc:a7805ca254302ff88b566f7dcde7e56b0"><td class="mdescLeft"> </td><td class="mdescRight">Users reference thread class by name tbb_thread. <br/></td></tr>
+<tr class="separator:a7805ca254302ff88b566f7dcde7e56b0"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
+Enumerations</h2></td></tr>
+<tr class="memitem:adb86d08473679d6fe0eabcdc766ffe3a"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00222.html#adb86d08473679d6fe0eabcdc766ffe3a">memory_semantics</a> { <a class="el" href="a00222.html#adb86d08473679d6fe0eabcdc766ffe3aa6a315190cf4509ec388ecb423432f36a">full_fence</a>, 
+<a class="el" href="a00222.html#adb86d08473679d6fe0eabcdc766ffe3aaa92646b4dc7618530d3a9f51dd10a418">acquire</a>, 
+<a class="el" href="a00222.html#adb86d08473679d6fe0eabcdc766ffe3aa412563418e657114a102db610f726632">release</a>, 
+<a class="el" href="a00222.html#adb86d08473679d6fe0eabcdc766ffe3aa73cb2e2bcb94442b8b2b72e93a76f2e5">relaxed</a>
+ }</td></tr>
+<tr class="memdesc:adb86d08473679d6fe0eabcdc766ffe3a"><td class="mdescLeft"> </td><td class="mdescRight">Specifies memory semantics.  <a href="a00222.html#adb86d08473679d6fe0eabcdc766ffe3a">More...</a><br/></td></tr>
+<tr class="separator:adb86d08473679d6fe0eabcdc766ffe3a"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ac5bcb6154c8307fa9f97806afddf2288"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00222.html#ac5bcb6154c8307fa9f97806afddf2288">ets_key_usage_type</a> { <b>ets_key_per_instance</b>, 
+<b>ets_no_key</b>
+ }</td></tr>
+<tr class="memdesc:ac5bcb6154c8307fa9f97806afddf2288"><td class="mdescLeft"> </td><td class="mdescRight">enum for selecting between single key and key-per-instance versions <br/></td></tr>
+<tr class="separator:ac5bcb6154c8307fa9f97806afddf2288"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a4454db821441ca68bad263d82c40fb7a"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><b>task_group_status</b> { <b>not_complete</b>, 
+<b>complete</b>, 
+<b>canceled</b>
+ }</td></tr>
+<tr class="separator:a4454db821441ca68bad263d82c40fb7a"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:a5fefe7ed201b920d3fd6c390849c1ccf"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5fefe7ed201b920d3fd6c390849c1ccf"></a>
+ </td><td class="memItemRight" valign="bottom"><b>__TBB_DECL_ATOMIC</b> (__TBB_LONG_LONG) __TBB_DECL_ATOMIC(unsigned __TBB_LONG_LONG) __TBB_DECL_ATOMIC(long) __TBB_DECL_ATOMIC(unsigned long) <a class="el" href="a00222.html#a59425abdcb421136e9f5954cfb975e5f">__TBB_DECL_ATOMIC_ALT</a>(unsigned</td></tr>
+<tr class="separator:a5fefe7ed201b920d3fd6c390849c1ccf"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a59425abdcb421136e9f5954cfb975e5f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a59425abdcb421136e9f5954cfb975e5f"></a>
+size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="a00222.html#a59425abdcb421136e9f5954cfb975e5f">__TBB_DECL_ATOMIC_ALT</a> (int, ptrdiff_t) __TBB_DECL_ATOMIC(unsigned) __TBB_DECL_ATOMIC(int) __TBB_DECL_ATOMIC(unsigned short) __TBB_DECL_ATOMIC(short) __TBB_DECL_ATOMIC(char) __TBB_DECL_ATOMIC(signed char) __TBB_DECL_ATOMIC(unsigned char) __TBB_DECL_ATOMIC(wchar_t) template< typename T > struct <a class="el" href="a00015.html">atomic</a>< T * ></td></tr>
+<tr class="memdesc:a59425abdcb421136e9f5954cfb975e5f"><td class="mdescLeft"> </td><td class="mdescRight">Specialization for atomic<T*> with arithmetic and operator->. <br/></td></tr>
+<tr class="separator:a59425abdcb421136e9f5954cfb975e5f"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aed82c77b389b208a1c27012a2fc0b5fd"><td class="memTemplParams" colspan="2"><a class="anchor" id="aed82c77b389b208a1c27012a2fc0b5fd"></a>
+template<memory_semantics M, typename T > </td></tr>
+<tr class="memitem:aed82c77b389b208a1c27012a2fc0b5fd"><td class="memTemplItemLeft" align="right" valign="top">T </td><td class="memTemplItemRight" valign="bottom"><b>load</b> (const <a class="el" href="a00015.html">atomic</a>< T > &a)</td></tr>
+<tr class="separator:aed82c77b389b208a1c27012a2fc0b5fd"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a219b97248f55c909aa3d84e43934b105"><td class="memTemplParams" colspan="2"><a class="anchor" id="a219b97248f55c909aa3d84e43934b105"></a>
+template<memory_semantics M, typename T > </td></tr>
+<tr class="memitem:a219b97248f55c909aa3d84e43934b105"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><b>store</b> (<a class="el" href="a00015.html">atomic</a>< T > &a, T value)</td></tr>
+<tr class="separator:a219b97248f55c909aa3d84e43934b105"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a49a6826cf4fb8845d26d8d1f1ad0b5fa"><td class="memTemplParams" colspan="2"><a class="anchor" id="a49a6826cf4fb8845d26d8d1f1ad0b5fa"></a>
+template<typename T , typename U > </td></tr>
+<tr class="memitem:a49a6826cf4fb8845d26d8d1f1ad0b5fa"><td class="memTemplItemLeft" align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><b>operator==</b> (const <a class="el" href="a00029.html">cache_aligned_allocator</a>< T > &, const <a class="el" href="a00029.html">cache_aligned_allocator</a>< U > &)</td></tr>
+<tr class="separator:a49a6826cf4fb8845d26d8d1f1ad0b5fa"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:afdaaf3f3248efc804c6f6fe35855704d"><td class="memTemplParams" colspan="2"><a class="anchor" id="afdaaf3f3248efc804c6f6fe35855704d"></a>
+template<typename T , typename U > </td></tr>
+<tr class="memitem:afdaaf3f3248efc804c6f6fe35855704d"><td class="memTemplItemLeft" align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><b>operator!=</b> (const <a class="el" href="a00029.html">cache_aligned_allocator</a>< T > &, const <a class="el" href="a00029.html">cache_aligned_allocator</a>< U > &)</td></tr>
+<tr class="separator:afdaaf3f3248efc804c6f6fe35855704d"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a1db9470dd2871cb7394ab262dca2051a"><td class="memTemplParams" colspan="2"><a class="anchor" id="a1db9470dd2871cb7394ab262dca2051a"></a>
+template<typename Key , typename T , typename HashCompare , typename A1 , typename A2 > </td></tr>
+<tr class="memitem:a1db9470dd2871cb7394ab262dca2051a"><td class="memTemplItemLeft" align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><b>operator==</b> (const concurrent_hash_map< Key, T, HashCompare, A1 > &a, const concurrent_hash_map< Key, T, HashCompare, A2 > &b)</td></tr>
+<tr class="separator:a1db9470dd2871cb7394ab262dca2051a"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a05667bcb12f763124fcda402d3720c6a"><td class="memTemplParams" colspan="2"><a class="anchor" id="a05667bcb12f763124fcda402d3720c6a"></a>
+template<typename Key , typename T , typename HashCompare , typename A1 , typename A2 > </td></tr>
+<tr class="memitem:a05667bcb12f763124fcda402d3720c6a"><td class="memTemplItemLeft" align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><b>operator!=</b> (const concurrent_hash_map< Key, T, HashCompare, A1 > &a, const concurrent_hash_map< Key, T, HashCompare, A2 > &b)</td></tr>
+<tr class="separator:a05667bcb12f763124fcda402d3720c6a"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a16dc40ac2badc8b36b8cc70f92801b76"><td class="memTemplParams" colspan="2"><a class="anchor" id="a16dc40ac2badc8b36b8cc70f92801b76"></a>
+template<typename Key , typename T , typename HashCompare , typename A > </td></tr>
+<tr class="memitem:a16dc40ac2badc8b36b8cc70f92801b76"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><b>swap</b> (concurrent_hash_map< Key, T, HashCompare, A > &a, concurrent_hash_map< Key, T, HashCompare, A > &b)</td></tr>
+<tr class="separator:a16dc40ac2badc8b36b8cc70f92801b76"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a79ecee2d23f2486c03e720ab9e3ac36c"><td class="memTemplParams" colspan="2"><a class="anchor" id="a79ecee2d23f2486c03e720ab9e3ac36c"></a>
+template<typename T , class A1 , class A2 > </td></tr>
+<tr class="memitem:a79ecee2d23f2486c03e720ab9e3ac36c"><td class="memTemplItemLeft" align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><b>operator==</b> (const <a class="el" href="a00046.html">concurrent_vector</a>< T, A1 > &a, const <a class="el" href="a00046.html">concurrent_vector</a>< T, A2 > &b)</td></tr>
+<tr class="separator:a79ecee2d23f2486c03e720ab9e3ac36c"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ab7258c4acabadf94d03dc62e29396ea0"><td class="memTemplParams" colspan="2"><a class="anchor" id="ab7258c4acabadf94d03dc62e29396ea0"></a>
+template<typename T , class A1 , class A2 > </td></tr>
+<tr class="memitem:ab7258c4acabadf94d03dc62e29396ea0"><td class="memTemplItemLeft" align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><b>operator!=</b> (const <a class="el" href="a00046.html">concurrent_vector</a>< T, A1 > &a, const <a class="el" href="a00046.html">concurrent_vector</a>< T, A2 > &b)</td></tr>
+<tr class="separator:ab7258c4acabadf94d03dc62e29396ea0"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a1523d0389a8cbda80c17ae4f45caa3a6"><td class="memTemplParams" colspan="2"><a class="anchor" id="a1523d0389a8cbda80c17ae4f45caa3a6"></a>
+template<typename T , class A1 , class A2 > </td></tr>
+<tr class="memitem:a1523d0389a8cbda80c17ae4f45caa3a6"><td class="memTemplItemLeft" align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><b>operator<</b> (const <a class="el" href="a00046.html">concurrent_vector</a>< T, A1 > &a, const <a class="el" href="a00046.html">concurrent_vector</a>< T, A2 > &b)</td></tr>
+<tr class="separator:a1523d0389a8cbda80c17ae4f45caa3a6"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a78cfed58bfde865b68859beb54805019"><td class="memTemplParams" colspan="2"><a class="anchor" id="a78cfed58bfde865b68859beb54805019"></a>
+template<typename T , class A1 , class A2 > </td></tr>
+<tr class="memitem:a78cfed58bfde865b68859beb54805019"><td class="memTemplItemLeft" align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><b>operator></b> (const <a class="el" href="a00046.html">concurrent_vector</a>< T, A1 > &a, const <a class="el" href="a00046.html">concurrent_vector</a>< T, A2 > &b)</td></tr>
+<tr class="separator:a78cfed58bfde865b68859beb54805019"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ac6009f009cd331952d8944bcc9733375"><td class="memTemplParams" colspan="2"><a class="anchor" id="ac6009f009cd331952d8944bcc9733375"></a>
+template<typename T , class A1 , class A2 > </td></tr>
+<tr class="memitem:ac6009f009cd331952d8944bcc9733375"><td class="memTemplItemLeft" align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><b>operator<=</b> (const <a class="el" href="a00046.html">concurrent_vector</a>< T, A1 > &a, const <a class="el" href="a00046.html">concurrent_vector</a>< T, A2 > &b)</td></tr>
+<tr class="separator:ac6009f009cd331952d8944bcc9733375"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aa0d82e59919a1f2c7caa06d061b2480f"><td class="memTemplParams" colspan="2"><a class="anchor" id="aa0d82e59919a1f2c7caa06d061b2480f"></a>
+template<typename T , class A1 , class A2 > </td></tr>
+<tr class="memitem:aa0d82e59919a1f2c7caa06d061b2480f"><td class="memTemplItemLeft" align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><b>operator>=</b> (const <a class="el" href="a00046.html">concurrent_vector</a>< T, A1 > &a, const <a class="el" href="a00046.html">concurrent_vector</a>< T, A2 > &b)</td></tr>
+<tr class="separator:aa0d82e59919a1f2c7caa06d061b2480f"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a4cd91084f08db8c2d23c6a0362e0c441"><td class="memTemplParams" colspan="2"><a class="anchor" id="a4cd91084f08db8c2d23c6a0362e0c441"></a>
+template<typename T , class A > </td></tr>
+<tr class="memitem:a4cd91084f08db8c2d23c6a0362e0c441"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><b>swap</b> (<a class="el" href="a00046.html">concurrent_vector</a>< T, A > &a, <a class="el" href="a00046.html">concurrent_vector</a>< T, A > &b)</td></tr>
+<tr class="separator:a4cd91084f08db8c2d23c6a0362e0c441"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a17323bcd620e6e3e4091e2e5568f97d3"><td class="memTemplParams" colspan="2"><a class="anchor" id="a17323bcd620e6e3e4091e2e5568f97d3"></a>
+template<typename T , typename U > </td></tr>
+<tr class="memitem:a17323bcd620e6e3e4091e2e5568f97d3"><td class="memTemplItemLeft" align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><b>operator==</b> (const <a class="el" href="a00111.html">scalable_allocator</a>< T > &, const <a class="el" href="a00111.html">scalable_allocator</a>< U > &)</td></tr>
+<tr class="separator:a17323bcd620e6e3e4091e2e5568f97d3"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:af3fb987bb18adf8384db9c9713b81588"><td class="memTemplParams" colspan="2"><a class="anchor" id="af3fb987bb18adf8384db9c9713b81588"></a>
+template<typename T , typename U > </td></tr>
+<tr class="memitem:af3fb987bb18adf8384db9c9713b81588"><td class="memTemplItemLeft" align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><b>operator!=</b> (const <a class="el" href="a00111.html">scalable_allocator</a>< T > &, const <a class="el" href="a00111.html">scalable_allocator</a>< U > &)</td></tr>
+<tr class="separator:af3fb987bb18adf8384db9c9713b81588"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aaef1698b222ba9312ab24dcdcd98bbd8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aaef1698b222ba9312ab24dcdcd98bbd8"></a>
+bool </td><td class="memItemRight" valign="bottom"><b>is_current_task_group_canceling</b> ()</td></tr>
+<tr class="separator:aaef1698b222ba9312ab24dcdcd98bbd8"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a6c291402bcc0ba9263cf08b76faf7a2c"><td class="memTemplParams" colspan="2"><a class="anchor" id="a6c291402bcc0ba9263cf08b76faf7a2c"></a>
+template<class F > </td></tr>
+<tr class="memitem:a6c291402bcc0ba9263cf08b76faf7a2c"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="a00139.html">task_handle</a>< F > </td><td class="memTemplItemRight" valign="bottom"><b>make_task</b> (const F &f)</td></tr>
+<tr class="separator:a6c291402bcc0ba9263cf08b76faf7a2c"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:af1595d1bfc4f7be923c17b4ee5c556ae"><td class="memTemplParams" colspan="2"><a class="anchor" id="af1595d1bfc4f7be923c17b4ee5c556ae"></a>
+template<typename T , typename U > </td></tr>
+<tr class="memitem:af1595d1bfc4f7be923c17b4ee5c556ae"><td class="memTemplItemLeft" align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><b>operator==</b> (const <a class="el" href="a00144.html">tbb_allocator</a>< T > &, const <a class="el" href="a00144.html">tbb_allocator</a>< U > &)</td></tr>
+<tr class="separator:af1595d1bfc4f7be923c17b4ee5c556ae"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a82ff968904aaa1bb0e2152f590c47be6"><td class="memTemplParams" colspan="2"><a class="anchor" id="a82ff968904aaa1bb0e2152f590c47be6"></a>
+template<typename T , typename U > </td></tr>
+<tr class="memitem:a82ff968904aaa1bb0e2152f590c47be6"><td class="memTemplItemLeft" align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><b>operator!=</b> (const <a class="el" href="a00144.html">tbb_allocator</a>< T > &, const <a class="el" href="a00144.html">tbb_allocator</a>< U > &)</td></tr>
+<tr class="separator:a82ff968904aaa1bb0e2152f590c47be6"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a7bf465e2f6730e2cea0c9531bec9fb2f"><td class="memTemplParams" colspan="2"><a class="anchor" id="a7bf465e2f6730e2cea0c9531bec9fb2f"></a>
+template<typename T1 , template< typename X1 > class B1, typename T2 , template< typename X2 > class B2> </td></tr>
+<tr class="memitem:a7bf465e2f6730e2cea0c9531bec9fb2f"><td class="memTemplItemLeft" align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><b>operator==</b> (const <a class="el" href="a00160.html">zero_allocator</a>< T1, B1 > &a, const <a class="el" href="a00160.html">zero_allocator</a>< T2, B2 > &b)</td></tr>
+<tr class="separator:a7bf465e2f6730e2cea0c9531bec9fb2f"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a606762cf7c614cb5a1631955938737cd"><td class="memTemplParams" colspan="2"><a class="anchor" id="a606762cf7c614cb5a1631955938737cd"></a>
+template<typename T1 , template< typename X1 > class B1, typename T2 , template< typename X2 > class B2> </td></tr>
+<tr class="memitem:a606762cf7c614cb5a1631955938737cd"><td class="memTemplItemLeft" align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><b>operator!=</b> (const <a class="el" href="a00160.html">zero_allocator</a>< T1, B1 > &a, const <a class="el" href="a00160.html">zero_allocator</a>< T2, B2 > &b)</td></tr>
+<tr class="separator:a606762cf7c614cb5a1631955938737cd"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ade8a8bc300d5ef09d38cbfb8baff5cd2"><td class="memItemLeft" align="right" valign="top">int __TBB_EXPORTED_FUNC </td><td class="memItemRight" valign="bottom"><a class="el" href="a00222.html#ade8a8bc300d5ef09d38cbfb8baff5cd2">TBB_runtime_interface_version</a> ()</td></tr>
+<tr class="memdesc:ade8a8bc300d5ef09d38cbfb8baff5cd2"><td class="mdescLeft"> </td><td class="mdescRight">The function returns the interface version of the TBB shared library being used.  <a href="#ade8a8bc300d5ef09d38cbfb8baff5cd2">More...</a><br/></td></tr>
+<tr class="separator:ade8a8bc300d5ef09d38cbfb8baff5cd2"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ab7f020856fee5ecb5d8e3946bf2160f8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab7f020856fee5ecb5d8e3946bf2160f8"></a>
+void </td><td class="memItemRight" valign="bottom"><b>swap</b> (<a class="el" href="a00149.html">internal::tbb_thread_v3</a> &t1, <a class="el" href="a00149.html">internal::tbb_thread_v3</a> &t2)</td></tr>
+<tr class="separator:ab7f020856fee5ecb5d8e3946bf2160f8"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ac41903d6b80e61bd6c605412e7820e08"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac41903d6b80e61bd6c605412e7820e08"></a>
+void </td><td class="memItemRight" valign="bottom"><b>move</b> (<a class="el" href="a00222.html#a7805ca254302ff88b566f7dcde7e56b0">tbb_thread</a> &t1, <a class="el" href="a00222.html#a7805ca254302ff88b566f7dcde7e56b0">tbb_thread</a> &t2)</td></tr>
+<tr class="separator:ac41903d6b80e61bd6c605412e7820e08"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aa037c1f149250d61cd2fad4541a5e6cb"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa037c1f149250d61cd2fad4541a5e6cb"></a>
+<a class="el" href="a00066.html">tick_count::interval_t</a> </td><td class="memItemRight" valign="bottom"><b>operator-</b> (const <a class="el" href="a00155.html">tick_count</a> &t1, const <a class="el" href="a00155.html">tick_count</a> &t0)</td></tr>
+<tr class="separator:aa037c1f149250d61cd2fad4541a5e6cb"><td class="memSeparator" colspan="2"> </td></tr>
+<tr><td colspan="2"><div class="groupHeader">parallel_do</div></td></tr>
+<tr><td colspan="2"><div class="groupText"><p>See also requirements on <a class="el" href="a00002.html">parallel_do Body</a>. </p>
+</div></td></tr>
+<tr class="memitem:ga533f6732498ade8634a9470cbf89192d"><td class="memTemplParams" colspan="2">template<typename Iterator , typename Body > </td></tr>
+<tr class="memitem:ga533f6732498ade8634a9470cbf89192d"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00234.html#ga533f6732498ade8634a9470cbf89192d">parallel_do</a> (Iterator first, Iterator last, const Body &body)</td></tr>
+<tr class="memdesc:ga533f6732498ade8634a9470cbf89192d"><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration over a range, with optional addition of more work.  <a href="a00234.html#ga533f6732498ade8634a9470cbf89192d">More...</a><br/></td></tr>
+<tr class="separator:ga533f6732498ade8634a9470cbf89192d"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ga7db29bc10d81eddc85854256ffc723c0"><td class="memTemplParams" colspan="2">template<typename Iterator , typename Body > </td></tr>
+<tr class="memitem:ga7db29bc10d81eddc85854256ffc723c0"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00234.html#ga7db29bc10d81eddc85854256ffc723c0">parallel_do</a> (Iterator first, Iterator last, const Body &body, <a class="el" href="a00138.html">task_group_context</a> &context)</td></tr>
+<tr class="memdesc:ga7db29bc10d81eddc85854256ffc723c0"><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration over a range, with optional addition of more work and user-supplied context.  <a href="a00234.html#ga7db29bc10d81eddc85854256ffc723c0">More...</a><br/></td></tr>
+<tr class="separator:ga7db29bc10d81eddc85854256ffc723c0"><td class="memSeparator" colspan="2"> </td></tr>
+<tr><td colspan="2"><div class="groupHeader">parallel_for</div></td></tr>
+<tr><td colspan="2"><div class="groupText"><p>See also requirements on <a class="el" href="a00001.html">Range</a> and <a class="el" href="a00003.html">parallel_for Body</a>. </p>
+</div></td></tr>
+<tr class="memitem:gaa8444c29dc4d2e527a1036717d109aef"><td class="memTemplParams" colspan="2">template<typename Range , typename Body > </td></tr>
+<tr class="memitem:gaa8444c29dc4d2e527a1036717d109aef"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00234.html#gaa8444c29dc4d2e527a1036717d109aef">parallel_for</a> (const Range &range, const Body &body)</td></tr>
+<tr class="memdesc:gaa8444c29dc4d2e527a1036717d109aef"><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration over range with default partitioner.  <a href="a00234.html#gaa8444c29dc4d2e527a1036717d109aef">More...</a><br/></td></tr>
+<tr class="separator:gaa8444c29dc4d2e527a1036717d109aef"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ga9722d2bc7e5edb4fae9f3b55268a1ecc"><td class="memTemplParams" colspan="2">template<typename Range , typename Body > </td></tr>
+<tr class="memitem:ga9722d2bc7e5edb4fae9f3b55268a1ecc"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00234.html#ga9722d2bc7e5edb4fae9f3b55268a1ecc">parallel_for</a> (const Range &range, const Body &body, const simple_partitioner &partitioner)</td></tr>
+<tr class="memdesc:ga9722d2bc7e5edb4fae9f3b55268a1ecc"><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration over range with simple partitioner.  <a href="a00234.html#ga9722d2bc7e5edb4fae9f3b55268a1ecc">More...</a><br/></td></tr>
+<tr class="separator:ga9722d2bc7e5edb4fae9f3b55268a1ecc"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:gad6c4b06f96ae33cefe78235841791902"><td class="memTemplParams" colspan="2">template<typename Range , typename Body > </td></tr>
+<tr class="memitem:gad6c4b06f96ae33cefe78235841791902"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00234.html#gad6c4b06f96ae33cefe78235841791902">parallel_for</a> (const Range &range, const Body &body, const auto_partitioner &partitioner)</td></tr>
+<tr class="memdesc:gad6c4b06f96ae33cefe78235841791902"><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration over range with auto_partitioner.  <a href="a00234.html#gad6c4b06f96ae33cefe78235841791902">More...</a><br/></td></tr>
+<tr class="separator:gad6c4b06f96ae33cefe78235841791902"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:gaf3d39e372d825bf54283b5ceafa90057"><td class="memTemplParams" colspan="2">template<typename Range , typename Body > </td></tr>
+<tr class="memitem:gaf3d39e372d825bf54283b5ceafa90057"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00234.html#gaf3d39e372d825bf54283b5ceafa90057">parallel_for</a> (const Range &range, const Body &body, affinity_partitioner &partitioner)</td></tr>
+<tr class="memdesc:gaf3d39e372d825bf54283b5ceafa90057"><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration over range with affinity_partitioner.  <a href="a00234.html#gaf3d39e372d825bf54283b5ceafa90057">More...</a><br/></td></tr>
+<tr class="separator:gaf3d39e372d825bf54283b5ceafa90057"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ga93a621202db94665144de38c0b09bdad"><td class="memTemplParams" colspan="2">template<typename Range , typename Body > </td></tr>
+<tr class="memitem:ga93a621202db94665144de38c0b09bdad"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00234.html#ga93a621202db94665144de38c0b09bdad">parallel_for</a> (const Range &range, const Body &body, <a class="el" href="a00138.html">task_group_context</a> &context)</td></tr>
+<tr class="memdesc:ga93a621202db94665144de38c0b09bdad"><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration over range with default partitioner and user-supplied context.  <a href="a00234.html#ga93a621202db94665144de38c0b09bdad">More...</a><br/></td></tr>
+<tr class="separator:ga93a621202db94665144de38c0b09bdad"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ga5b7fab9d6ffe7a9345e9349a5a007bd4"><td class="memTemplParams" colspan="2">template<typename Range , typename Body > </td></tr>
+<tr class="memitem:ga5b7fab9d6ffe7a9345e9349a5a007bd4"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00234.html#ga5b7fab9d6ffe7a9345e9349a5a007bd4">parallel_for</a> (const Range &range, const Body &body, const simple_partitioner &partitioner, <a class="el" href="a00138.html">task_group_context</a> &context)</td></tr>
+<tr class="memdesc:ga5b7fab9d6ffe7a9345e9349a5a007bd4"><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration over range with simple partitioner and user-supplied context.  <a href="a00234.html#ga5b7fab9d6ffe7a9345e9349a5a007bd4">More...</a><br/></td></tr>
+<tr class="separator:ga5b7fab9d6ffe7a9345e9349a5a007bd4"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ga4c9935d8710a5cf786a92f3522ab2976"><td class="memTemplParams" colspan="2">template<typename Range , typename Body > </td></tr>
+<tr class="memitem:ga4c9935d8710a5cf786a92f3522ab2976"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00234.html#ga4c9935d8710a5cf786a92f3522ab2976">parallel_for</a> (const Range &range, const Body &body, const auto_partitioner &partitioner, <a class="el" href="a00138.html">task_group_context</a> &context)</td></tr>
+<tr class="memdesc:ga4c9935d8710a5cf786a92f3522ab2976"><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration over range with auto_partitioner and user-supplied context.  <a href="a00234.html#ga4c9935d8710a5cf786a92f3522ab2976">More...</a><br/></td></tr>
+<tr class="separator:ga4c9935d8710a5cf786a92f3522ab2976"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ga62b1a9ac304ba1eb4f87ab8cc18dd281"><td class="memTemplParams" colspan="2">template<typename Range , typename Body > </td></tr>
+<tr class="memitem:ga62b1a9ac304ba1eb4f87ab8cc18dd281"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00234.html#ga62b1a9ac304ba1eb4f87ab8cc18dd281">parallel_for</a> (const Range &range, const Body &body, affinity_partitioner &partitioner, <a class="el" href="a00138.html">task_group_context</a> &context)</td></tr>
+<tr class="memdesc:ga62b1a9ac304ba1eb4f87ab8cc18dd281"><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration over range with affinity_partitioner and user-supplied context.  <a href="a00234.html#ga62b1a9ac304ba1eb4f87ab8cc18dd281">More...</a><br/></td></tr>
+<tr class="separator:ga62b1a9ac304ba1eb4f87ab8cc18dd281"><td class="memSeparator" colspan="2"> </td></tr>
+<tr><td colspan="2"><div class="groupHeader">parallel_for_each</div></td></tr>
+<tr class="memitem:ga96bf42caaec779e413e5a2396c1e301c"><td class="memTemplParams" colspan="2">template<typename InputIterator , typename Function > </td></tr>
+<tr class="memitem:ga96bf42caaec779e413e5a2396c1e301c"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00234.html#ga96bf42caaec779e413e5a2396c1e301c">parallel_for_each</a> (InputIterator first, InputIterator last, const Function &f, <a class="el" href="a00138.html">task_group_context</a> &context)</td></tr>
+<tr class="memdesc:ga96bf42caaec779e413e5a2396c1e301c"><td class="mdescLeft"> </td><td class="mdescRight">Calls function f for all items from [first, last) interval using user-supplied context.  <a href="a00234.html#ga96bf42caaec779e413e5a2396c1e301c">More...</a><br/></td></tr>
+<tr class="separator:ga96bf42caaec779e413e5a2396c1e301c"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:gaef59e9baf9141a19c99a291e4532bd98"><td class="memTemplParams" colspan="2"><a class="anchor" id="gaef59e9baf9141a19c99a291e4532bd98"></a>
+template<typename InputIterator , typename Function > </td></tr>
+<tr class="memitem:gaef59e9baf9141a19c99a291e4532bd98"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00234.html#gaef59e9baf9141a19c99a291e4532bd98">parallel_for_each</a> (InputIterator first, InputIterator last, const Function &f)</td></tr>
+<tr class="memdesc:gaef59e9baf9141a19c99a291e4532bd98"><td class="mdescLeft"> </td><td class="mdescRight">Uses default context. <br/></td></tr>
+<tr class="separator:gaef59e9baf9141a19c99a291e4532bd98"><td class="memSeparator" colspan="2"> </td></tr>
+<tr><td colspan="2"><div class="groupHeader">parallel_invoke</div></td></tr>
+<tr class="memitem:ga14459dcbcd631194df803b155a7f610b"><td class="memTemplParams" colspan="2">template<typename F0 , typename F1 > </td></tr>
+<tr class="memitem:ga14459dcbcd631194df803b155a7f610b"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00234.html#ga14459dcbcd631194df803b155a7f610b">parallel_invoke</a> (const F0 &f0, const F1 &f1, <a class="el" href="a00138.html">tbb::task_group_context</a> &context)</td></tr>
+<tr class="memdesc:ga14459dcbcd631194df803b155a7f610b"><td class="mdescLeft"> </td><td class="mdescRight">Executes a list of tasks in parallel and waits for all tasks to complete.  <a href="a00234.html#ga14459dcbcd631194df803b155a7f610b">More...</a><br/></td></tr>
+<tr class="separator:ga14459dcbcd631194df803b155a7f610b"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:gaaea3f3a8883128afb596a963e856277f"><td class="memTemplParams" colspan="2"><a class="anchor" id="gaaea3f3a8883128afb596a963e856277f"></a>
+template<typename F0 , typename F1 , typename F2 > </td></tr>
+<tr class="memitem:gaaea3f3a8883128afb596a963e856277f"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><b>parallel_invoke</b> (const F0 &f0, const F1 &f1, const F2 &f2, <a class="el" href="a00138.html">tbb::task_group_context</a> &context)</td></tr>
+<tr class="separator:gaaea3f3a8883128afb596a963e856277f"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ga74932e64ede5047387108fa45f1af96f"><td class="memTemplParams" colspan="2"><a class="anchor" id="ga74932e64ede5047387108fa45f1af96f"></a>
+template<typename F0 , typename F1 , typename F2 , typename F3 > </td></tr>
+<tr class="memitem:ga74932e64ede5047387108fa45f1af96f"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><b>parallel_invoke</b> (const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3, <a class="el" href="a00138.html">tbb::task_group_context</a> &context)</td></tr>
+<tr class="separator:ga74932e64ede5047387108fa45f1af96f"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:gaefc1ba8f73cbdd094575f6db454fc6b5"><td class="memTemplParams" colspan="2"><a class="anchor" id="gaefc1ba8f73cbdd094575f6db454fc6b5"></a>
+template<typename F0 , typename F1 , typename F2 , typename F3 , typename F4 > </td></tr>
+<tr class="memitem:gaefc1ba8f73cbdd094575f6db454fc6b5"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><b>parallel_invoke</b> (const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3, const F4 &f4, <a class="el" href="a00138.html">tbb::task_group_context</a> &context)</td></tr>
+<tr class="separator:gaefc1ba8f73cbdd094575f6db454fc6b5"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ga3f02dfbb94238b2cf2ef8f20844b03af"><td class="memTemplParams" colspan="2"><a class="anchor" id="ga3f02dfbb94238b2cf2ef8f20844b03af"></a>
+template<typename F0 , typename F1 , typename F2 , typename F3 , typename F4 , typename F5 > </td></tr>
+<tr class="memitem:ga3f02dfbb94238b2cf2ef8f20844b03af"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><b>parallel_invoke</b> (const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3, const F4 &f4, const F5 &f5, <a class="el" href="a00138.html">tbb::task_group_context</a> &context)</td></tr>
+<tr class="separator:ga3f02dfbb94238b2cf2ef8f20844b03af"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:gad8c1220bbd59e3b8e7bbcdcfdda8047e"><td class="memTemplParams" colspan="2"><a class="anchor" id="gad8c1220bbd59e3b8e7bbcdcfdda8047e"></a>
+template<typename F0 , typename F1 , typename F2 , typename F3 , typename F4 , typename F5 , typename F6 > </td></tr>
+<tr class="memitem:gad8c1220bbd59e3b8e7bbcdcfdda8047e"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><b>parallel_invoke</b> (const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3, const F4 &f4, const F5 &f5, const F6 &f6, <a class="el" href="a00138.html">tbb::task_group_context</a> &context)</td></tr>
+<tr class="separator:gad8c1220bbd59e3b8e7bbcdcfdda8047e"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ga5ee83a66397ee0b15c77756cb5e5168e"><td class="memTemplParams" colspan="2"><a class="anchor" id="ga5ee83a66397ee0b15c77756cb5e5168e"></a>
+template<typename F0 , typename F1 , typename F2 , typename F3 , typename F4 , typename F5 , typename F6 , typename F7 > </td></tr>
+<tr class="memitem:ga5ee83a66397ee0b15c77756cb5e5168e"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><b>parallel_invoke</b> (const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3, const F4 &f4, const F5 &f5, const F6 &f6, const F7 &f7, <a class="el" href="a00138.html">tbb::task_group_context</a> &context)</td></tr>
+<tr class="separator:ga5ee83a66397ee0b15c77756cb5e5168e"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ga1af92ebd06f6cdf5ee668b1fe62657bd"><td class="memTemplParams" colspan="2"><a class="anchor" id="ga1af92ebd06f6cdf5ee668b1fe62657bd"></a>
+template<typename F0 , typename F1 , typename F2 , typename F3 , typename F4 , typename F5 , typename F6 , typename F7 , typename F8 > </td></tr>
+<tr class="memitem:ga1af92ebd06f6cdf5ee668b1fe62657bd"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><b>parallel_invoke</b> (const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3, const F4 &f4, const F5 &f5, const F6 &f6, const F7 &f7, const F8 &f8, <a class="el" href="a00138.html">tbb::task_group_context</a> &context)</td></tr>
+<tr class="separator:ga1af92ebd06f6cdf5ee668b1fe62657bd"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ga65846bc3b2f63ed1448b6cdfea9e1c80"><td class="memTemplParams" colspan="2"><a class="anchor" id="ga65846bc3b2f63ed1448b6cdfea9e1c80"></a>
+template<typename F0 , typename F1 , typename F2 , typename F3 , typename F4 , typename F5 , typename F6 , typename F7 , typename F8 , typename F9 > </td></tr>
+<tr class="memitem:ga65846bc3b2f63ed1448b6cdfea9e1c80"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><b>parallel_invoke</b> (const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3, const F4 &f4, const F5 &f5, const F6 &f6, const F7 &f7, const F8 &f8, const F9 &f9, <a class="el" href="a00138.html">tbb::task_group_context</a> &context)</td></tr>
+<tr class="separator:ga65846bc3b2f63ed1448b6cdfea9e1c80"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ga6b1c36ece1d3950677dd01ef0863648c"><td class="memTemplParams" colspan="2"><a class="anchor" id="ga6b1c36ece1d3950677dd01ef0863648c"></a>
+template<typename F0 , typename F1 > </td></tr>
+<tr class="memitem:ga6b1c36ece1d3950677dd01ef0863648c"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><b>parallel_invoke</b> (const F0 &f0, const F1 &f1)</td></tr>
+<tr class="separator:ga6b1c36ece1d3950677dd01ef0863648c"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:gaa979656a4c207782b74800c6c42982f5"><td class="memTemplParams" colspan="2"><a class="anchor" id="gaa979656a4c207782b74800c6c42982f5"></a>
+template<typename F0 , typename F1 , typename F2 > </td></tr>
+<tr class="memitem:gaa979656a4c207782b74800c6c42982f5"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><b>parallel_invoke</b> (const F0 &f0, const F1 &f1, const F2 &f2)</td></tr>
+<tr class="separator:gaa979656a4c207782b74800c6c42982f5"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ga219cb8061b7cf5454c0bc4d67cff1e34"><td class="memTemplParams" colspan="2"><a class="anchor" id="ga219cb8061b7cf5454c0bc4d67cff1e34"></a>
+template<typename F0 , typename F1 , typename F2 , typename F3 > </td></tr>
+<tr class="memitem:ga219cb8061b7cf5454c0bc4d67cff1e34"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><b>parallel_invoke</b> (const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3)</td></tr>
+<tr class="separator:ga219cb8061b7cf5454c0bc4d67cff1e34"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ga8319ee980cd7cfb03f12ffc2a5ea4895"><td class="memTemplParams" colspan="2"><a class="anchor" id="ga8319ee980cd7cfb03f12ffc2a5ea4895"></a>
+template<typename F0 , typename F1 , typename F2 , typename F3 , typename F4 > </td></tr>
+<tr class="memitem:ga8319ee980cd7cfb03f12ffc2a5ea4895"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><b>parallel_invoke</b> (const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3, const F4 &f4)</td></tr>
+<tr class="separator:ga8319ee980cd7cfb03f12ffc2a5ea4895"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ga295daf6f7394fba29a979b914be09fc6"><td class="memTemplParams" colspan="2"><a class="anchor" id="ga295daf6f7394fba29a979b914be09fc6"></a>
+template<typename F0 , typename F1 , typename F2 , typename F3 , typename F4 , typename F5 > </td></tr>
+<tr class="memitem:ga295daf6f7394fba29a979b914be09fc6"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><b>parallel_invoke</b> (const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3, const F4 &f4, const F5 &f5)</td></tr>
+<tr class="separator:ga295daf6f7394fba29a979b914be09fc6"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ga7652a01622a2f28df1e0edf40b691190"><td class="memTemplParams" colspan="2"><a class="anchor" id="ga7652a01622a2f28df1e0edf40b691190"></a>
+template<typename F0 , typename F1 , typename F2 , typename F3 , typename F4 , typename F5 , typename F6 > </td></tr>
+<tr class="memitem:ga7652a01622a2f28df1e0edf40b691190"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><b>parallel_invoke</b> (const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3, const F4 &f4, const F5 &f5, const F6 &f6)</td></tr>
+<tr class="separator:ga7652a01622a2f28df1e0edf40b691190"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:gadd8826371866c58e41dee3546c35d2c8"><td class="memTemplParams" colspan="2"><a class="anchor" id="gadd8826371866c58e41dee3546c35d2c8"></a>
+template<typename F0 , typename F1 , typename F2 , typename F3 , typename F4 , typename F5 , typename F6 , typename F7 > </td></tr>
+<tr class="memitem:gadd8826371866c58e41dee3546c35d2c8"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><b>parallel_invoke</b> (const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3, const F4 &f4, const F5 &f5, const F6 &f6, const F7 &f7)</td></tr>
+<tr class="separator:gadd8826371866c58e41dee3546c35d2c8"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:gaeca8b72507d67dd023dae728bdc89896"><td class="memTemplParams" colspan="2"><a class="anchor" id="gaeca8b72507d67dd023dae728bdc89896"></a>
+template<typename F0 , typename F1 , typename F2 , typename F3 , typename F4 , typename F5 , typename F6 , typename F7 , typename F8 > </td></tr>
+<tr class="memitem:gaeca8b72507d67dd023dae728bdc89896"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><b>parallel_invoke</b> (const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3, const F4 &f4, const F5 &f5, const F6 &f6, const F7 &f7, const F8 &f8)</td></tr>
+<tr class="separator:gaeca8b72507d67dd023dae728bdc89896"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ga17c9f95fac24b2b7b62f325f511ee7be"><td class="memTemplParams" colspan="2"><a class="anchor" id="ga17c9f95fac24b2b7b62f325f511ee7be"></a>
+template<typename F0 , typename F1 , typename F2 , typename F3 , typename F4 , typename F5 , typename F6 , typename F7 , typename F8 , typename F9 > </td></tr>
+<tr class="memitem:ga17c9f95fac24b2b7b62f325f511ee7be"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><b>parallel_invoke</b> (const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3, const F4 &f4, const F5 &f5, const F6 &f6, const F7 &f7, const F8 &f8, const F9 &f9)</td></tr>
+<tr class="separator:ga17c9f95fac24b2b7b62f325f511ee7be"><td class="memSeparator" colspan="2"> </td></tr>
+<tr><td colspan="2"><div class="groupHeader">parallel_reduce</div></td></tr>
+<tr><td colspan="2"><div class="groupText"><p>See also requirements on <a class="el" href="a00001.html">Range</a> and <a class="el" href="a00004.html">parallel_reduce Body</a>. </p>
+</div></td></tr>
+<tr class="memitem:ga7b1ce9568e0a0efe1bd2d55677bc6687"><td class="memTemplParams" colspan="2">template<typename Range , typename Body > </td></tr>
+<tr class="memitem:ga7b1ce9568e0a0efe1bd2d55677bc6687"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00234.html#ga7b1ce9568e0a0efe1bd2d55677bc6687">parallel_reduce</a> (const Range &range, Body &body)</td></tr>
+<tr class="memdesc:ga7b1ce9568e0a0efe1bd2d55677bc6687"><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration with reduction and default partitioner.  <a href="a00234.html#ga7b1ce9568e0a0efe1bd2d55677bc6687">More...</a><br/></td></tr>
+<tr class="separator:ga7b1ce9568e0a0efe1bd2d55677bc6687"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:gaebb92b593827f9c3f5e1f8ee2f7d5f82"><td class="memTemplParams" colspan="2">template<typename Range , typename Body > </td></tr>
+<tr class="memitem:gaebb92b593827f9c3f5e1f8ee2f7d5f82"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00234.html#gaebb92b593827f9c3f5e1f8ee2f7d5f82">parallel_reduce</a> (const Range &range, Body &body, const simple_partitioner &partitioner)</td></tr>
+<tr class="memdesc:gaebb92b593827f9c3f5e1f8ee2f7d5f82"><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration with reduction and simple_partitioner.  <a href="a00234.html#gaebb92b593827f9c3f5e1f8ee2f7d5f82">More...</a><br/></td></tr>
+<tr class="separator:gaebb92b593827f9c3f5e1f8ee2f7d5f82"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ga3011e7266fb1e43d307060fe75be2c6e"><td class="memTemplParams" colspan="2">template<typename Range , typename Body > </td></tr>
+<tr class="memitem:ga3011e7266fb1e43d307060fe75be2c6e"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00234.html#ga3011e7266fb1e43d307060fe75be2c6e">parallel_reduce</a> (const Range &range, Body &body, const auto_partitioner &partitioner)</td></tr>
+<tr class="memdesc:ga3011e7266fb1e43d307060fe75be2c6e"><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration with reduction and auto_partitioner.  <a href="a00234.html#ga3011e7266fb1e43d307060fe75be2c6e">More...</a><br/></td></tr>
+<tr class="separator:ga3011e7266fb1e43d307060fe75be2c6e"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ga6e83e121490df24fa5893b14e68f5e2a"><td class="memTemplParams" colspan="2">template<typename Range , typename Body > </td></tr>
+<tr class="memitem:ga6e83e121490df24fa5893b14e68f5e2a"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00234.html#ga6e83e121490df24fa5893b14e68f5e2a">parallel_reduce</a> (const Range &range, Body &body, affinity_partitioner &partitioner)</td></tr>
+<tr class="memdesc:ga6e83e121490df24fa5893b14e68f5e2a"><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration with reduction and affinity_partitioner.  <a href="a00234.html#ga6e83e121490df24fa5893b14e68f5e2a">More...</a><br/></td></tr>
+<tr class="separator:ga6e83e121490df24fa5893b14e68f5e2a"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:gac57281bea03450ccb2d098ee8c7ab697"><td class="memTemplParams" colspan="2">template<typename Range , typename Body > </td></tr>
+<tr class="memitem:gac57281bea03450ccb2d098ee8c7ab697"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00234.html#gac57281bea03450ccb2d098ee8c7ab697">parallel_reduce</a> (const Range &range, Body &body, const simple_partitioner &partitioner, <a class="el" href="a00138.html">task_group_context</a> &context)</td></tr>
+<tr class="memdesc:gac57281bea03450ccb2d098ee8c7ab697"><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration with reduction, simple partitioner and user-supplied context.  <a href="a00234.html#gac57281bea03450ccb2d098ee8c7ab697">More...</a><br/></td></tr>
+<tr class="separator:gac57281bea03450ccb2d098ee8c7ab697"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ga5f3ebf50ab7f5e53fd936817c866f7be"><td class="memTemplParams" colspan="2">template<typename Range , typename Body > </td></tr>
+<tr class="memitem:ga5f3ebf50ab7f5e53fd936817c866f7be"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00234.html#ga5f3ebf50ab7f5e53fd936817c866f7be">parallel_reduce</a> (const Range &range, Body &body, const auto_partitioner &partitioner, <a class="el" href="a00138.html">task_group_context</a> &context)</td></tr>
+<tr class="memdesc:ga5f3ebf50ab7f5e53fd936817c866f7be"><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration with reduction, auto_partitioner and user-supplied context.  <a href="a00234.html#ga5f3ebf50ab7f5e53fd936817c866f7be">More...</a><br/></td></tr>
+<tr class="separator:ga5f3ebf50ab7f5e53fd936817c866f7be"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ga5df3f3a9618fd35931107819cb43fce6"><td class="memTemplParams" colspan="2">template<typename Range , typename Body > </td></tr>
+<tr class="memitem:ga5df3f3a9618fd35931107819cb43fce6"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00234.html#ga5df3f3a9618fd35931107819cb43fce6">parallel_reduce</a> (const Range &range, Body &body, affinity_partitioner &partitioner, <a class="el" href="a00138.html">task_group_context</a> &context)</td></tr>
+<tr class="memdesc:ga5df3f3a9618fd35931107819cb43fce6"><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration with reduction, affinity_partitioner and user-supplied context.  <a href="a00234.html#ga5df3f3a9618fd35931107819cb43fce6">More...</a><br/></td></tr>
+<tr class="separator:ga5df3f3a9618fd35931107819cb43fce6"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ga1c9b66fa25cadee9ca3bff75a6609b05"><td class="memTemplParams" colspan="2">template<typename Range , typename Value , typename RealBody , typename Reduction > </td></tr>
+<tr class="memitem:ga1c9b66fa25cadee9ca3bff75a6609b05"><td class="memTemplItemLeft" align="right" valign="top">Value </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00234.html#ga1c9b66fa25cadee9ca3bff75a6609b05">parallel_reduce</a> (const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction)</td></tr>
+<tr class="memdesc:ga1c9b66fa25cadee9ca3bff75a6609b05"><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration with reduction and default partitioner.  <a href="a00234.html#ga1c9b66fa25cadee9ca3bff75a6609b05">More...</a><br/></td></tr>
+<tr class="separator:ga1c9b66fa25cadee9ca3bff75a6609b05"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ga0b22fd1de0e8bbaf46587d3c63a1ed93"><td class="memTemplParams" colspan="2">template<typename Range , typename Value , typename RealBody , typename Reduction > </td></tr>
+<tr class="memitem:ga0b22fd1de0e8bbaf46587d3c63a1ed93"><td class="memTemplItemLeft" align="right" valign="top">Value </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00234.html#ga0b22fd1de0e8bbaf46587d3c63a1ed93">parallel_reduce</a> (const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction, const simple_partitioner &partitioner)</td></tr>
+<tr class="memdesc:ga0b22fd1de0e8bbaf46587d3c63a1ed93"><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration with reduction and simple_partitioner.  <a href="a00234.html#ga0b22fd1de0e8bbaf46587d3c63a1ed93">More...</a><br/></td></tr>
+<tr class="separator:ga0b22fd1de0e8bbaf46587d3c63a1ed93"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ga56e6b6e2eee521f532c00d855280be69"><td class="memTemplParams" colspan="2">template<typename Range , typename Value , typename RealBody , typename Reduction > </td></tr>
+<tr class="memitem:ga56e6b6e2eee521f532c00d855280be69"><td class="memTemplItemLeft" align="right" valign="top">Value </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00234.html#ga56e6b6e2eee521f532c00d855280be69">parallel_reduce</a> (const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction, const auto_partitioner &partitioner)</td></tr>
+<tr class="memdesc:ga56e6b6e2eee521f532c00d855280be69"><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration with reduction and auto_partitioner.  <a href="a00234.html#ga56e6b6e2eee521f532c00d855280be69">More...</a><br/></td></tr>
+<tr class="separator:ga56e6b6e2eee521f532c00d855280be69"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:gac26c35d1983e7ac2ab003cc8e49dd7e6"><td class="memTemplParams" colspan="2">template<typename Range , typename Value , typename RealBody , typename Reduction > </td></tr>
+<tr class="memitem:gac26c35d1983e7ac2ab003cc8e49dd7e6"><td class="memTemplItemLeft" align="right" valign="top">Value </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00234.html#gac26c35d1983e7ac2ab003cc8e49dd7e6">parallel_reduce</a> (const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction, affinity_partitioner &partitioner)</td></tr>
+<tr class="memdesc:gac26c35d1983e7ac2ab003cc8e49dd7e6"><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration with reduction and affinity_partitioner.  <a href="a00234.html#gac26c35d1983e7ac2ab003cc8e49dd7e6">More...</a><br/></td></tr>
+<tr class="separator:gac26c35d1983e7ac2ab003cc8e49dd7e6"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ga518ef2653004d60319bdfc1c6bce86b6"><td class="memTemplParams" colspan="2">template<typename Range , typename Value , typename RealBody , typename Reduction > </td></tr>
+<tr class="memitem:ga518ef2653004d60319bdfc1c6bce86b6"><td class="memTemplItemLeft" align="right" valign="top">Value </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00234.html#ga518ef2653004d60319bdfc1c6bce86b6">parallel_reduce</a> (const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction, const simple_partitioner &partitioner, <a class="el" href="a00138.html">task_group_context</a> &context)</td></tr>
+<tr class="memdesc:ga518ef2653004d60319bdfc1c6bce86b6"><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration with reduction, simple partitioner and user-supplied context.  <a href="a00234.html#ga518ef2653004d60319bdfc1c6bce86b6">More...</a><br/></td></tr>
+<tr class="separator:ga518ef2653004d60319bdfc1c6bce86b6"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ga24ba50caf5a7c32cbd38912508cb69a4"><td class="memTemplParams" colspan="2">template<typename Range , typename Value , typename RealBody , typename Reduction > </td></tr>
+<tr class="memitem:ga24ba50caf5a7c32cbd38912508cb69a4"><td class="memTemplItemLeft" align="right" valign="top">Value </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00234.html#ga24ba50caf5a7c32cbd38912508cb69a4">parallel_reduce</a> (const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction, const auto_partitioner &partitioner, <a class="el" href="a00138.html">task_group_context</a> &context)</td></tr>
+<tr class="memdesc:ga24ba50caf5a7c32cbd38912508cb69a4"><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration with reduction, auto_partitioner and user-supplied context.  <a href="a00234.html#ga24ba50caf5a7c32cbd38912508cb69a4">More...</a><br/></td></tr>
+<tr class="separator:ga24ba50caf5a7c32cbd38912508cb69a4"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ga367a8e77c4dac3f8764785afdc6c9299"><td class="memTemplParams" colspan="2">template<typename Range , typename Value , typename RealBody , typename Reduction > </td></tr>
+<tr class="memitem:ga367a8e77c4dac3f8764785afdc6c9299"><td class="memTemplItemLeft" align="right" valign="top">Value </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00234.html#ga367a8e77c4dac3f8764785afdc6c9299">parallel_reduce</a> (const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction, affinity_partitioner &partitioner, <a class="el" href="a00138.html">task_group_context</a> &context)</td></tr>
+<tr class="memdesc:ga367a8e77c4dac3f8764785afdc6c9299"><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration with reduction, affinity_partitioner and user-supplied context.  <a href="a00234.html#ga367a8e77c4dac3f8764785afdc6c9299">More...</a><br/></td></tr>
+<tr class="separator:ga367a8e77c4dac3f8764785afdc6c9299"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ga1fd7e3c43592dfe1ae3e3572bd80d4f6"><td class="memTemplParams" colspan="2">template<typename Range , typename Body > </td></tr>
+<tr class="memitem:ga1fd7e3c43592dfe1ae3e3572bd80d4f6"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00234.html#ga1fd7e3c43592dfe1ae3e3572bd80d4f6">parallel_deterministic_reduce</a> (const Range &range, Body &body)</td></tr>
+<tr class="memdesc:ga1fd7e3c43592dfe1ae3e3572bd80d4f6"><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration with deterministic reduction and default partitioner.  <a href="a00234.html#ga1fd7e3c43592dfe1ae3e3572bd80d4f6">More...</a><br/></td></tr>
+<tr class="separator:ga1fd7e3c43592dfe1ae3e3572bd80d4f6"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ga361201f81b4ec7b86f81b579d2db647a"><td class="memTemplParams" colspan="2">template<typename Range , typename Body > </td></tr>
+<tr class="memitem:ga361201f81b4ec7b86f81b579d2db647a"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00234.html#ga361201f81b4ec7b86f81b579d2db647a">parallel_deterministic_reduce</a> (const Range &range, Body &body, <a class="el" href="a00138.html">task_group_context</a> &context)</td></tr>
+<tr class="memdesc:ga361201f81b4ec7b86f81b579d2db647a"><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration with deterministic reduction, simple partitioner and user-supplied context.  <a href="a00234.html#ga361201f81b4ec7b86f81b579d2db647a">More...</a><br/></td></tr>
+<tr class="separator:ga361201f81b4ec7b86f81b579d2db647a"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ga7f69e6a632acb51ed26a43ebd331f349"><td class="memTemplParams" colspan="2">template<typename Range , typename Value , typename RealBody , typename Reduction > </td></tr>
+<tr class="memitem:ga7f69e6a632acb51ed26a43ebd331f349"><td class="memTemplItemLeft" align="right" valign="top">Value </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00234.html#ga7f69e6a632acb51ed26a43ebd331f349">parallel_deterministic_reduce</a> (const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction)</td></tr>
+<tr class="memdesc:ga7f69e6a632acb51ed26a43ebd331f349"><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration with deterministic reduction and default partitioner.  <a href="a00234.html#ga7f69e6a632acb51ed26a43ebd331f349">More...</a><br/></td></tr>
+<tr class="separator:ga7f69e6a632acb51ed26a43ebd331f349"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ga69b4eea059a62cbbf409cbad02b70bfa"><td class="memTemplParams" colspan="2">template<typename Range , typename Value , typename RealBody , typename Reduction > </td></tr>
+<tr class="memitem:ga69b4eea059a62cbbf409cbad02b70bfa"><td class="memTemplItemLeft" align="right" valign="top">Value </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00234.html#ga69b4eea059a62cbbf409cbad02b70bfa">parallel_deterministic_reduce</a> (const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction, <a class="el" href="a00138.html">task_group_context</a> &context)</td></tr>
+<tr class="memdesc:ga69b4eea059a62cbbf409cbad02b70bfa"><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration with deterministic reduction, simple partitioner and user-supplied context.  <a href="a00234.html#ga69b4eea059a62cbbf409cbad02b70bfa">More...</a><br/></td></tr>
+<tr class="separator:ga69b4eea059a62cbbf409cbad02b70bfa"><td class="memSeparator" colspan="2"> </td></tr>
+<tr><td colspan="2"><div class="groupHeader">parallel_scan</div></td></tr>
+<tr><td colspan="2"><div class="groupText"><p>See also requirements on <a class="el" href="a00001.html">Range</a> and <a class="el" href="a00006.html">parallel_scan Body</a>. </p>
+</div></td></tr>
+<tr class="memitem:gae7eaaf124471a6c603b28fc925e8fbbb"><td class="memTemplParams" colspan="2">template<typename Range , typename Body > </td></tr>
+<tr class="memitem:gae7eaaf124471a6c603b28fc925e8fbbb"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00234.html#gae7eaaf124471a6c603b28fc925e8fbbb">parallel_scan</a> (const Range &range, Body &body)</td></tr>
+<tr class="memdesc:gae7eaaf124471a6c603b28fc925e8fbbb"><td class="mdescLeft"> </td><td class="mdescRight">Parallel prefix with default partitioner.  <a href="a00234.html#gae7eaaf124471a6c603b28fc925e8fbbb">More...</a><br/></td></tr>
+<tr class="separator:gae7eaaf124471a6c603b28fc925e8fbbb"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ga7ddacf5e49f1bea9b67803f2d0f57531"><td class="memTemplParams" colspan="2">template<typename Range , typename Body > </td></tr>
+<tr class="memitem:ga7ddacf5e49f1bea9b67803f2d0f57531"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00234.html#ga7ddacf5e49f1bea9b67803f2d0f57531">parallel_scan</a> (const Range &range, Body &body, const simple_partitioner &partitioner)</td></tr>
+<tr class="memdesc:ga7ddacf5e49f1bea9b67803f2d0f57531"><td class="mdescLeft"> </td><td class="mdescRight">Parallel prefix with simple_partitioner.  <a href="a00234.html#ga7ddacf5e49f1bea9b67803f2d0f57531">More...</a><br/></td></tr>
+<tr class="separator:ga7ddacf5e49f1bea9b67803f2d0f57531"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ga3548041731b7fa14f30f155541ceebb9"><td class="memTemplParams" colspan="2">template<typename Range , typename Body > </td></tr>
+<tr class="memitem:ga3548041731b7fa14f30f155541ceebb9"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00234.html#ga3548041731b7fa14f30f155541ceebb9">parallel_scan</a> (const Range &range, Body &body, const auto_partitioner &partitioner)</td></tr>
+<tr class="memdesc:ga3548041731b7fa14f30f155541ceebb9"><td class="mdescLeft"> </td><td class="mdescRight">Parallel prefix with auto_partitioner.  <a href="a00234.html#ga3548041731b7fa14f30f155541ceebb9">More...</a><br/></td></tr>
+<tr class="separator:ga3548041731b7fa14f30f155541ceebb9"><td class="memSeparator" colspan="2"> </td></tr>
+<tr><td colspan="2"><div class="groupHeader">parallel_sort</div></td></tr>
+<tr><td colspan="2"><div class="groupText"><p>See also requirements on <a class="el" href="a00007.html">iterators for parallel_sort</a>. </p>
+</div></td></tr>
+<tr class="memitem:gabdc90813499f91d3e32298cd6dc2fe45"><td class="memTemplParams" colspan="2">template<typename RandomAccessIterator , typename Compare > </td></tr>
+<tr class="memitem:gabdc90813499f91d3e32298cd6dc2fe45"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00234.html#gabdc90813499f91d3e32298cd6dc2fe45">parallel_sort</a> (RandomAccessIterator begin, RandomAccessIterator end, const Compare &comp)</td></tr>
+<tr class="memdesc:gabdc90813499f91d3e32298cd6dc2fe45"><td class="mdescLeft"> </td><td class="mdescRight">Sorts the data in [begin,end) using the given comparator.  <a href="a00234.html#gabdc90813499f91d3e32298cd6dc2fe45">More...</a><br/></td></tr>
+<tr class="separator:gabdc90813499f91d3e32298cd6dc2fe45"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ga73b58ac9249f49587d0b081c152af551"><td class="memTemplParams" colspan="2">template<typename RandomAccessIterator > </td></tr>
+<tr class="memitem:ga73b58ac9249f49587d0b081c152af551"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00234.html#ga73b58ac9249f49587d0b081c152af551">parallel_sort</a> (RandomAccessIterator begin, RandomAccessIterator end)</td></tr>
+<tr class="memdesc:ga73b58ac9249f49587d0b081c152af551"><td class="mdescLeft"> </td><td class="mdescRight">Sorts the data in [begin,end) with a default comparator <code>std::less<RandomAccessIterator></code>  <a href="a00234.html#ga73b58ac9249f49587d0b081c152af551">More...</a><br/></td></tr>
+<tr class="separator:ga73b58ac9249f49587d0b081c152af551"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ga8f176cdc232a6e5907456656a24983a8"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
+<tr class="memitem:ga8f176cdc232a6e5907456656a24983a8"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00234.html#ga8f176cdc232a6e5907456656a24983a8">parallel_sort</a> (T *begin, T *end)</td></tr>
+<tr class="memdesc:ga8f176cdc232a6e5907456656a24983a8"><td class="mdescLeft"> </td><td class="mdescRight">Sorts the data in the range <code></code>[begin,end) with a default comparator <code>std::less<T></code>  <a href="a00234.html#ga8f176cdc232a6e5907456656a24983a8">More...</a><br/></td></tr>
+<tr class="separator:ga8f176cdc232a6e5907456656a24983a8"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>The namespace tbb contains all components of the library. </p>
+</div><h2 class="groupheader">Enumeration Type Documentation</h2>
+<a class="anchor" id="adb86d08473679d6fe0eabcdc766ffe3a"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">enum <a class="el" href="a00222.html#adb86d08473679d6fe0eabcdc766ffe3a">tbb::memory_semantics</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Specifies memory semantics. </p>
+<table class="fieldtable">
+<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="adb86d08473679d6fe0eabcdc766ffe3aa6a315190cf4509ec388ecb423432f36a"></a>full_fence</em> </td><td class="fielddoc">
+<p>Sequential consistency. </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="adb86d08473679d6fe0eabcdc766ffe3aaa92646b4dc7618530d3a9f51dd10a418"></a>acquire</em> </td><td class="fielddoc">
+<p>Acquire. </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="adb86d08473679d6fe0eabcdc766ffe3aa412563418e657114a102db610f726632"></a>release</em> </td><td class="fielddoc">
+<p>Release. </p>
+</td></tr>
+<tr><td class="fieldname"><em><a class="anchor" id="adb86d08473679d6fe0eabcdc766ffe3aa73cb2e2bcb94442b8b2b72e93a76f2e5"></a>relaxed</em> </td><td class="fielddoc">
+<p>No ordering. </p>
+</td></tr>
+</table>
+
+</div>
+</div>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="ade8a8bc300d5ef09d38cbfb8baff5cd2"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int __TBB_EXPORTED_FUNC tbb::TBB_runtime_interface_version </td>
+          <td>(</td>
+          <td class="paramname">)</td><td></td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>The function returns the interface version of the TBB shared library being used. </p>
+<p>The version it returns is determined at runtime, not at compile/link time. So it can be different than the value of TBB_INTERFACE_VERSION obtained at compile time. </p>
+
+</div>
+</div>
+</div><!-- contents -->
+<hr>
+<p></p>
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
+<p></p>
+Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
+registered trademarks or trademarks of Intel Corporation or its
+subsidiaries in the United States and other countries.
+<p></p>
+* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00234.html b/doc/html/a00234.html
new file mode 100644
index 0000000..d3ff781
--- /dev/null
+++ b/doc/html/a00234.html
@@ -0,0 +1,1779 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Algorithms</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Classes</a>  </div>
+  <div class="headertitle">
+<div class="title">Algorithms</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Classes</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00021.html">tbb::blocked_range< Value ></a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">A range over which to iterate.  <a href="a00021.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00022.html">tbb::blocked_range2d< RowValue, ColValue ></a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">A 2-dimensional range that models the Range concept.  <a href="a00022.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00023.html">tbb::blocked_range3d< PageValue, RowValue, ColValue ></a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">A 3-dimensional range that models the Range concept.  <a href="a00023.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00090.html">tbb::pre_scan_tag</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Used to indicate that the initial scan is being performed.  <a href="a00090.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00055.html">tbb::final_scan_tag</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Used to indicate that the final scan is being performed.  <a href="a00055.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00088.html">tbb::parallel_while< Body ></a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration over a stream, with optional addition of more work.  <a href="a00088.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00053.html">tbb::filter</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">A stage in a pipeline.  <a href="a00053.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html">tbb::thread_bound_filter</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">A stage in a pipeline served by a user thread.  <a href="a00150.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00089.html">tbb::pipeline</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">A processing pipeline that applies filters to items.  <a href="a00089.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00129.html">tbb::split</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Dummy type that distinguishes splitting constructor from copy constructor.  <a href="a00129.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
+parallel_do</h2></td></tr>
+<tr><td class="ititle" colspan="2"><p><a class="anchor" id="amgrp751e5e5b1749802e9339f8ae6e071bc7"></a>See also requirements on <a class="el" href="a00002.html">parallel_do Body</a>. </p>
+</td></tr>
+<tr class="memitem:ga533f6732498ade8634a9470cbf89192d"><td class="memTemplParams" colspan="2">template<typename Iterator , typename Body > </td></tr>
+<tr class="memitem:ga533f6732498ade8634a9470cbf89192d"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00234.html#ga533f6732498ade8634a9470cbf89192d">tbb::parallel_do</a> (Iterator first, Iterator last, const Body &body)</td></tr>
+<tr class="memdesc:ga533f6732498ade8634a9470cbf89192d"><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration over a range, with optional addition of more work.  <a href="#ga533f6732498ade8634a9470cbf89192d">More...</a><br/></td></tr>
+<tr class="separator:ga533f6732498ade8634a9470cbf89192d"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ga7db29bc10d81eddc85854256ffc723c0"><td class="memTemplParams" colspan="2">template<typename Iterator , typename Body > </td></tr>
+<tr class="memitem:ga7db29bc10d81eddc85854256ffc723c0"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00234.html#ga7db29bc10d81eddc85854256ffc723c0">tbb::parallel_do</a> (Iterator first, Iterator last, const Body &body, task_group_context &context)</td></tr>
+<tr class="memdesc:ga7db29bc10d81eddc85854256ffc723c0"><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration over a range, with optional addition of more work and user-supplied context.  <a href="#ga7db29bc10d81eddc85854256ffc723c0">More...</a><br/></td></tr>
+<tr class="separator:ga7db29bc10d81eddc85854256ffc723c0"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
+parallel_for</h2></td></tr>
+<tr><td class="ititle" colspan="2"><p><a class="anchor" id="amgrp020f371880777e82219a69f8a512e874"></a>See also requirements on <a class="el" href="a00001.html">Range</a> and <a class="el" href="a00003.html">parallel_for Body</a>. </p>
+</td></tr>
+<tr class="memitem:gaa8444c29dc4d2e527a1036717d109aef"><td class="memTemplParams" colspan="2">template<typename Range , typename Body > </td></tr>
+<tr class="memitem:gaa8444c29dc4d2e527a1036717d109aef"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00234.html#gaa8444c29dc4d2e527a1036717d109aef">tbb::parallel_for</a> (const Range &range, const Body &body)</td></tr>
+<tr class="memdesc:gaa8444c29dc4d2e527a1036717d109aef"><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration over range with default partitioner.  <a href="#gaa8444c29dc4d2e527a1036717d109aef">More...</a><br/></td></tr>
+<tr class="separator:gaa8444c29dc4d2e527a1036717d109aef"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ga9722d2bc7e5edb4fae9f3b55268a1ecc"><td class="memTemplParams" colspan="2">template<typename Range , typename Body > </td></tr>
+<tr class="memitem:ga9722d2bc7e5edb4fae9f3b55268a1ecc"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00234.html#ga9722d2bc7e5edb4fae9f3b55268a1ecc">tbb::parallel_for</a> (const Range &range, const Body &body, const simple_partitioner &partitioner)</td></tr>
+<tr class="memdesc:ga9722d2bc7e5edb4fae9f3b55268a1ecc"><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration over range with simple partitioner.  <a href="#ga9722d2bc7e5edb4fae9f3b55268a1ecc">More...</a><br/></td></tr>
+<tr class="separator:ga9722d2bc7e5edb4fae9f3b55268a1ecc"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:gad6c4b06f96ae33cefe78235841791902"><td class="memTemplParams" colspan="2">template<typename Range , typename Body > </td></tr>
+<tr class="memitem:gad6c4b06f96ae33cefe78235841791902"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00234.html#gad6c4b06f96ae33cefe78235841791902">tbb::parallel_for</a> (const Range &range, const Body &body, const auto_partitioner &partitioner)</td></tr>
+<tr class="memdesc:gad6c4b06f96ae33cefe78235841791902"><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration over range with auto_partitioner.  <a href="#gad6c4b06f96ae33cefe78235841791902">More...</a><br/></td></tr>
+<tr class="separator:gad6c4b06f96ae33cefe78235841791902"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:gaf3d39e372d825bf54283b5ceafa90057"><td class="memTemplParams" colspan="2">template<typename Range , typename Body > </td></tr>
+<tr class="memitem:gaf3d39e372d825bf54283b5ceafa90057"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00234.html#gaf3d39e372d825bf54283b5ceafa90057">tbb::parallel_for</a> (const Range &range, const Body &body, affinity_partitioner &partitioner)</td></tr>
+<tr class="memdesc:gaf3d39e372d825bf54283b5ceafa90057"><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration over range with affinity_partitioner.  <a href="#gaf3d39e372d825bf54283b5ceafa90057">More...</a><br/></td></tr>
+<tr class="separator:gaf3d39e372d825bf54283b5ceafa90057"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ga93a621202db94665144de38c0b09bdad"><td class="memTemplParams" colspan="2">template<typename Range , typename Body > </td></tr>
+<tr class="memitem:ga93a621202db94665144de38c0b09bdad"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00234.html#ga93a621202db94665144de38c0b09bdad">tbb::parallel_for</a> (const Range &range, const Body &body, task_group_context &context)</td></tr>
+<tr class="memdesc:ga93a621202db94665144de38c0b09bdad"><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration over range with default partitioner and user-supplied context.  <a href="#ga93a621202db94665144de38c0b09bdad">More...</a><br/></td></tr>
+<tr class="separator:ga93a621202db94665144de38c0b09bdad"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ga5b7fab9d6ffe7a9345e9349a5a007bd4"><td class="memTemplParams" colspan="2">template<typename Range , typename Body > </td></tr>
+<tr class="memitem:ga5b7fab9d6ffe7a9345e9349a5a007bd4"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00234.html#ga5b7fab9d6ffe7a9345e9349a5a007bd4">tbb::parallel_for</a> (const Range &range, const Body &body, const simple_partitioner &partitioner, task_group_context &context)</td></tr>
+<tr class="memdesc:ga5b7fab9d6ffe7a9345e9349a5a007bd4"><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration over range with simple partitioner and user-supplied context.  <a href="#ga5b7fab9d6ffe7a9345e9349a5a007bd4">More...</a><br/></td></tr>
+<tr class="separator:ga5b7fab9d6ffe7a9345e9349a5a007bd4"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ga4c9935d8710a5cf786a92f3522ab2976"><td class="memTemplParams" colspan="2">template<typename Range , typename Body > </td></tr>
+<tr class="memitem:ga4c9935d8710a5cf786a92f3522ab2976"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00234.html#ga4c9935d8710a5cf786a92f3522ab2976">tbb::parallel_for</a> (const Range &range, const Body &body, const auto_partitioner &partitioner, task_group_context &context)</td></tr>
+<tr class="memdesc:ga4c9935d8710a5cf786a92f3522ab2976"><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration over range with auto_partitioner and user-supplied context.  <a href="#ga4c9935d8710a5cf786a92f3522ab2976">More...</a><br/></td></tr>
+<tr class="separator:ga4c9935d8710a5cf786a92f3522ab2976"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ga62b1a9ac304ba1eb4f87ab8cc18dd281"><td class="memTemplParams" colspan="2">template<typename Range , typename Body > </td></tr>
+<tr class="memitem:ga62b1a9ac304ba1eb4f87ab8cc18dd281"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00234.html#ga62b1a9ac304ba1eb4f87ab8cc18dd281">tbb::parallel_for</a> (const Range &range, const Body &body, affinity_partitioner &partitioner, task_group_context &context)</td></tr>
+<tr class="memdesc:ga62b1a9ac304ba1eb4f87ab8cc18dd281"><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration over range with affinity_partitioner and user-supplied context.  <a href="#ga62b1a9ac304ba1eb4f87ab8cc18dd281">More...</a><br/></td></tr>
+<tr class="separator:ga62b1a9ac304ba1eb4f87ab8cc18dd281"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
+parallel_for_each</h2></td></tr>
+<tr class="memitem:ga96bf42caaec779e413e5a2396c1e301c"><td class="memTemplParams" colspan="2">template<typename InputIterator , typename Function > </td></tr>
+<tr class="memitem:ga96bf42caaec779e413e5a2396c1e301c"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00234.html#ga96bf42caaec779e413e5a2396c1e301c">tbb::parallel_for_each</a> (InputIterator first, InputIterator last, const Function &f, task_group_context &context)</td></tr>
+<tr class="memdesc:ga96bf42caaec779e413e5a2396c1e301c"><td class="mdescLeft"> </td><td class="mdescRight">Calls function f for all items from [first, last) interval using user-supplied context.  <a href="#ga96bf42caaec779e413e5a2396c1e301c">More...</a><br/></td></tr>
+<tr class="separator:ga96bf42caaec779e413e5a2396c1e301c"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:gaef59e9baf9141a19c99a291e4532bd98"><td class="memTemplParams" colspan="2"><a class="anchor" id="gaef59e9baf9141a19c99a291e4532bd98"></a>
+template<typename InputIterator , typename Function > </td></tr>
+<tr class="memitem:gaef59e9baf9141a19c99a291e4532bd98"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00234.html#gaef59e9baf9141a19c99a291e4532bd98">tbb::parallel_for_each</a> (InputIterator first, InputIterator last, const Function &f)</td></tr>
+<tr class="memdesc:gaef59e9baf9141a19c99a291e4532bd98"><td class="mdescLeft"> </td><td class="mdescRight">Uses default context. <br/></td></tr>
+<tr class="separator:gaef59e9baf9141a19c99a291e4532bd98"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
+parallel_invoke</h2></td></tr>
+<tr class="memitem:ga14459dcbcd631194df803b155a7f610b"><td class="memTemplParams" colspan="2">template<typename F0 , typename F1 > </td></tr>
+<tr class="memitem:ga14459dcbcd631194df803b155a7f610b"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00234.html#ga14459dcbcd631194df803b155a7f610b">tbb::parallel_invoke</a> (const F0 &f0, const F1 &f1, <a class="el" href="a00138.html">tbb::task_group_context</a> &context)</td></tr>
+<tr class="memdesc:ga14459dcbcd631194df803b155a7f610b"><td class="mdescLeft"> </td><td class="mdescRight">Executes a list of tasks in parallel and waits for all tasks to complete.  <a href="#ga14459dcbcd631194df803b155a7f610b">More...</a><br/></td></tr>
+<tr class="separator:ga14459dcbcd631194df803b155a7f610b"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:gaaea3f3a8883128afb596a963e856277f"><td class="memTemplParams" colspan="2"><a class="anchor" id="gaaea3f3a8883128afb596a963e856277f"></a>
+template<typename F0 , typename F1 , typename F2 > </td></tr>
+<tr class="memitem:gaaea3f3a8883128afb596a963e856277f"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><b>tbb::parallel_invoke</b> (const F0 &f0, const F1 &f1, const F2 &f2, <a class="el" href="a00138.html">tbb::task_group_context</a> &context)</td></tr>
+<tr class="separator:gaaea3f3a8883128afb596a963e856277f"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ga74932e64ede5047387108fa45f1af96f"><td class="memTemplParams" colspan="2"><a class="anchor" id="ga74932e64ede5047387108fa45f1af96f"></a>
+template<typename F0 , typename F1 , typename F2 , typename F3 > </td></tr>
+<tr class="memitem:ga74932e64ede5047387108fa45f1af96f"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><b>tbb::parallel_invoke</b> (const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3, <a class="el" href="a00138.html">tbb::task_group_context</a> &context)</td></tr>
+<tr class="separator:ga74932e64ede5047387108fa45f1af96f"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:gaefc1ba8f73cbdd094575f6db454fc6b5"><td class="memTemplParams" colspan="2"><a class="anchor" id="gaefc1ba8f73cbdd094575f6db454fc6b5"></a>
+template<typename F0 , typename F1 , typename F2 , typename F3 , typename F4 > </td></tr>
+<tr class="memitem:gaefc1ba8f73cbdd094575f6db454fc6b5"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><b>tbb::parallel_invoke</b> (const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3, const F4 &f4, <a class="el" href="a00138.html">tbb::task_group_context</a> &context)</td></tr>
+<tr class="separator:gaefc1ba8f73cbdd094575f6db454fc6b5"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ga3f02dfbb94238b2cf2ef8f20844b03af"><td class="memTemplParams" colspan="2"><a class="anchor" id="ga3f02dfbb94238b2cf2ef8f20844b03af"></a>
+template<typename F0 , typename F1 , typename F2 , typename F3 , typename F4 , typename F5 > </td></tr>
+<tr class="memitem:ga3f02dfbb94238b2cf2ef8f20844b03af"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><b>tbb::parallel_invoke</b> (const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3, const F4 &f4, const F5 &f5, <a class="el" href="a00138.html">tbb::task_group_context</a> &context)</td></tr>
+<tr class="separator:ga3f02dfbb94238b2cf2ef8f20844b03af"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:gad8c1220bbd59e3b8e7bbcdcfdda8047e"><td class="memTemplParams" colspan="2"><a class="anchor" id="gad8c1220bbd59e3b8e7bbcdcfdda8047e"></a>
+template<typename F0 , typename F1 , typename F2 , typename F3 , typename F4 , typename F5 , typename F6 > </td></tr>
+<tr class="memitem:gad8c1220bbd59e3b8e7bbcdcfdda8047e"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><b>tbb::parallel_invoke</b> (const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3, const F4 &f4, const F5 &f5, const F6 &f6, <a class="el" href="a00138.html">tbb::task_group_context</a> &context)</td></tr>
+<tr class="separator:gad8c1220bbd59e3b8e7bbcdcfdda8047e"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ga5ee83a66397ee0b15c77756cb5e5168e"><td class="memTemplParams" colspan="2"><a class="anchor" id="ga5ee83a66397ee0b15c77756cb5e5168e"></a>
+template<typename F0 , typename F1 , typename F2 , typename F3 , typename F4 , typename F5 , typename F6 , typename F7 > </td></tr>
+<tr class="memitem:ga5ee83a66397ee0b15c77756cb5e5168e"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><b>tbb::parallel_invoke</b> (const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3, const F4 &f4, const F5 &f5, const F6 &f6, const F7 &f7, <a class="el" href="a00138.html">tbb::task_group_context</a> &context)</td></tr>
+<tr class="separator:ga5ee83a66397ee0b15c77756cb5e5168e"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ga1af92ebd06f6cdf5ee668b1fe62657bd"><td class="memTemplParams" colspan="2"><a class="anchor" id="ga1af92ebd06f6cdf5ee668b1fe62657bd"></a>
+template<typename F0 , typename F1 , typename F2 , typename F3 , typename F4 , typename F5 , typename F6 , typename F7 , typename F8 > </td></tr>
+<tr class="memitem:ga1af92ebd06f6cdf5ee668b1fe62657bd"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><b>tbb::parallel_invoke</b> (const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3, const F4 &f4, const F5 &f5, const F6 &f6, const F7 &f7, const F8 &f8, <a class="el" href="a00138.html">tbb::task_group_context</a> &context)</td></tr>
+<tr class="separator:ga1af92ebd06f6cdf5ee668b1fe62657bd"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ga65846bc3b2f63ed1448b6cdfea9e1c80"><td class="memTemplParams" colspan="2"><a class="anchor" id="ga65846bc3b2f63ed1448b6cdfea9e1c80"></a>
+template<typename F0 , typename F1 , typename F2 , typename F3 , typename F4 , typename F5 , typename F6 , typename F7 , typename F8 , typename F9 > </td></tr>
+<tr class="memitem:ga65846bc3b2f63ed1448b6cdfea9e1c80"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><b>tbb::parallel_invoke</b> (const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3, const F4 &f4, const F5 &f5, const F6 &f6, const F7 &f7, const F8 &f8, const F9 &f9, <a class="el" href="a00138.html">tbb::task_group_context</a> &context)</td></tr>
+<tr class="separator:ga65846bc3b2f63ed1448b6cdfea9e1c80"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ga6b1c36ece1d3950677dd01ef0863648c"><td class="memTemplParams" colspan="2"><a class="anchor" id="ga6b1c36ece1d3950677dd01ef0863648c"></a>
+template<typename F0 , typename F1 > </td></tr>
+<tr class="memitem:ga6b1c36ece1d3950677dd01ef0863648c"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><b>tbb::parallel_invoke</b> (const F0 &f0, const F1 &f1)</td></tr>
+<tr class="separator:ga6b1c36ece1d3950677dd01ef0863648c"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:gaa979656a4c207782b74800c6c42982f5"><td class="memTemplParams" colspan="2"><a class="anchor" id="gaa979656a4c207782b74800c6c42982f5"></a>
+template<typename F0 , typename F1 , typename F2 > </td></tr>
+<tr class="memitem:gaa979656a4c207782b74800c6c42982f5"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><b>tbb::parallel_invoke</b> (const F0 &f0, const F1 &f1, const F2 &f2)</td></tr>
+<tr class="separator:gaa979656a4c207782b74800c6c42982f5"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ga219cb8061b7cf5454c0bc4d67cff1e34"><td class="memTemplParams" colspan="2"><a class="anchor" id="ga219cb8061b7cf5454c0bc4d67cff1e34"></a>
+template<typename F0 , typename F1 , typename F2 , typename F3 > </td></tr>
+<tr class="memitem:ga219cb8061b7cf5454c0bc4d67cff1e34"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><b>tbb::parallel_invoke</b> (const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3)</td></tr>
+<tr class="separator:ga219cb8061b7cf5454c0bc4d67cff1e34"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ga8319ee980cd7cfb03f12ffc2a5ea4895"><td class="memTemplParams" colspan="2"><a class="anchor" id="ga8319ee980cd7cfb03f12ffc2a5ea4895"></a>
+template<typename F0 , typename F1 , typename F2 , typename F3 , typename F4 > </td></tr>
+<tr class="memitem:ga8319ee980cd7cfb03f12ffc2a5ea4895"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><b>tbb::parallel_invoke</b> (const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3, const F4 &f4)</td></tr>
+<tr class="separator:ga8319ee980cd7cfb03f12ffc2a5ea4895"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ga295daf6f7394fba29a979b914be09fc6"><td class="memTemplParams" colspan="2"><a class="anchor" id="ga295daf6f7394fba29a979b914be09fc6"></a>
+template<typename F0 , typename F1 , typename F2 , typename F3 , typename F4 , typename F5 > </td></tr>
+<tr class="memitem:ga295daf6f7394fba29a979b914be09fc6"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><b>tbb::parallel_invoke</b> (const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3, const F4 &f4, const F5 &f5)</td></tr>
+<tr class="separator:ga295daf6f7394fba29a979b914be09fc6"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ga7652a01622a2f28df1e0edf40b691190"><td class="memTemplParams" colspan="2"><a class="anchor" id="ga7652a01622a2f28df1e0edf40b691190"></a>
+template<typename F0 , typename F1 , typename F2 , typename F3 , typename F4 , typename F5 , typename F6 > </td></tr>
+<tr class="memitem:ga7652a01622a2f28df1e0edf40b691190"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><b>tbb::parallel_invoke</b> (const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3, const F4 &f4, const F5 &f5, const F6 &f6)</td></tr>
+<tr class="separator:ga7652a01622a2f28df1e0edf40b691190"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:gadd8826371866c58e41dee3546c35d2c8"><td class="memTemplParams" colspan="2"><a class="anchor" id="gadd8826371866c58e41dee3546c35d2c8"></a>
+template<typename F0 , typename F1 , typename F2 , typename F3 , typename F4 , typename F5 , typename F6 , typename F7 > </td></tr>
+<tr class="memitem:gadd8826371866c58e41dee3546c35d2c8"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><b>tbb::parallel_invoke</b> (const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3, const F4 &f4, const F5 &f5, const F6 &f6, const F7 &f7)</td></tr>
+<tr class="separator:gadd8826371866c58e41dee3546c35d2c8"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:gaeca8b72507d67dd023dae728bdc89896"><td class="memTemplParams" colspan="2"><a class="anchor" id="gaeca8b72507d67dd023dae728bdc89896"></a>
+template<typename F0 , typename F1 , typename F2 , typename F3 , typename F4 , typename F5 , typename F6 , typename F7 , typename F8 > </td></tr>
+<tr class="memitem:gaeca8b72507d67dd023dae728bdc89896"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><b>tbb::parallel_invoke</b> (const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3, const F4 &f4, const F5 &f5, const F6 &f6, const F7 &f7, const F8 &f8)</td></tr>
+<tr class="separator:gaeca8b72507d67dd023dae728bdc89896"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ga17c9f95fac24b2b7b62f325f511ee7be"><td class="memTemplParams" colspan="2"><a class="anchor" id="ga17c9f95fac24b2b7b62f325f511ee7be"></a>
+template<typename F0 , typename F1 , typename F2 , typename F3 , typename F4 , typename F5 , typename F6 , typename F7 , typename F8 , typename F9 > </td></tr>
+<tr class="memitem:ga17c9f95fac24b2b7b62f325f511ee7be"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><b>tbb::parallel_invoke</b> (const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3, const F4 &f4, const F5 &f5, const F6 &f6, const F7 &f7, const F8 &f8, const F9 &f9)</td></tr>
+<tr class="separator:ga17c9f95fac24b2b7b62f325f511ee7be"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
+parallel_reduce</h2></td></tr>
+<tr><td class="ititle" colspan="2"><p><a class="anchor" id="amgrp949e4773fffd16cb2d32f76af48627d2"></a>See also requirements on <a class="el" href="a00001.html">Range</a> and <a class="el" href="a00004.html">parallel_reduce Body</a>. </p>
+</td></tr>
+<tr class="memitem:ga7b1ce9568e0a0efe1bd2d55677bc6687"><td class="memTemplParams" colspan="2">template<typename Range , typename Body > </td></tr>
+<tr class="memitem:ga7b1ce9568e0a0efe1bd2d55677bc6687"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00234.html#ga7b1ce9568e0a0efe1bd2d55677bc6687">tbb::parallel_reduce</a> (const Range &range, Body &body)</td></tr>
+<tr class="memdesc:ga7b1ce9568e0a0efe1bd2d55677bc6687"><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration with reduction and default partitioner.  <a href="#ga7b1ce9568e0a0efe1bd2d55677bc6687">More...</a><br/></td></tr>
+<tr class="separator:ga7b1ce9568e0a0efe1bd2d55677bc6687"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:gaebb92b593827f9c3f5e1f8ee2f7d5f82"><td class="memTemplParams" colspan="2">template<typename Range , typename Body > </td></tr>
+<tr class="memitem:gaebb92b593827f9c3f5e1f8ee2f7d5f82"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00234.html#gaebb92b593827f9c3f5e1f8ee2f7d5f82">tbb::parallel_reduce</a> (const Range &range, Body &body, const simple_partitioner &partitioner)</td></tr>
+<tr class="memdesc:gaebb92b593827f9c3f5e1f8ee2f7d5f82"><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration with reduction and simple_partitioner.  <a href="#gaebb92b593827f9c3f5e1f8ee2f7d5f82">More...</a><br/></td></tr>
+<tr class="separator:gaebb92b593827f9c3f5e1f8ee2f7d5f82"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ga3011e7266fb1e43d307060fe75be2c6e"><td class="memTemplParams" colspan="2">template<typename Range , typename Body > </td></tr>
+<tr class="memitem:ga3011e7266fb1e43d307060fe75be2c6e"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00234.html#ga3011e7266fb1e43d307060fe75be2c6e">tbb::parallel_reduce</a> (const Range &range, Body &body, const auto_partitioner &partitioner)</td></tr>
+<tr class="memdesc:ga3011e7266fb1e43d307060fe75be2c6e"><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration with reduction and auto_partitioner.  <a href="#ga3011e7266fb1e43d307060fe75be2c6e">More...</a><br/></td></tr>
+<tr class="separator:ga3011e7266fb1e43d307060fe75be2c6e"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ga6e83e121490df24fa5893b14e68f5e2a"><td class="memTemplParams" colspan="2">template<typename Range , typename Body > </td></tr>
+<tr class="memitem:ga6e83e121490df24fa5893b14e68f5e2a"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00234.html#ga6e83e121490df24fa5893b14e68f5e2a">tbb::parallel_reduce</a> (const Range &range, Body &body, affinity_partitioner &partitioner)</td></tr>
+<tr class="memdesc:ga6e83e121490df24fa5893b14e68f5e2a"><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration with reduction and affinity_partitioner.  <a href="#ga6e83e121490df24fa5893b14e68f5e2a">More...</a><br/></td></tr>
+<tr class="separator:ga6e83e121490df24fa5893b14e68f5e2a"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:gac57281bea03450ccb2d098ee8c7ab697"><td class="memTemplParams" colspan="2">template<typename Range , typename Body > </td></tr>
+<tr class="memitem:gac57281bea03450ccb2d098ee8c7ab697"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00234.html#gac57281bea03450ccb2d098ee8c7ab697">tbb::parallel_reduce</a> (const Range &range, Body &body, const simple_partitioner &partitioner, task_group_context &context)</td></tr>
+<tr class="memdesc:gac57281bea03450ccb2d098ee8c7ab697"><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration with reduction, simple partitioner and user-supplied context.  <a href="#gac57281bea03450ccb2d098ee8c7ab697">More...</a><br/></td></tr>
+<tr class="separator:gac57281bea03450ccb2d098ee8c7ab697"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ga5f3ebf50ab7f5e53fd936817c866f7be"><td class="memTemplParams" colspan="2">template<typename Range , typename Body > </td></tr>
+<tr class="memitem:ga5f3ebf50ab7f5e53fd936817c866f7be"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00234.html#ga5f3ebf50ab7f5e53fd936817c866f7be">tbb::parallel_reduce</a> (const Range &range, Body &body, const auto_partitioner &partitioner, task_group_context &context)</td></tr>
+<tr class="memdesc:ga5f3ebf50ab7f5e53fd936817c866f7be"><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration with reduction, auto_partitioner and user-supplied context.  <a href="#ga5f3ebf50ab7f5e53fd936817c866f7be">More...</a><br/></td></tr>
+<tr class="separator:ga5f3ebf50ab7f5e53fd936817c866f7be"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ga5df3f3a9618fd35931107819cb43fce6"><td class="memTemplParams" colspan="2">template<typename Range , typename Body > </td></tr>
+<tr class="memitem:ga5df3f3a9618fd35931107819cb43fce6"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00234.html#ga5df3f3a9618fd35931107819cb43fce6">tbb::parallel_reduce</a> (const Range &range, Body &body, affinity_partitioner &partitioner, task_group_context &context)</td></tr>
+<tr class="memdesc:ga5df3f3a9618fd35931107819cb43fce6"><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration with reduction, affinity_partitioner and user-supplied context.  <a href="#ga5df3f3a9618fd35931107819cb43fce6">More...</a><br/></td></tr>
+<tr class="separator:ga5df3f3a9618fd35931107819cb43fce6"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ga1c9b66fa25cadee9ca3bff75a6609b05"><td class="memTemplParams" colspan="2">template<typename Range , typename Value , typename RealBody , typename Reduction > </td></tr>
+<tr class="memitem:ga1c9b66fa25cadee9ca3bff75a6609b05"><td class="memTemplItemLeft" align="right" valign="top">Value </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00234.html#ga1c9b66fa25cadee9ca3bff75a6609b05">tbb::parallel_reduce</a> (const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction)</td></tr>
+<tr class="memdesc:ga1c9b66fa25cadee9ca3bff75a6609b05"><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration with reduction and default partitioner.  <a href="#ga1c9b66fa25cadee9ca3bff75a6609b05">More...</a><br/></td></tr>
+<tr class="separator:ga1c9b66fa25cadee9ca3bff75a6609b05"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ga0b22fd1de0e8bbaf46587d3c63a1ed93"><td class="memTemplParams" colspan="2">template<typename Range , typename Value , typename RealBody , typename Reduction > </td></tr>
+<tr class="memitem:ga0b22fd1de0e8bbaf46587d3c63a1ed93"><td class="memTemplItemLeft" align="right" valign="top">Value </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00234.html#ga0b22fd1de0e8bbaf46587d3c63a1ed93">tbb::parallel_reduce</a> (const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction, const simple_partitioner &partitioner)</td></tr>
+<tr class="memdesc:ga0b22fd1de0e8bbaf46587d3c63a1ed93"><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration with reduction and simple_partitioner.  <a href="#ga0b22fd1de0e8bbaf46587d3c63a1ed93">More...</a><br/></td></tr>
+<tr class="separator:ga0b22fd1de0e8bbaf46587d3c63a1ed93"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ga56e6b6e2eee521f532c00d855280be69"><td class="memTemplParams" colspan="2">template<typename Range , typename Value , typename RealBody , typename Reduction > </td></tr>
+<tr class="memitem:ga56e6b6e2eee521f532c00d855280be69"><td class="memTemplItemLeft" align="right" valign="top">Value </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00234.html#ga56e6b6e2eee521f532c00d855280be69">tbb::parallel_reduce</a> (const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction, const auto_partitioner &partitioner)</td></tr>
+<tr class="memdesc:ga56e6b6e2eee521f532c00d855280be69"><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration with reduction and auto_partitioner.  <a href="#ga56e6b6e2eee521f532c00d855280be69">More...</a><br/></td></tr>
+<tr class="separator:ga56e6b6e2eee521f532c00d855280be69"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:gac26c35d1983e7ac2ab003cc8e49dd7e6"><td class="memTemplParams" colspan="2">template<typename Range , typename Value , typename RealBody , typename Reduction > </td></tr>
+<tr class="memitem:gac26c35d1983e7ac2ab003cc8e49dd7e6"><td class="memTemplItemLeft" align="right" valign="top">Value </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00234.html#gac26c35d1983e7ac2ab003cc8e49dd7e6">tbb::parallel_reduce</a> (const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction, affinity_partitioner &partitioner)</td></tr>
+<tr class="memdesc:gac26c35d1983e7ac2ab003cc8e49dd7e6"><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration with reduction and affinity_partitioner.  <a href="#gac26c35d1983e7ac2ab003cc8e49dd7e6">More...</a><br/></td></tr>
+<tr class="separator:gac26c35d1983e7ac2ab003cc8e49dd7e6"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ga518ef2653004d60319bdfc1c6bce86b6"><td class="memTemplParams" colspan="2">template<typename Range , typename Value , typename RealBody , typename Reduction > </td></tr>
+<tr class="memitem:ga518ef2653004d60319bdfc1c6bce86b6"><td class="memTemplItemLeft" align="right" valign="top">Value </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00234.html#ga518ef2653004d60319bdfc1c6bce86b6">tbb::parallel_reduce</a> (const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction, const simple_partitioner &partitioner, task_group_context &context)</td></tr>
+<tr class="memdesc:ga518ef2653004d60319bdfc1c6bce86b6"><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration with reduction, simple partitioner and user-supplied context.  <a href="#ga518ef2653004d60319bdfc1c6bce86b6">More...</a><br/></td></tr>
+<tr class="separator:ga518ef2653004d60319bdfc1c6bce86b6"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ga24ba50caf5a7c32cbd38912508cb69a4"><td class="memTemplParams" colspan="2">template<typename Range , typename Value , typename RealBody , typename Reduction > </td></tr>
+<tr class="memitem:ga24ba50caf5a7c32cbd38912508cb69a4"><td class="memTemplItemLeft" align="right" valign="top">Value </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00234.html#ga24ba50caf5a7c32cbd38912508cb69a4">tbb::parallel_reduce</a> (const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction, const auto_partitioner &partitioner, task_group_context &context)</td></tr>
+<tr class="memdesc:ga24ba50caf5a7c32cbd38912508cb69a4"><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration with reduction, auto_partitioner and user-supplied context.  <a href="#ga24ba50caf5a7c32cbd38912508cb69a4">More...</a><br/></td></tr>
+<tr class="separator:ga24ba50caf5a7c32cbd38912508cb69a4"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ga367a8e77c4dac3f8764785afdc6c9299"><td class="memTemplParams" colspan="2">template<typename Range , typename Value , typename RealBody , typename Reduction > </td></tr>
+<tr class="memitem:ga367a8e77c4dac3f8764785afdc6c9299"><td class="memTemplItemLeft" align="right" valign="top">Value </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00234.html#ga367a8e77c4dac3f8764785afdc6c9299">tbb::parallel_reduce</a> (const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction, affinity_partitioner &partitioner, task_group_context &context)</td></tr>
+<tr class="memdesc:ga367a8e77c4dac3f8764785afdc6c9299"><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration with reduction, affinity_partitioner and user-supplied context.  <a href="#ga367a8e77c4dac3f8764785afdc6c9299">More...</a><br/></td></tr>
+<tr class="separator:ga367a8e77c4dac3f8764785afdc6c9299"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ga1fd7e3c43592dfe1ae3e3572bd80d4f6"><td class="memTemplParams" colspan="2">template<typename Range , typename Body > </td></tr>
+<tr class="memitem:ga1fd7e3c43592dfe1ae3e3572bd80d4f6"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00234.html#ga1fd7e3c43592dfe1ae3e3572bd80d4f6">tbb::parallel_deterministic_reduce</a> (const Range &range, Body &body)</td></tr>
+<tr class="memdesc:ga1fd7e3c43592dfe1ae3e3572bd80d4f6"><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration with deterministic reduction and default partitioner.  <a href="#ga1fd7e3c43592dfe1ae3e3572bd80d4f6">More...</a><br/></td></tr>
+<tr class="separator:ga1fd7e3c43592dfe1ae3e3572bd80d4f6"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ga361201f81b4ec7b86f81b579d2db647a"><td class="memTemplParams" colspan="2">template<typename Range , typename Body > </td></tr>
+<tr class="memitem:ga361201f81b4ec7b86f81b579d2db647a"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00234.html#ga361201f81b4ec7b86f81b579d2db647a">tbb::parallel_deterministic_reduce</a> (const Range &range, Body &body, task_group_context &context)</td></tr>
+<tr class="memdesc:ga361201f81b4ec7b86f81b579d2db647a"><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration with deterministic reduction, simple partitioner and user-supplied context.  <a href="#ga361201f81b4ec7b86f81b579d2db647a">More...</a><br/></td></tr>
+<tr class="separator:ga361201f81b4ec7b86f81b579d2db647a"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ga7f69e6a632acb51ed26a43ebd331f349"><td class="memTemplParams" colspan="2">template<typename Range , typename Value , typename RealBody , typename Reduction > </td></tr>
+<tr class="memitem:ga7f69e6a632acb51ed26a43ebd331f349"><td class="memTemplItemLeft" align="right" valign="top">Value </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00234.html#ga7f69e6a632acb51ed26a43ebd331f349">tbb::parallel_deterministic_reduce</a> (const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction)</td></tr>
+<tr class="memdesc:ga7f69e6a632acb51ed26a43ebd331f349"><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration with deterministic reduction and default partitioner.  <a href="#ga7f69e6a632acb51ed26a43ebd331f349">More...</a><br/></td></tr>
+<tr class="separator:ga7f69e6a632acb51ed26a43ebd331f349"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ga69b4eea059a62cbbf409cbad02b70bfa"><td class="memTemplParams" colspan="2">template<typename Range , typename Value , typename RealBody , typename Reduction > </td></tr>
+<tr class="memitem:ga69b4eea059a62cbbf409cbad02b70bfa"><td class="memTemplItemLeft" align="right" valign="top">Value </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00234.html#ga69b4eea059a62cbbf409cbad02b70bfa">tbb::parallel_deterministic_reduce</a> (const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction, task_group_context &context)</td></tr>
+<tr class="memdesc:ga69b4eea059a62cbbf409cbad02b70bfa"><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration with deterministic reduction, simple partitioner and user-supplied context.  <a href="#ga69b4eea059a62cbbf409cbad02b70bfa">More...</a><br/></td></tr>
+<tr class="separator:ga69b4eea059a62cbbf409cbad02b70bfa"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
+parallel_scan</h2></td></tr>
+<tr><td class="ititle" colspan="2"><p><a class="anchor" id="amgrpea856f699c9d234ea9f5ed535b0b16bb"></a>See also requirements on <a class="el" href="a00001.html">Range</a> and <a class="el" href="a00006.html">parallel_scan Body</a>. </p>
+</td></tr>
+<tr class="memitem:gae7eaaf124471a6c603b28fc925e8fbbb"><td class="memTemplParams" colspan="2">template<typename Range , typename Body > </td></tr>
+<tr class="memitem:gae7eaaf124471a6c603b28fc925e8fbbb"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00234.html#gae7eaaf124471a6c603b28fc925e8fbbb">tbb::parallel_scan</a> (const Range &range, Body &body)</td></tr>
+<tr class="memdesc:gae7eaaf124471a6c603b28fc925e8fbbb"><td class="mdescLeft"> </td><td class="mdescRight">Parallel prefix with default partitioner.  <a href="#gae7eaaf124471a6c603b28fc925e8fbbb">More...</a><br/></td></tr>
+<tr class="separator:gae7eaaf124471a6c603b28fc925e8fbbb"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ga7ddacf5e49f1bea9b67803f2d0f57531"><td class="memTemplParams" colspan="2">template<typename Range , typename Body > </td></tr>
+<tr class="memitem:ga7ddacf5e49f1bea9b67803f2d0f57531"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00234.html#ga7ddacf5e49f1bea9b67803f2d0f57531">tbb::parallel_scan</a> (const Range &range, Body &body, const simple_partitioner &partitioner)</td></tr>
+<tr class="memdesc:ga7ddacf5e49f1bea9b67803f2d0f57531"><td class="mdescLeft"> </td><td class="mdescRight">Parallel prefix with simple_partitioner.  <a href="#ga7ddacf5e49f1bea9b67803f2d0f57531">More...</a><br/></td></tr>
+<tr class="separator:ga7ddacf5e49f1bea9b67803f2d0f57531"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ga3548041731b7fa14f30f155541ceebb9"><td class="memTemplParams" colspan="2">template<typename Range , typename Body > </td></tr>
+<tr class="memitem:ga3548041731b7fa14f30f155541ceebb9"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00234.html#ga3548041731b7fa14f30f155541ceebb9">tbb::parallel_scan</a> (const Range &range, Body &body, const auto_partitioner &partitioner)</td></tr>
+<tr class="memdesc:ga3548041731b7fa14f30f155541ceebb9"><td class="mdescLeft"> </td><td class="mdescRight">Parallel prefix with auto_partitioner.  <a href="#ga3548041731b7fa14f30f155541ceebb9">More...</a><br/></td></tr>
+<tr class="separator:ga3548041731b7fa14f30f155541ceebb9"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
+parallel_sort</h2></td></tr>
+<tr><td class="ititle" colspan="2"><p><a class="anchor" id="amgrp507087c4dcfb051fe7d24227c3a34024"></a>See also requirements on <a class="el" href="a00007.html">iterators for parallel_sort</a>. </p>
+</td></tr>
+<tr class="memitem:gabdc90813499f91d3e32298cd6dc2fe45"><td class="memTemplParams" colspan="2">template<typename RandomAccessIterator , typename Compare > </td></tr>
+<tr class="memitem:gabdc90813499f91d3e32298cd6dc2fe45"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00234.html#gabdc90813499f91d3e32298cd6dc2fe45">tbb::parallel_sort</a> (RandomAccessIterator begin, RandomAccessIterator end, const Compare &comp)</td></tr>
+<tr class="memdesc:gabdc90813499f91d3e32298cd6dc2fe45"><td class="mdescLeft"> </td><td class="mdescRight">Sorts the data in [begin,end) using the given comparator.  <a href="#gabdc90813499f91d3e32298cd6dc2fe45">More...</a><br/></td></tr>
+<tr class="separator:gabdc90813499f91d3e32298cd6dc2fe45"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ga73b58ac9249f49587d0b081c152af551"><td class="memTemplParams" colspan="2">template<typename RandomAccessIterator > </td></tr>
+<tr class="memitem:ga73b58ac9249f49587d0b081c152af551"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00234.html#ga73b58ac9249f49587d0b081c152af551">tbb::parallel_sort</a> (RandomAccessIterator begin, RandomAccessIterator end)</td></tr>
+<tr class="memdesc:ga73b58ac9249f49587d0b081c152af551"><td class="mdescLeft"> </td><td class="mdescRight">Sorts the data in [begin,end) with a default comparator <code>std::less<RandomAccessIterator></code>  <a href="#ga73b58ac9249f49587d0b081c152af551">More...</a><br/></td></tr>
+<tr class="separator:ga73b58ac9249f49587d0b081c152af551"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ga8f176cdc232a6e5907456656a24983a8"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
+<tr class="memitem:ga8f176cdc232a6e5907456656a24983a8"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00234.html#ga8f176cdc232a6e5907456656a24983a8">tbb::parallel_sort</a> (T *begin, T *end)</td></tr>
+<tr class="memdesc:ga8f176cdc232a6e5907456656a24983a8"><td class="mdescLeft"> </td><td class="mdescRight">Sorts the data in the range <code></code>[begin,end) with a default comparator <code>std::less<T></code>  <a href="#ga8f176cdc232a6e5907456656a24983a8">More...</a><br/></td></tr>
+<tr class="separator:ga8f176cdc232a6e5907456656a24983a8"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="ga1fd7e3c43592dfe1ae3e3572bd80d4f6"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename Range , typename Body > </div>
+      <table class="memname">
+        <tr>
+          <td class="memname">void tbb::parallel_deterministic_reduce </td>
+          <td>(</td>
+          <td class="paramtype">const Range & </td>
+          <td class="paramname"><em>range</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Body & </td>
+          <td class="paramname"><em>body</em> </td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Parallel iteration with deterministic reduction and default partitioner. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga361201f81b4ec7b86f81b579d2db647a"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename Range , typename Body > </div>
+      <table class="memname">
+        <tr>
+          <td class="memname">void tbb::parallel_deterministic_reduce </td>
+          <td>(</td>
+          <td class="paramtype">const Range & </td>
+          <td class="paramname"><em>range</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Body & </td>
+          <td class="paramname"><em>body</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">task_group_context & </td>
+          <td class="paramname"><em>context</em> </td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Parallel iteration with deterministic reduction, simple partitioner and user-supplied context. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga7f69e6a632acb51ed26a43ebd331f349"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename Range , typename Value , typename RealBody , typename Reduction > </div>
+      <table class="memname">
+        <tr>
+          <td class="memname">Value tbb::parallel_deterministic_reduce </td>
+          <td>(</td>
+          <td class="paramtype">const Range & </td>
+          <td class="paramname"><em>range</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const Value & </td>
+          <td class="paramname"><em>identity</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const RealBody & </td>
+          <td class="paramname"><em>real_body</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const Reduction & </td>
+          <td class="paramname"><em>reduction</em> </td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Parallel iteration with deterministic reduction and default partitioner. </p>
+<p>parallel_reduce overloads that work with anonymous function objects (see also <a class="el" href="a00005.html">requirements on parallel_reduce anonymous function objects</a>). </p>
+
+</div>
+</div>
+<a class="anchor" id="ga69b4eea059a62cbbf409cbad02b70bfa"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename Range , typename Value , typename RealBody , typename Reduction > </div>
+      <table class="memname">
+        <tr>
+          <td class="memname">Value tbb::parallel_deterministic_reduce </td>
+          <td>(</td>
+          <td class="paramtype">const Range & </td>
+          <td class="paramname"><em>range</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const Value & </td>
+          <td class="paramname"><em>identity</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const RealBody & </td>
+          <td class="paramname"><em>real_body</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const Reduction & </td>
+          <td class="paramname"><em>reduction</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">task_group_context & </td>
+          <td class="paramname"><em>context</em> </td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Parallel iteration with deterministic reduction, simple partitioner and user-supplied context. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga533f6732498ade8634a9470cbf89192d"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename Iterator , typename Body > </div>
+      <table class="memname">
+        <tr>
+          <td class="memname">void tbb::parallel_do </td>
+          <td>(</td>
+          <td class="paramtype">Iterator </td>
+          <td class="paramname"><em>first</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Iterator </td>
+          <td class="paramname"><em>last</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const Body & </td>
+          <td class="paramname"><em>body</em> </td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Parallel iteration over a range, with optional addition of more work. </p>
+
+<p>Referenced by <a class="el" href="a00234.html#ga96bf42caaec779e413e5a2396c1e301c">tbb::parallel_for_each()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga7db29bc10d81eddc85854256ffc723c0"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename Iterator , typename Body > </div>
+      <table class="memname">
+        <tr>
+          <td class="memname">void tbb::parallel_do </td>
+          <td>(</td>
+          <td class="paramtype">Iterator </td>
+          <td class="paramname"><em>first</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Iterator </td>
+          <td class="paramname"><em>last</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const Body & </td>
+          <td class="paramname"><em>body</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">task_group_context & </td>
+          <td class="paramname"><em>context</em> </td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Parallel iteration over a range, with optional addition of more work and user-supplied context. </p>
+
+</div>
+</div>
+<a class="anchor" id="gaa8444c29dc4d2e527a1036717d109aef"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename Range , typename Body > </div>
+      <table class="memname">
+        <tr>
+          <td class="memname">void tbb::parallel_for </td>
+          <td>(</td>
+          <td class="paramtype">const Range & </td>
+          <td class="paramname"><em>range</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const Body & </td>
+          <td class="paramname"><em>body</em> </td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Parallel iteration over range with default partitioner. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga9722d2bc7e5edb4fae9f3b55268a1ecc"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename Range , typename Body > </div>
+      <table class="memname">
+        <tr>
+          <td class="memname">void tbb::parallel_for </td>
+          <td>(</td>
+          <td class="paramtype">const Range & </td>
+          <td class="paramname"><em>range</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const Body & </td>
+          <td class="paramname"><em>body</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const simple_partitioner & </td>
+          <td class="paramname"><em>partitioner</em> </td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Parallel iteration over range with simple partitioner. </p>
+
+</div>
+</div>
+<a class="anchor" id="gad6c4b06f96ae33cefe78235841791902"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename Range , typename Body > </div>
+      <table class="memname">
+        <tr>
+          <td class="memname">void tbb::parallel_for </td>
+          <td>(</td>
+          <td class="paramtype">const Range & </td>
+          <td class="paramname"><em>range</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const Body & </td>
+          <td class="paramname"><em>body</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const auto_partitioner & </td>
+          <td class="paramname"><em>partitioner</em> </td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Parallel iteration over range with auto_partitioner. </p>
+
+</div>
+</div>
+<a class="anchor" id="gaf3d39e372d825bf54283b5ceafa90057"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename Range , typename Body > </div>
+      <table class="memname">
+        <tr>
+          <td class="memname">void tbb::parallel_for </td>
+          <td>(</td>
+          <td class="paramtype">const Range & </td>
+          <td class="paramname"><em>range</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const Body & </td>
+          <td class="paramname"><em>body</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">affinity_partitioner & </td>
+          <td class="paramname"><em>partitioner</em> </td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Parallel iteration over range with affinity_partitioner. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga93a621202db94665144de38c0b09bdad"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename Range , typename Body > </div>
+      <table class="memname">
+        <tr>
+          <td class="memname">void tbb::parallel_for </td>
+          <td>(</td>
+          <td class="paramtype">const Range & </td>
+          <td class="paramname"><em>range</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const Body & </td>
+          <td class="paramname"><em>body</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">task_group_context & </td>
+          <td class="paramname"><em>context</em> </td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Parallel iteration over range with default partitioner and user-supplied context. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga5b7fab9d6ffe7a9345e9349a5a007bd4"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename Range , typename Body > </div>
+      <table class="memname">
+        <tr>
+          <td class="memname">void tbb::parallel_for </td>
+          <td>(</td>
+          <td class="paramtype">const Range & </td>
+          <td class="paramname"><em>range</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const Body & </td>
+          <td class="paramname"><em>body</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const simple_partitioner & </td>
+          <td class="paramname"><em>partitioner</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">task_group_context & </td>
+          <td class="paramname"><em>context</em> </td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Parallel iteration over range with simple partitioner and user-supplied context. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga4c9935d8710a5cf786a92f3522ab2976"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename Range , typename Body > </div>
+      <table class="memname">
+        <tr>
+          <td class="memname">void tbb::parallel_for </td>
+          <td>(</td>
+          <td class="paramtype">const Range & </td>
+          <td class="paramname"><em>range</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const Body & </td>
+          <td class="paramname"><em>body</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const auto_partitioner & </td>
+          <td class="paramname"><em>partitioner</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">task_group_context & </td>
+          <td class="paramname"><em>context</em> </td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Parallel iteration over range with auto_partitioner and user-supplied context. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga62b1a9ac304ba1eb4f87ab8cc18dd281"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename Range , typename Body > </div>
+      <table class="memname">
+        <tr>
+          <td class="memname">void tbb::parallel_for </td>
+          <td>(</td>
+          <td class="paramtype">const Range & </td>
+          <td class="paramname"><em>range</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const Body & </td>
+          <td class="paramname"><em>body</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">affinity_partitioner & </td>
+          <td class="paramname"><em>partitioner</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">task_group_context & </td>
+          <td class="paramname"><em>context</em> </td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Parallel iteration over range with affinity_partitioner and user-supplied context. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga96bf42caaec779e413e5a2396c1e301c"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename InputIterator , typename Function > </div>
+      <table class="memname">
+        <tr>
+          <td class="memname">void tbb::parallel_for_each </td>
+          <td>(</td>
+          <td class="paramtype">InputIterator </td>
+          <td class="paramname"><em>first</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">InputIterator </td>
+          <td class="paramname"><em>last</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const Function & </td>
+          <td class="paramname"><em>f</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">task_group_context & </td>
+          <td class="paramname"><em>context</em> </td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Calls function f for all items from [first, last) interval using user-supplied context. </p>
+
+<p>References <a class="el" href="a00234.html#ga533f6732498ade8634a9470cbf89192d">tbb::parallel_do()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga14459dcbcd631194df803b155a7f610b"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename F0 , typename F1 > </div>
+      <table class="memname">
+        <tr>
+          <td class="memname">void tbb::parallel_invoke </td>
+          <td>(</td>
+          <td class="paramtype">const F0 & </td>
+          <td class="paramname"><em>f0</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const F1 & </td>
+          <td class="paramname"><em>f1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="a00138.html">tbb::task_group_context</a> & </td>
+          <td class="paramname"><em>context</em> </td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Executes a list of tasks in parallel and waits for all tasks to complete. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga7b1ce9568e0a0efe1bd2d55677bc6687"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename Range , typename Body > </div>
+      <table class="memname">
+        <tr>
+          <td class="memname">void tbb::parallel_reduce </td>
+          <td>(</td>
+          <td class="paramtype">const Range & </td>
+          <td class="paramname"><em>range</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Body & </td>
+          <td class="paramname"><em>body</em> </td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Parallel iteration with reduction and default partitioner. </p>
+
+</div>
+</div>
+<a class="anchor" id="gaebb92b593827f9c3f5e1f8ee2f7d5f82"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename Range , typename Body > </div>
+      <table class="memname">
+        <tr>
+          <td class="memname">void tbb::parallel_reduce </td>
+          <td>(</td>
+          <td class="paramtype">const Range & </td>
+          <td class="paramname"><em>range</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Body & </td>
+          <td class="paramname"><em>body</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const simple_partitioner & </td>
+          <td class="paramname"><em>partitioner</em> </td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Parallel iteration with reduction and simple_partitioner. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga3011e7266fb1e43d307060fe75be2c6e"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename Range , typename Body > </div>
+      <table class="memname">
+        <tr>
+          <td class="memname">void tbb::parallel_reduce </td>
+          <td>(</td>
+          <td class="paramtype">const Range & </td>
+          <td class="paramname"><em>range</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Body & </td>
+          <td class="paramname"><em>body</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const auto_partitioner & </td>
+          <td class="paramname"><em>partitioner</em> </td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Parallel iteration with reduction and auto_partitioner. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga6e83e121490df24fa5893b14e68f5e2a"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename Range , typename Body > </div>
+      <table class="memname">
+        <tr>
+          <td class="memname">void tbb::parallel_reduce </td>
+          <td>(</td>
+          <td class="paramtype">const Range & </td>
+          <td class="paramname"><em>range</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Body & </td>
+          <td class="paramname"><em>body</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">affinity_partitioner & </td>
+          <td class="paramname"><em>partitioner</em> </td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Parallel iteration with reduction and affinity_partitioner. </p>
+
+</div>
+</div>
+<a class="anchor" id="gac57281bea03450ccb2d098ee8c7ab697"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename Range , typename Body > </div>
+      <table class="memname">
+        <tr>
+          <td class="memname">void tbb::parallel_reduce </td>
+          <td>(</td>
+          <td class="paramtype">const Range & </td>
+          <td class="paramname"><em>range</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Body & </td>
+          <td class="paramname"><em>body</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const simple_partitioner & </td>
+          <td class="paramname"><em>partitioner</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">task_group_context & </td>
+          <td class="paramname"><em>context</em> </td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Parallel iteration with reduction, simple partitioner and user-supplied context. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga5f3ebf50ab7f5e53fd936817c866f7be"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename Range , typename Body > </div>
+      <table class="memname">
+        <tr>
+          <td class="memname">void tbb::parallel_reduce </td>
+          <td>(</td>
+          <td class="paramtype">const Range & </td>
+          <td class="paramname"><em>range</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Body & </td>
+          <td class="paramname"><em>body</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const auto_partitioner & </td>
+          <td class="paramname"><em>partitioner</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">task_group_context & </td>
+          <td class="paramname"><em>context</em> </td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Parallel iteration with reduction, auto_partitioner and user-supplied context. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga5df3f3a9618fd35931107819cb43fce6"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename Range , typename Body > </div>
+      <table class="memname">
+        <tr>
+          <td class="memname">void tbb::parallel_reduce </td>
+          <td>(</td>
+          <td class="paramtype">const Range & </td>
+          <td class="paramname"><em>range</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Body & </td>
+          <td class="paramname"><em>body</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">affinity_partitioner & </td>
+          <td class="paramname"><em>partitioner</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">task_group_context & </td>
+          <td class="paramname"><em>context</em> </td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Parallel iteration with reduction, affinity_partitioner and user-supplied context. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga1c9b66fa25cadee9ca3bff75a6609b05"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename Range , typename Value , typename RealBody , typename Reduction > </div>
+      <table class="memname">
+        <tr>
+          <td class="memname">Value tbb::parallel_reduce </td>
+          <td>(</td>
+          <td class="paramtype">const Range & </td>
+          <td class="paramname"><em>range</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const Value & </td>
+          <td class="paramname"><em>identity</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const RealBody & </td>
+          <td class="paramname"><em>real_body</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const Reduction & </td>
+          <td class="paramname"><em>reduction</em> </td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Parallel iteration with reduction and default partitioner. </p>
+<p>parallel_reduce overloads that work with anonymous function objects (see also <a class="el" href="a00005.html">requirements on parallel_reduce anonymous function objects</a>). </p>
+
+</div>
+</div>
+<a class="anchor" id="ga0b22fd1de0e8bbaf46587d3c63a1ed93"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename Range , typename Value , typename RealBody , typename Reduction > </div>
+      <table class="memname">
+        <tr>
+          <td class="memname">Value tbb::parallel_reduce </td>
+          <td>(</td>
+          <td class="paramtype">const Range & </td>
+          <td class="paramname"><em>range</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const Value & </td>
+          <td class="paramname"><em>identity</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const RealBody & </td>
+          <td class="paramname"><em>real_body</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const Reduction & </td>
+          <td class="paramname"><em>reduction</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const simple_partitioner & </td>
+          <td class="paramname"><em>partitioner</em> </td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Parallel iteration with reduction and simple_partitioner. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga56e6b6e2eee521f532c00d855280be69"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename Range , typename Value , typename RealBody , typename Reduction > </div>
+      <table class="memname">
+        <tr>
+          <td class="memname">Value tbb::parallel_reduce </td>
+          <td>(</td>
+          <td class="paramtype">const Range & </td>
+          <td class="paramname"><em>range</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const Value & </td>
+          <td class="paramname"><em>identity</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const RealBody & </td>
+          <td class="paramname"><em>real_body</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const Reduction & </td>
+          <td class="paramname"><em>reduction</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const auto_partitioner & </td>
+          <td class="paramname"><em>partitioner</em> </td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Parallel iteration with reduction and auto_partitioner. </p>
+
+</div>
+</div>
+<a class="anchor" id="gac26c35d1983e7ac2ab003cc8e49dd7e6"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename Range , typename Value , typename RealBody , typename Reduction > </div>
+      <table class="memname">
+        <tr>
+          <td class="memname">Value tbb::parallel_reduce </td>
+          <td>(</td>
+          <td class="paramtype">const Range & </td>
+          <td class="paramname"><em>range</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const Value & </td>
+          <td class="paramname"><em>identity</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const RealBody & </td>
+          <td class="paramname"><em>real_body</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const Reduction & </td>
+          <td class="paramname"><em>reduction</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">affinity_partitioner & </td>
+          <td class="paramname"><em>partitioner</em> </td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Parallel iteration with reduction and affinity_partitioner. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga518ef2653004d60319bdfc1c6bce86b6"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename Range , typename Value , typename RealBody , typename Reduction > </div>
+      <table class="memname">
+        <tr>
+          <td class="memname">Value tbb::parallel_reduce </td>
+          <td>(</td>
+          <td class="paramtype">const Range & </td>
+          <td class="paramname"><em>range</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const Value & </td>
+          <td class="paramname"><em>identity</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const RealBody & </td>
+          <td class="paramname"><em>real_body</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const Reduction & </td>
+          <td class="paramname"><em>reduction</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const simple_partitioner & </td>
+          <td class="paramname"><em>partitioner</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">task_group_context & </td>
+          <td class="paramname"><em>context</em> </td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Parallel iteration with reduction, simple partitioner and user-supplied context. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga24ba50caf5a7c32cbd38912508cb69a4"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename Range , typename Value , typename RealBody , typename Reduction > </div>
+      <table class="memname">
+        <tr>
+          <td class="memname">Value tbb::parallel_reduce </td>
+          <td>(</td>
+          <td class="paramtype">const Range & </td>
+          <td class="paramname"><em>range</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const Value & </td>
+          <td class="paramname"><em>identity</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const RealBody & </td>
+          <td class="paramname"><em>real_body</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const Reduction & </td>
+          <td class="paramname"><em>reduction</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const auto_partitioner & </td>
+          <td class="paramname"><em>partitioner</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">task_group_context & </td>
+          <td class="paramname"><em>context</em> </td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Parallel iteration with reduction, auto_partitioner and user-supplied context. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga367a8e77c4dac3f8764785afdc6c9299"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename Range , typename Value , typename RealBody , typename Reduction > </div>
+      <table class="memname">
+        <tr>
+          <td class="memname">Value tbb::parallel_reduce </td>
+          <td>(</td>
+          <td class="paramtype">const Range & </td>
+          <td class="paramname"><em>range</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const Value & </td>
+          <td class="paramname"><em>identity</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const RealBody & </td>
+          <td class="paramname"><em>real_body</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const Reduction & </td>
+          <td class="paramname"><em>reduction</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">affinity_partitioner & </td>
+          <td class="paramname"><em>partitioner</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">task_group_context & </td>
+          <td class="paramname"><em>context</em> </td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Parallel iteration with reduction, affinity_partitioner and user-supplied context. </p>
+
+</div>
+</div>
+<a class="anchor" id="gae7eaaf124471a6c603b28fc925e8fbbb"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename Range , typename Body > </div>
+      <table class="memname">
+        <tr>
+          <td class="memname">void tbb::parallel_scan </td>
+          <td>(</td>
+          <td class="paramtype">const Range & </td>
+          <td class="paramname"><em>range</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Body & </td>
+          <td class="paramname"><em>body</em> </td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Parallel prefix with default partitioner. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga7ddacf5e49f1bea9b67803f2d0f57531"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename Range , typename Body > </div>
+      <table class="memname">
+        <tr>
+          <td class="memname">void tbb::parallel_scan </td>
+          <td>(</td>
+          <td class="paramtype">const Range & </td>
+          <td class="paramname"><em>range</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Body & </td>
+          <td class="paramname"><em>body</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const simple_partitioner & </td>
+          <td class="paramname"><em>partitioner</em> </td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Parallel prefix with simple_partitioner. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga3548041731b7fa14f30f155541ceebb9"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename Range , typename Body > </div>
+      <table class="memname">
+        <tr>
+          <td class="memname">void tbb::parallel_scan </td>
+          <td>(</td>
+          <td class="paramtype">const Range & </td>
+          <td class="paramname"><em>range</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Body & </td>
+          <td class="paramname"><em>body</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const auto_partitioner & </td>
+          <td class="paramname"><em>partitioner</em> </td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Parallel prefix with auto_partitioner. </p>
+
+</div>
+</div>
+<a class="anchor" id="gabdc90813499f91d3e32298cd6dc2fe45"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename RandomAccessIterator , typename Compare > </div>
+      <table class="memname">
+        <tr>
+          <td class="memname">void tbb::parallel_sort </td>
+          <td>(</td>
+          <td class="paramtype">RandomAccessIterator </td>
+          <td class="paramname"><em>begin</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">RandomAccessIterator </td>
+          <td class="paramname"><em>end</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const Compare & </td>
+          <td class="paramname"><em>comp</em> </td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Sorts the data in [begin,end) using the given comparator. </p>
+<p>The compare function object is used for all comparisons between elements during sorting. The compare object must define a bool operator() function. </p>
+
+<p>Referenced by <a class="el" href="a00234.html#ga73b58ac9249f49587d0b081c152af551">tbb::parallel_sort()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga73b58ac9249f49587d0b081c152af551"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename RandomAccessIterator > </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">void tbb::parallel_sort </td>
+          <td>(</td>
+          <td class="paramtype">RandomAccessIterator </td>
+          <td class="paramname"><em>begin</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">RandomAccessIterator </td>
+          <td class="paramname"><em>end</em> </td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Sorts the data in [begin,end) with a default comparator <code>std::less<RandomAccessIterator></code> </p>
+
+<p>References <a class="el" href="a00234.html#gabdc90813499f91d3e32298cd6dc2fe45">tbb::parallel_sort()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga8f176cdc232a6e5907456656a24983a8"></a>
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template<typename T > </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">void tbb::parallel_sort </td>
+          <td>(</td>
+          <td class="paramtype">T * </td>
+          <td class="paramname"><em>begin</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">T * </td>
+          <td class="paramname"><em>end</em> </td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Sorts the data in the range <code></code>[begin,end) with a default comparator <code>std::less<T></code> </p>
+
+<p>References <a class="el" href="a00234.html#gabdc90813499f91d3e32298cd6dc2fe45">tbb::parallel_sort()</a>.</p>
+
+</div>
+</div>
+</div><!-- contents -->
+<hr>
+<p></p>
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
+<p></p>
+Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
+registered trademarks or trademarks of Intel Corporation or its
+subsidiaries in the United States and other countries.
+<p></p>
+* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00235.html b/doc/html/a00235.html
new file mode 100644
index 0000000..67399fa
--- /dev/null
+++ b/doc/html/a00235.html
@@ -0,0 +1,67 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Containers</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Classes</a>  </div>
+  <div class="headertitle">
+<div class="title">Containers</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Classes</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00032.html">tbb::combinable< T ></a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Thread-local storage with optional reduction.  <a href="a00032.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00035.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Unordered map from Key to T.  <a href="a00035.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00038.html">tbb::strict_ppl::concurrent_queue< T, A ></a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">A high-performance thread-safe non-blocking concurrent queue.  <a href="a00038.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00034.html">tbb::concurrent_bounded_queue< T, A ></a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">A high-performance thread-safe blocking concurrent bounded queue.  <a href="a00034.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00046.html">tbb::concurrent_vector< T, A ></a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Concurrent vector container.  <a href="a00046.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00052.html">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">The <a class="el" href="a00052.html" title="The enumerable_thread_specific container. ">enumerable_thread_specific</a> container.  <a href="a00052.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+</div><!-- contents -->
+<hr>
+<p></p>
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
+<p></p>
+Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
+registered trademarks or trademarks of Intel Corporation or its
+subsidiaries in the United States and other countries.
+<p></p>
+* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00236.html b/doc/html/a00236.html
new file mode 100644
index 0000000..8efb9b7
--- /dev/null
+++ b/doc/html/a00236.html
@@ -0,0 +1,382 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Memory Allocation</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Classes</a> |
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">Memory Allocation</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Classes</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00014.html">tbb::aligned_space< T, N ></a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Block of space aligned sufficiently to construct an array T with N elements.  <a href="a00014.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00029.html">tbb::cache_aligned_allocator< T ></a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Meets "allocator" requirements of ISO C++ Standard, Section 20.1.5.  <a href="a00029.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00030.html">tbb::cache_aligned_allocator< void ></a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Analogous to std::allocator<void>, as defined in ISO C++ Standard, Section 20.4.1.  <a href="a00030.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00074.html">tbb::interface6::memory_pool_allocator< T, P ></a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Meets "allocator" requirements of ISO C++ Standard, Section 20.1.5.  <a href="a00074.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00075.html">tbb::interface6::memory_pool_allocator< void, P ></a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Analogous to std::allocator<void>, as defined in ISO C++ Standard, Section 20.4.1.  <a href="a00075.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00111.html">tbb::scalable_allocator< T ></a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Meets "allocator" requirements of ISO C++ Standard, Section 20.1.5.  <a href="a00111.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00112.html">tbb::scalable_allocator< void ></a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Analogous to std::allocator<void>, as defined in ISO C++ Standard, Section 20.4.1.  <a href="a00112.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00144.html">tbb::tbb_allocator< T ></a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Meets "allocator" requirements of ISO C++ Standard, Section 20.1.5.  <a href="a00144.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00145.html">tbb::tbb_allocator< void ></a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Analogous to std::allocator<void>, as defined in ISO C++ Standard, Section 20.4.1.  <a href="a00145.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00160.html">tbb::zero_allocator< T, Allocator ></a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Meets "allocator" requirements of ISO C++ Standard, Section 20.1.5.  <a href="a00160.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00161.html">tbb::zero_allocator< void, Allocator ></a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Analogous to std::allocator<void>, as defined in ISO C++ Standard, Section 20.4.1.  <a href="a00161.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:ga2a5bdc71439a70b20f2eadf6e1a489e1"><td class="memItemLeft" align="right" valign="top">void *__TBB_EXPORTED_FUNC </td><td class="memItemRight" valign="bottom"><a class="el" href="a00236.html#ga2a5bdc71439a70b20f2eadf6e1a489e1">scalable_malloc</a> (size_t size)</td></tr>
+<tr class="separator:ga2a5bdc71439a70b20f2eadf6e1a489e1"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ga2ad3952b8c4dd7d293e02ae18fc37b84"><td class="memItemLeft" align="right" valign="top">void __TBB_EXPORTED_FUNC </td><td class="memItemRight" valign="bottom"><a class="el" href="a00236.html#ga2ad3952b8c4dd7d293e02ae18fc37b84">scalable_free</a> (void *ptr)</td></tr>
+<tr class="separator:ga2ad3952b8c4dd7d293e02ae18fc37b84"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ga40d6e0bc19cdfa3005b2b935c62077a1"><td class="memItemLeft" align="right" valign="top">void *__TBB_EXPORTED_FUNC </td><td class="memItemRight" valign="bottom"><a class="el" href="a00236.html#ga40d6e0bc19cdfa3005b2b935c62077a1">scalable_realloc</a> (void *ptr, size_t size)</td></tr>
+<tr class="separator:ga40d6e0bc19cdfa3005b2b935c62077a1"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ga3b4ff39555cd9e929fce2958325cd8ea"><td class="memItemLeft" align="right" valign="top">void *__TBB_EXPORTED_FUNC </td><td class="memItemRight" valign="bottom"><a class="el" href="a00236.html#ga3b4ff39555cd9e929fce2958325cd8ea">scalable_calloc</a> (size_t nobj, size_t size)</td></tr>
+<tr class="separator:ga3b4ff39555cd9e929fce2958325cd8ea"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:gaf117b4994f719d539804da8dd115e28c"><td class="memItemLeft" align="right" valign="top">int __TBB_EXPORTED_FUNC </td><td class="memItemRight" valign="bottom"><a class="el" href="a00236.html#gaf117b4994f719d539804da8dd115e28c">scalable_posix_memalign</a> (void **memptr, size_t alignment, size_t size)</td></tr>
+<tr class="separator:gaf117b4994f719d539804da8dd115e28c"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ga903307de17bc1611515f8e6ae782a3d6"><td class="memItemLeft" align="right" valign="top">void *__TBB_EXPORTED_FUNC </td><td class="memItemRight" valign="bottom"><a class="el" href="a00236.html#ga903307de17bc1611515f8e6ae782a3d6">scalable_aligned_malloc</a> (size_t size, size_t alignment)</td></tr>
+<tr class="separator:ga903307de17bc1611515f8e6ae782a3d6"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:gaa07391c54330b2e4dd1743ae9c9c4f2d"><td class="memItemLeft" align="right" valign="top">void *__TBB_EXPORTED_FUNC </td><td class="memItemRight" valign="bottom"><a class="el" href="a00236.html#gaa07391c54330b2e4dd1743ae9c9c4f2d">scalable_aligned_realloc</a> (void *ptr, size_t size, size_t alignment)</td></tr>
+<tr class="separator:gaa07391c54330b2e4dd1743ae9c9c4f2d"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:gad9aa7595581a7bc5be193d7e034c8f61"><td class="memItemLeft" align="right" valign="top">void __TBB_EXPORTED_FUNC </td><td class="memItemRight" valign="bottom"><a class="el" href="a00236.html#gad9aa7595581a7bc5be193d7e034c8f61">scalable_aligned_free</a> (void *ptr)</td></tr>
+<tr class="separator:gad9aa7595581a7bc5be193d7e034c8f61"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ga2b718206e50acb6392b86e4877d98213"><td class="memItemLeft" align="right" valign="top">size_t __TBB_EXPORTED_FUNC </td><td class="memItemRight" valign="bottom"><a class="el" href="a00236.html#ga2b718206e50acb6392b86e4877d98213">scalable_msize</a> (void *ptr)</td></tr>
+<tr class="separator:ga2b718206e50acb6392b86e4877d98213"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:ga7f5029970f72ebbffee896c46a23958e"><td class="memItemLeft" align="right" valign="top">int __TBB_EXPORTED_FUNC </td><td class="memItemRight" valign="bottom"><a class="el" href="a00236.html#ga7f5029970f72ebbffee896c46a23958e">scalable_allocation_mode</a> (int param, intptr_t value)</td></tr>
+<tr class="separator:ga7f5029970f72ebbffee896c46a23958e"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:gabe5acd876b4d89bf89787c4e779c2518"><td class="memItemLeft" align="right" valign="top">int __TBB_EXPORTED_FUNC </td><td class="memItemRight" valign="bottom"><a class="el" href="a00236.html#gabe5acd876b4d89bf89787c4e779c2518">scalable_allocation_command</a> (int cmd, void *param)</td></tr>
+<tr class="separator:gabe5acd876b4d89bf89787c4e779c2518"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="gad9aa7595581a7bc5be193d7e034c8f61"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void __TBB_EXPORTED_FUNC scalable_aligned_free </td>
+          <td>(</td>
+          <td class="paramtype">void * </td>
+          <td class="paramname"><em>ptr</em>)</td><td></td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>The "_aligned_free" analogue. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga903307de17bc1611515f8e6ae782a3d6"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void* __TBB_EXPORTED_FUNC scalable_aligned_malloc </td>
+          <td>(</td>
+          <td class="paramtype">size_t </td>
+          <td class="paramname"><em>size</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">size_t </td>
+          <td class="paramname"><em>alignment</em> </td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>The "_aligned_malloc" analogue. </p>
+
+</div>
+</div>
+<a class="anchor" id="gaa07391c54330b2e4dd1743ae9c9c4f2d"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void* __TBB_EXPORTED_FUNC scalable_aligned_realloc </td>
+          <td>(</td>
+          <td class="paramtype">void * </td>
+          <td class="paramname"><em>ptr</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">size_t </td>
+          <td class="paramname"><em>size</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">size_t </td>
+          <td class="paramname"><em>alignment</em> </td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>The "_aligned_realloc" analogue. </p>
+
+</div>
+</div>
+<a class="anchor" id="gabe5acd876b4d89bf89787c4e779c2518"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int __TBB_EXPORTED_FUNC scalable_allocation_command </td>
+          <td>(</td>
+          <td class="paramtype">int </td>
+          <td class="paramname"><em>cmd</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">void * </td>
+          <td class="paramname"><em>param</em> </td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Call TBB allocator-specific commands. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga7f5029970f72ebbffee896c46a23958e"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int __TBB_EXPORTED_FUNC scalable_allocation_mode </td>
+          <td>(</td>
+          <td class="paramtype">int </td>
+          <td class="paramname"><em>param</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">intptr_t </td>
+          <td class="paramname"><em>value</em> </td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Set TBB allocator-specific allocation modes. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga3b4ff39555cd9e929fce2958325cd8ea"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void* __TBB_EXPORTED_FUNC scalable_calloc </td>
+          <td>(</td>
+          <td class="paramtype">size_t </td>
+          <td class="paramname"><em>nobj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">size_t </td>
+          <td class="paramname"><em>size</em> </td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>The "calloc" analogue complementing scalable_malloc. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga2ad3952b8c4dd7d293e02ae18fc37b84"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void __TBB_EXPORTED_FUNC scalable_free </td>
+          <td>(</td>
+          <td class="paramtype">void * </td>
+          <td class="paramname"><em>ptr</em>)</td><td></td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>The "free" analogue to discard a previously allocated piece of memory. </p>
+
+<p>Referenced by <a class="el" href="a00111.html#a0632b19f25e5d5f86f18b3101925f488">tbb::scalable_allocator< T >::deallocate()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga2a5bdc71439a70b20f2eadf6e1a489e1"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void* __TBB_EXPORTED_FUNC scalable_malloc </td>
+          <td>(</td>
+          <td class="paramtype">size_t </td>
+          <td class="paramname"><em>size</em>)</td><td></td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>The "malloc" analogue to allocate block of memory of size bytes. </p>
+
+<p>Referenced by <a class="el" href="a00111.html#acf24945c12dc0586dfb1f8638daf7838">tbb::scalable_allocator< T >::allocate()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga2b718206e50acb6392b86e4877d98213"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">size_t __TBB_EXPORTED_FUNC scalable_msize </td>
+          <td>(</td>
+          <td class="paramtype">void * </td>
+          <td class="paramname"><em>ptr</em>)</td><td></td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>The analogue of <em>msize/malloc_size/malloc_usable_size. Returns the usable size of a memory block previously allocated by scalable</em>*, or 0 (zero) if ptr does not point to such a block. </p>
+
+</div>
+</div>
+<a class="anchor" id="gaf117b4994f719d539804da8dd115e28c"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int __TBB_EXPORTED_FUNC scalable_posix_memalign </td>
+          <td>(</td>
+          <td class="paramtype">void ** </td>
+          <td class="paramname"><em>memptr</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">size_t </td>
+          <td class="paramname"><em>alignment</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">size_t </td>
+          <td class="paramname"><em>size</em> </td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>The "posix_memalign" analogue. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga40d6e0bc19cdfa3005b2b935c62077a1"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void* __TBB_EXPORTED_FUNC scalable_realloc </td>
+          <td>(</td>
+          <td class="paramtype">void * </td>
+          <td class="paramname"><em>ptr</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">size_t </td>
+          <td class="paramname"><em>size</em> </td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>The "realloc" analogue complementing scalable_malloc. </p>
+
+</div>
+</div>
+</div><!-- contents -->
+<hr>
+<p></p>
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
+<p></p>
+Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
+registered trademarks or trademarks of Intel Corporation or its
+subsidiaries in the United States and other countries.
+<p></p>
+* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00237.html b/doc/html/a00237.html
new file mode 100644
index 0000000..416ea18
--- /dev/null
+++ b/doc/html/a00237.html
@@ -0,0 +1,125 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Synchronization</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Classes</a> |
+<a href="#typedef-members">Typedefs</a>  </div>
+  <div class="headertitle">
+<div class="title">Synchronization</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Classes</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00015.html">tbb::atomic< T ></a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Primary template for atomic.  <a href="a00015.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00081.html">tbb::mutex</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Wrapper around the platform's native reader-writer lock.  <a href="a00081.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00083.html">tbb::null_mutex</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">A mutex which does nothing.  <a href="a00083.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00084.html">tbb::null_rw_mutex</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">A rw mutex which does nothing.  <a href="a00084.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00093.html">tbb::queuing_mutex</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Queuing mutex with local-only spinning.  <a href="a00093.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00094.html">tbb::queuing_rw_mutex</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Queuing reader-writer mutex with local-only spinning.  <a href="a00094.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00095.html">tbb::interface5::reader_writer_lock</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Writer-preference reader-writer lock with local-only spinning on readers.  <a href="a00095.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00107.html">tbb::recursive_mutex</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00127.html">tbb::spin_mutex</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">A lock that occupies a single byte.  <a href="a00127.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00128.html">tbb::spin_rw_mutex_v3</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Fast, unfair, spinning reader-writer lock with backoff and writer-preference.  <a href="a00128.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
+Typedefs</h2></td></tr>
+<tr class="memitem:ga69722571e9e4406693c4a1379f0b47eb"><td class="memItemLeft" align="right" valign="top">typedef <br class="typebreak"/>
+interface7::internal::padded_mutex<br class="typebreak"/>
+< interface7::internal::x86_eliding_mutex, <br class="typebreak"/>
+false > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00237.html#ga69722571e9e4406693c4a1379f0b47eb">tbb::speculative_spin_mutex</a></td></tr>
+<tr class="memdesc:ga69722571e9e4406693c4a1379f0b47eb"><td class="mdescLeft"> </td><td class="mdescRight">A cross-platform spin mutex with speculative lock acquisition.  <a href="#ga69722571e9e4406693c4a1379f0b47eb">More...</a><br/></td></tr>
+<tr class="separator:ga69722571e9e4406693c4a1379f0b47eb"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:gab65b7be4fb11293e9ff104d8ead4e65b"><td class="memItemLeft" align="right" valign="top">typedef <br class="typebreak"/>
+interface7::internal::padded_mutex<br class="typebreak"/>
+< tbb::interface7::internal::x86_rtm_rw_mutex, <br class="typebreak"/>
+true > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00237.html#gab65b7be4fb11293e9ff104d8ead4e65b">tbb::interface7::speculative_spin_rw_mutex</a></td></tr>
+<tr class="memdesc:gab65b7be4fb11293e9ff104d8ead4e65b"><td class="mdescLeft"> </td><td class="mdescRight">A cross-platform spin reader/writer mutex with speculative lock acquisition.  <a href="#gab65b7be4fb11293e9ff104d8ead4e65b">More...</a><br/></td></tr>
+<tr class="separator:gab65b7be4fb11293e9ff104d8ead4e65b"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<h2 class="groupheader">Typedef Documentation</h2>
+<a class="anchor" id="ga69722571e9e4406693c4a1379f0b47eb"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef interface7::internal::padded_mutex< spin_mutex, false > <a class="el" href="a00237.html#ga69722571e9e4406693c4a1379f0b47eb">tbb::speculative_spin_mutex</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>A cross-platform spin mutex with speculative lock acquisition. </p>
+<p>On platforms with proper HW support, this lock may speculatively execute its critical sections, using HW mechanisms to detect real data races and ensure atomicity of the critical sections. In particular, it uses Intel(R) Transactional Synchronization Extensions (Intel(R) TSX). Without such HW support, it behaves like a <a class="el" href="a00127.html" title="A lock that occupies a single byte. ">spin_mutex</a>. It should be used for locking short critical sections where the lock is co [...]
+
+</div>
+</div>
+<a class="anchor" id="gab65b7be4fb11293e9ff104d8ead4e65b"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef interface7::internal::padded_mutex< <a class="el" href="a00128.html">tbb::spin_rw_mutex</a>, true > <a class="el" href="a00237.html#gab65b7be4fb11293e9ff104d8ead4e65b">tbb::interface7::speculative_spin_rw_mutex</a></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>A cross-platform spin reader/writer mutex with speculative lock acquisition. </p>
+<p>On platforms with proper HW support, this lock may speculatively execute its critical sections, using HW mechanisms to detect real data races and ensure atomicity of the critical sections. In particular, it uses Intel(R) Transactional Synchronization Extensions (Intel(R) TSX). Without such HW support, it behaves like a spin_rw_mutex. It should be used for locking short critical sections where the lock is contended but the data it protects are not. </p>
+
+</div>
+</div>
+</div><!-- contents -->
+<hr>
+<p></p>
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
+<p></p>
+Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
+registered trademarks or trademarks of Intel Corporation or its
+subsidiaries in the United States and other countries.
+<p></p>
+* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00238.html b/doc/html/a00238.html
new file mode 100644
index 0000000..ac7208b
--- /dev/null
+++ b/doc/html/a00238.html
@@ -0,0 +1,52 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Timing</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Classes</a>  </div>
+  <div class="headertitle">
+<div class="title">Timing</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Classes</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00155.html">tbb::tick_count</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Absolute timestamp.  <a href="a00155.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+</div><!-- contents -->
+<hr>
+<p></p>
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
+<p></p>
+Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
+registered trademarks or trademarks of Intel Corporation or its
+subsidiaries in the United States and other countries.
+<p></p>
+* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00239.html b/doc/html/a00239.html
new file mode 100644
index 0000000..4ff11ee
--- /dev/null
+++ b/doc/html/a00239.html
@@ -0,0 +1,52 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Task Scheduling</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+</div><!-- top -->
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Classes</a>  </div>
+  <div class="headertitle">
+<div class="title">Task Scheduling</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Classes</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00141.html">tbb::task_scheduler_init</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Class delimiting the scope of task scheduler activity.  <a href="a00141.html#details">More...</a><br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+</div><!-- contents -->
+<hr>
+<p></p>
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
+<p></p>
+Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
+registered trademarks or trademarks of Intel Corporation or its
+subsidiaries in the United States and other countries.
+<p></p>
+* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00240.html b/doc/html/a00240.html
new file mode 100644
index 0000000..12c13fc
--- /dev/null
+++ b/doc/html/a00240.html
@@ -0,0 +1,46 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Deprecated List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li class="current"><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">Deprecated List </div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><dl class="reflist">
+<dt><a class="anchor" id="_deprecated000001"></a>Member <a class="el" href="a00039.html#a8d6825341ca673ea316202474a021174">tbb::deprecated::concurrent_queue< T, A >::pop_if_present</a>  (T &destination)</dt>
+<dd>Use try_pop() </dd>
+</dl>
+</div></div><!-- contents -->
+<hr>
+<p></p>
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
+<p></p>
+Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
+registered trademarks or trademarks of Intel Corporation or its
+subsidiaries in the United States and other countries.
+<p></p>
+* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00242.html b/doc/html/a00242.html
new file mode 100644
index 0000000..58862db
--- /dev/null
+++ b/doc/html/a00242.html
@@ -0,0 +1,53 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">__TBB_malloc_proxy_caller Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="a00009.html">__TBB_malloc_proxy_caller</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>__TBB_malloc_proxy_caller</b>() (defined in <a class="el" href="a00009.html">__TBB_malloc_proxy_caller</a>)</td><td class="entry"><a class="el" href="a00009.html">__TBB_malloc_proxy_caller</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+</table></div><!-- contents -->
+<hr>
+<p></p>
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
+<p></p>
+Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
+registered trademarks or trademarks of Intel Corporation or its
+subsidiaries in the United States and other countries.
+<p></p>
+* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00243.html b/doc/html/a00243.html
new file mode 100644
index 0000000..5579f71
--- /dev/null
+++ b/doc/html/a00243.html
@@ -0,0 +1,65 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="a00219.html">rml</a></li><li class="navelem"><a class="el" href="a00076.html">MemPoolPolicy</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">rml::MemPoolPolicy Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="a00076.html">rml::MemPoolPolicy</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>fixedPool</b> (defined in <a class="el" href="a00076.html">rml::MemPoolPolicy</a>)</td><td class="entry"><a class="el" href="a00076.html">rml::MemPoolPolicy</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>granularity</b> (defined in <a class="el" href="a00076.html">rml::MemPoolPolicy</a>)</td><td class="entry"><a class="el" href="a00076.html">rml::MemPoolPolicy</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>keepAllMemory</b> (defined in <a class="el" href="a00076.html">rml::MemPoolPolicy</a>)</td><td class="entry"><a class="el" href="a00076.html">rml::MemPoolPolicy</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>MemPoolPolicy</b>(rawAllocType pAlloc_, rawFreeType pFree_, size_t granularity_=0, bool fixedPool_=false, bool keepAllMemory_=false) (defined in <a class="el" href="a00076.html">rml::MemPoolPolicy</a>)</td><td class="entry"><a class="el" href="a00076.html">rml::MemPoolPolicy</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>pAlloc</b> (defined in <a class="el" href="a00076.html">rml::MemPoolPolicy</a>)</td><td class="entry"><a class="el" href="a00076.html">rml::MemPoolPolicy</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>pFree</b> (defined in <a class="el" href="a00076.html">rml::MemPoolPolicy</a>)</td><td class="entry"><a class="el" href="a00076.html">rml::MemPoolPolicy</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>reserved</b> (defined in <a class="el" href="a00076.html">rml::MemPoolPolicy</a>)</td><td class="entry"><a class="el" href="a00076.html">rml::MemPoolPolicy</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>TBBMALLOC_POOL_VERSION</b> enum value (defined in <a class="el" href="a00076.html">rml::MemPoolPolicy</a>)</td><td class="entry"><a class="el" href="a00076.html">rml::MemPoolPolicy</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>version</b> (defined in <a class="el" href="a00076.html">rml::MemPoolPolicy</a>)</td><td class="entry"><a class="el" href="a00076.html">rml::MemPoolPolicy</a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
+<hr>
+<p></p>
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
+<p></p>
+Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
+registered trademarks or trademarks of Intel Corporation or its
+subsidiaries in the United States and other countries.
+<p></p>
+* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00244.html b/doc/html/a00244.html
new file mode 100644
index 0000000..0ab255f
--- /dev/null
+++ b/doc/html/a00244.html
@@ -0,0 +1,58 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00014.html">aligned_space</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::aligned_space< T, N > Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="a00014.html">tbb::aligned_space< T, N ></a>, including all inherited members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" href="a00014.html#a3525dbbac0d4eaedfe18bc57b7760857">begin</a>()</td><td class="entry"><a class="el" href="a00014.html">tbb::aligned_space< T, N ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00014.html#ae95620e1159984a2670bd418ed4748d0">end</a>()</td><td class="entry"><a class="el" href="a00014.html">tbb::aligned_space< T, N ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+</table></div><!-- contents -->
+<hr>
+<p></p>
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
+<p></p>
+Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
+registered trademarks or trademarks of Intel Corporation or its
+subsidiaries in the United States and other countries.
+<p></p>
+* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00245.html b/doc/html/a00245.html
new file mode 100644
index 0000000..c157538
--- /dev/null
+++ b/doc/html/a00245.html
@@ -0,0 +1,60 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00015.html">atomic</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::atomic< T > Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="a00015.html">tbb::atomic< T ></a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>atomic</b>()=default (defined in <a class="el" href="a00015.html">tbb::atomic< T ></a>)</td><td class="entry"><a class="el" href="a00015.html">tbb::atomic< T ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>atomic</b>(T arg) (defined in <a class="el" href="a00015.html">tbb::atomic< T ></a>)</td><td class="entry"><a class="el" href="a00015.html">tbb::atomic< T ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator=</b>(T rhs) (defined in <a class="el" href="a00015.html">tbb::atomic< T ></a>)</td><td class="entry"><a class="el" href="a00015.html">tbb::atomic< T ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>operator=</b>(const atomic< T > &rhs) (defined in <a class="el" href="a00015.html">tbb::atomic< T ></a>)</td><td class="entry"><a class="el" href="a00015.html">tbb::atomic< T ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+</table></div><!-- contents -->
+<hr>
+<p></p>
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
+<p></p>
+Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
+registered trademarks or trademarks of Intel Corporation or its
+subsidiaries in the United States and other countries.
+<p></p>
+* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00246.html b/doc/html/a00246.html
new file mode 100644
index 0000000..3ab7f20
--- /dev/null
+++ b/doc/html/a00246.html
@@ -0,0 +1,60 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00016.html">atomic< void * ></a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::atomic< void * > Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="a00016.html">tbb::atomic< void * ></a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>atomic</b>()=default (defined in <a class="el" href="a00016.html">tbb::atomic< void * ></a>)</td><td class="entry"><a class="el" href="a00016.html">tbb::atomic< void * ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>atomic</b>(void *arg) (defined in <a class="el" href="a00016.html">tbb::atomic< void * ></a>)</td><td class="entry"><a class="el" href="a00016.html">tbb::atomic< void * ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator=</b>(void *rhs) (defined in <a class="el" href="a00016.html">tbb::atomic< void * ></a>)</td><td class="entry"><a class="el" href="a00016.html">tbb::atomic< void * ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>operator=</b>(const atomic< void * > &rhs) (defined in <a class="el" href="a00016.html">tbb::atomic< void * ></a>)</td><td class="entry"><a class="el" href="a00016.html">tbb::atomic< void * ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+</table></div><!-- contents -->
+<hr>
+<p></p>
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
+<p></p>
+Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
+registered trademarks or trademarks of Intel Corporation or its
+subsidiaries in the United States and other countries.
+<p></p>
+* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00247.html b/doc/html/a00247.html
new file mode 100644
index 0000000..247397d
--- /dev/null
+++ b/doc/html/a00247.html
@@ -0,0 +1,69 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00021.html">blocked_range</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::blocked_range< Value > Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="a00021.html">tbb::blocked_range< Value ></a>, including all inherited members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" href="a00021.html#ae225fa10454b0fa33533dfb56f5060a2">begin</a>() const </td><td class="entry"><a class="el" href="a00021.html">tbb::blocked_range< Value ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00021.html#aad176ab2cbd0bd73c3c2065761af3ccc">blocked_range</a>()</td><td class="entry"><a class="el" href="a00021.html">tbb::blocked_range< Value ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00021.html#a49a97576004711b7159170fcaf488e4e">blocked_range</a>(Value begin_, Value end_, size_type grainsize_=1)</td><td class="entry"><a class="el" href="a00021.html">tbb::blocked_range< Value ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00021.html#a75cae12286f4d5492970ea630a9783b9">blocked_range</a>(blocked_range &r, split)</td><td class="entry"><a class="el" href="a00021.html">tbb::blocked_range< Value ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>blocked_range2d</b> (defined in <a class="el" href="a00021.html">tbb::blocked_range< Value ></a>)</td><td class="entry"><a class="el" href="a00021.html">tbb::blocked_range< Value ></a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>blocked_range3d</b> (defined in <a class="el" href="a00021.html">tbb::blocked_range< Value ></a>)</td><td class="entry"><a class="el" href="a00021.html">tbb::blocked_range< Value ></a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00021.html#ad56ca70af46acf8870b4970d8a809791">const_iterator</a> typedef</td><td class="entry"><a class="el" href="a00021.html">tbb::blocked_range< Value ></a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="a00021.html#a59dec03416b3fefbf69600f798177710">empty</a>() const </td><td class="entry"><a class="el" href="a00021.html">tbb::blocked_range< Value ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00021.html#a99f829599d3e51b181a30b4cd57b06c6">end</a>() const </td><td class="entry"><a class="el" href="a00021.html">tbb::blocked_range< Value ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00021.html#ab408f3cf90c85fa9203df5641a2f9bb1">grainsize</a>() const </td><td class="entry"><a class="el" href="a00021.html">tbb::blocked_range< Value ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00021.html#ad90ad1db0d4d9a301ef1c9e17712e8a0">is_divisible</a>() const </td><td class="entry"><a class="el" href="a00021.html">tbb::blocked_range< Value ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00021.html#a347ef8caa40edca3b7f475f182281140">size</a>() const </td><td class="entry"><a class="el" href="a00021.html">tbb::blocked_range< Value ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00021.html#a89b300cecd9d617e4ee801c786756e55">size_type</a> typedef</td><td class="entry"><a class="el" href="a00021.html">tbb::blocked_range< Value ></a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
+<hr>
+<p></p>
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
+<p></p>
+Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
+registered trademarks or trademarks of Intel Corporation or its
+subsidiaries in the United States and other countries.
+<p></p>
+* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00248.html b/doc/html/a00248.html
new file mode 100644
index 0000000..e79e50d
--- /dev/null
+++ b/doc/html/a00248.html
@@ -0,0 +1,65 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00022.html">blocked_range2d</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::blocked_range2d< RowValue, ColValue > Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="a00022.html">tbb::blocked_range2d< RowValue, ColValue ></a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>blocked_range2d</b>(RowValue row_begin, RowValue row_end, typename row_range_type::size_type row_grainsize, ColValue col_begin, ColValue col_end, typename col_range_type::size_type col_grainsize) (defined in <a class="el" href="a00022.html">tbb::blocked_range2d< RowValue, ColValue ></a>)</td><td class="entry"><a class="el" href="a00022.html">tbb::blocked_range2d< RowValue, ColValue ></a></td><td class="entry"><span cla [...]
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>blocked_range2d</b>(RowValue row_begin, RowValue row_end, ColValue col_begin, ColValue col_end) (defined in <a class="el" href="a00022.html">tbb::blocked_range2d< RowValue, ColValue ></a>)</td><td class="entry"><a class="el" href="a00022.html">tbb::blocked_range2d< RowValue, ColValue ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>blocked_range2d</b>(blocked_range2d &r, split) (defined in <a class="el" href="a00022.html">tbb::blocked_range2d< RowValue, ColValue ></a>)</td><td class="entry"><a class="el" href="a00022.html">tbb::blocked_range2d< RowValue, ColValue ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>col_range_type</b> typedef (defined in <a class="el" href="a00022.html">tbb::blocked_range2d< RowValue, ColValue ></a>)</td><td class="entry"><a class="el" href="a00022.html">tbb::blocked_range2d< RowValue, ColValue ></a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00022.html#af3bccfaf90126b285491096f78ca9473">cols</a>() const </td><td class="entry"><a class="el" href="a00022.html">tbb::blocked_range2d< RowValue, ColValue ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00022.html#a5805972c8c41b2681d286f9c9771cf52">empty</a>() const </td><td class="entry"><a class="el" href="a00022.html">tbb::blocked_range2d< RowValue, ColValue ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00022.html#ac84c6cc2ff8b0974ffa719fed804f586">is_divisible</a>() const </td><td class="entry"><a class="el" href="a00022.html">tbb::blocked_range2d< RowValue, ColValue ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00022.html#ada609b296a9af0591cc34761b8538100">row_range_type</a> typedef</td><td class="entry"><a class="el" href="a00022.html">tbb::blocked_range2d< RowValue, ColValue ></a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00022.html#a4f7299e74c40df57dee2433c07ce65ae">rows</a>() const </td><td class="entry"><a class="el" href="a00022.html">tbb::blocked_range2d< RowValue, ColValue ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+</table></div><!-- contents -->
+<hr>
+<p></p>
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
+<p></p>
+Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
+registered trademarks or trademarks of Intel Corporation or its
+subsidiaries in the United States and other countries.
+<p></p>
+* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00249.html b/doc/html/a00249.html
new file mode 100644
index 0000000..7e2d4af
--- /dev/null
+++ b/doc/html/a00249.html
@@ -0,0 +1,67 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00023.html">blocked_range3d</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::blocked_range3d< PageValue, RowValue, ColValue > Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="a00023.html">tbb::blocked_range3d< PageValue, RowValue, ColValue ></a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>blocked_range3d</b>(PageValue page_begin, PageValue page_end, RowValue row_begin, RowValue row_end, ColValue col_begin, ColValue col_end) (defined in <a class="el" href="a00023.html">tbb::blocked_range3d< PageValue, RowValue, ColValue ></a>)</td><td class="entry"><a class="el" href="a00023.html">tbb::blocked_range3d< PageValue, RowValue, ColValue ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>blocked_range3d</b>(PageValue page_begin, PageValue page_end, typename page_range_type::size_type page_grainsize, RowValue row_begin, RowValue row_end, typename row_range_type::size_type row_grainsize, ColValue col_begin, ColValue col_end, typename col_range_type::size_type col_grainsize) (defined in <a class="el" href="a00023.html">tbb::blocked_range3d< PageValue, RowValue, ColValue ></a>)</td><td class="entry"><a class="el" href="a0002 [...]
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>blocked_range3d</b>(blocked_range3d &r, split) (defined in <a class="el" href="a00023.html">tbb::blocked_range3d< PageValue, RowValue, ColValue ></a>)</td><td class="entry"><a class="el" href="a00023.html">tbb::blocked_range3d< PageValue, RowValue, ColValue ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>col_range_type</b> typedef (defined in <a class="el" href="a00023.html">tbb::blocked_range3d< PageValue, RowValue, ColValue ></a>)</td><td class="entry"><a class="el" href="a00023.html">tbb::blocked_range3d< PageValue, RowValue, ColValue ></a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00023.html#a308d7089a1d53ff26770a7040ed817cd">cols</a>() const </td><td class="entry"><a class="el" href="a00023.html">tbb::blocked_range3d< PageValue, RowValue, ColValue ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00023.html#aea992e0cd3d105f964a633b1a0a1a05f">empty</a>() const </td><td class="entry"><a class="el" href="a00023.html">tbb::blocked_range3d< PageValue, RowValue, ColValue ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00023.html#a0fce6bcae6269c37623c3a2cdbb8bcf0">is_divisible</a>() const </td><td class="entry"><a class="el" href="a00023.html">tbb::blocked_range3d< PageValue, RowValue, ColValue ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00023.html#a8cdc866378a12ce198da870d0439676f">page_range_type</a> typedef</td><td class="entry"><a class="el" href="a00023.html">tbb::blocked_range3d< PageValue, RowValue, ColValue ></a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00023.html#a5b794fd53ba92106aeafa4eed85731d4">pages</a>() const </td><td class="entry"><a class="el" href="a00023.html">tbb::blocked_range3d< PageValue, RowValue, ColValue ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>row_range_type</b> typedef (defined in <a class="el" href="a00023.html">tbb::blocked_range3d< PageValue, RowValue, ColValue ></a>)</td><td class="entry"><a class="el" href="a00023.html">tbb::blocked_range3d< PageValue, RowValue, ColValue ></a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00023.html#aeac1def585af81467573f30ebb42cb4f">rows</a>() const </td><td class="entry"><a class="el" href="a00023.html">tbb::blocked_range3d< PageValue, RowValue, ColValue ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+</table></div><!-- contents -->
+<hr>
+<p></p>
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
+<p></p>
+Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
+registered trademarks or trademarks of Intel Corporation or its
+subsidiaries in the United States and other countries.
+<p></p>
+* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00250.html b/doc/html/a00250.html
new file mode 100644
index 0000000..12ffe68
--- /dev/null
+++ b/doc/html/a00250.html
@@ -0,0 +1,74 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00029.html">cache_aligned_allocator</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::cache_aligned_allocator< T > Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="a00029.html">tbb::cache_aligned_allocator< T ></a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>address</b>(reference x) const  (defined in <a class="el" href="a00029.html">tbb::cache_aligned_allocator< T ></a>)</td><td class="entry"><a class="el" href="a00029.html">tbb::cache_aligned_allocator< T ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>address</b>(const_reference x) const  (defined in <a class="el" href="a00029.html">tbb::cache_aligned_allocator< T ></a>)</td><td class="entry"><a class="el" href="a00029.html">tbb::cache_aligned_allocator< T ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00029.html#a99d05096f80877849cb31d80247e0f85">allocate</a>(size_type n, const void *hint=0)</td><td class="entry"><a class="el" href="a00029.html">tbb::cache_aligned_allocator< T ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>cache_aligned_allocator</b>() (defined in <a class="el" href="a00029.html">tbb::cache_aligned_allocator< T ></a>)</td><td class="entry"><a class="el" href="a00029.html">tbb::cache_aligned_allocator< T ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>cache_aligned_allocator</b>(const cache_aligned_allocator &) (defined in <a class="el" href="a00029.html">tbb::cache_aligned_allocator< T ></a>)</td><td class="entry"><a class="el" href="a00029.html">tbb::cache_aligned_allocator< T ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>cache_aligned_allocator</b>(const cache_aligned_allocator< U > &) (defined in <a class="el" href="a00029.html">tbb::cache_aligned_allocator< T ></a>)</td><td class="entry"><a class="el" href="a00029.html">tbb::cache_aligned_allocator< T ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>const_pointer</b> typedef (defined in <a class="el" href="a00029.html">tbb::cache_aligned_allocator< T ></a>)</td><td class="entry"><a class="el" href="a00029.html">tbb::cache_aligned_allocator< T ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>const_reference</b> typedef (defined in <a class="el" href="a00029.html">tbb::cache_aligned_allocator< T ></a>)</td><td class="entry"><a class="el" href="a00029.html">tbb::cache_aligned_allocator< T ></a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00029.html#ab316f80a66b991801b4ec4ea88b852d9">construct</a>(U *p, Args &&...args)</td><td class="entry"><a class="el" href="a00029.html">tbb::cache_aligned_allocator< T ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>construct</b>(pointer p, const value_type &value) (defined in <a class="el" href="a00029.html">tbb::cache_aligned_allocator< T ></a>)</td><td class="entry"><a class="el" href="a00029.html">tbb::cache_aligned_allocator< T ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00029.html#a7f7310e046c4b6b8618864de8e27a471">deallocate</a>(pointer p, size_type)</td><td class="entry"><a class="el" href="a00029.html">tbb::cache_aligned_allocator< T ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00029.html#af2fd054d055403d4ea669fd3af661cc8">destroy</a>(pointer p)</td><td class="entry"><a class="el" href="a00029.html">tbb::cache_aligned_allocator< T ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>difference_type</b> typedef (defined in <a class="el" href="a00029.html">tbb::cache_aligned_allocator< T ></a>)</td><td class="entry"><a class="el" href="a00029.html">tbb::cache_aligned_allocator< T ></a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="a00029.html#a4b945b3180ea3dfe16dfa048f4591c6d">max_size</a>() const </td><td class="entry"><a class="el" href="a00029.html">tbb::cache_aligned_allocator< T ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>pointer</b> typedef (defined in <a class="el" href="a00029.html">tbb::cache_aligned_allocator< T ></a>)</td><td class="entry"><a class="el" href="a00029.html">tbb::cache_aligned_allocator< T ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>reference</b> typedef (defined in <a class="el" href="a00029.html">tbb::cache_aligned_allocator< T ></a>)</td><td class="entry"><a class="el" href="a00029.html">tbb::cache_aligned_allocator< T ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>size_type</b> typedef (defined in <a class="el" href="a00029.html">tbb::cache_aligned_allocator< T ></a>)</td><td class="entry"><a class="el" href="a00029.html">tbb::cache_aligned_allocator< T ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>value_type</b> typedef (defined in <a class="el" href="a00029.html">tbb::cache_aligned_allocator< T ></a>)</td><td class="entry"><a class="el" href="a00029.html">tbb::cache_aligned_allocator< T ></a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
+<hr>
+<p></p>
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
+<p></p>
+Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
+registered trademarks or trademarks of Intel Corporation or its
+subsidiaries in the United States and other countries.
+<p></p>
+* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00251.html b/doc/html/a00251.html
new file mode 100644
index 0000000..2dc21d3
--- /dev/null
+++ b/doc/html/a00251.html
@@ -0,0 +1,57 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00029.html">cache_aligned_allocator</a></li><li class="navelem"><a class="el" href="a00104.html">rebind</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::cache_aligned_allocator< T >::rebind< U > Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="a00104.html">tbb::cache_aligned_allocator< T >::rebind< U ></a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>other</b> typedef (defined in <a class="el" href="a00104.html">tbb::cache_aligned_allocator< T >::rebind< U ></a>)</td><td class="entry"><a class="el" href="a00104.html">tbb::cache_aligned_allocator< T >::rebind< U ></a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
+<hr>
+<p></p>
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
+<p></p>
+Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
+registered trademarks or trademarks of Intel Corporation or its
+subsidiaries in the United States and other countries.
+<p></p>
+* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00252.html b/doc/html/a00252.html
new file mode 100644
index 0000000..78321c1
--- /dev/null
+++ b/doc/html/a00252.html
@@ -0,0 +1,59 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00030.html">cache_aligned_allocator< void ></a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::cache_aligned_allocator< void > Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="a00030.html">tbb::cache_aligned_allocator< void ></a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>const_pointer</b> typedef (defined in <a class="el" href="a00030.html">tbb::cache_aligned_allocator< void ></a>)</td><td class="entry"><a class="el" href="a00030.html">tbb::cache_aligned_allocator< void ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>pointer</b> typedef (defined in <a class="el" href="a00030.html">tbb::cache_aligned_allocator< void ></a>)</td><td class="entry"><a class="el" href="a00030.html">tbb::cache_aligned_allocator< void ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>value_type</b> typedef (defined in <a class="el" href="a00030.html">tbb::cache_aligned_allocator< void ></a>)</td><td class="entry"><a class="el" href="a00030.html">tbb::cache_aligned_allocator< void ></a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
+<hr>
+<p></p>
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
+<p></p>
+Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
+registered trademarks or trademarks of Intel Corporation or its
+subsidiaries in the United States and other countries.
+<p></p>
+* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00253.html b/doc/html/a00253.html
new file mode 100644
index 0000000..c8b1fe2
--- /dev/null
+++ b/doc/html/a00253.html
@@ -0,0 +1,57 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00030.html">cache_aligned_allocator< void ></a></li><li class="navelem"><a class="el" href="a00096.html">rebind</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::cache_aligned_allocator< void >::rebind< U > Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="a00096.html">tbb::cache_aligned_allocator< void >::rebind< U ></a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>other</b> typedef (defined in <a class="el" href="a00096.html">tbb::cache_aligned_allocator< void >::rebind< U ></a>)</td><td class="entry"><a class="el" href="a00096.html">tbb::cache_aligned_allocator< void >::rebind< U ></a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
+<hr>
+<p></p>
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
+<p></p>
+Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
+registered trademarks or trademarks of Intel Corporation or its
+subsidiaries in the United States and other countries.
+<p></p>
+* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00254.html b/doc/html/a00254.html
new file mode 100644
index 0000000..795138c
--- /dev/null
+++ b/doc/html/a00254.html
@@ -0,0 +1,66 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00032.html">combinable</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::combinable< T > Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="a00032.html">tbb::combinable< T ></a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>clear</b>() (defined in <a class="el" href="a00032.html">tbb::combinable< T ></a>)</td><td class="entry"><a class="el" href="a00032.html">tbb::combinable< T ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>combinable</b>() (defined in <a class="el" href="a00032.html">tbb::combinable< T ></a>)</td><td class="entry"><a class="el" href="a00032.html">tbb::combinable< T ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>combinable</b>(finit _finit) (defined in <a class="el" href="a00032.html">tbb::combinable< T ></a>)</td><td class="entry"><a class="el" href="a00032.html">tbb::combinable< T ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>combinable</b>(const combinable &other) (defined in <a class="el" href="a00032.html">tbb::combinable< T ></a>)</td><td class="entry"><a class="el" href="a00032.html">tbb::combinable< T ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>combine</b>(combine_func_t f_combine) (defined in <a class="el" href="a00032.html">tbb::combinable< T ></a>)</td><td class="entry"><a class="el" href="a00032.html">tbb::combinable< T ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>combine_each</b>(combine_func_t f_combine) (defined in <a class="el" href="a00032.html">tbb::combinable< T ></a>)</td><td class="entry"><a class="el" href="a00032.html">tbb::combinable< T ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>local</b>() (defined in <a class="el" href="a00032.html">tbb::combinable< T ></a>)</td><td class="entry"><a class="el" href="a00032.html">tbb::combinable< T ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>local</b>(bool &exists) (defined in <a class="el" href="a00032.html">tbb::combinable< T ></a>)</td><td class="entry"><a class="el" href="a00032.html">tbb::combinable< T ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator=</b>(const combinable &other) (defined in <a class="el" href="a00032.html">tbb::combinable< T ></a>)</td><td class="entry"><a class="el" href="a00032.html">tbb::combinable< T ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00032.html#a52f00cf262d768048db72ab73c8f3ca4">~combinable</a>()</td><td class="entry"><a class="el" href="a00032.html">tbb::combinable< T ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+</table></div><!-- contents -->
+<hr>
+<p></p>
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
+<p></p>
+Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
+registered trademarks or trademarks of Intel Corporation or its
+subsidiaries in the United States and other countries.
+<p></p>
+* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00255.html b/doc/html/a00255.html
new file mode 100644
index 0000000..b077bd2
--- /dev/null
+++ b/doc/html/a00255.html
@@ -0,0 +1,58 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00148.html">tbb_hash_compare</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::tbb_hash_compare< Key > Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="a00148.html">tbb::tbb_hash_compare< Key ></a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>equal</b>(const Key &a, const Key &b) (defined in <a class="el" href="a00148.html">tbb::tbb_hash_compare< Key ></a>)</td><td class="entry"><a class="el" href="a00148.html">tbb::tbb_hash_compare< Key ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>hash</b>(const Key &a) (defined in <a class="el" href="a00148.html">tbb::tbb_hash_compare< Key ></a>)</td><td class="entry"><a class="el" href="a00148.html">tbb::tbb_hash_compare< Key ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+</table></div><!-- contents -->
+<hr>
+<p></p>
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
+<p></p>
+Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
+registered trademarks or trademarks of Intel Corporation or its
+subsidiaries in the United States and other countries.
+<p></p>
+* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00256.html b/doc/html/a00256.html
new file mode 100644
index 0000000..5f987bb
--- /dev/null
+++ b/doc/html/a00256.html
@@ -0,0 +1,84 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00034.html">concurrent_bounded_queue</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::concurrent_bounded_queue< T, A > Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="a00034.html">tbb::concurrent_bounded_queue< T, A ></a>, including all inherited members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" href="a00034.html#a77a755d94cabf5208905d10d5b57419c">abort</a>()</td><td class="entry"><a class="el" href="a00034.html">tbb::concurrent_bounded_queue< T, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00034.html#acbfceb845de1c770e2b56409f09b0364">allocator_type</a> typedef</td><td class="entry"><a class="el" href="a00034.html">tbb::concurrent_bounded_queue< T, A ></a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00034.html#a526487063242569685af8c8d778d39e0">capacity</a>() const </td><td class="entry"><a class="el" href="a00034.html">tbb::concurrent_bounded_queue< T, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00034.html#a246be3920e079ea4847933f106baa98f">clear</a>()</td><td class="entry"><a class="el" href="a00034.html">tbb::concurrent_bounded_queue< T, A ></a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00034.html#a85f8a800cae02b601f36ad7a655a0126">concurrent_bounded_queue</a>(const allocator_type &a=allocator_type())</td><td class="entry"><a class="el" href="a00034.html">tbb::concurrent_bounded_queue< T, A ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00034.html#aad6fd2353d64c2c31d074cd99df58c02">concurrent_bounded_queue</a>(const concurrent_bounded_queue &src, const allocator_type &a=allocator_type())</td><td class="entry"><a class="el" href="a00034.html">tbb::concurrent_bounded_queue< T, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00034.html#afcfdc998e106fdb7b2dfa5df880cd9cf">concurrent_bounded_queue</a>(InputIterator begin, InputIterator end, const allocator_type &a=allocator_type())</td><td class="entry"><a class="el" href="a00034.html">tbb::concurrent_bounded_queue< T, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>const_iterator</b> typedef (defined in <a class="el" href="a00034.html">tbb::concurrent_bounded_queue< T, A ></a>)</td><td class="entry"><a class="el" href="a00034.html">tbb::concurrent_bounded_queue< T, A ></a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00034.html#af838e520ce0db2c22369748c019b11cb">const_reference</a> typedef</td><td class="entry"><a class="el" href="a00034.html">tbb::concurrent_bounded_queue< T, A ></a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="a00034.html#a72725361e050c5a981035a20ef1b773e">difference_type</a> typedef</td><td class="entry"><a class="el" href="a00034.html">tbb::concurrent_bounded_queue< T, A ></a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00034.html#a8c59578f28c5fb4718b0eff43776e879">empty</a>() const </td><td class="entry"><a class="el" href="a00034.html">tbb::concurrent_bounded_queue< T, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00034.html#aaeba11bbcd368a7a3a6e6e2dd3082c9c">get_allocator</a>() const </td><td class="entry"><a class="el" href="a00034.html">tbb::concurrent_bounded_queue< T, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>internal::concurrent_queue_iterator</b> (defined in <a class="el" href="a00034.html">tbb::concurrent_bounded_queue< T, A ></a>)</td><td class="entry"><a class="el" href="a00034.html">tbb::concurrent_bounded_queue< T, A ></a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>iterator</b> typedef (defined in <a class="el" href="a00034.html">tbb::concurrent_bounded_queue< T, A ></a>)</td><td class="entry"><a class="el" href="a00034.html">tbb::concurrent_bounded_queue< T, A ></a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00034.html#a87926c31967a918ce80690a9ed5d6fa8">pop</a>(T &destination)</td><td class="entry"><a class="el" href="a00034.html">tbb::concurrent_bounded_queue< T, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00034.html#ae5e9051772bbc93b2ccb8fd0a98a21f5">push</a>(const T &source)</td><td class="entry"><a class="el" href="a00034.html">tbb::concurrent_bounded_queue< T, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00034.html#a5fa4002bcd265d9d3ed305e3b686f1da">reference</a> typedef</td><td class="entry"><a class="el" href="a00034.html">tbb::concurrent_bounded_queue< T, A ></a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="a00034.html#a768699675813575eec08c1f43afda395">set_capacity</a>(size_type new_capacity)</td><td class="entry"><a class="el" href="a00034.html">tbb::concurrent_bounded_queue< T, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00034.html#a9d6c20fd8c193c12b6a7b0c3101fd966">size</a>() const </td><td class="entry"><a class="el" href="a00034.html">tbb::concurrent_bounded_queue< T, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00034.html#ae73fa352d781bdb9d01bfb77f2a8bc28">size_type</a> typedef</td><td class="entry"><a class="el" href="a00034.html">tbb::concurrent_bounded_queue< T, A ></a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00034.html#a3086cb4dcdeee245ef5cf34f72fb3e10">try_pop</a>(T &destination)</td><td class="entry"><a class="el" href="a00034.html">tbb::concurrent_bounded_queue< T, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00034.html#a03d93a240841a21788396bebd71c51bd">try_push</a>(const T &source)</td><td class="entry"><a class="el" href="a00034.html">tbb::concurrent_bounded_queue< T, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>unsafe_begin</b>() (defined in <a class="el" href="a00034.html">tbb::concurrent_bounded_queue< T, A ></a>)</td><td class="entry"><a class="el" href="a00034.html">tbb::concurrent_bounded_queue< T, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>unsafe_begin</b>() const  (defined in <a class="el" href="a00034.html">tbb::concurrent_bounded_queue< T, A ></a>)</td><td class="entry"><a class="el" href="a00034.html">tbb::concurrent_bounded_queue< T, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>unsafe_end</b>() (defined in <a class="el" href="a00034.html">tbb::concurrent_bounded_queue< T, A ></a>)</td><td class="entry"><a class="el" href="a00034.html">tbb::concurrent_bounded_queue< T, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>unsafe_end</b>() const  (defined in <a class="el" href="a00034.html">tbb::concurrent_bounded_queue< T, A ></a>)</td><td class="entry"><a class="el" href="a00034.html">tbb::concurrent_bounded_queue< T, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00034.html#a6eb564625fef03dd9a5881d5d4e52f9f">value_type</a> typedef</td><td class="entry"><a class="el" href="a00034.html">tbb::concurrent_bounded_queue< T, A ></a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="a00034.html#ab1291bf6837ecfb8836c24dde5dd80b5">~concurrent_bounded_queue</a>()</td><td class="entry"><a class="el" href="a00034.html">tbb::concurrent_bounded_queue< T, A ></a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
+<hr>
+<p></p>
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
+<p></p>
+Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
+registered trademarks or trademarks of Intel Corporation or its
+subsidiaries in the United States and other countries.
+<p></p>
+* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00257.html b/doc/html/a00257.html
new file mode 100644
index 0000000..beeddb5
--- /dev/null
+++ b/doc/html/a00257.html
@@ -0,0 +1,129 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00046.html">concurrent_vector</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::concurrent_vector< T, A > Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="a00046.html">tbb::concurrent_vector< T, A ></a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>allocator_type</b> typedef (defined in <a class="el" href="a00046.html">tbb::concurrent_vector< T, A ></a>)</td><td class="entry"><a class="el" href="a00046.html">tbb::concurrent_vector< T, A ></a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="a00046.html#a87355dce93d0882aa73333a35c9b367c">assign</a>(size_type n, const_reference t)</td><td class="entry"><a class="el" href="a00046.html">tbb::concurrent_vector< T, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00046.html#a7bb5399a8499f88cf859eab39f0ed9e0">assign</a>(I first, I last)</td><td class="entry"><a class="el" href="a00046.html">tbb::concurrent_vector< T, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00046.html#a584d6cda5794441b19d4f02bde399dff">assign</a>(std::initializer_list< T > init_list)</td><td class="entry"><a class="el" href="a00046.html">tbb::concurrent_vector< T, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00046.html#a629a29eb21e528414b9d5c9becfe05cd">at</a>(size_type index)</td><td class="entry"><a class="el" href="a00046.html">tbb::concurrent_vector< T, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00046.html#ae4dc6c1b55c0e0b73f0a8675ef2b60a4">at</a>(size_type index) const </td><td class="entry"><a class="el" href="a00046.html">tbb::concurrent_vector< T, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00046.html#aaee3ddf1d05238a8a6887f6d824b76f8">back</a>()</td><td class="entry"><a class="el" href="a00046.html">tbb::concurrent_vector< T, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00046.html#acf66eb1e82dbcb430d9926a23711c720">back</a>() const </td><td class="entry"><a class="el" href="a00046.html">tbb::concurrent_vector< T, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00046.html#ab55636c80368ad7d400f3200313fcf5f">begin</a>()</td><td class="entry"><a class="el" href="a00046.html">tbb::concurrent_vector< T, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00046.html#ad3eb33d1b10a988a87cc708ceb08f3a9">begin</a>() const </td><td class="entry"><a class="el" href="a00046.html">tbb::concurrent_vector< T, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00046.html#a96c2ae9dfedc24d62554feb627df76c3">capacity</a>() const </td><td class="entry"><a class="el" href="a00046.html">tbb::concurrent_vector< T, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00046.html#a7a1c5441fa480c07ef37d9206b6260cc">cbegin</a>() const </td><td class="entry"><a class="el" href="a00046.html">tbb::concurrent_vector< T, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00046.html#a9ea80faf139feb54d6576c036e4ba898">cend</a>() const </td><td class="entry"><a class="el" href="a00046.html">tbb::concurrent_vector< T, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00046.html#a526ba408fb3064ef846940d633b8f365">clear</a>()</td><td class="entry"><a class="el" href="a00046.html">tbb::concurrent_vector< T, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00046.html#af2101247808fd0e81b992724e317a7f3">compact</a>()</td><td class="entry"><a class="el" href="a00046.html">tbb::concurrent_vector< T, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00046.html#a5bd95c2241653c760704a92b2c887a48">concurrent_vector</a>(const allocator_type &a=allocator_type())</td><td class="entry"><a class="el" href="a00046.html">tbb::concurrent_vector< T, A ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00046.html#aa25dccd2f65fbfa148e92d01a11c20ff">concurrent_vector</a>(std::initializer_list< T > init_list, const allocator_type &a=allocator_type())</td><td class="entry"><a class="el" href="a00046.html">tbb::concurrent_vector< T, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00046.html#a03b5a0e9069b30dc4e2e5fc2f191ccb6">concurrent_vector</a>(const concurrent_vector &vector, const allocator_type &a=allocator_type())</td><td class="entry"><a class="el" href="a00046.html">tbb::concurrent_vector< T, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00046.html#abb0e376a31c3fdb91beaaa98441735f5">concurrent_vector</a>(const concurrent_vector< T, M > &vector, const allocator_type &a=allocator_type())</td><td class="entry"><a class="el" href="a00046.html">tbb::concurrent_vector< T, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00046.html#aa898a39aad73711ceca70cd465dc0b4f">concurrent_vector</a>(size_type n)</td><td class="entry"><a class="el" href="a00046.html">tbb::concurrent_vector< T, A ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00046.html#a736c6e35f1df11625636968ea546e21f">concurrent_vector</a>(size_type n, const_reference t, const allocator_type &a=allocator_type())</td><td class="entry"><a class="el" href="a00046.html">tbb::concurrent_vector< T, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00046.html#ae0d384ec56032d18f63e26960029d3ce">concurrent_vector</a>(I first, I last, const allocator_type &a=allocator_type())</td><td class="entry"><a class="el" href="a00046.html">tbb::concurrent_vector< T, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>const_iterator</b> typedef (defined in <a class="el" href="a00046.html">tbb::concurrent_vector< T, A ></a>)</td><td class="entry"><a class="el" href="a00046.html">tbb::concurrent_vector< T, A ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>const_pointer</b> typedef (defined in <a class="el" href="a00046.html">tbb::concurrent_vector< T, A ></a>)</td><td class="entry"><a class="el" href="a00046.html">tbb::concurrent_vector< T, A ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>const_range_type</b> typedef (defined in <a class="el" href="a00046.html">tbb::concurrent_vector< T, A ></a>)</td><td class="entry"><a class="el" href="a00046.html">tbb::concurrent_vector< T, A ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>const_reference</b> typedef (defined in <a class="el" href="a00046.html">tbb::concurrent_vector< T, A ></a>)</td><td class="entry"><a class="el" href="a00046.html">tbb::concurrent_vector< T, A ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>const_reverse_iterator</b> typedef (defined in <a class="el" href="a00046.html">tbb::concurrent_vector< T, A ></a>)</td><td class="entry"><a class="el" href="a00046.html">tbb::concurrent_vector< T, A ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>const_reverse_iterator</b> typedef (defined in <a class="el" href="a00046.html">tbb::concurrent_vector< T, A ></a>)</td><td class="entry"><a class="el" href="a00046.html">tbb::concurrent_vector< T, A ></a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00046.html#a2627db4a7949522ea4727320b23a6348">crbegin</a>() const </td><td class="entry"><a class="el" href="a00046.html">tbb::concurrent_vector< T, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00046.html#ad097225c529dbb24cc0e13a444ab4752">crend</a>() const </td><td class="entry"><a class="el" href="a00046.html">tbb::concurrent_vector< T, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>difference_type</b> typedef (defined in <a class="el" href="a00046.html">tbb::concurrent_vector< T, A ></a>)</td><td class="entry"><a class="el" href="a00046.html">tbb::concurrent_vector< T, A ></a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="a00046.html#aa3f6774107e65642f73c0dcc9a962fe7">empty</a>() const </td><td class="entry"><a class="el" href="a00046.html">tbb::concurrent_vector< T, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00046.html#aad2c07653375e4a5f89c33b375eda610">end</a>()</td><td class="entry"><a class="el" href="a00046.html">tbb::concurrent_vector< T, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00046.html#a6a4ad0795a19d94df24595e748f0b193">end</a>() const </td><td class="entry"><a class="el" href="a00046.html">tbb::concurrent_vector< T, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00046.html#a9bfc6d733cf543280b691ed8d7b7908a">front</a>()</td><td class="entry"><a class="el" href="a00046.html">tbb::concurrent_vector< T, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00046.html#a9067259572c2c41d014840d0f9d3cdce">front</a>() const </td><td class="entry"><a class="el" href="a00046.html">tbb::concurrent_vector< T, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00046.html#a88b62a9614d3f2b59c9c7c1a2143fb1e">get_allocator</a>() const </td><td class="entry"><a class="el" href="a00046.html">tbb::concurrent_vector< T, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00046.html#a9c8452b88bc79c3c88d47c455064c012">grow_by</a>(size_type delta)</td><td class="entry"><a class="el" href="a00046.html">tbb::concurrent_vector< T, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00046.html#ab89c2db5358048debdc282ff995caffb">grow_by</a>(size_type delta)</td><td class="entry"><a class="el" href="a00046.html">tbb::concurrent_vector< T, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00046.html#a9dae5d9368fd852426552b21d67beb86">grow_by</a>(size_type delta, const_reference t)</td><td class="entry"><a class="el" href="a00046.html">tbb::concurrent_vector< T, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00046.html#aa11fc991cda82cf93789fce31b37a16c">grow_by</a>(size_type delta, const_reference t)</td><td class="entry"><a class="el" href="a00046.html">tbb::concurrent_vector< T, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00046.html#af52b603dd76a99dffe5760f0db4747f1">grow_to_at_least</a>(size_type n)</td><td class="entry"><a class="el" href="a00046.html">tbb::concurrent_vector< T, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00046.html#ae9ef9895e88f9bf036b379035c18f035">grow_to_at_least</a>(size_type n)</td><td class="entry"><a class="el" href="a00046.html">tbb::concurrent_vector< T, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>internal::vector_iterator</b> (defined in <a class="el" href="a00046.html">tbb::concurrent_vector< T, A ></a>)</td><td class="entry"><a class="el" href="a00046.html">tbb::concurrent_vector< T, A ></a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>internal_vector_base</b>() const  (defined in <a class="el" href="a00046.html">tbb::concurrent_vector< T, A ></a>)</td><td class="entry"><a class="el" href="a00046.html">tbb::concurrent_vector< T, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>iterator</b> typedef (defined in <a class="el" href="a00046.html">tbb::concurrent_vector< T, A ></a>)</td><td class="entry"><a class="el" href="a00046.html">tbb::concurrent_vector< T, A ></a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00046.html#a0ec9c3ab3360e04bdaa5174956a3206d">max_size</a>() const </td><td class="entry"><a class="el" href="a00046.html">tbb::concurrent_vector< T, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00046.html#a920384aece0eb8beea3049956320ec91">operator=</a>(const concurrent_vector &vector)</td><td class="entry"><a class="el" href="a00046.html">tbb::concurrent_vector< T, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00046.html#a1fe7f0b60bbf304890a9293a35e6819d">operator=</a>(const concurrent_vector< T, M > &vector)</td><td class="entry"><a class="el" href="a00046.html">tbb::concurrent_vector< T, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00046.html#a6e57d73b199ccd03922898e9da4888fb">operator=</a>(const std::initializer_list< T > &init_list)</td><td class="entry"><a class="el" href="a00046.html">tbb::concurrent_vector< T, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00046.html#a3097cb46511504acfc9de7da5235f4a6">operator[]</a>(size_type index)</td><td class="entry"><a class="el" href="a00046.html">tbb::concurrent_vector< T, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00046.html#abd6ca67f2f97fafca48395af2e693e73">operator[]</a>(size_type index) const </td><td class="entry"><a class="el" href="a00046.html">tbb::concurrent_vector< T, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>pointer</b> typedef (defined in <a class="el" href="a00046.html">tbb::concurrent_vector< T, A ></a>)</td><td class="entry"><a class="el" href="a00046.html">tbb::concurrent_vector< T, A ></a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="a00046.html#a4a5c85a9e6ff82e15c18da47a95b518f">push_back</a>(const_reference item) iterator push_back(const _reference item)</td><td class="entry"><a class="el" href="a00046.html">tbb::concurrent_vector< T, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00046.html#a8201f65735edcc28aeec95b6e73d75b6">range</a>(size_t grainsize=1)</td><td class="entry"><a class="el" href="a00046.html">tbb::concurrent_vector< T, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00046.html#a8fcc32ec9ccb48c3327a88fe288c7538">range</a>(size_t grainsize=1) const </td><td class="entry"><a class="el" href="a00046.html">tbb::concurrent_vector< T, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>range_type</b> typedef (defined in <a class="el" href="a00046.html">tbb::concurrent_vector< T, A ></a>)</td><td class="entry"><a class="el" href="a00046.html">tbb::concurrent_vector< T, A ></a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="a00046.html#a9a2f8dce0adcbef8e29273c23723a78e">rbegin</a>()</td><td class="entry"><a class="el" href="a00046.html">tbb::concurrent_vector< T, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00046.html#a976b0bed19de9ab93f78c10184a4e38f">rbegin</a>() const </td><td class="entry"><a class="el" href="a00046.html">tbb::concurrent_vector< T, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>reference</b> typedef (defined in <a class="el" href="a00046.html">tbb::concurrent_vector< T, A ></a>)</td><td class="entry"><a class="el" href="a00046.html">tbb::concurrent_vector< T, A ></a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00046.html#a618f38279a370c18f73ea2c29ded9cb9">rend</a>()</td><td class="entry"><a class="el" href="a00046.html">tbb::concurrent_vector< T, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00046.html#abdb98e17cb65d9c445d7fd1e662c2699">rend</a>() const </td><td class="entry"><a class="el" href="a00046.html">tbb::concurrent_vector< T, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00046.html#a0b3284684328c58c0228c9a697ef3594">reserve</a>(size_type n)</td><td class="entry"><a class="el" href="a00046.html">tbb::concurrent_vector< T, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00046.html#a65e53a98a1e1fdb515fdc2b84e2314e8">resize</a>(size_type n)</td><td class="entry"><a class="el" href="a00046.html">tbb::concurrent_vector< T, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00046.html#a941917a8a840ff08ce8810ca9476ff46">resize</a>(size_type n, const_reference t)</td><td class="entry"><a class="el" href="a00046.html">tbb::concurrent_vector< T, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>reverse_iterator</b> typedef (defined in <a class="el" href="a00046.html">tbb::concurrent_vector< T, A ></a>)</td><td class="entry"><a class="el" href="a00046.html">tbb::concurrent_vector< T, A ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>reverse_iterator</b> typedef (defined in <a class="el" href="a00046.html">tbb::concurrent_vector< T, A ></a>)</td><td class="entry"><a class="el" href="a00046.html">tbb::concurrent_vector< T, A ></a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="a00046.html#aba805b5225ad3399550f78ea15e51e93">shrink_to_fit</a>()</td><td class="entry"><a class="el" href="a00046.html">tbb::concurrent_vector< T, A ></a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00046.html#a803268c16e3688ff4681251947d257c7">size</a>() const </td><td class="entry"><a class="el" href="a00046.html">tbb::concurrent_vector< T, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>size_type</b> typedef (defined in <a class="el" href="a00046.html">tbb::concurrent_vector< T, A ></a>)</td><td class="entry"><a class="el" href="a00046.html">tbb::concurrent_vector< T, A ></a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00046.html#a8603bd57324fb6b60ba006884c95279d">swap</a>(concurrent_vector &vector)</td><td class="entry"><a class="el" href="a00046.html">tbb::concurrent_vector< T, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>value_type</b> typedef (defined in <a class="el" href="a00046.html">tbb::concurrent_vector< T, A ></a>)</td><td class="entry"><a class="el" href="a00046.html">tbb::concurrent_vector< T, A ></a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00046.html#ab5bcaededc9a00e7aaecd6c262fd0b38">~concurrent_vector</a>()</td><td class="entry"><a class="el" href="a00046.html">tbb::concurrent_vector< T, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+</table></div><!-- contents -->
+<hr>
+<p></p>
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
+<p></p>
+Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
+registered trademarks or trademarks of Intel Corporation or its
+subsidiaries in the United States and other countries.
+<p></p>
+* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00258.html b/doc/html/a00258.html
new file mode 100644
index 0000000..6c2db24
--- /dev/null
+++ b/doc/html/a00258.html
@@ -0,0 +1,73 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00081.html">mutex</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::mutex Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="a00081.html">tbb::mutex</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>DESTROYED</b> enum value (defined in <a class="el" href="a00081.html">tbb::mutex</a>)</td><td class="entry"><a class="el" href="a00081.html">tbb::mutex</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>HELD</b> enum value (defined in <a class="el" href="a00081.html">tbb::mutex</a>)</td><td class="entry"><a class="el" href="a00081.html">tbb::mutex</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>INITIALIZED</b> enum value (defined in <a class="el" href="a00081.html">tbb::mutex</a>)</td><td class="entry"><a class="el" href="a00081.html">tbb::mutex</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>is_fair_mutex</b> (defined in <a class="el" href="a00081.html">tbb::mutex</a>)</td><td class="entry"><a class="el" href="a00081.html">tbb::mutex</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>is_recursive_mutex</b> (defined in <a class="el" href="a00081.html">tbb::mutex</a>)</td><td class="entry"><a class="el" href="a00081.html">tbb::mutex</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>is_rw_mutex</b> (defined in <a class="el" href="a00081.html">tbb::mutex</a>)</td><td class="entry"><a class="el" href="a00081.html">tbb::mutex</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00081.html#a95ff02ee699b34696001db4003c11a3a">lock</a>()</td><td class="entry"><a class="el" href="a00081.html">tbb::mutex</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00081.html#ad1b280c954ffc8b8b3e63e4ee4144035">mutex</a>()</td><td class="entry"><a class="el" href="a00081.html">tbb::mutex</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>native_handle</b>() (defined in <a class="el" href="a00081.html">tbb::mutex</a>)</td><td class="entry"><a class="el" href="a00081.html">tbb::mutex</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00081.html#abbe0cd12246121753ace00a5a12a90b0">native_handle_type</a> typedef</td><td class="entry"><a class="el" href="a00081.html">tbb::mutex</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>native_handle_type</b> typedef (defined in <a class="el" href="a00081.html">tbb::mutex</a>)</td><td class="entry"><a class="el" href="a00081.html">tbb::mutex</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>scoped_lock</b> (defined in <a class="el" href="a00081.html">tbb::mutex</a>)</td><td class="entry"><a class="el" href="a00081.html">tbb::mutex</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00081.html#a0857c4596d7d5de09fe402ccd41d3e42">set_state</a>(state_t to)</td><td class="entry"><a class="el" href="a00081.html">tbb::mutex</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>state_t</b> enum name (defined in <a class="el" href="a00081.html">tbb::mutex</a>)</td><td class="entry"><a class="el" href="a00081.html">tbb::mutex</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00081.html#a480283933106941125717499f9c5ad42">try_lock</a>()</td><td class="entry"><a class="el" href="a00081.html">tbb::mutex</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00081.html#a721eeae7ba16f8b92535f4534b583874">unlock</a>()</td><td class="entry"><a class="el" href="a00081.html">tbb::mutex</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~mutex</b>() (defined in <a class="el" href="a00081.html">tbb::mutex</a>)</td><td class="entry"><a class="el" href="a00081.html">tbb::mutex</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+</table></div><!-- contents -->
+<hr>
+<p></p>
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
+<p></p>
+Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
+registered trademarks or trademarks of Intel Corporation or its
+subsidiaries in the United States and other countries.
+<p></p>
+* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00259.html b/doc/html/a00259.html
new file mode 100644
index 0000000..f303b5d
--- /dev/null
+++ b/doc/html/a00259.html
@@ -0,0 +1,63 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00081.html">mutex</a></li><li class="navelem"><a class="el" href="a00116.html">scoped_lock</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::mutex::scoped_lock Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="a00116.html">tbb::mutex::scoped_lock</a>, including all inherited members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" href="a00116.html#a9fce3e2e9f592315dc9c1ada72ae5e3c">acquire</a>(mutex &mutex)</td><td class="entry"><a class="el" href="a00116.html">tbb::mutex::scoped_lock</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>mutex</b> (defined in <a class="el" href="a00116.html">tbb::mutex::scoped_lock</a>)</td><td class="entry"><a class="el" href="a00116.html">tbb::mutex::scoped_lock</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00116.html#a1a1590281ccca912229a689d920fd78a">release</a>()</td><td class="entry"><a class="el" href="a00116.html">tbb::mutex::scoped_lock</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00116.html#a23122745ccd5fc2498fcbbd5ced09e06">scoped_lock</a>()</td><td class="entry"><a class="el" href="a00116.html">tbb::mutex::scoped_lock</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00116.html#ab7c2074543443824790433d3d6c3fece">scoped_lock</a>(mutex &mutex)</td><td class="entry"><a class="el" href="a00116.html">tbb::mutex::scoped_lock</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00116.html#a46f983371aa852d2427ce69f9a571f78">try_acquire</a>(mutex &mutex)</td><td class="entry"><a class="el" href="a00116.html">tbb::mutex::scoped_lock</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00116.html#a08c399ee0bb9762039b29e570ec46fe9">~scoped_lock</a>()</td><td class="entry"><a class="el" href="a00116.html">tbb::mutex::scoped_lock</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+</table></div><!-- contents -->
+<hr>
+<p></p>
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
+<p></p>
+Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
+registered trademarks or trademarks of Intel Corporation or its
+subsidiaries in the United States and other countries.
+<p></p>
+* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00260.html b/doc/html/a00260.html
new file mode 100644
index 0000000..34ab65c
--- /dev/null
+++ b/doc/html/a00260.html
@@ -0,0 +1,60 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00083.html">null_mutex</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::null_mutex Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="a00083.html">tbb::null_mutex</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>is_fair_mutex</b> (defined in <a class="el" href="a00083.html">tbb::null_mutex</a>)</td><td class="entry"><a class="el" href="a00083.html">tbb::null_mutex</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>is_recursive_mutex</b> (defined in <a class="el" href="a00083.html">tbb::null_mutex</a>)</td><td class="entry"><a class="el" href="a00083.html">tbb::null_mutex</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>is_rw_mutex</b> (defined in <a class="el" href="a00083.html">tbb::null_mutex</a>)</td><td class="entry"><a class="el" href="a00083.html">tbb::null_mutex</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>null_mutex</b>() (defined in <a class="el" href="a00083.html">tbb::null_mutex</a>)</td><td class="entry"><a class="el" href="a00083.html">tbb::null_mutex</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+</table></div><!-- contents -->
+<hr>
+<p></p>
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
+<p></p>
+Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
+registered trademarks or trademarks of Intel Corporation or its
+subsidiaries in the United States and other countries.
+<p></p>
+* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00261.html b/doc/html/a00261.html
index 0537cc6..3717aaf 100644
--- a/doc/html/a00261.html
+++ b/doc/html/a00261.html
@@ -1,61 +1,59 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>tbb::affinity_partitioner Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="nav">
-<a class="el" href="a00428.html">tbb</a>::<a class="el" href="a00261.html">affinity_partitioner</a></div>
-<h1>tbb::affinity_partitioner Class Reference</h1><!-- doxytag: class="tbb::affinity_partitioner" --><!-- doxytag: inherits="tbb::internal::affinity_partitioner_base_v3" -->An affinity partitioner.  
-<a href="#_details">More...</a>
-<p>
-<code>#include <partitioner.h></code>
-<p>
-<p>Inheritance diagram for tbb::affinity_partitioner:
-<p><center><img src="a00261.png" usemap="#tbb::affinity_partitioner_map" border="0" alt=""></center>
-<map name="tbb::affinity_partitioner_map">
-<area href="a00262.html" alt="tbb::internal::affinity_partitioner_base_v3" shape="rect" coords="0,0,240,24">
-</map>
-<a href="a00106.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Friends</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5f730f70d21df405adaebfc2018f59cd"></a><!-- doxytag: member="tbb::affinity_partitioner::serial::interface6::start_for" ref="5f730f70d21df405adaebfc2018f59cd" args="" -->
-class </td><td class="memItemRight" valign="bottom"><b>serial::interface6::start_for</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8a4cd0ffed4fad0d9af2c5efdaf586a8"></a><!-- doxytag: member="tbb::affinity_partitioner::interface6::internal::start_for" ref="8a4cd0ffed4fad0d9af2c5efdaf586a8" args="" -->
-class </td><td class="memItemRight" valign="bottom"><b>interface6::internal::start_for</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="86f0750233dd6c83b65fb684338fd09f"></a><!-- doxytag: member="tbb::affinity_partitioner::interface6::internal::start_reduce" ref="86f0750233dd6c83b65fb684338fd09f" args="" -->
-class </td><td class="memItemRight" valign="bottom"><b>interface6::internal::start_reduce</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="76d97ae6ad98db0acfc8ed8cb7c76705"></a><!-- doxytag: member="tbb::affinity_partitioner::internal::start_scan" ref="76d97ae6ad98db0acfc8ed8cb7c76705" args="" -->
-class </td><td class="memItemRight" valign="bottom"><b>internal::start_scan</b></td></tr>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00083.html">null_mutex</a></li><li class="navelem"><a class="el" href="a00115.html">scoped_lock</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::null_mutex::scoped_lock Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
 
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-An affinity partitioner. 
-<p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li>partitioner.h</ul>
+<p>This is the complete list of members for <a class="el" href="a00115.html">tbb::null_mutex::scoped_lock</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>acquire</b>(null_mutex &) (defined in <a class="el" href="a00115.html">tbb::null_mutex::scoped_lock</a>)</td><td class="entry"><a class="el" href="a00115.html">tbb::null_mutex::scoped_lock</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>release</b>() (defined in <a class="el" href="a00115.html">tbb::null_mutex::scoped_lock</a>)</td><td class="entry"><a class="el" href="a00115.html">tbb::null_mutex::scoped_lock</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>scoped_lock</b>() (defined in <a class="el" href="a00115.html">tbb::null_mutex::scoped_lock</a>)</td><td class="entry"><a class="el" href="a00115.html">tbb::null_mutex::scoped_lock</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>scoped_lock</b>(null_mutex &) (defined in <a class="el" href="a00115.html">tbb::null_mutex::scoped_lock</a>)</td><td class="entry"><a class="el" href="a00115.html">tbb::null_mutex::scoped_lock</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>try_acquire</b>(null_mutex &) (defined in <a class="el" href="a00115.html">tbb::null_mutex::scoped_lock</a>)</td><td class="entry"><a class="el" href="a00115.html">tbb::null_mutex::scoped_lock</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>~scoped_lock</b>() (defined in <a class="el" href="a00115.html">tbb::null_mutex::scoped_lock</a>)</td><td class="entry"><a class="el" href="a00115.html">tbb::null_mutex::scoped_lock</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+</table></div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00261.png b/doc/html/a00261.png
deleted file mode 100644
index 31d2cc3..0000000
Binary files a/doc/html/a00261.png and /dev/null differ
diff --git a/doc/html/a00262.html b/doc/html/a00262.html
index 50aec7e..430a033 100644
--- a/doc/html/a00262.html
+++ b/doc/html/a00262.html
@@ -1,55 +1,57 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>tbb::internal::affinity_partitioner_base_v3 Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="nav">
-<a class="el" href="a00428.html">tbb</a>::<b>internal</b>::<a class="el" href="a00262.html">affinity_partitioner_base_v3</a></div>
-<h1>tbb::internal::affinity_partitioner_base_v3 Class Reference</h1><!-- doxytag: class="tbb::internal::affinity_partitioner_base_v3" -->Defines entry point for affinity partitioner into tbb run-time library.  
-<a href="#_details">More...</a>
-<p>
-<code>#include <partitioner.h></code>
-<p>
-<p>Inheritance diagram for tbb::internal::affinity_partitioner_base_v3:
-<p><center><img src="a00262.png" usemap="#tbb::internal::affinity_partitioner_base_v3_map" border="0" alt=""></center>
-<map name="tbb::internal::affinity_partitioner_base_v3_map">
-<area href="a00261.html" alt="tbb::affinity_partitioner" shape="rect" coords="0,56,240,80">
-</map>
-<a href="a00101.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Friends</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="fa554f840d8ef010ff2650bac032ec01"></a><!-- doxytag: member="tbb::internal::affinity_partitioner_base_v3::tbb::affinity_partitioner" ref="fa554f840d8ef010ff2650bac032ec01" args="" -->
-class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00262.html#fa554f840d8ef010ff2650bac032ec01">tbb::affinity_partitioner</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c6d1d1f136cb6105d06ddbcf67107575"></a><!-- doxytag: member="tbb::internal::affinity_partitioner_base_v3::tbb::interface6::internal::affinity_partition_type" ref="c6d1d1f136cb6105d06ddbcf67107575" args="" -->
-class </td><td class="memItemRight" valign="bottom"><b>tbb::interface6::internal::affinity_partition_type</b></td></tr>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00084.html">null_rw_mutex</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::null_rw_mutex Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
 
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-Defines entry point for affinity partitioner into tbb run-time library. 
-<p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li>partitioner.h</ul>
+<p>This is the complete list of members for <a class="el" href="a00084.html">tbb::null_rw_mutex</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>is_fair_mutex</b> (defined in <a class="el" href="a00084.html">tbb::null_rw_mutex</a>)</td><td class="entry"><a class="el" href="a00084.html">tbb::null_rw_mutex</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>is_recursive_mutex</b> (defined in <a class="el" href="a00084.html">tbb::null_rw_mutex</a>)</td><td class="entry"><a class="el" href="a00084.html">tbb::null_rw_mutex</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>is_rw_mutex</b> (defined in <a class="el" href="a00084.html">tbb::null_rw_mutex</a>)</td><td class="entry"><a class="el" href="a00084.html">tbb::null_rw_mutex</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>null_rw_mutex</b>() (defined in <a class="el" href="a00084.html">tbb::null_rw_mutex</a>)</td><td class="entry"><a class="el" href="a00084.html">tbb::null_rw_mutex</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+</table></div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00262.png b/doc/html/a00262.png
deleted file mode 100644
index 18c7d58..0000000
Binary files a/doc/html/a00262.png and /dev/null differ
diff --git a/doc/html/a00263.html b/doc/html/a00263.html
index 563460b..b4975a0 100644
--- a/doc/html/a00263.html
+++ b/doc/html/a00263.html
@@ -1,78 +1,61 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>tbb::interface6::aggregator Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="nav">
-<a class="el" href="a00428.html">tbb</a>::<b>interface6</b>::<a class="el" href="a00263.html">aggregator</a></div>
-<h1>tbb::interface6::aggregator Class Reference</h1><!-- doxytag: class="tbb::interface6::aggregator" --><!-- doxytag: inherits="tbb::interface6::aggregator_ext" -->Basic aggregator interface.  
-<a href="#_details">More...</a>
-<p>
-<code>#include <aggregator.h></code>
-<p>
-<p>Inheritance diagram for tbb::interface6::aggregator:
-<p><center><img src="a00263.png" usemap="#tbb::interface6::aggregator_map" border="0" alt=""></center>
-<map name="tbb::interface6::aggregator_map">
-<area href="a00264.html" alt="tbb::interface6::aggregator_ext< handler_type >" shape="rect" coords="0,0,281,24">
-</map>
-<a href="a00006.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2">template<typename Body> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00263.html#641c8dc43652589d12eefaef130c094d">execute</a> (const Body &b)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">BASIC INTERFACE: Enter a function for exclusvie execution by the aggregator.  <a href="#641c8dc43652589d12eefaef130c094d"></a><br></td></tr>
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-Basic aggregator interface. 
-<p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="641c8dc43652589d12eefaef130c094d"></a><!-- doxytag: member="tbb::interface6::aggregator::execute" ref="641c8dc43652589d12eefaef130c094d" args="(const Body &b)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template<typename Body> </div>
-      <table class="memname">
-        <tr>
-          <td class="memname">void tbb::interface6::aggregator::execute           </td>
-          <td>(</td>
-          <td class="paramtype">const Body & </td>
-          <td class="paramname"> <em>b</em>          </td>
-          <td> ) </td>
-          <td width="100%"><code> [inline]</code></td>
-        </tr>
-      </table>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00084.html">null_rw_mutex</a></li><li class="navelem"><a class="el" href="a00117.html">scoped_lock</a></li>  </ul>
 </div>
-<div class="memdoc">
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::null_rw_mutex::scoped_lock Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
 
-<p>
-BASIC INTERFACE: Enter a function for exclusvie execution by the aggregator. 
-<p>
-The calling thread stores the function object in a basic_operation and places the operation in the aggregator's mailbox 
-</div>
-</div><p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li>aggregator.h</ul>
+<p>This is the complete list of members for <a class="el" href="a00117.html">tbb::null_rw_mutex::scoped_lock</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>acquire</b>(null_rw_mutex &, bool=true) (defined in <a class="el" href="a00117.html">tbb::null_rw_mutex::scoped_lock</a>)</td><td class="entry"><a class="el" href="a00117.html">tbb::null_rw_mutex::scoped_lock</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>downgrade_to_reader</b>() (defined in <a class="el" href="a00117.html">tbb::null_rw_mutex::scoped_lock</a>)</td><td class="entry"><a class="el" href="a00117.html">tbb::null_rw_mutex::scoped_lock</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>release</b>() (defined in <a class="el" href="a00117.html">tbb::null_rw_mutex::scoped_lock</a>)</td><td class="entry"><a class="el" href="a00117.html">tbb::null_rw_mutex::scoped_lock</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>scoped_lock</b>() (defined in <a class="el" href="a00117.html">tbb::null_rw_mutex::scoped_lock</a>)</td><td class="entry"><a class="el" href="a00117.html">tbb::null_rw_mutex::scoped_lock</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>scoped_lock</b>(null_rw_mutex &, bool=true) (defined in <a class="el" href="a00117.html">tbb::null_rw_mutex::scoped_lock</a>)</td><td class="entry"><a class="el" href="a00117.html">tbb::null_rw_mutex::scoped_lock</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>try_acquire</b>(null_rw_mutex &, bool=true) (defined in <a class="el" href="a00117.html">tbb::null_rw_mutex::scoped_lock</a>)</td><td class="entry"><a class="el" href="a00117.html">tbb::null_rw_mutex::scoped_lock</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>upgrade_to_writer</b>() (defined in <a class="el" href="a00117.html">tbb::null_rw_mutex::scoped_lock</a>)</td><td class="entry"><a class="el" href="a00117.html">tbb::null_rw_mutex::scoped_lock</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>~scoped_lock</b>() (defined in <a class="el" href="a00117.html">tbb::null_rw_mutex::scoped_lock</a>)</td><td class="entry"><a class="el" href="a00117.html">tbb::null_rw_mutex::scoped_lock</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+</table></div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00263.png b/doc/html/a00263.png
deleted file mode 100644
index 123e10d..0000000
Binary files a/doc/html/a00263.png and /dev/null differ
diff --git a/doc/html/a00264.html b/doc/html/a00264.html
index f8dda05..77fe792 100644
--- a/doc/html/a00264.html
+++ b/doc/html/a00264.html
@@ -1,110 +1,55 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>tbb::interface6::aggregator_ext< handler_type > Class Template Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="nav">
-<a class="el" href="a00428.html">tbb</a>::<b>interface6</b>::<a class="el" href="a00264.html">aggregator_ext</a></div>
-<h1>tbb::interface6::aggregator_ext< handler_type > Class Template Reference</h1><!-- doxytag: class="tbb::interface6::aggregator_ext" -->Aggregator base class and expert interface.  
-<a href="#_details">More...</a>
-<p>
-<code>#include <aggregator.h></code>
-<p>
-<p>Inheritance diagram for tbb::interface6::aggregator_ext< handler_type >:
-<p><center><img src="a00264.png" usemap="#tbb::interface6::aggregator_ext< handler_type >_map" border="0" alt=""></center>
-<map name="tbb::interface6::aggregator_ext< handler_type >_map">
-<area href="a00263.html" alt="tbb::interface6::aggregator" shape="rect" coords="0,56,281,80">
-</map>
-<a href="a00005.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="882115f59b5a15b2f4fc54178ad66cd9"></a><!-- doxytag: member="tbb::interface6::aggregator_ext::aggregator_ext" ref="882115f59b5a15b2f4fc54178ad66cd9" args="(const handler_type &h)" -->
- </td><td class="memItemRight" valign="bottom"><b>aggregator_ext</b> (const handler_type &h)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00264.html#ccd88bf4333dc100ba97da8e2170277d">process</a> (aggregator_operation *op)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">EXPERT INTERFACE: Enter a user-made operation into the aggregator's mailbox.  <a href="#ccd88bf4333dc100ba97da8e2170277d"></a><br></td></tr>
-<tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00264.html#fdd0a9ce522246b9e14ae5e44bc72d31">execute_impl</a> (aggregator_operation &op)</td></tr>
-
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-<h3>template<typename handler_type><br>
- class tbb::interface6::aggregator_ext< handler_type ></h3>
-
-Aggregator base class and expert interface. 
-<p>
-An aggregator for collecting operations coming from multiple sources and executing them serially on a single thread. 
-<p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="fdd0a9ce522246b9e14ae5e44bc72d31"></a><!-- doxytag: member="tbb::interface6::aggregator_ext::execute_impl" ref="fdd0a9ce522246b9e14ae5e44bc72d31" args="(aggregator_operation &op)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template<typename handler_type> </div>
-      <table class="memname">
-        <tr>
-          <td class="memname">void <a class="el" href="a00264.html">tbb::interface6::aggregator_ext</a>< handler_type >::execute_impl           </td>
-          <td>(</td>
-          <td class="paramtype">aggregator_operation & </td>
-          <td class="paramname"> <em>op</em>          </td>
-          <td> ) </td>
-          <td width="100%"><code> [inline, protected]</code></td>
-        </tr>
-      </table>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00087.html">parallel_do_feeder</a></li>  </ul>
 </div>
-<div class="memdoc">
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::parallel_do_feeder< Item > Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
 
-<p>
-Place operation in mailbox, then either handle mailbox or wait for the operation to be completed by a different thread. 
-</div>
-</div><p>
-<a class="anchor" name="ccd88bf4333dc100ba97da8e2170277d"></a><!-- doxytag: member="tbb::interface6::aggregator_ext::process" ref="ccd88bf4333dc100ba97da8e2170277d" args="(aggregator_operation *op)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template<typename handler_type> </div>
-      <table class="memname">
-        <tr>
-          <td class="memname">void <a class="el" href="a00264.html">tbb::interface6::aggregator_ext</a>< handler_type >::process           </td>
-          <td>(</td>
-          <td class="paramtype">aggregator_operation * </td>
-          <td class="paramname"> <em>op</em>          </td>
-          <td> ) </td>
-          <td width="100%"><code> [inline]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-EXPERT INTERFACE: Enter a user-made operation into the aggregator's mailbox. 
-<p>
-Details of user-made operations must be handled by user-provided handler 
-</div>
-</div><p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li>aggregator.h</ul>
+<p>This is the complete list of members for <a class="el" href="a00087.html">tbb::parallel_do_feeder< Item ></a>, including all inherited members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" href="a00087.html#ac095c6b1a32e9c0be010aa32875d7a63">add</a>(const Item &item)</td><td class="entry"><a class="el" href="a00087.html">tbb::parallel_do_feeder< Item ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>internal::parallel_do_feeder_impl</b> (defined in <a class="el" href="a00087.html">tbb::parallel_do_feeder< Item ></a>)</td><td class="entry"><a class="el" href="a00087.html">tbb::parallel_do_feeder< Item ></a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+</table></div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00264.png b/doc/html/a00264.png
deleted file mode 100644
index 0f01bcf..0000000
Binary files a/doc/html/a00264.png and /dev/null differ
diff --git a/doc/html/a00265.html b/doc/html/a00265.html
index 4f1fb33..ddd9975 100644
--- a/doc/html/a00265.html
+++ b/doc/html/a00265.html
@@ -1,60 +1,54 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>tbb::aligned_space< T, N > Class Template Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="nav">
-<a class="el" href="a00428.html">tbb</a>::<a class="el" href="a00265.html">aligned_space</a></div>
-<h1>tbb::aligned_space< T, N > Class Template Reference<br>
-<small>
-[<a class="el" href="a00443.html">Memory Allocation</a>]</small>
-</h1><!-- doxytag: class="tbb::aligned_space" -->Block of space aligned sufficiently to construct an array T with N elements.  
-<a href="#_details">More...</a>
-<p>
-<code>#include <aligned_space.h></code>
-<p>
-<a href="a00007.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0d702fc6b9e9d061ace3501b3c861cdf"></a><!-- doxytag: member="tbb::aligned_space::begin" ref="0d702fc6b9e9d061ace3501b3c861cdf" args="()" -->
-T * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00265.html#0d702fc6b9e9d061ace3501b3c861cdf">begin</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Pointer to beginning of array. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="024be075c23c0394c9a2518d993bcd9e"></a><!-- doxytag: member="tbb::aligned_space::end" ref="024be075c23c0394c9a2518d993bcd9e" args="()" -->
-T * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00265.html#024be075c23c0394c9a2518d993bcd9e">end</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Pointer to one past last element in array. <br></td></tr>
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-<h3>template<typename T, size_t N><br>
- class tbb::aligned_space< T, N ></h3>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00090.html">pre_scan_tag</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::pre_scan_tag Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
 
-Block of space aligned sufficiently to construct an array T with N elements. 
-<p>
-The elements are not constructed or destroyed by this class. 
-<p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li>aligned_space.h</ul>
+<p>This is the complete list of members for <a class="el" href="a00090.html">tbb::pre_scan_tag</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>is_final_scan</b>() (defined in <a class="el" href="a00090.html">tbb::pre_scan_tag</a>)</td><td class="entry"><a class="el" href="a00090.html">tbb::pre_scan_tag</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+</table></div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00266.html b/doc/html/a00266.html
index dbcece6..0b9a2e8 100644
--- a/doc/html/a00266.html
+++ b/doc/html/a00266.html
@@ -1,61 +1,54 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>tbb::atomic< T > Struct Template Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="nav">
-<a class="el" href="a00428.html">tbb</a>::<a class="el" href="a00266.html">atomic</a></div>
-<h1>tbb::atomic< T > Struct Template Reference<br>
-<small>
-[<a class="el" href="a00444.html">Synchronization</a>]</small>
-</h1><!-- doxytag: class="tbb::atomic" -->Primary template for atomic.  
-<a href="#_details">More...</a>
-<p>
-<code>#include <atomic.h></code>
-<p>
-<a href="a00008.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="21172c74e0dd2a7d6e732451951df1d4"></a><!-- doxytag: member="tbb::atomic::atomic" ref="21172c74e0dd2a7d6e732451951df1d4" args="(T arg)" -->
-constexpr </td><td class="memItemRight" valign="bottom"><b>atomic</b> (T arg)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1e29e03a31436bad5eb1aa5a9d46a2da"></a><!-- doxytag: member="tbb::atomic::operator=" ref="1e29e03a31436bad5eb1aa5a9d46a2da" args="(T rhs)" -->
-T </td><td class="memItemRight" valign="bottom"><b>operator=</b> (T rhs)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="90791297d59b1659cfaf0d93c7cc59ae"></a><!-- doxytag: member="tbb::atomic::operator=" ref="90791297d59b1659cfaf0d93c7cc59ae" args="(const atomic< T > &rhs)" -->
-<a class="el" href="a00266.html">atomic</a>< T > & </td><td class="memItemRight" valign="bottom"><b>operator=</b> (const <a class="el" href="a00266.html">atomic</a>< T > &rhs)</td></tr>
-
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-<h3>template<typename T><br>
- struct tbb::atomic< T ></h3>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00055.html">final_scan_tag</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::final_scan_tag Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
 
-Primary template for atomic. 
-<p>
-See the Reference for details. 
-<p>
-<hr>The documentation for this struct was generated from the following file:<ul>
-<li>atomic.h</ul>
+<p>This is the complete list of members for <a class="el" href="a00055.html">tbb::final_scan_tag</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>is_final_scan</b>() (defined in <a class="el" href="a00055.html">tbb::final_scan_tag</a>)</td><td class="entry"><a class="el" href="a00055.html">tbb::final_scan_tag</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+</table></div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00267.html b/doc/html/a00267.html
index 3bd7269..bd64130 100644
--- a/doc/html/a00267.html
+++ b/doc/html/a00267.html
@@ -1,56 +1,58 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>tbb::atomic< void * > Struct Template Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="nav">
-<a class="el" href="a00428.html">tbb</a>::<a class="el" href="a00267.html">atomic< void * ></a></div>
-<h1>tbb::atomic< void * > Struct Template Reference</h1><!-- doxytag: class="tbb::atomic< void * >" -->Specialization for <a class="el" href="a00267.html">atomic<void*></a>, for sake of not allowing arithmetic or operator->.  
-<a href="#_details">More...</a>
-<p>
-<code>#include <atomic.h></code>
-<p>
-<a href="a00009.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3529c5cc8a97732321719ef0b99e2ded"></a><!-- doxytag: member="tbb::atomic< void * >::atomic" ref="3529c5cc8a97732321719ef0b99e2ded" args="(void *arg)" -->
-constexpr </td><td class="memItemRight" valign="bottom"><b>atomic</b> (void *arg)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ba6e74163e255b88c497c40db64c5dad"></a><!-- doxytag: member="tbb::atomic< void * >::operator=" ref="ba6e74163e255b88c497c40db64c5dad" args="(void *rhs)" -->
-void * </td><td class="memItemRight" valign="bottom"><b>operator=</b> (void *rhs)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="37979e62d1f88eb45bd3ad7df5a140f8"></a><!-- doxytag: member="tbb::atomic< void * >::operator=" ref="37979e62d1f88eb45bd3ad7df5a140f8" args="(const atomic< void * > &rhs)" -->
-<a class="el" href="a00266.html">atomic</a>< void * > & </td><td class="memItemRight" valign="bottom"><b>operator=</b> (const <a class="el" href="a00266.html">atomic</a>< void * > &rhs)</td></tr>
-
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-<h3>template<><br>
- struct tbb::atomic< void * ></h3>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00088.html">parallel_while</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::parallel_while< Body > Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
 
-Specialization for <a class="el" href="a00267.html">atomic<void*></a>, for sake of not allowing arithmetic or operator->. 
-<p>
-<hr>The documentation for this struct was generated from the following file:<ul>
-<li>atomic.h</ul>
+<p>This is the complete list of members for <a class="el" href="a00088.html">tbb::parallel_while< Body ></a>, including all inherited members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" href="a00088.html#a4861989d7f5e3111d264d4d6013e8fe1">add</a>(const value_type &item)</td><td class="entry"><a class="el" href="a00088.html">tbb::parallel_while< Body ></a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="a00088.html#a220a7307358aa36802c8754ea45ca385">parallel_while</a>()</td><td class="entry"><a class="el" href="a00088.html">tbb::parallel_while< Body ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00088.html#a20607ba5faa958144787d980aa850c16">run</a>(Stream &stream, const Body &body)</td><td class="entry"><a class="el" href="a00088.html">tbb::parallel_while< Body ></a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="a00088.html#a2442f019427e608d46801376267e44a8">value_type</a> typedef</td><td class="entry"><a class="el" href="a00088.html">tbb::parallel_while< Body ></a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00088.html#ac2fd559c8a38639fa1ba97a0d5639ca8">~parallel_while</a>()</td><td class="entry"><a class="el" href="a00088.html">tbb::parallel_while< Body ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+</table></div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00268.html b/doc/html/a00268.html
index e626caa..239d68c 100644
--- a/doc/html/a00268.html
+++ b/doc/html/a00268.html
@@ -1,59 +1,58 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>tbb::internal::atomic_backoff Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="nav">
-<a class="el" href="a00428.html">tbb</a>::<b>internal</b>::<a class="el" href="a00268.html">atomic_backoff</a></div>
-<h1>tbb::internal::atomic_backoff Class Reference</h1><!-- doxytag: class="tbb::internal::atomic_backoff" -->Class that implements exponential backoff.  
-<a href="#_details">More...</a>
-<p>
-<code>#include <tbb_machine.h></code>
-<p>
-<a href="a00169.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="35029ddea6eb855b756292d1089054bb"></a><!-- doxytag: member="tbb::internal::atomic_backoff::atomic_backoff" ref="35029ddea6eb855b756292d1089054bb" args="(bool)" -->
- </td><td class="memItemRight" valign="bottom"><b>atomic_backoff</b> (bool)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a174ea93e3bd3d5cce82389c2f28d037"></a><!-- doxytag: member="tbb::internal::atomic_backoff::pause" ref="a174ea93e3bd3d5cce82389c2f28d037" args="()" -->
-void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00268.html#a174ea93e3bd3d5cce82389c2f28d037">pause</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Pause for a while. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c6179b19e2e8dedd73a36d523af2fe12"></a><!-- doxytag: member="tbb::internal::atomic_backoff::bounded_pause" ref="c6179b19e2e8dedd73a36d523af2fe12" args="()" -->
-bool </td><td class="memItemRight" valign="bottom"><b>bounded_pause</b> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="45edb535489eb0e76ecc59a19fd952de"></a><!-- doxytag: member="tbb::internal::atomic_backoff::reset" ref="45edb535489eb0e76ecc59a19fd952de" args="()" -->
-void </td><td class="memItemRight" valign="bottom"><b>reset</b> ()</td></tr>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00053.html">filter</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::filter Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
 
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-Class that implements exponential backoff. 
-<p>
-See implementation of spin_wait_while_eq for an example. 
-<p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li>tbb_machine.h</ul>
+<p>This is the complete list of members for <a class="el" href="a00053.html">tbb::filter</a>, including all inherited members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" href="a00053.html#aab9689e23a96c6c9bf1c8caae74d92ee">exact_exception_propagation</a></td><td class="entry"><a class="el" href="a00053.html">tbb::filter</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">static</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00053.html#a1382f216bd094064a18eb48ecc43c86b">filter_is_bound</a></td><td class="entry"><a class="el" href="a00053.html">tbb::filter</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">static</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00053.html#a091fcf6abc79edfa5c8bf01f742e2392">filter_is_out_of_order</a></td><td class="entry"><a class="el" href="a00053.html">tbb::filter</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">static</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00053.html#ae9dab2e01b0963b341ab04b59eec1475">filter_is_serial</a></td><td class="entry"><a class="el" href="a00053.html">tbb::filter</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">static</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00053.html#a6645ec56872b6ba2056dcaa467e292f7">filter_may_emit_null</a></td><td class="entry"><a class="el" href="a00053.html">tbb::filter</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">static</span></td></tr>
+</table></div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00269.html b/doc/html/a00269.html
index 2dc0edc..1fc4e64 100644
--- a/doc/html/a00269.html
+++ b/doc/html/a00269.html
@@ -1,61 +1,65 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>tbb::auto_partitioner Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="nav">
-<a class="el" href="a00428.html">tbb</a>::<a class="el" href="a00269.html">auto_partitioner</a></div>
-<h1>tbb::auto_partitioner Class Reference<br>
-<small>
-[<a class="el" href="a00441.html">Algorithms</a>]</small>
-</h1><!-- doxytag: class="tbb::auto_partitioner" -->An auto partitioner.  
-<a href="#_details">More...</a>
-<p>
-<code>#include <partitioner.h></code>
-<p>
-<a href="a00105.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Friends</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5f730f70d21df405adaebfc2018f59cd"></a><!-- doxytag: member="tbb::auto_partitioner::serial::interface6::start_for" ref="5f730f70d21df405adaebfc2018f59cd" args="" -->
-class </td><td class="memItemRight" valign="bottom"><b>serial::interface6::start_for</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8a4cd0ffed4fad0d9af2c5efdaf586a8"></a><!-- doxytag: member="tbb::auto_partitioner::interface6::internal::start_for" ref="8a4cd0ffed4fad0d9af2c5efdaf586a8" args="" -->
-class </td><td class="memItemRight" valign="bottom"><b>interface6::internal::start_for</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="86f0750233dd6c83b65fb684338fd09f"></a><!-- doxytag: member="tbb::auto_partitioner::interface6::internal::start_reduce" ref="86f0750233dd6c83b65fb684338fd09f" args="" -->
-class </td><td class="memItemRight" valign="bottom"><b>interface6::internal::start_reduce</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="76d97ae6ad98db0acfc8ed8cb7c76705"></a><!-- doxytag: member="tbb::auto_partitioner::internal::start_scan" ref="76d97ae6ad98db0acfc8ed8cb7c76705" args="" -->
-class </td><td class="memItemRight" valign="bottom"><b>internal::start_scan</b></td></tr>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00150.html">thread_bound_filter</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::thread_bound_filter Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
 
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-An auto partitioner. 
-<p>
-The range is initial divided into several large chunks. Chunks are further subdivided into smaller pieces if demand detected and they are divisible. 
-<p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li>partitioner.h</ul>
+<p>This is the complete list of members for <a class="el" href="a00150.html">tbb::thread_bound_filter</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>end_of_stream</b> enum value (defined in <a class="el" href="a00150.html">tbb::thread_bound_filter</a>)</td><td class="entry"><a class="el" href="a00150.html">tbb::thread_bound_filter</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="a00053.html#aab9689e23a96c6c9bf1c8caae74d92ee">exact_exception_propagation</a></td><td class="entry"><a class="el" href="a00053.html">tbb::filter</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">static</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00053.html#a1382f216bd094064a18eb48ecc43c86b">filter_is_bound</a></td><td class="entry"><a class="el" href="a00053.html">tbb::filter</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">static</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00053.html#a091fcf6abc79edfa5c8bf01f742e2392">filter_is_out_of_order</a></td><td class="entry"><a class="el" href="a00053.html">tbb::filter</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">static</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00053.html#ae9dab2e01b0963b341ab04b59eec1475">filter_is_serial</a></td><td class="entry"><a class="el" href="a00053.html">tbb::filter</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">static</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00053.html#a6645ec56872b6ba2056dcaa467e292f7">filter_may_emit_null</a></td><td class="entry"><a class="el" href="a00053.html">tbb::filter</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">static</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>item_not_available</b> enum value (defined in <a class="el" href="a00150.html">tbb::thread_bound_filter</a>)</td><td class="entry"><a class="el" href="a00150.html">tbb::thread_bound_filter</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="a00150.html#ac99258407f382d84568a510075074fc7">process_item</a>()</td><td class="entry"><a class="el" href="a00150.html">tbb::thread_bound_filter</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>result_type</b> enum name (defined in <a class="el" href="a00150.html">tbb::thread_bound_filter</a>)</td><td class="entry"><a class="el" href="a00150.html">tbb::thread_bound_filter</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>success</b> enum value (defined in <a class="el" href="a00150.html">tbb::thread_bound_filter</a>)</td><td class="entry"><a class="el" href="a00150.html">tbb::thread_bound_filter</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>thread_bound_filter</b>(mode filter_mode) (defined in <a class="el" href="a00150.html">tbb::thread_bound_filter</a>)</td><td class="entry"><a class="el" href="a00150.html">tbb::thread_bound_filter</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00150.html#a12cfa43c620066a8783529cc8519c6f9">try_process_item</a>()</td><td class="entry"><a class="el" href="a00150.html">tbb::thread_bound_filter</a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00270.html b/doc/html/a00270.html
index 3dd0678..a97550c 100644
--- a/doc/html/a00270.html
+++ b/doc/html/a00270.html
@@ -1,47 +1,65 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>tbb::bad_last_alloc Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="nav">
-<a class="el" href="a00428.html">tbb</a>::<a class="el" href="a00270.html">bad_last_alloc</a></div>
-<h1>tbb::bad_last_alloc Class Reference</h1><!-- doxytag: class="tbb::bad_last_alloc" -->Exception for concurrent containers.  
-<a href="#_details">More...</a>
-<p>
-<code>#include <tbb_exception.h></code>
-<p>
-<a href="a00156.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ec7a57742ff4dc214266179d88984015"></a><!-- doxytag: member="tbb::bad_last_alloc::what" ref="ec7a57742ff4dc214266179d88984015" args="() const " -->
-const char * </td><td class="memItemRight" valign="bottom"><b>what</b> () const   throw ()</td></tr>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00089.html">pipeline</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::pipeline Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
 
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-Exception for concurrent containers. 
-<p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li>tbb_exception.h</ul>
+<p>This is the complete list of members for <a class="el" href="a00089.html">tbb::pipeline</a>, including all inherited members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" href="a00089.html#a8eb83014bd53b184e0ed50f120ca310b">add_filter</a>(filter &filter_)</td><td class="entry"><a class="el" href="a00089.html">tbb::pipeline</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="a00089.html#ae53edbda1771eeaa254d78ae6100a762">clear</a>()</td><td class="entry"><a class="el" href="a00089.html">tbb::pipeline</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>filter</b> (defined in <a class="el" href="a00089.html">tbb::pipeline</a>)</td><td class="entry"><a class="el" href="a00089.html">tbb::pipeline</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>internal::pipeline_cleaner</b> (defined in <a class="el" href="a00089.html">tbb::pipeline</a>)</td><td class="entry"><a class="el" href="a00089.html">tbb::pipeline</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>internal::pipeline_root_task</b> (defined in <a class="el" href="a00089.html">tbb::pipeline</a>)</td><td class="entry"><a class="el" href="a00089.html">tbb::pipeline</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>internal::stage_task</b> (defined in <a class="el" href="a00089.html">tbb::pipeline</a>)</td><td class="entry"><a class="el" href="a00089.html">tbb::pipeline</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00089.html#afe7b7bd9b2617c2b69170675a478b2bd">pipeline</a>()</td><td class="entry"><a class="el" href="a00089.html">tbb::pipeline</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="a00089.html#ac9ee9080cfc080c40a7ee7cb03a62637">run</a>(size_t max_number_of_live_tokens)</td><td class="entry"><a class="el" href="a00089.html">tbb::pipeline</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00089.html#a270dba81f7dd9935be7f3d69db907ff4">run</a>(size_t max_number_of_live_tokens, tbb::task_group_context &context)</td><td class="entry"><a class="el" href="a00089.html">tbb::pipeline</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>tbb::interface6::internal::pipeline_proxy</b> (defined in <a class="el" href="a00089.html">tbb::pipeline</a>)</td><td class="entry"><a class="el" href="a00089.html">tbb::pipeline</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>thread_bound_filter</b> (defined in <a class="el" href="a00089.html">tbb::pipeline</a>)</td><td class="entry"><a class="el" href="a00089.html">tbb::pipeline</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00089.html#ac3a7b33217b3f3bb0682ec3a40fd2c39">~pipeline</a>()</td><td class="entry"><a class="el" href="a00089.html">tbb::pipeline</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+</table></div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00271.html b/doc/html/a00271.html
index 3e71a00..d510574 100644
--- a/doc/html/a00271.html
+++ b/doc/html/a00271.html
@@ -1,221 +1,58 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>tbb::blocked_range< Value > Class Template Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="nav">
-<a class="el" href="a00428.html">tbb</a>::<a class="el" href="a00271.html">blocked_range</a></div>
-<h1>tbb::blocked_range< Value > Class Template Reference<br>
-<small>
-[<a class="el" href="a00441.html">Algorithms</a>]</small>
-</h1><!-- doxytag: class="tbb::blocked_range" -->A range over which to iterate.  
-<a href="#_details">More...</a>
-<p>
-<code>#include <blocked_range.h></code>
-<p>
-<a href="a00010.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef Value </td><td class="memItemRight" valign="bottom"><a class="el" href="a00271.html#1a8d05842c2b3dfc177bc4d347e4cef7">const_iterator</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Type of a value.  <a href="#1a8d05842c2b3dfc177bc4d347e4cef7"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f5707bffea38eee5c9680f37358afb8e"></a><!-- doxytag: member="tbb::blocked_range::size_type" ref="f5707bffea38eee5c9680f37358afb8e" args="" -->
-typedef std::size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="a00271.html#f5707bffea38eee5c9680f37358afb8e">size_type</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Type for size of a range. <br></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00271.html#94607755c5110d199202234d58d022ac">blocked_range</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Construct range with default-constructed values for begin and end.  <a href="#94607755c5110d199202234d58d022ac"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="14795a36ead1414b4371dbe1a4656359"></a><!-- doxytag: member="tbb::blocked_range::blocked_range" ref="14795a36ead1414b4371dbe1a4656359" args="(Value begin_, Value end_, size_type grainsize_=1)" -->
- </td><td class="memItemRight" valign="bottom"><a class="el" href="a00271.html#14795a36ead1414b4371dbe1a4656359">blocked_range</a> (Value begin_, Value end_, <a class="el" href="a00271.html#f5707bffea38eee5c9680f37358afb8e">size_type</a> grainsize_=1)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Construct range over half-open interval [begin,end), with the given grainsize. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="18d2258400756ac1446dac7676b18df3"></a><!-- doxytag: member="tbb::blocked_range::begin" ref="18d2258400756ac1446dac7676b18df3" args="() const " -->
-<a class="el" href="a00271.html#1a8d05842c2b3dfc177bc4d347e4cef7">const_iterator</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00271.html#18d2258400756ac1446dac7676b18df3">begin</a> () const </td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Beginning of range. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8b929d93ddc13f148b11bceef3a3bdf8"></a><!-- doxytag: member="tbb::blocked_range::end" ref="8b929d93ddc13f148b11bceef3a3bdf8" args="() const " -->
-<a class="el" href="a00271.html#1a8d05842c2b3dfc177bc4d347e4cef7">const_iterator</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00271.html#8b929d93ddc13f148b11bceef3a3bdf8">end</a> () const </td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">One past last value in range. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00271.html#f5707bffea38eee5c9680f37358afb8e">size_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00271.html#9eaa0b6beff1420f688570bbf6b8c462">size</a> () const </td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Size of the range.  <a href="#9eaa0b6beff1420f688570bbf6b8c462"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="fcd2e5b8b6c11fd3f20fc0aa9f11bbc2"></a><!-- doxytag: member="tbb::blocked_range::grainsize" ref="fcd2e5b8b6c11fd3f20fc0aa9f11bbc2" args="() const " -->
-<a class="el" href="a00271.html#f5707bffea38eee5c9680f37358afb8e">size_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00271.html#fcd2e5b8b6c11fd3f20fc0aa9f11bbc2">grainsize</a> () const </td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">The grain size for this range. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8f4f02f530eb3f2e7ea26e06f76aef9d"></a><!-- doxytag: member="tbb::blocked_range::empty" ref="8f4f02f530eb3f2e7ea26e06f76aef9d" args="() const " -->
-bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00271.html#8f4f02f530eb3f2e7ea26e06f76aef9d">empty</a> () const </td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">True if range is empty. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00271.html#41a58b703d574b6e1ca155df3576f578">is_divisible</a> () const </td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">True if range is divisible.  <a href="#41a58b703d574b6e1ca155df3576f578"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00271.html#4c0efd2be3f96a0ab3ba5085e8b3fcc7">blocked_range</a> (<a class="el" href="a00271.html">blocked_range</a> &r, <a class="el" href="a00347.html">split</a>)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Split range.  <a href="#4c0efd2be3f96a0ab3ba5085e8b3fcc7"></a><br></td></tr>
-<tr><td colspan="2"><br><h2>Friends</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="395a514a55017e36d571809f1223389b"></a><!-- doxytag: member="tbb::blocked_range::blocked_range2d" ref="395a514a55017e36d571809f1223389b" args="" -->
-class </td><td class="memItemRight" valign="bottom"><b>blocked_range2d</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="13d172a4da9be197033e64516fff1f4b"></a><!-- doxytag: member="tbb::blocked_range::blocked_range3d" ref="13d172a4da9be197033e64516fff1f4b" args="" -->
-class </td><td class="memItemRight" valign="bottom"><b>blocked_range3d</b></td></tr>
-
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-<h3>template<typename Value><br>
- class tbb::blocked_range< Value ></h3>
-
-A range over which to iterate. 
-<p>
-<hr><h2>Member Typedef Documentation</h2>
-<a class="anchor" name="1a8d05842c2b3dfc177bc4d347e4cef7"></a><!-- doxytag: member="tbb::blocked_range::const_iterator" ref="1a8d05842c2b3dfc177bc4d347e4cef7" args="" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template<typename Value> </div>
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef Value <a class="el" href="a00271.html">tbb::blocked_range</a>< Value >::<a class="el" href="a00271.html#1a8d05842c2b3dfc177bc4d347e4cef7">const_iterator</a>          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Type of a value. 
-<p>
-Called a const_iterator for sake of algorithms that need to treat a <a class="el" href="a00271.html">blocked_range</a> as an STL container. 
-</div>
-</div><p>
-<hr><h2>Constructor & Destructor Documentation</h2>
-<a class="anchor" name="94607755c5110d199202234d58d022ac"></a><!-- doxytag: member="tbb::blocked_range::blocked_range" ref="94607755c5110d199202234d58d022ac" args="()" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template<typename Value> </div>
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00271.html">tbb::blocked_range</a>< Value >::<a class="el" href="a00271.html">blocked_range</a>           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td> ) </td>
-          <td width="100%"><code> [inline]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Construct range with default-constructed values for begin and end. 
-<p>
-Requires that Value have a default constructor. 
-</div>
-</div><p>
-<a class="anchor" name="4c0efd2be3f96a0ab3ba5085e8b3fcc7"></a><!-- doxytag: member="tbb::blocked_range::blocked_range" ref="4c0efd2be3f96a0ab3ba5085e8b3fcc7" args="(blocked_range &r, split)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template<typename Value> </div>
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00271.html">tbb::blocked_range</a>< Value >::<a class="el" href="a00271.html">blocked_range</a>           </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="a00271.html">blocked_range</a>< Value > & </td>
-          <td class="paramname"> <em>r</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="a00347.html">split</a> </td>
-          <td class="paramname"></td><td> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td width="100%"><code> [inline]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Split range. 
-<p>
-The new Range *this has the second half, the old range r has the first half. Unspecified if <a class="el" href="a00271.html#8b929d93ddc13f148b11bceef3a3bdf8">end()</a><<a class="el" href="a00271.html#18d2258400756ac1446dac7676b18df3">begin()</a> or !is_divisible(). 
-</div>
-</div><p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="41a58b703d574b6e1ca155df3576f578"></a><!-- doxytag: member="tbb::blocked_range::is_divisible" ref="41a58b703d574b6e1ca155df3576f578" args="() const " -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template<typename Value> </div>
-      <table class="memname">
-        <tr>
-          <td class="memname">bool <a class="el" href="a00271.html">tbb::blocked_range</a>< Value >::is_divisible           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td> ) </td>
-          <td width="100%"> const<code> [inline]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-True if range is divisible. 
-<p>
-Unspecified if <a class="el" href="a00271.html#8b929d93ddc13f148b11bceef3a3bdf8">end()</a><<a class="el" href="a00271.html#18d2258400756ac1446dac7676b18df3">begin()</a>. 
-</div>
-</div><p>
-<a class="anchor" name="9eaa0b6beff1420f688570bbf6b8c462"></a><!-- doxytag: member="tbb::blocked_range::size" ref="9eaa0b6beff1420f688570bbf6b8c462" args="() const " -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template<typename Value> </div>
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00271.html#f5707bffea38eee5c9680f37358afb8e">size_type</a> <a class="el" href="a00271.html">tbb::blocked_range</a>< Value >::size           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td> ) </td>
-          <td width="100%"> const<code> [inline]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Size of the range. 
-<p>
-Unspecified if <a class="el" href="a00271.html#8b929d93ddc13f148b11bceef3a3bdf8">end()</a><<a class="el" href="a00271.html#18d2258400756ac1446dac7676b18df3">begin()</a>. 
-</div>
-</div><p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li>blocked_range.h</ul>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00093.html">queuing_mutex</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::queuing_mutex Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="a00093.html">tbb::queuing_mutex</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>internal_construct</b>() (defined in <a class="el" href="a00093.html">tbb::queuing_mutex</a>)</td><td class="entry"><a class="el" href="a00093.html">tbb::queuing_mutex</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>is_fair_mutex</b> (defined in <a class="el" href="a00093.html">tbb::queuing_mutex</a>)</td><td class="entry"><a class="el" href="a00093.html">tbb::queuing_mutex</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>is_recursive_mutex</b> (defined in <a class="el" href="a00093.html">tbb::queuing_mutex</a>)</td><td class="entry"><a class="el" href="a00093.html">tbb::queuing_mutex</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>is_rw_mutex</b> (defined in <a class="el" href="a00093.html">tbb::queuing_mutex</a>)</td><td class="entry"><a class="el" href="a00093.html">tbb::queuing_mutex</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00093.html#a0e58fce2062ae349a30b320b7fdc9155">queuing_mutex</a>()</td><td class="entry"><a class="el" href="a00093.html">tbb::queuing_mutex</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+</table></div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00272.html b/doc/html/a00272.html
index ef878e0..cc54708 100644
--- a/doc/html/a00272.html
+++ b/doc/html/a00272.html
@@ -1,83 +1,59 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>tbb::blocked_range2d< RowValue, ColValue > Class Template Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="nav">
-<a class="el" href="a00428.html">tbb</a>::<a class="el" href="a00272.html">blocked_range2d</a></div>
-<h1>tbb::blocked_range2d< RowValue, ColValue > Class Template Reference<br>
-<small>
-[<a class="el" href="a00441.html">Algorithms</a>]</small>
-</h1><!-- doxytag: class="tbb::blocked_range2d" -->A 2-dimensional range that models the Range concept.  
-<a href="#_details">More...</a>
-<p>
-<code>#include <blocked_range2d.h></code>
-<p>
-<a href="a00011.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a807a22fe658ec38b8edfd69521d0383"></a><!-- doxytag: member="tbb::blocked_range2d::row_range_type" ref="a807a22fe658ec38b8edfd69521d0383" args="" -->
-typedef <a class="el" href="a00271.html">blocked_range</a>< RowValue > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00272.html#a807a22fe658ec38b8edfd69521d0383">row_range_type</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Type for size of an iteration range. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="750d5c6ac9915443df477a30031c07fd"></a><!-- doxytag: member="tbb::blocked_range2d::col_range_type" ref="750d5c6ac9915443df477a30031c07fd" args="" -->
-typedef <a class="el" href="a00271.html">blocked_range</a>< ColValue > </td><td class="memItemRight" valign="bottom"><b>col_range_type</b></td></tr>
-
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4180bc35d4f8ed9f20045dba4f2a1bdc"></a><!-- doxytag: member="tbb::blocked_range2d::blocked_range2d" ref="4180bc35d4f8ed9f20045dba4f2a1bdc" args="(RowValue row_begin, RowValue row_end, typename row_range_type::size_type row_grainsize, ColValue col_begin, ColValue col_end, typename col_range_type::size_type col_grainsize)" -->
- </td><td class="memItemRight" valign="bottom"><b>blocked_range2d</b> (RowValue row_begin, RowValue row_end, typename <a class="el" href="a00271.html#f5707bffea38eee5c9680f37358afb8e">row_range_type::size_type</a> row_grainsize, ColValue col_begin, ColValue col_end, typename <a class="el" href="a00271.html#f5707bffea38eee5c9680f37358afb8e">col_range_type::size_type</a> col_grainsize)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="485434db1609b2074d86cb604f3c674e"></a><!-- doxytag: member="tbb::blocked_range2d::blocked_range2d" ref="485434db1609b2074d86cb604f3c674e" args="(RowValue row_begin, RowValue row_end, ColValue col_begin, ColValue col_end)" -->
- </td><td class="memItemRight" valign="bottom"><b>blocked_range2d</b> (RowValue row_begin, RowValue row_end, ColValue col_begin, ColValue col_end)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d144cb2d88cef553420311aca8667a44"></a><!-- doxytag: member="tbb::blocked_range2d::empty" ref="d144cb2d88cef553420311aca8667a44" args="() const " -->
-bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00272.html#d144cb2d88cef553420311aca8667a44">empty</a> () const </td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">True if range is empty. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ad36a9b38e4fef26d376f99552ce2d92"></a><!-- doxytag: member="tbb::blocked_range2d::is_divisible" ref="ad36a9b38e4fef26d376f99552ce2d92" args="() const " -->
-bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00272.html#ad36a9b38e4fef26d376f99552ce2d92">is_divisible</a> () const </td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">True if range is divisible into two pieces. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4f80e6db02bfa4e90e2a219de9f17461"></a><!-- doxytag: member="tbb::blocked_range2d::blocked_range2d" ref="4f80e6db02bfa4e90e2a219de9f17461" args="(blocked_range2d &r, split)" -->
- </td><td class="memItemRight" valign="bottom"><b>blocked_range2d</b> (<a class="el" href="a00272.html">blocked_range2d</a> &r, <a class="el" href="a00347.html">split</a>)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f496e7348a82652fba581203477cc07c"></a><!-- doxytag: member="tbb::blocked_range2d::rows" ref="f496e7348a82652fba581203477cc07c" args="() const " -->
-const <a class="el" href="a00271.html">row_range_type</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="a00272.html#f496e7348a82652fba581203477cc07c">rows</a> () const </td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">The rows of the iteration space. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="392a46759af2c884957115771affa7f4"></a><!-- doxytag: member="tbb::blocked_range2d::cols" ref="392a46759af2c884957115771affa7f4" args="() const " -->
-const <a class="el" href="a00271.html">col_range_type</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="a00272.html#392a46759af2c884957115771affa7f4">cols</a> () const </td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">The columns of the iteration space. <br></td></tr>
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-<h3>template<typename RowValue, typename ColValue = RowValue><br>
- class tbb::blocked_range2d< RowValue, ColValue ></h3>
-
-A 2-dimensional range that models the Range concept. 
-<p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li>blocked_range2d.h</ul>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00093.html">queuing_mutex</a></li><li class="navelem"><a class="el" href="a00121.html">scoped_lock</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::queuing_mutex::scoped_lock Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="a00121.html">tbb::queuing_mutex::scoped_lock</a>, including all inherited members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" href="a00121.html#abf8aa7ccd48d54dcb53665700a17d02a">acquire</a>(queuing_mutex &m)</td><td class="entry"><a class="el" href="a00121.html">tbb::queuing_mutex::scoped_lock</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="a00121.html#aaa065e48b428b8d43e9bb931ba9e6f6c">release</a>()</td><td class="entry"><a class="el" href="a00121.html">tbb::queuing_mutex::scoped_lock</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00121.html#a0afe0107eb0aae613e726f67624d2fca">scoped_lock</a>()</td><td class="entry"><a class="el" href="a00121.html">tbb::queuing_mutex::scoped_lock</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00121.html#aa82d9da0dcfe5b21f1c08473f8223105">scoped_lock</a>(queuing_mutex &m)</td><td class="entry"><a class="el" href="a00121.html">tbb::queuing_mutex::scoped_lock</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00121.html#ab4800ba9e743cd91f152036a6689b0e9">try_acquire</a>(queuing_mutex &m)</td><td class="entry"><a class="el" href="a00121.html">tbb::queuing_mutex::scoped_lock</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="a00121.html#a469ec43836a8dd250ce0a22b02945630">~scoped_lock</a>()</td><td class="entry"><a class="el" href="a00121.html">tbb::queuing_mutex::scoped_lock</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+</table></div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00273.html b/doc/html/a00273.html
index a4e32cb..076a676 100644
--- a/doc/html/a00273.html
+++ b/doc/html/a00273.html
@@ -1,90 +1,59 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>tbb::blocked_range3d< PageValue, RowValue, ColValue > Class Template Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="nav">
-<a class="el" href="a00428.html">tbb</a>::<a class="el" href="a00273.html">blocked_range3d</a></div>
-<h1>tbb::blocked_range3d< PageValue, RowValue, ColValue > Class Template Reference<br>
-<small>
-[<a class="el" href="a00441.html">Algorithms</a>]</small>
-</h1><!-- doxytag: class="tbb::blocked_range3d" -->A 3-dimensional range that models the Range concept.  
-<a href="#_details">More...</a>
-<p>
-<code>#include <blocked_range3d.h></code>
-<p>
-<a href="a00012.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b8ebf17a552ba47825e9b3887855b719"></a><!-- doxytag: member="tbb::blocked_range3d::page_range_type" ref="b8ebf17a552ba47825e9b3887855b719" args="" -->
-typedef <a class="el" href="a00271.html">blocked_range</a>< PageValue > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00273.html#b8ebf17a552ba47825e9b3887855b719">page_range_type</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Type for size of an iteration range. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4edc39b1a76c84c8f43ea8bff3e88007"></a><!-- doxytag: member="tbb::blocked_range3d::row_range_type" ref="4edc39b1a76c84c8f43ea8bff3e88007" args="" -->
-typedef <a class="el" href="a00271.html">blocked_range</a>< RowValue > </td><td class="memItemRight" valign="bottom"><b>row_range_type</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="02229b59d4dc5437bf5fbe72acca7f66"></a><!-- doxytag: member="tbb::blocked_range3d::col_range_type" ref="02229b59d4dc5437bf5fbe72acca7f66" args="" -->
-typedef <a class="el" href="a00271.html">blocked_range</a>< ColValue > </td><td class="memItemRight" valign="bottom"><b>col_range_type</b></td></tr>
-
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a762f420ed83a887967cb7dfe337582c"></a><!-- doxytag: member="tbb::blocked_range3d::blocked_range3d" ref="a762f420ed83a887967cb7dfe337582c" args="(PageValue page_begin, PageValue page_end, RowValue row_begin, RowValue row_end, ColValue col_begin, ColValue col_end)" -->
- </td><td class="memItemRight" valign="bottom"><b>blocked_range3d</b> (PageValue page_begin, PageValue page_end, RowValue row_begin, RowValue row_end, ColValue col_begin, ColValue col_end)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0b4dcf5b059634b95c1671086bf6d4ff"></a><!-- doxytag: member="tbb::blocked_range3d::blocked_range3d" ref="0b4dcf5b059634b95c1671086bf6d4ff" args="(PageValue page_begin, PageValue page_end, typename page_range_type::size_type page_grainsize, RowValue row_begin, RowValue row_end, typename row_range_type::size_type row_grainsize, ColValue col_begin, ColValue col_end, typename col_range_type::size_type col_gr [...]
- </td><td class="memItemRight" valign="bottom"><b>blocked_range3d</b> (PageValue page_begin, PageValue page_end, typename <a class="el" href="a00271.html#f5707bffea38eee5c9680f37358afb8e">page_range_type::size_type</a> page_grainsize, RowValue row_begin, RowValue row_end, typename <a class="el" href="a00271.html#f5707bffea38eee5c9680f37358afb8e">row_range_type::size_type</a> row_grainsize, ColValue col_begin, ColValue col_end, typename <a class="el" href="a00271.html#f5707bffea38eee [...]
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="356860e1c977d91711e8216bd55c0b25"></a><!-- doxytag: member="tbb::blocked_range3d::empty" ref="356860e1c977d91711e8216bd55c0b25" args="() const " -->
-bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00273.html#356860e1c977d91711e8216bd55c0b25">empty</a> () const </td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">True if range is empty. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="39d69191721c488e737ae5d9c5336b9c"></a><!-- doxytag: member="tbb::blocked_range3d::is_divisible" ref="39d69191721c488e737ae5d9c5336b9c" args="() const " -->
-bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00273.html#39d69191721c488e737ae5d9c5336b9c">is_divisible</a> () const </td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">True if range is divisible into two pieces. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a0d6f0085c9fb364ddcbc2197da6c251"></a><!-- doxytag: member="tbb::blocked_range3d::blocked_range3d" ref="a0d6f0085c9fb364ddcbc2197da6c251" args="(blocked_range3d &r, split)" -->
- </td><td class="memItemRight" valign="bottom"><b>blocked_range3d</b> (<a class="el" href="a00273.html">blocked_range3d</a> &r, <a class="el" href="a00347.html">split</a>)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="cf971430aa12361d3ed245344b7c6764"></a><!-- doxytag: member="tbb::blocked_range3d::pages" ref="cf971430aa12361d3ed245344b7c6764" args="() const " -->
-const <a class="el" href="a00271.html">page_range_type</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="a00273.html#cf971430aa12361d3ed245344b7c6764">pages</a> () const </td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">The pages of the iteration space. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1584623e59ff32a8aa82006827508be4"></a><!-- doxytag: member="tbb::blocked_range3d::rows" ref="1584623e59ff32a8aa82006827508be4" args="() const " -->
-const <a class="el" href="a00271.html">row_range_type</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="a00273.html#1584623e59ff32a8aa82006827508be4">rows</a> () const </td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">The rows of the iteration space. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3336ba9480fd6c43e158f9beb024c050"></a><!-- doxytag: member="tbb::blocked_range3d::cols" ref="3336ba9480fd6c43e158f9beb024c050" args="() const " -->
-const <a class="el" href="a00271.html">col_range_type</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="a00273.html#3336ba9480fd6c43e158f9beb024c050">cols</a> () const </td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">The columns of the iteration space. <br></td></tr>
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-<h3>template<typename PageValue, typename RowValue = PageValue, typename ColValue = RowValue><br>
- class tbb::blocked_range3d< PageValue, RowValue, ColValue ></h3>
-
-A 3-dimensional range that models the Range concept. 
-<p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li>blocked_range3d.h</ul>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00094.html">queuing_rw_mutex</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::queuing_rw_mutex Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="a00094.html">tbb::queuing_rw_mutex</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>internal_construct</b>() (defined in <a class="el" href="a00094.html">tbb::queuing_rw_mutex</a>)</td><td class="entry"><a class="el" href="a00094.html">tbb::queuing_rw_mutex</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>is_fair_mutex</b> (defined in <a class="el" href="a00094.html">tbb::queuing_rw_mutex</a>)</td><td class="entry"><a class="el" href="a00094.html">tbb::queuing_rw_mutex</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>is_recursive_mutex</b> (defined in <a class="el" href="a00094.html">tbb::queuing_rw_mutex</a>)</td><td class="entry"><a class="el" href="a00094.html">tbb::queuing_rw_mutex</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>is_rw_mutex</b> (defined in <a class="el" href="a00094.html">tbb::queuing_rw_mutex</a>)</td><td class="entry"><a class="el" href="a00094.html">tbb::queuing_rw_mutex</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00094.html#a23de1ac415b6f54b778c8fd6ec6073e0">queuing_rw_mutex</a>()</td><td class="entry"><a class="el" href="a00094.html">tbb::queuing_rw_mutex</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00094.html#ae67fe828d7e07222e7876ef9fd780fcc">~queuing_rw_mutex</a>()</td><td class="entry"><a class="el" href="a00094.html">tbb::queuing_rw_mutex</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+</table></div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00274.html b/doc/html/a00274.html
index 2964595..71184dd 100644
--- a/doc/html/a00274.html
+++ b/doc/html/a00274.html
@@ -1,107 +1,61 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>tbb::flow::interface6::broadcast_node< T > Class Template Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="nav">
-<a class="el" href="a00428.html">tbb</a>::<b>flow</b>::<b>interface6</b>::<a class="el" href="a00274.html">broadcast_node</a></div>
-<h1>tbb::flow::interface6::broadcast_node< T > Class Template Reference</h1><!-- doxytag: class="tbb::flow::interface6::broadcast_node" --><!-- doxytag: inherits="tbb::flow::interface6::graph_node,tbb::flow::interface6::receiver,tbb::flow::interface6::sender" -->Forwards messages of type T to all successors.  
-<a href="#_details">More...</a>
-<p>
-<code>#include <flow_graph.h></code>
-<p>
-<p>Inheritance diagram for tbb::flow::interface6::broadcast_node< T >:
-<p><center><img src="a00274.png" usemap="#tbb::flow::interface6::broadcast_node< T >_map" border="0" alt=""></center>
-<map name="tbb::flow::interface6::broadcast_node< T >_map">
-<area href="a00301.html" alt="tbb::flow::interface6::graph_node" shape="rect" coords="0,0,249,24">
-<area href="a00333.html" alt="tbb::flow::interface6::receiver< T >" shape="rect" coords="259,0,508,24">
-<area href="a00339.html" alt="tbb::flow::interface6::sender< T >" shape="rect" coords="518,0,767,24">
-</map>
-<a href="a00073.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="43c775d80e98cc601de69764983319f9"></a><!-- doxytag: member="tbb::flow::interface6::broadcast_node::input_type" ref="43c775d80e98cc601de69764983319f9" args="" -->
-typedef T </td><td class="memItemRight" valign="bottom"><a class="el" href="a00274.html#43c775d80e98cc601de69764983319f9">input_type</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">The input type of this receiver. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8fd8d3075823e08b879be46c1215ab0f"></a><!-- doxytag: member="tbb::flow::interface6::broadcast_node::output_type" ref="8fd8d3075823e08b879be46c1215ab0f" args="" -->
-typedef T </td><td class="memItemRight" valign="bottom"><a class="el" href="a00274.html#8fd8d3075823e08b879be46c1215ab0f">output_type</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">The output type of this sender. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0e2ad9a121cb286aa0d0142fef33c646"></a><!-- doxytag: member="tbb::flow::interface6::broadcast_node::predecessor_type" ref="0e2ad9a121cb286aa0d0142fef33c646" args="" -->
-typedef <a class="el" href="a00339.html">sender</a>< <a class="el" href="a00274.html#43c775d80e98cc601de69764983319f9">input_type</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00274.html#0e2ad9a121cb286aa0d0142fef33c646">predecessor_type</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">The predecessor type for this node. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="cc6a0eb1c4ee65465770628d8366f055"></a><!-- doxytag: member="tbb::flow::interface6::broadcast_node::successor_type" ref="cc6a0eb1c4ee65465770628d8366f055" args="" -->
-typedef <a class="el" href="a00333.html">receiver</a>< <a class="el" href="a00274.html#8fd8d3075823e08b879be46c1215ab0f">output_type</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00274.html#cc6a0eb1c4ee65465770628d8366f055">successor_type</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">The successor type for this node. <br></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="89e20f24ae56d38a5ee52f8d41e1a79c"></a><!-- doxytag: member="tbb::flow::interface6::broadcast_node::broadcast_node" ref="89e20f24ae56d38a5ee52f8d41e1a79c" args="(graph &g)" -->
- </td><td class="memItemRight" valign="bottom"><b>broadcast_node</b> (<a class="el" href="a00300.html">graph</a> &g)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="bdcf84bf5b52c3af2d5332dc9d5fec07"></a><!-- doxytag: member="tbb::flow::interface6::broadcast_node::broadcast_node" ref="bdcf84bf5b52c3af2d5332dc9d5fec07" args="(const broadcast_node &src)" -->
- </td><td class="memItemRight" valign="bottom"><b>broadcast_node</b> (const <a class="el" href="a00274.html">broadcast_node</a> &src)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="fd0324c9ddb51fe6f95b3d015d338941"></a><!-- doxytag: member="tbb::flow::interface6::broadcast_node::register_successor" ref="fd0324c9ddb51fe6f95b3d015d338941" args="(receiver< T > &r)" -->
-virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00274.html#fd0324c9ddb51fe6f95b3d015d338941">register_successor</a> (<a class="el" href="a00333.html">receiver</a>< T > &r)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Adds a successor. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="366efcc046ec08a104281109801ae629"></a><!-- doxytag: member="tbb::flow::interface6::broadcast_node::remove_successor" ref="366efcc046ec08a104281109801ae629" args="(receiver< T > &r)" -->
-virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00274.html#366efcc046ec08a104281109801ae629">remove_successor</a> (<a class="el" href="a00333.html">receiver</a>< T > &r)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Removes s as a successor. <br></td></tr>
-<tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b4804d99e0fb0576f1061ab7269e5939"></a><!-- doxytag: member="tbb::flow::interface6::broadcast_node::try_put_task" ref="b4804d99e0fb0576f1061ab7269e5939" args="(const T &t)" -->
-<a class="el" href="a00349.html">task</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00274.html#b4804d99e0fb0576f1061ab7269e5939">try_put_task</a> (const T &t)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">build a task to run the successor if possible. Default is old behavior. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0f6d6d9e50a9cebe40df876a3c7a8804"></a><!-- doxytag: member="tbb::flow::interface6::broadcast_node::reset" ref="0f6d6d9e50a9cebe40df876a3c7a8804" args="()" -->
-void </td><td class="memItemRight" valign="bottom"><b>reset</b> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4e216903c618e25d2e3780483c763f67"></a><!-- doxytag: member="tbb::flow::interface6::broadcast_node::reset_receiver" ref="4e216903c618e25d2e3780483c763f67" args="()" -->
-void </td><td class="memItemRight" valign="bottom"><b>reset_receiver</b> ()</td></tr>
-
-<tr><td colspan="2"><br><h2>Friends</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="621bab40a858d214db69ef08d88b67c1"></a><!-- doxytag: member="tbb::flow::interface6::broadcast_node::run_and_put_task" ref="621bab40a858d214db69ef08d88b67c1" args="" -->
-class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00274.html#621bab40a858d214db69ef08d88b67c1">run_and_put_task</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">put item to successor; return task to run the successor if possible. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e4fa30d87bc0bfa80942f97a8d58f1bd"></a><!-- doxytag: member="tbb::flow::interface6::broadcast_node::internal::broadcast_cache" ref="e4fa30d87bc0bfa80942f97a8d58f1bd" args="" -->
-class </td><td class="memItemRight" valign="bottom"><b>internal::broadcast_cache</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="31ba00ea3e3e5a421b38840bd0dc2589"></a><!-- doxytag: member="tbb::flow::interface6::broadcast_node::internal::round_robin_cache" ref="31ba00ea3e3e5a421b38840bd0dc2589" args="" -->
-class </td><td class="memItemRight" valign="bottom"><b>internal::round_robin_cache</b></td></tr>
-
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-<h3>template<typename T><br>
- class tbb::flow::interface6::broadcast_node< T ></h3>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00094.html">queuing_rw_mutex</a></li><li class="navelem"><a class="el" href="a00119.html">scoped_lock</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::queuing_rw_mutex::scoped_lock Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
 
-Forwards messages of type T to all successors. 
-<p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li><a class="el" href="a00385.html">flow_graph.h</a></ul>
+<p>This is the complete list of members for <a class="el" href="a00119.html">tbb::queuing_rw_mutex::scoped_lock</a>, including all inherited members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" href="a00119.html#ab4bf2fb86d6a418f9ea36474eb8893f9">acquire</a>(queuing_rw_mutex &m, bool write=true)</td><td class="entry"><a class="el" href="a00119.html">tbb::queuing_rw_mutex::scoped_lock</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="a00119.html#af0af63035147a3d8422f8c8d7b8d2629">downgrade_to_reader</a>()</td><td class="entry"><a class="el" href="a00119.html">tbb::queuing_rw_mutex::scoped_lock</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00119.html#a50fb02b77f02a01c74754d163157ec77">release</a>()</td><td class="entry"><a class="el" href="a00119.html">tbb::queuing_rw_mutex::scoped_lock</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="a00119.html#a1ae3792726dcff8da1f2c5366fb2b754">scoped_lock</a>()</td><td class="entry"><a class="el" href="a00119.html">tbb::queuing_rw_mutex::scoped_lock</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00119.html#af1b55ca1839c9c7c2cd779cd2dd9c474">scoped_lock</a>(queuing_rw_mutex &m, bool write=true)</td><td class="entry"><a class="el" href="a00119.html">tbb::queuing_rw_mutex::scoped_lock</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00119.html#a4843d40dddc37c1aa3444e27d35d2433">try_acquire</a>(queuing_rw_mutex &m, bool write=true)</td><td class="entry"><a class="el" href="a00119.html">tbb::queuing_rw_mutex::scoped_lock</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00119.html#ae0f28ecfbbc5f8b3024cd47048b72b5b">upgrade_to_writer</a>()</td><td class="entry"><a class="el" href="a00119.html">tbb::queuing_rw_mutex::scoped_lock</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="a00119.html#a6cb16cc55f884bbbd5a69430c47b288f">~scoped_lock</a>()</td><td class="entry"><a class="el" href="a00119.html">tbb::queuing_rw_mutex::scoped_lock</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+</table></div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00274.png b/doc/html/a00274.png
deleted file mode 100644
index 5a7b1d5..0000000
Binary files a/doc/html/a00274.png and /dev/null differ
diff --git a/doc/html/a00275.html b/doc/html/a00275.html
index 879508f..c486c27 100644
--- a/doc/html/a00275.html
+++ b/doc/html/a00275.html
@@ -1,405 +1,65 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>tbb::flow::interface6::buffer_node< T, A > Class Template Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="nav">
-<a class="el" href="a00428.html">tbb</a>::<b>flow</b>::<b>interface6</b>::<a class="el" href="a00275.html">buffer_node</a></div>
-<h1>tbb::flow::interface6::buffer_node< T, A > Class Template Reference</h1><!-- doxytag: class="tbb::flow::interface6::buffer_node" --><!-- doxytag: inherits="tbb::flow::interface6::graph_node,tbb::flow::interface6::receiver,tbb::flow::interface6::sender" -->Forwards messages in arbitrary order.  
-<a href="#_details">More...</a>
-<p>
-<code>#include <flow_graph.h></code>
-<p>
-<p>Inheritance diagram for tbb::flow::interface6::buffer_node< T, A >:
-<p><center><img src="a00275.png" usemap="#tbb::flow::interface6::buffer_node< T, A >_map" border="0" alt=""></center>
-<map name="tbb::flow::interface6::buffer_node< T, A >_map">
-<area href="a00301.html" alt="tbb::flow::interface6::graph_node" shape="rect" coords="0,0,352,24">
-<area href="a00333.html" alt="tbb::flow::interface6::receiver< T >" shape="rect" coords="362,0,714,24">
-<area href="a00339.html" alt="tbb::flow::interface6::sender< T >" shape="rect" coords="724,0,1076,24">
-<area href="a00324.html" alt="tbb::flow::interface6::priority_queue_node< T, Compare, A >" shape="rect" coords="181,112,533,136">
-<area href="a00325.html" alt="tbb::flow::interface6::queue_node< T, A >" shape="rect" coords="543,112,895,136">
-<area href="a00340.html" alt="tbb::flow::interface6::sequencer_node< T, A >" shape="rect" coords="543,168,895,192">
-</map>
-<a href="a00074.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="334efb81b56a2f2b3ae08a16e8d65620"></a><!-- doxytag: member="tbb::flow::interface6::buffer_node::input_type" ref="334efb81b56a2f2b3ae08a16e8d65620" args="" -->
-typedef T </td><td class="memItemRight" valign="bottom"><a class="el" href="a00275.html#334efb81b56a2f2b3ae08a16e8d65620">input_type</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">The input type of this receiver. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="089520db81f6a1551dc94c01efbdd7be"></a><!-- doxytag: member="tbb::flow::interface6::buffer_node::output_type" ref="089520db81f6a1551dc94c01efbdd7be" args="" -->
-typedef T </td><td class="memItemRight" valign="bottom"><a class="el" href="a00275.html#089520db81f6a1551dc94c01efbdd7be">output_type</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">The output type of this sender. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5fb0ad03a822ca0fc34ad5d56a4093a2"></a><!-- doxytag: member="tbb::flow::interface6::buffer_node::predecessor_type" ref="5fb0ad03a822ca0fc34ad5d56a4093a2" args="" -->
-typedef <a class="el" href="a00339.html">sender</a>< <a class="el" href="a00275.html#334efb81b56a2f2b3ae08a16e8d65620">input_type</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00275.html#5fb0ad03a822ca0fc34ad5d56a4093a2">predecessor_type</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">The predecessor type for this node. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="66f7eda69b75e08f50726e50a11429cd"></a><!-- doxytag: member="tbb::flow::interface6::buffer_node::successor_type" ref="66f7eda69b75e08f50726e50a11429cd" args="" -->
-typedef <a class="el" href="a00333.html">receiver</a>< <a class="el" href="a00275.html#089520db81f6a1551dc94c01efbdd7be">output_type</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00275.html#66f7eda69b75e08f50726e50a11429cd">successor_type</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">The successor type for this node. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="17ee32d233db52b86256480d5f048e16"></a><!-- doxytag: member="tbb::flow::interface6::buffer_node::my_class" ref="17ee32d233db52b86256480d5f048e16" args="" -->
-typedef <a class="el" href="a00275.html">buffer_node</a>< T, A > </td><td class="memItemRight" valign="bottom"><b>my_class</b></td></tr>
-
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5fe4b79f780586ff66e002ce32a5c60d"></a><!-- doxytag: member="tbb::flow::interface6::buffer_node::buffer_node" ref="5fe4b79f780586ff66e002ce32a5c60d" args="(graph &g)" -->
- </td><td class="memItemRight" valign="bottom"><a class="el" href="a00275.html#5fe4b79f780586ff66e002ce32a5c60d">buffer_node</a> (<a class="el" href="a00300.html">graph</a> &g)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Constructor. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="03ad7b85a8341437f584af06ad050cdc"></a><!-- doxytag: member="tbb::flow::interface6::buffer_node::buffer_node" ref="03ad7b85a8341437f584af06ad050cdc" args="(const buffer_node &src)" -->
- </td><td class="memItemRight" valign="bottom"><a class="el" href="a00275.html#03ad7b85a8341437f584af06ad050cdc">buffer_node</a> (const <a class="el" href="a00275.html">buffer_node</a> &src)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Copy constructor. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00275.html#f8bf4944ede4fc106423d67715beb695">register_successor</a> (<a class="el" href="a00333.html">receiver</a>< <a class="el" href="a00275.html#089520db81f6a1551dc94c01efbdd7be">output_type</a> > &r)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Adds a new successor.  <a href="#f8bf4944ede4fc106423d67715beb695"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00275.html#2074da0e39b9477c32897d6e5786196f">remove_successor</a> (<a class="el" href="a00333.html">receiver</a>< <a class="el" href="a00275.html#089520db81f6a1551dc94c01efbdd7be">output_type</a> > &r)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Removes a successor.  <a href="#2074da0e39b9477c32897d6e5786196f"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00275.html#aeb8aec46ca99ca022356a792c46735e">try_get</a> (T &v)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Request an item from the <a class="el" href="a00275.html">buffer_node</a>.  <a href="#aeb8aec46ca99ca022356a792c46735e"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00275.html#1cc889bb6c38bcb81757d0ebbc3a5e64">try_reserve</a> (T &v)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Reserves an item.  <a href="#1cc889bb6c38bcb81757d0ebbc3a5e64"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00275.html#2c8e8f2f5f4ff5be27136cc1184a3c3e">try_release</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Release a reserved item.  <a href="#2c8e8f2f5f4ff5be27136cc1184a3c3e"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00275.html#8ef07c434eb763d947a7b4e80c086a49">try_consume</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Consumes a reserved item.  <a href="#8ef07c434eb763d947a7b4e80c086a49"></a><br></td></tr>
-<tr><td colspan="2"><br><h2>Protected Types</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3bdeda814bba6d687b62449e8d7b8001"></a><!-- doxytag: member="tbb::flow::interface6::buffer_node::size_type" ref="3bdeda814bba6d687b62449e8d7b8001" args="" -->
-typedef size_t </td><td class="memItemRight" valign="bottom"><b>size_type</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5da41039fc224257fc16df21ea78351c"></a><!-- doxytag: member="tbb::flow::interface6::buffer_node::my_handler" ref="5da41039fc224257fc16df21ea78351c" args="" -->
-typedef internal::aggregating_functor<<br>
- <a class="el" href="a00275.html">my_class</a>, buffer_operation > </td><td class="memItemRight" valign="bottom"><b>my_handler</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="27ef87d052ece9366a56e5dfd8017579ba61e9d48b022a45d302fb7cc2e99587"></a><!-- doxytag: member="tbb::flow::interface6::buffer_node::reg_succ" ref="27ef87d052ece9366a56e5dfd8017579ba61e9d48b022a45d302fb7cc2e99587" args="" -->
- </td><td class="memItemRight" valign="bottom"><b>reg_succ</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="27ef87d052ece9366a56e5dfd8017579e5c114ade89a63b1d44116994be56f94"></a><!-- doxytag: member="tbb::flow::interface6::buffer_node::rem_succ" ref="27ef87d052ece9366a56e5dfd8017579e5c114ade89a63b1d44116994be56f94" args="" -->
- </td><td class="memItemRight" valign="bottom"><b>rem_succ</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="27ef87d052ece9366a56e5dfd8017579b830235026f7286b15954d74559baeb8"></a><!-- doxytag: member="tbb::flow::interface6::buffer_node::req_item" ref="27ef87d052ece9366a56e5dfd8017579b830235026f7286b15954d74559baeb8" args="" -->
- </td><td class="memItemRight" valign="bottom"><b>req_item</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="27ef87d052ece9366a56e5dfd8017579014be13638194a9fe0b10201be74847e"></a><!-- doxytag: member="tbb::flow::interface6::buffer_node::res_item" ref="27ef87d052ece9366a56e5dfd8017579014be13638194a9fe0b10201be74847e" args="" -->
- </td><td class="memItemRight" valign="bottom"><b>res_item</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="27ef87d052ece9366a56e5dfd8017579d451e6807b6f8238c3fed708789c9fb3"></a><!-- doxytag: member="tbb::flow::interface6::buffer_node::rel_res" ref="27ef87d052ece9366a56e5dfd8017579d451e6807b6f8238c3fed708789c9fb3" args="" -->
- </td><td class="memItemRight" valign="bottom"><b>rel_res</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="27ef87d052ece9366a56e5dfd8017579b2a86824c712d448bd3ff7c6e905fb48"></a><!-- doxytag: member="tbb::flow::interface6::buffer_node::con_res" ref="27ef87d052ece9366a56e5dfd8017579b2a86824c712d448bd3ff7c6e905fb48" args="" -->
- </td><td class="memItemRight" valign="bottom"><b>con_res</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="27ef87d052ece9366a56e5dfd80175799f00b67eaae74451baf63ea2dc0cb94c"></a><!-- doxytag: member="tbb::flow::interface6::buffer_node::put_item" ref="27ef87d052ece9366a56e5dfd80175799f00b67eaae74451baf63ea2dc0cb94c" args="" -->
- </td><td class="memItemRight" valign="bottom"><b>put_item</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="27ef87d052ece9366a56e5dfd801757944e067a8959b08624d5675b29b4f344f"></a><!-- doxytag: member="tbb::flow::interface6::buffer_node::try_fwd_task" ref="27ef87d052ece9366a56e5dfd801757944e067a8959b08624d5675b29b4f344f" args="" -->
- </td><td class="memItemRight" valign="bottom"><b>try_fwd_task</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0ca181d774b321a511fd9a9653ce2a60f415a59924de2ce1c447c79a1b278a3a"></a><!-- doxytag: member="tbb::flow::interface6::buffer_node::WAIT" ref="0ca181d774b321a511fd9a9653ce2a60f415a59924de2ce1c447c79a1b278a3a" args="" -->
- </td><td class="memItemRight" valign="bottom"><b>WAIT</b> = 0</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0ca181d774b321a511fd9a9653ce2a60159bdd1eb0a3e1245f61a1e3bcca417f"></a><!-- doxytag: member="tbb::flow::interface6::buffer_node::SUCCEEDED" ref="0ca181d774b321a511fd9a9653ce2a60159bdd1eb0a3e1245f61a1e3bcca417f" args="" -->
- </td><td class="memItemRight" valign="bottom"><b>SUCCEEDED</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0ca181d774b321a511fd9a9653ce2a602c60f32df3cedd3c31dadd0086e5edc4"></a><!-- doxytag: member="tbb::flow::interface6::buffer_node::FAILED" ref="0ca181d774b321a511fd9a9653ce2a602c60f32df3cedd3c31dadd0086e5edc4" args="" -->
- </td><td class="memItemRight" valign="bottom"><b>FAILED</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><b>op_type</b> { <br>
-  <b>reg_succ</b>, 
-<b>rem_succ</b>, 
-<b>req_item</b>, 
-<b>res_item</b>, 
-<br>
-  <b>rel_res</b>, 
-<b>con_res</b>, 
-<b>put_item</b>, 
-<b>try_fwd_task</b>
-<br>
- }</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><b>op_stat</b> { <b>WAIT</b> = 0, 
-<b>SUCCEEDED</b>, 
-<b>FAILED</b>
- }</td></tr>
-
-<tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c896b8640b606e49f369d1260c041ded"></a><!-- doxytag: member="tbb::flow::interface6::buffer_node::handle_operations" ref="c896b8640b606e49f369d1260c041ded" args="(buffer_operation *op_list)" -->
-virtual void </td><td class="memItemRight" valign="bottom"><b>handle_operations</b> (buffer_operation *op_list)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="285804d036b538fe1d656fa829672b71"></a><!-- doxytag: member="tbb::flow::interface6::buffer_node::grab_forwarding_task" ref="285804d036b538fe1d656fa829672b71" args="(buffer_operation &op_data)" -->
-<a class="el" href="a00349.html">task</a> * </td><td class="memItemRight" valign="bottom"><b>grab_forwarding_task</b> (buffer_operation &op_data)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9369eb4fe99cdfe534b99102b069ea43"></a><!-- doxytag: member="tbb::flow::interface6::buffer_node::enqueue_forwarding_task" ref="9369eb4fe99cdfe534b99102b069ea43" args="(buffer_operation &op_data)" -->
-bool </td><td class="memItemRight" valign="bottom"><b>enqueue_forwarding_task</b> (buffer_operation &op_data)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8954338d1a7740f9be80455ba27e8eed"></a><!-- doxytag: member="tbb::flow::interface6::buffer_node::forward_task" ref="8954338d1a7740f9be80455ba27e8eed" args="()" -->
-virtual <a class="el" href="a00349.html">task</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00275.html#8954338d1a7740f9be80455ba27e8eed">forward_task</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">This is executed by an enqueued task, the "forwarder". <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="df21388252b8963e839dca29d2c67ea5"></a><!-- doxytag: member="tbb::flow::interface6::buffer_node::internal_reg_succ" ref="df21388252b8963e839dca29d2c67ea5" args="(buffer_operation *op)" -->
-virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00275.html#df21388252b8963e839dca29d2c67ea5">internal_reg_succ</a> (buffer_operation *op)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Register successor. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6b6cf76dff80fd679251da93351c1291"></a><!-- doxytag: member="tbb::flow::interface6::buffer_node::internal_rem_succ" ref="6b6cf76dff80fd679251da93351c1291" args="(buffer_operation *op)" -->
-virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00275.html#6b6cf76dff80fd679251da93351c1291">internal_rem_succ</a> (buffer_operation *op)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Remove successor. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="bc6ef82fe9c28ace2ef6b78abb43ffb8"></a><!-- doxytag: member="tbb::flow::interface6::buffer_node::internal_forward_task" ref="bc6ef82fe9c28ace2ef6b78abb43ffb8" args="(buffer_operation *op)" -->
-virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00275.html#bc6ef82fe9c28ace2ef6b78abb43ffb8">internal_forward_task</a> (buffer_operation *op)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Tries to forward valid items to successors. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="58c70e13ecd40cdaa59cda059e68de51"></a><!-- doxytag: member="tbb::flow::interface6::buffer_node::internal_push" ref="58c70e13ecd40cdaa59cda059e68de51" args="(buffer_operation *op)" -->
-virtual void </td><td class="memItemRight" valign="bottom"><b>internal_push</b> (buffer_operation *op)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="035cbd758a1a28317ba951e2447e0826"></a><!-- doxytag: member="tbb::flow::interface6::buffer_node::internal_pop" ref="035cbd758a1a28317ba951e2447e0826" args="(buffer_operation *op)" -->
-virtual void </td><td class="memItemRight" valign="bottom"><b>internal_pop</b> (buffer_operation *op)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4072ad4d1b320d584ea837048d6e4130"></a><!-- doxytag: member="tbb::flow::interface6::buffer_node::internal_reserve" ref="4072ad4d1b320d584ea837048d6e4130" args="(buffer_operation *op)" -->
-virtual void </td><td class="memItemRight" valign="bottom"><b>internal_reserve</b> (buffer_operation *op)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1177d6a157c14cdbfd7d4b05f01605a5"></a><!-- doxytag: member="tbb::flow::interface6::buffer_node::internal_consume" ref="1177d6a157c14cdbfd7d4b05f01605a5" args="(buffer_operation *op)" -->
-virtual void </td><td class="memItemRight" valign="bottom"><b>internal_consume</b> (buffer_operation *op)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ceeec6c56ae8e16effb3fd187e83d958"></a><!-- doxytag: member="tbb::flow::interface6::buffer_node::internal_release" ref="ceeec6c56ae8e16effb3fd187e83d958" args="(buffer_operation *op)" -->
-virtual void </td><td class="memItemRight" valign="bottom"><b>internal_release</b> (buffer_operation *op)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="84d939049fa8c3205aec91ced0980e03"></a><!-- doxytag: member="tbb::flow::interface6::buffer_node::try_put_task" ref="84d939049fa8c3205aec91ced0980e03" args="(const T &t)" -->
-<a class="el" href="a00349.html">task</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00275.html#84d939049fa8c3205aec91ced0980e03">try_put_task</a> (const T &t)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">receive an item, return a task *if possible <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c79745aba84a849f0e84a12ce51f80ec"></a><!-- doxytag: member="tbb::flow::interface6::buffer_node::reset" ref="c79745aba84a849f0e84a12ce51f80ec" args="()" -->
-void </td><td class="memItemRight" valign="bottom"><b>reset</b> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2380fb8ae7d2e567a1ca9a032d96b4d3"></a><!-- doxytag: member="tbb::flow::interface6::buffer_node::reset_receiver" ref="2380fb8ae7d2e567a1ca9a032d96b4d3" args="()" -->
-void </td><td class="memItemRight" valign="bottom"><b>reset_receiver</b> ()</td></tr>
-
-<tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="28807215994d4c7d3725fac693b37ec1"></a><!-- doxytag: member="tbb::flow::interface6::buffer_node::my_successors" ref="28807215994d4c7d3725fac693b37ec1" args="" -->
-internal::round_robin_cache<<br>
- T, <a class="el" href="a00317.html">null_rw_mutex</a> > </td><td class="memItemRight" valign="bottom"><b>my_successors</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b569eeae467185c45ea78ee1ab41a215"></a><!-- doxytag: member="tbb::flow::interface6::buffer_node::my_parent" ref="b569eeae467185c45ea78ee1ab41a215" args="" -->
-<a class="el" href="a00349.html">task</a> * </td><td class="memItemRight" valign="bottom"><b>my_parent</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5e90b3f77cbfac9fd5fb4d53456955d4"></a><!-- doxytag: member="tbb::flow::interface6::buffer_node::forwarder_busy" ref="5e90b3f77cbfac9fd5fb4d53456955d4" args="" -->
-bool </td><td class="memItemRight" valign="bottom"><b>forwarder_busy</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4d008669d152fe291079f097da72ec74"></a><!-- doxytag: member="tbb::flow::interface6::buffer_node::my_aggregator" ref="4d008669d152fe291079f097da72ec74" args="" -->
-internal::aggregator< my_handler,<br>
- buffer_operation > </td><td class="memItemRight" valign="bottom"><b>my_aggregator</b></td></tr>
-
-<tr><td colspan="2"><br><h2>Friends</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d217b28a982bca8ba8f50175c3e91621"></a><!-- doxytag: member="tbb::flow::interface6::buffer_node::internal::forward_task_bypass< buffer_node< T, A > >" ref="d217b28a982bca8ba8f50175c3e91621" args="" -->
-class </td><td class="memItemRight" valign="bottom"><b>internal::forward_task_bypass< buffer_node< T, A > ></b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0b5526a5033ff7acc64681cff9ad76b0"></a><!-- doxytag: member="tbb::flow::interface6::buffer_node::internal::aggregating_functor< my_class, buffer_operation >" ref="0b5526a5033ff7acc64681cff9ad76b0" args="" -->
-class </td><td class="memItemRight" valign="bottom"><b>internal::aggregating_functor< my_class, buffer_operation ></b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="621bab40a858d214db69ef08d88b67c1"></a><!-- doxytag: member="tbb::flow::interface6::buffer_node::run_and_put_task" ref="621bab40a858d214db69ef08d88b67c1" args="" -->
-class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00275.html#621bab40a858d214db69ef08d88b67c1">run_and_put_task</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">put item to successor; return task to run the successor if possible. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e4fa30d87bc0bfa80942f97a8d58f1bd"></a><!-- doxytag: member="tbb::flow::interface6::buffer_node::internal::broadcast_cache" ref="e4fa30d87bc0bfa80942f97a8d58f1bd" args="" -->
-class </td><td class="memItemRight" valign="bottom"><b>internal::broadcast_cache</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="31ba00ea3e3e5a421b38840bd0dc2589"></a><!-- doxytag: member="tbb::flow::interface6::buffer_node::internal::round_robin_cache" ref="31ba00ea3e3e5a421b38840bd0dc2589" args="" -->
-class </td><td class="memItemRight" valign="bottom"><b>internal::round_robin_cache</b></td></tr>
-
-<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><b>buffer_operation</b></td></tr>
-
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-<h3>template<typename T, typename A = cache_aligned_allocator<T>><br>
- class tbb::flow::interface6::buffer_node< T, A ></h3>
-
-Forwards messages in arbitrary order. 
-<p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="f8bf4944ede4fc106423d67715beb695"></a><!-- doxytag: member="tbb::flow::interface6::buffer_node::register_successor" ref="f8bf4944ede4fc106423d67715beb695" args="(receiver< output_type > &r)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template<typename T, typename A = cache_aligned_allocator<T>> </div>
-      <table class="memname">
-        <tr>
-          <td class="memname">bool <a class="el" href="a00275.html">tbb::flow::interface6::buffer_node</a>< T, A >::register_successor           </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="a00333.html">receiver</a>< <a class="el" href="a00275.html#089520db81f6a1551dc94c01efbdd7be">output_type</a> > & </td>
-          <td class="paramname"> <em>r</em>          </td>
-          <td> ) </td>
-          <td width="100%"><code> [inline, virtual]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Adds a new successor. 
-<p>
-Adds successor r to the list of successors; may forward tasks. 
-<p>
-Implements <a class="el" href="a00339.html#68b8941ad77b9303cf3bcb8cf1f2d28a">tbb::flow::interface6::sender< T ></a>.
-</div>
-</div><p>
-<a class="anchor" name="2074da0e39b9477c32897d6e5786196f"></a><!-- doxytag: member="tbb::flow::interface6::buffer_node::remove_successor" ref="2074da0e39b9477c32897d6e5786196f" args="(receiver< output_type > &r)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template<typename T, typename A = cache_aligned_allocator<T>> </div>
-      <table class="memname">
-        <tr>
-          <td class="memname">bool <a class="el" href="a00275.html">tbb::flow::interface6::buffer_node</a>< T, A >::remove_successor           </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="a00333.html">receiver</a>< <a class="el" href="a00275.html#089520db81f6a1551dc94c01efbdd7be">output_type</a> > & </td>
-          <td class="paramname"> <em>r</em>          </td>
-          <td> ) </td>
-          <td width="100%"><code> [inline, virtual]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Removes a successor. 
-<p>
-Removes successor r from the list of successors. It also calls r.remove_predecessor(*this) to remove this node as a predecessor. 
-<p>
-Implements <a class="el" href="a00339.html#82f363bfb1738bb8789e167590b10ef9">tbb::flow::interface6::sender< T ></a>.
-</div>
-</div><p>
-<a class="anchor" name="8ef07c434eb763d947a7b4e80c086a49"></a><!-- doxytag: member="tbb::flow::interface6::buffer_node::try_consume" ref="8ef07c434eb763d947a7b4e80c086a49" args="()" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template<typename T, typename A = cache_aligned_allocator<T>> </div>
-      <table class="memname">
-        <tr>
-          <td class="memname">bool <a class="el" href="a00275.html">tbb::flow::interface6::buffer_node</a>< T, A >::try_consume           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td> ) </td>
-          <td width="100%"><code> [inline, virtual]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Consumes a reserved item. 
-<p>
-true = item is removed from sender and reservation removed 
-<p>
-Reimplemented from <a class="el" href="a00339.html#7b840f50da117a0d6848707c1857ea2e">tbb::flow::interface6::sender< T ></a>.
-</div>
-</div><p>
-<a class="anchor" name="aeb8aec46ca99ca022356a792c46735e"></a><!-- doxytag: member="tbb::flow::interface6::buffer_node::try_get" ref="aeb8aec46ca99ca022356a792c46735e" args="(T &v)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template<typename T, typename A = cache_aligned_allocator<T>> </div>
-      <table class="memname">
-        <tr>
-          <td class="memname">bool <a class="el" href="a00275.html">tbb::flow::interface6::buffer_node</a>< T, A >::try_get           </td>
-          <td>(</td>
-          <td class="paramtype">T & </td>
-          <td class="paramname"> <em>v</em>          </td>
-          <td> ) </td>
-          <td width="100%"><code> [inline, virtual]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Request an item from the <a class="el" href="a00275.html">buffer_node</a>. 
-<p>
-true = v contains the returned item<br>
- false = no item has been returned 
-<p>
-Reimplemented from <a class="el" href="a00339.html#922fb56b0aad090b90a98b7d56b76a59">tbb::flow::interface6::sender< T ></a>.
-</div>
-</div><p>
-<a class="anchor" name="2c8e8f2f5f4ff5be27136cc1184a3c3e"></a><!-- doxytag: member="tbb::flow::interface6::buffer_node::try_release" ref="2c8e8f2f5f4ff5be27136cc1184a3c3e" args="()" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template<typename T, typename A = cache_aligned_allocator<T>> </div>
-      <table class="memname">
-        <tr>
-          <td class="memname">bool <a class="el" href="a00275.html">tbb::flow::interface6::buffer_node</a>< T, A >::try_release           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td> ) </td>
-          <td width="100%"><code> [inline, virtual]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Release a reserved item. 
-<p>
-true = item has been released and so remains in sender 
-<p>
-Reimplemented from <a class="el" href="a00339.html#27036b06d6a91e97007e14f400529199">tbb::flow::interface6::sender< T ></a>.
-</div>
-</div><p>
-<a class="anchor" name="1cc889bb6c38bcb81757d0ebbc3a5e64"></a><!-- doxytag: member="tbb::flow::interface6::buffer_node::try_reserve" ref="1cc889bb6c38bcb81757d0ebbc3a5e64" args="(T &v)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template<typename T, typename A = cache_aligned_allocator<T>> </div>
-      <table class="memname">
-        <tr>
-          <td class="memname">bool <a class="el" href="a00275.html">tbb::flow::interface6::buffer_node</a>< T, A >::try_reserve           </td>
-          <td>(</td>
-          <td class="paramtype">T & </td>
-          <td class="paramname"> <em>v</em>          </td>
-          <td> ) </td>
-          <td width="100%"><code> [inline, virtual]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Reserves an item. 
-<p>
-false = no item can be reserved<br>
- true = an item is reserved 
-<p>
-Reimplemented from <a class="el" href="a00339.html#02c05b472271db1b68a48ea2618fa72f">tbb::flow::interface6::sender< T ></a>.
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00107.html">recursive_mutex</a></li>  </ul>
 </div>
-</div><p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li><a class="el" href="a00385.html">flow_graph.h</a></ul>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::recursive_mutex Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="a00107.html">tbb::recursive_mutex</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>is_fair_mutex</b> (defined in <a class="el" href="a00107.html">tbb::recursive_mutex</a>)</td><td class="entry"><a class="el" href="a00107.html">tbb::recursive_mutex</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>is_recursive_mutex</b> (defined in <a class="el" href="a00107.html">tbb::recursive_mutex</a>)</td><td class="entry"><a class="el" href="a00107.html">tbb::recursive_mutex</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>is_rw_mutex</b> (defined in <a class="el" href="a00107.html">tbb::recursive_mutex</a>)</td><td class="entry"><a class="el" href="a00107.html">tbb::recursive_mutex</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00107.html#adea997b45dc4a360f38d14bde9c991f2">lock</a>()</td><td class="entry"><a class="el" href="a00107.html">tbb::recursive_mutex</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>native_handle</b>() (defined in <a class="el" href="a00107.html">tbb::recursive_mutex</a>)</td><td class="entry"><a class="el" href="a00107.html">tbb::recursive_mutex</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00107.html#a3d40334b0e26d5addfde5596e7f9aaec">native_handle_type</a> typedef</td><td class="entry"><a class="el" href="a00107.html">tbb::recursive_mutex</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>native_handle_type</b> typedef (defined in <a class="el" href="a00107.html">tbb::recursive_mutex</a>)</td><td class="entry"><a class="el" href="a00107.html">tbb::recursive_mutex</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="a00107.html#a47eb6e7e7ffa5d35341125792b17236b">recursive_mutex</a>()</td><td class="entry"><a class="el" href="a00107.html">tbb::recursive_mutex</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>scoped_lock</b> (defined in <a class="el" href="a00107.html">tbb::recursive_mutex</a>)</td><td class="entry"><a class="el" href="a00107.html">tbb::recursive_mutex</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00107.html#a8b181d9aaa95444145222cfe206e8094">try_lock</a>()</td><td class="entry"><a class="el" href="a00107.html">tbb::recursive_mutex</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00107.html#af57e8d25e0e7614e98bcfa50bc9416c8">unlock</a>()</td><td class="entry"><a class="el" href="a00107.html">tbb::recursive_mutex</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>~recursive_mutex</b>() (defined in <a class="el" href="a00107.html">tbb::recursive_mutex</a>)</td><td class="entry"><a class="el" href="a00107.html">tbb::recursive_mutex</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+</table></div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00275.png b/doc/html/a00275.png
deleted file mode 100644
index 425350b..0000000
Binary files a/doc/html/a00275.png and /dev/null differ
diff --git a/doc/html/a00276.html b/doc/html/a00276.html
index 4627192..087cb7d 100644
--- a/doc/html/a00276.html
+++ b/doc/html/a00276.html
@@ -1,108 +1,60 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>tbb::cache_aligned_allocator< T > Class Template Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="nav">
-<a class="el" href="a00428.html">tbb</a>::<a class="el" href="a00276.html">cache_aligned_allocator</a></div>
-<h1>tbb::cache_aligned_allocator< T > Class Template Reference<br>
-<small>
-[<a class="el" href="a00443.html">Memory Allocation</a>]</small>
-</h1><!-- doxytag: class="tbb::cache_aligned_allocator" -->Meets "allocator" requirements of ISO C++ Standard, Section 20.1.5.  
-<a href="#_details">More...</a>
-<p>
-<code>#include <cache_aligned_allocator.h></code>
-<p>
-<a href="a00013.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8f7128452e3c43b5bf1801b61d971d17"></a><!-- doxytag: member="tbb::cache_aligned_allocator::value_type" ref="8f7128452e3c43b5bf1801b61d971d17" args="" -->
-typedef internal::allocator_type<<br>
- T >::value_type </td><td class="memItemRight" valign="bottom"><b>value_type</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b23ef1d76c34fe1c2ebbb2f3df5b5676"></a><!-- doxytag: member="tbb::cache_aligned_allocator::pointer" ref="b23ef1d76c34fe1c2ebbb2f3df5b5676" args="" -->
-typedef value_type * </td><td class="memItemRight" valign="bottom"><b>pointer</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d15affd67eafcabbd12bd1cd07372994"></a><!-- doxytag: member="tbb::cache_aligned_allocator::const_pointer" ref="d15affd67eafcabbd12bd1cd07372994" args="" -->
-typedef const value_type * </td><td class="memItemRight" valign="bottom"><b>const_pointer</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e8c4e0d5867a07b1cea21d4fca2998c8"></a><!-- doxytag: member="tbb::cache_aligned_allocator::reference" ref="e8c4e0d5867a07b1cea21d4fca2998c8" args="" -->
-typedef value_type & </td><td class="memItemRight" valign="bottom"><b>reference</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d3d77a39f0852c42f80c6505843f450c"></a><!-- doxytag: member="tbb::cache_aligned_allocator::const_reference" ref="d3d77a39f0852c42f80c6505843f450c" args="" -->
-typedef const value_type & </td><td class="memItemRight" valign="bottom"><b>const_reference</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="90ca6a2979ebee466be771f4c2f9337e"></a><!-- doxytag: member="tbb::cache_aligned_allocator::size_type" ref="90ca6a2979ebee466be771f4c2f9337e" args="" -->
-typedef size_t </td><td class="memItemRight" valign="bottom"><b>size_type</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b73eba293d042333f343d025c26751a4"></a><!-- doxytag: member="tbb::cache_aligned_allocator::difference_type" ref="b73eba293d042333f343d025c26751a4" args="" -->
-typedef ptrdiff_t </td><td class="memItemRight" valign="bottom"><b>difference_type</b></td></tr>
-
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="74ccd00a29171ddd61a4ea88cfa49c32"></a><!-- doxytag: member="tbb::cache_aligned_allocator::cache_aligned_allocator" ref="74ccd00a29171ddd61a4ea88cfa49c32" args="(const cache_aligned_allocator &)" -->
- </td><td class="memItemRight" valign="bottom"><b>cache_aligned_allocator</b> (const <a class="el" href="a00276.html">cache_aligned_allocator</a> &)  throw ()</td></tr>
-
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="de57e731c36a51bf39b458c9b8adee58"></a><!-- doxytag: member="tbb::cache_aligned_allocator::cache_aligned_allocator" ref="de57e731c36a51bf39b458c9b8adee58" args="(const cache_aligned_allocator< U > &)" -->
-template<typename U> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"> </td><td class="memTemplItemRight" valign="bottom"><b>cache_aligned_allocator</b> (const <a class="el" href="a00276.html">cache_aligned_allocator</a>< U > &)  throw ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="023e0cc7cf6ebde69e1f2c12182eb12b"></a><!-- doxytag: member="tbb::cache_aligned_allocator::address" ref="023e0cc7cf6ebde69e1f2c12182eb12b" args="(reference x) const " -->
-pointer </td><td class="memItemRight" valign="bottom"><b>address</b> (reference x) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="db4f7613b1de12d1e79285c15636cf3b"></a><!-- doxytag: member="tbb::cache_aligned_allocator::address" ref="db4f7613b1de12d1e79285c15636cf3b" args="(const_reference x) const " -->
-const_pointer </td><td class="memItemRight" valign="bottom"><b>address</b> (const_reference x) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4cdeea67af6c1fcd8f1d5e9c4cab61e8"></a><!-- doxytag: member="tbb::cache_aligned_allocator::allocate" ref="4cdeea67af6c1fcd8f1d5e9c4cab61e8" args="(size_type n, const void *hint=0)" -->
-pointer </td><td class="memItemRight" valign="bottom"><a class="el" href="a00276.html#4cdeea67af6c1fcd8f1d5e9c4cab61e8">allocate</a> (size_type n, const void *hint=0)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Allocate space for n objects, starting on a cache/sector line. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3d4eadf188f7d85d3805ae534e0b8e1c"></a><!-- doxytag: member="tbb::cache_aligned_allocator::deallocate" ref="3d4eadf188f7d85d3805ae534e0b8e1c" args="(pointer p, size_type)" -->
-void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00276.html#3d4eadf188f7d85d3805ae534e0b8e1c">deallocate</a> (pointer p, size_type)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Free block of memory that starts on a cache line. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="fb23b687b4c0429dab4c7f8017266cf0"></a><!-- doxytag: member="tbb::cache_aligned_allocator::max_size" ref="fb23b687b4c0429dab4c7f8017266cf0" args="() const " -->
-size_type </td><td class="memItemRight" valign="bottom"><a class="el" href="a00276.html#fb23b687b4c0429dab4c7f8017266cf0">max_size</a> () const   throw ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Largest value for which method allocate might succeed. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="273d07524d386efc1366bf37af5f91f4"></a><!-- doxytag: member="tbb::cache_aligned_allocator::construct" ref="273d07524d386efc1366bf37af5f91f4" args="(U *p, Args &&...args)" -->
-template<typename U, typename... Args> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00276.html#273d07524d386efc1366bf37af5f91f4">construct</a> (U *p, Args &&...args)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Copy-construct value at location pointed to by p. <br></td></tr>
-<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><b>rebind</b></td></tr>
-
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-<h3>template<typename T><br>
- class tbb::cache_aligned_allocator< T ></h3>
-
-Meets "allocator" requirements of ISO C++ Standard, Section 20.1.5. 
-<p>
-The members are ordered the same way they are in section 20.4.1 of the ISO C++ standard. 
-<p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li>cache_aligned_allocator.h</ul>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00107.html">recursive_mutex</a></li><li class="navelem"><a class="el" href="a00120.html">scoped_lock</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::recursive_mutex::scoped_lock Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="a00120.html">tbb::recursive_mutex::scoped_lock</a>, including all inherited members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" href="a00120.html#ac5450ce6a5813f395afaa434384c6539">acquire</a>(recursive_mutex &mutex)</td><td class="entry"><a class="el" href="a00120.html">tbb::recursive_mutex::scoped_lock</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>recursive_mutex</b> (defined in <a class="el" href="a00120.html">tbb::recursive_mutex::scoped_lock</a>)</td><td class="entry"><a class="el" href="a00120.html">tbb::recursive_mutex::scoped_lock</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00120.html#a2fe3246ffc26bdb5a58f33ca513b6c0f">release</a>()</td><td class="entry"><a class="el" href="a00120.html">tbb::recursive_mutex::scoped_lock</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00120.html#a0a9962a3932cfbd0d12cb197494f951b">scoped_lock</a>()</td><td class="entry"><a class="el" href="a00120.html">tbb::recursive_mutex::scoped_lock</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00120.html#ab42cb541abb9647cac23b1db9a4db93d">scoped_lock</a>(recursive_mutex &mutex)</td><td class="entry"><a class="el" href="a00120.html">tbb::recursive_mutex::scoped_lock</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00120.html#a160bba506f4033980ddb69ab7a02c4fb">try_acquire</a>(recursive_mutex &mutex)</td><td class="entry"><a class="el" href="a00120.html">tbb::recursive_mutex::scoped_lock</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00120.html#a90a966e19120aac99b36a3d6d04af1a2">~scoped_lock</a>()</td><td class="entry"><a class="el" href="a00120.html">tbb::recursive_mutex::scoped_lock</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+</table></div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00277.html b/doc/html/a00277.html
index e1ac4e8..47fd0ef 100644
--- a/doc/html/a00277.html
+++ b/doc/html/a00277.html
@@ -1,62 +1,71 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>tbb::cache_aligned_allocator< void > Class Template Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="nav">
-<a class="el" href="a00428.html">tbb</a>::<a class="el" href="a00277.html">cache_aligned_allocator< void ></a></div>
-<h1>tbb::cache_aligned_allocator< void > Class Template Reference<br>
-<small>
-[<a class="el" href="a00443.html">Memory Allocation</a>]</small>
-</h1><!-- doxytag: class="tbb::cache_aligned_allocator< void >" -->Analogous to std::allocator<void>, as defined in ISO C++ Standard, Section 20.4.1.  
-<a href="#_details">More...</a>
-<p>
-<code>#include <cache_aligned_allocator.h></code>
-<p>
-<a href="a00015.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ce89776145998f0685a767b4f195272d"></a><!-- doxytag: member="tbb::cache_aligned_allocator< void >::pointer" ref="ce89776145998f0685a767b4f195272d" args="" -->
-typedef void * </td><td class="memItemRight" valign="bottom"><b>pointer</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4431fbbe1a8cfeb19c48ad0072078f45"></a><!-- doxytag: member="tbb::cache_aligned_allocator< void >::const_pointer" ref="4431fbbe1a8cfeb19c48ad0072078f45" args="" -->
-typedef const void * </td><td class="memItemRight" valign="bottom"><b>const_pointer</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2ab296f4ecdd75f8e193ff92004a697d"></a><!-- doxytag: member="tbb::cache_aligned_allocator< void >::value_type" ref="2ab296f4ecdd75f8e193ff92004a697d" args="" -->
-typedef void </td><td class="memItemRight" valign="bottom"><b>value_type</b></td></tr>
-
-<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><b>rebind</b></td></tr>
-
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-<h3>template<><br>
- class tbb::cache_aligned_allocator< void ></h3>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00111.html">scalable_allocator</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::scalable_allocator< T > Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
 
-Analogous to std::allocator<void>, as defined in ISO C++ Standard, Section 20.4.1. 
-<p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li>cache_aligned_allocator.h</ul>
+<p>This is the complete list of members for <a class="el" href="a00111.html">tbb::scalable_allocator< T ></a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>address</b>(reference x) const  (defined in <a class="el" href="a00111.html">tbb::scalable_allocator< T ></a>)</td><td class="entry"><a class="el" href="a00111.html">tbb::scalable_allocator< T ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>address</b>(const_reference x) const  (defined in <a class="el" href="a00111.html">tbb::scalable_allocator< T ></a>)</td><td class="entry"><a class="el" href="a00111.html">tbb::scalable_allocator< T ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00111.html#acf24945c12dc0586dfb1f8638daf7838">allocate</a>(size_type n, const void *=0)</td><td class="entry"><a class="el" href="a00111.html">tbb::scalable_allocator< T ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>const_pointer</b> typedef (defined in <a class="el" href="a00111.html">tbb::scalable_allocator< T ></a>)</td><td class="entry"><a class="el" href="a00111.html">tbb::scalable_allocator< T ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>const_reference</b> typedef (defined in <a class="el" href="a00111.html">tbb::scalable_allocator< T ></a>)</td><td class="entry"><a class="el" href="a00111.html">tbb::scalable_allocator< T ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>construct</b> (defined in <a class="el" href="a00111.html">tbb::scalable_allocator< T ></a>)</td><td class="entry"><a class="el" href="a00111.html">tbb::scalable_allocator< T ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>construct</b>(U *p, Args &&...args) (defined in <a class="el" href="a00111.html">tbb::scalable_allocator< T ></a>)</td><td class="entry"><a class="el" href="a00111.html">tbb::scalable_allocator< T ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00111.html#a0632b19f25e5d5f86f18b3101925f488">deallocate</a>(pointer p, size_type)</td><td class="entry"><a class="el" href="a00111.html">tbb::scalable_allocator< T ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>destroy</b>(pointer p) (defined in <a class="el" href="a00111.html">tbb::scalable_allocator< T ></a>)</td><td class="entry"><a class="el" href="a00111.html">tbb::scalable_allocator< T ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>difference_type</b> typedef (defined in <a class="el" href="a00111.html">tbb::scalable_allocator< T ></a>)</td><td class="entry"><a class="el" href="a00111.html">tbb::scalable_allocator< T ></a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00111.html#afaa85d739b466699cf669116fd10d175">max_size</a>() const </td><td class="entry"><a class="el" href="a00111.html">tbb::scalable_allocator< T ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>pointer</b> typedef (defined in <a class="el" href="a00111.html">tbb::scalable_allocator< T ></a>)</td><td class="entry"><a class="el" href="a00111.html">tbb::scalable_allocator< T ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>reference</b> typedef (defined in <a class="el" href="a00111.html">tbb::scalable_allocator< T ></a>)</td><td class="entry"><a class="el" href="a00111.html">tbb::scalable_allocator< T ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>scalable_allocator</b>() (defined in <a class="el" href="a00111.html">tbb::scalable_allocator< T ></a>)</td><td class="entry"><a class="el" href="a00111.html">tbb::scalable_allocator< T ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>scalable_allocator</b>(const scalable_allocator &) (defined in <a class="el" href="a00111.html">tbb::scalable_allocator< T ></a>)</td><td class="entry"><a class="el" href="a00111.html">tbb::scalable_allocator< T ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>scalable_allocator</b>(const scalable_allocator< U > &) (defined in <a class="el" href="a00111.html">tbb::scalable_allocator< T ></a>)</td><td class="entry"><a class="el" href="a00111.html">tbb::scalable_allocator< T ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>size_type</b> typedef (defined in <a class="el" href="a00111.html">tbb::scalable_allocator< T ></a>)</td><td class="entry"><a class="el" href="a00111.html">tbb::scalable_allocator< T ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>value_type</b> typedef (defined in <a class="el" href="a00111.html">tbb::scalable_allocator< T ></a>)</td><td class="entry"><a class="el" href="a00111.html">tbb::scalable_allocator< T ></a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00278.html b/doc/html/a00278.html
index 3632677..a6f97e6 100644
--- a/doc/html/a00278.html
+++ b/doc/html/a00278.html
@@ -1,154 +1,54 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>tbb::captured_exception Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="nav">
-<a class="el" href="a00428.html">tbb</a>::<a class="el" href="a00278.html">captured_exception</a></div>
-<h1>tbb::captured_exception Class Reference</h1><!-- doxytag: class="tbb::captured_exception" --><!-- doxytag: inherits="tbb::tbb_exception" -->This class is used by TBB to propagate information about unhandled exceptions into the root thread.  
-<a href="#_details">More...</a>
-<p>
-<code>#include <tbb_exception.h></code>
-<p>
-<p>Inheritance diagram for tbb::captured_exception:
-<p><center><img src="a00278.png" usemap="#tbb::captured_exception_map" border="0" alt=""></center>
-<map name="tbb::captured_exception_map">
-<area href="a00358.html" alt="tbb::tbb_exception" shape="rect" coords="0,0,146,24">
-</map>
-<a href="a00162.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b50d9716bcdd281df574ec758a3952f9"></a><!-- doxytag: member="tbb::captured_exception::captured_exception" ref="b50d9716bcdd281df574ec758a3952f9" args="(const captured_exception &src)" -->
- </td><td class="memItemRight" valign="bottom"><b>captured_exception</b> (const <a class="el" href="a00278.html">captured_exception</a> &src)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="179076f146699724f652a9b1e81bd791"></a><!-- doxytag: member="tbb::captured_exception::captured_exception" ref="179076f146699724f652a9b1e81bd791" args="(const char *name_, const char *info)" -->
- </td><td class="memItemRight" valign="bottom"><b>captured_exception</b> (const char *name_, const char *info)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e95b8eb99ec9dea22934ac528a08654c"></a><!-- doxytag: member="tbb::captured_exception::operator=" ref="e95b8eb99ec9dea22934ac528a08654c" args="(const captured_exception &src)" -->
-<a class="el" href="a00278.html">captured_exception</a> & </td><td class="memItemRight" valign="bottom"><b>operator=</b> (const <a class="el" href="a00278.html">captured_exception</a> &src)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00278.html">captured_exception</a> *__TBB_EXPORTED_METHOD </td><td class="memItemRight" valign="bottom"><a class="el" href="a00278.html#837a50b8f6a800bda225c39d1699643f">move</a> ()  throw ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Creates and returns pointer to the deep copy of this exception object.  <a href="#837a50b8f6a800bda225c39d1699643f"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void __TBB_EXPORTED_METHOD </td><td class="memItemRight" valign="bottom"><a class="el" href="a00278.html#93d875d3555502ff6f18513525de204c">destroy</a> ()  throw ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Destroys objects created by the <a class="el" href="a00278.html#837a50b8f6a800bda225c39d1699643f">move()</a> method.  <a href="#93d875d3555502ff6f18513525de204c"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00278.html#2dd1be66ab32fa27e0ddef5707fa67ef">throw_self</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Throws this exception object.  <a href="#2dd1be66ab32fa27e0ddef5707fa67ef"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5af82fd677449c5ca727fa1d7e16f9f5"></a><!-- doxytag: member="tbb::captured_exception::name" ref="5af82fd677449c5ca727fa1d7e16f9f5" args="() const " -->
-const char *__TBB_EXPORTED_METHOD </td><td class="memItemRight" valign="bottom"><a class="el" href="a00278.html#5af82fd677449c5ca727fa1d7e16f9f5">name</a> () const   throw ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns RTTI name of the originally intercepted exception. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6b5988ef74a1fe2a58998d110b3633e0"></a><!-- doxytag: member="tbb::captured_exception::what" ref="6b5988ef74a1fe2a58998d110b3633e0" args="() const " -->
-const char *__TBB_EXPORTED_METHOD </td><td class="memItemRight" valign="bottom"><a class="el" href="a00278.html#6b5988ef74a1fe2a58998d110b3633e0">what</a> () const   throw ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the result of originally intercepted exception's <a class="el" href="a00278.html#6b5988ef74a1fe2a58998d110b3633e0">what()</a> method. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="92ed4100413eef26969f8299f6845e18"></a><!-- doxytag: member="tbb::captured_exception::set" ref="92ed4100413eef26969f8299f6845e18" args="(const char *name, const char *info)" -->
-void __TBB_EXPORTED_METHOD </td><td class="memItemRight" valign="bottom"><b>set</b> (const char *name, const char *info)  throw ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d5f56d05102acdba6c2f09ba6db3baeb"></a><!-- doxytag: member="tbb::captured_exception::clear" ref="d5f56d05102acdba6c2f09ba6db3baeb" args="()" -->
-void __TBB_EXPORTED_METHOD </td><td class="memItemRight" valign="bottom"><b>clear</b> ()  throw ()</td></tr>
-
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-This class is used by TBB to propagate information about unhandled exceptions into the root thread. 
-<p>
-Exception of this type is thrown by TBB in the root thread (thread that started a parallel algorithm ) if an unhandled exception was intercepted during the algorithm execution in one of the workers. <dl compact><dt><b>See also:</b></dt><dd><a class="el" href="a00358.html">tbb::tbb_exception</a> </dd></dl>
-
-<p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="93d875d3555502ff6f18513525de204c"></a><!-- doxytag: member="tbb::captured_exception::destroy" ref="93d875d3555502ff6f18513525de204c" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void __TBB_EXPORTED_METHOD tbb::captured_exception::destroy           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td> ) </td>
-          <td width="100%">  throw ()<code> [virtual]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Destroys objects created by the <a class="el" href="a00278.html#837a50b8f6a800bda225c39d1699643f">move()</a> method. 
-<p>
-Frees memory and calls destructor for this exception object. Can and must be used only on objects created by the move method. 
-<p>
-Implements <a class="el" href="a00358.html#66c94938eca8bf88b76f3eccaaf215d8">tbb::tbb_exception</a>.
-</div>
-</div><p>
-<a class="anchor" name="837a50b8f6a800bda225c39d1699643f"></a><!-- doxytag: member="tbb::captured_exception::move" ref="837a50b8f6a800bda225c39d1699643f" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00278.html">captured_exception</a>* __TBB_EXPORTED_METHOD tbb::captured_exception::move           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td> ) </td>
-          <td width="100%">  throw ()<code> [virtual]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Creates and returns pointer to the deep copy of this exception object. 
-<p>
-Move semantics is allowed. 
-<p>
-Implements <a class="el" href="a00358.html#3e3482bf264d4ca4dde046cd9c02c766">tbb::tbb_exception</a>.
-</div>
-</div><p>
-<a class="anchor" name="2dd1be66ab32fa27e0ddef5707fa67ef"></a><!-- doxytag: member="tbb::captured_exception::throw_self" ref="2dd1be66ab32fa27e0ddef5707fa67ef" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void tbb::captured_exception::throw_self           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td> ) </td>
-          <td width="100%"><code> [inline, virtual]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Throws this exception object. 
-<p>
-Make sure that if you have several levels of derivation from this interface you implement or override this method on the most derived level. The implementation is as simple as "throw *this;". Failure to do this will result in exception of a base class type being thrown. 
-<p>
-Implements <a class="el" href="a00358.html#8588e07fa49692f4d734e4f2e4f048f4">tbb::tbb_exception</a>.
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00111.html">scalable_allocator</a></li><li class="navelem"><a class="el" href="a00105.html">rebind</a></li>  </ul>
 </div>
-</div><p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li>tbb_exception.h</ul>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::scalable_allocator< T >::rebind< U > Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="a00105.html">tbb::scalable_allocator< T >::rebind< U ></a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>other</b> typedef (defined in <a class="el" href="a00105.html">tbb::scalable_allocator< T >::rebind< U ></a>)</td><td class="entry"><a class="el" href="a00105.html">tbb::scalable_allocator< T >::rebind< U ></a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00278.png b/doc/html/a00278.png
deleted file mode 100644
index 2470bea..0000000
Binary files a/doc/html/a00278.png and /dev/null differ
diff --git a/doc/html/a00279.html b/doc/html/a00279.html
index dd3942d..ad6b317 100644
--- a/doc/html/a00279.html
+++ b/doc/html/a00279.html
@@ -1,81 +1,56 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>tbb::combinable< T > Class Template Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="nav">
-<a class="el" href="a00428.html">tbb</a>::<a class="el" href="a00279.html">combinable</a></div>
-<h1>tbb::combinable< T > Class Template Reference<br>
-<small>
-[<a class="el" href="a00442.html">Containers</a>]</small>
-</h1><!-- doxytag: class="tbb::combinable" -->Thread-local storage with optional reduction.  
-<a href="#_details">More...</a>
-<p>
-<code>#include <combinable.h></code>
-<p>
-<a href="a00017.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="d03619e90e62555aa5634fcc8adadcc9"></a><!-- doxytag: member="tbb::combinable::combinable" ref="d03619e90e62555aa5634fcc8adadcc9" args="(finit _finit)" -->
-template<typename finit> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"> </td><td class="memTemplItemRight" valign="bottom"><b>combinable</b> (finit _finit)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2c87e79ae98588a5780f708773388843"></a><!-- doxytag: member="tbb::combinable::~combinable" ref="2c87e79ae98588a5780f708773388843" args="()" -->
- </td><td class="memItemRight" valign="bottom"><a class="el" href="a00279.html#2c87e79ae98588a5780f708773388843">~combinable</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">destructor <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="57012803b7bc7416452cb930121ff210"></a><!-- doxytag: member="tbb::combinable::combinable" ref="57012803b7bc7416452cb930121ff210" args="(const combinable &other)" -->
- </td><td class="memItemRight" valign="bottom"><b>combinable</b> (const <a class="el" href="a00279.html">combinable</a> &other)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c9650d59f65b1042afa232ede57dfca9"></a><!-- doxytag: member="tbb::combinable::operator=" ref="c9650d59f65b1042afa232ede57dfca9" args="(const combinable &other)" -->
-<a class="el" href="a00279.html">combinable</a> & </td><td class="memItemRight" valign="bottom"><b>operator=</b> (const <a class="el" href="a00279.html">combinable</a> &other)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f09233cccb9b5e8a58874e43a703cac2"></a><!-- doxytag: member="tbb::combinable::clear" ref="f09233cccb9b5e8a58874e43a703cac2" args="()" -->
-void </td><td class="memItemRight" valign="bottom"><b>clear</b> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2d7550204bcb88fa8810b5a39e9cad24"></a><!-- doxytag: member="tbb::combinable::local" ref="2d7550204bcb88fa8810b5a39e9cad24" args="()" -->
-T & </td><td class="memItemRight" valign="bottom"><b>local</b> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="93a42052881ecccdd8ddff16a1b1cca1"></a><!-- doxytag: member="tbb::combinable::local" ref="93a42052881ecccdd8ddff16a1b1cca1" args="(bool &exists)" -->
-T & </td><td class="memItemRight" valign="bottom"><b>local</b> (bool &exists)</td></tr>
-
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="9be306b4a073066dcac4043dc189c514"></a><!-- doxytag: member="tbb::combinable::combine" ref="9be306b4a073066dcac4043dc189c514" args="(combine_func_t f_combine)" -->
-template<typename combine_func_t> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">T </td><td class="memTemplItemRight" valign="bottom"><b>combine</b> (combine_func_t f_combine)</td></tr>
-
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="dcd23283834149c87c345c0e476dfee8"></a><!-- doxytag: member="tbb::combinable::combine_each" ref="dcd23283834149c87c345c0e476dfee8" args="(combine_func_t f_combine)" -->
-template<typename combine_func_t> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><b>combine_each</b> (combine_func_t f_combine)</td></tr>
-
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-<h3>template<typename T><br>
- class tbb::combinable< T ></h3>
-
-Thread-local storage with optional reduction. 
-<p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li>combinable.h</ul>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00112.html">scalable_allocator< void ></a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::scalable_allocator< void > Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="a00112.html">tbb::scalable_allocator< void ></a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>const_pointer</b> typedef (defined in <a class="el" href="a00112.html">tbb::scalable_allocator< void ></a>)</td><td class="entry"><a class="el" href="a00112.html">tbb::scalable_allocator< void ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>pointer</b> typedef (defined in <a class="el" href="a00112.html">tbb::scalable_allocator< void ></a>)</td><td class="entry"><a class="el" href="a00112.html">tbb::scalable_allocator< void ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>value_type</b> typedef (defined in <a class="el" href="a00112.html">tbb::scalable_allocator< void ></a>)</td><td class="entry"><a class="el" href="a00112.html">tbb::scalable_allocator< void ></a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00280.html b/doc/html/a00280.html
index 7f774cc..ebabc30 100644
--- a/doc/html/a00280.html
+++ b/doc/html/a00280.html
@@ -1,307 +1,54 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>tbb::concurrent_bounded_queue< T, A > Class Template Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="nav">
-<a class="el" href="a00428.html">tbb</a>::<a class="el" href="a00280.html">concurrent_bounded_queue</a></div>
-<h1>tbb::concurrent_bounded_queue< T, A > Class Template Reference<br>
-<small>
-[<a class="el" href="a00442.html">Containers</a>]</small>
-</h1><!-- doxytag: class="tbb::concurrent_bounded_queue" -->A high-performance thread-safe blocking concurrent bounded queue.  
-<a href="#_details">More...</a>
-<p>
-<code>#include <concurrent_queue.h></code>
-<p>
-<p>Inheritance diagram for tbb::concurrent_bounded_queue< T, A >:
-<p><center><img src="a00280.png" usemap="#tbb::concurrent_bounded_queue< T, A >_map" border="0" alt=""></center>
-<map name="tbb::concurrent_bounded_queue< T, A >_map">
-<area href="a00287.html" alt="tbb::deprecated::concurrent_queue< T, A >" shape="rect" coords="0,56,257,80">
-</map>
-<a href="a00036.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="98245517a931e5893f6601e66c51fc75"></a><!-- doxytag: member="tbb::concurrent_bounded_queue::value_type" ref="98245517a931e5893f6601e66c51fc75" args="" -->
-typedef T </td><td class="memItemRight" valign="bottom"><a class="el" href="a00280.html#98245517a931e5893f6601e66c51fc75">value_type</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Element type in the queue. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2e2726fccf6d975dc1071608cc0bbf90"></a><!-- doxytag: member="tbb::concurrent_bounded_queue::allocator_type" ref="2e2726fccf6d975dc1071608cc0bbf90" args="" -->
-typedef A </td><td class="memItemRight" valign="bottom"><a class="el" href="a00280.html#2e2726fccf6d975dc1071608cc0bbf90">allocator_type</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Allocator type. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="dcd44ca6a88c0dc7a847a47a10811f0c"></a><!-- doxytag: member="tbb::concurrent_bounded_queue::reference" ref="dcd44ca6a88c0dc7a847a47a10811f0c" args="" -->
-typedef T & </td><td class="memItemRight" valign="bottom"><a class="el" href="a00280.html#dcd44ca6a88c0dc7a847a47a10811f0c">reference</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Reference type. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="796713d0b9ba93a4721cbe13e4474068"></a><!-- doxytag: member="tbb::concurrent_bounded_queue::const_reference" ref="796713d0b9ba93a4721cbe13e4474068" args="" -->
-typedef const T & </td><td class="memItemRight" valign="bottom"><a class="el" href="a00280.html#796713d0b9ba93a4721cbe13e4474068">const_reference</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Const reference type. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef std::ptrdiff_t </td><td class="memItemRight" valign="bottom"><a class="el" href="a00280.html#a80e4c11dbb324e4b92a24a77bbcde68">size_type</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Integral type for representing size of the queue.  <a href="#a80e4c11dbb324e4b92a24a77bbcde68"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4b45c91297e69515d83d5eef85ae1f49"></a><!-- doxytag: member="tbb::concurrent_bounded_queue::difference_type" ref="4b45c91297e69515d83d5eef85ae1f49" args="" -->
-typedef std::ptrdiff_t </td><td class="memItemRight" valign="bottom"><a class="el" href="a00280.html#4b45c91297e69515d83d5eef85ae1f49">difference_type</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Difference type for iterator. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="aeea2ad38b7e7fc2866f063dfed24c52"></a><!-- doxytag: member="tbb::concurrent_bounded_queue::iterator" ref="aeea2ad38b7e7fc2866f063dfed24c52" args="" -->
-typedef internal::concurrent_queue_iterator<<br>
- <a class="el" href="a00280.html">concurrent_bounded_queue</a>,<br>
- T > </td><td class="memItemRight" valign="bottom"><b>iterator</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0edd1a90e6ffa503bac1c4027116dbff"></a><!-- doxytag: member="tbb::concurrent_bounded_queue::const_iterator" ref="0edd1a90e6ffa503bac1c4027116dbff" args="" -->
-typedef internal::concurrent_queue_iterator<<br>
- <a class="el" href="a00280.html">concurrent_bounded_queue</a>,<br>
- const T > </td><td class="memItemRight" valign="bottom"><b>const_iterator</b></td></tr>
-
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e3525226732963ff0f13e89d8e6dab5b"></a><!-- doxytag: member="tbb::concurrent_bounded_queue::concurrent_bounded_queue" ref="e3525226732963ff0f13e89d8e6dab5b" args="(const allocator_type &a=allocator_type())" -->
- </td><td class="memItemRight" valign="bottom"><a class="el" href="a00280.html#e3525226732963ff0f13e89d8e6dab5b">concurrent_bounded_queue</a> (const <a class="el" href="a00280.html#2e2726fccf6d975dc1071608cc0bbf90">allocator_type</a> &a=<a class="el" href="a00280.html#2e2726fccf6d975dc1071608cc0bbf90">allocator_type</a>())</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Construct empty queue. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7b7fb414d2eaa8a7f5d68fc4cd63ac50"></a><!-- doxytag: member="tbb::concurrent_bounded_queue::concurrent_bounded_queue" ref="7b7fb414d2eaa8a7f5d68fc4cd63ac50" args="(const concurrent_bounded_queue &src, const allocator_type &a=allocator_type())" -->
- </td><td class="memItemRight" valign="bottom"><a class="el" href="a00280.html#7b7fb414d2eaa8a7f5d68fc4cd63ac50">concurrent_bounded_queue</a> (const <a class="el" href="a00280.html">concurrent_bounded_queue</a> &src, const <a class="el" href="a00280.html#2e2726fccf6d975dc1071608cc0bbf90">allocator_type</a> &a=<a class="el" href="a00280.html#2e2726fccf6d975dc1071608cc0bbf90">allocator_type</a>())</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Copy constructor. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="a5e04dcd7db9fd9b583b4e7df832246a"></a><!-- doxytag: member="tbb::concurrent_bounded_queue::concurrent_bounded_queue" ref="a5e04dcd7db9fd9b583b4e7df832246a" args="(InputIterator begin, InputIterator end, const allocator_type &a=allocator_type())" -->
-template<typename InputIterator> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00280.html#a5e04dcd7db9fd9b583b4e7df832246a">concurrent_bounded_queue</a> (InputIterator begin, InputIterator end, const <a class="el" href="a00280.html#2e2726fccf6d975dc1071608cc0bbf90">allocator_type</a> &a=<a class="el" href="a00280.html#2e2726fccf6d975dc1071608cc0bbf90">allocator_type</a>())</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">[begin,end) constructor <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="acaf5b510dc0dfc7780b8c956cf773cf"></a><!-- doxytag: member="tbb::concurrent_bounded_queue::~concurrent_bounded_queue" ref="acaf5b510dc0dfc7780b8c956cf773cf" args="()" -->
- </td><td class="memItemRight" valign="bottom"><a class="el" href="a00280.html#acaf5b510dc0dfc7780b8c956cf773cf">~concurrent_bounded_queue</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Destroy queue. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ceb08c743b11ba88c878e73fff8af20b"></a><!-- doxytag: member="tbb::concurrent_bounded_queue::push" ref="ceb08c743b11ba88c878e73fff8af20b" args="(const T &source)" -->
-void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00280.html#ceb08c743b11ba88c878e73fff8af20b">push</a> (const T &source)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Enqueue an item at tail of queue. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00280.html#41f4c6bd7a82ab070e840bbf81b0b123">pop</a> (T &destination)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Dequeue item from head of queue.  <a href="#41f4c6bd7a82ab070e840bbf81b0b123"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="86c77a6c1317239405968f5afc7b10d3"></a><!-- doxytag: member="tbb::concurrent_bounded_queue::abort" ref="86c77a6c1317239405968f5afc7b10d3" args="()" -->
-void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00280.html#86c77a6c1317239405968f5afc7b10d3">abort</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Abort all pending queue operations. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00280.html#2bd6232531279fb3ccbd296bea23066b">try_push</a> (const T &source)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Enqueue an item at tail of queue if queue is not already full.  <a href="#2bd6232531279fb3ccbd296bea23066b"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00280.html#0ca487019bbb00a196442aff78a1e4f7">try_pop</a> (T &destination)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Attempt to dequeue an item from head of queue.  <a href="#0ca487019bbb00a196442aff78a1e4f7"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00280.html#a80e4c11dbb324e4b92a24a77bbcde68">size_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00280.html#7dc14d1a579a4cccda9f857585e1768d">size</a> () const </td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Return number of pushes minus number of pops.  <a href="#7dc14d1a579a4cccda9f857585e1768d"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f64924f2ee9225c368a270fc3c394db9"></a><!-- doxytag: member="tbb::concurrent_bounded_queue::empty" ref="f64924f2ee9225c368a270fc3c394db9" args="() const " -->
-bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00280.html#f64924f2ee9225c368a270fc3c394db9">empty</a> () const </td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Equivalent to <a class="el" href="a00280.html#7dc14d1a579a4cccda9f857585e1768d">size()</a><=0. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b2888b3e4e837d7e03f2c731963a402b"></a><!-- doxytag: member="tbb::concurrent_bounded_queue::capacity" ref="b2888b3e4e837d7e03f2c731963a402b" args="() const " -->
-<a class="el" href="a00280.html#a80e4c11dbb324e4b92a24a77bbcde68">size_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00280.html#b2888b3e4e837d7e03f2c731963a402b">capacity</a> () const </td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Maximum number of allowed elements. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00280.html#f3c6c934f85fd02aedbc83a16943193b">set_capacity</a> (<a class="el" href="a00280.html#a80e4c11dbb324e4b92a24a77bbcde68">size_type</a> new_capacity)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Set the capacity.  <a href="#f3c6c934f85fd02aedbc83a16943193b"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="415eb87e53b1c6a266de06ecbc490d16"></a><!-- doxytag: member="tbb::concurrent_bounded_queue::get_allocator" ref="415eb87e53b1c6a266de06ecbc490d16" args="() const " -->
-<a class="el" href="a00280.html#2e2726fccf6d975dc1071608cc0bbf90">allocator_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00280.html#415eb87e53b1c6a266de06ecbc490d16">get_allocator</a> () const </td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">return allocator object <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="90b31e2954c6e4596c7900435a5f4bc1"></a><!-- doxytag: member="tbb::concurrent_bounded_queue::clear" ref="90b31e2954c6e4596c7900435a5f4bc1" args="()" -->
-void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00280.html#90b31e2954c6e4596c7900435a5f4bc1">clear</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">clear the queue. not thread-safe. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5a2637188e104503ac2c0dff633014e8"></a><!-- doxytag: member="tbb::concurrent_bounded_queue::unsafe_begin" ref="5a2637188e104503ac2c0dff633014e8" args="()" -->
-iterator </td><td class="memItemRight" valign="bottom"><b>unsafe_begin</b> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c7267334ef11087c76c810abb9d5cbc2"></a><!-- doxytag: member="tbb::concurrent_bounded_queue::unsafe_end" ref="c7267334ef11087c76c810abb9d5cbc2" args="()" -->
-iterator </td><td class="memItemRight" valign="bottom"><b>unsafe_end</b> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8be757841d0bbf7744508aaf6a141d08"></a><!-- doxytag: member="tbb::concurrent_bounded_queue::unsafe_begin" ref="8be757841d0bbf7744508aaf6a141d08" args="() const " -->
-const_iterator </td><td class="memItemRight" valign="bottom"><b>unsafe_begin</b> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3aac91d288bf227d9d06717b44ef28f7"></a><!-- doxytag: member="tbb::concurrent_bounded_queue::unsafe_end" ref="3aac91d288bf227d9d06717b44ef28f7" args="() const " -->
-const_iterator </td><td class="memItemRight" valign="bottom"><b>unsafe_end</b> () const </td></tr>
-
-<tr><td colspan="2"><br><h2>Friends</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="05bffad9626d51abbd4bb82ae2a1cceb"></a><!-- doxytag: member="tbb::concurrent_bounded_queue::internal::concurrent_queue_iterator" ref="05bffad9626d51abbd4bb82ae2a1cceb" args="" -->
-class </td><td class="memItemRight" valign="bottom"><b>internal::concurrent_queue_iterator</b></td></tr>
-
-<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><b>destroyer</b></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Class used to ensure exception-safety of method "pop". <br></td></tr>
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-<h3>template<typename T, class A = cache_aligned_allocator<T>><br>
- class tbb::concurrent_bounded_queue< T, A ></h3>
-
-A high-performance thread-safe blocking concurrent bounded queue. 
-<p>
-This is the pre-PPL TBB concurrent queue which supports boundedness and blocking semantics. Note that method names agree with the PPL-style concurrent queue. Multiple threads may each push and pop concurrently. Assignment construction is not allowed. 
-<p>
-<hr><h2>Member Typedef Documentation</h2>
-<a class="anchor" name="a80e4c11dbb324e4b92a24a77bbcde68"></a><!-- doxytag: member="tbb::concurrent_bounded_queue::size_type" ref="a80e4c11dbb324e4b92a24a77bbcde68" args="" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template<typename T, class A = cache_aligned_allocator<T>> </div>
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef std::ptrdiff_t <a class="el" href="a00280.html">tbb::concurrent_bounded_queue</a>< T, A >::<a class="el" href="a00280.html#a80e4c11dbb324e4b92a24a77bbcde68">size_type</a>          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Integral type for representing size of the queue. 
-<p>
-Note that the size_type is a signed integral type. This is because the size can be negative if there are pending pops without corresponding pushes. 
-</div>
-</div><p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="41f4c6bd7a82ab070e840bbf81b0b123"></a><!-- doxytag: member="tbb::concurrent_bounded_queue::pop" ref="41f4c6bd7a82ab070e840bbf81b0b123" args="(T &destination)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template<typename T, class A = cache_aligned_allocator<T>> </div>
-      <table class="memname">
-        <tr>
-          <td class="memname">void <a class="el" href="a00280.html">tbb::concurrent_bounded_queue</a>< T, A >::pop           </td>
-          <td>(</td>
-          <td class="paramtype">T & </td>
-          <td class="paramname"> <em>destination</em>          </td>
-          <td> ) </td>
-          <td width="100%"><code> [inline]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Dequeue item from head of queue. 
-<p>
-Block until an item becomes available, and then dequeue it. 
-</div>
-</div><p>
-<a class="anchor" name="f3c6c934f85fd02aedbc83a16943193b"></a><!-- doxytag: member="tbb::concurrent_bounded_queue::set_capacity" ref="f3c6c934f85fd02aedbc83a16943193b" args="(size_type new_capacity)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template<typename T, class A = cache_aligned_allocator<T>> </div>
-      <table class="memname">
-        <tr>
-          <td class="memname">void <a class="el" href="a00280.html">tbb::concurrent_bounded_queue</a>< T, A >::set_capacity           </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="a00280.html#a80e4c11dbb324e4b92a24a77bbcde68">size_type</a> </td>
-          <td class="paramname"> <em>new_capacity</em>          </td>
-          <td> ) </td>
-          <td width="100%"><code> [inline]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Set the capacity. 
-<p>
-Setting the capacity to 0 causes subsequent try_push operations to always fail, and subsequent push operations to block forever. 
-</div>
-</div><p>
-<a class="anchor" name="7dc14d1a579a4cccda9f857585e1768d"></a><!-- doxytag: member="tbb::concurrent_bounded_queue::size" ref="7dc14d1a579a4cccda9f857585e1768d" args="() const " -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template<typename T, class A = cache_aligned_allocator<T>> </div>
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00280.html#a80e4c11dbb324e4b92a24a77bbcde68">size_type</a> <a class="el" href="a00280.html">tbb::concurrent_bounded_queue</a>< T, A >::size           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td> ) </td>
-          <td width="100%"> const<code> [inline]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Return number of pushes minus number of pops. 
-<p>
-Note that the result can be negative if there are pops waiting for the corresponding pushes. The result can also exceed <a class="el" href="a00280.html#b2888b3e4e837d7e03f2c731963a402b">capacity()</a> if there are push operations in flight. 
-</div>
-</div><p>
-<a class="anchor" name="0ca487019bbb00a196442aff78a1e4f7"></a><!-- doxytag: member="tbb::concurrent_bounded_queue::try_pop" ref="0ca487019bbb00a196442aff78a1e4f7" args="(T &destination)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template<typename T, class A = cache_aligned_allocator<T>> </div>
-      <table class="memname">
-        <tr>
-          <td class="memname">bool <a class="el" href="a00280.html">tbb::concurrent_bounded_queue</a>< T, A >::try_pop           </td>
-          <td>(</td>
-          <td class="paramtype">T & </td>
-          <td class="paramname"> <em>destination</em>          </td>
-          <td> ) </td>
-          <td width="100%"><code> [inline]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Attempt to dequeue an item from head of queue. 
-<p>
-Does not wait for item to become available. Returns true if successful; false otherwise. 
-</div>
-</div><p>
-<a class="anchor" name="2bd6232531279fb3ccbd296bea23066b"></a><!-- doxytag: member="tbb::concurrent_bounded_queue::try_push" ref="2bd6232531279fb3ccbd296bea23066b" args="(const T &source)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template<typename T, class A = cache_aligned_allocator<T>> </div>
-      <table class="memname">
-        <tr>
-          <td class="memname">bool <a class="el" href="a00280.html">tbb::concurrent_bounded_queue</a>< T, A >::try_push           </td>
-          <td>(</td>
-          <td class="paramtype">const T & </td>
-          <td class="paramname"> <em>source</em>          </td>
-          <td> ) </td>
-          <td width="100%"><code> [inline]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Enqueue an item at tail of queue if queue is not already full. 
-<p>
-Does not wait for queue to become not full. Returns true if item is pushed; false if queue was already full. 
-</div>
-</div><p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li>concurrent_queue.h</ul>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00112.html">scalable_allocator< void ></a></li><li class="navelem"><a class="el" href="a00097.html">rebind</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::scalable_allocator< void >::rebind< U > Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="a00097.html">tbb::scalable_allocator< void >::rebind< U ></a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>other</b> typedef (defined in <a class="el" href="a00097.html">tbb::scalable_allocator< void >::rebind< U ></a>)</td><td class="entry"><a class="el" href="a00097.html">tbb::scalable_allocator< void >::rebind< U ></a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00280.png b/doc/html/a00280.png
deleted file mode 100644
index e9d90a2..0000000
Binary files a/doc/html/a00280.png and /dev/null differ
diff --git a/doc/html/a00281.html b/doc/html/a00281.html
index 66ba2d2..17bad58 100644
--- a/doc/html/a00281.html
+++ b/doc/html/a00281.html
@@ -1,651 +1,62 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator > Class Template Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="nav">
-<a class="el" href="a00428.html">tbb</a>::<b>interface5</b>::<a class="el" href="a00281.html">concurrent_hash_map</a></div>
-<h1>tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator > Class Template Reference<br>
-<small>
-[<a class="el" href="a00442.html">Containers</a>]</small>
-</h1><!-- doxytag: class="tbb::interface5::concurrent_hash_map" -->Unordered map from Key to T.  
-<a href="#_details">More...</a>
-<p>
-<code>#include <concurrent_hash_map.h></code>
-<p>
-<a href="a00019.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e664e41a5b735a677f2ebbbcca0fcd80"></a><!-- doxytag: member="tbb::interface5::concurrent_hash_map::key_type" ref="e664e41a5b735a677f2ebbbcca0fcd80" args="" -->
-typedef Key </td><td class="memItemRight" valign="bottom"><b>key_type</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="616243d5a0b6159299f2a34413e077e4"></a><!-- doxytag: member="tbb::interface5::concurrent_hash_map::mapped_type" ref="616243d5a0b6159299f2a34413e077e4" args="" -->
-typedef T </td><td class="memItemRight" valign="bottom"><b>mapped_type</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ece048b19778bc31377185392ecf312b"></a><!-- doxytag: member="tbb::interface5::concurrent_hash_map::value_type" ref="ece048b19778bc31377185392ecf312b" args="" -->
-typedef std::pair< const Key,<br>
- T > </td><td class="memItemRight" valign="bottom"><b>value_type</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="549109620a3331c83e46b8fe0636b883"></a><!-- doxytag: member="tbb::interface5::concurrent_hash_map::size_type" ref="549109620a3331c83e46b8fe0636b883" args="" -->
-typedef hash_map_base::size_type </td><td class="memItemRight" valign="bottom"><b>size_type</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0a4ffc8ac85bb2eb80a4e1909a373e2c"></a><!-- doxytag: member="tbb::interface5::concurrent_hash_map::difference_type" ref="0a4ffc8ac85bb2eb80a4e1909a373e2c" args="" -->
-typedef ptrdiff_t </td><td class="memItemRight" valign="bottom"><b>difference_type</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="341d2ae1e5e9d8ba05e5306a3933f31a"></a><!-- doxytag: member="tbb::interface5::concurrent_hash_map::pointer" ref="341d2ae1e5e9d8ba05e5306a3933f31a" args="" -->
-typedef value_type * </td><td class="memItemRight" valign="bottom"><b>pointer</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4b401731d22f457617f950416fde9bff"></a><!-- doxytag: member="tbb::interface5::concurrent_hash_map::const_pointer" ref="4b401731d22f457617f950416fde9bff" args="" -->
-typedef const value_type * </td><td class="memItemRight" valign="bottom"><b>const_pointer</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2765bbab7bac8b74cfd79d269a2008b8"></a><!-- doxytag: member="tbb::interface5::concurrent_hash_map::reference" ref="2765bbab7bac8b74cfd79d269a2008b8" args="" -->
-typedef value_type & </td><td class="memItemRight" valign="bottom"><b>reference</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a3b62b1930b2b88c98cb617f67bb9545"></a><!-- doxytag: member="tbb::interface5::concurrent_hash_map::const_reference" ref="a3b62b1930b2b88c98cb617f67bb9545" args="" -->
-typedef const value_type & </td><td class="memItemRight" valign="bottom"><b>const_reference</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="83603b64f2507ee6560133d79a001eb2"></a><!-- doxytag: member="tbb::interface5::concurrent_hash_map::iterator" ref="83603b64f2507ee6560133d79a001eb2" args="" -->
-typedef internal::hash_map_iterator<<br>
- <a class="el" href="a00281.html">concurrent_hash_map</a>, value_type > </td><td class="memItemRight" valign="bottom"><b>iterator</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d47cbc7e0b0999b849187040f02557f5"></a><!-- doxytag: member="tbb::interface5::concurrent_hash_map::const_iterator" ref="d47cbc7e0b0999b849187040f02557f5" args="" -->
-typedef internal::hash_map_iterator<<br>
- <a class="el" href="a00281.html">concurrent_hash_map</a>, const <br>
-value_type > </td><td class="memItemRight" valign="bottom"><b>const_iterator</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="baeed4327d9c77f084bfb5ac8d519c96"></a><!-- doxytag: member="tbb::interface5::concurrent_hash_map::range_type" ref="baeed4327d9c77f084bfb5ac8d519c96" args="" -->
-typedef internal::hash_map_range<<br>
- iterator > </td><td class="memItemRight" valign="bottom"><b>range_type</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1e7700e8872566a5dc6d1c702b7949f4"></a><!-- doxytag: member="tbb::interface5::concurrent_hash_map::const_range_type" ref="1e7700e8872566a5dc6d1c702b7949f4" args="" -->
-typedef internal::hash_map_range<<br>
- const_iterator > </td><td class="memItemRight" valign="bottom"><b>const_range_type</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="bf2a3ebce78da6d8be3b1803eb31a2e3"></a><!-- doxytag: member="tbb::interface5::concurrent_hash_map::allocator_type" ref="bf2a3ebce78da6d8be3b1803eb31a2e3" args="" -->
-typedef Allocator </td><td class="memItemRight" valign="bottom"><b>allocator_type</b></td></tr>
-
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1ad413f5b666176e7669bf4c87d1ff3f"></a><!-- doxytag: member="tbb::interface5::concurrent_hash_map::concurrent_hash_map" ref="1ad413f5b666176e7669bf4c87d1ff3f" args="(const allocator_type &a=allocator_type())" -->
- </td><td class="memItemRight" valign="bottom"><a class="el" href="a00281.html#1ad413f5b666176e7669bf4c87d1ff3f">concurrent_hash_map</a> (const allocator_type &a=allocator_type())</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Construct empty table. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="46b9896317662c3cfa3c876ad7592a7c"></a><!-- doxytag: member="tbb::interface5::concurrent_hash_map::concurrent_hash_map" ref="46b9896317662c3cfa3c876ad7592a7c" args="(size_type n, const allocator_type &a=allocator_type())" -->
- </td><td class="memItemRight" valign="bottom"><a class="el" href="a00281.html#46b9896317662c3cfa3c876ad7592a7c">concurrent_hash_map</a> (size_type n, const allocator_type &a=allocator_type())</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Construct empty table with n preallocated buckets. This number serves also as initial concurrency level. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6fb14710893308fb47aaeee55ee30dc3"></a><!-- doxytag: member="tbb::interface5::concurrent_hash_map::concurrent_hash_map" ref="6fb14710893308fb47aaeee55ee30dc3" args="(const concurrent_hash_map &table, const allocator_type &a=allocator_type())" -->
- </td><td class="memItemRight" valign="bottom"><a class="el" href="a00281.html#6fb14710893308fb47aaeee55ee30dc3">concurrent_hash_map</a> (const <a class="el" href="a00281.html">concurrent_hash_map</a> &table, const allocator_type &a=allocator_type())</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Copy constructor. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="83c40f2053f208861b90390e12a36436"></a><!-- doxytag: member="tbb::interface5::concurrent_hash_map::concurrent_hash_map" ref="83c40f2053f208861b90390e12a36436" args="(I first, I last, const allocator_type &a=allocator_type())" -->
-template<typename I> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00281.html#83c40f2053f208861b90390e12a36436">concurrent_hash_map</a> (I first, I last, const allocator_type &a=allocator_type())</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Construction with copying iteration range and given allocator instance. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3bb2e3526ed741f0689c00d6cd022431"></a><!-- doxytag: member="tbb::interface5::concurrent_hash_map::concurrent_hash_map" ref="3bb2e3526ed741f0689c00d6cd022431" args="(const std::initializer_list< value_type > &il, const allocator_type &a=allocator_type())" -->
- </td><td class="memItemRight" valign="bottom"><a class="el" href="a00281.html#3bb2e3526ed741f0689c00d6cd022431">concurrent_hash_map</a> (const std::initializer_list< value_type > &il, const allocator_type &a=allocator_type())</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Construct empty table with n preallocated buckets. This number serves also as initial concurrency level. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="088d1aaccc816884a49e38f7065622c8"></a><!-- doxytag: member="tbb::interface5::concurrent_hash_map::operator=" ref="088d1aaccc816884a49e38f7065622c8" args="(const concurrent_hash_map &table)" -->
-<a class="el" href="a00281.html">concurrent_hash_map</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="a00281.html#088d1aaccc816884a49e38f7065622c8">operator=</a> (const <a class="el" href="a00281.html">concurrent_hash_map</a> &table)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Assignment. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f765500afa7f55480f3991cfbe826b28"></a><!-- doxytag: member="tbb::interface5::concurrent_hash_map::operator=" ref="f765500afa7f55480f3991cfbe826b28" args="(const std::initializer_list< value_type > &il)" -->
-<a class="el" href="a00281.html">concurrent_hash_map</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="a00281.html#f765500afa7f55480f3991cfbe826b28">operator=</a> (const std::initializer_list< value_type > &il)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Assignment. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00281.html#94758113d8993cfe5afdf2d63a728869">rehash</a> (size_type n=0)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Rehashes and optionally resizes the whole table.  <a href="#94758113d8993cfe5afdf2d63a728869"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="220686fe17b197eedf19dd856cd02e36"></a><!-- doxytag: member="tbb::interface5::concurrent_hash_map::clear" ref="220686fe17b197eedf19dd856cd02e36" args="()" -->
-void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00281.html#220686fe17b197eedf19dd856cd02e36">clear</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Clear table. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2aa8e2d28d5af1284cf78d20a9c22731"></a><!-- doxytag: member="tbb::interface5::concurrent_hash_map::~concurrent_hash_map" ref="2aa8e2d28d5af1284cf78d20a9c22731" args="()" -->
- </td><td class="memItemRight" valign="bottom"><a class="el" href="a00281.html#2aa8e2d28d5af1284cf78d20a9c22731">~concurrent_hash_map</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Clear table and destroy it. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ee6b69f390111c92318a85600dd9c559"></a><!-- doxytag: member="tbb::interface5::concurrent_hash_map::range" ref="ee6b69f390111c92318a85600dd9c559" args="(size_type grainsize=1)" -->
-range_type </td><td class="memItemRight" valign="bottom"><b>range</b> (size_type grainsize=1)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d9a834a345415581bd801647945ea96b"></a><!-- doxytag: member="tbb::interface5::concurrent_hash_map::range" ref="d9a834a345415581bd801647945ea96b" args="(size_type grainsize=1) const " -->
-const_range_type </td><td class="memItemRight" valign="bottom"><b>range</b> (size_type grainsize=1) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="35a8c373fc3d52099ae18f0553162491"></a><!-- doxytag: member="tbb::interface5::concurrent_hash_map::begin" ref="35a8c373fc3d52099ae18f0553162491" args="()" -->
-iterator </td><td class="memItemRight" valign="bottom"><b>begin</b> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="67c50bddda53b9a10318f8981e4fc4fa"></a><!-- doxytag: member="tbb::interface5::concurrent_hash_map::end" ref="67c50bddda53b9a10318f8981e4fc4fa" args="()" -->
-iterator </td><td class="memItemRight" valign="bottom"><b>end</b> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c8ad3d9bb833063b3d09164199b8f7de"></a><!-- doxytag: member="tbb::interface5::concurrent_hash_map::begin" ref="c8ad3d9bb833063b3d09164199b8f7de" args="() const " -->
-const_iterator </td><td class="memItemRight" valign="bottom"><b>begin</b> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="75e7c0fb6addae180b6cc483b771fded"></a><!-- doxytag: member="tbb::interface5::concurrent_hash_map::end" ref="75e7c0fb6addae180b6cc483b771fded" args="() const " -->
-const_iterator </td><td class="memItemRight" valign="bottom"><b>end</b> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8262e9ef1208a39e7ea087487fbe8368"></a><!-- doxytag: member="tbb::interface5::concurrent_hash_map::equal_range" ref="8262e9ef1208a39e7ea087487fbe8368" args="(const Key &key)" -->
-std::pair< iterator, iterator > </td><td class="memItemRight" valign="bottom"><b>equal_range</b> (const Key &key)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b94bf1d3724f26299640e8b82787a75c"></a><!-- doxytag: member="tbb::interface5::concurrent_hash_map::equal_range" ref="b94bf1d3724f26299640e8b82787a75c" args="(const Key &key) const " -->
-std::pair< const_iterator,<br>
- const_iterator > </td><td class="memItemRight" valign="bottom"><b>equal_range</b> (const Key &key) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6aa56a8b5a25e61a97fa0b54fe2b5659"></a><!-- doxytag: member="tbb::interface5::concurrent_hash_map::size" ref="6aa56a8b5a25e61a97fa0b54fe2b5659" args="() const " -->
-size_type </td><td class="memItemRight" valign="bottom"><a class="el" href="a00281.html#6aa56a8b5a25e61a97fa0b54fe2b5659">size</a> () const </td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Number of items in table. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="61ff2e5bb44e5469366fd5295e5d0ebe"></a><!-- doxytag: member="tbb::interface5::concurrent_hash_map::empty" ref="61ff2e5bb44e5469366fd5295e5d0ebe" args="() const " -->
-bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00281.html#61ff2e5bb44e5469366fd5295e5d0ebe">empty</a> () const </td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">True if <a class="el" href="a00281.html#6aa56a8b5a25e61a97fa0b54fe2b5659">size()</a>==0. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2bce57fe9b594abe1e6d2568aea8b357"></a><!-- doxytag: member="tbb::interface5::concurrent_hash_map::max_size" ref="2bce57fe9b594abe1e6d2568aea8b357" args="() const " -->
-size_type </td><td class="memItemRight" valign="bottom"><a class="el" href="a00281.html#2bce57fe9b594abe1e6d2568aea8b357">max_size</a> () const </td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Upper bound on size. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="af34cb91b1d0f36a885a1a3432dd9af1"></a><!-- doxytag: member="tbb::interface5::concurrent_hash_map::bucket_count" ref="af34cb91b1d0f36a885a1a3432dd9af1" args="() const " -->
-size_type </td><td class="memItemRight" valign="bottom"><a class="el" href="a00281.html#af34cb91b1d0f36a885a1a3432dd9af1">bucket_count</a> () const </td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the current number of buckets. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6cbcacb4a256a85bf89576c101373ca7"></a><!-- doxytag: member="tbb::interface5::concurrent_hash_map::get_allocator" ref="6cbcacb4a256a85bf89576c101373ca7" args="() const " -->
-allocator_type </td><td class="memItemRight" valign="bottom"><a class="el" href="a00281.html#6cbcacb4a256a85bf89576c101373ca7">get_allocator</a> () const </td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">return allocator object <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="076f8d9e16110aac5f558777aa744eb6"></a><!-- doxytag: member="tbb::interface5::concurrent_hash_map::swap" ref="076f8d9e16110aac5f558777aa744eb6" args="(concurrent_hash_map &table)" -->
-void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00281.html#076f8d9e16110aac5f558777aa744eb6">swap</a> (<a class="el" href="a00281.html">concurrent_hash_map</a> &table)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">swap two instances. Iterators are invalidated <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6968eb6feed2df36be421df0464297af"></a><!-- doxytag: member="tbb::interface5::concurrent_hash_map::count" ref="6968eb6feed2df36be421df0464297af" args="(const Key &key) const " -->
-size_type </td><td class="memItemRight" valign="bottom"><a class="el" href="a00281.html#6968eb6feed2df36be421df0464297af">count</a> (const Key &key) const </td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Return count of items (0 or 1). <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00281.html#2afcc33dade7bb24e008d60c0df38230">find</a> (<a class="el" href="a00284.html">const_accessor</a> &result, const Key &key) const </td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Find item and acquire a read lock on the item.  <a href="#2afcc33dade7bb24e008d60c0df38230"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00281.html#7bc475d1968f7f0af3d736d7e8a0d7df">find</a> (<a class="el" href="a00282.html">accessor</a> &result, const Key &key)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Find item and acquire a write lock on the item.  <a href="#7bc475d1968f7f0af3d736d7e8a0d7df"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00281.html#47fe0e60151a9bd7a444db827772a4e6">insert</a> (<a class="el" href="a00284.html">const_accessor</a> &result, const Key &key)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Insert item (if not already present) and acquire a read lock on the item.  <a href="#47fe0e60151a9bd7a444db827772a4e6"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00281.html#54e0955ecd11575b4c07166838a72893">insert</a> (<a class="el" href="a00282.html">accessor</a> &result, const Key &key)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Insert item (if not already present) and acquire a write lock on the item.  <a href="#54e0955ecd11575b4c07166838a72893"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00281.html#091efd2d12fdad4fe9e54d9629a9dfc3">insert</a> (<a class="el" href="a00284.html">const_accessor</a> &result, const value_type &value)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Insert item by copying if there is no such key present already and acquire a read lock on the item.  <a href="#091efd2d12fdad4fe9e54d9629a9dfc3"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00281.html#39183d78d6e8425917555ab542ab92de">insert</a> (<a class="el" href="a00282.html">accessor</a> &result, const value_type &value)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Insert item by copying if there is no such key present already and acquire a write lock on the item.  <a href="#39183d78d6e8425917555ab542ab92de"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00281.html#3f121a316af8135de476a30fae6d7c07">insert</a> (const value_type &value)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Insert item by copying if there is no such key present already.  <a href="#3f121a316af8135de476a30fae6d7c07"></a><br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="1dd37fad87e561151ba1e242ca94bcc1"></a><!-- doxytag: member="tbb::interface5::concurrent_hash_map::insert" ref="1dd37fad87e561151ba1e242ca94bcc1" args="(I first, I last)" -->
-template<typename I> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00281.html#1dd37fad87e561151ba1e242ca94bcc1">insert</a> (I first, I last)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Insert range [first, last). <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00281.html#f27802b3a8d1863c29e743e9c6b4e870">erase</a> (const Key &key)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Erase item.  <a href="#f27802b3a8d1863c29e743e9c6b4e870"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00281.html#e698ef3d70b2d1a29a7a5551784d3653">erase</a> (<a class="el" href="a00284.html">const_accessor</a> &item_accessor)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Erase item by <a class="el" href="a00284.html">const_accessor</a>.  <a href="#e698ef3d70b2d1a29a7a5551784d3653"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00281.html#5f12d150d421420965db07368666a84f">erase</a> (<a class="el" href="a00282.html">accessor</a> &item_accessor)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Erase item by accessor.  <a href="#5f12d150d421420965db07368666a84f"></a><br></td></tr>
-<tr><td colspan="2"><br><h2>Protected Types</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2066e7e0fec7813db8fe9c8b9368c9e5"></a><!-- doxytag: member="tbb::interface5::concurrent_hash_map::node_allocator_type" ref="2066e7e0fec7813db8fe9c8b9368c9e5" args="" -->
-typedef Allocator::template <br>
-rebind< node >::other </td><td class="memItemRight" valign="bottom"><b>node_allocator_type</b></td></tr>
-
-<tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="559190b7953177b4967a3312f557318f"></a><!-- doxytag: member="tbb::interface5::concurrent_hash_map::delete_node" ref="559190b7953177b4967a3312f557318f" args="(node_base *n)" -->
-void </td><td class="memItemRight" valign="bottom"><b>delete_node</b> (node_base *n)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="32ec82223d843f1c2b95fa37acb7f4bb"></a><!-- doxytag: member="tbb::interface5::concurrent_hash_map::search_bucket" ref="32ec82223d843f1c2b95fa37acb7f4bb" args="(const key_type &key, bucket *b) const " -->
-node * </td><td class="memItemRight" valign="bottom"><b>search_bucket</b> (const key_type &key, bucket *b) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4962c7da24793ccc05524cc3bbcf1efa"></a><!-- doxytag: member="tbb::interface5::concurrent_hash_map::rehash_bucket" ref="4962c7da24793ccc05524cc3bbcf1efa" args="(bucket *b_new, const hashcode_t h)" -->
-void </td><td class="memItemRight" valign="bottom"><b>rehash_bucket</b> (bucket *b_new, const hashcode_t h)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3f3413264a99174a224ef96f6c4ea769"></a><!-- doxytag: member="tbb::interface5::concurrent_hash_map::lookup" ref="3f3413264a99174a224ef96f6c4ea769" args="(bool op_insert, const Key &key, const T *t, const_accessor *result, bool write)" -->
-bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00281.html#3f3413264a99174a224ef96f6c4ea769">lookup</a> (bool op_insert, const Key &key, const T *t, <a class="el" href="a00284.html">const_accessor</a> *result, bool write)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Insert or find item and optionally acquire a lock on the item. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0c964214eb38f54603aa75fdff6d2709"></a><!-- doxytag: member="tbb::interface5::concurrent_hash_map::exclude" ref="0c964214eb38f54603aa75fdff6d2709" args="(const_accessor &item_accessor)" -->
-bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00281.html#0c964214eb38f54603aa75fdff6d2709">exclude</a> (<a class="el" href="a00284.html">const_accessor</a> &item_accessor)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">delete item by accessor <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="8f5373b8e1864619d1ffcf3bf3f1f13d"></a><!-- doxytag: member="tbb::interface5::concurrent_hash_map::internal_equal_range" ref="8f5373b8e1864619d1ffcf3bf3f1f13d" args="(const Key &key, I end) const " -->
-template<typename I> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">std::pair< I, I > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00281.html#8f5373b8e1864619d1ffcf3bf3f1f13d">internal_equal_range</a> (const Key &key, I end) const </td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns an iterator for an item defined by the key, or for the next item after it (if upper==true). <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="72c9c9e9655fcf096f5f0ed9c8ba6669"></a><!-- doxytag: member="tbb::interface5::concurrent_hash_map::internal_copy" ref="72c9c9e9655fcf096f5f0ed9c8ba6669" args="(const concurrent_hash_map &source)" -->
-void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00281.html#72c9c9e9655fcf096f5f0ed9c8ba6669">internal_copy</a> (const <a class="el" href="a00281.html">concurrent_hash_map</a> &source)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Copy "source" to *this, where *this must start out empty. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="1ec1fe8dfa2d7894bf0589bfdbcb1f96"></a><!-- doxytag: member="tbb::interface5::concurrent_hash_map::internal_copy" ref="1ec1fe8dfa2d7894bf0589bfdbcb1f96" args="(I first, I last)" -->
-template<typename I> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><b>internal_copy</b> (I first, I last)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const_pointer </td><td class="memItemRight" valign="bottom"><a class="el" href="a00281.html#2f76ed101a0ccc8875b846c2f747897e">internal_fast_find</a> (const Key &key) const </td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Fast find when no concurrent erasure is used. For internal use inside TBB only!  <a href="#2f76ed101a0ccc8875b846c2f747897e"></a><br></td></tr>
-<tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a72cb6e9873e5541295682179e5a7f74"></a><!-- doxytag: member="tbb::interface5::concurrent_hash_map::my_allocator" ref="a72cb6e9873e5541295682179e5a7f74" args="" -->
-node_allocator_type </td><td class="memItemRight" valign="bottom"><b>my_allocator</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="53c747a3f2d2d2c85aec866e19c31c29"></a><!-- doxytag: member="tbb::interface5::concurrent_hash_map::my_hash_compare" ref="53c747a3f2d2d2c85aec866e19c31c29" args="" -->
-HashCompare </td><td class="memItemRight" valign="bottom"><b>my_hash_compare</b></td></tr>
-
-<tr><td colspan="2"><br><h2>Friends</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e24acd2f6849db3377a3942807639758"></a><!-- doxytag: member="tbb::interface5::concurrent_hash_map::internal::hash_map_iterator" ref="e24acd2f6849db3377a3942807639758" args="" -->
-class </td><td class="memItemRight" valign="bottom"><b>internal::hash_map_iterator</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c94f21746c8902f7e0b5115a8d4da1d2"></a><!-- doxytag: member="tbb::interface5::concurrent_hash_map::internal::hash_map_range" ref="c94f21746c8902f7e0b5115a8d4da1d2" args="" -->
-class </td><td class="memItemRight" valign="bottom"><b>internal::hash_map_range</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2c0028dfa75a6baa14007355ab1ef7fc"></a><!-- doxytag: member="tbb::interface5::concurrent_hash_map::const_accessor" ref="2c0028dfa75a6baa14007355ab1ef7fc" args="" -->
-class </td><td class="memItemRight" valign="bottom"><b>const_accessor</b></td></tr>
-
-<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00282.html">accessor</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Allows write access to elements and combines data access, locking, and garbage collection.  <a href="a00282.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00283.html">bucket_accessor</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">bucket accessor is to find, rehash, acquire a lock, and access a bucket  <a href="a00283.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00284.html">const_accessor</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Combines data access, locking, and garbage collection.  <a href="a00284.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><b>node</b></td></tr>
-
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-<h3>template<typename Key, typename T, typename HashCompare, typename Allocator><br>
- class tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></h3>
-
-Unordered map from Key to T. 
-<p>
-<a class="el" href="a00281.html">concurrent_hash_map</a> is associative container with concurrent access.<p>
-<dl compact><dt><b>Compatibility</b></dt><dd>The class meets all Container Requirements from C++ Standard (See ISO/IEC 14882:2003(E), clause 23.1).</dd></dl>
-<dl compact><dt><b>Exception Safety</b></dt><dd><ul>
-<li>Hash function is not permitted to throw an exception. User-defined types Key and T are forbidden from throwing an exception in destructors.</li><li>If exception happens during <a class="el" href="a00281.html#47fe0e60151a9bd7a444db827772a4e6">insert()</a> operations, it has no effect (unless exception raised by HashCompare::hash() function during grow_segment).</li><li>If exception happens during <a class="el" href="a00281.html#088d1aaccc816884a49e38f7065622c8">operator=()</a> operati [...]
-</dd></dl>
-<dl compact><dt><b>Changes since TBB 2.1</b></dt><dd><ul>
-<li>Replaced internal algorithm and data structure. Patent is pending.</li><li>Added buckets number argument for constructor</li></ul>
-</dd></dl>
-<dl compact><dt><b>Changes since TBB 2.0</b></dt><dd><ul>
-<li>Fixed exception-safety</li><li>Added template argument for allocator</li><li>Added allocator argument in constructors</li><li>Added constructor from a range of iterators</li><li>Added several new overloaded <a class="el" href="a00281.html#47fe0e60151a9bd7a444db827772a4e6">insert()</a> methods</li><li>Added <a class="el" href="a00281.html#6cbcacb4a256a85bf89576c101373ca7">get_allocator()</a></li><li>Added <a class="el" href="a00281.html#076f8d9e16110aac5f558777aa744eb6">swap()</a></li [...]
-</dd></dl>
-
-<p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="5f12d150d421420965db07368666a84f"></a><!-- doxytag: member="tbb::interface5::concurrent_hash_map::erase" ref="5f12d150d421420965db07368666a84f" args="(accessor &item_accessor)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template<typename Key, typename T, typename HashCompare, typename Allocator> </div>
-      <table class="memname">
-        <tr>
-          <td class="memname">bool <a class="el" href="a00281.html">tbb::interface5::concurrent_hash_map</a>< Key, T, HashCompare, Allocator >::erase           </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="a00282.html">accessor</a> & </td>
-          <td class="paramname"> <em>item_accessor</em>          </td>
-          <td> ) </td>
-          <td width="100%"><code> [inline]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Erase item by accessor. 
-<p>
-Return true if item was erased by particularly this call. 
-</div>
-</div><p>
-<a class="anchor" name="e698ef3d70b2d1a29a7a5551784d3653"></a><!-- doxytag: member="tbb::interface5::concurrent_hash_map::erase" ref="e698ef3d70b2d1a29a7a5551784d3653" args="(const_accessor &item_accessor)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template<typename Key, typename T, typename HashCompare, typename Allocator> </div>
-      <table class="memname">
-        <tr>
-          <td class="memname">bool <a class="el" href="a00281.html">tbb::interface5::concurrent_hash_map</a>< Key, T, HashCompare, Allocator >::erase           </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="a00284.html">const_accessor</a> & </td>
-          <td class="paramname"> <em>item_accessor</em>          </td>
-          <td> ) </td>
-          <td width="100%"><code> [inline]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Erase item by <a class="el" href="a00284.html">const_accessor</a>. 
-<p>
-Return true if item was erased by particularly this call. 
-</div>
-</div><p>
-<a class="anchor" name="f27802b3a8d1863c29e743e9c6b4e870"></a><!-- doxytag: member="tbb::interface5::concurrent_hash_map::erase" ref="f27802b3a8d1863c29e743e9c6b4e870" args="(const Key &key)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template<typename Key, typename T, typename HashCompare, typename A> </div>
-      <table class="memname">
-        <tr>
-          <td class="memname">bool <a class="el" href="a00281.html">tbb::interface5::concurrent_hash_map</a>< Key, T, HashCompare, A >::erase           </td>
-          <td>(</td>
-          <td class="paramtype">const Key & </td>
-          <td class="paramname"> <em>key</em>          </td>
-          <td> ) </td>
-          <td width="100%"></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Erase item. 
-<p>
-Return true if item was erased by particularly this call. 
-</div>
-</div><p>
-<a class="anchor" name="7bc475d1968f7f0af3d736d7e8a0d7df"></a><!-- doxytag: member="tbb::interface5::concurrent_hash_map::find" ref="7bc475d1968f7f0af3d736d7e8a0d7df" args="(accessor &result, const Key &key)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template<typename Key, typename T, typename HashCompare, typename Allocator> </div>
-      <table class="memname">
-        <tr>
-          <td class="memname">bool <a class="el" href="a00281.html">tbb::interface5::concurrent_hash_map</a>< Key, T, HashCompare, Allocator >::find           </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="a00282.html">accessor</a> & </td>
-          <td class="paramname"> <em>result</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const Key & </td>
-          <td class="paramname"> <em>key</em></td><td> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td width="100%"><code> [inline]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Find item and acquire a write lock on the item. 
-<p>
-Return true if item is found, false otherwise. 
-</div>
-</div><p>
-<a class="anchor" name="2afcc33dade7bb24e008d60c0df38230"></a><!-- doxytag: member="tbb::interface5::concurrent_hash_map::find" ref="2afcc33dade7bb24e008d60c0df38230" args="(const_accessor &result, const Key &key) const " -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template<typename Key, typename T, typename HashCompare, typename Allocator> </div>
-      <table class="memname">
-        <tr>
-          <td class="memname">bool <a class="el" href="a00281.html">tbb::interface5::concurrent_hash_map</a>< Key, T, HashCompare, Allocator >::find           </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="a00284.html">const_accessor</a> & </td>
-          <td class="paramname"> <em>result</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const Key & </td>
-          <td class="paramname"> <em>key</em></td><td> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td width="100%"> const<code> [inline]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Find item and acquire a read lock on the item. 
-<p>
-Return true if item is found, false otherwise. 
-</div>
-</div><p>
-<a class="anchor" name="3f121a316af8135de476a30fae6d7c07"></a><!-- doxytag: member="tbb::interface5::concurrent_hash_map::insert" ref="3f121a316af8135de476a30fae6d7c07" args="(const value_type &value)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template<typename Key, typename T, typename HashCompare, typename Allocator> </div>
-      <table class="memname">
-        <tr>
-          <td class="memname">bool <a class="el" href="a00281.html">tbb::interface5::concurrent_hash_map</a>< Key, T, HashCompare, Allocator >::insert           </td>
-          <td>(</td>
-          <td class="paramtype">const value_type & </td>
-          <td class="paramname"> <em>value</em>          </td>
-          <td> ) </td>
-          <td width="100%"><code> [inline]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Insert item by copying if there is no such key present already. 
-<p>
-Returns true if item is inserted. 
-</div>
-</div><p>
-<a class="anchor" name="39183d78d6e8425917555ab542ab92de"></a><!-- doxytag: member="tbb::interface5::concurrent_hash_map::insert" ref="39183d78d6e8425917555ab542ab92de" args="(accessor &result, const value_type &value)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template<typename Key, typename T, typename HashCompare, typename Allocator> </div>
-      <table class="memname">
-        <tr>
-          <td class="memname">bool <a class="el" href="a00281.html">tbb::interface5::concurrent_hash_map</a>< Key, T, HashCompare, Allocator >::insert           </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="a00282.html">accessor</a> & </td>
-          <td class="paramname"> <em>result</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const value_type & </td>
-          <td class="paramname"> <em>value</em></td><td> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td width="100%"><code> [inline]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Insert item by copying if there is no such key present already and acquire a write lock on the item. 
-<p>
-Returns true if item is new. 
-</div>
-</div><p>
-<a class="anchor" name="091efd2d12fdad4fe9e54d9629a9dfc3"></a><!-- doxytag: member="tbb::interface5::concurrent_hash_map::insert" ref="091efd2d12fdad4fe9e54d9629a9dfc3" args="(const_accessor &result, const value_type &value)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template<typename Key, typename T, typename HashCompare, typename Allocator> </div>
-      <table class="memname">
-        <tr>
-          <td class="memname">bool <a class="el" href="a00281.html">tbb::interface5::concurrent_hash_map</a>< Key, T, HashCompare, Allocator >::insert           </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="a00284.html">const_accessor</a> & </td>
-          <td class="paramname"> <em>result</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const value_type & </td>
-          <td class="paramname"> <em>value</em></td><td> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td width="100%"><code> [inline]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Insert item by copying if there is no such key present already and acquire a read lock on the item. 
-<p>
-Returns true if item is new. 
-</div>
-</div><p>
-<a class="anchor" name="54e0955ecd11575b4c07166838a72893"></a><!-- doxytag: member="tbb::interface5::concurrent_hash_map::insert" ref="54e0955ecd11575b4c07166838a72893" args="(accessor &result, const Key &key)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template<typename Key, typename T, typename HashCompare, typename Allocator> </div>
-      <table class="memname">
-        <tr>
-          <td class="memname">bool <a class="el" href="a00281.html">tbb::interface5::concurrent_hash_map</a>< Key, T, HashCompare, Allocator >::insert           </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="a00282.html">accessor</a> & </td>
-          <td class="paramname"> <em>result</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const Key & </td>
-          <td class="paramname"> <em>key</em></td><td> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td width="100%"><code> [inline]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Insert item (if not already present) and acquire a write lock on the item. 
-<p>
-Returns true if item is new. 
-</div>
-</div><p>
-<a class="anchor" name="47fe0e60151a9bd7a444db827772a4e6"></a><!-- doxytag: member="tbb::interface5::concurrent_hash_map::insert" ref="47fe0e60151a9bd7a444db827772a4e6" args="(const_accessor &result, const Key &key)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template<typename Key, typename T, typename HashCompare, typename Allocator> </div>
-      <table class="memname">
-        <tr>
-          <td class="memname">bool <a class="el" href="a00281.html">tbb::interface5::concurrent_hash_map</a>< Key, T, HashCompare, Allocator >::insert           </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="a00284.html">const_accessor</a> & </td>
-          <td class="paramname"> <em>result</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const Key & </td>
-          <td class="paramname"> <em>key</em></td><td> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td width="100%"><code> [inline]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Insert item (if not already present) and acquire a read lock on the item. 
-<p>
-Returns true if item is new. 
-</div>
-</div><p>
-<a class="anchor" name="2f76ed101a0ccc8875b846c2f747897e"></a><!-- doxytag: member="tbb::interface5::concurrent_hash_map::internal_fast_find" ref="2f76ed101a0ccc8875b846c2f747897e" args="(const Key &key) const " -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template<typename Key, typename T, typename HashCompare, typename Allocator> </div>
-      <table class="memname">
-        <tr>
-          <td class="memname">const_pointer <a class="el" href="a00281.html">tbb::interface5::concurrent_hash_map</a>< Key, T, HashCompare, Allocator >::internal_fast_find           </td>
-          <td>(</td>
-          <td class="paramtype">const Key & </td>
-          <td class="paramname"> <em>key</em>          </td>
-          <td> ) </td>
-          <td width="100%"> const<code> [inline, protected]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Fast find when no concurrent erasure is used. For internal use inside TBB only! 
-<p>
-Return pointer to item with given key, or NULL if no such item exists. Must not be called concurrently with erasure operations. 
-</div>
-</div><p>
-<a class="anchor" name="94758113d8993cfe5afdf2d63a728869"></a><!-- doxytag: member="tbb::interface5::concurrent_hash_map::rehash" ref="94758113d8993cfe5afdf2d63a728869" args="(size_type n=0)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template<typename Key, typename T, typename HashCompare, typename A> </div>
-      <table class="memname">
-        <tr>
-          <td class="memname">void <a class="el" href="a00281.html">tbb::interface5::concurrent_hash_map</a>< Key, T, HashCompare, A >::rehash           </td>
-          <td>(</td>
-          <td class="paramtype">size_type </td>
-          <td class="paramname"> <em>n</em> = <code>0</code>          </td>
-          <td> ) </td>
-          <td width="100%"></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Rehashes and optionally resizes the whole table. 
-<p>
-Useful to optimize performance before or after concurrent operations. Also enables using of <a class="el" href="a00281.html#2afcc33dade7bb24e008d60c0df38230">find()</a> and <a class="el" href="a00281.html#6968eb6feed2df36be421df0464297af">count()</a> concurrent methods in serial context. 
-</div>
-</div><p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li>concurrent_hash_map.h</ul>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00127.html">spin_mutex</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::spin_mutex Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="a00127.html">tbb::spin_mutex</a>, including all inherited members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" href="a00127.html#a4ec484f4df6ec5595ec821ef20bd6cd7">internal_construct</a>()</td><td class="entry"><a class="el" href="a00127.html">tbb::spin_mutex</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>is_fair_mutex</b> (defined in <a class="el" href="a00127.html">tbb::spin_mutex</a>)</td><td class="entry"><a class="el" href="a00127.html">tbb::spin_mutex</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>is_recursive_mutex</b> (defined in <a class="el" href="a00127.html">tbb::spin_mutex</a>)</td><td class="entry"><a class="el" href="a00127.html">tbb::spin_mutex</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>is_rw_mutex</b> (defined in <a class="el" href="a00127.html">tbb::spin_mutex</a>)</td><td class="entry"><a class="el" href="a00127.html">tbb::spin_mutex</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00127.html#a8957e40b0781192419d01d28e5205ec4">lock</a>()</td><td class="entry"><a class="el" href="a00127.html">tbb::spin_mutex</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>scoped_lock</b> (defined in <a class="el" href="a00127.html">tbb::spin_mutex</a>)</td><td class="entry"><a class="el" href="a00127.html">tbb::spin_mutex</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00127.html#a6c96196965bf7df426311d282ad3c378">spin_mutex</a>()</td><td class="entry"><a class="el" href="a00127.html">tbb::spin_mutex</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00127.html#a003ffb196d22bf22ca22142338b7eeab">try_lock</a>()</td><td class="entry"><a class="el" href="a00127.html">tbb::spin_mutex</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00127.html#adfcf8fe840aa73c08c2cadd570fd48fd">unlock</a>()</td><td class="entry"><a class="el" href="a00127.html">tbb::spin_mutex</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+</table></div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00282.html b/doc/html/a00282.html
index 6efda8d..755e23e 100644
--- a/doc/html/a00282.html
+++ b/doc/html/a00282.html
@@ -1,65 +1,60 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator >::accessor Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="nav">
-<a class="el" href="a00428.html">tbb</a>::<b>interface5</b>::<a class="el" href="a00281.html">concurrent_hash_map</a>::<a class="el" href="a00282.html">accessor</a></div>
-<h1>tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator >::accessor Class Reference</h1><!-- doxytag: class="tbb::interface5::concurrent_hash_map::accessor" --><!-- doxytag: inherits="tbb::interface5::concurrent_hash_map::const_accessor" -->Allows write access to elements and combines data access, locking, and garbage collection.  
-<a href="#_details">More...</a>
-<p>
-<code>#include <concurrent_hash_map.h></code>
-<p>
-<p>Inheritance diagram for tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator >::accessor:
-<p><center><img src="a00282.png" usemap="#tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator >::accessor_map" border="0" alt=""></center>
-<map name="tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator >::accessor_map">
-<area href="a00284.html" alt="tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator >::const_accessor" shape="rect" coords="0,0,530,24">
-</map>
-<a href="a00023.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0b648be7a95a8fb2971042c15eb112c1"></a><!-- doxytag: member="tbb::interface5::concurrent_hash_map::accessor::value_type" ref="0b648be7a95a8fb2971042c15eb112c1" args="" -->
-typedef concurrent_hash_map::value_type </td><td class="memItemRight" valign="bottom"><a class="el" href="a00282.html#0b648be7a95a8fb2971042c15eb112c1">value_type</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Type of value. <br></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="170280ea807a22e742095de3e8c5ea38"></a><!-- doxytag: member="tbb::interface5::concurrent_hash_map::accessor::operator *" ref="170280ea807a22e742095de3e8c5ea38" args="() const " -->
-reference </td><td class="memItemRight" valign="bottom"><a class="el" href="a00282.html#170280ea807a22e742095de3e8c5ea38">operator *</a> () const </td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Return reference to associated value in hash table. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a807920cdffe3ec5c5e282b4d1ff92a2"></a><!-- doxytag: member="tbb::interface5::concurrent_hash_map::accessor::operator->" ref="a807920cdffe3ec5c5e282b4d1ff92a2" args="() const " -->
-pointer </td><td class="memItemRight" valign="bottom"><a class="el" href="a00282.html#a807920cdffe3ec5c5e282b4d1ff92a2">operator-></a> () const </td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Return pointer to associated value in hash table. <br></td></tr>
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-<h3>template<typename Key, typename T, typename HashCompare, typename Allocator><br>
- class tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator >::accessor</h3>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00127.html">spin_mutex</a></li><li class="navelem"><a class="el" href="a00113.html">scoped_lock</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::spin_mutex::scoped_lock Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
 
-Allows write access to elements and combines data access, locking, and garbage collection. 
-<p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li>concurrent_hash_map.h</ul>
+<p>This is the complete list of members for <a class="el" href="a00113.html">tbb::spin_mutex::scoped_lock</a>, including all inherited members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" href="a00113.html#a7c702117f08ae82d034a98b3d5510ffc">acquire</a>(spin_mutex &m)</td><td class="entry"><a class="el" href="a00113.html">tbb::spin_mutex::scoped_lock</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00113.html#a7e801b0c28fd8395fec400b96acc5c34">release</a>()</td><td class="entry"><a class="el" href="a00113.html">tbb::spin_mutex::scoped_lock</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00113.html#a4287be975cf2448c95f068b065c45107">scoped_lock</a>()</td><td class="entry"><a class="el" href="a00113.html">tbb::spin_mutex::scoped_lock</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00113.html#a73f7381a9a112b9f5a856b1face525fb">scoped_lock</a>(spin_mutex &m)</td><td class="entry"><a class="el" href="a00113.html">tbb::spin_mutex::scoped_lock</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>spin_mutex</b> (defined in <a class="el" href="a00113.html">tbb::spin_mutex::scoped_lock</a>)</td><td class="entry"><a class="el" href="a00113.html">tbb::spin_mutex::scoped_lock</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00113.html#a76acbd67c74906f6ea33a1de6fd443ce">try_acquire</a>(spin_mutex &m)</td><td class="entry"><a class="el" href="a00113.html">tbb::spin_mutex::scoped_lock</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00113.html#a9940d6e494466d9c53846ed347d79d83">~scoped_lock</a>()</td><td class="entry"><a class="el" href="a00113.html">tbb::spin_mutex::scoped_lock</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+</table></div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00282.png b/doc/html/a00282.png
deleted file mode 100644
index 9fd6a57..0000000
Binary files a/doc/html/a00282.png and /dev/null differ
diff --git a/doc/html/a00283.html b/doc/html/a00283.html
index 5d2960e..163b5fa 100644
--- a/doc/html/a00283.html
+++ b/doc/html/a00283.html
@@ -1,62 +1,70 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator >::bucket_accessor Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="nav">
-<a class="el" href="a00428.html">tbb</a>::<b>interface5</b>::<a class="el" href="a00281.html">concurrent_hash_map</a>::<a class="el" href="a00283.html">bucket_accessor</a></div>
-<h1>tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator >::bucket_accessor Class Reference</h1><!-- doxytag: class="tbb::interface5::concurrent_hash_map::bucket_accessor" -->bucket accessor is to find, rehash, acquire a lock, and access a bucket  
-<a href="#_details">More...</a>
-<p>
-<code>#include <concurrent_hash_map.h></code>
-<p>
-<a href="a00021.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b1dcb174ab54b8612b25b6126d18d6c3"></a><!-- doxytag: member="tbb::interface5::concurrent_hash_map::bucket_accessor::bucket_accessor" ref="b1dcb174ab54b8612b25b6126d18d6c3" args="(concurrent_hash_map *base, const hashcode_t h, bool writer=false)" -->
- </td><td class="memItemRight" valign="bottom"><b>bucket_accessor</b> (<a class="el" href="a00281.html">concurrent_hash_map</a> *base, const hashcode_t h, bool writer=false)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d11c77f4d70a94d4fb344492bbf18007"></a><!-- doxytag: member="tbb::interface5::concurrent_hash_map::bucket_accessor::acquire" ref="d11c77f4d70a94d4fb344492bbf18007" args="(concurrent_hash_map *base, const hashcode_t h, bool writer=false)" -->
-void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00283.html#d11c77f4d70a94d4fb344492bbf18007">acquire</a> (<a class="el" href="a00281.html">concurrent_hash_map</a> *base, const hashcode_t h, bool writer=false)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">find a bucket by masked hashcode, optionally rehash, and acquire the lock <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="07d958f151a0eaa92f50fd56ad6440e2"></a><!-- doxytag: member="tbb::interface5::concurrent_hash_map::bucket_accessor::is_writer" ref="07d958f151a0eaa92f50fd56ad6440e2" args="()" -->
-bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00283.html#07d958f151a0eaa92f50fd56ad6440e2">is_writer</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">check whether bucket is locked for write <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="fa6314b861c574f86ed189b124cf5853"></a><!-- doxytag: member="tbb::interface5::concurrent_hash_map::bucket_accessor::operator()" ref="fa6314b861c574f86ed189b124cf5853" args="()" -->
-bucket * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00283.html#fa6314b861c574f86ed189b124cf5853">operator()</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">get bucket pointer <br></td></tr>
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-<h3>template<typename Key, typename T, typename HashCompare, typename Allocator><br>
- class tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator >::bucket_accessor</h3>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00128.html">spin_rw_mutex_v3</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::spin_rw_mutex_v3 Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
 
-bucket accessor is to find, rehash, acquire a lock, and access a bucket 
-<p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li>concurrent_hash_map.h</ul>
+<p>This is the complete list of members for <a class="el" href="a00128.html">tbb::spin_rw_mutex_v3</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>BUSY</b> (defined in <a class="el" href="a00128.html">tbb::spin_rw_mutex_v3</a>)</td><td class="entry"><a class="el" href="a00128.html">tbb::spin_rw_mutex_v3</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">static</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>is_fair_mutex</b> (defined in <a class="el" href="a00128.html">tbb::spin_rw_mutex_v3</a>)</td><td class="entry"><a class="el" href="a00128.html">tbb::spin_rw_mutex_v3</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>is_recursive_mutex</b> (defined in <a class="el" href="a00128.html">tbb::spin_rw_mutex_v3</a>)</td><td class="entry"><a class="el" href="a00128.html">tbb::spin_rw_mutex_v3</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>is_rw_mutex</b> (defined in <a class="el" href="a00128.html">tbb::spin_rw_mutex_v3</a>)</td><td class="entry"><a class="el" href="a00128.html">tbb::spin_rw_mutex_v3</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00128.html#a51e207646300a4c242bb4aaa4e04e9b8">lock</a>()</td><td class="entry"><a class="el" href="a00128.html">tbb::spin_rw_mutex_v3</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00128.html#aa0e3bb644e9021d0f80ee36b03f228e4">lock_read</a>()</td><td class="entry"><a class="el" href="a00128.html">tbb::spin_rw_mutex_v3</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>ONE_READER</b> (defined in <a class="el" href="a00128.html">tbb::spin_rw_mutex_v3</a>)</td><td class="entry"><a class="el" href="a00128.html">tbb::spin_rw_mutex_v3</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">static</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>READERS</b> (defined in <a class="el" href="a00128.html">tbb::spin_rw_mutex_v3</a>)</td><td class="entry"><a class="el" href="a00128.html">tbb::spin_rw_mutex_v3</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">static</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00128.html#ad30fc1ffa0a2b8134e177e02c5821d7f">spin_rw_mutex_v3</a>()</td><td class="entry"><a class="el" href="a00128.html">tbb::spin_rw_mutex_v3</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00128.html#aa28625051072472ccd8a2b19405d6fb3">state</a></td><td class="entry"><a class="el" href="a00128.html">tbb::spin_rw_mutex_v3</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>state_t</b> typedef (defined in <a class="el" href="a00128.html">tbb::spin_rw_mutex_v3</a>)</td><td class="entry"><a class="el" href="a00128.html">tbb::spin_rw_mutex_v3</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00128.html#ab6ec20b1ec43a49c8c2908984e35b5e8">try_lock</a>()</td><td class="entry"><a class="el" href="a00128.html">tbb::spin_rw_mutex_v3</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00128.html#ac932f65b0b66320688e7957ce9c3e2c1">try_lock_read</a>()</td><td class="entry"><a class="el" href="a00128.html">tbb::spin_rw_mutex_v3</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00128.html#ab04321ed2cdf12ac5825c54591028fc0">unlock</a>()</td><td class="entry"><a class="el" href="a00128.html">tbb::spin_rw_mutex_v3</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>WRITER</b> (defined in <a class="el" href="a00128.html">tbb::spin_rw_mutex_v3</a>)</td><td class="entry"><a class="el" href="a00128.html">tbb::spin_rw_mutex_v3</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">static</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>WRITER_PENDING</b> (defined in <a class="el" href="a00128.html">tbb::spin_rw_mutex_v3</a>)</td><td class="entry"><a class="el" href="a00128.html">tbb::spin_rw_mutex_v3</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">static</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00128.html#acc7cf2e4b14d3a2a591a3552d74ba99d">~spin_rw_mutex_v3</a>()</td><td class="entry"><a class="el" href="a00128.html">tbb::spin_rw_mutex_v3</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+</table></div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00284.html b/doc/html/a00284.html
index 46c3b04..88cc311 100644
--- a/doc/html/a00284.html
+++ b/doc/html/a00284.html
@@ -1,99 +1,66 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator >::const_accessor Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="nav">
-<a class="el" href="a00428.html">tbb</a>::<b>interface5</b>::<a class="el" href="a00281.html">concurrent_hash_map</a>::<a class="el" href="a00284.html">const_accessor</a></div>
-<h1>tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator >::const_accessor Class Reference</h1><!-- doxytag: class="tbb::interface5::concurrent_hash_map::const_accessor" -->Combines data access, locking, and garbage collection.  
-<a href="#_details">More...</a>
-<p>
-<code>#include <concurrent_hash_map.h></code>
-<p>
-<p>Inheritance diagram for tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator >::const_accessor:
-<p><center><img src="a00284.png" usemap="#tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator >::const_accessor_map" border="0" alt=""></center>
-<map name="tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator >::const_accessor_map">
-<area href="a00282.html" alt="tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator >::accessor" shape="rect" coords="0,56,530,80">
-</map>
-<a href="a00022.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a8e50238483ba451363dccebd981d346"></a><!-- doxytag: member="tbb::interface5::concurrent_hash_map::const_accessor::value_type" ref="a8e50238483ba451363dccebd981d346" args="" -->
-typedef const concurrent_hash_map::value_type </td><td class="memItemRight" valign="bottom"><a class="el" href="a00284.html#a8e50238483ba451363dccebd981d346">value_type</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Type of value. <br></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="84c3080d0c6124d55c8bb4cf6055e65f"></a><!-- doxytag: member="tbb::interface5::concurrent_hash_map::const_accessor::empty" ref="84c3080d0c6124d55c8bb4cf6055e65f" args="() const " -->
-bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00284.html#84c3080d0c6124d55c8bb4cf6055e65f">empty</a> () const </td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">True if result is empty. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7db006d41b49dc5f1716a913769d4698"></a><!-- doxytag: member="tbb::interface5::concurrent_hash_map::const_accessor::release" ref="7db006d41b49dc5f1716a913769d4698" args="()" -->
-void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00284.html#7db006d41b49dc5f1716a913769d4698">release</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Set to null. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9411df8197ceb4881ec4c7368a0a7f88"></a><!-- doxytag: member="tbb::interface5::concurrent_hash_map::const_accessor::operator *" ref="9411df8197ceb4881ec4c7368a0a7f88" args="() const " -->
-const_reference </td><td class="memItemRight" valign="bottom"><a class="el" href="a00284.html#9411df8197ceb4881ec4c7368a0a7f88">operator *</a> () const </td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Return reference to associated value in hash table. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3d03a48ecb8cd9549bd8be64b09c9b0d"></a><!-- doxytag: member="tbb::interface5::concurrent_hash_map::const_accessor::operator->" ref="3d03a48ecb8cd9549bd8be64b09c9b0d" args="() const " -->
-const_pointer </td><td class="memItemRight" valign="bottom"><a class="el" href="a00284.html#3d03a48ecb8cd9549bd8be64b09c9b0d">operator-></a> () const </td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Return pointer to associated value in hash table. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="27399c613eb1aecd4660803955dda09d"></a><!-- doxytag: member="tbb::interface5::concurrent_hash_map::const_accessor::const_accessor" ref="27399c613eb1aecd4660803955dda09d" args="()" -->
- </td><td class="memItemRight" valign="bottom"><a class="el" href="a00284.html#27399c613eb1aecd4660803955dda09d">const_accessor</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Create empty result. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="928769b139d53427e7075c1f86148e4c"></a><!-- doxytag: member="tbb::interface5::concurrent_hash_map::const_accessor::~const_accessor" ref="928769b139d53427e7075c1f86148e4c" args="()" -->
- </td><td class="memItemRight" valign="bottom"><a class="el" href="a00284.html#928769b139d53427e7075c1f86148e4c">~const_accessor</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Destroy result after releasing the underlying reference. <br></td></tr>
-<tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="45ab59454c6f11fe938bbcab637cdd73"></a><!-- doxytag: member="tbb::interface5::concurrent_hash_map::const_accessor::is_writer" ref="45ab59454c6f11fe938bbcab637cdd73" args="()" -->
-bool </td><td class="memItemRight" valign="bottom"><b>is_writer</b> ()</td></tr>
-
-<tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="21856da696b0765cc3db90663160d95e"></a><!-- doxytag: member="tbb::interface5::concurrent_hash_map::const_accessor::my_node" ref="21856da696b0765cc3db90663160d95e" args="" -->
-node * </td><td class="memItemRight" valign="bottom"><b>my_node</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4936cc9432926ed38f0207828b388e24"></a><!-- doxytag: member="tbb::interface5::concurrent_hash_map::const_accessor::my_hash" ref="4936cc9432926ed38f0207828b388e24" args="" -->
-hashcode_t </td><td class="memItemRight" valign="bottom"><b>my_hash</b></td></tr>
-
-<tr><td colspan="2"><br><h2>Friends</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d062d8ecb243a6ec62fa30bca52a1bcf"></a><!-- doxytag: member="tbb::interface5::concurrent_hash_map::const_accessor::concurrent_hash_map< Key, T, HashCompare, Allocator >" ref="d062d8ecb243a6ec62fa30bca52a1bcf" args="" -->
-class </td><td class="memItemRight" valign="bottom"><b>concurrent_hash_map< Key, T, HashCompare, Allocator ></b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ddd77aff56c12366acc02d0f1588a706"></a><!-- doxytag: member="tbb::interface5::concurrent_hash_map::const_accessor::accessor" ref="ddd77aff56c12366acc02d0f1588a706" args="" -->
-class </td><td class="memItemRight" valign="bottom"><b>accessor</b></td></tr>
-
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-<h3>template<typename Key, typename T, typename HashCompare, typename Allocator><br>
- class tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator >::const_accessor</h3>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00128.html">spin_rw_mutex_v3</a></li><li class="navelem"><a class="el" href="a00114.html">scoped_lock</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::spin_rw_mutex_v3::scoped_lock Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
 
-Combines data access, locking, and garbage collection. 
-<p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li>concurrent_hash_map.h</ul>
+<p>This is the complete list of members for <a class="el" href="a00114.html">tbb::spin_rw_mutex_v3::scoped_lock</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>__internal_get_mutex</b>() (defined in <a class="el" href="a00114.html">tbb::spin_rw_mutex_v3::scoped_lock</a>)</td><td class="entry"><a class="el" href="a00114.html">tbb::spin_rw_mutex_v3::scoped_lock</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>__internal_set_mutex</b>(spin_rw_mutex *m) (defined in <a class="el" href="a00114.html">tbb::spin_rw_mutex_v3::scoped_lock</a>)</td><td class="entry"><a class="el" href="a00114.html">tbb::spin_rw_mutex_v3::scoped_lock</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>__internal_set_writer</b>(bool flag=true) (defined in <a class="el" href="a00114.html">tbb::spin_rw_mutex_v3::scoped_lock</a>)</td><td class="entry"><a class="el" href="a00114.html">tbb::spin_rw_mutex_v3::scoped_lock</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00114.html#a6d49df365396ab314e78ba07c6b96433">acquire</a>(spin_rw_mutex &m, bool write=true)</td><td class="entry"><a class="el" href="a00114.html">tbb::spin_rw_mutex_v3::scoped_lock</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00114.html#aa693c05221d977856a98270a255fe5df">downgrade_to_reader</a>()</td><td class="entry"><a class="el" href="a00114.html">tbb::spin_rw_mutex_v3::scoped_lock</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00114.html#acfd129dc5106ad1129ba803e67311050">is_writer</a></td><td class="entry"><a class="el" href="a00114.html">tbb::spin_rw_mutex_v3::scoped_lock</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00114.html#a8d70c5a2348e30a6979bfbf677328dc4">mutex</a></td><td class="entry"><a class="el" href="a00114.html">tbb::spin_rw_mutex_v3::scoped_lock</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00114.html#a99e279a995a51abfb87b865e886949f8">release</a>()</td><td class="entry"><a class="el" href="a00114.html">tbb::spin_rw_mutex_v3::scoped_lock</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00114.html#a285b355121772c874a7ecaaf4d347224">scoped_lock</a>()</td><td class="entry"><a class="el" href="a00114.html">tbb::spin_rw_mutex_v3::scoped_lock</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00114.html#a0a2e15358575f7651446bca13a5a2674">scoped_lock</a>(spin_rw_mutex &m, bool write=true)</td><td class="entry"><a class="el" href="a00114.html">tbb::spin_rw_mutex_v3::scoped_lock</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00114.html#abf17ada91882fd70f139c503c0220f16">try_acquire</a>(spin_rw_mutex &m, bool write=true)</td><td class="entry"><a class="el" href="a00114.html">tbb::spin_rw_mutex_v3::scoped_lock</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00114.html#afbe5de57eadc457518df7a1bb0d30c00">upgrade_to_writer</a>()</td><td class="entry"><a class="el" href="a00114.html">tbb::spin_rw_mutex_v3::scoped_lock</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00114.html#a5c27ca2e0c9db960a9a7430082ff7edd">~scoped_lock</a>()</td><td class="entry"><a class="el" href="a00114.html">tbb::spin_rw_mutex_v3::scoped_lock</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+</table></div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00284.png b/doc/html/a00284.png
deleted file mode 100644
index f3e6df6..0000000
Binary files a/doc/html/a00284.png and /dev/null differ
diff --git a/doc/html/a00285.html b/doc/html/a00285.html
index 7e89a2c..ade1579 100644
--- a/doc/html/a00285.html
+++ b/doc/html/a00285.html
@@ -1,362 +1,58 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>tbb::interface5::concurrent_priority_queue< T, Compare, A > Class Template Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="nav">
-<a class="el" href="a00428.html">tbb</a>::<b>interface5</b>::<a class="el" href="a00285.html">concurrent_priority_queue</a></div>
-<h1>tbb::interface5::concurrent_priority_queue< T, Compare, A > Class Template Reference</h1><!-- doxytag: class="tbb::interface5::concurrent_priority_queue" -->Concurrent priority queue.  
-<a href="#_details">More...</a>
-<p>
-<code>#include <concurrent_priority_queue.h></code>
-<p>
-<a href="a00031.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7c611a6b5b8f94b0e7f2afc97e31efb1"></a><!-- doxytag: member="tbb::interface5::concurrent_priority_queue::value_type" ref="7c611a6b5b8f94b0e7f2afc97e31efb1" args="" -->
-typedef T </td><td class="memItemRight" valign="bottom"><a class="el" href="a00285.html#7c611a6b5b8f94b0e7f2afc97e31efb1">value_type</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Element type in the queue. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5804b3c708ef4e50d603f918ef2b9e58"></a><!-- doxytag: member="tbb::interface5::concurrent_priority_queue::reference" ref="5804b3c708ef4e50d603f918ef2b9e58" args="" -->
-typedef T & </td><td class="memItemRight" valign="bottom"><a class="el" href="a00285.html#5804b3c708ef4e50d603f918ef2b9e58">reference</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Reference type. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a4ded8601a434098605be0dcc4febc60"></a><!-- doxytag: member="tbb::interface5::concurrent_priority_queue::const_reference" ref="a4ded8601a434098605be0dcc4febc60" args="" -->
-typedef const T & </td><td class="memItemRight" valign="bottom"><a class="el" href="a00285.html#a4ded8601a434098605be0dcc4febc60">const_reference</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Const reference type. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b679eea8d01d041625a39f719ca2b7ed"></a><!-- doxytag: member="tbb::interface5::concurrent_priority_queue::size_type" ref="b679eea8d01d041625a39f719ca2b7ed" args="" -->
-typedef size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="a00285.html#b679eea8d01d041625a39f719ca2b7ed">size_type</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Integral type for representing size of the queue. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="77399bc76b3ecd60e33f7e35a5becd87"></a><!-- doxytag: member="tbb::interface5::concurrent_priority_queue::difference_type" ref="77399bc76b3ecd60e33f7e35a5becd87" args="" -->
-typedef ptrdiff_t </td><td class="memItemRight" valign="bottom"><a class="el" href="a00285.html#77399bc76b3ecd60e33f7e35a5becd87">difference_type</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Difference type for iterator. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1712cb3a46bc1821fccc5e2cd83d5cd7"></a><!-- doxytag: member="tbb::interface5::concurrent_priority_queue::allocator_type" ref="1712cb3a46bc1821fccc5e2cd83d5cd7" args="" -->
-typedef A </td><td class="memItemRight" valign="bottom"><a class="el" href="a00285.html#1712cb3a46bc1821fccc5e2cd83d5cd7">allocator_type</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Allocator type. <br></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="eefa40599afe00ea393897d8f5662e65"></a><!-- doxytag: member="tbb::interface5::concurrent_priority_queue::concurrent_priority_queue" ref="eefa40599afe00ea393897d8f5662e65" args="(const allocator_type &a=allocator_type())" -->
- </td><td class="memItemRight" valign="bottom"><a class="el" href="a00285.html#eefa40599afe00ea393897d8f5662e65">concurrent_priority_queue</a> (const <a class="el" href="a00285.html#1712cb3a46bc1821fccc5e2cd83d5cd7">allocator_type</a> &a=<a class="el" href="a00285.html#1712cb3a46bc1821fccc5e2cd83d5cd7">allocator_type</a>())</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Constructs a new <a class="el" href="a00285.html">concurrent_priority_queue</a> with default capacity. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4555b4a55415a70024c4004b51e9f385"></a><!-- doxytag: member="tbb::interface5::concurrent_priority_queue::concurrent_priority_queue" ref="4555b4a55415a70024c4004b51e9f385" args="(size_type init_capacity, const allocator_type &a=allocator_type())" -->
- </td><td class="memItemRight" valign="bottom"><a class="el" href="a00285.html#4555b4a55415a70024c4004b51e9f385">concurrent_priority_queue</a> (<a class="el" href="a00285.html#b679eea8d01d041625a39f719ca2b7ed">size_type</a> init_capacity, const <a class="el" href="a00285.html#1712cb3a46bc1821fccc5e2cd83d5cd7">allocator_type</a> &a=<a class="el" href="a00285.html#1712cb3a46bc1821fccc5e2cd83d5cd7">allocator_type</a>())</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Constructs a new <a class="el" href="a00285.html">concurrent_priority_queue</a> with init_sz capacity. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="9147cb4207017c260a0c3929c12cd40f"></a><!-- doxytag: member="tbb::interface5::concurrent_priority_queue::concurrent_priority_queue" ref="9147cb4207017c260a0c3929c12cd40f" args="(InputIterator begin, InputIterator end, const allocator_type &a=allocator_type())" -->
-template<typename InputIterator> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00285.html#9147cb4207017c260a0c3929c12cd40f">concurrent_priority_queue</a> (InputIterator begin, InputIterator end, const <a class="el" href="a00285.html#1712cb3a46bc1821fccc5e2cd83d5cd7">allocator_type</a> &a=<a class="el" href="a00285.html#1712cb3a46bc1821fccc5e2cd83d5cd7">allocator_type</a>())</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">[begin,end) constructor <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="36fc4734032fff2e98bc9f21b73ab1be"></a><!-- doxytag: member="tbb::interface5::concurrent_priority_queue::concurrent_priority_queue" ref="36fc4734032fff2e98bc9f21b73ab1be" args="(std::initializer_list< T > const &init_list, const allocator_type &a=allocator_type())" -->
- </td><td class="memItemRight" valign="bottom"><a class="el" href="a00285.html#36fc4734032fff2e98bc9f21b73ab1be">concurrent_priority_queue</a> (std::initializer_list< T > const &init_list, const <a class="el" href="a00285.html#1712cb3a46bc1821fccc5e2cd83d5cd7">allocator_type</a> &a=<a class="el" href="a00285.html#1712cb3a46bc1821fccc5e2cd83d5cd7">allocator_type</a>())</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Constructor from std::initializer_list. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00285.html#509419e320f200456d89dc54a65140b3">concurrent_priority_queue</a> (const <a class="el" href="a00285.html">concurrent_priority_queue</a> &src)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Copy constructor.  <a href="#509419e320f200456d89dc54a65140b3"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00285.html#c8b20e7430c5302936030bef59a562be">concurrent_priority_queue</a> (const <a class="el" href="a00285.html">concurrent_priority_queue</a> &src, const <a class="el" href="a00285.html#1712cb3a46bc1821fccc5e2cd83d5cd7">allocator_type</a> &a)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Copy constructor with specific allocator.  <a href="#c8b20e7430c5302936030bef59a562be"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00285.html">concurrent_priority_queue</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="a00285.html#2ab7f7808891027ac0f0f5b3a4be51e9">operator=</a> (const <a class="el" href="a00285.html">concurrent_priority_queue</a> &src)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Assignment operator.  <a href="#2ab7f7808891027ac0f0f5b3a4be51e9"></a><br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="e89e38c09b212a3d39d6e36a5ee33fe8"></a><!-- doxytag: member="tbb::interface5::concurrent_priority_queue::assign" ref="e89e38c09b212a3d39d6e36a5ee33fe8" args="(InputIterator begin, InputIterator end)" -->
-template<typename InputIterator> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00285.html#e89e38c09b212a3d39d6e36a5ee33fe8">assign</a> (InputIterator begin, InputIterator end)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Assign the queue from [begin,end) range, not thread-safe. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="38dc06a3143eefe5697b8cd157e0d00a"></a><!-- doxytag: member="tbb::interface5::concurrent_priority_queue::assign" ref="38dc06a3143eefe5697b8cd157e0d00a" args="(std::initializer_list< T > const &il)" -->
-void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00285.html#38dc06a3143eefe5697b8cd157e0d00a">assign</a> (std::initializer_list< T > const &il)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Assign the queue from std::initializer_list, not thread-safe. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9296c2eaeeae24cb7019659c2fdf0f62"></a><!-- doxytag: member="tbb::interface5::concurrent_priority_queue::operator=" ref="9296c2eaeeae24cb7019659c2fdf0f62" args="(std::initializer_list< T > const &il)" -->
-<a class="el" href="a00285.html">concurrent_priority_queue</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="a00285.html#9296c2eaeeae24cb7019659c2fdf0f62">operator=</a> (std::initializer_list< T > const &il)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Assign from std::initializer_list, not thread-safe. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00285.html#317c508fa92df218be5d014c26c09bb7">empty</a> () const </td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns true if empty, false otherwise.  <a href="#317c508fa92df218be5d014c26c09bb7"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00285.html#b679eea8d01d041625a39f719ca2b7ed">size_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00285.html#8b2ae25c61338c6fd59e94fe09822ba5">size</a> () const </td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the current number of elements contained in the queue.  <a href="#8b2ae25c61338c6fd59e94fe09822ba5"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00285.html#d905af7b8f6defff562f5ae9c3275763">push</a> (<a class="el" href="a00285.html#a4ded8601a434098605be0dcc4febc60">const_reference</a> elem)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Pushes elem onto the queue, increasing capacity of queue if necessary.  <a href="#d905af7b8f6defff562f5ae9c3275763"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00285.html#e036461a29cc40902a2bb79abf9f5146">try_pop</a> (<a class="el" href="a00285.html#5804b3c708ef4e50d603f918ef2b9e58">reference</a> elem)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Gets a reference to and removes highest priority element.  <a href="#e036461a29cc40902a2bb79abf9f5146"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00285.html#0bdcdf7cde9fd369edca845bec34ca94">clear</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Clear the queue; not thread-safe.  <a href="#0bdcdf7cde9fd369edca845bec34ca94"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00285.html#0ecdc6a04aa259374425d424ca2a6082">swap</a> (<a class="el" href="a00285.html">concurrent_priority_queue</a> &q)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Swap this queue with another; not thread-safe.  <a href="#0ecdc6a04aa259374425d424ca2a6082"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d545d444fb0d16148f9b61fd89f9a337"></a><!-- doxytag: member="tbb::interface5::concurrent_priority_queue::get_allocator" ref="d545d444fb0d16148f9b61fd89f9a337" args="() const " -->
-<a class="el" href="a00285.html#1712cb3a46bc1821fccc5e2cd83d5cd7">allocator_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00285.html#d545d444fb0d16148f9b61fd89f9a337">get_allocator</a> () const </td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Return allocator object. <br></td></tr>
-<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><b>cpq_operation</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><b>my_functor_t</b></td></tr>
-
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-<h3>template<typename T, typename Compare = std::less<T>, typename A = cache_aligned_allocator<T>><br>
- class tbb::interface5::concurrent_priority_queue< T, Compare, A ></h3>
-
-Concurrent priority queue. 
-<p>
-<hr><h2>Constructor & Destructor Documentation</h2>
-<a class="anchor" name="509419e320f200456d89dc54a65140b3"></a><!-- doxytag: member="tbb::interface5::concurrent_priority_queue::concurrent_priority_queue" ref="509419e320f200456d89dc54a65140b3" args="(const concurrent_priority_queue &src)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template<typename T, typename Compare = std::less<T>, typename A = cache_aligned_allocator<T>> </div>
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00285.html">tbb::interface5::concurrent_priority_queue</a>< T, Compare, A >::<a class="el" href="a00285.html">concurrent_priority_queue</a>           </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="a00285.html">concurrent_priority_queue</a>< T, Compare, A > & </td>
-          <td class="paramname"> <em>src</em>          </td>
-          <td> ) </td>
-          <td width="100%"><code> [inline, explicit]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Copy constructor. 
-<p>
-This operation is unsafe if there are pending concurrent operations on the src queue. 
-</div>
-</div><p>
-<a class="anchor" name="c8b20e7430c5302936030bef59a562be"></a><!-- doxytag: member="tbb::interface5::concurrent_priority_queue::concurrent_priority_queue" ref="c8b20e7430c5302936030bef59a562be" args="(const concurrent_priority_queue &src, const allocator_type &a)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template<typename T, typename Compare = std::less<T>, typename A = cache_aligned_allocator<T>> </div>
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00285.html">tbb::interface5::concurrent_priority_queue</a>< T, Compare, A >::<a class="el" href="a00285.html">concurrent_priority_queue</a>           </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="a00285.html">concurrent_priority_queue</a>< T, Compare, A > & </td>
-          <td class="paramname"> <em>src</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const <a class="el" href="a00285.html#1712cb3a46bc1821fccc5e2cd83d5cd7">allocator_type</a> & </td>
-          <td class="paramname"> <em>a</em></td><td> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td width="100%"><code> [inline]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Copy constructor with specific allocator. 
-<p>
-This operation is unsafe if there are pending concurrent operations on the src queue. 
-</div>
-</div><p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="0bdcdf7cde9fd369edca845bec34ca94"></a><!-- doxytag: member="tbb::interface5::concurrent_priority_queue::clear" ref="0bdcdf7cde9fd369edca845bec34ca94" args="()" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template<typename T, typename Compare = std::less<T>, typename A = cache_aligned_allocator<T>> </div>
-      <table class="memname">
-        <tr>
-          <td class="memname">void <a class="el" href="a00285.html">tbb::interface5::concurrent_priority_queue</a>< T, Compare, A >::clear           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td> ) </td>
-          <td width="100%"><code> [inline]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Clear the queue; not thread-safe. 
-<p>
-This operation is unsafe if there are pending concurrent operations on the queue. Resets size, effectively emptying queue; does not free space. May not clear elements added in pending operations. 
-</div>
-</div><p>
-<a class="anchor" name="317c508fa92df218be5d014c26c09bb7"></a><!-- doxytag: member="tbb::interface5::concurrent_priority_queue::empty" ref="317c508fa92df218be5d014c26c09bb7" args="() const " -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template<typename T, typename Compare = std::less<T>, typename A = cache_aligned_allocator<T>> </div>
-      <table class="memname">
-        <tr>
-          <td class="memname">bool <a class="el" href="a00285.html">tbb::interface5::concurrent_priority_queue</a>< T, Compare, A >::empty           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td> ) </td>
-          <td width="100%"> const<code> [inline]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Returns true if empty, false otherwise. 
-<p>
-Returned value may not reflect results of pending operations. This operation reads shared data and will trigger a race condition. 
-</div>
-</div><p>
-<a class="anchor" name="2ab7f7808891027ac0f0f5b3a4be51e9"></a><!-- doxytag: member="tbb::interface5::concurrent_priority_queue::operator=" ref="2ab7f7808891027ac0f0f5b3a4be51e9" args="(const concurrent_priority_queue &src)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template<typename T, typename Compare = std::less<T>, typename A = cache_aligned_allocator<T>> </div>
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00285.html">concurrent_priority_queue</a>& <a class="el" href="a00285.html">tbb::interface5::concurrent_priority_queue</a>< T, Compare, A >::operator=           </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="a00285.html">concurrent_priority_queue</a>< T, Compare, A > & </td>
-          <td class="paramname"> <em>src</em>          </td>
-          <td> ) </td>
-          <td width="100%"><code> [inline]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Assignment operator. 
-<p>
-This operation is unsafe if there are pending concurrent operations on the src queue. 
-</div>
-</div><p>
-<a class="anchor" name="d905af7b8f6defff562f5ae9c3275763"></a><!-- doxytag: member="tbb::interface5::concurrent_priority_queue::push" ref="d905af7b8f6defff562f5ae9c3275763" args="(const_reference elem)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template<typename T, typename Compare = std::less<T>, typename A = cache_aligned_allocator<T>> </div>
-      <table class="memname">
-        <tr>
-          <td class="memname">void <a class="el" href="a00285.html">tbb::interface5::concurrent_priority_queue</a>< T, Compare, A >::push           </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="a00285.html#a4ded8601a434098605be0dcc4febc60">const_reference</a> </td>
-          <td class="paramname"> <em>elem</em>          </td>
-          <td> ) </td>
-          <td width="100%"><code> [inline]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Pushes elem onto the queue, increasing capacity of queue if necessary. 
-<p>
-This operation can be safely used concurrently with other push, try_pop or reserve operations. 
-</div>
-</div><p>
-<a class="anchor" name="8b2ae25c61338c6fd59e94fe09822ba5"></a><!-- doxytag: member="tbb::interface5::concurrent_priority_queue::size" ref="8b2ae25c61338c6fd59e94fe09822ba5" args="() const " -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template<typename T, typename Compare = std::less<T>, typename A = cache_aligned_allocator<T>> </div>
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00285.html#b679eea8d01d041625a39f719ca2b7ed">size_type</a> <a class="el" href="a00285.html">tbb::interface5::concurrent_priority_queue</a>< T, Compare, A >::size           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td> ) </td>
-          <td width="100%"> const<code> [inline]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Returns the current number of elements contained in the queue. 
-<p>
-Returned value may not reflect results of pending operations. This operation reads shared data and will trigger a race condition. 
-</div>
-</div><p>
-<a class="anchor" name="0ecdc6a04aa259374425d424ca2a6082"></a><!-- doxytag: member="tbb::interface5::concurrent_priority_queue::swap" ref="0ecdc6a04aa259374425d424ca2a6082" args="(concurrent_priority_queue &q)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template<typename T, typename Compare = std::less<T>, typename A = cache_aligned_allocator<T>> </div>
-      <table class="memname">
-        <tr>
-          <td class="memname">void <a class="el" href="a00285.html">tbb::interface5::concurrent_priority_queue</a>< T, Compare, A >::swap           </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="a00285.html">concurrent_priority_queue</a>< T, Compare, A > & </td>
-          <td class="paramname"> <em>q</em>          </td>
-          <td> ) </td>
-          <td width="100%"><code> [inline]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Swap this queue with another; not thread-safe. 
-<p>
-This operation is unsafe if there are pending concurrent operations on the queue. 
-</div>
-</div><p>
-<a class="anchor" name="e036461a29cc40902a2bb79abf9f5146"></a><!-- doxytag: member="tbb::interface5::concurrent_priority_queue::try_pop" ref="e036461a29cc40902a2bb79abf9f5146" args="(reference elem)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template<typename T, typename Compare = std::less<T>, typename A = cache_aligned_allocator<T>> </div>
-      <table class="memname">
-        <tr>
-          <td class="memname">bool <a class="el" href="a00285.html">tbb::interface5::concurrent_priority_queue</a>< T, Compare, A >::try_pop           </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="a00285.html#5804b3c708ef4e50d603f918ef2b9e58">reference</a> </td>
-          <td class="paramname"> <em>elem</em>          </td>
-          <td> ) </td>
-          <td width="100%"><code> [inline]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Gets a reference to and removes highest priority element. 
-<p>
-If a highest priority element was found, sets elem and returns true, otherwise returns false. This operation can be safely used concurrently with other push, try_pop or reserve operations. 
-</div>
-</div><p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li>concurrent_priority_queue.h</ul>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00139.html">task_handle</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::task_handle< F > Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="a00139.html">tbb::task_handle< F ></a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>internal::task_handle_task</b> (defined in <a class="el" href="a00139.html">tbb::task_handle< F ></a>)</td><td class="entry"><a class="el" href="a00139.html">tbb::task_handle< F ></a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>operator()</b>() const  (defined in <a class="el" href="a00139.html">tbb::task_handle< F ></a>)</td><td class="entry"><a class="el" href="a00139.html">tbb::task_handle< F ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>structured_task_group</b> (defined in <a class="el" href="a00139.html">tbb::task_handle< F ></a>)</td><td class="entry"><a class="el" href="a00139.html">tbb::task_handle< F ></a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>task_group</b> (defined in <a class="el" href="a00139.html">tbb::task_handle< F ></a>)</td><td class="entry"><a class="el" href="a00139.html">tbb::task_handle< F ></a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>task_handle</b>(const F &f) (defined in <a class="el" href="a00139.html">tbb::task_handle< F ></a>)</td><td class="entry"><a class="el" href="a00139.html">tbb::task_handle< F ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+</table></div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00286.html b/doc/html/a00286.html
index 616dbcf..da4e44a 100644
--- a/doc/html/a00286.html
+++ b/doc/html/a00286.html
@@ -1,166 +1,70 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>tbb::strict_ppl::concurrent_queue< T, A > Class Template Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="nav">
-<a class="el" href="a00428.html">tbb</a>::<b>strict_ppl</b>::<a class="el" href="a00286.html">concurrent_queue</a></div>
-<h1>tbb::strict_ppl::concurrent_queue< T, A > Class Template Reference<br>
-<small>
-[<a class="el" href="a00442.html">Containers</a>]</small>
-</h1><!-- doxytag: class="tbb::strict_ppl::concurrent_queue" -->A high-performance thread-safe non-blocking concurrent queue.  
-<a href="#_details">More...</a>
-<p>
-<code>#include <concurrent_queue.h></code>
-<p>
-<a href="a00035.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="682c3978d5cb0620000994f11c44a476"></a><!-- doxytag: member="tbb::strict_ppl::concurrent_queue::value_type" ref="682c3978d5cb0620000994f11c44a476" args="" -->
-typedef T </td><td class="memItemRight" valign="bottom"><a class="el" href="a00286.html#682c3978d5cb0620000994f11c44a476">value_type</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Element type in the queue. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a8d725c50a9834bb7af5b67c0aff92b8"></a><!-- doxytag: member="tbb::strict_ppl::concurrent_queue::reference" ref="a8d725c50a9834bb7af5b67c0aff92b8" args="" -->
-typedef T & </td><td class="memItemRight" valign="bottom"><a class="el" href="a00286.html#a8d725c50a9834bb7af5b67c0aff92b8">reference</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Reference type. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4d48e7ff93f81636bca2c74f7da34750"></a><!-- doxytag: member="tbb::strict_ppl::concurrent_queue::const_reference" ref="4d48e7ff93f81636bca2c74f7da34750" args="" -->
-typedef const T & </td><td class="memItemRight" valign="bottom"><a class="el" href="a00286.html#4d48e7ff93f81636bca2c74f7da34750">const_reference</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Const reference type. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8fc30e93f8342a1960357f71e4fe8a2b"></a><!-- doxytag: member="tbb::strict_ppl::concurrent_queue::size_type" ref="8fc30e93f8342a1960357f71e4fe8a2b" args="" -->
-typedef size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="a00286.html#8fc30e93f8342a1960357f71e4fe8a2b">size_type</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Integral type for representing size of the queue. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="068576d16c7e4e05d52f9db7a45b5b65"></a><!-- doxytag: member="tbb::strict_ppl::concurrent_queue::difference_type" ref="068576d16c7e4e05d52f9db7a45b5b65" args="" -->
-typedef ptrdiff_t </td><td class="memItemRight" valign="bottom"><a class="el" href="a00286.html#068576d16c7e4e05d52f9db7a45b5b65">difference_type</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Difference type for iterator. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5a3956341728eaa558d8827063718cac"></a><!-- doxytag: member="tbb::strict_ppl::concurrent_queue::allocator_type" ref="5a3956341728eaa558d8827063718cac" args="" -->
-typedef A </td><td class="memItemRight" valign="bottom"><a class="el" href="a00286.html#5a3956341728eaa558d8827063718cac">allocator_type</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Allocator type. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9736ac047d6da3363895c7e5b121d0c4"></a><!-- doxytag: member="tbb::strict_ppl::concurrent_queue::iterator" ref="9736ac047d6da3363895c7e5b121d0c4" args="" -->
-typedef internal::concurrent_queue_iterator<<br>
- <a class="el" href="a00286.html">concurrent_queue</a>, T > </td><td class="memItemRight" valign="bottom"><b>iterator</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9cd76d19af8c78be1bafc6ca0123ac0d"></a><!-- doxytag: member="tbb::strict_ppl::concurrent_queue::const_iterator" ref="9cd76d19af8c78be1bafc6ca0123ac0d" args="" -->
-typedef internal::concurrent_queue_iterator<<br>
- <a class="el" href="a00286.html">concurrent_queue</a>, const T > </td><td class="memItemRight" valign="bottom"><b>const_iterator</b></td></tr>
-
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7c48a05a94a1f4f98fdfadfbef98ecf6"></a><!-- doxytag: member="tbb::strict_ppl::concurrent_queue::concurrent_queue" ref="7c48a05a94a1f4f98fdfadfbef98ecf6" args="(const allocator_type &a=allocator_type())" -->
- </td><td class="memItemRight" valign="bottom"><a class="el" href="a00286.html#7c48a05a94a1f4f98fdfadfbef98ecf6">concurrent_queue</a> (const <a class="el" href="a00286.html#5a3956341728eaa558d8827063718cac">allocator_type</a> &a=<a class="el" href="a00286.html#5a3956341728eaa558d8827063718cac">allocator_type</a>())</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Construct empty queue. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="25209656c84f2f9b030e2f9162713341"></a><!-- doxytag: member="tbb::strict_ppl::concurrent_queue::concurrent_queue" ref="25209656c84f2f9b030e2f9162713341" args="(InputIterator begin, InputIterator end, const allocator_type &a=allocator_type())" -->
-template<typename InputIterator> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00286.html#25209656c84f2f9b030e2f9162713341">concurrent_queue</a> (InputIterator begin, InputIterator end, const <a class="el" href="a00286.html#5a3956341728eaa558d8827063718cac">allocator_type</a> &a=<a class="el" href="a00286.html#5a3956341728eaa558d8827063718cac">allocator_type</a>())</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">[begin,end) constructor <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8a6b98ea11a867db8ac868f0113ca429"></a><!-- doxytag: member="tbb::strict_ppl::concurrent_queue::concurrent_queue" ref="8a6b98ea11a867db8ac868f0113ca429" args="(const concurrent_queue &src, const allocator_type &a=allocator_type())" -->
- </td><td class="memItemRight" valign="bottom"><a class="el" href="a00286.html#8a6b98ea11a867db8ac868f0113ca429">concurrent_queue</a> (const <a class="el" href="a00286.html">concurrent_queue</a> &src, const <a class="el" href="a00286.html#5a3956341728eaa558d8827063718cac">allocator_type</a> &a=<a class="el" href="a00286.html#5a3956341728eaa558d8827063718cac">allocator_type</a>())</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Copy constructor. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="830b33753d6b149c366344e29b2edd8c"></a><!-- doxytag: member="tbb::strict_ppl::concurrent_queue::~concurrent_queue" ref="830b33753d6b149c366344e29b2edd8c" args="()" -->
- </td><td class="memItemRight" valign="bottom"><a class="el" href="a00286.html#830b33753d6b149c366344e29b2edd8c">~concurrent_queue</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Destroy queue. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="73c47563ffcc4c2f6452f25a04ebe2e2"></a><!-- doxytag: member="tbb::strict_ppl::concurrent_queue::push" ref="73c47563ffcc4c2f6452f25a04ebe2e2" args="(const T &source)" -->
-void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00286.html#73c47563ffcc4c2f6452f25a04ebe2e2">push</a> (const T &source)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Enqueue an item at tail of queue. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00286.html#ae31ca0db34ef96ef1e74aa0d28c95f8">try_pop</a> (T &result)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Attempt to dequeue an item from head of queue.  <a href="#ae31ca0db34ef96ef1e74aa0d28c95f8"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="eaa35a5274606779802e9a669a706260"></a><!-- doxytag: member="tbb::strict_ppl::concurrent_queue::unsafe_size" ref="eaa35a5274606779802e9a669a706260" args="() const " -->
-<a class="el" href="a00286.html#8fc30e93f8342a1960357f71e4fe8a2b">size_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00286.html#eaa35a5274606779802e9a669a706260">unsafe_size</a> () const </td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Return the number of items in the queue; thread unsafe. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f3f6fce0cfa2d581d6f3b47e0613ad64"></a><!-- doxytag: member="tbb::strict_ppl::concurrent_queue::empty" ref="f3f6fce0cfa2d581d6f3b47e0613ad64" args="() const " -->
-bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00286.html#f3f6fce0cfa2d581d6f3b47e0613ad64">empty</a> () const </td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Equivalent to size()==0. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c32e8e84c0524155133b4aae32d2a827"></a><!-- doxytag: member="tbb::strict_ppl::concurrent_queue::clear" ref="c32e8e84c0524155133b4aae32d2a827" args="()" -->
-void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00286.html#c32e8e84c0524155133b4aae32d2a827">clear</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Clear the queue. not thread-safe. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f034f70caef445fe8abc9113ec926a8d"></a><!-- doxytag: member="tbb::strict_ppl::concurrent_queue::get_allocator" ref="f034f70caef445fe8abc9113ec926a8d" args="() const " -->
-<a class="el" href="a00286.html#5a3956341728eaa558d8827063718cac">allocator_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00286.html#f034f70caef445fe8abc9113ec926a8d">get_allocator</a> () const </td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Return allocator object. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6297f48808dd7c14e6c2fe81559ca190"></a><!-- doxytag: member="tbb::strict_ppl::concurrent_queue::unsafe_begin" ref="6297f48808dd7c14e6c2fe81559ca190" args="()" -->
-iterator </td><td class="memItemRight" valign="bottom"><b>unsafe_begin</b> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1569f70e70521fe71944a5b0138c6ef5"></a><!-- doxytag: member="tbb::strict_ppl::concurrent_queue::unsafe_end" ref="1569f70e70521fe71944a5b0138c6ef5" args="()" -->
-iterator </td><td class="memItemRight" valign="bottom"><b>unsafe_end</b> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e3e6746f7b6ecfbc16f781665ac51112"></a><!-- doxytag: member="tbb::strict_ppl::concurrent_queue::unsafe_begin" ref="e3e6746f7b6ecfbc16f781665ac51112" args="() const " -->
-const_iterator </td><td class="memItemRight" valign="bottom"><b>unsafe_begin</b> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="83bf90849c08f44d25dd7a3b207a8956"></a><!-- doxytag: member="tbb::strict_ppl::concurrent_queue::unsafe_end" ref="83bf90849c08f44d25dd7a3b207a8956" args="() const " -->
-const_iterator </td><td class="memItemRight" valign="bottom"><b>unsafe_end</b> () const </td></tr>
-
-<tr><td colspan="2"><br><h2>Friends</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="05bffad9626d51abbd4bb82ae2a1cceb"></a><!-- doxytag: member="tbb::strict_ppl::concurrent_queue::internal::concurrent_queue_iterator" ref="05bffad9626d51abbd4bb82ae2a1cceb" args="" -->
-class </td><td class="memItemRight" valign="bottom"><b>internal::concurrent_queue_iterator</b></td></tr>
-
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-<h3>template<typename T, typename A = cache_aligned_allocator<T>><br>
- class tbb::strict_ppl::concurrent_queue< T, A ></h3>
-
-A high-performance thread-safe non-blocking concurrent queue. 
-<p>
-Multiple threads may each push and pop concurrently. Assignment construction is not allowed. 
-<p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="ae31ca0db34ef96ef1e74aa0d28c95f8"></a><!-- doxytag: member="tbb::strict_ppl::concurrent_queue::try_pop" ref="ae31ca0db34ef96ef1e74aa0d28c95f8" args="(T &result)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template<typename T, typename A = cache_aligned_allocator<T>> </div>
-      <table class="memname">
-        <tr>
-          <td class="memname">bool <a class="el" href="a00286.html">tbb::strict_ppl::concurrent_queue</a>< T, A >::try_pop           </td>
-          <td>(</td>
-          <td class="paramtype">T & </td>
-          <td class="paramname"> <em>result</em>          </td>
-          <td> ) </td>
-          <td width="100%"><code> [inline]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Attempt to dequeue an item from head of queue. 
-<p>
-Does not wait for item to become available. Returns true if successful; false otherwise. 
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00136.html">task_group</a></li>  </ul>
 </div>
-</div><p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li>concurrent_queue.h</ul>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::task_group Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="a00136.html">tbb::task_group</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>cancel</b>() (defined in <a class="el" href="a00137.html">tbb::internal::task_group_base</a>)</td><td class="entry"><a class="el" href="a00137.html">tbb::internal::task_group_base</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>catch</b>(...) (defined in <a class="el" href="a00136.html">tbb::task_group</a>)</td><td class="entry"><a class="el" href="a00136.html">tbb::task_group</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>internal_run</b>(F &f) (defined in <a class="el" href="a00137.html">tbb::internal::task_group_base</a>)</td><td class="entry"><a class="el" href="a00137.html">tbb::internal::task_group_base</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>internal_run_and_wait</b>(F &f) (defined in <a class="el" href="a00137.html">tbb::internal::task_group_base</a>)</td><td class="entry"><a class="el" href="a00137.html">tbb::internal::task_group_base</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>is_canceling</b>() (defined in <a class="el" href="a00137.html">tbb::internal::task_group_base</a>)</td><td class="entry"><a class="el" href="a00137.html">tbb::internal::task_group_base</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>my_context</b> (defined in <a class="el" href="a00137.html">tbb::internal::task_group_base</a>)</td><td class="entry"><a class="el" href="a00137.html">tbb::internal::task_group_base</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>my_root</b> (defined in <a class="el" href="a00137.html">tbb::internal::task_group_base</a>)</td><td class="entry"><a class="el" href="a00137.html">tbb::internal::task_group_base</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>owner</b>() (defined in <a class="el" href="a00137.html">tbb::internal::task_group_base</a>)</td><td class="entry"><a class="el" href="a00137.html">tbb::internal::task_group_base</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>run</b>(task_handle< F > &h) (defined in <a class="el" href="a00136.html">tbb::task_group</a>)</td><td class="entry"><a class="el" href="a00136.html">tbb::task_group</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>run</b>(const F &f) (defined in <a class="el" href="a00136.html">tbb::task_group</a>)</td><td class="entry"><a class="el" href="a00136.html">tbb::task_group</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>run_and_wait</b>(const F &f) (defined in <a class="el" href="a00136.html">tbb::task_group</a>)</td><td class="entry"><a class="el" href="a00136.html">tbb::task_group</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>run_and_wait</b>(task_handle< F > &h) (defined in <a class="el" href="a00136.html">tbb::task_group</a>)</td><td class="entry"><a class="el" href="a00136.html">tbb::task_group</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>task_group</b>() (defined in <a class="el" href="a00136.html">tbb::task_group</a>)</td><td class="entry"><a class="el" href="a00136.html">tbb::task_group</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>task_group_base</b>(uintptr_t traits=0) (defined in <a class="el" href="a00137.html">tbb::internal::task_group_base</a>)</td><td class="entry"><a class="el" href="a00137.html">tbb::internal::task_group_base</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>wait</b>() (defined in <a class="el" href="a00137.html">tbb::internal::task_group_base</a>)</td><td class="entry"><a class="el" href="a00137.html">tbb::internal::task_group_base</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>~task_group</b>() __TBB_TRY (defined in <a class="el" href="a00136.html">tbb::task_group</a>)</td><td class="entry"><a class="el" href="a00136.html">tbb::task_group</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~task_group_base</b>() (defined in <a class="el" href="a00137.html">tbb::internal::task_group_base</a>)</td><td class="entry"><a class="el" href="a00137.html">tbb::internal::task_group_base</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+</table></div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00287.html b/doc/html/a00287.html
index b1e7e6f..89b6966 100644
--- a/doc/html/a00287.html
+++ b/doc/html/a00287.html
@@ -1,151 +1,65 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>tbb::deprecated::concurrent_queue< T, A > Class Template Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="nav">
-<a class="el" href="a00428.html">tbb</a>::<b>deprecated</b>::<a class="el" href="a00287.html">concurrent_queue</a></div>
-<h1>tbb::deprecated::concurrent_queue< T, A > Class Template Reference<br>
-<small>
-[<a class="el" href="a00442.html">Containers</a>]</small>
-</h1><!-- doxytag: class="tbb::deprecated::concurrent_queue" --><!-- doxytag: inherits="tbb::concurrent_bounded_queue" -->A high-performance thread-safe blocking concurrent bounded queue.  
-<a href="#_details">More...</a>
-<p>
-<code>#include <concurrent_queue.h></code>
-<p>
-<p>Inheritance diagram for tbb::deprecated::concurrent_queue< T, A >:
-<p><center><img src="a00287.png" usemap="#tbb::deprecated::concurrent_queue< T, A >_map" border="0" alt=""></center>
-<map name="tbb::deprecated::concurrent_queue< T, A >_map">
-<area href="a00280.html" alt="tbb::concurrent_bounded_queue< T, A >" shape="rect" coords="0,0,257,24">
-</map>
-<a href="a00038.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8861a9cdf232a20b5f2569754a281871"></a><!-- doxytag: member="tbb::deprecated::concurrent_queue::iterator" ref="8861a9cdf232a20b5f2569754a281871" args="" -->
-typedef <a class="el" href="a00280.html">concurrent_bounded_queue</a><<br>
- T, A >::iterator </td><td class="memItemRight" valign="bottom"><b>iterator</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7117842ce3ed7c5147d3c886922e64d0"></a><!-- doxytag: member="tbb::deprecated::concurrent_queue::const_iterator" ref="7117842ce3ed7c5147d3c886922e64d0" args="" -->
-typedef <a class="el" href="a00280.html">concurrent_bounded_queue</a><<br>
- T, A >::const_iterator </td><td class="memItemRight" valign="bottom"><b>const_iterator</b></td></tr>
-
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="aaf19bd7337b72f3131ece60f7315ef7"></a><!-- doxytag: member="tbb::deprecated::concurrent_queue::concurrent_queue" ref="aaf19bd7337b72f3131ece60f7315ef7" args="(const A &a=A())" -->
- </td><td class="memItemRight" valign="bottom"><a class="el" href="a00287.html#aaf19bd7337b72f3131ece60f7315ef7">concurrent_queue</a> (const A &a=A())</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Construct empty queue. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="fc092b9082f233482f3513fc3bb670f7"></a><!-- doxytag: member="tbb::deprecated::concurrent_queue::concurrent_queue" ref="fc092b9082f233482f3513fc3bb670f7" args="(const concurrent_queue &src, const A &a=A())" -->
- </td><td class="memItemRight" valign="bottom"><a class="el" href="a00287.html#fc092b9082f233482f3513fc3bb670f7">concurrent_queue</a> (const <a class="el" href="a00287.html">concurrent_queue</a> &src, const A &a=A())</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Copy constructor. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="9102b897776bd2d9e908e6604ff16b5f"></a><!-- doxytag: member="tbb::deprecated::concurrent_queue::concurrent_queue" ref="9102b897776bd2d9e908e6604ff16b5f" args="(InputIterator b, InputIterator e, const A &a=A())" -->
-template<typename InputIterator> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00287.html#9102b897776bd2d9e908e6604ff16b5f">concurrent_queue</a> (InputIterator b, InputIterator e, const A &a=A())</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">[begin,end) constructor <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00287.html#7c45561bafe71107d09b2bc1b8f4e681">push_if_not_full</a> (const T &source)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Enqueue an item at tail of queue if queue is not already full.  <a href="#7c45561bafe71107d09b2bc1b8f4e681"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00287.html#48da3536245318af6cb5fd58bac78039">pop_if_present</a> (T &destination)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Attempt to dequeue an item from head of queue.  <a href="#48da3536245318af6cb5fd58bac78039"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ed7202cd273ae36463e6ac57e9472670"></a><!-- doxytag: member="tbb::deprecated::concurrent_queue::begin" ref="ed7202cd273ae36463e6ac57e9472670" args="()" -->
-iterator </td><td class="memItemRight" valign="bottom"><b>begin</b> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="35fbb0d7e135545eb1daec2b4ae894cd"></a><!-- doxytag: member="tbb::deprecated::concurrent_queue::end" ref="35fbb0d7e135545eb1daec2b4ae894cd" args="()" -->
-iterator </td><td class="memItemRight" valign="bottom"><b>end</b> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="62f31fe653e1158e64ddb0e163d0335c"></a><!-- doxytag: member="tbb::deprecated::concurrent_queue::begin" ref="62f31fe653e1158e64ddb0e163d0335c" args="() const " -->
-const_iterator </td><td class="memItemRight" valign="bottom"><b>begin</b> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3d42ddc4a6fe42350750a930302863d1"></a><!-- doxytag: member="tbb::deprecated::concurrent_queue::end" ref="3d42ddc4a6fe42350750a930302863d1" args="() const " -->
-const_iterator </td><td class="memItemRight" valign="bottom"><b>end</b> () const </td></tr>
-
-<tr><td colspan="2"><br><h2>Friends</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="05bffad9626d51abbd4bb82ae2a1cceb"></a><!-- doxytag: member="tbb::deprecated::concurrent_queue::internal::concurrent_queue_iterator" ref="05bffad9626d51abbd4bb82ae2a1cceb" args="" -->
-class </td><td class="memItemRight" valign="bottom"><b>internal::concurrent_queue_iterator</b></td></tr>
-
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-<h3>template<typename T, class A = cache_aligned_allocator<T>><br>
- class tbb::deprecated::concurrent_queue< T, A ></h3>
-
-A high-performance thread-safe blocking concurrent bounded queue. 
-<p>
-This is the pre-PPL TBB concurrent queue which support boundedness and blocking semantics. Note that method names agree with the PPL-style concurrent queue. Multiple threads may each push and pop concurrently. Assignment construction is not allowed. 
-<p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="48da3536245318af6cb5fd58bac78039"></a><!-- doxytag: member="tbb::deprecated::concurrent_queue::pop_if_present" ref="48da3536245318af6cb5fd58bac78039" args="(T &destination)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template<typename T, class A = cache_aligned_allocator<T>> </div>
-      <table class="memname">
-        <tr>
-          <td class="memname">bool <a class="el" href="a00287.html">tbb::deprecated::concurrent_queue</a>< T, A >::pop_if_present           </td>
-          <td>(</td>
-          <td class="paramtype">T & </td>
-          <td class="paramname"> <em>destination</em>          </td>
-          <td> ) </td>
-          <td width="100%"><code> [inline]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Attempt to dequeue an item from head of queue. 
-<p>
-Does not wait for item to become available. Returns true if successful; false otherwise. <dl compact><dt><b><a class="el" href="deprecated.html#_deprecated000001">Deprecated:</a></b></dt><dd>Use <a class="el" href="a00280.html#0ca487019bbb00a196442aff78a1e4f7">try_pop()</a> </dd></dl>
-
-</div>
-</div><p>
-<a class="anchor" name="7c45561bafe71107d09b2bc1b8f4e681"></a><!-- doxytag: member="tbb::deprecated::concurrent_queue::push_if_not_full" ref="7c45561bafe71107d09b2bc1b8f4e681" args="(const T &source)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template<typename T, class A = cache_aligned_allocator<T>> </div>
-      <table class="memname">
-        <tr>
-          <td class="memname">bool <a class="el" href="a00287.html">tbb::deprecated::concurrent_queue</a>< T, A >::push_if_not_full           </td>
-          <td>(</td>
-          <td class="paramtype">const T & </td>
-          <td class="paramname"> <em>source</em>          </td>
-          <td> ) </td>
-          <td width="100%"><code> [inline]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Enqueue an item at tail of queue if queue is not already full. 
-<p>
-Does not wait for queue to become not full. Returns true if item is pushed; false if queue was already full. 
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00133.html">structured_task_group</a></li>  </ul>
 </div>
-</div><p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li>concurrent_queue.h</ul>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::structured_task_group Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="a00133.html">tbb::structured_task_group</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>cancel</b>() (defined in <a class="el" href="a00137.html">tbb::internal::task_group_base</a>)</td><td class="entry"><a class="el" href="a00137.html">tbb::internal::task_group_base</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>internal_run</b>(F &f) (defined in <a class="el" href="a00137.html">tbb::internal::task_group_base</a>)</td><td class="entry"><a class="el" href="a00137.html">tbb::internal::task_group_base</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>internal_run_and_wait</b>(F &f) (defined in <a class="el" href="a00137.html">tbb::internal::task_group_base</a>)</td><td class="entry"><a class="el" href="a00137.html">tbb::internal::task_group_base</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>is_canceling</b>() (defined in <a class="el" href="a00137.html">tbb::internal::task_group_base</a>)</td><td class="entry"><a class="el" href="a00137.html">tbb::internal::task_group_base</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>my_context</b> (defined in <a class="el" href="a00137.html">tbb::internal::task_group_base</a>)</td><td class="entry"><a class="el" href="a00137.html">tbb::internal::task_group_base</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>my_root</b> (defined in <a class="el" href="a00137.html">tbb::internal::task_group_base</a>)</td><td class="entry"><a class="el" href="a00137.html">tbb::internal::task_group_base</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>owner</b>() (defined in <a class="el" href="a00137.html">tbb::internal::task_group_base</a>)</td><td class="entry"><a class="el" href="a00137.html">tbb::internal::task_group_base</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>run</b>(task_handle< F > &h) (defined in <a class="el" href="a00137.html">tbb::internal::task_group_base</a>)</td><td class="entry"><a class="el" href="a00137.html">tbb::internal::task_group_base</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>run_and_wait</b>(task_handle< F > &h) (defined in <a class="el" href="a00133.html">tbb::structured_task_group</a>)</td><td class="entry"><a class="el" href="a00133.html">tbb::structured_task_group</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>task_group_base</b>(uintptr_t traits=0) (defined in <a class="el" href="a00137.html">tbb::internal::task_group_base</a>)</td><td class="entry"><a class="el" href="a00137.html">tbb::internal::task_group_base</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>wait</b>() (defined in <a class="el" href="a00133.html">tbb::structured_task_group</a>)</td><td class="entry"><a class="el" href="a00133.html">tbb::structured_task_group</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>~task_group_base</b>() (defined in <a class="el" href="a00137.html">tbb::internal::task_group_base</a>)</td><td class="entry"><a class="el" href="a00137.html">tbb::internal::task_group_base</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+</table></div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00287.png b/doc/html/a00287.png
deleted file mode 100644
index 6aac5a0..0000000
Binary files a/doc/html/a00287.png and /dev/null differ
diff --git a/doc/html/a00288.html b/doc/html/a00288.html
index d4f07eb..4f2a94b 100644
--- a/doc/html/a00288.html
+++ b/doc/html/a00288.html
@@ -1,605 +1,64 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>tbb::concurrent_vector< T, A > Class Template Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="nav">
-<a class="el" href="a00428.html">tbb</a>::<a class="el" href="a00288.html">concurrent_vector</a></div>
-<h1>tbb::concurrent_vector< T, A > Class Template Reference<br>
-<small>
-[<a class="el" href="a00442.html">Containers</a>]</small>
-</h1><!-- doxytag: class="tbb::concurrent_vector" -->Concurrent vector container.  
-<a href="#_details">More...</a>
-<p>
-<code>#include <concurrent_vector.h></code>
-<p>
-<a href="a00046.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="bc85684238d4bb5e422cb8ea0bdc438f"></a><!-- doxytag: member="tbb::concurrent_vector::size_type" ref="bc85684238d4bb5e422cb8ea0bdc438f" args="" -->
-typedef internal::concurrent_vector_base_v3::size_type </td><td class="memItemRight" valign="bottom"><b>size_type</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ac7083635ab59834e9afc15e6c168df5"></a><!-- doxytag: member="tbb::concurrent_vector::allocator_type" ref="ac7083635ab59834e9afc15e6c168df5" args="" -->
-typedef internal::allocator_base<<br>
- T, A >::allocator_type </td><td class="memItemRight" valign="bottom"><b>allocator_type</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4543d7d45b2e461d3f8ef416974ec1f1"></a><!-- doxytag: member="tbb::concurrent_vector::value_type" ref="4543d7d45b2e461d3f8ef416974ec1f1" args="" -->
-typedef T </td><td class="memItemRight" valign="bottom"><b>value_type</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e655e67dd14ed6d0cbfe7981d5fa350e"></a><!-- doxytag: member="tbb::concurrent_vector::difference_type" ref="e655e67dd14ed6d0cbfe7981d5fa350e" args="" -->
-typedef ptrdiff_t </td><td class="memItemRight" valign="bottom"><b>difference_type</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8c29033785d76e240ea96ae40610275d"></a><!-- doxytag: member="tbb::concurrent_vector::reference" ref="8c29033785d76e240ea96ae40610275d" args="" -->
-typedef T & </td><td class="memItemRight" valign="bottom"><b>reference</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b0b2a6241ab3fa9ab4f4074893fecd47"></a><!-- doxytag: member="tbb::concurrent_vector::const_reference" ref="b0b2a6241ab3fa9ab4f4074893fecd47" args="" -->
-typedef const T & </td><td class="memItemRight" valign="bottom"><b>const_reference</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="74319c908a32d5dcdc6a080f9c2b8803"></a><!-- doxytag: member="tbb::concurrent_vector::pointer" ref="74319c908a32d5dcdc6a080f9c2b8803" args="" -->
-typedef T * </td><td class="memItemRight" valign="bottom"><b>pointer</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="dd80729019220cdb80872ea6b905ffb1"></a><!-- doxytag: member="tbb::concurrent_vector::const_pointer" ref="dd80729019220cdb80872ea6b905ffb1" args="" -->
-typedef const T * </td><td class="memItemRight" valign="bottom"><b>const_pointer</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a049674e7f386de3ea09ff2ed6d6bbbe"></a><!-- doxytag: member="tbb::concurrent_vector::iterator" ref="a049674e7f386de3ea09ff2ed6d6bbbe" args="" -->
-typedef internal::vector_iterator<<br>
- <a class="el" href="a00288.html">concurrent_vector</a>, T > </td><td class="memItemRight" valign="bottom"><b>iterator</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b51a1baa7da67e283806c0d4f2fe9c69"></a><!-- doxytag: member="tbb::concurrent_vector::const_iterator" ref="b51a1baa7da67e283806c0d4f2fe9c69" args="" -->
-typedef internal::vector_iterator<<br>
- <a class="el" href="a00288.html">concurrent_vector</a>, const <br>
-T > </td><td class="memItemRight" valign="bottom"><b>const_iterator</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2c7e4d252bef7af22286041c39c62abe"></a><!-- doxytag: member="tbb::concurrent_vector::reverse_iterator" ref="2c7e4d252bef7af22286041c39c62abe" args="" -->
-typedef std::reverse_iterator<<br>
- iterator > </td><td class="memItemRight" valign="bottom"><b>reverse_iterator</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c59c3f9412b666a31a9052b789fb58bc"></a><!-- doxytag: member="tbb::concurrent_vector::const_reverse_iterator" ref="c59c3f9412b666a31a9052b789fb58bc" args="" -->
-typedef std::reverse_iterator<<br>
- const_iterator > </td><td class="memItemRight" valign="bottom"><b>const_reverse_iterator</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0c3901b092e9e8185bdc3cae5913e625"></a><!-- doxytag: member="tbb::concurrent_vector::reverse_iterator" ref="0c3901b092e9e8185bdc3cae5913e625" args="" -->
-typedef std::reverse_iterator<<br>
- iterator, T, T &, T * > </td><td class="memItemRight" valign="bottom"><b>reverse_iterator</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="426145d7bd5913bc08e701c14b221046"></a><!-- doxytag: member="tbb::concurrent_vector::const_reverse_iterator" ref="426145d7bd5913bc08e701c14b221046" args="" -->
-typedef std::reverse_iterator<<br>
- const_iterator, T, const <br>
-T &, const T * > </td><td class="memItemRight" valign="bottom"><b>const_reverse_iterator</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="61fd90288dba6f8808d6dafe9a249ec5"></a><!-- doxytag: member="tbb::concurrent_vector::range_type" ref="61fd90288dba6f8808d6dafe9a249ec5" args="" -->
-typedef generic_range_type<<br>
- iterator > </td><td class="memItemRight" valign="bottom"><b>range_type</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d6ddf0312a820a98efd9a5f394cb9dbd"></a><!-- doxytag: member="tbb::concurrent_vector::const_range_type" ref="d6ddf0312a820a98efd9a5f394cb9dbd" args="" -->
-typedef generic_range_type<<br>
- const_iterator > </td><td class="memItemRight" valign="bottom"><b>const_range_type</b></td></tr>
-
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2c8ca9cabfcd30ad5943324c853664b5"></a><!-- doxytag: member="tbb::concurrent_vector::concurrent_vector" ref="2c8ca9cabfcd30ad5943324c853664b5" args="(const allocator_type &a=allocator_type())" -->
- </td><td class="memItemRight" valign="bottom"><a class="el" href="a00288.html#2c8ca9cabfcd30ad5943324c853664b5">concurrent_vector</a> (const allocator_type &a=allocator_type())</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Construct empty vector. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4b4937fc82ba4c8245a87a079476d80a"></a><!-- doxytag: member="tbb::concurrent_vector::concurrent_vector" ref="4b4937fc82ba4c8245a87a079476d80a" args="(std::initializer_list< T > init_list, const allocator_type &a=allocator_type())" -->
- </td><td class="memItemRight" valign="bottom"><a class="el" href="a00288.html#4b4937fc82ba4c8245a87a079476d80a">concurrent_vector</a> (std::initializer_list< T > init_list, const allocator_type &a=allocator_type())</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Constructor from initializer_list. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="dd8a200b99a8088435a37934b58fe335"></a><!-- doxytag: member="tbb::concurrent_vector::concurrent_vector" ref="dd8a200b99a8088435a37934b58fe335" args="(const concurrent_vector &vector, const allocator_type &a=allocator_type())" -->
- </td><td class="memItemRight" valign="bottom"><a class="el" href="a00288.html#dd8a200b99a8088435a37934b58fe335">concurrent_vector</a> (const <a class="el" href="a00288.html">concurrent_vector</a> &vector, const allocator_type &a=allocator_type())</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Copying constructor. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="64432f13f7b29bfe4acfb5568f34f3a8"></a><!-- doxytag: member="tbb::concurrent_vector::concurrent_vector" ref="64432f13f7b29bfe4acfb5568f34f3a8" args="(const concurrent_vector< T, M > &vector, const allocator_type &a=allocator_type())" -->
-template<class M> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00288.html#64432f13f7b29bfe4acfb5568f34f3a8">concurrent_vector</a> (const <a class="el" href="a00288.html">concurrent_vector</a>< T, M > &vector, const allocator_type &a=allocator_type())</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Copying constructor for vector with different allocator type. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2a2e261dfe1cab3f73f7b1a94137cfca"></a><!-- doxytag: member="tbb::concurrent_vector::concurrent_vector" ref="2a2e261dfe1cab3f73f7b1a94137cfca" args="(size_type n)" -->
- </td><td class="memItemRight" valign="bottom"><a class="el" href="a00288.html#2a2e261dfe1cab3f73f7b1a94137cfca">concurrent_vector</a> (size_type n)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Construction with initial size specified by argument n. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3883a8a908b44e249a57f454de3f55d8"></a><!-- doxytag: member="tbb::concurrent_vector::concurrent_vector" ref="3883a8a908b44e249a57f454de3f55d8" args="(size_type n, const_reference t, const allocator_type &a=allocator_type())" -->
- </td><td class="memItemRight" valign="bottom"><a class="el" href="a00288.html#3883a8a908b44e249a57f454de3f55d8">concurrent_vector</a> (size_type n, const_reference t, const allocator_type &a=allocator_type())</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Construction with initial size specified by argument n, initialization by copying of t, and given allocator instance. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="4450de83c5862ea4bcd9443fd7e67419"></a><!-- doxytag: member="tbb::concurrent_vector::concurrent_vector" ref="4450de83c5862ea4bcd9443fd7e67419" args="(I first, I last, const allocator_type &a=allocator_type())" -->
-template<class I> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00288.html#4450de83c5862ea4bcd9443fd7e67419">concurrent_vector</a> (I first, I last, const allocator_type &a=allocator_type())</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Construction with copying iteration range and given allocator instance. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="691f0f3cda3e489c37a657016e375eaf"></a><!-- doxytag: member="tbb::concurrent_vector::operator=" ref="691f0f3cda3e489c37a657016e375eaf" args="(const concurrent_vector &vector)" -->
-<a class="el" href="a00288.html">concurrent_vector</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="a00288.html#691f0f3cda3e489c37a657016e375eaf">operator=</a> (const <a class="el" href="a00288.html">concurrent_vector</a> &vector)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Assignment. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="19f4ab88a01b0fd056af3bba463e7bd6"></a><!-- doxytag: member="tbb::concurrent_vector::operator=" ref="19f4ab88a01b0fd056af3bba463e7bd6" args="(const concurrent_vector< T, M > &vector)" -->
-template<class M> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"><a class="el" href="a00288.html">concurrent_vector</a> & </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00288.html#19f4ab88a01b0fd056af3bba463e7bd6">operator=</a> (const <a class="el" href="a00288.html">concurrent_vector</a>< T, M > &vector)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Assignment for vector with different allocator type. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="85cc876b1dec457b831b4745be274be1"></a><!-- doxytag: member="tbb::concurrent_vector::operator=" ref="85cc876b1dec457b831b4745be274be1" args="(const std::initializer_list< T > &init_list)" -->
-<a class="el" href="a00288.html">concurrent_vector</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="a00288.html#85cc876b1dec457b831b4745be274be1">operator=</a> (const std::initializer_list< T > &init_list)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Assignment for initializer_list. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">size_type </td><td class="memItemRight" valign="bottom"><a class="el" href="a00288.html#30484e3959892fd5392fa93c873c31f0">grow_by</a> (size_type delta)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Grow by "delta" elements.  <a href="#30484e3959892fd5392fa93c873c31f0"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">iterator </td><td class="memItemRight" valign="bottom"><a class="el" href="a00288.html#c8177b1865270ea68aa1ab9148e5e35e">grow_by</a> (size_type delta)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">size_type </td><td class="memItemRight" valign="bottom"><a class="el" href="a00288.html#38274ab3f772ecba600c7daca7690102">grow_by</a> (size_type delta, const_reference t)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Grow by "delta" elements using copying constructor.  <a href="#38274ab3f772ecba600c7daca7690102"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">iterator </td><td class="memItemRight" valign="bottom"><a class="el" href="a00288.html#473a59a4c9308b93411b898b3110d26c">grow_by</a> (size_type delta, const_reference t)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00288.html#47fe588214dd5fa06ab6e8ab78d83874">grow_to_at_least</a> (size_type n)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Append minimal sequence of elements such that <a class="el" href="a00288.html#715fe313c4a9c22731cc404dd80c9ec9">size()</a>>=n.  <a href="#47fe588214dd5fa06ab6e8ab78d83874"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">iterator </td><td class="memItemRight" valign="bottom"><a class="el" href="a00288.html#a7e3b67c8ccab16d0aecc80899ae799d">grow_to_at_least</a> (size_type n)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">size_type </td><td class="memItemRight" valign="bottom"><a class="el" href="a00288.html#e94e038f915c0268fdf2d3d7f87d81b8">push_back</a> (const_reference item) iterator push_back(const _reference item)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Push item.  <a href="#e94e038f915c0268fdf2d3d7f87d81b8"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">reference </td><td class="memItemRight" valign="bottom"><a class="el" href="a00288.html#4c52f2950bb1832886bd4458eb09d7eb">operator[]</a> (size_type index)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Get reference to element at given index.  <a href="#4c52f2950bb1832886bd4458eb09d7eb"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c6fade5c732cc95274d1d8277ea619d1"></a><!-- doxytag: member="tbb::concurrent_vector::operator[]" ref="c6fade5c732cc95274d1d8277ea619d1" args="(size_type index) const " -->
-const_reference </td><td class="memItemRight" valign="bottom"><a class="el" href="a00288.html#c6fade5c732cc95274d1d8277ea619d1">operator[]</a> (size_type index) const </td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Get const reference to element at given index. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0c073ca43e787c7cbf7b0e26d2221748"></a><!-- doxytag: member="tbb::concurrent_vector::at" ref="0c073ca43e787c7cbf7b0e26d2221748" args="(size_type index)" -->
-reference </td><td class="memItemRight" valign="bottom"><a class="el" href="a00288.html#0c073ca43e787c7cbf7b0e26d2221748">at</a> (size_type index)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Get reference to element at given index. Throws exceptions on errors. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="23e14a38af748edff96a7adc3a0f1c58"></a><!-- doxytag: member="tbb::concurrent_vector::at" ref="23e14a38af748edff96a7adc3a0f1c58" args="(size_type index) const " -->
-const_reference </td><td class="memItemRight" valign="bottom"><a class="el" href="a00288.html#23e14a38af748edff96a7adc3a0f1c58">at</a> (size_type index) const </td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Get const reference to element at given index. Throws exceptions on errors. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a4c6ffff3bf08b92939aa2fc516edfba"></a><!-- doxytag: member="tbb::concurrent_vector::range" ref="a4c6ffff3bf08b92939aa2fc516edfba" args="(size_t grainsize=1)" -->
-range_type </td><td class="memItemRight" valign="bottom"><a class="el" href="a00288.html#a4c6ffff3bf08b92939aa2fc516edfba">range</a> (size_t grainsize=1)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Get range for iterating with parallel algorithms. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3d09ccfb581b879ae64203741035e193"></a><!-- doxytag: member="tbb::concurrent_vector::range" ref="3d09ccfb581b879ae64203741035e193" args="(size_t grainsize=1) const " -->
-const_range_type </td><td class="memItemRight" valign="bottom"><a class="el" href="a00288.html#3d09ccfb581b879ae64203741035e193">range</a> (size_t grainsize=1) const </td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Get const range for iterating with parallel algorithms. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="715fe313c4a9c22731cc404dd80c9ec9"></a><!-- doxytag: member="tbb::concurrent_vector::size" ref="715fe313c4a9c22731cc404dd80c9ec9" args="() const " -->
-size_type </td><td class="memItemRight" valign="bottom"><a class="el" href="a00288.html#715fe313c4a9c22731cc404dd80c9ec9">size</a> () const </td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Return size of vector. It may include elements under construction. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c6426cb93cf20d3af40f3c90f1f0481a"></a><!-- doxytag: member="tbb::concurrent_vector::empty" ref="c6426cb93cf20d3af40f3c90f1f0481a" args="() const " -->
-bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00288.html#c6426cb93cf20d3af40f3c90f1f0481a">empty</a> () const </td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Return false if vector is not empty or has elements under construction at least. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3ed6b9ae7217af5103d974045b6f5cd5"></a><!-- doxytag: member="tbb::concurrent_vector::capacity" ref="3ed6b9ae7217af5103d974045b6f5cd5" args="() const " -->
-size_type </td><td class="memItemRight" valign="bottom"><a class="el" href="a00288.html#3ed6b9ae7217af5103d974045b6f5cd5">capacity</a> () const </td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Maximum size to which array can grow without allocating more memory. Concurrent allocations are not included in the value. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00288.html#5a0ce05026994b010018f72cfdeb72c1">reserve</a> (size_type n)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Allocate enough space to grow to size n without having to allocate more memory later.  <a href="#5a0ce05026994b010018f72cfdeb72c1"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8dfb0cb0eef96d440b4dcf801807a718"></a><!-- doxytag: member="tbb::concurrent_vector::resize" ref="8dfb0cb0eef96d440b4dcf801807a718" args="(size_type n)" -->
-void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00288.html#8dfb0cb0eef96d440b4dcf801807a718">resize</a> (size_type n)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Resize the vector. Not thread-safe. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="98ce6b2c6d2622f0c030b46dfac3880c"></a><!-- doxytag: member="tbb::concurrent_vector::resize" ref="98ce6b2c6d2622f0c030b46dfac3880c" args="(size_type n, const_reference t)" -->
-void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00288.html#98ce6b2c6d2622f0c030b46dfac3880c">resize</a> (size_type n, const_reference t)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Resize the vector, copy t for new elements. Not thread-safe. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1693d1da41b1a8235871be9c6633be35"></a><!-- doxytag: member="tbb::concurrent_vector::compact" ref="1693d1da41b1a8235871be9c6633be35" args="()" -->
-void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00288.html#1693d1da41b1a8235871be9c6633be35">compact</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">An alias for <a class="el" href="a00288.html#03c6f4cf66532bf4cc907ee738a9a186">shrink_to_fit()</a>. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="03c6f4cf66532bf4cc907ee738a9a186"></a><!-- doxytag: member="tbb::concurrent_vector::shrink_to_fit" ref="03c6f4cf66532bf4cc907ee738a9a186" args="()" -->
-void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00288.html#03c6f4cf66532bf4cc907ee738a9a186">shrink_to_fit</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Optimize memory usage and fragmentation. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2c248a017f0576df3e7cd99627836fd6"></a><!-- doxytag: member="tbb::concurrent_vector::max_size" ref="2c248a017f0576df3e7cd99627836fd6" args="() const " -->
-size_type </td><td class="memItemRight" valign="bottom"><a class="el" href="a00288.html#2c248a017f0576df3e7cd99627836fd6">max_size</a> () const </td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Upper bound on argument to reserve. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="730b23a251ecb6d37f692fb22f38e029"></a><!-- doxytag: member="tbb::concurrent_vector::begin" ref="730b23a251ecb6d37f692fb22f38e029" args="()" -->
-iterator </td><td class="memItemRight" valign="bottom"><a class="el" href="a00288.html#730b23a251ecb6d37f692fb22f38e029">begin</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">start iterator <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c0b51160e5a764982ec97a455f94f2c6"></a><!-- doxytag: member="tbb::concurrent_vector::end" ref="c0b51160e5a764982ec97a455f94f2c6" args="()" -->
-iterator </td><td class="memItemRight" valign="bottom"><a class="el" href="a00288.html#c0b51160e5a764982ec97a455f94f2c6">end</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">end iterator <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="78a06182276ff758788d4c0623ae0d71"></a><!-- doxytag: member="tbb::concurrent_vector::begin" ref="78a06182276ff758788d4c0623ae0d71" args="() const " -->
-const_iterator </td><td class="memItemRight" valign="bottom"><a class="el" href="a00288.html#78a06182276ff758788d4c0623ae0d71">begin</a> () const </td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">start const iterator <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1e6aa764ce5a1cbd24526f68bc0a2f6b"></a><!-- doxytag: member="tbb::concurrent_vector::end" ref="1e6aa764ce5a1cbd24526f68bc0a2f6b" args="() const " -->
-const_iterator </td><td class="memItemRight" valign="bottom"><a class="el" href="a00288.html#1e6aa764ce5a1cbd24526f68bc0a2f6b">end</a> () const </td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">end const iterator <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f88fcf1c920693c39bd9709db33c199f"></a><!-- doxytag: member="tbb::concurrent_vector::cbegin" ref="f88fcf1c920693c39bd9709db33c199f" args="() const " -->
-const_iterator </td><td class="memItemRight" valign="bottom"><a class="el" href="a00288.html#f88fcf1c920693c39bd9709db33c199f">cbegin</a> () const </td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">start const iterator <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0c15a5d0f1cf75d687dabba07da1d46b"></a><!-- doxytag: member="tbb::concurrent_vector::cend" ref="0c15a5d0f1cf75d687dabba07da1d46b" args="() const " -->
-const_iterator </td><td class="memItemRight" valign="bottom"><a class="el" href="a00288.html#0c15a5d0f1cf75d687dabba07da1d46b">cend</a> () const </td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">end const iterator <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5e220926d09236d98f04fe0721e5f9a1"></a><!-- doxytag: member="tbb::concurrent_vector::rbegin" ref="5e220926d09236d98f04fe0721e5f9a1" args="()" -->
-reverse_iterator </td><td class="memItemRight" valign="bottom"><a class="el" href="a00288.html#5e220926d09236d98f04fe0721e5f9a1">rbegin</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">reverse start iterator <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="290119a4eb43cd6a9e98fa17016ba3c2"></a><!-- doxytag: member="tbb::concurrent_vector::rend" ref="290119a4eb43cd6a9e98fa17016ba3c2" args="()" -->
-reverse_iterator </td><td class="memItemRight" valign="bottom"><a class="el" href="a00288.html#290119a4eb43cd6a9e98fa17016ba3c2">rend</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">reverse end iterator <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9f9c103e18d5f212703805354074ad44"></a><!-- doxytag: member="tbb::concurrent_vector::rbegin" ref="9f9c103e18d5f212703805354074ad44" args="() const " -->
-const_reverse_iterator </td><td class="memItemRight" valign="bottom"><a class="el" href="a00288.html#9f9c103e18d5f212703805354074ad44">rbegin</a> () const </td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">reverse start const iterator <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d438b9b32ea3a8ffb703015b6dce055b"></a><!-- doxytag: member="tbb::concurrent_vector::rend" ref="d438b9b32ea3a8ffb703015b6dce055b" args="() const " -->
-const_reverse_iterator </td><td class="memItemRight" valign="bottom"><a class="el" href="a00288.html#d438b9b32ea3a8ffb703015b6dce055b">rend</a> () const </td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">reverse end const iterator <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="db78a1d28c9c966050e8a2926d834a33"></a><!-- doxytag: member="tbb::concurrent_vector::crbegin" ref="db78a1d28c9c966050e8a2926d834a33" args="() const " -->
-const_reverse_iterator </td><td class="memItemRight" valign="bottom"><a class="el" href="a00288.html#db78a1d28c9c966050e8a2926d834a33">crbegin</a> () const </td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">reverse start const iterator <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="fff9cece89438587997ebedf93c5e962"></a><!-- doxytag: member="tbb::concurrent_vector::crend" ref="fff9cece89438587997ebedf93c5e962" args="() const " -->
-const_reverse_iterator </td><td class="memItemRight" valign="bottom"><a class="el" href="a00288.html#fff9cece89438587997ebedf93c5e962">crend</a> () const </td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">reverse end const iterator <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="15181759c0bfa2ddce5d10c7550e0002"></a><!-- doxytag: member="tbb::concurrent_vector::front" ref="15181759c0bfa2ddce5d10c7550e0002" args="()" -->
-reference </td><td class="memItemRight" valign="bottom"><a class="el" href="a00288.html#15181759c0bfa2ddce5d10c7550e0002">front</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">the first item <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="502615a858eb9fa0390ee59169065e90"></a><!-- doxytag: member="tbb::concurrent_vector::front" ref="502615a858eb9fa0390ee59169065e90" args="() const " -->
-const_reference </td><td class="memItemRight" valign="bottom"><a class="el" href="a00288.html#502615a858eb9fa0390ee59169065e90">front</a> () const </td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">the first item const <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="41ce48d6015a1a2812d41cf620ec3476"></a><!-- doxytag: member="tbb::concurrent_vector::back" ref="41ce48d6015a1a2812d41cf620ec3476" args="()" -->
-reference </td><td class="memItemRight" valign="bottom"><a class="el" href="a00288.html#41ce48d6015a1a2812d41cf620ec3476">back</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">the last item <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="bd518e204107d07fd08d0ec5bdfd383d"></a><!-- doxytag: member="tbb::concurrent_vector::back" ref="bd518e204107d07fd08d0ec5bdfd383d" args="() const " -->
-const_reference </td><td class="memItemRight" valign="bottom"><a class="el" href="a00288.html#bd518e204107d07fd08d0ec5bdfd383d">back</a> () const </td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">the last item const <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2fdba8e90de6a4d2300222236d46758e"></a><!-- doxytag: member="tbb::concurrent_vector::get_allocator" ref="2fdba8e90de6a4d2300222236d46758e" args="() const " -->
-allocator_type </td><td class="memItemRight" valign="bottom"><a class="el" href="a00288.html#2fdba8e90de6a4d2300222236d46758e">get_allocator</a> () const </td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">return allocator object <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="423e5aa15e0e3309ad86d026fd85f6f6"></a><!-- doxytag: member="tbb::concurrent_vector::assign" ref="423e5aa15e0e3309ad86d026fd85f6f6" args="(size_type n, const_reference t)" -->
-void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00288.html#423e5aa15e0e3309ad86d026fd85f6f6">assign</a> (size_type n, const_reference t)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">assign n items by copying t item <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="93a06b3112cb804f42f40efb5e7387b4"></a><!-- doxytag: member="tbb::concurrent_vector::assign" ref="93a06b3112cb804f42f40efb5e7387b4" args="(I first, I last)" -->
-template<class I> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00288.html#93a06b3112cb804f42f40efb5e7387b4">assign</a> (I first, I last)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">assign range [first, last) <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c04d64fe86696a084afa117d34384b5f"></a><!-- doxytag: member="tbb::concurrent_vector::assign" ref="c04d64fe86696a084afa117d34384b5f" args="(std::initializer_list< T > init_list)" -->
-void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00288.html#c04d64fe86696a084afa117d34384b5f">assign</a> (std::initializer_list< T > init_list)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">assigns an initializer list <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="96c9c4bd968ed3edb8dd276854d2dae0"></a><!-- doxytag: member="tbb::concurrent_vector::swap" ref="96c9c4bd968ed3edb8dd276854d2dae0" args="(concurrent_vector &vector)" -->
-void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00288.html#96c9c4bd968ed3edb8dd276854d2dae0">swap</a> (<a class="el" href="a00288.html">concurrent_vector</a> &vector)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">swap two instances <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00288.html#26f937a359a66b6aae904c3cd9a3c444">clear</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Clear container while keeping memory allocated.  <a href="#26f937a359a66b6aae904c3cd9a3c444"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="da2444b28bb840d38f60d0030333a5fc"></a><!-- doxytag: member="tbb::concurrent_vector::~concurrent_vector" ref="da2444b28bb840d38f60d0030333a5fc" args="()" -->
- </td><td class="memItemRight" valign="bottom"><a class="el" href="a00288.html#da2444b28bb840d38f60d0030333a5fc">~concurrent_vector</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Clear and destroy vector. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="bb5ae659871478f1f5c68039e1273e12"></a><!-- doxytag: member="tbb::concurrent_vector::internal_vector_base" ref="bb5ae659871478f1f5c68039e1273e12" args="() const " -->
-const internal::concurrent_vector_base_v3 & </td><td class="memItemRight" valign="bottom"><b>internal_vector_base</b> () const </td></tr>
-
-<tr><td colspan="2"><br><h2>Friends</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="30086a58bff79a91103723be20916b96"></a><!-- doxytag: member="tbb::concurrent_vector::internal::vector_iterator" ref="30086a58bff79a91103723be20916b96" args="" -->
-class </td><td class="memItemRight" valign="bottom"><b>internal::vector_iterator</b></td></tr>
-
-<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><b>generic_range_type</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><b>internal_loop_guide</b></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Exception-aware helper class for filling a segment by exception-danger operators of user class. <br></td></tr>
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-<h3>template<typename T, class A><br>
- class tbb::concurrent_vector< T, A ></h3>
-
-Concurrent vector container. 
-<p>
-<a class="el" href="a00288.html">concurrent_vector</a> is a container having the following main properties:<ul>
-<li>It provides random indexed access to its elements. The index of the first element is 0.</li><li>It ensures safe concurrent growing its size (different threads can safely append new elements).</li><li>Adding new elements does not invalidate existing iterators and does not change indices of existing items.</li></ul>
-<p>
-<dl compact><dt><b>Compatibility</b></dt><dd>The class meets all Container Requirements and Reversible Container Requirements from C++ Standard (See ISO/IEC 14882:2003(E), clause 23.1). But it doesn't meet Sequence Requirements due to absence of insert() and erase() methods.</dd></dl>
-<dl compact><dt><b>Exception Safety</b></dt><dd>Methods working with memory allocation and/or new elements construction can throw an exception if allocator fails to allocate memory or element's default constructor throws one. Concurrent vector's element of type T must conform to the following requirements:<ul>
-<li>Throwing an exception is forbidden for destructor of T.</li><li>Default constructor of T must not throw an exception OR its non-virtual destructor must safely work when its object memory is zero-initialized.</li></ul>
-Otherwise, the program's behavior is undefined. </dd></dl>
-<dl compact><dt><b></b></dt><dd>If an exception happens inside growth or assignment operation, an instance of the vector becomes invalid unless it is stated otherwise in the method documentation. Invalid state means:<ul>
-<li>There are no guarantees that all items were initialized by a constructor. The rest of items is zero-filled, including item where exception happens.</li><li>An invalid vector instance cannot be repaired; it is unable to grow anymore.</li><li>Size and capacity reported by the vector are incorrect, and calculated as if the failed operation were successful.</li><li>Attempt to access not allocated elements using operator[] or iterators results in access violation or segmentation fault exc [...]
-If a concurrent grow operation successfully completes, all the elements it has added to the vector will remain valid and accessible even if one of subsequent grow operations fails.</dd></dl>
-<dl compact><dt><b>Fragmentation</b></dt><dd>Unlike an STL vector, a <a class="el" href="a00288.html">concurrent_vector</a> does not move existing elements if it needs to allocate more memory. The container is divided into a series of contiguous arrays of elements. The first reservation, growth, or assignment operation determines the size of the first array. Using small number of elements as initial size incurs fragmentation that may increase element access time. Internal layout can be o [...]
-<dl compact><dt><b>Changes since TBB 2.1</b></dt><dd><ul>
-<li>Fixed guarantees of <a class="el" href="a00288.html#715fe313c4a9c22731cc404dd80c9ec9">concurrent_vector::size()</a> and <a class="el" href="a00288.html#47fe588214dd5fa06ab6e8ab78d83874">grow_to_at_least()</a> methods to assure elements are allocated.</li><li>Methods <a class="el" href="a00288.html#c0b51160e5a764982ec97a455f94f2c6">end()</a>/rbegin()/back() are partly thread-safe since they use <a class="el" href="a00288.html#715fe313c4a9c22731cc404dd80c9ec9">size()</a> to get the end [...]
-</dd></dl>
-<dl compact><dt><b>Changes since TBB 2.0</b></dt><dd><ul>
-<li>Implemented exception-safety guarantees</li><li>Added template argument for allocator</li><li>Added allocator argument in constructors</li><li>Faster index calculation</li><li>First growth call specifies a number of segments to be merged in the first allocation.</li><li>Fixed memory blow up for swarm of vector's instances of small size</li><li>Added <a class="el" href="a00288.html#38274ab3f772ecba600c7daca7690102">grow_by(size_type n, const_reference t)</a> growth using copying const [...]
-</dd></dl>
-
-<p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="26f937a359a66b6aae904c3cd9a3c444"></a><!-- doxytag: member="tbb::concurrent_vector::clear" ref="26f937a359a66b6aae904c3cd9a3c444" args="()" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template<typename T, class A> </div>
-      <table class="memname">
-        <tr>
-          <td class="memname">void <a class="el" href="a00288.html">tbb::concurrent_vector</a>< T, A >::clear           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td> ) </td>
-          <td width="100%"><code> [inline]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Clear container while keeping memory allocated. 
-<p>
-To free up the memory, use in conjunction with method <a class="el" href="a00288.html#1693d1da41b1a8235871be9c6633be35">compact()</a>. Not thread safe 
-</div>
-</div><p>
-<a class="anchor" name="473a59a4c9308b93411b898b3110d26c"></a><!-- doxytag: member="tbb::concurrent_vector::grow_by" ref="473a59a4c9308b93411b898b3110d26c" args="(size_type delta, const_reference t)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template<typename T, class A> </div>
-      <table class="memname">
-        <tr>
-          <td class="memname">iterator <a class="el" href="a00288.html">tbb::concurrent_vector</a>< T, A >::grow_by           </td>
-          <td>(</td>
-          <td class="paramtype">size_type </td>
-          <td class="paramname"> <em>delta</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const_reference </td>
-          <td class="paramname"> <em>t</em></td><td> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td width="100%"><code> [inline]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Returns iterator pointing to the first new element. 
-</div>
-</div><p>
-<a class="anchor" name="38274ab3f772ecba600c7daca7690102"></a><!-- doxytag: member="tbb::concurrent_vector::grow_by" ref="38274ab3f772ecba600c7daca7690102" args="(size_type delta, const_reference t)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template<typename T, class A> </div>
-      <table class="memname">
-        <tr>
-          <td class="memname">size_type <a class="el" href="a00288.html">tbb::concurrent_vector</a>< T, A >::grow_by           </td>
-          <td>(</td>
-          <td class="paramtype">size_type </td>
-          <td class="paramname"> <em>delta</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const_reference </td>
-          <td class="paramname"> <em>t</em></td><td> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td width="100%"><code> [inline]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Grow by "delta" elements using copying constructor. 
-<p>
-Returns old size. 
-</div>
-</div><p>
-<a class="anchor" name="c8177b1865270ea68aa1ab9148e5e35e"></a><!-- doxytag: member="tbb::concurrent_vector::grow_by" ref="c8177b1865270ea68aa1ab9148e5e35e" args="(size_type delta)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template<typename T, class A> </div>
-      <table class="memname">
-        <tr>
-          <td class="memname">iterator <a class="el" href="a00288.html">tbb::concurrent_vector</a>< T, A >::grow_by           </td>
-          <td>(</td>
-          <td class="paramtype">size_type </td>
-          <td class="paramname"> <em>delta</em>          </td>
-          <td> ) </td>
-          <td width="100%"><code> [inline]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Returns iterator pointing to the first new element. 
-</div>
-</div><p>
-<a class="anchor" name="30484e3959892fd5392fa93c873c31f0"></a><!-- doxytag: member="tbb::concurrent_vector::grow_by" ref="30484e3959892fd5392fa93c873c31f0" args="(size_type delta)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template<typename T, class A> </div>
-      <table class="memname">
-        <tr>
-          <td class="memname">size_type <a class="el" href="a00288.html">tbb::concurrent_vector</a>< T, A >::grow_by           </td>
-          <td>(</td>
-          <td class="paramtype">size_type </td>
-          <td class="paramname"> <em>delta</em>          </td>
-          <td> ) </td>
-          <td width="100%"><code> [inline]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Grow by "delta" elements. 
-<p>
-Returns old size. 
-</div>
-</div><p>
-<a class="anchor" name="a7e3b67c8ccab16d0aecc80899ae799d"></a><!-- doxytag: member="tbb::concurrent_vector::grow_to_at_least" ref="a7e3b67c8ccab16d0aecc80899ae799d" args="(size_type n)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template<typename T, class A> </div>
-      <table class="memname">
-        <tr>
-          <td class="memname">iterator <a class="el" href="a00288.html">tbb::concurrent_vector</a>< T, A >::grow_to_at_least           </td>
-          <td>(</td>
-          <td class="paramtype">size_type </td>
-          <td class="paramname"> <em>n</em>          </td>
-          <td> ) </td>
-          <td width="100%"><code> [inline]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-The new elements are default constructed. Blocks until all elements in range [0..n) are allocated. May return while other elements are being constructed by other threads. Returns iterator that points to beginning of appended sequence. If no elements were appended, returns iterator pointing to nth element. 
-</div>
-</div><p>
-<a class="anchor" name="47fe588214dd5fa06ab6e8ab78d83874"></a><!-- doxytag: member="tbb::concurrent_vector::grow_to_at_least" ref="47fe588214dd5fa06ab6e8ab78d83874" args="(size_type n)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template<typename T, class A> </div>
-      <table class="memname">
-        <tr>
-          <td class="memname">void <a class="el" href="a00288.html">tbb::concurrent_vector</a>< T, A >::grow_to_at_least           </td>
-          <td>(</td>
-          <td class="paramtype">size_type </td>
-          <td class="paramname"> <em>n</em>          </td>
-          <td> ) </td>
-          <td width="100%"><code> [inline]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Append minimal sequence of elements such that <a class="el" href="a00288.html#715fe313c4a9c22731cc404dd80c9ec9">size()</a>>=n. 
-<p>
-The new elements are default constructed. Blocks until all elements in range [0..n) are allocated. May return while other elements are being constructed by other threads. 
-</div>
-</div><p>
-<a class="anchor" name="4c52f2950bb1832886bd4458eb09d7eb"></a><!-- doxytag: member="tbb::concurrent_vector::operator[]" ref="4c52f2950bb1832886bd4458eb09d7eb" args="(size_type index)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template<typename T, class A> </div>
-      <table class="memname">
-        <tr>
-          <td class="memname">reference <a class="el" href="a00288.html">tbb::concurrent_vector</a>< T, A >::operator[]           </td>
-          <td>(</td>
-          <td class="paramtype">size_type </td>
-          <td class="paramname"> <em>index</em>          </td>
-          <td> ) </td>
-          <td width="100%"><code> [inline]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Get reference to element at given index. 
-<p>
-This method is thread-safe for concurrent reads, and also while growing the vector, as long as the calling thread has checked that index<<a class="el" href="a00288.html#715fe313c4a9c22731cc404dd80c9ec9">size()</a>. 
-</div>
-</div><p>
-<a class="anchor" name="e94e038f915c0268fdf2d3d7f87d81b8"></a><!-- doxytag: member="tbb::concurrent_vector::push_back" ref="e94e038f915c0268fdf2d3d7f87d81b8" args="(const_reference item) iterator push_back(const _reference item)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template<typename T, class A> </div>
-      <table class="memname">
-        <tr>
-          <td class="memname">size_type <a class="el" href="a00288.html">tbb::concurrent_vector</a>< T, A >::push_back           </td>
-          <td>(</td>
-          <td class="paramtype">const_reference </td>
-          <td class="paramname"> <em>item</em>          </td>
-          <td> ) </td>
-          <td width="100%"> const<code> [inline]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Push item. 
-<p>
-Returns iterator pointing to the new element. 
-</div>
-</div><p>
-<a class="anchor" name="5a0ce05026994b010018f72cfdeb72c1"></a><!-- doxytag: member="tbb::concurrent_vector::reserve" ref="5a0ce05026994b010018f72cfdeb72c1" args="(size_type n)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template<typename T, class A> </div>
-      <table class="memname">
-        <tr>
-          <td class="memname">void <a class="el" href="a00288.html">tbb::concurrent_vector</a>< T, A >::reserve           </td>
-          <td>(</td>
-          <td class="paramtype">size_type </td>
-          <td class="paramname"> <em>n</em>          </td>
-          <td> ) </td>
-          <td width="100%"><code> [inline]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Allocate enough space to grow to size n without having to allocate more memory later. 
-<p>
-Like most of the methods provided for STL compatibility, this method is *not* thread safe. The capacity afterwards may be bigger than the requested reservation. 
-</div>
-</div><p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li>concurrent_vector.h</ul>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00141.html">task_scheduler_init</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::task_scheduler_init Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="a00141.html">tbb::task_scheduler_init</a>, including all inherited members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" href="a00141.html#a945886f5ef48300a8ebff2d077c166b1">automatic</a></td><td class="entry"><a class="el" href="a00141.html">tbb::task_scheduler_init</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00141.html#aa0c0d46ec09bedc1ee876aa8aa87c3d1">default_num_threads</a>()</td><td class="entry"><a class="el" href="a00141.html">tbb::task_scheduler_init</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00141.html#af0e49ff2f59a4e53c9c07897b57f084d">deferred</a></td><td class="entry"><a class="el" href="a00141.html">tbb::task_scheduler_init</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>if</b>(wait_workers_in_terminate) my_scheduler (defined in <a class="el" href="a00141.html">tbb::task_scheduler_init</a>)</td><td class="entry"><a class="el" href="a00141.html">tbb::task_scheduler_init</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00141.html#a485028b867bffef5829209330e79e64c">initialize</a>(int number_of_threads=automatic)</td><td class="entry"><a class="el" href="a00141.html">tbb::task_scheduler_init</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="a00141.html#a0f5294f74b123a646a1762c68d11e39a">initialize</a>(int number_of_threads, stack_size_type thread_stack_size)</td><td class="entry"><a class="el" href="a00141.html">tbb::task_scheduler_init</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>initialize</b>(number_of_threads, thread_stack_size) (defined in <a class="el" href="a00141.html">tbb::task_scheduler_init</a>)</td><td class="entry"><a class="el" href="a00141.html">tbb::task_scheduler_init</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="a00141.html#aed5505d7fed9d5493676aa15c176512c">is_active</a>() const </td><td class="entry"><a class="el" href="a00141.html">tbb::task_scheduler_init</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00141.html#a15d5dca7f79c5769bb96f674e4da0c04">terminate</a>()</td><td class="entry"><a class="el" href="a00141.html">tbb::task_scheduler_init</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="a00141.html#a8310e807e1199d0f23b3a57aeb4fde51">thread_stack_size</a></td><td class="entry"><a class="el" href="a00141.html">tbb::task_scheduler_init</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00141.html#a20b121334ec39c1d91bd4fe9a51892b0">~task_scheduler_init</a>()</td><td class="entry"><a class="el" href="a00141.html">tbb::task_scheduler_init</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+</table></div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00289.html b/doc/html/a00289.html
index 9be621d..b7bbaac 100644
--- a/doc/html/a00289.html
+++ b/doc/html/a00289.html
@@ -1,43 +1,75 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>tbb::flow::interface6::continue_msg Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="nav">
-<a class="el" href="a00428.html">tbb</a>::<b>flow</b>::<b>interface6</b>::<a class="el" href="a00289.html">continue_msg</a></div>
-<h1>tbb::flow::interface6::continue_msg Class Reference</h1><!-- doxytag: class="tbb::flow::interface6::continue_msg" -->An empty class used for messages that mean "I'm done".  
-<a href="#_details">More...</a>
-<p>
-<code>#include <flow_graph.h></code>
-<p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-An empty class used for messages that mean "I'm done". 
-<p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li><a class="el" href="a00385.html">flow_graph.h</a></ul>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00144.html">tbb_allocator</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::tbb_allocator< T > Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="a00144.html">tbb::tbb_allocator< T ></a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>address</b>(reference x) const  (defined in <a class="el" href="a00144.html">tbb::tbb_allocator< T ></a>)</td><td class="entry"><a class="el" href="a00144.html">tbb::tbb_allocator< T ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>address</b>(const_reference x) const  (defined in <a class="el" href="a00144.html">tbb::tbb_allocator< T ></a>)</td><td class="entry"><a class="el" href="a00144.html">tbb::tbb_allocator< T ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00144.html#afedd8a64eed9692083c708f419338e0c">allocate</a>(size_type n, const void *=0)</td><td class="entry"><a class="el" href="a00144.html">tbb::tbb_allocator< T ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00144.html#aa4606cff0156ec4237c1571204851bfb">allocator_type</a>()</td><td class="entry"><a class="el" href="a00144.html">tbb::tbb_allocator< T ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>const_pointer</b> typedef (defined in <a class="el" href="a00144.html">tbb::tbb_allocator< T ></a>)</td><td class="entry"><a class="el" href="a00144.html">tbb::tbb_allocator< T ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>const_reference</b> typedef (defined in <a class="el" href="a00144.html">tbb::tbb_allocator< T ></a>)</td><td class="entry"><a class="el" href="a00144.html">tbb::tbb_allocator< T ></a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00144.html#af54fa3029e33cebe5ba64a8538306fdf">construct</a>(U *p, Args &&...args)</td><td class="entry"><a class="el" href="a00144.html">tbb::tbb_allocator< T ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>construct</b>(pointer p, const value_type &value) (defined in <a class="el" href="a00144.html">tbb::tbb_allocator< T ></a>)</td><td class="entry"><a class="el" href="a00144.html">tbb::tbb_allocator< T ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00144.html#a28e333e0fff56dd53c20b82cfee430ab">deallocate</a>(pointer p, size_type)</td><td class="entry"><a class="el" href="a00144.html">tbb::tbb_allocator< T ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00144.html#ac7b1b393a8ff3399079328c0971c1996">destroy</a>(pointer p)</td><td class="entry"><a class="el" href="a00144.html">tbb::tbb_allocator< T ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>difference_type</b> typedef (defined in <a class="el" href="a00144.html">tbb::tbb_allocator< T ></a>)</td><td class="entry"><a class="el" href="a00144.html">tbb::tbb_allocator< T ></a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="a00144.html#a60463a571d5c20f7762112367261ad94">malloc_type</a> enum name</td><td class="entry"><a class="el" href="a00144.html">tbb::tbb_allocator< T ></a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00144.html#a0a2676fb8a2f931961d373b88848c93e">max_size</a>() const </td><td class="entry"><a class="el" href="a00144.html">tbb::tbb_allocator< T ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>pointer</b> typedef (defined in <a class="el" href="a00144.html">tbb::tbb_allocator< T ></a>)</td><td class="entry"><a class="el" href="a00144.html">tbb::tbb_allocator< T ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>reference</b> typedef (defined in <a class="el" href="a00144.html">tbb::tbb_allocator< T ></a>)</td><td class="entry"><a class="el" href="a00144.html">tbb::tbb_allocator< T ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>scalable</b> enum value (defined in <a class="el" href="a00144.html">tbb::tbb_allocator< T ></a>)</td><td class="entry"><a class="el" href="a00144.html">tbb::tbb_allocator< T ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>size_type</b> typedef (defined in <a class="el" href="a00144.html">tbb::tbb_allocator< T ></a>)</td><td class="entry"><a class="el" href="a00144.html">tbb::tbb_allocator< T ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>standard</b> enum value (defined in <a class="el" href="a00144.html">tbb::tbb_allocator< T ></a>)</td><td class="entry"><a class="el" href="a00144.html">tbb::tbb_allocator< T ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>tbb_allocator</b>() (defined in <a class="el" href="a00144.html">tbb::tbb_allocator< T ></a>)</td><td class="entry"><a class="el" href="a00144.html">tbb::tbb_allocator< T ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>tbb_allocator</b>(const tbb_allocator &) (defined in <a class="el" href="a00144.html">tbb::tbb_allocator< T ></a>)</td><td class="entry"><a class="el" href="a00144.html">tbb::tbb_allocator< T ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>tbb_allocator</b>(const tbb_allocator< U > &) (defined in <a class="el" href="a00144.html">tbb::tbb_allocator< T ></a>)</td><td class="entry"><a class="el" href="a00144.html">tbb::tbb_allocator< T ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>value_type</b> typedef (defined in <a class="el" href="a00144.html">tbb::tbb_allocator< T ></a>)</td><td class="entry"><a class="el" href="a00144.html">tbb::tbb_allocator< T ></a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00290.html b/doc/html/a00290.html
index db7254e..c35ac6d 100644
--- a/doc/html/a00290.html
+++ b/doc/html/a00290.html
@@ -1,105 +1,54 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>tbb::flow::interface6::continue_node< Output > Class Template Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="nav">
-<a class="el" href="a00428.html">tbb</a>::<b>flow</b>::<b>interface6</b>::<a class="el" href="a00290.html">continue_node</a></div>
-<h1>tbb::flow::interface6::continue_node< Output > Class Template Reference</h1><!-- doxytag: class="tbb::flow::interface6::continue_node" --><!-- doxytag: inherits="tbb::flow::interface6::graph_node" -->Implements an executable node that supports <a class="el" href="a00289.html">continue_msg</a> -> Output.  
-<a href="#_details">More...</a>
-<p>
-<code>#include <flow_graph.h></code>
-<p>
-<p>Inheritance diagram for tbb::flow::interface6::continue_node< Output >:
-<p><center><img src="a00290.png" usemap="#tbb::flow::interface6::continue_node< Output >_map" border="0" alt=""></center>
-<map name="tbb::flow::interface6::continue_node< Output >_map">
-<area href="a00301.html" alt="tbb::flow::interface6::graph_node" shape="rect" coords="0,0,271,24">
-</map>
-<a href="a00070.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7a06613c9cda6f13a6010e7f2f8d0c23"></a><!-- doxytag: member="tbb::flow::interface6::continue_node::input_type" ref="7a06613c9cda6f13a6010e7f2f8d0c23" args="" -->
-typedef <a class="el" href="a00289.html">continue_msg</a> </td><td class="memItemRight" valign="bottom"><b>input_type</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="01b4d78a352cfb7d62b5ce2d1baa24f3"></a><!-- doxytag: member="tbb::flow::interface6::continue_node::output_type" ref="01b4d78a352cfb7d62b5ce2d1baa24f3" args="" -->
-typedef Output </td><td class="memItemRight" valign="bottom"><b>output_type</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9ae7fda69d7d69c55cf8b57ae7b4b613"></a><!-- doxytag: member="tbb::flow::interface6::continue_node::predecessor_type" ref="9ae7fda69d7d69c55cf8b57ae7b4b613" args="" -->
-typedef <a class="el" href="a00339.html">sender</a>< <a class="el" href="a00289.html">input_type</a> > </td><td class="memItemRight" valign="bottom"><b>predecessor_type</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d5a647a2b302232fe9a8f44940987f21"></a><!-- doxytag: member="tbb::flow::interface6::continue_node::successor_type" ref="d5a647a2b302232fe9a8f44940987f21" args="" -->
-typedef <a class="el" href="a00333.html">receiver</a>< output_type > </td><td class="memItemRight" valign="bottom"><b>successor_type</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d189e966366f2cf0fb036df6db247e72"></a><!-- doxytag: member="tbb::flow::interface6::continue_node::fInput_type" ref="d189e966366f2cf0fb036df6db247e72" args="" -->
-typedef internal::continue_input<<br>
- Output > </td><td class="memItemRight" valign="bottom"><b>fInput_type</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="868190ed9818d1d23eb65c87689657d5"></a><!-- doxytag: member="tbb::flow::interface6::continue_node::fOutput_type" ref="868190ed9818d1d23eb65c87689657d5" args="" -->
-typedef internal::function_output<<br>
- output_type > </td><td class="memItemRight" valign="bottom"><b>fOutput_type</b></td></tr>
-
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="2f200db877d2f80c08d09422e8bffd5a"></a><!-- doxytag: member="tbb::flow::interface6::continue_node::continue_node" ref="2f200db877d2f80c08d09422e8bffd5a" args="(graph &g, Body body)" -->
-template<typename Body> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00290.html#2f200db877d2f80c08d09422e8bffd5a">continue_node</a> (<a class="el" href="a00300.html">graph</a> &g, Body body)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Constructor for executable node with <a class="el" href="a00289.html">continue_msg</a> -> Output. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="7817aebf22dd125ca04df53ac488d163"></a><!-- doxytag: member="tbb::flow::interface6::continue_node::continue_node" ref="7817aebf22dd125ca04df53ac488d163" args="(graph &g, int number_of_predecessors, Body body)" -->
-template<typename Body> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00290.html#7817aebf22dd125ca04df53ac488d163">continue_node</a> (<a class="el" href="a00300.html">graph</a> &g, int number_of_predecessors, Body body)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Constructor for executable node with <a class="el" href="a00289.html">continue_msg</a> -> Output. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="869562787fcb5c57a90aea120f26d492"></a><!-- doxytag: member="tbb::flow::interface6::continue_node::continue_node" ref="869562787fcb5c57a90aea120f26d492" args="(const continue_node &src)" -->
- </td><td class="memItemRight" valign="bottom"><a class="el" href="a00290.html#869562787fcb5c57a90aea120f26d492">continue_node</a> (const <a class="el" href="a00290.html">continue_node</a> &src)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Copy constructor. <br></td></tr>
-<tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a5291ce2b36a6a23d143c0bdf2a5f875"></a><!-- doxytag: member="tbb::flow::interface6::continue_node::reset" ref="a5291ce2b36a6a23d143c0bdf2a5f875" args="()" -->
-void </td><td class="memItemRight" valign="bottom"><b>reset</b> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="23d3b09e13e2dbc32a6308a821e8ba29"></a><!-- doxytag: member="tbb::flow::interface6::continue_node::successors" ref="23d3b09e13e2dbc32a6308a821e8ba29" args="()" -->
-internal::broadcast_cache<<br>
- output_type > & </td><td class="memItemRight" valign="bottom"><b>successors</b> ()</td></tr>
-
-<tr><td colspan="2"><br><h2>Friends</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="621bab40a858d214db69ef08d88b67c1"></a><!-- doxytag: member="tbb::flow::interface6::continue_node::run_and_put_task" ref="621bab40a858d214db69ef08d88b67c1" args="" -->
-class </td><td class="memItemRight" valign="bottom"><b>run_and_put_task</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e4fa30d87bc0bfa80942f97a8d58f1bd"></a><!-- doxytag: member="tbb::flow::interface6::continue_node::internal::broadcast_cache" ref="e4fa30d87bc0bfa80942f97a8d58f1bd" args="" -->
-class </td><td class="memItemRight" valign="bottom"><b>internal::broadcast_cache</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="31ba00ea3e3e5a421b38840bd0dc2589"></a><!-- doxytag: member="tbb::flow::interface6::continue_node::internal::round_robin_cache" ref="31ba00ea3e3e5a421b38840bd0dc2589" args="" -->
-class </td><td class="memItemRight" valign="bottom"><b>internal::round_robin_cache</b></td></tr>
-
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-<h3>template<typename Output><br>
- class tbb::flow::interface6::continue_node< Output ></h3>
-
-Implements an executable node that supports <a class="el" href="a00289.html">continue_msg</a> -> Output. 
-<p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li><a class="el" href="a00385.html">flow_graph.h</a></ul>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00144.html">tbb_allocator</a></li><li class="navelem"><a class="el" href="a00098.html">rebind</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::tbb_allocator< T >::rebind< U > Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="a00098.html">tbb::tbb_allocator< T >::rebind< U ></a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>other</b> typedef (defined in <a class="el" href="a00098.html">tbb::tbb_allocator< T >::rebind< U ></a>)</td><td class="entry"><a class="el" href="a00098.html">tbb::tbb_allocator< T >::rebind< U ></a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00290.png b/doc/html/a00290.png
deleted file mode 100644
index 97eb6db..0000000
Binary files a/doc/html/a00290.png and /dev/null differ
diff --git a/doc/html/a00291.html b/doc/html/a00291.html
index fbd027a..79883cd 100644
--- a/doc/html/a00291.html
+++ b/doc/html/a00291.html
@@ -1,167 +1,56 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>tbb::flow::interface6::continue_receiver Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="nav">
-<a class="el" href="a00428.html">tbb</a>::<b>flow</b>::<b>interface6</b>::<a class="el" href="a00291.html">continue_receiver</a></div>
-<h1>tbb::flow::interface6::continue_receiver Class Reference</h1><!-- doxytag: class="tbb::flow::interface6::continue_receiver" --><!-- doxytag: inherits="tbb::flow::interface6::receiver" -->Base class for receivers of completion messages.  
-<a href="#_details">More...</a>
-<p>
-<code>#include <flow_graph.h></code>
-<p>
-<p>Inheritance diagram for tbb::flow::interface6::continue_receiver:
-<p><center><img src="a00291.png" usemap="#tbb::flow::interface6::continue_receiver_map" border="0" alt=""></center>
-<map name="tbb::flow::interface6::continue_receiver_map">
-<area href="a00333.html" alt="tbb::flow::interface6::receiver< T >" shape="rect" coords="0,0,230,24">
-</map>
-<a href="a00057.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3c43c166af832d9187035985841e0a7f"></a><!-- doxytag: member="tbb::flow::interface6::continue_receiver::input_type" ref="3c43c166af832d9187035985841e0a7f" args="" -->
-typedef <a class="el" href="a00289.html">continue_msg</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00291.html#3c43c166af832d9187035985841e0a7f">input_type</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">The input type. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f9c58b3e9c46afd2518d0fd8957a5a2f"></a><!-- doxytag: member="tbb::flow::interface6::continue_receiver::predecessor_type" ref="f9c58b3e9c46afd2518d0fd8957a5a2f" args="" -->
-typedef <a class="el" href="a00339.html">sender</a>< <a class="el" href="a00289.html">continue_msg</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00291.html#f9c58b3e9c46afd2518d0fd8957a5a2f">predecessor_type</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">The predecessor type for this node. <br></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="177db82d548a1f8471371331890b91a8"></a><!-- doxytag: member="tbb::flow::interface6::continue_receiver::continue_receiver" ref="177db82d548a1f8471371331890b91a8" args="(int number_of_predecessors=0)" -->
- </td><td class="memItemRight" valign="bottom"><a class="el" href="a00291.html#177db82d548a1f8471371331890b91a8">continue_receiver</a> (int number_of_predecessors=0)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Constructor. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a0b292ed7fa6556b2a735f6d1e82dc74"></a><!-- doxytag: member="tbb::flow::interface6::continue_receiver::continue_receiver" ref="a0b292ed7fa6556b2a735f6d1e82dc74" args="(const continue_receiver &src)" -->
- </td><td class="memItemRight" valign="bottom"><a class="el" href="a00291.html#a0b292ed7fa6556b2a735f6d1e82dc74">continue_receiver</a> (const <a class="el" href="a00291.html">continue_receiver</a> &src)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Copy constructor. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1e14828fa079b9835ff7267df5ee45d7"></a><!-- doxytag: member="tbb::flow::interface6::continue_receiver::~continue_receiver" ref="1e14828fa079b9835ff7267df5ee45d7" args="()" -->
-virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="a00291.html#1e14828fa079b9835ff7267df5ee45d7">~continue_receiver</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Destructor. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2fcfa4990a42417bbeb1f3c8b9ac8a22"></a><!-- doxytag: member="tbb::flow::interface6::continue_receiver::register_predecessor" ref="2fcfa4990a42417bbeb1f3c8b9ac8a22" args="(predecessor_type &)" -->
-bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00291.html#2fcfa4990a42417bbeb1f3c8b9ac8a22">register_predecessor</a> (<a class="el" href="a00339.html">predecessor_type</a> &)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Increments the trigger threshold. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00291.html#cb691b18416d4742265aed84d496ebbd">remove_predecessor</a> (<a class="el" href="a00339.html">predecessor_type</a> &)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Decrements the trigger threshold.  <a href="#cb691b18416d4742265aed84d496ebbd"></a><br></td></tr>
-<tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d376c9412b0b5953ee2f2705ba993589"></a><!-- doxytag: member="tbb::flow::interface6::continue_receiver::try_put_task" ref="d376c9412b0b5953ee2f2705ba993589" args="(const input_type &)" -->
-<a class="el" href="a00349.html">task</a> * </td><td class="memItemRight" valign="bottom"><b>try_put_task</b> (const <a class="el" href="a00289.html">input_type</a> &)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e884193748f7637fded5bda02e3b7a9d"></a><!-- doxytag: member="tbb::flow::interface6::continue_receiver::reset_receiver" ref="e884193748f7637fded5bda02e3b7a9d" args="()" -->
-void </td><td class="memItemRight" valign="bottom"><b>reset_receiver</b> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="a00349.html">task</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00291.html#2165b726212975be532cff7b2f001834">execute</a> ()=0</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Does whatever should happen when the threshold is reached.  <a href="#2165b726212975be532cff7b2f001834"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7adfecde604fd68d9b0e1e6ae28d9783"></a><!-- doxytag: member="tbb::flow::interface6::continue_receiver::is_continue_receiver" ref="7adfecde604fd68d9b0e1e6ae28d9783" args="()" -->
-bool </td><td class="memItemRight" valign="bottom"><b>is_continue_receiver</b> ()</td></tr>
-
-<tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5cddbd33109e94a68fb5457682a62110"></a><!-- doxytag: member="tbb::flow::interface6::continue_receiver::my_mutex" ref="5cddbd33109e94a68fb5457682a62110" args="" -->
-<a class="el" href="a00343.html">spin_mutex</a> </td><td class="memItemRight" valign="bottom"><b>my_mutex</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="66df49f67e70e7f8e9831d0e362ba84c"></a><!-- doxytag: member="tbb::flow::interface6::continue_receiver::my_predecessor_count" ref="66df49f67e70e7f8e9831d0e362ba84c" args="" -->
-int </td><td class="memItemRight" valign="bottom"><b>my_predecessor_count</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="05fd1ce3c3fd7be3e74817b31fd2f068"></a><!-- doxytag: member="tbb::flow::interface6::continue_receiver::my_current_count" ref="05fd1ce3c3fd7be3e74817b31fd2f068" args="" -->
-int </td><td class="memItemRight" valign="bottom"><b>my_current_count</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8a0d4c3084fd13902c2d38f31c1dc232"></a><!-- doxytag: member="tbb::flow::interface6::continue_receiver::my_initial_predecessor_count" ref="8a0d4c3084fd13902c2d38f31c1dc232" args="" -->
-int </td><td class="memItemRight" valign="bottom"><b>my_initial_predecessor_count</b></td></tr>
-
-<tr><td colspan="2"><br><h2>Friends</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="621bab40a858d214db69ef08d88b67c1"></a><!-- doxytag: member="tbb::flow::interface6::continue_receiver::run_and_put_task" ref="621bab40a858d214db69ef08d88b67c1" args="" -->
-class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00291.html#621bab40a858d214db69ef08d88b67c1">run_and_put_task</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">put item to successor; return task to run the successor if possible. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e4fa30d87bc0bfa80942f97a8d58f1bd"></a><!-- doxytag: member="tbb::flow::interface6::continue_receiver::internal::broadcast_cache" ref="e4fa30d87bc0bfa80942f97a8d58f1bd" args="" -->
-class </td><td class="memItemRight" valign="bottom"><b>internal::broadcast_cache</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="31ba00ea3e3e5a421b38840bd0dc2589"></a><!-- doxytag: member="tbb::flow::interface6::continue_receiver::internal::round_robin_cache" ref="31ba00ea3e3e5a421b38840bd0dc2589" args="" -->
-class </td><td class="memItemRight" valign="bottom"><b>internal::round_robin_cache</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3b6d13039c2a8c1e369e5790895b0088"></a><!-- doxytag: member="tbb::flow::interface6::continue_receiver::limiter_node" ref="3b6d13039c2a8c1e369e5790895b0088" args="" -->
-class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00291.html#3b6d13039c2a8c1e369e5790895b0088">limiter_node</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">put receiver back in initial state <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7e5acd3345f7903a0265a1ef9f3b66bc"></a><!-- doxytag: member="tbb::flow::interface6::continue_receiver::internal::successor_cache" ref="7e5acd3345f7903a0265a1ef9f3b66bc" args="" -->
-class </td><td class="memItemRight" valign="bottom"><b>internal::successor_cache</b></td></tr>
-
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-Base class for receivers of completion messages. 
-<p>
-These receivers automatically reset, but cannot be explicitly waited on 
-<p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="2165b726212975be532cff7b2f001834"></a><!-- doxytag: member="tbb::flow::interface6::continue_receiver::execute" ref="2165b726212975be532cff7b2f001834" args="()=0" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">virtual <a class="el" href="a00349.html">task</a>* tbb::flow::interface6::continue_receiver::execute           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td> ) </td>
-          <td width="100%"><code> [protected, pure virtual]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Does whatever should happen when the threshold is reached. 
-<p>
-This should be very fast or else spawn a task. This is called while the sender is blocked in the <a class="el" href="a00333.html#e1adb4060a7cbac837cd24da57c5a846">try_put()</a>. 
-</div>
-</div><p>
-<a class="anchor" name="cb691b18416d4742265aed84d496ebbd"></a><!-- doxytag: member="tbb::flow::interface6::continue_receiver::remove_predecessor" ref="cb691b18416d4742265aed84d496ebbd" args="(predecessor_type &)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool tbb::flow::interface6::continue_receiver::remove_predecessor           </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="a00339.html">predecessor_type</a> & </td>
-          <td class="paramname">          </td>
-          <td> ) </td>
-          <td width="100%"><code> [inline]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Decrements the trigger threshold. 
-<p>
-Does not check to see if the removal of the predecessor now makes the current count exceed the new threshold. So removing a predecessor while the graph is active can cause unexpected results. 
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00145.html">tbb_allocator< void ></a></li>  </ul>
 </div>
-</div><p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li><a class="el" href="a00385.html">flow_graph.h</a></ul>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::tbb_allocator< void > Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="a00145.html">tbb::tbb_allocator< void ></a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>const_pointer</b> typedef (defined in <a class="el" href="a00145.html">tbb::tbb_allocator< void ></a>)</td><td class="entry"><a class="el" href="a00145.html">tbb::tbb_allocator< void ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>pointer</b> typedef (defined in <a class="el" href="a00145.html">tbb::tbb_allocator< void ></a>)</td><td class="entry"><a class="el" href="a00145.html">tbb::tbb_allocator< void ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>value_type</b> typedef (defined in <a class="el" href="a00145.html">tbb::tbb_allocator< void ></a>)</td><td class="entry"><a class="el" href="a00145.html">tbb::tbb_allocator< void ></a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00291.png b/doc/html/a00291.png
deleted file mode 100644
index b14a696..0000000
Binary files a/doc/html/a00291.png and /dev/null differ
diff --git a/doc/html/a00292.html b/doc/html/a00292.html
index 8e766df..980b883 100644
--- a/doc/html/a00292.html
+++ b/doc/html/a00292.html
@@ -1,51 +1,54 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>tbb::empty_task Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="nav">
-<a class="el" href="a00428.html">tbb</a>::<a class="el" href="a00292.html">empty_task</a></div>
-<h1>tbb::empty_task Class Reference<br>
-<small>
-[<a class="el" href="a00446.html">Task Scheduling</a>]</small>
-</h1><!-- doxytag: class="tbb::empty_task" --><!-- doxytag: inherits="tbb::task" -->task that does nothing. Useful for synchronization.  
-<a href="#_details">More...</a>
-<p>
-<code>#include <task.h></code>
-<p>
-<p>Inheritance diagram for tbb::empty_task:
-<p><center><img src="a00292.png" usemap="#tbb::empty_task_map" border="0" alt=""></center>
-<map name="tbb::empty_task_map">
-<area href="a00349.html" alt="tbb::task" shape="rect" coords="0,0,97,24">
-</map>
-<a href="a00136.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-task that does nothing. Useful for synchronization. 
-<p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li>task.h</ul>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00145.html">tbb_allocator< void ></a></li><li class="navelem"><a class="el" href="a00099.html">rebind</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::tbb_allocator< void >::rebind< U > Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="a00099.html">tbb::tbb_allocator< void >::rebind< U ></a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>other</b> typedef (defined in <a class="el" href="a00099.html">tbb::tbb_allocator< void >::rebind< U ></a>)</td><td class="entry"><a class="el" href="a00099.html">tbb::tbb_allocator< void >::rebind< U ></a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00292.png b/doc/html/a00292.png
deleted file mode 100644
index 2fa6419..0000000
Binary files a/doc/html/a00292.png and /dev/null differ
diff --git a/doc/html/a00293.html b/doc/html/a00293.html
index c72ca8f..e68d99d 100644
--- a/doc/html/a00293.html
+++ b/doc/html/a00293.html
@@ -1,194 +1,65 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type > Class Template Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="nav">
-<a class="el" href="a00428.html">tbb</a>::<b>interface6</b>::<a class="el" href="a00293.html">enumerable_thread_specific</a></div>
-<h1>tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type > Class Template Reference<br>
-<small>
-[<a class="el" href="a00442.html">Containers</a>]</small>
-</h1><!-- doxytag: class="tbb::interface6::enumerable_thread_specific" -->The <a class="el" href="a00293.html">enumerable_thread_specific</a> container.  
-<a href="#_details">More...</a>
-<p>
-<code>#include <enumerable_thread_specific.h></code>
-<p>
-<a href="a00051.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3c03eb40955b933b01987222722ac4bd"></a><!-- doxytag: member="tbb::interface6::enumerable_thread_specific::allocator_type" ref="3c03eb40955b933b01987222722ac4bd" args="" -->
-typedef Allocator </td><td class="memItemRight" valign="bottom"><a class="el" href="a00293.html#3c03eb40955b933b01987222722ac4bd">allocator_type</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Basic types. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e93f3b75e82eaa845cc1a0514eaba31a"></a><!-- doxytag: member="tbb::interface6::enumerable_thread_specific::value_type" ref="e93f3b75e82eaa845cc1a0514eaba31a" args="" -->
-typedef T </td><td class="memItemRight" valign="bottom"><b>value_type</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0fd259a6b20641c768079f41d3213904"></a><!-- doxytag: member="tbb::interface6::enumerable_thread_specific::reference" ref="0fd259a6b20641c768079f41d3213904" args="" -->
-typedef T & </td><td class="memItemRight" valign="bottom"><b>reference</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2c1d47e24439524fea72d9c10df25d54"></a><!-- doxytag: member="tbb::interface6::enumerable_thread_specific::const_reference" ref="2c1d47e24439524fea72d9c10df25d54" args="" -->
-typedef const T & </td><td class="memItemRight" valign="bottom"><b>const_reference</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="27cf20b87f4381a69203aed11e5a34dc"></a><!-- doxytag: member="tbb::interface6::enumerable_thread_specific::pointer" ref="27cf20b87f4381a69203aed11e5a34dc" args="" -->
-typedef T * </td><td class="memItemRight" valign="bottom"><b>pointer</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0e132e2a40dd6ce5472f8e13a1e80947"></a><!-- doxytag: member="tbb::interface6::enumerable_thread_specific::const_pointer" ref="0e132e2a40dd6ce5472f8e13a1e80947" args="" -->
-typedef const T * </td><td class="memItemRight" valign="bottom"><b>const_pointer</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c67c208bec3e8b77190d545bd1f150e3"></a><!-- doxytag: member="tbb::interface6::enumerable_thread_specific::size_type" ref="c67c208bec3e8b77190d545bd1f150e3" args="" -->
-typedef internal_collection_type::size_type </td><td class="memItemRight" valign="bottom"><b>size_type</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="eda9be9a80bed094d4657948b5b7831f"></a><!-- doxytag: member="tbb::interface6::enumerable_thread_specific::difference_type" ref="eda9be9a80bed094d4657948b5b7831f" args="" -->
-typedef internal_collection_type::difference_type </td><td class="memItemRight" valign="bottom"><b>difference_type</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="bd6f8e0af3c5e5166a4223f88b03e0a5"></a><!-- doxytag: member="tbb::interface6::enumerable_thread_specific::iterator" ref="bd6f8e0af3c5e5166a4223f88b03e0a5" args="" -->
-typedef internal::enumerable_thread_specific_iterator<<br>
- <a class="el" href="a00288.html">internal_collection_type</a>,<br>
- value_type > </td><td class="memItemRight" valign="bottom"><b>iterator</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8ff2ff1a117048f5d57aedebb12d57e1"></a><!-- doxytag: member="tbb::interface6::enumerable_thread_specific::const_iterator" ref="8ff2ff1a117048f5d57aedebb12d57e1" args="" -->
-typedef internal::enumerable_thread_specific_iterator<<br>
- <a class="el" href="a00288.html">internal_collection_type</a>,<br>
- const value_type > </td><td class="memItemRight" valign="bottom"><b>const_iterator</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d4c23a666adbf88bd3280873de9d7f39"></a><!-- doxytag: member="tbb::interface6::enumerable_thread_specific::range_type" ref="d4c23a666adbf88bd3280873de9d7f39" args="" -->
-typedef generic_range_type<<br>
- iterator > </td><td class="memItemRight" valign="bottom"><b>range_type</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0ce41c6603d8f547f11df05d1ccb2184"></a><!-- doxytag: member="tbb::interface6::enumerable_thread_specific::const_range_type" ref="0ce41c6603d8f547f11df05d1ccb2184" args="" -->
-typedef generic_range_type<<br>
- const_iterator > </td><td class="memItemRight" valign="bottom"><b>const_range_type</b></td></tr>
-
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0cfa3a5c8f2be3bbf313d93b1fa8cdb3"></a><!-- doxytag: member="tbb::interface6::enumerable_thread_specific::enumerable_thread_specific" ref="0cfa3a5c8f2be3bbf313d93b1fa8cdb3" args="()" -->
- </td><td class="memItemRight" valign="bottom"><a class="el" href="a00293.html#0cfa3a5c8f2be3bbf313d93b1fa8cdb3">enumerable_thread_specific</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Default constructor. Each local instance of T is default constructed. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="8d4b456ff9d7b289c73254eccc11db45"></a><!-- doxytag: member="tbb::interface6::enumerable_thread_specific::enumerable_thread_specific" ref="8d4b456ff9d7b289c73254eccc11db45" args="(Finit finit)" -->
-template<typename Finit> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00293.html#8d4b456ff9d7b289c73254eccc11db45">enumerable_thread_specific</a> (Finit finit)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Constructor with initializer functor. Each local instance of T is constructed by T(finit()). <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7bce6829981c9efe3f59cae2355e383e"></a><!-- doxytag: member="tbb::interface6::enumerable_thread_specific::enumerable_thread_specific" ref="7bce6829981c9efe3f59cae2355e383e" args="(const T &exemplar)" -->
- </td><td class="memItemRight" valign="bottom"><a class="el" href="a00293.html#7bce6829981c9efe3f59cae2355e383e">enumerable_thread_specific</a> (const T &exemplar)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Constructor with exemplar. Each local instance of T is copied-constructed from the exemplar. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5a7907d9e3e5b18e7a7b55211ef3213f"></a><!-- doxytag: member="tbb::interface6::enumerable_thread_specific::~enumerable_thread_specific" ref="5a7907d9e3e5b18e7a7b55211ef3213f" args="()" -->
- </td><td class="memItemRight" valign="bottom"><a class="el" href="a00293.html#5a7907d9e3e5b18e7a7b55211ef3213f">~enumerable_thread_specific</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Destructor. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c8d5265ccbd5e4485996b3f3baaa5ba1"></a><!-- doxytag: member="tbb::interface6::enumerable_thread_specific::local" ref="c8d5265ccbd5e4485996b3f3baaa5ba1" args="()" -->
-reference </td><td class="memItemRight" valign="bottom"><a class="el" href="a00293.html#c8d5265ccbd5e4485996b3f3baaa5ba1">local</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">returns reference to local, discarding exists <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7dc79058d2832f7447de8e691c3455ea"></a><!-- doxytag: member="tbb::interface6::enumerable_thread_specific::local" ref="7dc79058d2832f7447de8e691c3455ea" args="(bool &exists)" -->
-reference </td><td class="memItemRight" valign="bottom"><a class="el" href="a00293.html#7dc79058d2832f7447de8e691c3455ea">local</a> (bool &exists)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns reference to calling thread's local copy, creating one if necessary. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="33fd6593da1ed14340f10f67d5a69130"></a><!-- doxytag: member="tbb::interface6::enumerable_thread_specific::size" ref="33fd6593da1ed14340f10f67d5a69130" args="() const " -->
-size_type </td><td class="memItemRight" valign="bottom"><a class="el" href="a00293.html#33fd6593da1ed14340f10f67d5a69130">size</a> () const </td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Get the number of local copies. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="72595886d0ac8fd0543f90038570510d"></a><!-- doxytag: member="tbb::interface6::enumerable_thread_specific::empty" ref="72595886d0ac8fd0543f90038570510d" args="() const " -->
-bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00293.html#72595886d0ac8fd0543f90038570510d">empty</a> () const </td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">true if there have been no local copies created <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="01d7baf8e913ab2819e97917a2ac795f"></a><!-- doxytag: member="tbb::interface6::enumerable_thread_specific::begin" ref="01d7baf8e913ab2819e97917a2ac795f" args="()" -->
-iterator </td><td class="memItemRight" valign="bottom"><a class="el" href="a00293.html#01d7baf8e913ab2819e97917a2ac795f">begin</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">begin iterator <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2456ff88252fc921b01cd8907628a4ee"></a><!-- doxytag: member="tbb::interface6::enumerable_thread_specific::end" ref="2456ff88252fc921b01cd8907628a4ee" args="()" -->
-iterator </td><td class="memItemRight" valign="bottom"><a class="el" href="a00293.html#2456ff88252fc921b01cd8907628a4ee">end</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">end iterator <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="84afb3906a39e399cde1c950d6351300"></a><!-- doxytag: member="tbb::interface6::enumerable_thread_specific::begin" ref="84afb3906a39e399cde1c950d6351300" args="() const " -->
-const_iterator </td><td class="memItemRight" valign="bottom"><a class="el" href="a00293.html#84afb3906a39e399cde1c950d6351300">begin</a> () const </td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">begin const iterator <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="cb448bb4977ce366ceb7344085cc7050"></a><!-- doxytag: member="tbb::interface6::enumerable_thread_specific::end" ref="cb448bb4977ce366ceb7344085cc7050" args="() const " -->
-const_iterator </td><td class="memItemRight" valign="bottom"><a class="el" href="a00293.html#cb448bb4977ce366ceb7344085cc7050">end</a> () const </td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">end const iterator <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b22c54990b2362cd93c1a8f73de140bc"></a><!-- doxytag: member="tbb::interface6::enumerable_thread_specific::range" ref="b22c54990b2362cd93c1a8f73de140bc" args="(size_t grainsize=1)" -->
-range_type </td><td class="memItemRight" valign="bottom"><a class="el" href="a00293.html#b22c54990b2362cd93c1a8f73de140bc">range</a> (size_t grainsize=1)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Get range for parallel algorithms. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3b068000cf4dbf9b40f8bb7e3fc53e0b"></a><!-- doxytag: member="tbb::interface6::enumerable_thread_specific::range" ref="3b068000cf4dbf9b40f8bb7e3fc53e0b" args="(size_t grainsize=1) const " -->
-const_range_type </td><td class="memItemRight" valign="bottom"><a class="el" href="a00293.html#3b068000cf4dbf9b40f8bb7e3fc53e0b">range</a> (size_t grainsize=1) const </td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Get const range for parallel algorithms. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a8764176d4b6014c5d65f1051851abc8"></a><!-- doxytag: member="tbb::interface6::enumerable_thread_specific::clear" ref="a8764176d4b6014c5d65f1051851abc8" args="()" -->
-void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00293.html#a8764176d4b6014c5d65f1051851abc8">clear</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Destroys local copies. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="43bbf3a313c5431559df2946f76221e0"></a><!-- doxytag: member="tbb::interface6::enumerable_thread_specific::enumerable_thread_specific" ref="43bbf3a313c5431559df2946f76221e0" args="(const enumerable_thread_specific< U, Alloc, Cachetype > &other)" -->
-template<typename U, typename Alloc, ets_key_usage_type Cachetype> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"> </td><td class="memTemplItemRight" valign="bottom"><b>enumerable_thread_specific</b> (const <a class="el" href="a00293.html">enumerable_thread_specific</a>< U, Alloc, Cachetype > &other)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="25a9c336cfd5a171c29cbdd0feb84249"></a><!-- doxytag: member="tbb::interface6::enumerable_thread_specific::enumerable_thread_specific" ref="25a9c336cfd5a171c29cbdd0feb84249" args="(const enumerable_thread_specific &other)" -->
- </td><td class="memItemRight" valign="bottom"><b>enumerable_thread_specific</b> (const <a class="el" href="a00293.html">enumerable_thread_specific</a> &other)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1f8f467eb4c44c58614d0f9dce687477"></a><!-- doxytag: member="tbb::interface6::enumerable_thread_specific::operator=" ref="1f8f467eb4c44c58614d0f9dce687477" args="(const enumerable_thread_specific &other)" -->
-<a class="el" href="a00293.html">enumerable_thread_specific</a> & </td><td class="memItemRight" valign="bottom"><b>operator=</b> (const <a class="el" href="a00293.html">enumerable_thread_specific</a> &other)</td></tr>
-
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="0e7ebbfd8e04eb22fe59b581206e7888"></a><!-- doxytag: member="tbb::interface6::enumerable_thread_specific::operator=" ref="0e7ebbfd8e04eb22fe59b581206e7888" args="(const enumerable_thread_specific< U, Alloc, Cachetype > &other)" -->
-template<typename U, typename Alloc, ets_key_usage_type Cachetype> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"><a class="el" href="a00293.html">enumerable_thread_specific</a> & </td><td class="memTemplItemRight" valign="bottom"><b>operator=</b> (const <a class="el" href="a00293.html">enumerable_thread_specific</a>< U, Alloc, Cachetype > &other)</td></tr>
-
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="1eac7eff6e21b7fc299b67acb36eb3c7"></a><!-- doxytag: member="tbb::interface6::enumerable_thread_specific::combine" ref="1eac7eff6e21b7fc299b67acb36eb3c7" args="(combine_func_t f_combine)" -->
-template<typename combine_func_t> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">T </td><td class="memTemplItemRight" valign="bottom"><b>combine</b> (combine_func_t f_combine)</td></tr>
-
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="f671d7bd4c1d3a750b4be4c32a489c55"></a><!-- doxytag: member="tbb::interface6::enumerable_thread_specific::combine_each" ref="f671d7bd4c1d3a750b4be4c32a489c55" args="(combine_func_t f_combine)" -->
-template<typename combine_func_t> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><b>combine_each</b> (combine_func_t f_combine)</td></tr>
-
-<tr><td colspan="2"><br><h2>Friends</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="45364b2f249ceb935cff05c29fcfcf5c"></a><!-- doxytag: member="tbb::interface6::enumerable_thread_specific::enumerable_thread_specific" ref="45364b2f249ceb935cff05c29fcfcf5c" args="" -->
-class </td><td class="memItemRight" valign="bottom"><b>enumerable_thread_specific</b></td></tr>
-
-<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><b>generic_range_type</b></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">A generic range, used to create range objects from the iterators. <br></td></tr>
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-<h3>template<typename T, typename Allocator = cache_aligned_allocator<T>, ets_key_usage_type ETS_key_type = ets_no_key><br>
- class tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></h3>
-
-The <a class="el" href="a00293.html">enumerable_thread_specific</a> container. 
-<p>
-<a class="el" href="a00293.html">enumerable_thread_specific</a> has the following properties:<ul>
-<li>thread-local copies are lazily created, with default, exemplar or function initialization.</li><li>thread-local copies do not move (during lifetime, and excepting <a class="el" href="a00293.html#a8764176d4b6014c5d65f1051851abc8">clear()</a>) so the address of a copy is invariant.</li><li>the contained objects need not have operator=() defined if combine is not used.</li><li><a class="el" href="a00293.html">enumerable_thread_specific</a> containers may be copy-constructed or assigned. [...]
-<p>
-<dl compact><dt><b>Segmented iterator</b></dt><dd>When the thread-local objects are containers with input_iterators defined, a segmented iterator may be used to iterate over all the elements of all thread-local copies.</dd></dl>
-<dl compact><dt><b>combine and combine_each</b></dt><dd><ul>
-<li>Both methods are defined for <a class="el" href="a00293.html">enumerable_thread_specific</a>.</li><li>combine() requires the the type T have operator=() defined.</li><li>neither method modifies the contents of the object (though there is no guarantee that the applied methods do not modify the object.)</li><li>Both are evaluated in serial context (the methods are assumed to be non-benign.) </li></ul>
-</dd></dl>
-
-<p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li>enumerable_thread_specific.h</ul>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00160.html">zero_allocator</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::zero_allocator< T, Allocator > Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="a00160.html">tbb::zero_allocator< T, Allocator ></a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>allocate</b>(const size_type n, const void *hint=0) (defined in <a class="el" href="a00160.html">tbb::zero_allocator< T, Allocator ></a>)</td><td class="entry"><a class="el" href="a00160.html">tbb::zero_allocator< T, Allocator ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>base_allocator_type</b> typedef (defined in <a class="el" href="a00160.html">tbb::zero_allocator< T, Allocator ></a>)</td><td class="entry"><a class="el" href="a00160.html">tbb::zero_allocator< T, Allocator ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>const_pointer</b> typedef (defined in <a class="el" href="a00160.html">tbb::zero_allocator< T, Allocator ></a>)</td><td class="entry"><a class="el" href="a00160.html">tbb::zero_allocator< T, Allocator ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>const_reference</b> typedef (defined in <a class="el" href="a00160.html">tbb::zero_allocator< T, Allocator ></a>)</td><td class="entry"><a class="el" href="a00160.html">tbb::zero_allocator< T, Allocator ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>difference_type</b> typedef (defined in <a class="el" href="a00160.html">tbb::zero_allocator< T, Allocator ></a>)</td><td class="entry"><a class="el" href="a00160.html">tbb::zero_allocator< T, Allocator ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>pointer</b> typedef (defined in <a class="el" href="a00160.html">tbb::zero_allocator< T, Allocator ></a>)</td><td class="entry"><a class="el" href="a00160.html">tbb::zero_allocator< T, Allocator ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>reference</b> typedef (defined in <a class="el" href="a00160.html">tbb::zero_allocator< T, Allocator ></a>)</td><td class="entry"><a class="el" href="a00160.html">tbb::zero_allocator< T, Allocator ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>size_type</b> typedef (defined in <a class="el" href="a00160.html">tbb::zero_allocator< T, Allocator ></a>)</td><td class="entry"><a class="el" href="a00160.html">tbb::zero_allocator< T, Allocator ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>value_type</b> typedef (defined in <a class="el" href="a00160.html">tbb::zero_allocator< T, Allocator ></a>)</td><td class="entry"><a class="el" href="a00160.html">tbb::zero_allocator< T, Allocator ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>zero_allocator</b>() (defined in <a class="el" href="a00160.html">tbb::zero_allocator< T, Allocator ></a>)</td><td class="entry"><a class="el" href="a00160.html">tbb::zero_allocator< T, Allocator ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>zero_allocator</b>(const zero_allocator &a) (defined in <a class="el" href="a00160.html">tbb::zero_allocator< T, Allocator ></a>)</td><td class="entry"><a class="el" href="a00160.html">tbb::zero_allocator< T, Allocator ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>zero_allocator</b>(const zero_allocator< U > &a) (defined in <a class="el" href="a00160.html">tbb::zero_allocator< T, Allocator ></a>)</td><td class="entry"><a class="el" href="a00160.html">tbb::zero_allocator< T, Allocator ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+</table></div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00294.html b/doc/html/a00294.html
index a48e547..229bcc4 100644
--- a/doc/html/a00294.html
+++ b/doc/html/a00294.html
@@ -1,233 +1,54 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>tbb::filter Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="nav">
-<a class="el" href="a00428.html">tbb</a>::<a class="el" href="a00294.html">filter</a></div>
-<h1>tbb::filter Class Reference<br>
-<small>
-[<a class="el" href="a00441.html">Algorithms</a>]</small>
-</h1><!-- doxytag: class="tbb::filter" -->A stage in a pipeline.  
-<a href="#_details">More...</a>
-<p>
-<code>#include <pipeline.h></code>
-<p>
-<p>Inheritance diagram for tbb::filter:
-<p><center><img src="a00294.png" usemap="#tbb::filter_map" border="0" alt=""></center>
-<map name="tbb::filter_map">
-<area href="a00361.html" alt="tbb::thread_bound_filter" shape="rect" coords="0,56,145,80">
-</map>
-<a href="a00107.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="fcfec27656a69ff2072802ac001e936f"></a><!-- doxytag: member="tbb::filter::is_serial" ref="fcfec27656a69ff2072802ac001e936f" args="() const " -->
-bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00294.html#fcfec27656a69ff2072802ac001e936f">is_serial</a> () const </td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">True if filter is serial. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="cd53206c4795ef2df5df26b795caf692"></a><!-- doxytag: member="tbb::filter::is_ordered" ref="cd53206c4795ef2df5df26b795caf692" args="() const " -->
-bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00294.html#cd53206c4795ef2df5df26b795caf692">is_ordered</a> () const </td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">True if filter must receive stream in order. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="15c29cae5d237e6d63dbfe5c94af89d5"></a><!-- doxytag: member="tbb::filter::is_bound" ref="15c29cae5d237e6d63dbfe5c94af89d5" args="() const " -->
-bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00294.html#15c29cae5d237e6d63dbfe5c94af89d5">is_bound</a> () const </td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">True if filter is thread-bound. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8ec4dfe053e94a2349d56781ddea8477"></a><!-- doxytag: member="tbb::filter::object_may_be_null" ref="8ec4dfe053e94a2349d56781ddea8477" args="()" -->
-bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00294.html#8ec4dfe053e94a2349d56781ddea8477">object_may_be_null</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">true if an input filter can emit null <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00294.html#fa1b3dc1f4f47563ccab7f4d92f5b543">operator()</a> (void *item)=0</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Operate on an item from the input stream, and return item for output stream.  <a href="#fa1b3dc1f4f47563ccab7f4d92f5b543"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual __TBB_EXPORTED_METHOD </td><td class="memItemRight" valign="bottom"><a class="el" href="a00294.html#66d159f362293e3964ba3da8bc1d2604">~filter</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Destroy filter.  <a href="#66d159f362293e3964ba3da8bc1d2604"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00294.html#56275eb889c77c4807967133e21401bd">finalize</a> (void *)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Destroys item if pipeline was cancelled.  <a href="#56275eb889c77c4807967133e21401bd"></a><br></td></tr>
-<tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1edba30e1e64e82ee4b7c6f227825817"></a><!-- doxytag: member="tbb::filter::x1" ref="1edba30e1e64e82ee4b7c6f227825817" args="((is_serial_?serial:parallel)|exact_exception_propagation))" -->
- </td><td class="memItemRight" valign="bottom"><b>x1</b> ((is_serial_?serial:parallel)|<a class="el" href="a00294.html#f17200974c33be21f42a5f00893de028">exact_exception_propagation</a>))</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a06145c3e7ad273ece95eb8be642b0a2"></a><!-- doxytag: member="tbb::filter::prev_filter_in_pipeline" ref="a06145c3e7ad273ece95eb8be642b0a2" args="(not_in_pipeline())" -->
- </td><td class="memItemRight" valign="bottom"><b>prev_filter_in_pipeline</b> (not_in_pipeline())</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7a54082a9165275bf7725970d756f132"></a><!-- doxytag: member="tbb::filter::my_pipeline" ref="7a54082a9165275bf7725970d756f132" args="(NULL)" -->
- </td><td class="memItemRight" valign="bottom"><b>my_pipeline</b> (NULL)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d66d6e9e27b1be74fdb9c07f899d4837"></a><!-- doxytag: member="tbb::filter::next_segment" ref="d66d6e9e27b1be74fdb9c07f899d4837" args="(NULL)" -->
- </td><td class="memItemRight" valign="bottom"><b>next_segment</b> (NULL)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a3f49df3c34a3e5a8884001c30230a94"></a><!-- doxytag: member="tbb::filter::filter" ref="a3f49df3c34a3e5a8884001c30230a94" args="(mode filter_mode)" -->
- </td><td class="memItemRight" valign="bottom"><b>filter</b> (mode filter_mode)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b2b9c0dd8123a8186b46bc100d9469f5"></a><!-- doxytag: member="tbb::filter::set_end_of_input" ref="b2b9c0dd8123a8186b46bc100d9469f5" args="()" -->
-void __TBB_EXPORTED_METHOD </td><td class="memItemRight" valign="bottom"><b>set_end_of_input</b> ()</td></tr>
-
-<tr><td colspan="2"><br><h2>Static Protected Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4b7de3a76e744f3d9c1bc5d437ea851d"></a><!-- doxytag: member="tbb::filter::filter_is_serial" ref="4b7de3a76e744f3d9c1bc5d437ea851d" args="" -->
-static const unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="a00294.html#4b7de3a76e744f3d9c1bc5d437ea851d">filter_is_serial</a> = 0x1</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">The lowest bit 0 is for parallel vs. serial. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="a00294.html#2e5eb65f95d8050186278077e433c5b1">filter_is_out_of_order</a> = 0x1<<4</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">4th bit distinguishes ordered vs unordered filters.  <a href="#2e5eb65f95d8050186278077e433c5b1"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="dd6a6e7210efc9bcaf2c5e08767d92b5"></a><!-- doxytag: member="tbb::filter::filter_is_bound" ref="dd6a6e7210efc9bcaf2c5e08767d92b5" args="" -->
-static const unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="a00294.html#dd6a6e7210efc9bcaf2c5e08767d92b5">filter_is_bound</a> = 0x1<<5</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">5th bit distinguishes thread-bound and regular filters. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="bdd02a434a6e7499dd1e8f43aae96793"></a><!-- doxytag: member="tbb::filter::filter_may_emit_null" ref="bdd02a434a6e7499dd1e8f43aae96793" args="" -->
-static const unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="a00294.html#bdd02a434a6e7499dd1e8f43aae96793">filter_may_emit_null</a> = 0x1<<6</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">6th bit marks input filters emitting small objects <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="a00294.html#f17200974c33be21f42a5f00893de028">exact_exception_propagation</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">7th bit defines exception propagation mode expected by the application.  <a href="#f17200974c33be21f42a5f00893de028"></a><br></td></tr>
-<tr><td colspan="2"><br><h2>Friends</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8228ce0751009045e8158d2e642715a6"></a><!-- doxytag: member="tbb::filter::internal::stage_task" ref="8228ce0751009045e8158d2e642715a6" args="" -->
-class </td><td class="memItemRight" valign="bottom"><b>internal::stage_task</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="05d67150ca324698ba852553e223d3eb"></a><!-- doxytag: member="tbb::filter::internal::pipeline_root_task" ref="05d67150ca324698ba852553e223d3eb" args="" -->
-class </td><td class="memItemRight" valign="bottom"><b>internal::pipeline_root_task</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b211ee58bada099e24280d478017cbff"></a><!-- doxytag: member="tbb::filter::pipeline" ref="b211ee58bada099e24280d478017cbff" args="" -->
-class </td><td class="memItemRight" valign="bottom"><b>pipeline</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e43b69a482df8e053cb199af69eb5139"></a><!-- doxytag: member="tbb::filter::thread_bound_filter" ref="e43b69a482df8e053cb199af69eb5139" args="" -->
-class </td><td class="memItemRight" valign="bottom"><b>thread_bound_filter</b></td></tr>
-
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-A stage in a pipeline. 
-<p>
-<hr><h2>Constructor & Destructor Documentation</h2>
-<a class="anchor" name="66d159f362293e3964ba3da8bc1d2604"></a><!-- doxytag: member="tbb::filter::~filter" ref="66d159f362293e3964ba3da8bc1d2604" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">virtual __TBB_EXPORTED_METHOD tbb::filter::~filter           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td> ) </td>
-          <td width="100%"><code> [virtual]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Destroy filter. 
-<p>
-If the filter was added to a pipeline, the pipeline must be destroyed first. 
-</div>
-</div><p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="56275eb889c77c4807967133e21401bd"></a><!-- doxytag: member="tbb::filter::finalize" ref="56275eb889c77c4807967133e21401bd" args="(void *)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">virtual void tbb::filter::finalize           </td>
-          <td>(</td>
-          <td class="paramtype">void * </td>
-          <td class="paramname">          </td>
-          <td> ) </td>
-          <td width="100%"><code> [inline, virtual]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Destroys item if pipeline was cancelled. 
-<p>
-Required to prevent memory leaks. Note it can be called concurrently even for serial filters. 
-</div>
-</div><p>
-<a class="anchor" name="fa1b3dc1f4f47563ccab7f4d92f5b543"></a><!-- doxytag: member="tbb::filter::operator()" ref="fa1b3dc1f4f47563ccab7f4d92f5b543" args="(void *item)=0" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">virtual void* tbb::filter::operator()           </td>
-          <td>(</td>
-          <td class="paramtype">void * </td>
-          <td class="paramname"> <em>item</em>          </td>
-          <td> ) </td>
-          <td width="100%"><code> [pure virtual]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Operate on an item from the input stream, and return item for output stream. 
-<p>
-Returns NULL if filter is a sink. 
-</div>
-</div><p>
-<hr><h2>Member Data Documentation</h2>
-<a class="anchor" name="f17200974c33be21f42a5f00893de028"></a><!-- doxytag: member="tbb::filter::exact_exception_propagation" ref="f17200974c33be21f42a5f00893de028" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">const unsigned char <a class="el" href="a00294.html#f17200974c33be21f42a5f00893de028">tbb::filter::exact_exception_propagation</a><code> [static, protected]</code>          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-<b>Initial value:</b><div class="fragment"><pre class="fragment">
-<span class="preprocessor">#if TBB_USE_CAPTURED_EXCEPTION</span>
-<span class="preprocessor">            0x0</span>
-</pre></div>7th bit defines exception propagation mode expected by the application. 
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="2e5eb65f95d8050186278077e433c5b1"></a><!-- doxytag: member="tbb::filter::filter_is_out_of_order" ref="2e5eb65f95d8050186278077e433c5b1" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">const unsigned char <a class="el" href="a00294.html#2e5eb65f95d8050186278077e433c5b1">tbb::filter::filter_is_out_of_order</a> = 0x1<<4<code> [static, protected]</code>          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-4th bit distinguishes ordered vs unordered filters. 
-<p>
-The bit was not set for parallel filters in TBB 2.1 and earlier, but <a class="el" href="a00294.html#cd53206c4795ef2df5df26b795caf692">is_ordered()</a> function always treats parallel filters as out of order. 
-</div>
-</div><p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li>pipeline.h</ul>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00160.html">zero_allocator</a></li><li class="navelem"><a class="el" href="a00100.html">rebind</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::zero_allocator< T, Allocator >::rebind< U > Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="a00100.html">tbb::zero_allocator< T, Allocator >::rebind< U ></a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>other</b> typedef (defined in <a class="el" href="a00100.html">tbb::zero_allocator< T, Allocator >::rebind< U ></a>)</td><td class="entry"><a class="el" href="a00100.html">tbb::zero_allocator< T, Allocator >::rebind< U ></a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00294.png b/doc/html/a00294.png
deleted file mode 100644
index e668b17..0000000
Binary files a/doc/html/a00294.png and /dev/null differ
diff --git a/doc/html/a00295.html b/doc/html/a00295.html
index a9696a8..7491ae3 100644
--- a/doc/html/a00295.html
+++ b/doc/html/a00295.html
@@ -1,73 +1,57 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>tbb::interface6::filter_t< T, U > Class Template Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="nav">
-<a class="el" href="a00428.html">tbb</a>::<b>interface6</b>::<a class="el" href="a00295.html">filter_t</a></div>
-<h1>tbb::interface6::filter_t< T, U > Class Template Reference</h1><!-- doxytag: class="tbb::interface6::filter_t" -->Class representing a chain of type-safe pipeline filters.  
-<a href="#_details">More...</a>
-<p>
-<code>#include <pipeline.h></code>
-<p>
-<a href="a00111.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="af1a36ca22e38eacd72eb256ee2ecef0"></a><!-- doxytag: member="tbb::interface6::filter_t::filter_t" ref="af1a36ca22e38eacd72eb256ee2ecef0" args="(const filter_t< T, U > &rhs)" -->
- </td><td class="memItemRight" valign="bottom"><b>filter_t</b> (const <a class="el" href="a00295.html">filter_t</a>< T, U > &rhs)</td></tr>
-
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="b80632a312f984a16b2a0db77859ee08"></a><!-- doxytag: member="tbb::interface6::filter_t::filter_t" ref="b80632a312f984a16b2a0db77859ee08" args="(tbb::filter::mode mode, const Body &body)" -->
-template<typename Body> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"> </td><td class="memTemplItemRight" valign="bottom"><b>filter_t</b> (tbb::filter::mode mode, const Body &body)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2d87c68b6beaff12dcec7231d96d7b4c"></a><!-- doxytag: member="tbb::interface6::filter_t::operator=" ref="2d87c68b6beaff12dcec7231d96d7b4c" args="(const filter_t< T, U > &rhs)" -->
-void </td><td class="memItemRight" valign="bottom"><b>operator=</b> (const <a class="el" href="a00295.html">filter_t</a>< T, U > &rhs)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f299d149b932c2c78006c6f703b83eef"></a><!-- doxytag: member="tbb::interface6::filter_t::clear" ref="f299d149b932c2c78006c6f703b83eef" args="()" -->
-void </td><td class="memItemRight" valign="bottom"><b>clear</b> ()</td></tr>
-
-<tr><td colspan="2"><br><h2>Friends</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="fff802cb5656e3788a89f3314aed2efe"></a><!-- doxytag: member="tbb::interface6::filter_t::internal::pipeline_proxy" ref="fff802cb5656e3788a89f3314aed2efe" args="" -->
-class </td><td class="memItemRight" valign="bottom"><b>internal::pipeline_proxy</b></td></tr>
-
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="85c2892eff1fddcd06e28911e75838bd"></a><!-- doxytag: member="tbb::interface6::filter_t::make_filter" ref="85c2892eff1fddcd06e28911e75838bd" args="(tbb::filter::mode, const Body &)" -->
-template<typename T_, typename U_, typename Body> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"><a class="el" href="a00295.html">filter_t</a>< T_, U_ > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00295.html#85c2892eff1fddcd06e28911e75838bd">make_filter</a> (tbb::filter::mode, const Body &)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Create a filter to participate in parallel_pipeline. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="6b9b1f5ce7f2121f093b8cd1d84707ad"></a><!-- doxytag: member="tbb::interface6::filter_t::operator &" ref="6b9b1f5ce7f2121f093b8cd1d84707ad" args="(const filter_t< T_, V_ > &, const filter_t< V_, U_ > &)" -->
-template<typename T_, typename V_, typename U_> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"><a class="el" href="a00295.html">filter_t</a>< T_, U_ > </td><td class="memTemplItemRight" valign="bottom"><b>operator &</b> (const <a class="el" href="a00295.html">filter_t</a>< T_, V_ > &, const <a class="el" href="a00295.html">filter_t</a>< V_, U_ > &)</td></tr>
-
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-<h3>template<typename T, typename U><br>
- class tbb::interface6::filter_t< T, U ></h3>
-
-Class representing a chain of type-safe pipeline filters. 
-<p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li>pipeline.h</ul>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00161.html">zero_allocator< void, Allocator ></a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::zero_allocator< void, Allocator > Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="a00161.html">tbb::zero_allocator< void, Allocator ></a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>base_allocator_type</b> typedef (defined in <a class="el" href="a00161.html">tbb::zero_allocator< void, Allocator ></a>)</td><td class="entry"><a class="el" href="a00161.html">tbb::zero_allocator< void, Allocator ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>const_pointer</b> typedef (defined in <a class="el" href="a00161.html">tbb::zero_allocator< void, Allocator ></a>)</td><td class="entry"><a class="el" href="a00161.html">tbb::zero_allocator< void, Allocator ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>pointer</b> typedef (defined in <a class="el" href="a00161.html">tbb::zero_allocator< void, Allocator ></a>)</td><td class="entry"><a class="el" href="a00161.html">tbb::zero_allocator< void, Allocator ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>value_type</b> typedef (defined in <a class="el" href="a00161.html">tbb::zero_allocator< void, Allocator ></a>)</td><td class="entry"><a class="el" href="a00161.html">tbb::zero_allocator< void, Allocator ></a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00296.html b/doc/html/a00296.html
index e8bd2f9..6919355 100644
--- a/doc/html/a00296.html
+++ b/doc/html/a00296.html
@@ -1,50 +1,54 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>tbb::final_scan_tag Struct Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="nav">
-<a class="el" href="a00428.html">tbb</a>::<a class="el" href="a00296.html">final_scan_tag</a></div>
-<h1>tbb::final_scan_tag Struct Reference<br>
-<small>
-[<a class="el" href="a00441.html">Algorithms</a>]</small>
-</h1><!-- doxytag: class="tbb::final_scan_tag" -->Used to indicate that the final scan is being performed.  
-<a href="#_details">More...</a>
-<p>
-<code>#include <parallel_scan.h></code>
-<p>
-<a href="a00099.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="06888e4a548788fcb2c15542d428d8c9"></a><!-- doxytag: member="tbb::final_scan_tag::is_final_scan" ref="06888e4a548788fcb2c15542d428d8c9" args="()" -->
-static bool </td><td class="memItemRight" valign="bottom"><b>is_final_scan</b> ()</td></tr>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00161.html">zero_allocator< void, Allocator ></a></li><li class="navelem"><a class="el" href="a00103.html">rebind</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::zero_allocator< void, Allocator >::rebind< U > Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
 
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-Used to indicate that the final scan is being performed. 
-<p>
-<hr>The documentation for this struct was generated from the following file:<ul>
-<li>parallel_scan.h</ul>
+<p>This is the complete list of members for <a class="el" href="a00103.html">tbb::zero_allocator< void, Allocator >::rebind< U ></a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>other</b> typedef (defined in <a class="el" href="a00103.html">tbb::zero_allocator< void, Allocator >::rebind< U ></a>)</td><td class="entry"><a class="el" href="a00103.html">tbb::zero_allocator< void, Allocator >::rebind< U ></a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00297.html b/doc/html/a00297.html
index 9a53f20..775b2da 100644
--- a/doc/html/a00297.html
+++ b/doc/html/a00297.html
@@ -1,51 +1,55 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>tbb::interface6::flow_control Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="nav">
-<a class="el" href="a00428.html">tbb</a>::<b>interface6</b>::<a class="el" href="a00297.html">flow_control</a></div>
-<h1>tbb::interface6::flow_control Class Reference</h1><!-- doxytag: class="tbb::interface6::flow_control" -->input_filter control to signal end-of-input for parallel_pipeline  
-<a href="#_details">More...</a>
-<p>
-<code>#include <pipeline.h></code>
-<p>
-<a href="a00110.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4b2c7123577587e3c26506db3e5abe62"></a><!-- doxytag: member="tbb::interface6::flow_control::stop" ref="4b2c7123577587e3c26506db3e5abe62" args="()" -->
-void </td><td class="memItemRight" valign="bottom"><b>stop</b> ()</td></tr>
-
-<tr><td colspan="2"><br><h2>Friends</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="15bb80e25fbcc4213e0053d558df6462"></a><!-- doxytag: member="tbb::interface6::flow_control::internal::concrete_filter" ref="15bb80e25fbcc4213e0053d558df6462" args="" -->
-class </td><td class="memItemRight" valign="bottom"><b>internal::concrete_filter</b></td></tr>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00017.html">bad_last_alloc</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::bad_last_alloc Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
 
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-input_filter control to signal end-of-input for parallel_pipeline 
-<p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li>pipeline.h</ul>
+<p>This is the complete list of members for <a class="el" href="a00017.html">tbb::bad_last_alloc</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>what</b>() const  (defined in <a class="el" href="a00017.html">tbb::bad_last_alloc</a>)</td><td class="entry"><a class="el" href="a00017.html">tbb::bad_last_alloc</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>~bad_last_alloc</b>() (defined in <a class="el" href="a00017.html">tbb::bad_last_alloc</a>)</td><td class="entry"><a class="el" href="a00017.html">tbb::bad_last_alloc</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+</table></div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00298.html b/doc/html/a00298.html
index 4356801..9e8e02c 100644
--- a/doc/html/a00298.html
+++ b/doc/html/a00298.html
@@ -1,101 +1,54 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>tbb::flow::interface6::function_node< Input, Output,, Allocator > Class Template Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="nav">
-<a class="el" href="a00428.html">tbb</a>::<b>flow</b>::<b>interface6</b>::<a class="el" href="a00298.html">function_node</a></div>
-<h1>tbb::flow::interface6::function_node< Input, Output,, Allocator > Class Template Reference</h1><!-- doxytag: class="tbb::flow::interface6::function_node" --><!-- doxytag: inherits="tbb::flow::interface6::graph_node" -->Implements a function node that supports Input -> Output.  
-<a href="#_details">More...</a>
-<p>
-<code>#include <flow_graph.h></code>
-<p>
-<p>Inheritance diagram for tbb::flow::interface6::function_node< Input, Output,, Allocator >:
-<p><center><img src="a00298.png" usemap="#tbb::flow::interface6::function_node< Input, Output,, Allocator >_map" border="0" alt=""></center>
-<map name="tbb::flow::interface6::function_node< Input, Output,, Allocator >_map">
-<area href="a00301.html" alt="tbb::flow::interface6::graph_node" shape="rect" coords="0,0,368,24">
-</map>
-<a href="a00064.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="eed5be58daf252aebed0df276ef9829b"></a><!-- doxytag: member="tbb::flow::interface6::function_node::input_type" ref="eed5be58daf252aebed0df276ef9829b" args="" -->
-typedef Input </td><td class="memItemRight" valign="bottom"><b>input_type</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a6b1ada4ae95bcc11f3ecc7d8b407038"></a><!-- doxytag: member="tbb::flow::interface6::function_node::output_type" ref="a6b1ada4ae95bcc11f3ecc7d8b407038" args="" -->
-typedef Output </td><td class="memItemRight" valign="bottom"><b>output_type</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7bffd3b755433095325cc554ea2ae752"></a><!-- doxytag: member="tbb::flow::interface6::function_node::predecessor_type" ref="7bffd3b755433095325cc554ea2ae752" args="" -->
-typedef <a class="el" href="a00339.html">sender</a>< input_type > </td><td class="memItemRight" valign="bottom"><b>predecessor_type</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c24f9bbb872a81053cea4f38e214f458"></a><!-- doxytag: member="tbb::flow::interface6::function_node::successor_type" ref="c24f9bbb872a81053cea4f38e214f458" args="" -->
-typedef <a class="el" href="a00333.html">receiver</a>< output_type > </td><td class="memItemRight" valign="bottom"><b>successor_type</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3ad406125e6938567d61b5b7ad7039a0"></a><!-- doxytag: member="tbb::flow::interface6::function_node::fInput_type" ref="3ad406125e6938567d61b5b7ad7039a0" args="" -->
-typedef internal::function_input<<br>
- input_type, output_type,<br>
- Allocator > </td><td class="memItemRight" valign="bottom"><b>fInput_type</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6bde48df8336f0bdc4fbb8c1879e13d6"></a><!-- doxytag: member="tbb::flow::interface6::function_node::fOutput_type" ref="6bde48df8336f0bdc4fbb8c1879e13d6" args="" -->
-typedef internal::function_output<<br>
- output_type > </td><td class="memItemRight" valign="bottom"><b>fOutput_type</b></td></tr>
-
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="5c215b40e3daf73d1c6802ecb5aded6c"></a><!-- doxytag: member="tbb::flow::interface6::function_node::function_node" ref="5c215b40e3daf73d1c6802ecb5aded6c" args="(graph &g, size_t concurrency, Body body)" -->
-template<typename Body> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00298.html#5c215b40e3daf73d1c6802ecb5aded6c">function_node</a> (<a class="el" href="a00300.html">graph</a> &g, size_t concurrency, Body body)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Constructor. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d5132323fd2ac6a00ea0c78beda78723"></a><!-- doxytag: member="tbb::flow::interface6::function_node::function_node" ref="d5132323fd2ac6a00ea0c78beda78723" args="(const function_node &src)" -->
- </td><td class="memItemRight" valign="bottom"><a class="el" href="a00298.html#d5132323fd2ac6a00ea0c78beda78723">function_node</a> (const <a class="el" href="a00298.html">function_node</a> &src)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Copy constructor. <br></td></tr>
-<tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a2f67f16e52b111e33365120f47d094c"></a><!-- doxytag: member="tbb::flow::interface6::function_node::reset" ref="a2f67f16e52b111e33365120f47d094c" args="()" -->
-void </td><td class="memItemRight" valign="bottom"><b>reset</b> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ffad8dcf70ebebc751dcf2c82cd5e1ad"></a><!-- doxytag: member="tbb::flow::interface6::function_node::successors" ref="ffad8dcf70ebebc751dcf2c82cd5e1ad" args="()" -->
-internal::broadcast_cache<<br>
- output_type > & </td><td class="memItemRight" valign="bottom"><b>successors</b> ()</td></tr>
-
-<tr><td colspan="2"><br><h2>Friends</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="621bab40a858d214db69ef08d88b67c1"></a><!-- doxytag: member="tbb::flow::interface6::function_node::run_and_put_task" ref="621bab40a858d214db69ef08d88b67c1" args="" -->
-class </td><td class="memItemRight" valign="bottom"><b>run_and_put_task</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e4fa30d87bc0bfa80942f97a8d58f1bd"></a><!-- doxytag: member="tbb::flow::interface6::function_node::internal::broadcast_cache" ref="e4fa30d87bc0bfa80942f97a8d58f1bd" args="" -->
-class </td><td class="memItemRight" valign="bottom"><b>internal::broadcast_cache</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="31ba00ea3e3e5a421b38840bd0dc2589"></a><!-- doxytag: member="tbb::flow::interface6::function_node::internal::round_robin_cache" ref="31ba00ea3e3e5a421b38840bd0dc2589" args="" -->
-class </td><td class="memItemRight" valign="bottom"><b>internal::round_robin_cache</b></td></tr>
-
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-<h3>template<typename Input, typename Output = continue_msg, graph_buffer_policy = queueing, typename Allocator = cache_aligned_allocator<Input>><br>
- class tbb::flow::interface6::function_node< Input, Output,, Allocator ></h3>
-
-Implements a function node that supports Input -> Output. 
-<p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li><a class="el" href="a00385.html">flow_graph.h</a></ul>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00065.html">improper_lock</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::improper_lock Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="a00065.html">tbb::improper_lock</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>what</b>() const  (defined in <a class="el" href="a00065.html">tbb::improper_lock</a>)</td><td class="entry"><a class="el" href="a00065.html">tbb::improper_lock</a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00298.png b/doc/html/a00298.png
deleted file mode 100644
index 75bb777..0000000
Binary files a/doc/html/a00298.png and /dev/null differ
diff --git a/doc/html/a00299.html b/doc/html/a00299.html
index c632e00..a5d545b 100644
--- a/doc/html/a00299.html
+++ b/doc/html/a00299.html
@@ -1,105 +1,54 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>tbb::flow::interface6::function_node< Input, Output, queueing, Allocator > Class Template Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="nav">
-<a class="el" href="a00428.html">tbb</a>::<b>flow</b>::<b>interface6</b>::<a class="el" href="a00299.html">function_node< Input, Output, queueing, Allocator ></a></div>
-<h1>tbb::flow::interface6::function_node< Input, Output, queueing, Allocator > Class Template Reference</h1><!-- doxytag: class="tbb::flow::interface6::function_node< Input, Output, queueing, Allocator >" --><!-- doxytag: inherits="tbb::flow::interface6::graph_node" -->Implements a function node that supports Input -> Output.  
-<a href="#_details">More...</a>
-<p>
-<code>#include <flow_graph.h></code>
-<p>
-<p>Inheritance diagram for tbb::flow::interface6::function_node< Input, Output, queueing, Allocator >:
-<p><center><img src="a00299.png" usemap="#tbb::flow::interface6::function_node< Input, Output, queueing, Allocator >_map" border="0" alt=""></center>
-<map name="tbb::flow::interface6::function_node< Input, Output, queueing, Allocator >_map">
-<area href="a00301.html" alt="tbb::flow::interface6::graph_node" shape="rect" coords="0,0,424,24">
-</map>
-<a href="a00065.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d2d8e92791b85100f8a53f7b2335c60c"></a><!-- doxytag: member="tbb::flow::interface6::function_node< Input, Output, queueing, Allocator >::input_type" ref="d2d8e92791b85100f8a53f7b2335c60c" args="" -->
-typedef Input </td><td class="memItemRight" valign="bottom"><b>input_type</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="df1b2d30d065b64efcee71021129760a"></a><!-- doxytag: member="tbb::flow::interface6::function_node< Input, Output, queueing, Allocator >::output_type" ref="df1b2d30d065b64efcee71021129760a" args="" -->
-typedef Output </td><td class="memItemRight" valign="bottom"><b>output_type</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8d8519eb42d5ddbba668a575b24a720a"></a><!-- doxytag: member="tbb::flow::interface6::function_node< Input, Output, queueing, Allocator >::predecessor_type" ref="8d8519eb42d5ddbba668a575b24a720a" args="" -->
-typedef <a class="el" href="a00339.html">sender</a>< input_type > </td><td class="memItemRight" valign="bottom"><b>predecessor_type</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="eb82369d652cd58b169f9a2e8f7ed023"></a><!-- doxytag: member="tbb::flow::interface6::function_node< Input, Output, queueing, Allocator >::successor_type" ref="eb82369d652cd58b169f9a2e8f7ed023" args="" -->
-typedef <a class="el" href="a00333.html">receiver</a>< output_type > </td><td class="memItemRight" valign="bottom"><b>successor_type</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6083108a1ca5a4f1464511e378e4bedf"></a><!-- doxytag: member="tbb::flow::interface6::function_node< Input, Output, queueing, Allocator >::fInput_type" ref="6083108a1ca5a4f1464511e378e4bedf" args="" -->
-typedef internal::function_input<<br>
- input_type, output_type,<br>
- Allocator > </td><td class="memItemRight" valign="bottom"><b>fInput_type</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4259f2853fb3af09518df3efb44ed8d5"></a><!-- doxytag: member="tbb::flow::interface6::function_node< Input, Output, queueing, Allocator >::queue_type" ref="4259f2853fb3af09518df3efb44ed8d5" args="" -->
-typedef internal::function_input_queue<<br>
- input_type, Allocator > </td><td class="memItemRight" valign="bottom"><b>queue_type</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="431ce7232e788562d9152493961ee4b9"></a><!-- doxytag: member="tbb::flow::interface6::function_node< Input, Output, queueing, Allocator >::fOutput_type" ref="431ce7232e788562d9152493961ee4b9" args="" -->
-typedef internal::function_output<<br>
- output_type > </td><td class="memItemRight" valign="bottom"><b>fOutput_type</b></td></tr>
-
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="5b9019c1e6e9b2c41c986a384bd179db"></a><!-- doxytag: member="tbb::flow::interface6::function_node< Input, Output, queueing, Allocator >::function_node" ref="5b9019c1e6e9b2c41c986a384bd179db" args="(graph &g, size_t concurrency, Body body)" -->
-template<typename Body> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00299.html#5b9019c1e6e9b2c41c986a384bd179db">function_node</a> (<a class="el" href="a00300.html">graph</a> &g, size_t concurrency, Body body)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Constructor. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="01055081ed477714503820035db3a965"></a><!-- doxytag: member="tbb::flow::interface6::function_node< Input, Output, queueing, Allocator >::function_node" ref="01055081ed477714503820035db3a965" args="(const function_node &src)" -->
- </td><td class="memItemRight" valign="bottom"><a class="el" href="a00299.html#01055081ed477714503820035db3a965">function_node</a> (const <a class="el" href="a00298.html">function_node</a> &src)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Copy constructor. <br></td></tr>
-<tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8c8cf2a4fe8786e1d544fd987e142e47"></a><!-- doxytag: member="tbb::flow::interface6::function_node< Input, Output, queueing, Allocator >::reset" ref="8c8cf2a4fe8786e1d544fd987e142e47" args="()" -->
-void </td><td class="memItemRight" valign="bottom"><b>reset</b> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="34125123f0c8d9c13dbd6f52148608a1"></a><!-- doxytag: member="tbb::flow::interface6::function_node< Input, Output, queueing, Allocator >::successors" ref="34125123f0c8d9c13dbd6f52148608a1" args="()" -->
-internal::broadcast_cache<<br>
- output_type > & </td><td class="memItemRight" valign="bottom"><b>successors</b> ()</td></tr>
-
-<tr><td colspan="2"><br><h2>Friends</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="621bab40a858d214db69ef08d88b67c1"></a><!-- doxytag: member="tbb::flow::interface6::function_node< Input, Output, queueing, Allocator >::run_and_put_task" ref="621bab40a858d214db69ef08d88b67c1" args="" -->
-class </td><td class="memItemRight" valign="bottom"><b>run_and_put_task</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e4fa30d87bc0bfa80942f97a8d58f1bd"></a><!-- doxytag: member="tbb::flow::interface6::function_node< Input, Output, queueing, Allocator >::internal::broadcast_cache" ref="e4fa30d87bc0bfa80942f97a8d58f1bd" args="" -->
-class </td><td class="memItemRight" valign="bottom"><b>internal::broadcast_cache</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="31ba00ea3e3e5a421b38840bd0dc2589"></a><!-- doxytag: member="tbb::flow::interface6::function_node< Input, Output, queueing, Allocator >::internal::round_robin_cache" ref="31ba00ea3e3e5a421b38840bd0dc2589" args="" -->
-class </td><td class="memItemRight" valign="bottom"><b>internal::round_robin_cache</b></td></tr>
-
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-<h3>template<typename Input, typename Output, typename Allocator><br>
- class tbb::flow::interface6::function_node< Input, Output, queueing, Allocator ></h3>
-
-Implements a function node that supports Input -> Output. 
-<p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li><a class="el" href="a00385.html">flow_graph.h</a></ul>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00156.html">user_abort</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::user_abort Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="a00156.html">tbb::user_abort</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>what</b>() const  (defined in <a class="el" href="a00156.html">tbb::user_abort</a>)</td><td class="entry"><a class="el" href="a00156.html">tbb::user_abort</a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00299.png b/doc/html/a00299.png
deleted file mode 100644
index 349b919..0000000
Binary files a/doc/html/a00299.png and /dev/null differ
diff --git a/doc/html/a00300.html b/doc/html/a00300.html
index 5e8206f..fca8710 100644
--- a/doc/html/a00300.html
+++ b/doc/html/a00300.html
@@ -1,276 +1,54 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>tbb::flow::interface6::graph Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="nav">
-<a class="el" href="a00428.html">tbb</a>::<b>flow</b>::<b>interface6</b>::<a class="el" href="a00300.html">graph</a></div>
-<h1>tbb::flow::interface6::graph Class Reference</h1><!-- doxytag: class="tbb::flow::interface6::graph" -->The graph class.  
-<a href="#_details">More...</a>
-<p>
-<code>#include <flow_graph.h></code>
-<p>
-<a href="a00059.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ec5db0443a1320850f8fa05b5eed2ea4"></a><!-- doxytag: member="tbb::flow::interface6::graph::iterator" ref="ec5db0443a1320850f8fa05b5eed2ea4" args="" -->
-typedef graph_iterator< <a class="el" href="a00300.html">graph</a>,<br>
- <a class="el" href="a00301.html">graph_node</a> > </td><td class="memItemRight" valign="bottom"><b>iterator</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3e677faaf2d66684cd32ccf5492dda4e"></a><!-- doxytag: member="tbb::flow::interface6::graph::const_iterator" ref="3e677faaf2d66684cd32ccf5492dda4e" args="" -->
-typedef graph_iterator< const <br>
-<a class="el" href="a00300.html">graph</a>, const <a class="el" href="a00301.html">graph_node</a> > </td><td class="memItemRight" valign="bottom"><b>const_iterator</b></td></tr>
-
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4ab3d4b5208ece28c4c3ced647e26e12"></a><!-- doxytag: member="tbb::flow::interface6::graph::graph" ref="4ab3d4b5208ece28c4c3ced647e26e12" args="()" -->
- </td><td class="memItemRight" valign="bottom"><a class="el" href="a00300.html#4ab3d4b5208ece28c4c3ced647e26e12">graph</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Constructs a graph with isolated <a class="el" href="a00352.html">task_group_context</a>. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="104d4f3775f596b43177c29e6b7b7656"></a><!-- doxytag: member="tbb::flow::interface6::graph::graph" ref="104d4f3775f596b43177c29e6b7b7656" args="(task_group_context &use_this_context)" -->
- </td><td class="memItemRight" valign="bottom"><a class="el" href="a00300.html#104d4f3775f596b43177c29e6b7b7656">graph</a> (<a class="el" href="a00353.html">task_group_context</a> &use_this_context)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Constructs a graph with use_this_context as context. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00300.html#8a7d424c0616a1c37a908ead182e2fe5">~graph</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Destroys the graph.  <a href="#8a7d424c0616a1c37a908ead182e2fe5"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00300.html#a993b789d1e488e0c3929135beae560e">increment_wait_count</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Used to register that an external entity may still interact with the graph.  <a href="#a993b789d1e488e0c3929135beae560e"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00300.html#29b85506870f13a884a21655aec2a65d">decrement_wait_count</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Deregisters an external entity that may have interacted with the graph.  <a href="#29b85506870f13a884a21655aec2a65d"></a><br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2">template<typename Receiver, typename Body> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00300.html#50a7938df01b6148ab2c0696835f002e">run</a> (Receiver &r, Body body)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Spawns a task that runs a body and puts its output to a specific receiver.  <a href="#50a7938df01b6148ab2c0696835f002e"></a><br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2">template<typename Body> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00300.html#c1145b00e063793a7e7bf994d202c7a0">run</a> (Body body)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Spawns a task that runs a function object.  <a href="#c1145b00e063793a7e7bf994d202c7a0"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00300.html#a66b0020f7514b86d030fa8aea073d37">wait_for_all</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Wait until graph is idle and decrement_wait_count calls equals increment_wait_count calls.  <a href="#a66b0020f7514b86d030fa8aea073d37"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7f4e3ae90811a5d8b597146b5b586d10"></a><!-- doxytag: member="tbb::flow::interface6::graph::root_task" ref="7f4e3ae90811a5d8b597146b5b586d10" args="()" -->
-<a class="el" href="a00349.html">task</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00300.html#7f4e3ae90811a5d8b597146b5b586d10">root_task</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the root task of the graph. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b028cb585ec21e5de523d0075d0fa880"></a><!-- doxytag: member="tbb::flow::interface6::graph::begin" ref="b028cb585ec21e5de523d0075d0fa880" args="()" -->
-iterator </td><td class="memItemRight" valign="bottom"><a class="el" href="a00300.html#b028cb585ec21e5de523d0075d0fa880">begin</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">start iterator <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a167c62511ddacaa152daa64ab2d6aac"></a><!-- doxytag: member="tbb::flow::interface6::graph::end" ref="a167c62511ddacaa152daa64ab2d6aac" args="()" -->
-iterator </td><td class="memItemRight" valign="bottom"><a class="el" href="a00300.html#a167c62511ddacaa152daa64ab2d6aac">end</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">end iterator <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f63c3b7d03098b57fc16b71c57b303e5"></a><!-- doxytag: member="tbb::flow::interface6::graph::begin" ref="f63c3b7d03098b57fc16b71c57b303e5" args="() const " -->
-const_iterator </td><td class="memItemRight" valign="bottom"><a class="el" href="a00300.html#f63c3b7d03098b57fc16b71c57b303e5">begin</a> () const </td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">start const iterator <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="907bd06606818c36f52420fe8d469d35"></a><!-- doxytag: member="tbb::flow::interface6::graph::end" ref="907bd06606818c36f52420fe8d469d35" args="() const " -->
-const_iterator </td><td class="memItemRight" valign="bottom"><a class="el" href="a00300.html#907bd06606818c36f52420fe8d469d35">end</a> () const </td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">end const iterator <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e183dfc3f89dc8f57c06ba165fb89f66"></a><!-- doxytag: member="tbb::flow::interface6::graph::cbegin" ref="e183dfc3f89dc8f57c06ba165fb89f66" args="() const " -->
-const_iterator </td><td class="memItemRight" valign="bottom"><a class="el" href="a00300.html#e183dfc3f89dc8f57c06ba165fb89f66">cbegin</a> () const </td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">start const iterator <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4866156e6a31d0399b61c6eb82ee81fd"></a><!-- doxytag: member="tbb::flow::interface6::graph::cend" ref="4866156e6a31d0399b61c6eb82ee81fd" args="() const " -->
-const_iterator </td><td class="memItemRight" valign="bottom"><a class="el" href="a00300.html#4866156e6a31d0399b61c6eb82ee81fd">cend</a> () const </td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">end const iterator <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="227ea140dc2c68f79a4e5a34a8367b58"></a><!-- doxytag: member="tbb::flow::interface6::graph::is_cancelled" ref="227ea140dc2c68f79a4e5a34a8367b58" args="()" -->
-bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00300.html#227ea140dc2c68f79a4e5a34a8367b58">is_cancelled</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">return status of graph execution <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e48ff6b3b7433ce6ee2c2518b79d1a7c"></a><!-- doxytag: member="tbb::flow::interface6::graph::exception_thrown" ref="e48ff6b3b7433ce6ee2c2518b79d1a7c" args="()" -->
-bool </td><td class="memItemRight" valign="bottom"><b>exception_thrown</b> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="11cdff0b9201b4b9fa173265a8d7b9f4"></a><!-- doxytag: member="tbb::flow::interface6::graph::reset" ref="11cdff0b9201b4b9fa173265a8d7b9f4" args="()" -->
-void </td><td class="memItemRight" valign="bottom"><b>reset</b> ()</td></tr>
-
-<tr><td colspan="2"><br><h2>Friends</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9143fb4f732c36d5587e467e21a0e7f6"></a><!-- doxytag: member="tbb::flow::interface6::graph::graph_node" ref="9143fb4f732c36d5587e467e21a0e7f6" args="" -->
-class </td><td class="memItemRight" valign="bottom"><b>graph_node</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="621c092f8466e55743ceef04b0bde9ce"></a><!-- doxytag: member="tbb::flow::interface6::graph::graph_iterator" ref="621c092f8466e55743ceef04b0bde9ce" args="" -->
-class </td><td class="memItemRight" valign="bottom"><b>graph_iterator</b></td></tr>
-
-<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><b>run_and_put_task</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><b>run_task</b></td></tr>
-
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-The graph class. 
-<p>
-This class serves as a handle to the graph 
-<p>
-<hr><h2>Constructor & Destructor Documentation</h2>
-<a class="anchor" name="8a7d424c0616a1c37a908ead182e2fe5"></a><!-- doxytag: member="tbb::flow::interface6::graph::~graph" ref="8a7d424c0616a1c37a908ead182e2fe5" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">tbb::flow::interface6::graph::~graph           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td> ) </td>
-          <td width="100%"><code> [inline]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Destroys the graph. 
-<p>
-Calls wait_for_all, then destroys the root task and context. 
-</div>
-</div><p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="29b85506870f13a884a21655aec2a65d"></a><!-- doxytag: member="tbb::flow::interface6::graph::decrement_wait_count" ref="29b85506870f13a884a21655aec2a65d" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void tbb::flow::interface6::graph::decrement_wait_count           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td> ) </td>
-          <td width="100%"><code> [inline]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Deregisters an external entity that may have interacted with the graph. 
-<p>
-The graph will not return from wait_for_all until all the number of decrement_wait_count calls matches the number of increment_wait_count calls. 
-</div>
-</div><p>
-<a class="anchor" name="a993b789d1e488e0c3929135beae560e"></a><!-- doxytag: member="tbb::flow::interface6::graph::increment_wait_count" ref="a993b789d1e488e0c3929135beae560e" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void tbb::flow::interface6::graph::increment_wait_count           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td> ) </td>
-          <td width="100%"><code> [inline]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Used to register that an external entity may still interact with the graph. 
-<p>
-The graph will not return from wait_for_all until a matching number of decrement_wait_count calls is made. 
-</div>
-</div><p>
-<a class="anchor" name="c1145b00e063793a7e7bf994d202c7a0"></a><!-- doxytag: member="tbb::flow::interface6::graph::run" ref="c1145b00e063793a7e7bf994d202c7a0" args="(Body body)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template<typename Body> </div>
-      <table class="memname">
-        <tr>
-          <td class="memname">void tbb::flow::interface6::graph::run           </td>
-          <td>(</td>
-          <td class="paramtype">Body </td>
-          <td class="paramname"> <em>body</em>          </td>
-          <td> ) </td>
-          <td width="100%"><code> [inline]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Spawns a task that runs a function object. 
-<p>
-The task is spawned as a child of the graph. This is useful for running tasks that need to block a <a class="el" href="a00300.html#a66b0020f7514b86d030fa8aea073d37">wait_for_all()</a> on the graph. For example a one-off source. 
-</div>
-</div><p>
-<a class="anchor" name="50a7938df01b6148ab2c0696835f002e"></a><!-- doxytag: member="tbb::flow::interface6::graph::run" ref="50a7938df01b6148ab2c0696835f002e" args="(Receiver &r, Body body)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template<typename Receiver, typename Body> </div>
-      <table class="memname">
-        <tr>
-          <td class="memname">void tbb::flow::interface6::graph::run           </td>
-          <td>(</td>
-          <td class="paramtype">Receiver & </td>
-          <td class="paramname"> <em>r</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">Body </td>
-          <td class="paramname"> <em>body</em></td><td> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td width="100%"><code> [inline]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Spawns a task that runs a body and puts its output to a specific receiver. 
-<p>
-The task is spawned as a child of the graph. This is useful for running tasks that need to block a <a class="el" href="a00300.html#a66b0020f7514b86d030fa8aea073d37">wait_for_all()</a> on the graph. For example a one-off source. 
-</div>
-</div><p>
-<a class="anchor" name="a66b0020f7514b86d030fa8aea073d37"></a><!-- doxytag: member="tbb::flow::interface6::graph::wait_for_all" ref="a66b0020f7514b86d030fa8aea073d37" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void tbb::flow::interface6::graph::wait_for_all           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td> ) </td>
-          <td width="100%"><code> [inline]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Wait until graph is idle and decrement_wait_count calls equals increment_wait_count calls. 
-<p>
-The waiting thread will go off and steal work while it is block in the wait_for_all. 
-</div>
-</div><p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li><a class="el" href="a00385.html">flow_graph.h</a></ul>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00077.html">missing_wait</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::missing_wait Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="a00077.html">tbb::missing_wait</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>what</b>() const  (defined in <a class="el" href="a00077.html">tbb::missing_wait</a>)</td><td class="entry"><a class="el" href="a00077.html">tbb::missing_wait</a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00301.html b/doc/html/a00301.html
index f423ebf..ba28155 100644
--- a/doc/html/a00301.html
+++ b/doc/html/a00301.html
@@ -1,81 +1,54 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>tbb::flow::interface6::graph_node Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="nav">
-<a class="el" href="a00428.html">tbb</a>::<b>flow</b>::<b>interface6</b>::<a class="el" href="a00301.html">graph_node</a></div>
-<h1>tbb::flow::interface6::graph_node Class Reference</h1><!-- doxytag: class="tbb::flow::interface6::graph_node" -->The base of all graph nodes.  
-<a href="#_details">More...</a>
-<p>
-<code>#include <flow_graph.h></code>
-<p>
-<p>Inheritance diagram for tbb::flow::interface6::graph_node:
-<p><center><img src="a00301.png" usemap="#tbb::flow::interface6::graph_node_map" border="0" alt=""></center>
-<map name="tbb::flow::interface6::graph_node_map">
-<area href="a00274.html" alt="tbb::flow::interface6::broadcast_node< T >" shape="rect" coords="511,56,1012,80">
-<area href="a00275.html" alt="tbb::flow::interface6::buffer_node< T, A >" shape="rect" coords="511,112,1012,136">
-<area href="a00290.html" alt="tbb::flow::interface6::continue_node< Output >" shape="rect" coords="511,168,1012,192">
-<area href="a00298.html" alt="tbb::flow::interface6::function_node< Input, Output,, Allocator >" shape="rect" coords="511,224,1012,248">
-<area href="a00299.html" alt="tbb::flow::interface6::function_node< Input, Output, queueing, Allocator >" shape="rect" coords="511,280,1012,304">
-<area href="a00304.html" alt="tbb::flow::interface6::limiter_node< T >" shape="rect" coords="511,336,1012,360">
-<area href="a00312.html" alt="tbb::flow::interface6::multifunction_node< Input, Output,, Allocator >" shape="rect" coords="511,392,1012,416">
-<area href="a00312.html" alt="tbb::flow::interface6::multifunction_node< TupleType, TupleType, rejecting, Allocator >" shape="rect" coords="511,448,1012,472">
-<area href="a00342.html" alt="tbb::flow::interface6::source_node< Output >" shape="rect" coords="511,504,1012,528">
-</map>
-<a href="a00062.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4f3a9aad30268e2a9f1416eab325f7e5"></a><!-- doxytag: member="tbb::flow::interface6::graph_node::graph_node" ref="4f3a9aad30268e2a9f1416eab325f7e5" args="(graph &g)" -->
- </td><td class="memItemRight" valign="bottom"><b>graph_node</b> (<a class="el" href="a00300.html">graph</a> &g)</td></tr>
-
-<tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f8e8e9ccaec123836b008991d518cb42"></a><!-- doxytag: member="tbb::flow::interface6::graph_node::reset" ref="f8e8e9ccaec123836b008991d518cb42" args="()=0" -->
-virtual void </td><td class="memItemRight" valign="bottom"><b>reset</b> ()=0</td></tr>
-
-<tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6f51137fff91095fa3e6a736b71c27cc"></a><!-- doxytag: member="tbb::flow::interface6::graph_node::my_graph" ref="6f51137fff91095fa3e6a736b71c27cc" args="" -->
-<a class="el" href="a00300.html">graph</a> & </td><td class="memItemRight" valign="bottom"><b>my_graph</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d1ce68896f6d366dcc3fad19f6fd55d1"></a><!-- doxytag: member="tbb::flow::interface6::graph_node::next" ref="d1ce68896f6d366dcc3fad19f6fd55d1" args="" -->
-<a class="el" href="a00301.html">graph_node</a> * </td><td class="memItemRight" valign="bottom"><b>next</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="28049e438b241b0d6051767bbeacc0b9"></a><!-- doxytag: member="tbb::flow::interface6::graph_node::prev" ref="28049e438b241b0d6051767bbeacc0b9" args="" -->
-<a class="el" href="a00301.html">graph_node</a> * </td><td class="memItemRight" valign="bottom"><b>prev</b></td></tr>
-
-<tr><td colspan="2"><br><h2>Friends</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="137c56ab53c02049fca0b78c49294314"></a><!-- doxytag: member="tbb::flow::interface6::graph_node::graph" ref="137c56ab53c02049fca0b78c49294314" args="" -->
-class </td><td class="memItemRight" valign="bottom"><b>graph</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="621c092f8466e55743ceef04b0bde9ce"></a><!-- doxytag: member="tbb::flow::interface6::graph_node::graph_iterator" ref="621c092f8466e55743ceef04b0bde9ce" args="" -->
-class </td><td class="memItemRight" valign="bottom"><b>graph_iterator</b></td></tr>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00067.html">invalid_multiple_scheduling</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::invalid_multiple_scheduling Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
 
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-The base of all graph nodes. 
-<p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li><a class="el" href="a00385.html">flow_graph.h</a></ul>
+<p>This is the complete list of members for <a class="el" href="a00067.html">tbb::invalid_multiple_scheduling</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>what</b>() const  (defined in <a class="el" href="a00067.html">tbb::invalid_multiple_scheduling</a>)</td><td class="entry"><a class="el" href="a00067.html">tbb::invalid_multiple_scheduling</a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00301.png b/doc/html/a00301.png
deleted file mode 100644
index 9d49991..0000000
Binary files a/doc/html/a00301.png and /dev/null differ
diff --git a/doc/html/a00302.html b/doc/html/a00302.html
index 9236187..2324154 100644
--- a/doc/html/a00302.html
+++ b/doc/html/a00302.html
@@ -1,47 +1,60 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>tbb::improper_lock Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="nav">
-<a class="el" href="a00428.html">tbb</a>::<a class="el" href="a00302.html">improper_lock</a></div>
-<h1>tbb::improper_lock Class Reference</h1><!-- doxytag: class="tbb::improper_lock" -->Exception for PPL locks.  
-<a href="#_details">More...</a>
-<p>
-<code>#include <tbb_exception.h></code>
-<p>
-<a href="a00157.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="74213c2d20407e1fa16b70ca55ef27c6"></a><!-- doxytag: member="tbb::improper_lock::what" ref="74213c2d20407e1fa16b70ca55ef27c6" args="() const " -->
-const char * </td><td class="memItemRight" valign="bottom"><b>what</b> () const   throw ()</td></tr>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00146.html">tbb_exception</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::tbb_exception Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
 
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-Exception for PPL locks. 
-<p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li>tbb_exception.h</ul>
+<p>This is the complete list of members for <a class="el" href="a00146.html">tbb::tbb_exception</a>, including all inherited members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" href="a00146.html#ad3bc09bf78c33f19a0bcdf882fdf9d41">destroy</a>()=0</td><td class="entry"><a class="el" href="a00146.html">tbb::tbb_exception</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00146.html#a4bd4ba0d501021013d1473d21b020b69">move</a>()=0</td><td class="entry"><a class="el" href="a00146.html">tbb::tbb_exception</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00146.html#a282bb7dce5f157d044d14d50cd6ff35c">name</a>() const =0</td><td class="entry"><a class="el" href="a00146.html">tbb::tbb_exception</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00146.html#a6a973c37078afedf7d457ff4704bf8cd">operator delete</a>(void *p)</td><td class="entry"><a class="el" href="a00146.html">tbb::tbb_exception</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00146.html#ae45c08d36c7ec7ae91785da3515a8828">throw_self</a>()=0</td><td class="entry"><a class="el" href="a00146.html">tbb::tbb_exception</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00146.html#ae0ad81121d4b722ecc466b5d3cc4e919">what</a>() const =0</td><td class="entry"><a class="el" href="a00146.html">tbb::tbb_exception</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~tbb_exception</b>() (defined in <a class="el" href="a00146.html">tbb::tbb_exception</a>)</td><td class="entry"><a class="el" href="a00146.html">tbb::tbb_exception</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+</table></div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00303.html b/doc/html/a00303.html
index a557725..018478d 100644
--- a/doc/html/a00303.html
+++ b/doc/html/a00303.html
@@ -1,47 +1,66 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>tbb::invalid_multiple_scheduling Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="nav">
-<a class="el" href="a00428.html">tbb</a>::<a class="el" href="a00303.html">invalid_multiple_scheduling</a></div>
-<h1>tbb::invalid_multiple_scheduling Class Reference</h1><!-- doxytag: class="tbb::invalid_multiple_scheduling" -->Exception for repeated scheduling of the same task_handle.  
-<a href="#_details">More...</a>
-<p>
-<code>#include <tbb_exception.h></code>
-<p>
-<a href="a00160.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="57082ccac880db17144db76c0f94701e"></a><!-- doxytag: member="tbb::invalid_multiple_scheduling::what" ref="57082ccac880db17144db76c0f94701e" args="() const " -->
-const char * </td><td class="memItemRight" valign="bottom"><b>what</b> () const   throw ()</td></tr>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00031.html">captured_exception</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::captured_exception Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
 
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-Exception for repeated scheduling of the same task_handle. 
-<p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li>tbb_exception.h</ul>
+<p>This is the complete list of members for <a class="el" href="a00031.html">tbb::captured_exception</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>captured_exception</b>(const captured_exception &src) (defined in <a class="el" href="a00031.html">tbb::captured_exception</a>)</td><td class="entry"><a class="el" href="a00031.html">tbb::captured_exception</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>captured_exception</b>(const char *name_, const char *info) (defined in <a class="el" href="a00031.html">tbb::captured_exception</a>)</td><td class="entry"><a class="el" href="a00031.html">tbb::captured_exception</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>clear</b>() (defined in <a class="el" href="a00031.html">tbb::captured_exception</a>)</td><td class="entry"><a class="el" href="a00031.html">tbb::captured_exception</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="a00031.html#a3006b6825dda6c746d28fb748f5675de">destroy</a>()</td><td class="entry"><a class="el" href="a00031.html">tbb::captured_exception</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00031.html#abb221485cd260349efdef681f633a6a4">move</a>()</td><td class="entry"><a class="el" href="a00031.html">tbb::captured_exception</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00031.html#a23426113851b78d3f0069956afd21976">name</a>() const </td><td class="entry"><a class="el" href="a00031.html">tbb::captured_exception</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00146.html#a6a973c37078afedf7d457ff4704bf8cd">operator delete</a>(void *p)</td><td class="entry"><a class="el" href="a00146.html">tbb::tbb_exception</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>operator=</b>(const captured_exception &src) (defined in <a class="el" href="a00031.html">tbb::captured_exception</a>)</td><td class="entry"><a class="el" href="a00031.html">tbb::captured_exception</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>set</b>(const char *name, const char *info) (defined in <a class="el" href="a00031.html">tbb::captured_exception</a>)</td><td class="entry"><a class="el" href="a00031.html">tbb::captured_exception</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="a00031.html#ac9ae925678fcc0cc02a74df7d06b8d63">throw_self</a>()</td><td class="entry"><a class="el" href="a00031.html">tbb::captured_exception</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00031.html#ac97ee315d8613c803dae2f6d3e0b91a7">what</a>() const </td><td class="entry"><a class="el" href="a00031.html">tbb::captured_exception</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>~captured_exception</b>() (defined in <a class="el" href="a00031.html">tbb::captured_exception</a>)</td><td class="entry"><a class="el" href="a00031.html">tbb::captured_exception</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~tbb_exception</b>() (defined in <a class="el" href="a00146.html">tbb::tbb_exception</a>)</td><td class="entry"><a class="el" href="a00146.html">tbb::tbb_exception</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+</table></div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00304.html b/doc/html/a00304.html
index 7cf9482..0acf545 100644
--- a/doc/html/a00304.html
+++ b/doc/html/a00304.html
@@ -1,157 +1,67 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>tbb::flow::interface6::limiter_node< T > Class Template Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="nav">
-<a class="el" href="a00428.html">tbb</a>::<b>flow</b>::<b>interface6</b>::<a class="el" href="a00304.html">limiter_node</a></div>
-<h1>tbb::flow::interface6::limiter_node< T > Class Template Reference</h1><!-- doxytag: class="tbb::flow::interface6::limiter_node" --><!-- doxytag: inherits="tbb::flow::interface6::graph_node,tbb::flow::interface6::receiver,tbb::flow::interface6::sender" -->Forwards messages only if the threshold has not been reached.  
-<a href="#_details">More...</a>
-<p>
-<code>#include <flow_graph.h></code>
-<p>
-<p>Inheritance diagram for tbb::flow::interface6::limiter_node< T >:
-<p><center><img src="a00304.png" usemap="#tbb::flow::interface6::limiter_node< T >_map" border="0" alt=""></center>
-<map name="tbb::flow::interface6::limiter_node< T >_map">
-<area href="a00301.html" alt="tbb::flow::interface6::graph_node" shape="rect" coords="0,0,226,24">
-<area href="a00333.html" alt="tbb::flow::interface6::receiver< T >" shape="rect" coords="236,0,462,24">
-<area href="a00339.html" alt="tbb::flow::interface6::sender< T >" shape="rect" coords="472,0,698,24">
-</map>
-<a href="a00079.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="035196d3c9240ef041f528ebcde8baa7"></a><!-- doxytag: member="tbb::flow::interface6::limiter_node::input_type" ref="035196d3c9240ef041f528ebcde8baa7" args="" -->
-typedef T </td><td class="memItemRight" valign="bottom"><a class="el" href="a00304.html#035196d3c9240ef041f528ebcde8baa7">input_type</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">The input type of this receiver. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6e67fc480147c0b88a483b85db6457b0"></a><!-- doxytag: member="tbb::flow::interface6::limiter_node::output_type" ref="6e67fc480147c0b88a483b85db6457b0" args="" -->
-typedef T </td><td class="memItemRight" valign="bottom"><a class="el" href="a00304.html#6e67fc480147c0b88a483b85db6457b0">output_type</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">The output type of this sender. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f89fcf44f38eb33f965ee5362d3e68e9"></a><!-- doxytag: member="tbb::flow::interface6::limiter_node::predecessor_type" ref="f89fcf44f38eb33f965ee5362d3e68e9" args="" -->
-typedef <a class="el" href="a00339.html">sender</a>< <a class="el" href="a00304.html#035196d3c9240ef041f528ebcde8baa7">input_type</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00304.html#f89fcf44f38eb33f965ee5362d3e68e9">predecessor_type</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">The predecessor type for this node. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e8945e4dd6ea759ff9e4735da13f12ef"></a><!-- doxytag: member="tbb::flow::interface6::limiter_node::successor_type" ref="e8945e4dd6ea759ff9e4735da13f12ef" args="" -->
-typedef <a class="el" href="a00333.html">receiver</a>< <a class="el" href="a00304.html#6e67fc480147c0b88a483b85db6457b0">output_type</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00304.html#e8945e4dd6ea759ff9e4735da13f12ef">successor_type</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">The successor type for this node. <br></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="831b06576f46fe2bf3ed0f86b793c1b2"></a><!-- doxytag: member="tbb::flow::interface6::limiter_node::limiter_node" ref="831b06576f46fe2bf3ed0f86b793c1b2" args="(graph &g, size_t threshold, int num_decrement_predecessors=0)" -->
- </td><td class="memItemRight" valign="bottom"><a class="el" href="a00304.html#831b06576f46fe2bf3ed0f86b793c1b2">limiter_node</a> (<a class="el" href="a00300.html">graph</a> &g, size_t threshold, int num_decrement_predecessors=0)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Constructor. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="83d3ab884543b070ee5b345a87f241fa"></a><!-- doxytag: member="tbb::flow::interface6::limiter_node::limiter_node" ref="83d3ab884543b070ee5b345a87f241fa" args="(const limiter_node &src)" -->
- </td><td class="memItemRight" valign="bottom"><a class="el" href="a00304.html#83d3ab884543b070ee5b345a87f241fa">limiter_node</a> (const <a class="el" href="a00304.html">limiter_node</a> &src)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Copy constructor. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c76561d8d871b4769876988a4de12a9b"></a><!-- doxytag: member="tbb::flow::interface6::limiter_node::register_successor" ref="c76561d8d871b4769876988a4de12a9b" args="(receiver< output_type > &r)" -->
-bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00304.html#c76561d8d871b4769876988a4de12a9b">register_successor</a> (<a class="el" href="a00333.html">receiver</a>< <a class="el" href="a00304.html#6e67fc480147c0b88a483b85db6457b0">output_type</a> > &r)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Replace the current successor with this new successor. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00304.html#275e328063c121b3e506ccef2a825d28">remove_successor</a> (<a class="el" href="a00333.html">receiver</a>< <a class="el" href="a00304.html#6e67fc480147c0b88a483b85db6457b0">output_type</a> > &r)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Removes a successor from this node.  <a href="#275e328063c121b3e506ccef2a825d28"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="de70a0e88ce7655d8c14b6af57f7496f"></a><!-- doxytag: member="tbb::flow::interface6::limiter_node::register_predecessor" ref="de70a0e88ce7655d8c14b6af57f7496f" args="(predecessor_type &src)" -->
-bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00304.html#de70a0e88ce7655d8c14b6af57f7496f">register_predecessor</a> (<a class="el" href="a00339.html">predecessor_type</a> &src)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Removes src from the list of cached predecessors. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c530e7b469454e2340460795f2da3317"></a><!-- doxytag: member="tbb::flow::interface6::limiter_node::remove_predecessor" ref="c530e7b469454e2340460795f2da3317" args="(predecessor_type &src)" -->
-bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00304.html#c530e7b469454e2340460795f2da3317">remove_predecessor</a> (<a class="el" href="a00339.html">predecessor_type</a> &src)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Removes src from the list of cached predecessors. <br></td></tr>
-<tr><td colspan="2"><br><h2>Public Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a3344b2461966631b6ee34b79fb105c7"></a><!-- doxytag: member="tbb::flow::interface6::limiter_node::decrement" ref="a3344b2461966631b6ee34b79fb105c7" args="" -->
-internal::decrementer< <a class="el" href="a00304.html">limiter_node</a><<br>
- T > > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00304.html#a3344b2461966631b6ee34b79fb105c7">decrement</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">The internal receiver< continue_msg > that decrements the count. <br></td></tr>
-<tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ca2ff9f3379b8b5a3de2ababbca4a476"></a><!-- doxytag: member="tbb::flow::interface6::limiter_node::try_put_task" ref="ca2ff9f3379b8b5a3de2ababbca4a476" args="(const T &t)" -->
-<a class="el" href="a00349.html">task</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00304.html#ca2ff9f3379b8b5a3de2ababbca4a476">try_put_task</a> (const T &t)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Puts an item to this receiver. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8b9c771bcf9137829f0e5b73044f8b7e"></a><!-- doxytag: member="tbb::flow::interface6::limiter_node::reset" ref="8b9c771bcf9137829f0e5b73044f8b7e" args="()" -->
-void </td><td class="memItemRight" valign="bottom"><b>reset</b> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="68591a3690d26ade0610ddd6f3e076c5"></a><!-- doxytag: member="tbb::flow::interface6::limiter_node::reset_receiver" ref="68591a3690d26ade0610ddd6f3e076c5" args="()" -->
-void </td><td class="memItemRight" valign="bottom"><b>reset_receiver</b> ()</td></tr>
-
-<tr><td colspan="2"><br><h2>Friends</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="74b341552e1314d2e318be9066a1d151"></a><!-- doxytag: member="tbb::flow::interface6::limiter_node::internal::forward_task_bypass< limiter_node< T > >" ref="74b341552e1314d2e318be9066a1d151" args="" -->
-class </td><td class="memItemRight" valign="bottom"><b>internal::forward_task_bypass< limiter_node< T > ></b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b43677b60c786d1071a7efd6f195c3be"></a><!-- doxytag: member="tbb::flow::interface6::limiter_node::internal::decrementer< limiter_node< T > >" ref="b43677b60c786d1071a7efd6f195c3be" args="" -->
-class </td><td class="memItemRight" valign="bottom"><b>internal::decrementer< limiter_node< T > ></b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="621bab40a858d214db69ef08d88b67c1"></a><!-- doxytag: member="tbb::flow::interface6::limiter_node::run_and_put_task" ref="621bab40a858d214db69ef08d88b67c1" args="" -->
-class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00304.html#621bab40a858d214db69ef08d88b67c1">run_and_put_task</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">put item to successor; return task to run the successor if possible. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e4fa30d87bc0bfa80942f97a8d58f1bd"></a><!-- doxytag: member="tbb::flow::interface6::limiter_node::internal::broadcast_cache" ref="e4fa30d87bc0bfa80942f97a8d58f1bd" args="" -->
-class </td><td class="memItemRight" valign="bottom"><b>internal::broadcast_cache</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="31ba00ea3e3e5a421b38840bd0dc2589"></a><!-- doxytag: member="tbb::flow::interface6::limiter_node::internal::round_robin_cache" ref="31ba00ea3e3e5a421b38840bd0dc2589" args="" -->
-class </td><td class="memItemRight" valign="bottom"><b>internal::round_robin_cache</b></td></tr>
-
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-<h3>template<typename T><br>
- class tbb::flow::interface6::limiter_node< T ></h3>
-
-Forwards messages only if the threshold has not been reached. 
-<p>
-This node forwards items until its threshold is reached. It contains no buffering. If the downstream node rejects, the message is dropped. 
-<p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="275e328063c121b3e506ccef2a825d28"></a><!-- doxytag: member="tbb::flow::interface6::limiter_node::remove_successor" ref="275e328063c121b3e506ccef2a825d28" args="(receiver< output_type > &r)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template<typename T> </div>
-      <table class="memname">
-        <tr>
-          <td class="memname">bool <a class="el" href="a00304.html">tbb::flow::interface6::limiter_node</a>< T >::remove_successor           </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="a00333.html">receiver</a>< <a class="el" href="a00304.html#6e67fc480147c0b88a483b85db6457b0">output_type</a> > & </td>
-          <td class="paramname"> <em>r</em>          </td>
-          <td> ) </td>
-          <td width="100%"><code> [inline, virtual]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Removes a successor from this node. 
-<p>
-r.remove_predecessor(*this) is also called. 
-<p>
-Implements <a class="el" href="a00339.html#82f363bfb1738bb8789e167590b10ef9">tbb::flow::interface6::sender< T ></a>.
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00078.html">movable_exception</a></li>  </ul>
 </div>
-</div><p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li><a class="el" href="a00385.html">flow_graph.h</a></ul>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::movable_exception< ExceptionData > Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="a00078.html">tbb::movable_exception< ExceptionData ></a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>data</b>() (defined in <a class="el" href="a00078.html">tbb::movable_exception< ExceptionData ></a>)</td><td class="entry"><a class="el" href="a00078.html">tbb::movable_exception< ExceptionData ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>data</b>() const  (defined in <a class="el" href="a00078.html">tbb::movable_exception< ExceptionData ></a>)</td><td class="entry"><a class="el" href="a00078.html">tbb::movable_exception< ExceptionData ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00078.html#a02f0401b465690de797face2432d9421">destroy</a>()</td><td class="entry"><a class="el" href="a00078.html">tbb::movable_exception< ExceptionData ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>movable_exception</b>(const ExceptionData &data_) (defined in <a class="el" href="a00078.html">tbb::movable_exception< ExceptionData ></a>)</td><td class="entry"><a class="el" href="a00078.html">tbb::movable_exception< ExceptionData ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>movable_exception</b>(const movable_exception &src) (defined in <a class="el" href="a00078.html">tbb::movable_exception< ExceptionData ></a>)</td><td class="entry"><a class="el" href="a00078.html">tbb::movable_exception< ExceptionData ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00078.html#aeb47d3ac90a1f01fe642b572f6ac519d">move</a>()</td><td class="entry"><a class="el" href="a00078.html">tbb::movable_exception< ExceptionData ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00078.html#adba063da80054afe64d5268711084d9b">my_exception_data</a></td><td class="entry"><a class="el" href="a00078.html">tbb::movable_exception< ExceptionData ></a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00078.html#a65dd805ed2424f1d2d0998f5567a9690">name</a>() const </td><td class="entry"><a class="el" href="a00078.html">tbb::movable_exception< ExceptionData ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00146.html#a6a973c37078afedf7d457ff4704bf8cd">operator delete</a>(void *p)</td><td class="entry"><a class="el" href="a00146.html">tbb::tbb_exception</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>operator=</b>(const movable_exception &src) (defined in <a class="el" href="a00078.html">tbb::movable_exception< ExceptionData ></a>)</td><td class="entry"><a class="el" href="a00078.html">tbb::movable_exception< ExceptionData ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00078.html#a3d1570b53220fbcb45eb81552b57827a">throw_self</a>()</td><td class="entry"><a class="el" href="a00078.html">tbb::movable_exception< ExceptionData ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00078.html#a41a2a7b61537ecd684bae760366f611c">what</a>() const </td><td class="entry"><a class="el" href="a00078.html">tbb::movable_exception< ExceptionData ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~movable_exception</b>() (defined in <a class="el" href="a00078.html">tbb::movable_exception< ExceptionData ></a>)</td><td class="entry"><a class="el" href="a00078.html">tbb::movable_exception< ExceptionData ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>~tbb_exception</b>() (defined in <a class="el" href="a00146.html">tbb::tbb_exception</a>)</td><td class="entry"><a class="el" href="a00146.html">tbb::tbb_exception</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+</table></div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00304.png b/doc/html/a00304.png
deleted file mode 100644
index 4eedec5..0000000
Binary files a/doc/html/a00304.png and /dev/null differ
diff --git a/doc/html/a00305.html b/doc/html/a00305.html
index 9b9c160..93913a2 100644
--- a/doc/html/a00305.html
+++ b/doc/html/a00305.html
@@ -1,50 +1,57 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>tbb::internal::machine_load_store_relaxed< T, S > Struct Template Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="nav">
-<a class="el" href="a00428.html">tbb</a>::<b>internal</b>::<a class="el" href="a00305.html">machine_load_store_relaxed</a></div>
-<h1>tbb::internal::machine_load_store_relaxed< T, S > Struct Template Reference</h1><!-- doxytag: class="tbb::internal::machine_load_store_relaxed" --><code>#include <tbb_machine.h></code>
-<p>
-<a href="a00174.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="de10ed2fe8788773adb55f265db38587"></a><!-- doxytag: member="tbb::internal::machine_load_store_relaxed::load" ref="de10ed2fe8788773adb55f265db38587" args="(const volatile T &location)" -->
-static T </td><td class="memItemRight" valign="bottom"><b>load</b> (const volatile T &location)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1d72090653905a4c94aa6836bc190044"></a><!-- doxytag: member="tbb::internal::machine_load_store_relaxed::store" ref="1d72090653905a4c94aa6836bc190044" args="(volatile T &location, T value)" -->
-static void </td><td class="memItemRight" valign="bottom"><b>store</b> (volatile T &location, T value)</td></tr>
-
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-<h3>template<typename T, size_t S><br>
- struct tbb::internal::machine_load_store_relaxed< T, S ></h3>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00155.html">tick_count</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::tick_count Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
 
-Volatile should not incur any additional cost on IA32, Intel64, and Sparc TSO architectures. However on architectures with weak memory ordering compiler may generate code with acquire/release semantics for operations on volatile data. 
-<p>
-<hr>The documentation for this struct was generated from the following file:<ul>
-<li>tbb_machine.h</ul>
+<p>This is the complete list of members for <a class="el" href="a00155.html">tbb::tick_count</a>, including all inherited members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" href="a00155.html#a74dcecde7431ff4591d7c46fc1d50d7e">now</a>()</td><td class="entry"><a class="el" href="a00155.html">tbb::tick_count</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00155.html#ab5ceaed3ebf5a0d41088a5bc7c8dc653">operator-</a>(const tick_count &t1, const tick_count &t0)</td><td class="entry"><a class="el" href="a00155.html">tbb::tick_count</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00155.html#aaf6a0d91e7d40f7d68e0ad6b79350e58">resolution</a>()</td><td class="entry"><a class="el" href="a00155.html">tbb::tick_count</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00155.html#a9f1daa0b7a4feb800f802b4be1f1e497">tick_count</a>()</td><td class="entry"><a class="el" href="a00155.html">tbb::tick_count</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+</table></div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00306.html b/doc/html/a00306.html
index 4b8eca7..a9b03d7 100644
--- a/doc/html/a00306.html
+++ b/doc/html/a00306.html
@@ -1,50 +1,62 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>tbb::internal::machine_load_store_seq_cst< T, 8 > Struct Template Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="nav">
-<a class="el" href="a00428.html">tbb</a>::<b>internal</b>::<a class="el" href="a00306.html">machine_load_store_seq_cst< T, 8 ></a></div>
-<h1>tbb::internal::machine_load_store_seq_cst< T, 8 > Struct Template Reference</h1><!-- doxytag: class="tbb::internal::machine_load_store_seq_cst< T, 8 >" --><code>#include <tbb_machine.h></code>
-<p>
-<a href="a00173.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e765439a2cd7ddd871b20dc72148d600"></a><!-- doxytag: member="tbb::internal::machine_load_store_seq_cst< T, 8 >::load" ref="e765439a2cd7ddd871b20dc72148d600" args="(const volatile T &location)" -->
-static T </td><td class="memItemRight" valign="bottom"><b>load</b> (const volatile T &location)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="05fcfe2752cabb32ff9db4fbef59bb8b"></a><!-- doxytag: member="tbb::internal::machine_load_store_seq_cst< T, 8 >::store" ref="05fcfe2752cabb32ff9db4fbef59bb8b" args="(volatile T &location, T value)" -->
-static void </td><td class="memItemRight" valign="bottom"><b>store</b> (volatile T &location, T value)</td></tr>
-
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-<h3>template<typename T><br>
- struct tbb::internal::machine_load_store_seq_cst< T, 8 ></h3>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00155.html">tick_count</a></li><li class="navelem"><a class="el" href="a00066.html">interval_t</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::tick_count::interval_t Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
 
-The implementation does not use functions __TBB_machine_load8/store8 as they are not required to be sequentially consistent. 
-<p>
-<hr>The documentation for this struct was generated from the following file:<ul>
-<li>tbb_machine.h</ul>
+<p>This is the complete list of members for <a class="el" href="a00066.html">tbb::tick_count::interval_t</a>, including all inherited members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" href="a00066.html#a95e3e14750bebafe719856176e2737db">interval_t</a>()</td><td class="entry"><a class="el" href="a00066.html">tbb::tick_count::interval_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00066.html#a73b462297173f6bffa15bc5a86c30ef4">interval_t</a>(double sec)</td><td class="entry"><a class="el" href="a00066.html">tbb::tick_count::interval_t</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00066.html#ac8910ee3b69f68eb905af787c273e9a8">operator+</a>(const interval_t &i, const interval_t &j)</td><td class="entry"><a class="el" href="a00066.html">tbb::tick_count::interval_t</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00066.html#a19bf32f4541252daaa6b09fd33fa9177">operator+=</a>(const interval_t &i)</td><td class="entry"><a class="el" href="a00066.html">tbb::tick_count::interval_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00066.html#ab5ceaed3ebf5a0d41088a5bc7c8dc653">operator-</a>(const tick_count &t1, const tick_count &t0)</td><td class="entry"><a class="el" href="a00066.html">tbb::tick_count::interval_t</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00066.html#a3d11133daa9a7d3c903d070293278f8f">operator-</a>(const interval_t &i, const interval_t &j)</td><td class="entry"><a class="el" href="a00066.html">tbb::tick_count::interval_t</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00066.html#a3394d9f3678e6a4c3d6e1be840fe2ff2">operator-=</a>(const interval_t &i)</td><td class="entry"><a class="el" href="a00066.html">tbb::tick_count::interval_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00066.html#abe81446bbbb6b6e98d854b91acf47809">seconds</a>() const </td><td class="entry"><a class="el" href="a00066.html">tbb::tick_count::interval_t</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>tbb::tick_count</b> (defined in <a class="el" href="a00066.html">tbb::tick_count::interval_t</a>)</td><td class="entry"><a class="el" href="a00066.html">tbb::tick_count::interval_t</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+</table></div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00307.html b/doc/html/a00307.html
index 9e3924f..4e2ab9a 100644
--- a/doc/html/a00307.html
+++ b/doc/html/a00307.html
@@ -1,55 +1,90 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>tbb::interface6::memory_pool< Alloc > Class Template Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="nav">
-<a class="el" href="a00428.html">tbb</a>::<b>interface6</b>::<a class="el" href="a00307.html">memory_pool</a></div>
-<h1>tbb::interface6::memory_pool< Alloc > Class Template Reference</h1><!-- doxytag: class="tbb::interface6::memory_pool" -->Thread-safe growable pool allocator for variable-size requests.  
-<a href="#_details">More...</a>
-<p>
-<code>#include <memory_pool.h></code>
-<p>
-<a href="a00088.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2822528265718a4c779591fc37c02ca8"></a><!-- doxytag: member="tbb::interface6::memory_pool::memory_pool" ref="2822528265718a4c779591fc37c02ca8" args="(const Alloc &src=Alloc())" -->
- </td><td class="memItemRight" valign="bottom"><a class="el" href="a00307.html#2822528265718a4c779591fc37c02ca8">memory_pool</a> (const Alloc &src=Alloc())</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">construct pool with underlying allocator <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="fdad7c4ed08332ec384491a71b721957"></a><!-- doxytag: member="tbb::interface6::memory_pool::~memory_pool" ref="fdad7c4ed08332ec384491a71b721957" args="()" -->
- </td><td class="memItemRight" valign="bottom"><a class="el" href="a00307.html#fdad7c4ed08332ec384491a71b721957">~memory_pool</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">destroy pool <br></td></tr>
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-<h3>template<typename Alloc><br>
- class tbb::interface6::memory_pool< Alloc ></h3>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>deprecated</b></li><li class="navelem"><a class="el" href="a00039.html">concurrent_queue</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::deprecated::concurrent_queue< T, A > Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
 
-Thread-safe growable pool allocator for variable-size requests. 
-<p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li><a class="el" href="a00386.html">memory_pool.h</a></ul>
+<p>This is the complete list of members for <a class="el" href="a00039.html">tbb::deprecated::concurrent_queue< T, A ></a>, including all inherited members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" href="a00034.html#a77a755d94cabf5208905d10d5b57419c">abort</a>()</td><td class="entry"><a class="el" href="a00034.html">tbb::concurrent_bounded_queue< T, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00034.html#acbfceb845de1c770e2b56409f09b0364">allocator_type</a> typedef</td><td class="entry"><a class="el" href="a00034.html">tbb::concurrent_bounded_queue< T, A ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>begin</b>() (defined in <a class="el" href="a00039.html">tbb::deprecated::concurrent_queue< T, A ></a>)</td><td class="entry"><a class="el" href="a00039.html">tbb::deprecated::concurrent_queue< T, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>begin</b>() const  (defined in <a class="el" href="a00039.html">tbb::deprecated::concurrent_queue< T, A ></a>)</td><td class="entry"><a class="el" href="a00039.html">tbb::deprecated::concurrent_queue< T, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00034.html#a526487063242569685af8c8d778d39e0">capacity</a>() const </td><td class="entry"><a class="el" href="a00034.html">tbb::concurrent_bounded_queue< T, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00034.html#a246be3920e079ea4847933f106baa98f">clear</a>()</td><td class="entry"><a class="el" href="a00034.html">tbb::concurrent_bounded_queue< T, A ></a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00034.html#a85f8a800cae02b601f36ad7a655a0126">concurrent_bounded_queue</a>(const allocator_type &a=allocator_type())</td><td class="entry"><a class="el" href="a00034.html">tbb::concurrent_bounded_queue< T, A ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00034.html#aad6fd2353d64c2c31d074cd99df58c02">concurrent_bounded_queue</a>(const concurrent_bounded_queue &src, const allocator_type &a=allocator_type())</td><td class="entry"><a class="el" href="a00034.html">tbb::concurrent_bounded_queue< T, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00034.html#afcfdc998e106fdb7b2dfa5df880cd9cf">concurrent_bounded_queue</a>(InputIterator begin, InputIterator end, const allocator_type &a=allocator_type())</td><td class="entry"><a class="el" href="a00034.html">tbb::concurrent_bounded_queue< T, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00039.html#adc192aba16ef123aebbc4ada0fb53708">concurrent_queue</a>(const A &a=A())</td><td class="entry"><a class="el" href="a00039.html">tbb::deprecated::concurrent_queue< T, A ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00039.html#aa7d1fb274d89c0109fa72d9d87ed329d">concurrent_queue</a>(const concurrent_queue &src, const A &a=A())</td><td class="entry"><a class="el" href="a00039.html">tbb::deprecated::concurrent_queue< T, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00039.html#a93a2e58af05f73a763cc23c32d4de010">concurrent_queue</a>(InputIterator b, InputIterator e, const A &a=A())</td><td class="entry"><a class="el" href="a00039.html">tbb::deprecated::concurrent_queue< T, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>const_iterator</b> typedef (defined in <a class="el" href="a00039.html">tbb::deprecated::concurrent_queue< T, A ></a>)</td><td class="entry"><a class="el" href="a00039.html">tbb::deprecated::concurrent_queue< T, A ></a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="a00034.html#af838e520ce0db2c22369748c019b11cb">const_reference</a> typedef</td><td class="entry"><a class="el" href="a00034.html">tbb::concurrent_bounded_queue< T, A ></a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00034.html#a72725361e050c5a981035a20ef1b773e">difference_type</a> typedef</td><td class="entry"><a class="el" href="a00034.html">tbb::concurrent_bounded_queue< T, A ></a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="a00034.html#a8c59578f28c5fb4718b0eff43776e879">empty</a>() const </td><td class="entry"><a class="el" href="a00034.html">tbb::concurrent_bounded_queue< T, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>end</b>() (defined in <a class="el" href="a00039.html">tbb::deprecated::concurrent_queue< T, A ></a>)</td><td class="entry"><a class="el" href="a00039.html">tbb::deprecated::concurrent_queue< T, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>end</b>() const  (defined in <a class="el" href="a00039.html">tbb::deprecated::concurrent_queue< T, A ></a>)</td><td class="entry"><a class="el" href="a00039.html">tbb::deprecated::concurrent_queue< T, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00034.html#aaeba11bbcd368a7a3a6e6e2dd3082c9c">get_allocator</a>() const </td><td class="entry"><a class="el" href="a00034.html">tbb::concurrent_bounded_queue< T, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>internal::concurrent_queue_iterator</b> (defined in <a class="el" href="a00039.html">tbb::deprecated::concurrent_queue< T, A ></a>)</td><td class="entry"><a class="el" href="a00039.html">tbb::deprecated::concurrent_queue< T, A ></a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>iterator</b> typedef (defined in <a class="el" href="a00039.html">tbb::deprecated::concurrent_queue< T, A ></a>)</td><td class="entry"><a class="el" href="a00039.html">tbb::deprecated::concurrent_queue< T, A ></a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="a00034.html#a87926c31967a918ce80690a9ed5d6fa8">pop</a>(T &destination)</td><td class="entry"><a class="el" href="a00034.html">tbb::concurrent_bounded_queue< T, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00039.html#a8d6825341ca673ea316202474a021174">pop_if_present</a>(T &destination)</td><td class="entry"><a class="el" href="a00039.html">tbb::deprecated::concurrent_queue< T, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00034.html#ae5e9051772bbc93b2ccb8fd0a98a21f5">push</a>(const T &source)</td><td class="entry"><a class="el" href="a00034.html">tbb::concurrent_bounded_queue< T, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00039.html#a129cde9f5f101ddd623619c838be07f3">push_if_not_full</a>(const T &source)</td><td class="entry"><a class="el" href="a00039.html">tbb::deprecated::concurrent_queue< T, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00034.html#a5fa4002bcd265d9d3ed305e3b686f1da">reference</a> typedef</td><td class="entry"><a class="el" href="a00034.html">tbb::concurrent_bounded_queue< T, A ></a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00034.html#a768699675813575eec08c1f43afda395">set_capacity</a>(size_type new_capacity)</td><td class="entry"><a class="el" href="a00034.html">tbb::concurrent_bounded_queue< T, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00034.html#a9d6c20fd8c193c12b6a7b0c3101fd966">size</a>() const </td><td class="entry"><a class="el" href="a00034.html">tbb::concurrent_bounded_queue< T, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00034.html#ae73fa352d781bdb9d01bfb77f2a8bc28">size_type</a> typedef</td><td class="entry"><a class="el" href="a00034.html">tbb::concurrent_bounded_queue< T, A ></a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="a00034.html#a3086cb4dcdeee245ef5cf34f72fb3e10">try_pop</a>(T &destination)</td><td class="entry"><a class="el" href="a00034.html">tbb::concurrent_bounded_queue< T, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00034.html#a03d93a240841a21788396bebd71c51bd">try_push</a>(const T &source)</td><td class="entry"><a class="el" href="a00034.html">tbb::concurrent_bounded_queue< T, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>unsafe_begin</b>() (defined in <a class="el" href="a00034.html">tbb::concurrent_bounded_queue< T, A ></a>)</td><td class="entry"><a class="el" href="a00034.html">tbb::concurrent_bounded_queue< T, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>unsafe_begin</b>() const  (defined in <a class="el" href="a00034.html">tbb::concurrent_bounded_queue< T, A ></a>)</td><td class="entry"><a class="el" href="a00034.html">tbb::concurrent_bounded_queue< T, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>unsafe_end</b>() (defined in <a class="el" href="a00034.html">tbb::concurrent_bounded_queue< T, A ></a>)</td><td class="entry"><a class="el" href="a00034.html">tbb::concurrent_bounded_queue< T, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>unsafe_end</b>() const  (defined in <a class="el" href="a00034.html">tbb::concurrent_bounded_queue< T, A ></a>)</td><td class="entry"><a class="el" href="a00034.html">tbb::concurrent_bounded_queue< T, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00034.html#a6eb564625fef03dd9a5881d5d4e52f9f">value_type</a> typedef</td><td class="entry"><a class="el" href="a00034.html">tbb::concurrent_bounded_queue< T, A ></a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00034.html#ab1291bf6837ecfb8836c24dde5dd80b5">~concurrent_bounded_queue</a>()</td><td class="entry"><a class="el" href="a00034.html">tbb::concurrent_bounded_queue< T, A ></a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00308.html b/doc/html/a00308.html
index 74eb79e..d157c3c 100644
--- a/doc/html/a00308.html
+++ b/doc/html/a00308.html
@@ -1,129 +1,62 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>tbb::interface6::memory_pool_allocator< T, P > Class Template Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="nav">
-<a class="el" href="a00428.html">tbb</a>::<b>interface6</b>::<a class="el" href="a00308.html">memory_pool_allocator</a></div>
-<h1>tbb::interface6::memory_pool_allocator< T, P > Class Template Reference<br>
-<small>
-[<a class="el" href="a00443.html">Memory Allocation</a>]</small>
-</h1><!-- doxytag: class="tbb::interface6::memory_pool_allocator" -->Meets "allocator" requirements of ISO C++ Standard, Section 20.1.5.  
-<a href="#_details">More...</a>
-<p>
-<code>#include <memory_pool.h></code>
-<p>
-<a href="a00084.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="364d1a4b2174091802a0c1a7177fd037"></a><!-- doxytag: member="tbb::interface6::memory_pool_allocator::value_type" ref="364d1a4b2174091802a0c1a7177fd037" args="" -->
-typedef tbb::internal::allocator_type<<br>
- T >::value_type </td><td class="memItemRight" valign="bottom"><b>value_type</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="841174744c7bebbe9a8ec4cd35b7e8c8"></a><!-- doxytag: member="tbb::interface6::memory_pool_allocator::pointer" ref="841174744c7bebbe9a8ec4cd35b7e8c8" args="" -->
-typedef value_type * </td><td class="memItemRight" valign="bottom"><b>pointer</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8867631698ca08b5b8c849693f45cef4"></a><!-- doxytag: member="tbb::interface6::memory_pool_allocator::const_pointer" ref="8867631698ca08b5b8c849693f45cef4" args="" -->
-typedef const value_type * </td><td class="memItemRight" valign="bottom"><b>const_pointer</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4419d14b95793fea5e80c1a7ad85b4b3"></a><!-- doxytag: member="tbb::interface6::memory_pool_allocator::reference" ref="4419d14b95793fea5e80c1a7ad85b4b3" args="" -->
-typedef value_type & </td><td class="memItemRight" valign="bottom"><b>reference</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="57a51cd687993c94d486a0ff0b7a783f"></a><!-- doxytag: member="tbb::interface6::memory_pool_allocator::const_reference" ref="57a51cd687993c94d486a0ff0b7a783f" args="" -->
-typedef const value_type & </td><td class="memItemRight" valign="bottom"><b>const_reference</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="fd9f0aaee1039cc64fa4342ee93fd43e"></a><!-- doxytag: member="tbb::interface6::memory_pool_allocator::size_type" ref="fd9f0aaee1039cc64fa4342ee93fd43e" args="" -->
-typedef size_t </td><td class="memItemRight" valign="bottom"><b>size_type</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4340f60415582d0eca834b47b22f5d62"></a><!-- doxytag: member="tbb::interface6::memory_pool_allocator::difference_type" ref="4340f60415582d0eca834b47b22f5d62" args="" -->
-typedef ptrdiff_t </td><td class="memItemRight" valign="bottom"><b>difference_type</b></td></tr>
-
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d06264c6dc8ed178d8c14998f0511b27"></a><!-- doxytag: member="tbb::interface6::memory_pool_allocator::memory_pool_allocator" ref="d06264c6dc8ed178d8c14998f0511b27" args="(pool_type &pool)" -->
- </td><td class="memItemRight" valign="bottom"><b>memory_pool_allocator</b> (pool_type &pool)  throw ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="655f7aef5ba5dbe79f76b493270794af"></a><!-- doxytag: member="tbb::interface6::memory_pool_allocator::memory_pool_allocator" ref="655f7aef5ba5dbe79f76b493270794af" args="(const memory_pool_allocator &src)" -->
- </td><td class="memItemRight" valign="bottom"><b>memory_pool_allocator</b> (const <a class="el" href="a00308.html">memory_pool_allocator</a> &src)  throw ()</td></tr>
-
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="0d1d98389a82d65a4229db8e28363420"></a><!-- doxytag: member="tbb::interface6::memory_pool_allocator::memory_pool_allocator" ref="0d1d98389a82d65a4229db8e28363420" args="(const memory_pool_allocator< U, P > &src)" -->
-template<typename U> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"> </td><td class="memTemplItemRight" valign="bottom"><b>memory_pool_allocator</b> (const <a class="el" href="a00308.html">memory_pool_allocator</a>< U, P > &src)  throw ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="727129bc029510733b3e95ea10f6bee3"></a><!-- doxytag: member="tbb::interface6::memory_pool_allocator::address" ref="727129bc029510733b3e95ea10f6bee3" args="(reference x) const " -->
-pointer </td><td class="memItemRight" valign="bottom"><b>address</b> (reference x) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e250b83998b01dbea88c43085e15139a"></a><!-- doxytag: member="tbb::interface6::memory_pool_allocator::address" ref="e250b83998b01dbea88c43085e15139a" args="(const_reference x) const " -->
-const_pointer </td><td class="memItemRight" valign="bottom"><b>address</b> (const_reference x) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="365bd64d284c80d85bb2149a12681526"></a><!-- doxytag: member="tbb::interface6::memory_pool_allocator::allocate" ref="365bd64d284c80d85bb2149a12681526" args="(size_type n, const void *=0)" -->
-pointer </td><td class="memItemRight" valign="bottom"><a class="el" href="a00308.html#365bd64d284c80d85bb2149a12681526">allocate</a> (size_type n, const void *=0)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Allocate space for n objects. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4e24a03de38638af07548383024c54ab"></a><!-- doxytag: member="tbb::interface6::memory_pool_allocator::deallocate" ref="4e24a03de38638af07548383024c54ab" args="(pointer p, size_type)" -->
-void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00308.html#4e24a03de38638af07548383024c54ab">deallocate</a> (pointer p, size_type)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Free previously allocated block of memory. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="beebdb6144df8ba219fadfad4de866ea"></a><!-- doxytag: member="tbb::interface6::memory_pool_allocator::max_size" ref="beebdb6144df8ba219fadfad4de866ea" args="() const " -->
-size_type </td><td class="memItemRight" valign="bottom"><a class="el" href="a00308.html#beebdb6144df8ba219fadfad4de866ea">max_size</a> () const   throw ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Largest value for which method allocate might succeed. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="c6d3fa3032bf5d4be841729d7893e26d"></a><!-- doxytag: member="tbb::interface6::memory_pool_allocator::construct" ref="c6d3fa3032bf5d4be841729d7893e26d" args="(U *p, Args &&...args)" -->
-template<typename U, typename... Args> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00308.html#c6d3fa3032bf5d4be841729d7893e26d">construct</a> (U *p, Args &&...args)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Copy-construct value at location pointed to by p. <br></td></tr>
-<tr><td colspan="2"><br><h2>Protected Types</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b9b545d2d31ef4b711ca87ba7aa18976"></a><!-- doxytag: member="tbb::interface6::memory_pool_allocator::pool_type" ref="b9b545d2d31ef4b711ca87ba7aa18976" args="" -->
-typedef P </td><td class="memItemRight" valign="bottom"><b>pool_type</b></td></tr>
-
-<tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9f22e947018eb99cde5f44ee3d339499"></a><!-- doxytag: member="tbb::interface6::memory_pool_allocator::my_pool" ref="9f22e947018eb99cde5f44ee3d339499" args="" -->
-pool_type * </td><td class="memItemRight" valign="bottom"><b>my_pool</b></td></tr>
-
-<tr><td colspan="2"><br><h2>Friends</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="193c7eeb6ed852d587b652828f52ca92"></a><!-- doxytag: member="tbb::interface6::memory_pool_allocator::memory_pool_allocator" ref="193c7eeb6ed852d587b652828f52ca92" args="" -->
-class </td><td class="memItemRight" valign="bottom"><b>memory_pool_allocator</b></td></tr>
-
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="f4fe0fa75b911081eff469ddb3e7e52a"></a><!-- doxytag: member="tbb::interface6::memory_pool_allocator::operator==" ref="f4fe0fa75b911081eff469ddb3e7e52a" args="(const memory_pool_allocator< V, R > &a, const memory_pool_allocator< U, R > &b)" -->
-template<typename V, typename U, typename R> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><b>operator==</b> (const <a class="el" href="a00308.html">memory_pool_allocator</a>< V, R > &a, const <a class="el" href="a00308.html">memory_pool_allocator</a>< U, R > &b)</td></tr>
-
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="4bb06a39de4a5290b4ec03be19d61c36"></a><!-- doxytag: member="tbb::interface6::memory_pool_allocator::operator!=" ref="4bb06a39de4a5290b4ec03be19d61c36" args="(const memory_pool_allocator< V, R > &a, const memory_pool_allocator< U, R > &b)" -->
-template<typename V, typename U, typename R> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><b>operator!=</b> (const <a class="el" href="a00308.html">memory_pool_allocator</a>< V, R > &a, const <a class="el" href="a00308.html">memory_pool_allocator</a>< U, R > &b)</td></tr>
-
-<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><b>rebind</b></td></tr>
-
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-<h3>template<typename T, typename P = internal::pool_base><br>
- class tbb::interface6::memory_pool_allocator< T, P ></h3>
-
-Meets "allocator" requirements of ISO C++ Standard, Section 20.1.5. 
-<p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li><a class="el" href="a00386.html">memory_pool.h</a></ul>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>flow</b></li><li class="navelem"><b>interface7</b></li><li class="navelem"><a class="el" href="a00124.html">sender</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::flow::interface7::sender< T > Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="a00124.html">tbb::flow::interface7::sender< T ></a>, including all inherited members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" href="a00124.html#add86fddf72758d8e5b05b07650c6eeed">output_type</a> typedef</td><td class="entry"><a class="el" href="a00124.html">tbb::flow::interface7::sender< T ></a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="a00124.html#a4dac8f53a1f8373c1f3a874b9617e4ec">register_successor</a>(successor_type &r)=0</td><td class="entry"><a class="el" href="a00124.html">tbb::flow::interface7::sender< T ></a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00124.html#ac1ae19f49e31c6ca94dcf14732eb7a64">remove_successor</a>(successor_type &r)=0</td><td class="entry"><a class="el" href="a00124.html">tbb::flow::interface7::sender< T ></a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00124.html#a7779627063a29d4d2a1fc905a5cae8db">successor_type</a> typedef</td><td class="entry"><a class="el" href="a00124.html">tbb::flow::interface7::sender< T ></a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00124.html#ad404d5218c7ae2556261ffa880cdf804">try_consume</a>()</td><td class="entry"><a class="el" href="a00124.html">tbb::flow::interface7::sender< T ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00124.html#ad50b8ac93e79cbdcd2bba11d35432f2c">try_get</a>(T &)</td><td class="entry"><a class="el" href="a00124.html">tbb::flow::interface7::sender< T ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00124.html#a97ac316ddfb6bd7c7f2f56e3e819a30a">try_release</a>()</td><td class="entry"><a class="el" href="a00124.html">tbb::flow::interface7::sender< T ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00124.html#aa1b9dcf77ab558530ff93a706b4c4b5d">try_reserve</a>(T &)</td><td class="entry"><a class="el" href="a00124.html">tbb::flow::interface7::sender< T ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~sender</b>() (defined in <a class="el" href="a00124.html">tbb::flow::interface7::sender< T ></a>)</td><td class="entry"><a class="el" href="a00124.html">tbb::flow::interface7::sender< T ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+</table></div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00309.html b/doc/html/a00309.html
index ba14a43..466c399 100644
--- a/doc/html/a00309.html
+++ b/doc/html/a00309.html
@@ -1,92 +1,67 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>tbb::interface6::memory_pool_allocator< void, P > Class Template Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="nav">
-<a class="el" href="a00428.html">tbb</a>::<b>interface6</b>::<a class="el" href="a00309.html">memory_pool_allocator< void, P ></a></div>
-<h1>tbb::interface6::memory_pool_allocator< void, P > Class Template Reference<br>
-<small>
-[<a class="el" href="a00443.html">Memory Allocation</a>]</small>
-</h1><!-- doxytag: class="tbb::interface6::memory_pool_allocator< void, P >" -->Analogous to std::allocator<void>, as defined in ISO C++ Standard, Section 20.4.1.  
-<a href="#_details">More...</a>
-<p>
-<code>#include <memory_pool.h></code>
-<p>
-<a href="a00086.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7cc2e35b1d34d0543b5a029414ef41f8"></a><!-- doxytag: member="tbb::interface6::memory_pool_allocator< void, P >::pool_type" ref="7cc2e35b1d34d0543b5a029414ef41f8" args="" -->
-typedef P </td><td class="memItemRight" valign="bottom"><b>pool_type</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="48afbf9aed30662f09217c1fe229861d"></a><!-- doxytag: member="tbb::interface6::memory_pool_allocator< void, P >::pointer" ref="48afbf9aed30662f09217c1fe229861d" args="" -->
-typedef void * </td><td class="memItemRight" valign="bottom"><b>pointer</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="94ac6954c897981fc8adf6bf5978145b"></a><!-- doxytag: member="tbb::interface6::memory_pool_allocator< void, P >::const_pointer" ref="94ac6954c897981fc8adf6bf5978145b" args="" -->
-typedef const void * </td><td class="memItemRight" valign="bottom"><b>const_pointer</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2b9b8af832a8b240cf22c5cc37406f45"></a><!-- doxytag: member="tbb::interface6::memory_pool_allocator< void, P >::value_type" ref="2b9b8af832a8b240cf22c5cc37406f45" args="" -->
-typedef void </td><td class="memItemRight" valign="bottom"><b>value_type</b></td></tr>
-
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1601367c80ed73278e1234012631df24"></a><!-- doxytag: member="tbb::interface6::memory_pool_allocator< void, P >::memory_pool_allocator" ref="1601367c80ed73278e1234012631df24" args="(pool_type &pool)" -->
- </td><td class="memItemRight" valign="bottom"><b>memory_pool_allocator</b> (pool_type &pool)  throw ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e4ce5d3f231c9e786aee8f64d53c7f1a"></a><!-- doxytag: member="tbb::interface6::memory_pool_allocator< void, P >::memory_pool_allocator" ref="e4ce5d3f231c9e786aee8f64d53c7f1a" args="(const memory_pool_allocator &src)" -->
- </td><td class="memItemRight" valign="bottom"><b>memory_pool_allocator</b> (const <a class="el" href="a00308.html">memory_pool_allocator</a> &src)  throw ()</td></tr>
-
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="49bd821cb72e23714d7efc480ac4cc9d"></a><!-- doxytag: member="tbb::interface6::memory_pool_allocator< void, P >::memory_pool_allocator" ref="49bd821cb72e23714d7efc480ac4cc9d" args="(const memory_pool_allocator< U, P > &src)" -->
-template<typename U> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"> </td><td class="memTemplItemRight" valign="bottom"><b>memory_pool_allocator</b> (const <a class="el" href="a00308.html">memory_pool_allocator</a>< U, P > &src)  throw ()</td></tr>
-
-<tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="67b8e6e057db62e7fdbe985ce275b039"></a><!-- doxytag: member="tbb::interface6::memory_pool_allocator< void, P >::my_pool" ref="67b8e6e057db62e7fdbe985ce275b039" args="" -->
-pool_type * </td><td class="memItemRight" valign="bottom"><b>my_pool</b></td></tr>
-
-<tr><td colspan="2"><br><h2>Friends</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="193c7eeb6ed852d587b652828f52ca92"></a><!-- doxytag: member="tbb::interface6::memory_pool_allocator< void, P >::memory_pool_allocator" ref="193c7eeb6ed852d587b652828f52ca92" args="" -->
-class </td><td class="memItemRight" valign="bottom"><b>memory_pool_allocator</b></td></tr>
-
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="f4fe0fa75b911081eff469ddb3e7e52a"></a><!-- doxytag: member="tbb::interface6::memory_pool_allocator< void, P >::operator==" ref="f4fe0fa75b911081eff469ddb3e7e52a" args="(const memory_pool_allocator< V, R > &a, const memory_pool_allocator< U, R > &b)" -->
-template<typename V, typename U, typename R> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><b>operator==</b> (const <a class="el" href="a00308.html">memory_pool_allocator</a>< V, R > &a, const <a class="el" href="a00308.html">memory_pool_allocator</a>< U, R > &b)</td></tr>
-
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="4bb06a39de4a5290b4ec03be19d61c36"></a><!-- doxytag: member="tbb::interface6::memory_pool_allocator< void, P >::operator!=" ref="4bb06a39de4a5290b4ec03be19d61c36" args="(const memory_pool_allocator< V, R > &a, const memory_pool_allocator< U, R > &b)" -->
-template<typename V, typename U, typename R> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><b>operator!=</b> (const <a class="el" href="a00308.html">memory_pool_allocator</a>< V, R > &a, const <a class="el" href="a00308.html">memory_pool_allocator</a>< U, R > &b)</td></tr>
-
-<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><b>rebind</b></td></tr>
-
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-<h3>template<typename P><br>
- class tbb::interface6::memory_pool_allocator< void, P ></h3>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>flow</b></li><li class="navelem"><b>interface7</b></li><li class="navelem"><a class="el" href="a00106.html">receiver</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::flow::interface7::receiver< T > Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
 
-Analogous to std::allocator<void>, as defined in ISO C++ Standard, Section 20.4.1. 
-<p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li><a class="el" href="a00386.html">memory_pool.h</a></ul>
+<p>This is the complete list of members for <a class="el" href="a00106.html">tbb::flow::interface7::receiver< T ></a>, including all inherited members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" href="a00106.html#a16eccc851b858604344bb8f1bb9eedc8">input_type</a> typedef</td><td class="entry"><a class="el" href="a00106.html">tbb::flow::interface7::receiver< T ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>internal::broadcast_cache</b> (defined in <a class="el" href="a00106.html">tbb::flow::interface7::receiver< T ></a>)</td><td class="entry"><a class="el" href="a00106.html">tbb::flow::interface7::receiver< T ></a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>internal::round_robin_cache</b> (defined in <a class="el" href="a00106.html">tbb::flow::interface7::receiver< T ></a>)</td><td class="entry"><a class="el" href="a00106.html">tbb::flow::interface7::receiver< T ></a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>internal::successor_cache</b> (defined in <a class="el" href="a00106.html">tbb::flow::interface7::receiver< T ></a>)</td><td class="entry"><a class="el" href="a00106.html">tbb::flow::interface7::receiver< T ></a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>is_continue_receiver</b>() (defined in <a class="el" href="a00106.html">tbb::flow::interface7::receiver< T ></a>)</td><td class="entry"><a class="el" href="a00106.html">tbb::flow::interface7::receiver< T ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00106.html#a05ec930a348f7eed564236d00edbda24">limiter_node</a> class</td><td class="entry"><a class="el" href="a00106.html">tbb::flow::interface7::receiver< T ></a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00106.html#afbadf5511bd568d283040cd88bd4e81e">predecessor_type</a> typedef</td><td class="entry"><a class="el" href="a00106.html">tbb::flow::interface7::receiver< T ></a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="a00106.html#a16427aa709505de93ffe0d79136e4251">register_predecessor</a>(predecessor_type &)</td><td class="entry"><a class="el" href="a00106.html">tbb::flow::interface7::receiver< T ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00106.html#a55adae6228bbdc1539695e1ec20e9762">remove_predecessor</a>(predecessor_type &)</td><td class="entry"><a class="el" href="a00106.html">tbb::flow::interface7::receiver< T ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>reset_receiver</b>()=0 (defined in <a class="el" href="a00106.html">tbb::flow::interface7::receiver< T ></a>)</td><td class="entry"><a class="el" href="a00106.html">tbb::flow::interface7::receiver< T ></a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">pure virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00106.html#abaf9bf74ca5f2854d09f5f07337280eb">run_and_put_task</a> class</td><td class="entry"><a class="el" href="a00106.html">tbb::flow::interface7::receiver< T ></a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00106.html#aee5067bb4f4b71ffa786c1b33cb9aa6a">try_put</a>(const T &t)</td><td class="entry"><a class="el" href="a00106.html">tbb::flow::interface7::receiver< T ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>try_put_task</b>(const T &t)=0 (defined in <a class="el" href="a00106.html">tbb::flow::interface7::receiver< T ></a>)</td><td class="entry"><a class="el" href="a00106.html">tbb::flow::interface7::receiver< T ></a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">pure virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00106.html#a733889a9053478ef2fb2528e2205bf07">~receiver</a>()</td><td class="entry"><a class="el" href="a00106.html">tbb::flow::interface7::receiver< T ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+</table></div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00310.html b/doc/html/a00310.html
index e497251..d276b0c 100644
--- a/doc/html/a00310.html
+++ b/doc/html/a00310.html
@@ -1,47 +1,86 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>tbb::missing_wait Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="nav">
-<a class="el" href="a00428.html">tbb</a>::<a class="el" href="a00310.html">missing_wait</a></div>
-<h1>tbb::missing_wait Class Reference</h1><!-- doxytag: class="tbb::missing_wait" -->Exception for missing wait on structured_task_group.  
-<a href="#_details">More...</a>
-<p>
-<code>#include <tbb_exception.h></code>
-<p>
-<a href="a00159.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="fe3f8527f9013266dc845a4ff22dd2cf"></a><!-- doxytag: member="tbb::missing_wait::what" ref="fe3f8527f9013266dc845a4ff22dd2cf" args="() const " -->
-const char * </td><td class="memItemRight" valign="bottom"><b>what</b> () const   throw ()</td></tr>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>flow</b></li><li class="navelem"><b>interface7</b></li><li class="navelem"><a class="el" href="a00072.html">limiter_node</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::flow::interface7::limiter_node< T > Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
 
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-Exception for missing wait on structured_task_group. 
-<p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li>tbb_exception.h</ul>
+<p>This is the complete list of members for <a class="el" href="a00072.html">tbb::flow::interface7::limiter_node< T ></a>, including all inherited members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" href="a00072.html#ac313b6586bf183a33c3196037964547d">decrement</a></td><td class="entry"><a class="el" href="a00072.html">tbb::flow::interface7::limiter_node< T ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>graph_node</b>(graph &g) (defined in <a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a>)</td><td class="entry"><a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>input_type</b> typedef (defined in <a class="el" href="a00072.html">tbb::flow::interface7::limiter_node< T ></a>)</td><td class="entry"><a class="el" href="a00072.html">tbb::flow::interface7::limiter_node< T ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>internal::broadcast_cache</b> (defined in <a class="el" href="a00072.html">tbb::flow::interface7::limiter_node< T ></a>)</td><td class="entry"><a class="el" href="a00072.html">tbb::flow::interface7::limiter_node< T ></a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>internal::decrementer< limiter_node< T > ></b> (defined in <a class="el" href="a00072.html">tbb::flow::interface7::limiter_node< T ></a>)</td><td class="entry"><a class="el" href="a00072.html">tbb::flow::interface7::limiter_node< T ></a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>internal::forward_task_bypass< limiter_node< T > ></b> (defined in <a class="el" href="a00072.html">tbb::flow::interface7::limiter_node< T ></a>)</td><td class="entry"><a class="el" href="a00072.html">tbb::flow::interface7::limiter_node< T ></a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>internal::round_robin_cache</b> (defined in <a class="el" href="a00072.html">tbb::flow::interface7::limiter_node< T ></a>)</td><td class="entry"><a class="el" href="a00072.html">tbb::flow::interface7::limiter_node< T ></a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>is_continue_receiver</b>() (defined in <a class="el" href="a00106.html">tbb::flow::interface7::receiver< T ></a>)</td><td class="entry"><a class="el" href="a00106.html">tbb::flow::interface7::receiver< T ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00072.html#af1c8daee8d1fd31e63f78dbb8d0ec87d">limiter_node</a>(graph &g, size_t threshold, int num_decrement_predecessors=0)</td><td class="entry"><a class="el" href="a00072.html">tbb::flow::interface7::limiter_node< T ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00072.html#a99b359e7a83de8dc72dcad01798acab8">limiter_node</a>(const limiter_node &src)</td><td class="entry"><a class="el" href="a00072.html">tbb::flow::interface7::limiter_node< T ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>my_graph</b> (defined in <a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a>)</td><td class="entry"><a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>next</b> (defined in <a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a>)</td><td class="entry"><a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>output_type</b> typedef (defined in <a class="el" href="a00072.html">tbb::flow::interface7::limiter_node< T ></a>)</td><td class="entry"><a class="el" href="a00072.html">tbb::flow::interface7::limiter_node< T ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>predecessor_type</b> typedef (defined in <a class="el" href="a00072.html">tbb::flow::interface7::limiter_node< T ></a>)</td><td class="entry"><a class="el" href="a00072.html">tbb::flow::interface7::limiter_node< T ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>prev</b> (defined in <a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a>)</td><td class="entry"><a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00072.html#aca5ef5cec3b26227d71686d99ee04f7e">register_predecessor</a>(predecessor_type &src)</td><td class="entry"><a class="el" href="a00072.html">tbb::flow::interface7::limiter_node< T ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00072.html#ad2cfd954eb06732f7bae8f2c8fe28735">register_successor</a>(receiver< output_type > &r)</td><td class="entry"><a class="el" href="a00072.html">tbb::flow::interface7::limiter_node< T ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00072.html#a8aca7b4bd4ee13faf713021eb0d86735">remove_predecessor</a>(predecessor_type &src)</td><td class="entry"><a class="el" href="a00072.html">tbb::flow::interface7::limiter_node< T ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00072.html#ac7b092dcc2808abf02816d4ac9c86e66">remove_successor</a>(receiver< output_type > &r)</td><td class="entry"><a class="el" href="a00072.html">tbb::flow::interface7::limiter_node< T ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>reset</b>() (defined in <a class="el" href="a00072.html">tbb::flow::interface7::limiter_node< T ></a>)</td><td class="entry"><a class="el" href="a00072.html">tbb::flow::interface7::limiter_node< T ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>reset_receiver</b>() (defined in <a class="el" href="a00072.html">tbb::flow::interface7::limiter_node< T ></a>)</td><td class="entry"><a class="el" href="a00072.html">tbb::flow::interface7::limiter_node< T ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>run_and_put_task</b> (defined in <a class="el" href="a00072.html">tbb::flow::interface7::limiter_node< T ></a>)</td><td class="entry"><a class="el" href="a00072.html">tbb::flow::interface7::limiter_node< T ></a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>set_name</b>(const char *name) (defined in <a class="el" href="a00072.html">tbb::flow::interface7::limiter_node< T ></a>)</td><td class="entry"><a class="el" href="a00072.html">tbb::flow::interface7::limiter_node< T ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>successor_type</b> typedef (defined in <a class="el" href="a00072.html">tbb::flow::interface7::limiter_node< T ></a>)</td><td class="entry"><a class="el" href="a00072.html">tbb::flow::interface7::limiter_node< T ></a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00124.html#ad404d5218c7ae2556261ffa880cdf804">try_consume</a>()</td><td class="entry"><a class="el" href="a00124.html">tbb::flow::interface7::sender< T ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00124.html#ad50b8ac93e79cbdcd2bba11d35432f2c">try_get</a>(T &)</td><td class="entry"><a class="el" href="a00124.html">tbb::flow::interface7::sender< T ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00106.html#aee5067bb4f4b71ffa786c1b33cb9aa6a">try_put</a>(const T &t)</td><td class="entry"><a class="el" href="a00106.html">tbb::flow::interface7::receiver< T ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00072.html#a0551cf104b35669b5f5153c1d03d5d2d">try_put_task</a>(const T &t)</td><td class="entry"><a class="el" href="a00072.html">tbb::flow::interface7::limiter_node< T ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00124.html#a97ac316ddfb6bd7c7f2f56e3e819a30a">try_release</a>()</td><td class="entry"><a class="el" href="a00124.html">tbb::flow::interface7::sender< T ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00124.html#aa1b9dcf77ab558530ff93a706b4c4b5d">try_reserve</a>(T &)</td><td class="entry"><a class="el" href="a00124.html">tbb::flow::interface7::sender< T ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~graph_node</b>() (defined in <a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a>)</td><td class="entry"><a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00106.html#a733889a9053478ef2fb2528e2205bf07">~receiver</a>()</td><td class="entry"><a class="el" href="a00106.html">tbb::flow::interface7::receiver< T ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~sender</b>() (defined in <a class="el" href="a00124.html">tbb::flow::interface7::sender< T ></a>)</td><td class="entry"><a class="el" href="a00124.html">tbb::flow::interface7::sender< T ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+</table></div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00311.html b/doc/html/a00311.html
index 6a7d0d4..1a800b5 100644
--- a/doc/html/a00311.html
+++ b/doc/html/a00311.html
@@ -1,168 +1,75 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>tbb::movable_exception< ExceptionData > Class Template Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="nav">
-<a class="el" href="a00428.html">tbb</a>::<a class="el" href="a00311.html">movable_exception</a></div>
-<h1>tbb::movable_exception< ExceptionData > Class Template Reference</h1><!-- doxytag: class="tbb::movable_exception" --><!-- doxytag: inherits="tbb::tbb_exception" -->Template that can be used to implement exception that transfers arbitrary ExceptionData to the root thread.  
-<a href="#_details">More...</a>
-<p>
-<code>#include <tbb_exception.h></code>
-<p>
-<p>Inheritance diagram for tbb::movable_exception< ExceptionData >:
-<p><center><img src="a00311.png" usemap="#tbb::movable_exception< ExceptionData >_map" border="0" alt=""></center>
-<map name="tbb::movable_exception< ExceptionData >_map">
-<area href="a00358.html" alt="tbb::tbb_exception" shape="rect" coords="0,0,248,24">
-</map>
-<a href="a00163.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="43dfdc5298df3aa8a7d7d146604f84ef"></a><!-- doxytag: member="tbb::movable_exception::movable_exception" ref="43dfdc5298df3aa8a7d7d146604f84ef" args="(const ExceptionData &data_)" -->
- </td><td class="memItemRight" valign="bottom"><b>movable_exception</b> (const ExceptionData &data_)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="48f97fbf1e5d66c5977891f4375ee4d9"></a><!-- doxytag: member="tbb::movable_exception::movable_exception" ref="48f97fbf1e5d66c5977891f4375ee4d9" args="(const movable_exception &src)" -->
- </td><td class="memItemRight" valign="bottom"><b>movable_exception</b> (const <a class="el" href="a00311.html">movable_exception</a> &src)  throw ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="dfafefe27f2afaa7c7894ca9c71cc568"></a><!-- doxytag: member="tbb::movable_exception::operator=" ref="dfafefe27f2afaa7c7894ca9c71cc568" args="(const movable_exception &src)" -->
-const <a class="el" href="a00311.html">movable_exception</a> & </td><td class="memItemRight" valign="bottom"><b>operator=</b> (const <a class="el" href="a00311.html">movable_exception</a> &src)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="47114cbc20c8e13cac3108749a3e085d"></a><!-- doxytag: member="tbb::movable_exception::data" ref="47114cbc20c8e13cac3108749a3e085d" args="()" -->
-ExceptionData & </td><td class="memItemRight" valign="bottom"><b>data</b> ()  throw ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7d93c000d862d2558efd9a34817adbce"></a><!-- doxytag: member="tbb::movable_exception::data" ref="7d93c000d862d2558efd9a34817adbce" args="() const " -->
-const ExceptionData & </td><td class="memItemRight" valign="bottom"><b>data</b> () const   throw ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="bc5f5c4739b17ac5211ac58226c2f5a5"></a><!-- doxytag: member="tbb::movable_exception::name" ref="bc5f5c4739b17ac5211ac58226c2f5a5" args="() const " -->
-const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00311.html#bc5f5c4739b17ac5211ac58226c2f5a5">name</a> () const   throw ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns RTTI name of the originally intercepted exception. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b33a89bccf0c63106f1270c7bfaaf54f"></a><!-- doxytag: member="tbb::movable_exception::what" ref="b33a89bccf0c63106f1270c7bfaaf54f" args="() const " -->
-const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00311.html#b33a89bccf0c63106f1270c7bfaaf54f">what</a> () const   throw ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the result of originally intercepted exception's <a class="el" href="a00311.html#b33a89bccf0c63106f1270c7bfaaf54f">what()</a> method. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00311.html">movable_exception</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00311.html#1aea0ad179d6f0481fe7f3495f66adf9">move</a> ()  throw ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Creates and returns pointer to the deep copy of this exception object.  <a href="#1aea0ad179d6f0481fe7f3495f66adf9"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00311.html#7a46873119d9f85a7b0009c13e41a258">destroy</a> ()  throw ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Destroys objects created by the <a class="el" href="a00311.html#1aea0ad179d6f0481fe7f3495f66adf9">move()</a> method.  <a href="#7a46873119d9f85a7b0009c13e41a258"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00311.html#17cffba35811c92b7e65d63506b69602">throw_self</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Throws this exception object.  <a href="#17cffba35811c92b7e65d63506b69602"></a><br></td></tr>
-<tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a8c0ae2089ae784b28907cf748b89416"></a><!-- doxytag: member="tbb::movable_exception::my_exception_data" ref="a8c0ae2089ae784b28907cf748b89416" args="" -->
-ExceptionData </td><td class="memItemRight" valign="bottom"><a class="el" href="a00311.html#a8c0ae2089ae784b28907cf748b89416">my_exception_data</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">User data. <br></td></tr>
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-<h3>template<typename ExceptionData><br>
- class tbb::movable_exception< ExceptionData ></h3>
-
-Template that can be used to implement exception that transfers arbitrary ExceptionData to the root thread. 
-<p>
-Code using TBB can instantiate this template with an arbitrary ExceptionData type and throw this exception object. Such exceptions are intercepted by the TBB scheduler and delivered to the root thread (). <dl compact><dt><b>See also:</b></dt><dd><a class="el" href="a00358.html">tbb::tbb_exception</a> </dd></dl>
-
-<p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="7a46873119d9f85a7b0009c13e41a258"></a><!-- doxytag: member="tbb::movable_exception::destroy" ref="7a46873119d9f85a7b0009c13e41a258" args="()" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template<typename ExceptionData> </div>
-      <table class="memname">
-        <tr>
-          <td class="memname">void <a class="el" href="a00311.html">tbb::movable_exception</a>< ExceptionData >::destroy           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td> ) </td>
-          <td width="100%">  throw ()<code> [inline, virtual]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Destroys objects created by the <a class="el" href="a00311.html#1aea0ad179d6f0481fe7f3495f66adf9">move()</a> method. 
-<p>
-Frees memory and calls destructor for this exception object. Can and must be used only on objects created by the move method. 
-<p>
-Implements <a class="el" href="a00358.html#66c94938eca8bf88b76f3eccaaf215d8">tbb::tbb_exception</a>.
-</div>
-</div><p>
-<a class="anchor" name="1aea0ad179d6f0481fe7f3495f66adf9"></a><!-- doxytag: member="tbb::movable_exception::move" ref="1aea0ad179d6f0481fe7f3495f66adf9" args="()" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template<typename ExceptionData> </div>
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00311.html">movable_exception</a>* <a class="el" href="a00311.html">tbb::movable_exception</a>< ExceptionData >::move           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td> ) </td>
-          <td width="100%">  throw ()<code> [inline, virtual]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Creates and returns pointer to the deep copy of this exception object. 
-<p>
-Move semantics is allowed. 
-<p>
-Implements <a class="el" href="a00358.html#3e3482bf264d4ca4dde046cd9c02c766">tbb::tbb_exception</a>.
-</div>
-</div><p>
-<a class="anchor" name="17cffba35811c92b7e65d63506b69602"></a><!-- doxytag: member="tbb::movable_exception::throw_self" ref="17cffba35811c92b7e65d63506b69602" args="()" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template<typename ExceptionData> </div>
-      <table class="memname">
-        <tr>
-          <td class="memname">void <a class="el" href="a00311.html">tbb::movable_exception</a>< ExceptionData >::throw_self           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td> ) </td>
-          <td width="100%"><code> [inline, virtual]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Throws this exception object. 
-<p>
-Make sure that if you have several levels of derivation from this interface you implement or override this method on the most derived level. The implementation is as simple as "throw *this;". Failure to do this will result in exception of a base class type being thrown. 
-<p>
-Implements <a class="el" href="a00358.html#8588e07fa49692f4d734e4f2e4f048f4">tbb::tbb_exception</a>.
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>flow</b></li><li class="navelem"><b>interface7</b></li><li class="navelem"><a class="el" href="a00050.html">continue_receiver</a></li>  </ul>
 </div>
-</div><p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li>tbb_exception.h</ul>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::flow::interface7::continue_receiver Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="a00050.html">tbb::flow::interface7::continue_receiver</a>, including all inherited members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" href="a00050.html#a1ac173b0a739731b0b1db5a1e91d9326">continue_receiver</a>(int number_of_predecessors=0)</td><td class="entry"><a class="el" href="a00050.html">tbb::flow::interface7::continue_receiver</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00050.html#a3055f8a570f7558b6eb9e210feb91b90">continue_receiver</a>(const continue_receiver &src)</td><td class="entry"><a class="el" href="a00050.html">tbb::flow::interface7::continue_receiver</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00050.html#adf70ce80d67a565d04e029da461bbe72">execute</a>()=0</td><td class="entry"><a class="el" href="a00050.html">tbb::flow::interface7::continue_receiver</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">pure virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00050.html#a7474ed0edad2bb26d9f86065ecf2c93d">input_type</a> typedef</td><td class="entry"><a class="el" href="a00050.html">tbb::flow::interface7::continue_receiver</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>internal::broadcast_cache</b> (defined in <a class="el" href="a00050.html">tbb::flow::interface7::continue_receiver</a>)</td><td class="entry"><a class="el" href="a00050.html">tbb::flow::interface7::continue_receiver</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>internal::round_robin_cache</b> (defined in <a class="el" href="a00050.html">tbb::flow::interface7::continue_receiver</a>)</td><td class="entry"><a class="el" href="a00050.html">tbb::flow::interface7::continue_receiver</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>internal::successor_cache</b> (defined in <a class="el" href="a00050.html">tbb::flow::interface7::continue_receiver</a>)</td><td class="entry"><a class="el" href="a00050.html">tbb::flow::interface7::continue_receiver</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>is_continue_receiver</b>() (defined in <a class="el" href="a00050.html">tbb::flow::interface7::continue_receiver</a>)</td><td class="entry"><a class="el" href="a00050.html">tbb::flow::interface7::continue_receiver</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>limiter_node</b> (defined in <a class="el" href="a00050.html">tbb::flow::interface7::continue_receiver</a>)</td><td class="entry"><a class="el" href="a00050.html">tbb::flow::interface7::continue_receiver</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>my_current_count</b> (defined in <a class="el" href="a00050.html">tbb::flow::interface7::continue_receiver</a>)</td><td class="entry"><a class="el" href="a00050.html">tbb::flow::interface7::continue_receiver</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>my_initial_predecessor_count</b> (defined in <a class="el" href="a00050.html">tbb::flow::interface7::continue_receiver</a>)</td><td class="entry"><a class="el" href="a00050.html">tbb::flow::interface7::continue_receiver</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>my_mutex</b> (defined in <a class="el" href="a00050.html">tbb::flow::interface7::continue_receiver</a>)</td><td class="entry"><a class="el" href="a00050.html">tbb::flow::interface7::continue_receiver</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>my_predecessor_count</b> (defined in <a class="el" href="a00050.html">tbb::flow::interface7::continue_receiver</a>)</td><td class="entry"><a class="el" href="a00050.html">tbb::flow::interface7::continue_receiver</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00050.html#a86d210b5614d47aaa43731b7e303751f">predecessor_type</a> typedef</td><td class="entry"><a class="el" href="a00050.html">tbb::flow::interface7::continue_receiver</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00050.html#a9ff043995b7b4d39ab0ec41c9e3628bf">register_predecessor</a>(predecessor_type &)</td><td class="entry"><a class="el" href="a00050.html">tbb::flow::interface7::continue_receiver</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00050.html#aea58a2200f20acd9cda829ba6958b22a">remove_predecessor</a>(predecessor_type &)</td><td class="entry"><a class="el" href="a00050.html">tbb::flow::interface7::continue_receiver</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>reset_receiver</b>() (defined in <a class="el" href="a00050.html">tbb::flow::interface7::continue_receiver</a>)</td><td class="entry"><a class="el" href="a00050.html">tbb::flow::interface7::continue_receiver</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>run_and_put_task</b> (defined in <a class="el" href="a00050.html">tbb::flow::interface7::continue_receiver</a>)</td><td class="entry"><a class="el" href="a00050.html">tbb::flow::interface7::continue_receiver</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00106.html#aee5067bb4f4b71ffa786c1b33cb9aa6a">try_put</a>(const continue_msg &t)</td><td class="entry"><a class="el" href="a00106.html">tbb::flow::interface7::receiver< continue_msg ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>try_put_task</b>(const input_type &) (defined in <a class="el" href="a00050.html">tbb::flow::interface7::continue_receiver</a>)</td><td class="entry"><a class="el" href="a00050.html">tbb::flow::interface7::continue_receiver</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00050.html#a2ca2de23e1e1eeb7071a838a457a50b2">~continue_receiver</a>()</td><td class="entry"><a class="el" href="a00050.html">tbb::flow::interface7::continue_receiver</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00106.html#a733889a9053478ef2fb2528e2205bf07">~receiver</a>()</td><td class="entry"><a class="el" href="a00106.html">tbb::flow::interface7::receiver< continue_msg ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+</table></div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00311.png b/doc/html/a00311.png
deleted file mode 100644
index a85d170..0000000
Binary files a/doc/html/a00311.png and /dev/null differ
diff --git a/doc/html/a00312.html b/doc/html/a00312.html
index f08a513..13f45d3 100644
--- a/doc/html/a00312.html
+++ b/doc/html/a00312.html
@@ -1,72 +1,70 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>tbb::flow::interface6::multifunction_node< Input, Output,, Allocator > Class Template Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="nav">
-<a class="el" href="a00428.html">tbb</a>::<b>flow</b>::<b>interface6</b>::<a class="el" href="a00312.html">multifunction_node</a></div>
-<h1>tbb::flow::interface6::multifunction_node< Input, Output,, Allocator > Class Template Reference</h1><!-- doxytag: class="tbb::flow::interface6::multifunction_node" --><!-- doxytag: inherits="tbb::flow::interface6::graph_node" -->implements a function node that supports Input -> (set of outputs)  
-<a href="#_details">More...</a>
-<p>
-<code>#include <flow_graph.h></code>
-<p>
-<p>Inheritance diagram for tbb::flow::interface6::multifunction_node< Input, Output,, Allocator >:
-<p><center><img src="a00312.png" usemap="#tbb::flow::interface6::multifunction_node< Input, Output,, Allocator >_map" border="0" alt=""></center>
-<map name="tbb::flow::interface6::multifunction_node< Input, Output,, Allocator >_map">
-<area href="a00301.html" alt="tbb::flow::interface6::graph_node" shape="rect" coords="0,0,393,24">
-</map>
-<a href="a00066.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9f8f076085598fc5687fdc00d7756ad4"></a><!-- doxytag: member="tbb::flow::interface6::multifunction_node::input_type" ref="9f8f076085598fc5687fdc00d7756ad4" args="" -->
-typedef Input </td><td class="memItemRight" valign="bottom"><b>input_type</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c812b3b65869982413f783ce7c699564"></a><!-- doxytag: member="tbb::flow::interface6::multifunction_node::output_ports_type" ref="c812b3b65869982413f783ce7c699564" args="" -->
-typedef internal::wrap_tuple_elements<<br>
- N, internal::multifunction_output,<br>
- Output >::type </td><td class="memItemRight" valign="bottom"><b>output_ports_type</b></td></tr>
-
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="5112769f6063d733734c1631ab105911"></a><!-- doxytag: member="tbb::flow::interface6::multifunction_node::multifunction_node" ref="5112769f6063d733734c1631ab105911" args="(graph &g, size_t concurrency, Body body)" -->
-template<typename Body> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"> </td><td class="memTemplItemRight" valign="bottom"><b>multifunction_node</b> (<a class="el" href="a00300.html">graph</a> &g, size_t concurrency, Body body)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4aa18bfb6faef08ddf94364013ef0f28"></a><!-- doxytag: member="tbb::flow::interface6::multifunction_node::multifunction_node" ref="4aa18bfb6faef08ddf94364013ef0f28" args="(const multifunction_node &other)" -->
- </td><td class="memItemRight" valign="bottom"><b>multifunction_node</b> (const <a class="el" href="a00312.html">multifunction_node</a> &other)</td></tr>
-
-<tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0dae0f7e38a5ddbf9eda318f366568da"></a><!-- doxytag: member="tbb::flow::interface6::multifunction_node::reset" ref="0dae0f7e38a5ddbf9eda318f366568da" args="()" -->
-void </td><td class="memItemRight" valign="bottom"><b>reset</b> ()</td></tr>
-
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-<h3>template<typename Input, typename Output, graph_buffer_policy = queueing, typename Allocator = cache_aligned_allocator<Input>><br>
- class tbb::flow::interface6::multifunction_node< Input, Output,, Allocator ></h3>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>flow</b></li><li class="navelem"><b>interface7</b></li><li class="navelem"><a class="el" href="a00062.html">graph_iterator</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::flow::interface7::graph_iterator< GraphContainerType, GraphNodeType > Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
 
-implements a function node that supports Input -> (set of outputs) 
-<p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li><a class="el" href="a00385.html">flow_graph.h</a></ul>
+<p>This is the complete list of members for <a class="el" href="a00062.html">tbb::flow::interface7::graph_iterator< GraphContainerType, GraphNodeType ></a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>const_reference</b> typedef (defined in <a class="el" href="a00062.html">tbb::flow::interface7::graph_iterator< GraphContainerType, GraphNodeType ></a>)</td><td class="entry"><a class="el" href="a00062.html">tbb::flow::interface7::graph_iterator< GraphContainerType, GraphNodeType ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>graph</b> (defined in <a class="el" href="a00062.html">tbb::flow::interface7::graph_iterator< GraphContainerType, GraphNodeType ></a>)</td><td class="entry"><a class="el" href="a00062.html">tbb::flow::interface7::graph_iterator< GraphContainerType, GraphNodeType ></a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00062.html#a5082b1f425ffbd4a93533230d6ff99c0">graph_iterator</a>()</td><td class="entry"><a class="el" href="a00062.html">tbb::flow::interface7::graph_iterator< GraphContainerType, GraphNodeType ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00062.html#a72937fa822ca1e285a4cb22e544bafbf">graph_iterator</a>(const graph_iterator &other)</td><td class="entry"><a class="el" href="a00062.html">tbb::flow::interface7::graph_iterator< GraphContainerType, GraphNodeType ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>graph_node</b> (defined in <a class="el" href="a00062.html">tbb::flow::interface7::graph_iterator< GraphContainerType, GraphNodeType ></a>)</td><td class="entry"><a class="el" href="a00062.html">tbb::flow::interface7::graph_iterator< GraphContainerType, GraphNodeType ></a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>iterator_category</b> typedef (defined in <a class="el" href="a00062.html">tbb::flow::interface7::graph_iterator< GraphContainerType, GraphNodeType ></a>)</td><td class="entry"><a class="el" href="a00062.html">tbb::flow::interface7::graph_iterator< GraphContainerType, GraphNodeType ></a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00062.html#af3f6d2cc6cbec2dc1194f7d5f4091a73">operator!=</a>(const graph_iterator &other) const </td><td class="entry"><a class="el" href="a00062.html">tbb::flow::interface7::graph_iterator< GraphContainerType, GraphNodeType ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00062.html#a1daffd203bebae367ed0f32917048f22">operator*</a>() const </td><td class="entry"><a class="el" href="a00062.html">tbb::flow::interface7::graph_iterator< GraphContainerType, GraphNodeType ></a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00062.html#ab84587ed134f01886f6a0d64d5a6ccef">operator++</a>()</td><td class="entry"><a class="el" href="a00062.html">tbb::flow::interface7::graph_iterator< GraphContainerType, GraphNodeType ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00062.html#abc9d079735fe9c1b07d136284556e15a">operator++</a>(int)</td><td class="entry"><a class="el" href="a00062.html">tbb::flow::interface7::graph_iterator< GraphContainerType, GraphNodeType ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00062.html#abfb28c989f76822e26b47211febe3d72">operator-></a>() const </td><td class="entry"><a class="el" href="a00062.html">tbb::flow::interface7::graph_iterator< GraphContainerType, GraphNodeType ></a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="a00062.html#ada73cea77a417f0df629eeaf4c1e2002">operator=</a>(const graph_iterator &other)</td><td class="entry"><a class="el" href="a00062.html">tbb::flow::interface7::graph_iterator< GraphContainerType, GraphNodeType ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00062.html#a3b0d834dffd2a99a596e9541b7a96d2a">operator==</a>(const graph_iterator &other) const </td><td class="entry"><a class="el" href="a00062.html">tbb::flow::interface7::graph_iterator< GraphContainerType, GraphNodeType ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>pointer</b> typedef (defined in <a class="el" href="a00062.html">tbb::flow::interface7::graph_iterator< GraphContainerType, GraphNodeType ></a>)</td><td class="entry"><a class="el" href="a00062.html">tbb::flow::interface7::graph_iterator< GraphContainerType, GraphNodeType ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>reference</b> typedef (defined in <a class="el" href="a00062.html">tbb::flow::interface7::graph_iterator< GraphContainerType, GraphNodeType ></a>)</td><td class="entry"><a class="el" href="a00062.html">tbb::flow::interface7::graph_iterator< GraphContainerType, GraphNodeType ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>size_type</b> typedef (defined in <a class="el" href="a00062.html">tbb::flow::interface7::graph_iterator< GraphContainerType, GraphNodeType ></a>)</td><td class="entry"><a class="el" href="a00062.html">tbb::flow::interface7::graph_iterator< GraphContainerType, GraphNodeType ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>value_type</b> typedef (defined in <a class="el" href="a00062.html">tbb::flow::interface7::graph_iterator< GraphContainerType, GraphNodeType ></a>)</td><td class="entry"><a class="el" href="a00062.html">tbb::flow::interface7::graph_iterator< GraphContainerType, GraphNodeType ></a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00312.png b/doc/html/a00312.png
deleted file mode 100644
index cdab3e3..0000000
Binary files a/doc/html/a00312.png and /dev/null differ
diff --git a/doc/html/a00313.html b/doc/html/a00313.html
index ae0b6d1..0657b34 100644
--- a/doc/html/a00313.html
+++ b/doc/html/a00313.html
@@ -1,133 +1,76 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>tbb::mutex Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="nav">
-<a class="el" href="a00428.html">tbb</a>::<a class="el" href="a00313.html">mutex</a></div>
-<h1>tbb::mutex Class Reference<br>
-<small>
-[<a class="el" href="a00444.html">Synchronization</a>]</small>
-</h1><!-- doxytag: class="tbb::mutex" -->Wrapper around the platform's native reader-writer lock.  
-<a href="#_details">More...</a>
-<p>
-<code>#include <mutex.h></code>
-<p>
-<a href="a00090.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9f1ec84d5815263ceae853f06ddb4cac"></a><!-- doxytag: member="tbb::mutex::native_handle_type" ref="9f1ec84d5815263ceae853f06ddb4cac" args="" -->
-typedef LPCRITICAL_SECTION </td><td class="memItemRight" valign="bottom"><a class="el" href="a00313.html#9f1ec84d5815263ceae853f06ddb4cac">native_handle_type</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Return native_handle. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a1f4d4b88a03eb3e95c76569b91a0792"></a><!-- doxytag: member="tbb::mutex::native_handle_type" ref="a1f4d4b88a03eb3e95c76569b91a0792" args="" -->
-typedef pthread_mutex_t * </td><td class="memItemRight" valign="bottom"><b>native_handle_type</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c907aa5ae5274da759c4188c8ab196034e5963fe9e27d7c4d0a2d4ffa24a50a7"></a><!-- doxytag: member="tbb::mutex::INITIALIZED" ref="c907aa5ae5274da759c4188c8ab196034e5963fe9e27d7c4d0a2d4ffa24a50a7" args="" -->
- </td><td class="memItemRight" valign="bottom"><b>INITIALIZED</b> = 0x1234</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c907aa5ae5274da759c4188c8ab19603646f4766864612448d6f9b21ff61abcd"></a><!-- doxytag: member="tbb::mutex::DESTROYED" ref="c907aa5ae5274da759c4188c8ab19603646f4766864612448d6f9b21ff61abcd" args="" -->
- </td><td class="memItemRight" valign="bottom"><b>DESTROYED</b> = 0x789A</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c907aa5ae5274da759c4188c8ab196031de5796ebbbaa1e30d19e5d54f0f6555"></a><!-- doxytag: member="tbb::mutex::HELD" ref="c907aa5ae5274da759c4188c8ab196031de5796ebbbaa1e30d19e5d54f0f6555" args="" -->
- </td><td class="memItemRight" valign="bottom"><b>HELD</b> = 0x56CD</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><b>state_t</b> { <b>INITIALIZED</b> = 0x1234, 
-<b>DESTROYED</b> = 0x789A, 
-<b>HELD</b> = 0x56CD
- }</td></tr>
-
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="05313cb77d4f85213103d4dab74ed454"></a><!-- doxytag: member="tbb::mutex::mutex" ref="05313cb77d4f85213103d4dab74ed454" args="()" -->
- </td><td class="memItemRight" valign="bottom"><a class="el" href="a00313.html#05313cb77d4f85213103d4dab74ed454">mutex</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Construct unacquired mutex. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4470e61c24c129a0299ca6c17240adbb"></a><!-- doxytag: member="tbb::mutex::lock" ref="4470e61c24c129a0299ca6c17240adbb" args="()" -->
-void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00313.html#4470e61c24c129a0299ca6c17240adbb">lock</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Acquire lock. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00313.html#4331652c79dea1c1131bd59ab161b234">try_lock</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Try acquiring lock (non-blocking).  <a href="#4331652c79dea1c1131bd59ab161b234"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5fc9ef443ae75d966695546be399cc6b"></a><!-- doxytag: member="tbb::mutex::unlock" ref="5fc9ef443ae75d966695546be399cc6b" args="()" -->
-void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00313.html#5fc9ef443ae75d966695546be399cc6b">unlock</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Release lock. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="caf34349c0fbe7b44f1a2ca0a3150dd0"></a><!-- doxytag: member="tbb::mutex::native_handle" ref="caf34349c0fbe7b44f1a2ca0a3150dd0" args="()" -->
-<a class="el" href="a00313.html#9f1ec84d5815263ceae853f06ddb4cac">native_handle_type</a> </td><td class="memItemRight" valign="bottom"><b>native_handle</b> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="795649a185b0d6af6dc81c5f378616dd"></a><!-- doxytag: member="tbb::mutex::set_state" ref="795649a185b0d6af6dc81c5f378616dd" args="(state_t to)" -->
-void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00313.html#795649a185b0d6af6dc81c5f378616dd">set_state</a> (state_t to)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Set the internal state. <br></td></tr>
-<tr><td colspan="2"><br><h2>Static Public Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="17b78176054e2bac1ff35b9535d1ea0c"></a><!-- doxytag: member="tbb::mutex::is_rw_mutex" ref="17b78176054e2bac1ff35b9535d1ea0c" args="" -->
-static const bool </td><td class="memItemRight" valign="bottom"><b>is_rw_mutex</b> = false</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d4558e5a7c5b8d8e158ec7a1079669bd"></a><!-- doxytag: member="tbb::mutex::is_recursive_mutex" ref="d4558e5a7c5b8d8e158ec7a1079669bd" args="" -->
-static const bool </td><td class="memItemRight" valign="bottom"><b>is_recursive_mutex</b> = false</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f023a29c61451d02359095cbff0f3d45"></a><!-- doxytag: member="tbb::mutex::is_fair_mutex" ref="f023a29c61451d02359095cbff0f3d45" args="" -->
-static const bool </td><td class="memItemRight" valign="bottom"><b>is_fair_mutex</b> = false</td></tr>
-
-<tr><td colspan="2"><br><h2>Friends</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a36f15b770a1bb0b56e33d7fa75ebd1a"></a><!-- doxytag: member="tbb::mutex::scoped_lock" ref="a36f15b770a1bb0b56e33d7fa75ebd1a" args="" -->
-class </td><td class="memItemRight" valign="bottom"><b>scoped_lock</b></td></tr>
-
-<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00314.html">scoped_lock</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">The scoped locking pattern.  <a href="a00314.html#_details">More...</a><br></td></tr>
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-Wrapper around the platform's native reader-writer lock. 
-<p>
-For testing purposes only. 
-<p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="4331652c79dea1c1131bd59ab161b234"></a><!-- doxytag: member="tbb::mutex::try_lock" ref="4331652c79dea1c1131bd59ab161b234" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool tbb::mutex::try_lock           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td> ) </td>
-          <td width="100%"><code> [inline]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Try acquiring lock (non-blocking). 
-<p>
-Return true if lock acquired; false otherwise. 
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>flow</b></li><li class="navelem"><b>interface7</b></li><li class="navelem"><a class="el" href="a00061.html">graph</a></li>  </ul>
 </div>
-</div><p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li>mutex.h</ul>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::flow::interface7::graph Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="a00061.html">tbb::flow::interface7::graph</a>, including all inherited members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" href="a00061.html#a91d2f9921342a504668b2cdc3064a846">begin</a>()</td><td class="entry"><a class="el" href="a00061.html">tbb::flow::interface7::graph</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00061.html#ac404d2e08620aca079532124551a646a">begin</a>() const </td><td class="entry"><a class="el" href="a00061.html">tbb::flow::interface7::graph</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00061.html#a2af8f195917817ce2b77ff7b6463c344">cbegin</a>() const </td><td class="entry"><a class="el" href="a00061.html">tbb::flow::interface7::graph</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00061.html#acf6d3f610c2675eaf8bf2a40853081aa">cend</a>() const </td><td class="entry"><a class="el" href="a00061.html">tbb::flow::interface7::graph</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>const_iterator</b> typedef (defined in <a class="el" href="a00061.html">tbb::flow::interface7::graph</a>)</td><td class="entry"><a class="el" href="a00061.html">tbb::flow::interface7::graph</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="a00061.html#af16d14eaed1355ae376bb78dde7762c3">decrement_wait_count</a>()</td><td class="entry"><a class="el" href="a00061.html">tbb::flow::interface7::graph</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00061.html#a221a7ee0a1f0e69a01add5c1dda43be7">end</a>()</td><td class="entry"><a class="el" href="a00061.html">tbb::flow::interface7::graph</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00061.html#a599e6a885a76db84928b039063c299e4">end</a>() const </td><td class="entry"><a class="el" href="a00061.html">tbb::flow::interface7::graph</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>exception_thrown</b>() (defined in <a class="el" href="a00061.html">tbb::flow::interface7::graph</a>)</td><td class="entry"><a class="el" href="a00061.html">tbb::flow::interface7::graph</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00061.html#ac274a9006e66ecc75bcd59f784fe1867">graph</a>()</td><td class="entry"><a class="el" href="a00061.html">tbb::flow::interface7::graph</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00061.html#a656cee3d0240a3f142a450800e6b17c7">graph</a>(task_group_context &use_this_context)</td><td class="entry"><a class="el" href="a00061.html">tbb::flow::interface7::graph</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>graph_iterator</b> (defined in <a class="el" href="a00061.html">tbb::flow::interface7::graph</a>)</td><td class="entry"><a class="el" href="a00061.html">tbb::flow::interface7::graph</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>graph_node</b> (defined in <a class="el" href="a00061.html">tbb::flow::interface7::graph</a>)</td><td class="entry"><a class="el" href="a00061.html">tbb::flow::interface7::graph</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00061.html#ad96c910ae45e6c5d2433bb1d9e910891">increment_wait_count</a>()</td><td class="entry"><a class="el" href="a00061.html">tbb::flow::interface7::graph</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00061.html#a9e26f4f5d608e39c8adc9dc6d06a7a01">is_cancelled</a>()</td><td class="entry"><a class="el" href="a00061.html">tbb::flow::interface7::graph</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>iterator</b> typedef (defined in <a class="el" href="a00061.html">tbb::flow::interface7::graph</a>)</td><td class="entry"><a class="el" href="a00061.html">tbb::flow::interface7::graph</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>reset</b>() (defined in <a class="el" href="a00061.html">tbb::flow::interface7::graph</a>)</td><td class="entry"><a class="el" href="a00061.html">tbb::flow::interface7::graph</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00061.html#ae5f59627a7d130cf289f105a849ad3f0">root_task</a>()</td><td class="entry"><a class="el" href="a00061.html">tbb::flow::interface7::graph</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00061.html#ac0a03f1d59dc2ccb9526995599c2c83c">run</a>(Receiver &r, Body body)</td><td class="entry"><a class="el" href="a00061.html">tbb::flow::interface7::graph</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00061.html#a6e428c2d7c8780f3c2587a71c4d92466">run</a>(Body body)</td><td class="entry"><a class="el" href="a00061.html">tbb::flow::interface7::graph</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>set_name</b>(const char *name) (defined in <a class="el" href="a00061.html">tbb::flow::interface7::graph</a>)</td><td class="entry"><a class="el" href="a00061.html">tbb::flow::interface7::graph</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00061.html#a397208ce3b432c83cd24f416b082e8db">wait_for_all</a>()</td><td class="entry"><a class="el" href="a00061.html">tbb::flow::interface7::graph</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00061.html#a3412df4d4bf0113aed93c958bbb49ec4">~graph</a>()</td><td class="entry"><a class="el" href="a00061.html">tbb::flow::interface7::graph</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+</table></div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00314.html b/doc/html/a00314.html
index 9b51e7f..38a6df1 100644
--- a/doc/html/a00314.html
+++ b/doc/html/a00314.html
@@ -1,74 +1,62 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>tbb::mutex::scoped_lock Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="nav">
-<a class="el" href="a00428.html">tbb</a>::<a class="el" href="a00313.html">mutex</a>::<a class="el" href="a00314.html">scoped_lock</a></div>
-<h1>tbb::mutex::scoped_lock Class Reference</h1><!-- doxytag: class="tbb::mutex::scoped_lock" -->The scoped locking pattern.  
-<a href="#_details">More...</a>
-<p>
-<code>#include <mutex.h></code>
-<p>
-<a href="a00091.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1d403ae51b484df5d86d85ae38f11e6e"></a><!-- doxytag: member="tbb::mutex::scoped_lock::scoped_lock" ref="1d403ae51b484df5d86d85ae38f11e6e" args="()" -->
- </td><td class="memItemRight" valign="bottom"><a class="el" href="a00314.html#1d403ae51b484df5d86d85ae38f11e6e">scoped_lock</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Construct lock that has not acquired a mutex. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="605a6b9af0f8cdabdf81825e0de99600"></a><!-- doxytag: member="tbb::mutex::scoped_lock::scoped_lock" ref="605a6b9af0f8cdabdf81825e0de99600" args="(mutex &mutex)" -->
- </td><td class="memItemRight" valign="bottom"><a class="el" href="a00314.html#605a6b9af0f8cdabdf81825e0de99600">scoped_lock</a> (<a class="el" href="a00313.html">mutex</a> &<a class="el" href="a00313.html">mutex</a>)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Acquire lock on given mutex. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0ebbbecaf4311e9df7362cb76ceaa368"></a><!-- doxytag: member="tbb::mutex::scoped_lock::~scoped_lock" ref="0ebbbecaf4311e9df7362cb76ceaa368" args="()" -->
- </td><td class="memItemRight" valign="bottom"><a class="el" href="a00314.html#0ebbbecaf4311e9df7362cb76ceaa368">~scoped_lock</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Release lock (if lock is held). <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="862e022841cdc522e4296a5533b22efd"></a><!-- doxytag: member="tbb::mutex::scoped_lock::acquire" ref="862e022841cdc522e4296a5533b22efd" args="(mutex &mutex)" -->
-void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00314.html#862e022841cdc522e4296a5533b22efd">acquire</a> (<a class="el" href="a00313.html">mutex</a> &<a class="el" href="a00313.html">mutex</a>)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Acquire lock on given mutex. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="591e0c49b82bcedffcbe0923f1b915ec"></a><!-- doxytag: member="tbb::mutex::scoped_lock::try_acquire" ref="591e0c49b82bcedffcbe0923f1b915ec" args="(mutex &mutex)" -->
-bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00314.html#591e0c49b82bcedffcbe0923f1b915ec">try_acquire</a> (<a class="el" href="a00313.html">mutex</a> &<a class="el" href="a00313.html">mutex</a>)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Try acquire lock on given mutex. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0d51d18cd99df3b2e93bf07378d0992c"></a><!-- doxytag: member="tbb::mutex::scoped_lock::release" ref="0d51d18cd99df3b2e93bf07378d0992c" args="()" -->
-void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00314.html#0d51d18cd99df3b2e93bf07378d0992c">release</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Release lock. <br></td></tr>
-<tr><td colspan="2"><br><h2>Friends</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="93062a14ad2e50e2b7b485b913170779"></a><!-- doxytag: member="tbb::mutex::scoped_lock::mutex" ref="93062a14ad2e50e2b7b485b913170779" args="" -->
-class </td><td class="memItemRight" valign="bottom"><b>mutex</b></td></tr>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>flow</b></li><li class="navelem"><b>interface7</b></li><li class="navelem"><a class="el" href="a00063.html">graph_node</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::flow::interface7::graph_node Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
 
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-The scoped locking pattern. 
-<p>
-It helps to avoid the common problem of forgetting to release lock. It also nicely provides the "node" for queuing locks. 
-<p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li>mutex.h</ul>
+<p>This is the complete list of members for <a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>graph</b> (defined in <a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a>)</td><td class="entry"><a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>graph_iterator</b> (defined in <a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a>)</td><td class="entry"><a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>graph_node</b>(graph &g) (defined in <a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a>)</td><td class="entry"><a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>my_graph</b> (defined in <a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a>)</td><td class="entry"><a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>next</b> (defined in <a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a>)</td><td class="entry"><a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>prev</b> (defined in <a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a>)</td><td class="entry"><a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>reset</b>()=0 (defined in <a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a>)</td><td class="entry"><a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">pure virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>set_name</b>(const char *name)=0 (defined in <a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a>)</td><td class="entry"><a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a></td><td class="entry"><span class="mlabel">pure virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~graph_node</b>() (defined in <a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a>)</td><td class="entry"><a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+</table></div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00315.html b/doc/html/a00315.html
index c79a61b..f34afe8 100644
--- a/doc/html/a00315.html
+++ b/doc/html/a00315.html
@@ -1,62 +1,75 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>tbb::null_mutex Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="nav">
-<a class="el" href="a00428.html">tbb</a>::<a class="el" href="a00315.html">null_mutex</a></div>
-<h1>tbb::null_mutex Class Reference<br>
-<small>
-[<a class="el" href="a00444.html">Synchronization</a>]</small>
-</h1><!-- doxytag: class="tbb::null_mutex" -->A mutex which does nothing.  
-<a href="#_details">More...</a>
-<p>
-<code>#include <null_mutex.h></code>
-<p>
-<a href="a00092.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Static Public Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a960bed8b19a4d111ca047de206f5f77"></a><!-- doxytag: member="tbb::null_mutex::is_rw_mutex" ref="a960bed8b19a4d111ca047de206f5f77" args="" -->
-static const bool </td><td class="memItemRight" valign="bottom"><b>is_rw_mutex</b> = false</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a0fefed74b341d43ccf0e2fc30d31b75"></a><!-- doxytag: member="tbb::null_mutex::is_recursive_mutex" ref="a0fefed74b341d43ccf0e2fc30d31b75" args="" -->
-static const bool </td><td class="memItemRight" valign="bottom"><b>is_recursive_mutex</b> = true</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="707cf399055d68177b1d64c2e112603a"></a><!-- doxytag: member="tbb::null_mutex::is_fair_mutex" ref="707cf399055d68177b1d64c2e112603a" args="" -->
-static const bool </td><td class="memItemRight" valign="bottom"><b>is_fair_mutex</b> = true</td></tr>
-
-<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00316.html">scoped_lock</a></td></tr>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>flow</b></li><li class="navelem"><b>interface7</b></li><li class="navelem"><a class="el" href="a00126.html">source_node</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::flow::interface7::source_node< Output > Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
 
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Represents acquisition of a mutex.  <a href="a00316.html#_details">More...</a><br></td></tr>
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-A mutex which does nothing. 
-<p>
-A <a class="el" href="a00315.html">null_mutex</a> does no operation and simulates success. 
-<p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li>null_mutex.h</ul>
+<p>This is the complete list of members for <a class="el" href="a00126.html">tbb::flow::interface7::source_node< Output ></a>, including all inherited members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" href="a00126.html#a67264c4564abefbf14c0d587c6fe2857">activate</a>()</td><td class="entry"><a class="el" href="a00126.html">tbb::flow::interface7::source_node< Output ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>copy_function_object</b>() (defined in <a class="el" href="a00126.html">tbb::flow::interface7::source_node< Output ></a>)</td><td class="entry"><a class="el" href="a00126.html">tbb::flow::interface7::source_node< Output ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>graph_node</b>(graph &g) (defined in <a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a>)</td><td class="entry"><a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>internal::source_task_bypass< source_node< output_type > ></b> (defined in <a class="el" href="a00126.html">tbb::flow::interface7::source_node< Output ></a>)</td><td class="entry"><a class="el" href="a00126.html">tbb::flow::interface7::source_node< Output ></a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>my_graph</b> (defined in <a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a>)</td><td class="entry"><a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>next</b> (defined in <a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a>)</td><td class="entry"><a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00126.html#a0308ffc2e5c24739cd85e769ec8a8f5f">output_type</a> typedef</td><td class="entry"><a class="el" href="a00126.html">tbb::flow::interface7::source_node< Output ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>prev</b> (defined in <a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a>)</td><td class="entry"><a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00126.html#abf1627cf40dc62fa456fbf23bbcd2efa">register_successor</a>(receiver< output_type > &r)</td><td class="entry"><a class="el" href="a00126.html">tbb::flow::interface7::source_node< Output ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00126.html#a97c80882ddbdfdcf50761e606f231123">remove_successor</a>(receiver< output_type > &r)</td><td class="entry"><a class="el" href="a00126.html">tbb::flow::interface7::source_node< Output ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00126.html#a1874ab9048214245bff7b26c0d9e814b">reset</a>()</td><td class="entry"><a class="el" href="a00126.html">tbb::flow::interface7::source_node< Output ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>set_name</b>(const char *name) (defined in <a class="el" href="a00126.html">tbb::flow::interface7::source_node< Output ></a>)</td><td class="entry"><a class="el" href="a00126.html">tbb::flow::interface7::source_node< Output ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00126.html#a5730a4677f5bfdf6ff6e45e31a249d37">source_node</a>(graph &g, Body body, bool is_active=true)</td><td class="entry"><a class="el" href="a00126.html">tbb::flow::interface7::source_node< Output ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00126.html#aa365130109912d4cdd4534a0cb1d92bd">source_node</a>(const source_node &src)</td><td class="entry"><a class="el" href="a00126.html">tbb::flow::interface7::source_node< Output ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00126.html#ae354d135ba9aceb6ca41464fff027666">successor_type</a> typedef</td><td class="entry"><a class="el" href="a00126.html">tbb::flow::interface7::source_node< Output ></a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="a00126.html#ad38a58c2f8f74f4c5cf72a2625ac26bf">try_consume</a>()</td><td class="entry"><a class="el" href="a00126.html">tbb::flow::interface7::source_node< Output ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00126.html#a038c6b2b406d496244617a2d6dc01581">try_get</a>(output_type &v)</td><td class="entry"><a class="el" href="a00126.html">tbb::flow::interface7::source_node< Output ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00126.html#a309c65a2d0208a1072f7e852198d461d">try_release</a>()</td><td class="entry"><a class="el" href="a00126.html">tbb::flow::interface7::source_node< Output ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00126.html#aabb0d505d684d173b1a2c976bf0781a6">try_reserve</a>(output_type &v)</td><td class="entry"><a class="el" href="a00126.html">tbb::flow::interface7::source_node< Output ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>~graph_node</b>() (defined in <a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a>)</td><td class="entry"><a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~sender</b>() (defined in <a class="el" href="a00124.html">tbb::flow::interface7::sender< Output ></a>)</td><td class="entry"><a class="el" href="a00124.html">tbb::flow::interface7::sender< Output ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00126.html#a5ce12e348e121b9f4dffda9d1035c490">~source_node</a>()</td><td class="entry"><a class="el" href="a00126.html">tbb::flow::interface7::source_node< Output ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+</table></div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00316.html b/doc/html/a00316.html
index 090ab64..eb063c5 100644
--- a/doc/html/a00316.html
+++ b/doc/html/a00316.html
@@ -1,56 +1,72 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>tbb::null_mutex::scoped_lock Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="nav">
-<a class="el" href="a00428.html">tbb</a>::<a class="el" href="a00315.html">null_mutex</a>::<a class="el" href="a00316.html">scoped_lock</a></div>
-<h1>tbb::null_mutex::scoped_lock Class Reference</h1><!-- doxytag: class="tbb::null_mutex::scoped_lock" -->Represents acquisition of a mutex.  
-<a href="#_details">More...</a>
-<p>
-<code>#include <null_mutex.h></code>
-<p>
-<a href="a00093.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="765e64065919fdd9665e78b5ec4d3c6f"></a><!-- doxytag: member="tbb::null_mutex::scoped_lock::scoped_lock" ref="765e64065919fdd9665e78b5ec4d3c6f" args="(null_mutex &)" -->
- </td><td class="memItemRight" valign="bottom"><b>scoped_lock</b> (<a class="el" href="a00315.html">null_mutex</a> &)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f6889f00ca3946906e89e856988bb890"></a><!-- doxytag: member="tbb::null_mutex::scoped_lock::acquire" ref="f6889f00ca3946906e89e856988bb890" args="(null_mutex &)" -->
-void </td><td class="memItemRight" valign="bottom"><b>acquire</b> (<a class="el" href="a00315.html">null_mutex</a> &)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="90eb562a9de52b33362a6fe237b3df42"></a><!-- doxytag: member="tbb::null_mutex::scoped_lock::try_acquire" ref="90eb562a9de52b33362a6fe237b3df42" args="(null_mutex &)" -->
-bool </td><td class="memItemRight" valign="bottom"><b>try_acquire</b> (<a class="el" href="a00315.html">null_mutex</a> &)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b29fdf07b4c295850a6e433001c2c6a7"></a><!-- doxytag: member="tbb::null_mutex::scoped_lock::release" ref="b29fdf07b4c295850a6e433001c2c6a7" args="()" -->
-void </td><td class="memItemRight" valign="bottom"><b>release</b> ()</td></tr>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>flow</b></li><li class="navelem"><b>interface7</b></li><li class="navelem"><a class="el" href="a00059.html">function_node</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::flow::interface7::function_node< Input, Output, graph_buffer_policy, Allocator > Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
 
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-Represents acquisition of a mutex. 
-<p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li>null_mutex.h</ul>
+<p>This is the complete list of members for <a class="el" href="a00059.html">tbb::flow::interface7::function_node< Input, Output, graph_buffer_policy, Allocator ></a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>fInput_type</b> typedef (defined in <a class="el" href="a00059.html">tbb::flow::interface7::function_node< Input, Output, graph_buffer_policy, Allocator ></a>)</td><td class="entry"><a class="el" href="a00059.html">tbb::flow::interface7::function_node< Input, Output, graph_buffer_policy, Allocator ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>fOutput_type</b> typedef (defined in <a class="el" href="a00059.html">tbb::flow::interface7::function_node< Input, Output, graph_buffer_policy, Allocator ></a>)</td><td class="entry"><a class="el" href="a00059.html">tbb::flow::interface7::function_node< Input, Output, graph_buffer_policy, Allocator ></a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00059.html#aea86b14a72337b597c80d706ca257402">function_node</a>(graph &g, size_t concurrency, Body body)</td><td class="entry"><a class="el" href="a00059.html">tbb::flow::interface7::function_node< Input, Output, graph_buffer_policy, Allocator ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00059.html#aecf13ece7b2106f4630e46d6c5327997">function_node</a>(const function_node &src)</td><td class="entry"><a class="el" href="a00059.html">tbb::flow::interface7::function_node< Input, Output, graph_buffer_policy, Allocator ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>graph_node</b>(graph &g) (defined in <a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a>)</td><td class="entry"><a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>input_type</b> typedef (defined in <a class="el" href="a00059.html">tbb::flow::interface7::function_node< Input, Output, graph_buffer_policy, Allocator ></a>)</td><td class="entry"><a class="el" href="a00059.html">tbb::flow::interface7::function_node< Input, Output, graph_buffer_policy, Allocator ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>internal::broadcast_cache</b> (defined in <a class="el" href="a00059.html">tbb::flow::interface7::function_node< Input, Output, graph_buffer_policy, Allocator ></a>)</td><td class="entry"><a class="el" href="a00059.html">tbb::flow::interface7::function_node< Input, Output, graph_buffer_policy, Allocator ></a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>internal::round_robin_cache</b> (defined in <a class="el" href="a00059.html">tbb::flow::interface7::function_node< Input, Output, graph_buffer_policy, Allocator ></a>)</td><td class="entry"><a class="el" href="a00059.html">tbb::flow::interface7::function_node< Input, Output, graph_buffer_policy, Allocator ></a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>my_graph</b> (defined in <a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a>)</td><td class="entry"><a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>next</b> (defined in <a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a>)</td><td class="entry"><a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>output_type</b> typedef (defined in <a class="el" href="a00059.html">tbb::flow::interface7::function_node< Input, Output, graph_buffer_policy, Allocator ></a>)</td><td class="entry"><a class="el" href="a00059.html">tbb::flow::interface7::function_node< Input, Output, graph_buffer_policy, Allocator ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>predecessor_type</b> typedef (defined in <a class="el" href="a00059.html">tbb::flow::interface7::function_node< Input, Output, graph_buffer_policy, Allocator ></a>)</td><td class="entry"><a class="el" href="a00059.html">tbb::flow::interface7::function_node< Input, Output, graph_buffer_policy, Allocator ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>prev</b> (defined in <a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a>)</td><td class="entry"><a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>reset</b>() (defined in <a class="el" href="a00059.html">tbb::flow::interface7::function_node< Input, Output, graph_buffer_policy, Allocator ></a>)</td><td class="entry"><a class="el" href="a00059.html">tbb::flow::interface7::function_node< Input, Output, graph_buffer_policy, Allocator ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>run_and_put_task</b> (defined in <a class="el" href="a00059.html">tbb::flow::interface7::function_node< Input, Output, graph_buffer_policy, Allocator ></a>)</td><td class="entry"><a class="el" href="a00059.html">tbb::flow::interface7::function_node< Input, Output, graph_buffer_policy, Allocator ></a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>set_name</b>(const char *name) (defined in <a class="el" href="a00059.html">tbb::flow::interface7::function_node< Input, Output, graph_buffer_policy, Allocator ></a>)</td><td class="entry"><a class="el" href="a00059.html">tbb::flow::interface7::function_node< Input, Output, graph_buffer_policy, Allocator ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>successor_type</b> typedef (defined in <a class="el" href="a00059.html">tbb::flow::interface7::function_node< Input, Output, graph_buffer_policy, Allocator ></a>)</td><td class="entry"><a class="el" href="a00059.html">tbb::flow::interface7::function_node< Input, Output, graph_buffer_policy, Allocator ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>successors</b>() (defined in <a class="el" href="a00059.html">tbb::flow::interface7::function_node< Input, Output, graph_buffer_policy, Allocator ></a>)</td><td class="entry"><a class="el" href="a00059.html">tbb::flow::interface7::function_node< Input, Output, graph_buffer_policy, Allocator ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~graph_node</b>() (defined in <a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a>)</td><td class="entry"><a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+</table></div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00317.html b/doc/html/a00317.html
index f7f3705..ef5f6d2 100644
--- a/doc/html/a00317.html
+++ b/doc/html/a00317.html
@@ -1,62 +1,73 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>tbb::null_rw_mutex Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="nav">
-<a class="el" href="a00428.html">tbb</a>::<a class="el" href="a00317.html">null_rw_mutex</a></div>
-<h1>tbb::null_rw_mutex Class Reference<br>
-<small>
-[<a class="el" href="a00444.html">Synchronization</a>]</small>
-</h1><!-- doxytag: class="tbb::null_rw_mutex" -->A rw mutex which does nothing.  
-<a href="#_details">More...</a>
-<p>
-<code>#include <null_rw_mutex.h></code>
-<p>
-<a href="a00094.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Static Public Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2f3235cbf63812f72e5755a4c820f523"></a><!-- doxytag: member="tbb::null_rw_mutex::is_rw_mutex" ref="2f3235cbf63812f72e5755a4c820f523" args="" -->
-static const bool </td><td class="memItemRight" valign="bottom"><b>is_rw_mutex</b> = true</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e33ac3b047901e69e7997a16e221a330"></a><!-- doxytag: member="tbb::null_rw_mutex::is_recursive_mutex" ref="e33ac3b047901e69e7997a16e221a330" args="" -->
-static const bool </td><td class="memItemRight" valign="bottom"><b>is_recursive_mutex</b> = true</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e5248faf1412f9283185a0b5d72d7456"></a><!-- doxytag: member="tbb::null_rw_mutex::is_fair_mutex" ref="e5248faf1412f9283185a0b5d72d7456" args="" -->
-static const bool </td><td class="memItemRight" valign="bottom"><b>is_fair_mutex</b> = true</td></tr>
-
-<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00318.html">scoped_lock</a></td></tr>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>flow</b></li><li class="navelem"><b>interface7</b></li><li class="navelem"><a class="el" href="a00060.html">function_node< Input, Output, queueing, Allocator ></a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::flow::interface7::function_node< Input, Output, queueing, Allocator > Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
 
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Represents acquisition of a mutex.  <a href="a00318.html#_details">More...</a><br></td></tr>
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-A rw mutex which does nothing. 
-<p>
-A <a class="el" href="a00317.html">null_rw_mutex</a> is a rw mutex that does nothing and simulates successful operation. 
-<p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li>null_rw_mutex.h</ul>
+<p>This is the complete list of members for <a class="el" href="a00060.html">tbb::flow::interface7::function_node< Input, Output, queueing, Allocator ></a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>fInput_type</b> typedef (defined in <a class="el" href="a00060.html">tbb::flow::interface7::function_node< Input, Output, queueing, Allocator ></a>)</td><td class="entry"><a class="el" href="a00060.html">tbb::flow::interface7::function_node< Input, Output, queueing, Allocator ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>fOutput_type</b> typedef (defined in <a class="el" href="a00060.html">tbb::flow::interface7::function_node< Input, Output, queueing, Allocator ></a>)</td><td class="entry"><a class="el" href="a00060.html">tbb::flow::interface7::function_node< Input, Output, queueing, Allocator ></a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00060.html#a1b0413b2ec13a9d2ee22dfeb6555a616">function_node</a>(graph &g, size_t concurrency, Body body)</td><td class="entry"><a class="el" href="a00060.html">tbb::flow::interface7::function_node< Input, Output, queueing, Allocator ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00060.html#ad1cb832fe1edee0b0d75e569b62c9c1c">function_node</a>(const function_node &src)</td><td class="entry"><a class="el" href="a00060.html">tbb::flow::interface7::function_node< Input, Output, queueing, Allocator ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>graph_node</b>(graph &g) (defined in <a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a>)</td><td class="entry"><a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>input_type</b> typedef (defined in <a class="el" href="a00060.html">tbb::flow::interface7::function_node< Input, Output, queueing, Allocator ></a>)</td><td class="entry"><a class="el" href="a00060.html">tbb::flow::interface7::function_node< Input, Output, queueing, Allocator ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>internal::broadcast_cache</b> (defined in <a class="el" href="a00060.html">tbb::flow::interface7::function_node< Input, Output, queueing, Allocator ></a>)</td><td class="entry"><a class="el" href="a00060.html">tbb::flow::interface7::function_node< Input, Output, queueing, Allocator ></a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>internal::round_robin_cache</b> (defined in <a class="el" href="a00060.html">tbb::flow::interface7::function_node< Input, Output, queueing, Allocator ></a>)</td><td class="entry"><a class="el" href="a00060.html">tbb::flow::interface7::function_node< Input, Output, queueing, Allocator ></a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>my_graph</b> (defined in <a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a>)</td><td class="entry"><a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>next</b> (defined in <a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a>)</td><td class="entry"><a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>output_type</b> typedef (defined in <a class="el" href="a00060.html">tbb::flow::interface7::function_node< Input, Output, queueing, Allocator ></a>)</td><td class="entry"><a class="el" href="a00060.html">tbb::flow::interface7::function_node< Input, Output, queueing, Allocator ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>predecessor_type</b> typedef (defined in <a class="el" href="a00060.html">tbb::flow::interface7::function_node< Input, Output, queueing, Allocator ></a>)</td><td class="entry"><a class="el" href="a00060.html">tbb::flow::interface7::function_node< Input, Output, queueing, Allocator ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>prev</b> (defined in <a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a>)</td><td class="entry"><a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>queue_type</b> typedef (defined in <a class="el" href="a00060.html">tbb::flow::interface7::function_node< Input, Output, queueing, Allocator ></a>)</td><td class="entry"><a class="el" href="a00060.html">tbb::flow::interface7::function_node< Input, Output, queueing, Allocator ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>reset</b>() (defined in <a class="el" href="a00060.html">tbb::flow::interface7::function_node< Input, Output, queueing, Allocator ></a>)</td><td class="entry"><a class="el" href="a00060.html">tbb::flow::interface7::function_node< Input, Output, queueing, Allocator ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>run_and_put_task</b> (defined in <a class="el" href="a00060.html">tbb::flow::interface7::function_node< Input, Output, queueing, Allocator ></a>)</td><td class="entry"><a class="el" href="a00060.html">tbb::flow::interface7::function_node< Input, Output, queueing, Allocator ></a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>set_name</b>(const char *name) (defined in <a class="el" href="a00060.html">tbb::flow::interface7::function_node< Input, Output, queueing, Allocator ></a>)</td><td class="entry"><a class="el" href="a00060.html">tbb::flow::interface7::function_node< Input, Output, queueing, Allocator ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>successor_type</b> typedef (defined in <a class="el" href="a00060.html">tbb::flow::interface7::function_node< Input, Output, queueing, Allocator ></a>)</td><td class="entry"><a class="el" href="a00060.html">tbb::flow::interface7::function_node< Input, Output, queueing, Allocator ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>successors</b>() (defined in <a class="el" href="a00060.html">tbb::flow::interface7::function_node< Input, Output, queueing, Allocator ></a>)</td><td class="entry"><a class="el" href="a00060.html">tbb::flow::interface7::function_node< Input, Output, queueing, Allocator ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>~graph_node</b>() (defined in <a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a>)</td><td class="entry"><a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+</table></div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00318.html b/doc/html/a00318.html
index bf12331..13237d7 100644
--- a/doc/html/a00318.html
+++ b/doc/html/a00318.html
@@ -1,62 +1,64 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>tbb::null_rw_mutex::scoped_lock Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="nav">
-<a class="el" href="a00428.html">tbb</a>::<a class="el" href="a00317.html">null_rw_mutex</a>::<a class="el" href="a00318.html">scoped_lock</a></div>
-<h1>tbb::null_rw_mutex::scoped_lock Class Reference</h1><!-- doxytag: class="tbb::null_rw_mutex::scoped_lock" -->Represents acquisition of a mutex.  
-<a href="#_details">More...</a>
-<p>
-<code>#include <null_rw_mutex.h></code>
-<p>
-<a href="a00095.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e11281a13a7b6243c6c9ab243c5ad5a8"></a><!-- doxytag: member="tbb::null_rw_mutex::scoped_lock::scoped_lock" ref="e11281a13a7b6243c6c9ab243c5ad5a8" args="(null_rw_mutex &, bool=true)" -->
- </td><td class="memItemRight" valign="bottom"><b>scoped_lock</b> (<a class="el" href="a00317.html">null_rw_mutex</a> &, bool=true)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="72c4c302fdfc20187a650348e432b0a7"></a><!-- doxytag: member="tbb::null_rw_mutex::scoped_lock::acquire" ref="72c4c302fdfc20187a650348e432b0a7" args="(null_rw_mutex &, bool=true)" -->
-void </td><td class="memItemRight" valign="bottom"><b>acquire</b> (<a class="el" href="a00317.html">null_rw_mutex</a> &, bool=true)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="fa1e2a5592ee2672470ea44d98f1c498"></a><!-- doxytag: member="tbb::null_rw_mutex::scoped_lock::upgrade_to_writer" ref="fa1e2a5592ee2672470ea44d98f1c498" args="()" -->
-bool </td><td class="memItemRight" valign="bottom"><b>upgrade_to_writer</b> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="efcb7948649e1652d59aaff9c8ea40f1"></a><!-- doxytag: member="tbb::null_rw_mutex::scoped_lock::downgrade_to_reader" ref="efcb7948649e1652d59aaff9c8ea40f1" args="()" -->
-bool </td><td class="memItemRight" valign="bottom"><b>downgrade_to_reader</b> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="56686c4dfe4a32a1d9bd8e7e729130e6"></a><!-- doxytag: member="tbb::null_rw_mutex::scoped_lock::try_acquire" ref="56686c4dfe4a32a1d9bd8e7e729130e6" args="(null_rw_mutex &, bool=true)" -->
-bool </td><td class="memItemRight" valign="bottom"><b>try_acquire</b> (<a class="el" href="a00317.html">null_rw_mutex</a> &, bool=true)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6146c803a4ad2f14263fdc019a72b5a9"></a><!-- doxytag: member="tbb::null_rw_mutex::scoped_lock::release" ref="6146c803a4ad2f14263fdc019a72b5a9" args="()" -->
-void </td><td class="memItemRight" valign="bottom"><b>release</b> ()</td></tr>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>flow</b></li><li class="navelem"><b>interface7</b></li><li class="navelem"><a class="el" href="a00079.html">multifunction_node</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::flow::interface7::multifunction_node< Input, Output, graph_buffer_policy, Allocator > Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
 
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-Represents acquisition of a mutex. 
-<p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li>null_rw_mutex.h</ul>
+<p>This is the complete list of members for <a class="el" href="a00079.html">tbb::flow::interface7::multifunction_node< Input, Output, graph_buffer_policy, Allocator ></a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>graph_node</b>(graph &g) (defined in <a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a>)</td><td class="entry"><a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>input_type</b> typedef (defined in <a class="el" href="a00079.html">tbb::flow::interface7::multifunction_node< Input, Output, graph_buffer_policy, Allocator ></a>)</td><td class="entry"><a class="el" href="a00079.html">tbb::flow::interface7::multifunction_node< Input, Output, graph_buffer_policy, Allocator ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>multifunction_node</b>(graph &g, size_t concurrency, Body body) (defined in <a class="el" href="a00079.html">tbb::flow::interface7::multifunction_node< Input, Output, graph_buffer_policy, Allocator ></a>)</td><td class="entry"><a class="el" href="a00079.html">tbb::flow::interface7::multifunction_node< Input, Output, graph_buffer_policy, Allocator ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>multifunction_node</b>(const multifunction_node &other) (defined in <a class="el" href="a00079.html">tbb::flow::interface7::multifunction_node< Input, Output, graph_buffer_policy, Allocator ></a>)</td><td class="entry"><a class="el" href="a00079.html">tbb::flow::interface7::multifunction_node< Input, Output, graph_buffer_policy, Allocator ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>my_graph</b> (defined in <a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a>)</td><td class="entry"><a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>next</b> (defined in <a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a>)</td><td class="entry"><a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>output_ports_type</b> typedef (defined in <a class="el" href="a00079.html">tbb::flow::interface7::multifunction_node< Input, Output, graph_buffer_policy, Allocator ></a>)</td><td class="entry"><a class="el" href="a00079.html">tbb::flow::interface7::multifunction_node< Input, Output, graph_buffer_policy, Allocator ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>prev</b> (defined in <a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a>)</td><td class="entry"><a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>reset</b>() (defined in <a class="el" href="a00079.html">tbb::flow::interface7::multifunction_node< Input, Output, graph_buffer_policy, Allocator ></a>)</td><td class="entry"><a class="el" href="a00079.html">tbb::flow::interface7::multifunction_node< Input, Output, graph_buffer_policy, Allocator ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtu [...]
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>set_name</b>(const char *name) (defined in <a class="el" href="a00079.html">tbb::flow::interface7::multifunction_node< Input, Output, graph_buffer_policy, Allocator ></a>)</td><td class="entry"><a class="el" href="a00079.html">tbb::flow::interface7::multifunction_node< Input, Output, graph_buffer_policy, Allocator ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~graph_node</b>() (defined in <a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a>)</td><td class="entry"><a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+</table></div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00319.html b/doc/html/a00319.html
index bb58252..0ec512c 100644
--- a/doc/html/a00319.html
+++ b/doc/html/a00319.html
@@ -1,62 +1,65 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>tbb::parallel_do_feeder< Item > Class Template Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="nav">
-<a class="el" href="a00428.html">tbb</a>::<a class="el" href="a00319.html">parallel_do_feeder</a></div>
-<h1>tbb::parallel_do_feeder< Item > Class Template Reference</h1><!-- doxytag: class="tbb::parallel_do_feeder" -->Class the user supplied algorithm body uses to add new tasks.  
-<a href="#_details">More...</a>
-<p>
-<code>#include <parallel_do.h></code>
-<p>
-<a href="a00096.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="40baaf0f6856f4491dd0adf896c93516"></a><!-- doxytag: member="tbb::parallel_do_feeder::add" ref="40baaf0f6856f4491dd0adf896c93516" args="(const Item &item)" -->
-void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00319.html#40baaf0f6856f4491dd0adf896c93516">add</a> (const Item &item)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Add a work item to a running parallel_do. <br></td></tr>
-<tr><td colspan="2"><br><h2>Friends</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b381179b22f5f5e8511470c73d64b37f"></a><!-- doxytag: member="tbb::parallel_do_feeder::internal::parallel_do_feeder_impl" ref="b381179b22f5f5e8511470c73d64b37f" args="" -->
-class </td><td class="memItemRight" valign="bottom"><b>internal::parallel_do_feeder_impl</b></td></tr>
-
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-<h3>template<typename Item><br>
- class tbb::parallel_do_feeder< Item ></h3>
-
-Class the user supplied algorithm body uses to add new tasks. 
-<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
-  <table border="0" cellspacing="2" cellpadding="0">
-    <tr><td valign="top"></td><td valign="top"><em>Item</em> </td><td>Work item type </td></tr>
-  </table>
-</dl>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>flow</b></li><li class="navelem"><b>interface7</b></li><li class="navelem"><a class="el" href="a00080.html">multifunction_node< Input, Output, queueing, Allocator ></a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::flow::interface7::multifunction_node< Input, Output, queueing, Allocator > Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
 
-<p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li>parallel_do.h</ul>
+<p>This is the complete list of members for <a class="el" href="a00080.html">tbb::flow::interface7::multifunction_node< Input, Output, queueing, Allocator ></a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>graph_node</b>(graph &g) (defined in <a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a>)</td><td class="entry"><a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>input_type</b> typedef (defined in <a class="el" href="a00080.html">tbb::flow::interface7::multifunction_node< Input, Output, queueing, Allocator ></a>)</td><td class="entry"><a class="el" href="a00080.html">tbb::flow::interface7::multifunction_node< Input, Output, queueing, Allocator ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>multifunction_node</b>(graph &g, size_t concurrency, Body body) (defined in <a class="el" href="a00080.html">tbb::flow::interface7::multifunction_node< Input, Output, queueing, Allocator ></a>)</td><td class="entry"><a class="el" href="a00080.html">tbb::flow::interface7::multifunction_node< Input, Output, queueing, Allocator ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>multifunction_node</b>(const multifunction_node &other) (defined in <a class="el" href="a00080.html">tbb::flow::interface7::multifunction_node< Input, Output, queueing, Allocator ></a>)</td><td class="entry"><a class="el" href="a00080.html">tbb::flow::interface7::multifunction_node< Input, Output, queueing, Allocator ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>my_graph</b> (defined in <a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a>)</td><td class="entry"><a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>N</b> (defined in <a class="el" href="a00080.html">tbb::flow::interface7::multifunction_node< Input, Output, queueing, Allocator ></a>)</td><td class="entry"><a class="el" href="a00080.html">tbb::flow::interface7::multifunction_node< Input, Output, queueing, Allocator ></a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">static</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>next</b> (defined in <a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a>)</td><td class="entry"><a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>output_ports_type</b> typedef (defined in <a class="el" href="a00080.html">tbb::flow::interface7::multifunction_node< Input, Output, queueing, Allocator ></a>)</td><td class="entry"><a class="el" href="a00080.html">tbb::flow::interface7::multifunction_node< Input, Output, queueing, Allocator ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>prev</b> (defined in <a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a>)</td><td class="entry"><a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>reset</b>() (defined in <a class="el" href="a00080.html">tbb::flow::interface7::multifunction_node< Input, Output, queueing, Allocator ></a>)</td><td class="entry"><a class="el" href="a00080.html">tbb::flow::interface7::multifunction_node< Input, Output, queueing, Allocator ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>set_name</b>(const char *name) (defined in <a class="el" href="a00080.html">tbb::flow::interface7::multifunction_node< Input, Output, queueing, Allocator ></a>)</td><td class="entry"><a class="el" href="a00080.html">tbb::flow::interface7::multifunction_node< Input, Output, queueing, Allocator ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>~graph_node</b>() (defined in <a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a>)</td><td class="entry"><a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+</table></div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00320.html b/doc/html/a00320.html
index 7e90392..8f21c2a 100644
--- a/doc/html/a00320.html
+++ b/doc/html/a00320.html
@@ -1,137 +1,67 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>tbb::parallel_while< Body > Class Template Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="nav">
-<a class="el" href="a00428.html">tbb</a>::<a class="el" href="a00320.html">parallel_while</a></div>
-<h1>tbb::parallel_while< Body > Class Template Reference<br>
-<small>
-[<a class="el" href="a00441.html">Algorithms</a>]</small>
-</h1><!-- doxytag: class="tbb::parallel_while" -->Parallel iteration over a stream, with optional addition of more work.  
-<a href="#_details">More...</a>
-<p>
-<code>#include <parallel_while.h></code>
-<p>
-<a href="a00100.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="fa297e53d3af2a101e712bc200233e9c"></a><!-- doxytag: member="tbb::parallel_while::value_type" ref="fa297e53d3af2a101e712bc200233e9c" args="" -->
-typedef Body::argument_type </td><td class="memItemRight" valign="bottom"><a class="el" href="a00320.html#fa297e53d3af2a101e712bc200233e9c">value_type</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Type of items. <br></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="36e26ba3880c7bcf804a97ba0cbe133f"></a><!-- doxytag: member="tbb::parallel_while::parallel_while" ref="36e26ba3880c7bcf804a97ba0cbe133f" args="()" -->
- </td><td class="memItemRight" valign="bottom"><a class="el" href="a00320.html#36e26ba3880c7bcf804a97ba0cbe133f">parallel_while</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Construct empty non-running parallel while. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6fcfc973cc56b79c6d0fbb8a31be7e84"></a><!-- doxytag: member="tbb::parallel_while::~parallel_while" ref="6fcfc973cc56b79c6d0fbb8a31be7e84" args="()" -->
- </td><td class="memItemRight" valign="bottom"><a class="el" href="a00320.html#6fcfc973cc56b79c6d0fbb8a31be7e84">~parallel_while</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Destructor cleans up data members before returning. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2">template<typename Stream> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00320.html#b32a0a6e5e09ebb7fad3e6652c19afe5">run</a> (Stream &stream, const Body &body)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Apply body.apply to each item in the stream.  <a href="#b32a0a6e5e09ebb7fad3e6652c19afe5"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00320.html#e131c560057a58229992b61eb8dba4c6">add</a> (const <a class="el" href="a00320.html#fa297e53d3af2a101e712bc200233e9c">value_type</a> &item)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Add a work item while running.  <a href="#e131c560057a58229992b61eb8dba4c6"></a><br></td></tr>
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-<h3>template<typename Body><br>
- class tbb::parallel_while< Body ></h3>
-
-Parallel iteration over a stream, with optional addition of more work. 
-<p>
-The Body b has the requirement: <br>
- "b(v)" <br>
- "b.argument_type" <br>
- where v is an argument_type 
-<p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="e131c560057a58229992b61eb8dba4c6"></a><!-- doxytag: member="tbb::parallel_while::add" ref="e131c560057a58229992b61eb8dba4c6" args="(const value_type &item)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template<typename Body> </div>
-      <table class="memname">
-        <tr>
-          <td class="memname">void <a class="el" href="a00320.html">tbb::parallel_while</a>< Body >::add           </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="a00320.html#fa297e53d3af2a101e712bc200233e9c">value_type</a> & </td>
-          <td class="paramname"> <em>item</em>          </td>
-          <td> ) </td>
-          <td width="100%"></td>
-        </tr>
-      </table>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>flow</b></li><li class="navelem"><b>interface7</b></li><li class="navelem"><a class="el" href="a00130.html">split_node</a></li>  </ul>
 </div>
-<div class="memdoc">
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::flow::interface7::split_node< TupleType, Allocator > Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
 
-<p>
-Add a work item while running. 
-<p>
-Should be executed only by body.apply or a thread spawned therefrom. 
-</div>
-</div><p>
-<a class="anchor" name="b32a0a6e5e09ebb7fad3e6652c19afe5"></a><!-- doxytag: member="tbb::parallel_while::run" ref="b32a0a6e5e09ebb7fad3e6652c19afe5" args="(Stream &stream, const Body &body)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template<typename Body> </div>
-<div class="memtemplate">
-template<typename Stream> </div>
-      <table class="memname">
-        <tr>
-          <td class="memname">void <a class="el" href="a00320.html">tbb::parallel_while</a>< Body >::run           </td>
-          <td>(</td>
-          <td class="paramtype">Stream & </td>
-          <td class="paramname"> <em>stream</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const Body & </td>
-          <td class="paramname"> <em>body</em></td><td> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td width="100%"></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Apply body.apply to each item in the stream. 
-<p>
-A Stream s has the requirements <br>
- "S::value_type" <br>
- "s.pop_if_present(value) is convertible to bool 
-</div>
-</div><p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li>parallel_while.h</ul>
+<p>This is the complete list of members for <a class="el" href="a00130.html">tbb::flow::interface7::split_node< TupleType, Allocator ></a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>allocator_type</b> typedef (defined in <a class="el" href="a00130.html">tbb::flow::interface7::split_node< TupleType, Allocator ></a>)</td><td class="entry"><a class="el" href="a00130.html">tbb::flow::interface7::split_node< TupleType, Allocator ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>graph_node</b>(graph &g) (defined in <a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a>)</td><td class="entry"><a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>input_type</b> typedef (defined in <a class="el" href="a00130.html">tbb::flow::interface7::split_node< TupleType, Allocator ></a>)</td><td class="entry"><a class="el" href="a00130.html">tbb::flow::interface7::split_node< TupleType, Allocator ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>multifunction_node</b>(graph &g, size_t concurrency, Body body) (defined in <a class="el" href="a00079.html">tbb::flow::interface7::multifunction_node< TupleType, TupleType, rejecting, Allocator ></a>)</td><td class="entry"><a class="el" href="a00079.html">tbb::flow::interface7::multifunction_node< TupleType, TupleType, rejecting, Allocator ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>multifunction_node</b>(const multifunction_node &other) (defined in <a class="el" href="a00079.html">tbb::flow::interface7::multifunction_node< TupleType, TupleType, rejecting, Allocator ></a>)</td><td class="entry"><a class="el" href="a00079.html">tbb::flow::interface7::multifunction_node< TupleType, TupleType, rejecting, Allocator ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>my_graph</b> (defined in <a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a>)</td><td class="entry"><a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>next</b> (defined in <a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a>)</td><td class="entry"><a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>output_ports_type</b> typedef (defined in <a class="el" href="a00130.html">tbb::flow::interface7::split_node< TupleType, Allocator ></a>)</td><td class="entry"><a class="el" href="a00130.html">tbb::flow::interface7::split_node< TupleType, Allocator ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>prev</b> (defined in <a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a>)</td><td class="entry"><a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>reset</b>() (defined in <a class="el" href="a00079.html">tbb::flow::interface7::multifunction_node< TupleType, TupleType, rejecting, Allocator ></a>)</td><td class="entry"><a class="el" href="a00079.html">tbb::flow::interface7::multifunction_node< TupleType, TupleType, rejecting, Allocator ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>set_name</b>(const char *name) (defined in <a class="el" href="a00130.html">tbb::flow::interface7::split_node< TupleType, Allocator ></a>)</td><td class="entry"><a class="el" href="a00130.html">tbb::flow::interface7::split_node< TupleType, Allocator ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>split_node</b>(graph &g) (defined in <a class="el" href="a00130.html">tbb::flow::interface7::split_node< TupleType, Allocator ></a>)</td><td class="entry"><a class="el" href="a00130.html">tbb::flow::interface7::split_node< TupleType, Allocator ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>split_node</b>(const split_node &other) (defined in <a class="el" href="a00130.html">tbb::flow::interface7::split_node< TupleType, Allocator ></a>)</td><td class="entry"><a class="el" href="a00130.html">tbb::flow::interface7::split_node< TupleType, Allocator ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>~graph_node</b>() (defined in <a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a>)</td><td class="entry"><a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+</table></div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00321.html b/doc/html/a00321.html
index d0730a5..b4e4e12 100644
--- a/doc/html/a00321.html
+++ b/doc/html/a00321.html
@@ -1,59 +1,73 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>tbb::internal::partition_type_base Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="nav">
-<a class="el" href="a00428.html">tbb</a>::<b>internal</b>::<a class="el" href="a00321.html">partition_type_base</a></div>
-<h1>tbb::internal::partition_type_base Class Reference</h1><!-- doxytag: class="tbb::internal::partition_type_base" -->Provides backward-compatible methods for partition objects without affinity.  
-<a href="#_details">More...</a>
-<p>
-<code>#include <partitioner.h></code>
-<p>
-<a href="a00102.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d5b43011addf53239ccf8cdeaeab76e7"></a><!-- doxytag: member="tbb::internal::partition_type_base::set_affinity" ref="d5b43011addf53239ccf8cdeaeab76e7" args="(task &)" -->
-void </td><td class="memItemRight" valign="bottom"><b>set_affinity</b> (<a class="el" href="a00349.html">task</a> &)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2bffce16dee5796448bf12c8ccecd94c"></a><!-- doxytag: member="tbb::internal::partition_type_base::note_affinity" ref="2bffce16dee5796448bf12c8ccecd94c" args="(task::affinity_id)" -->
-void </td><td class="memItemRight" valign="bottom"><b>note_affinity</b> (<a class="el" href="a00349.html#d61bb32389d3857bf7511d69beaafb76">task::affinity_id</a>)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="87962b93599ff172cd4b64f2995ebc71"></a><!-- doxytag: member="tbb::internal::partition_type_base::continue_after_execute_range" ref="87962b93599ff172cd4b64f2995ebc71" args="()" -->
-<a class="el" href="a00349.html">task</a> * </td><td class="memItemRight" valign="bottom"><b>continue_after_execute_range</b> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="baca041e2b854196a411f1d0ca7ae905"></a><!-- doxytag: member="tbb::internal::partition_type_base::decide_whether_to_delay" ref="baca041e2b854196a411f1d0ca7ae905" args="()" -->
-bool </td><td class="memItemRight" valign="bottom"><b>decide_whether_to_delay</b> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="17686f1a5119802cad38369d0580d05f"></a><!-- doxytag: member="tbb::internal::partition_type_base::spawn_or_delay" ref="17686f1a5119802cad38369d0580d05f" args="(bool, task &b)" -->
-void </td><td class="memItemRight" valign="bottom"><b>spawn_or_delay</b> (bool, <a class="el" href="a00349.html">task</a> &b)</td></tr>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>flow</b></li><li class="navelem"><b>interface7</b></li><li class="navelem"><a class="el" href="a00049.html">continue_node</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::flow::interface7::continue_node< Output > Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
 
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-Provides backward-compatible methods for partition objects without affinity. 
-<p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li>partitioner.h</ul>
+<p>This is the complete list of members for <a class="el" href="a00049.html">tbb::flow::interface7::continue_node< Output ></a>, including all inherited members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" href="a00049.html#a7b96b9eb41772ff1d7a52329ac56b8f0">continue_node</a>(graph &g, Body body)</td><td class="entry"><a class="el" href="a00049.html">tbb::flow::interface7::continue_node< Output ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00049.html#a05e8957de1cb5a940d2ed3f9fc7637ed">continue_node</a>(graph &g, int number_of_predecessors, Body body)</td><td class="entry"><a class="el" href="a00049.html">tbb::flow::interface7::continue_node< Output ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00049.html#a8ab0750127a7ead08e14b8910a21cf50">continue_node</a>(const continue_node &src)</td><td class="entry"><a class="el" href="a00049.html">tbb::flow::interface7::continue_node< Output ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>fInput_type</b> typedef (defined in <a class="el" href="a00049.html">tbb::flow::interface7::continue_node< Output ></a>)</td><td class="entry"><a class="el" href="a00049.html">tbb::flow::interface7::continue_node< Output ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>fOutput_type</b> typedef (defined in <a class="el" href="a00049.html">tbb::flow::interface7::continue_node< Output ></a>)</td><td class="entry"><a class="el" href="a00049.html">tbb::flow::interface7::continue_node< Output ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>graph_node</b>(graph &g) (defined in <a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a>)</td><td class="entry"><a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>input_type</b> typedef (defined in <a class="el" href="a00049.html">tbb::flow::interface7::continue_node< Output ></a>)</td><td class="entry"><a class="el" href="a00049.html">tbb::flow::interface7::continue_node< Output ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>internal::broadcast_cache</b> (defined in <a class="el" href="a00049.html">tbb::flow::interface7::continue_node< Output ></a>)</td><td class="entry"><a class="el" href="a00049.html">tbb::flow::interface7::continue_node< Output ></a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>internal::round_robin_cache</b> (defined in <a class="el" href="a00049.html">tbb::flow::interface7::continue_node< Output ></a>)</td><td class="entry"><a class="el" href="a00049.html">tbb::flow::interface7::continue_node< Output ></a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>my_graph</b> (defined in <a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a>)</td><td class="entry"><a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>next</b> (defined in <a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a>)</td><td class="entry"><a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>output_type</b> typedef (defined in <a class="el" href="a00049.html">tbb::flow::interface7::continue_node< Output ></a>)</td><td class="entry"><a class="el" href="a00049.html">tbb::flow::interface7::continue_node< Output ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>predecessor_type</b> typedef (defined in <a class="el" href="a00049.html">tbb::flow::interface7::continue_node< Output ></a>)</td><td class="entry"><a class="el" href="a00049.html">tbb::flow::interface7::continue_node< Output ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>prev</b> (defined in <a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a>)</td><td class="entry"><a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>reset</b>() (defined in <a class="el" href="a00049.html">tbb::flow::interface7::continue_node< Output ></a>)</td><td class="entry"><a class="el" href="a00049.html">tbb::flow::interface7::continue_node< Output ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>run_and_put_task</b> (defined in <a class="el" href="a00049.html">tbb::flow::interface7::continue_node< Output ></a>)</td><td class="entry"><a class="el" href="a00049.html">tbb::flow::interface7::continue_node< Output ></a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>set_name</b>(const char *name) (defined in <a class="el" href="a00049.html">tbb::flow::interface7::continue_node< Output ></a>)</td><td class="entry"><a class="el" href="a00049.html">tbb::flow::interface7::continue_node< Output ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>successor_type</b> typedef (defined in <a class="el" href="a00049.html">tbb::flow::interface7::continue_node< Output ></a>)</td><td class="entry"><a class="el" href="a00049.html">tbb::flow::interface7::continue_node< Output ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>successors</b>() (defined in <a class="el" href="a00049.html">tbb::flow::interface7::continue_node< Output ></a>)</td><td class="entry"><a class="el" href="a00049.html">tbb::flow::interface7::continue_node< Output ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>~graph_node</b>() (defined in <a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a>)</td><td class="entry"><a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+</table></div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00322.html b/doc/html/a00322.html
index 0d5ff4b..686e1c2 100644
--- a/doc/html/a00322.html
+++ b/doc/html/a00322.html
@@ -1,108 +1,90 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>tbb::pipeline Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="nav">
-<a class="el" href="a00428.html">tbb</a>::<a class="el" href="a00322.html">pipeline</a></div>
-<h1>tbb::pipeline Class Reference<br>
-<small>
-[<a class="el" href="a00441.html">Algorithms</a>]</small>
-</h1><!-- doxytag: class="tbb::pipeline" -->A processing pipeline that applies filters to items.  
-<a href="#_details">More...</a>
-<p>
-<code>#include <pipeline.h></code>
-<p>
-<a href="a00109.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="596dc3beba27099c4c8581cb419e1a59"></a><!-- doxytag: member="tbb::pipeline::pipeline" ref="596dc3beba27099c4c8581cb419e1a59" args="()" -->
-__TBB_EXPORTED_METHOD </td><td class="memItemRight" valign="bottom"><a class="el" href="a00322.html#596dc3beba27099c4c8581cb419e1a59">pipeline</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Construct empty pipeline. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual __TBB_EXPORTED_METHOD </td><td class="memItemRight" valign="bottom"><a class="el" href="a00322.html#49513c6c24f9d5bbbb27edca5efe01c9">~pipeline</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="38fb5c9c8395dd6f89a4ae2011a83e0d"></a><!-- doxytag: member="tbb::pipeline::add_filter" ref="38fb5c9c8395dd6f89a4ae2011a83e0d" args="(filter &filter_)" -->
-void __TBB_EXPORTED_METHOD </td><td class="memItemRight" valign="bottom"><a class="el" href="a00322.html#38fb5c9c8395dd6f89a4ae2011a83e0d">add_filter</a> (<a class="el" href="a00294.html">filter</a> &filter_)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Add filter to end of pipeline. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f627616049b3fe36801f37ee40403ef8"></a><!-- doxytag: member="tbb::pipeline::run" ref="f627616049b3fe36801f37ee40403ef8" args="(size_t max_number_of_live_tokens)" -->
-void __TBB_EXPORTED_METHOD </td><td class="memItemRight" valign="bottom"><a class="el" href="a00322.html#f627616049b3fe36801f37ee40403ef8">run</a> (size_t max_number_of_live_tokens)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Run the pipeline to completion. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="93d7fec8cd607b803dd2d79fb46bd260"></a><!-- doxytag: member="tbb::pipeline::run" ref="93d7fec8cd607b803dd2d79fb46bd260" args="(size_t max_number_of_live_tokens, tbb::task_group_context &context)" -->
-void __TBB_EXPORTED_METHOD </td><td class="memItemRight" valign="bottom"><a class="el" href="a00322.html#93d7fec8cd607b803dd2d79fb46bd260">run</a> (size_t max_number_of_live_tokens, <a class="el" href="a00353.html">tbb::task_group_context</a> &context)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Run the pipeline to completion with user-supplied context. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2c84aef5b834b555ee220b176e25931e"></a><!-- doxytag: member="tbb::pipeline::clear" ref="2c84aef5b834b555ee220b176e25931e" args="()" -->
-void __TBB_EXPORTED_METHOD </td><td class="memItemRight" valign="bottom"><a class="el" href="a00322.html#2c84aef5b834b555ee220b176e25931e">clear</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Remove all filters from the pipeline. <br></td></tr>
-<tr><td colspan="2"><br><h2>Friends</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8228ce0751009045e8158d2e642715a6"></a><!-- doxytag: member="tbb::pipeline::internal::stage_task" ref="8228ce0751009045e8158d2e642715a6" args="" -->
-class </td><td class="memItemRight" valign="bottom"><b>internal::stage_task</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="05d67150ca324698ba852553e223d3eb"></a><!-- doxytag: member="tbb::pipeline::internal::pipeline_root_task" ref="05d67150ca324698ba852553e223d3eb" args="" -->
-class </td><td class="memItemRight" valign="bottom"><b>internal::pipeline_root_task</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4c991e50853b0cac7da039550344d3ef"></a><!-- doxytag: member="tbb::pipeline::filter" ref="4c991e50853b0cac7da039550344d3ef" args="" -->
-class </td><td class="memItemRight" valign="bottom"><b>filter</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e43b69a482df8e053cb199af69eb5139"></a><!-- doxytag: member="tbb::pipeline::thread_bound_filter" ref="e43b69a482df8e053cb199af69eb5139" args="" -->
-class </td><td class="memItemRight" valign="bottom"><b>thread_bound_filter</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9d033d41ff53a0ae6ef824aceee7ecbc"></a><!-- doxytag: member="tbb::pipeline::internal::pipeline_cleaner" ref="9d033d41ff53a0ae6ef824aceee7ecbc" args="" -->
-class </td><td class="memItemRight" valign="bottom"><b>internal::pipeline_cleaner</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d1ed99300bc4520a481583c448d6fafd"></a><!-- doxytag: member="tbb::pipeline::tbb::interface6::internal::pipeline_proxy" ref="d1ed99300bc4520a481583c448d6fafd" args="" -->
-class </td><td class="memItemRight" valign="bottom"><b>tbb::interface6::internal::pipeline_proxy</b></td></tr>
-
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-A processing pipeline that applies filters to items. 
-<p>
-<hr><h2>Constructor & Destructor Documentation</h2>
-<a class="anchor" name="49513c6c24f9d5bbbb27edca5efe01c9"></a><!-- doxytag: member="tbb::pipeline::~pipeline" ref="49513c6c24f9d5bbbb27edca5efe01c9" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">virtual __TBB_EXPORTED_METHOD tbb::pipeline::~pipeline           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td> ) </td>
-          <td width="100%"><code> [virtual]</code></td>
-        </tr>
-      </table>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>flow</b></li><li class="navelem"><b>interface7</b></li><li class="navelem"><a class="el" href="a00086.html">overwrite_node</a></li>  </ul>
 </div>
-<div class="memdoc">
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::flow::interface7::overwrite_node< T > Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
 
-<p>
-Though the current implementation declares the destructor virtual, do not rely on this detail. The virtualness is deprecated and may disappear in future versions of TBB. 
-</div>
-</div><p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li>pipeline.h</ul>
+<p>This is the complete list of members for <a class="el" href="a00086.html">tbb::flow::interface7::overwrite_node< T ></a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>clear</b>() (defined in <a class="el" href="a00086.html">tbb::flow::interface7::overwrite_node< T ></a>)</td><td class="entry"><a class="el" href="a00086.html">tbb::flow::interface7::overwrite_node< T ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>graph_node</b>(graph &g) (defined in <a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a>)</td><td class="entry"><a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>input_type</b> typedef (defined in <a class="el" href="a00086.html">tbb::flow::interface7::overwrite_node< T ></a>)</td><td class="entry"><a class="el" href="a00086.html">tbb::flow::interface7::overwrite_node< T ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>internal::broadcast_cache</b> (defined in <a class="el" href="a00086.html">tbb::flow::interface7::overwrite_node< T ></a>)</td><td class="entry"><a class="el" href="a00086.html">tbb::flow::interface7::overwrite_node< T ></a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>internal::round_robin_cache</b> (defined in <a class="el" href="a00086.html">tbb::flow::interface7::overwrite_node< T ></a>)</td><td class="entry"><a class="el" href="a00086.html">tbb::flow::interface7::overwrite_node< T ></a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>is_continue_receiver</b>() (defined in <a class="el" href="a00106.html">tbb::flow::interface7::receiver< T ></a>)</td><td class="entry"><a class="el" href="a00106.html">tbb::flow::interface7::receiver< T ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>is_valid</b>() (defined in <a class="el" href="a00086.html">tbb::flow::interface7::overwrite_node< T ></a>)</td><td class="entry"><a class="el" href="a00086.html">tbb::flow::interface7::overwrite_node< T ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>my_buffer</b> (defined in <a class="el" href="a00086.html">tbb::flow::interface7::overwrite_node< T ></a>)</td><td class="entry"><a class="el" href="a00086.html">tbb::flow::interface7::overwrite_node< T ></a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>my_buffer_is_valid</b> (defined in <a class="el" href="a00086.html">tbb::flow::interface7::overwrite_node< T ></a>)</td><td class="entry"><a class="el" href="a00086.html">tbb::flow::interface7::overwrite_node< T ></a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>my_graph</b> (defined in <a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a>)</td><td class="entry"><a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>my_mutex</b> (defined in <a class="el" href="a00086.html">tbb::flow::interface7::overwrite_node< T ></a>)</td><td class="entry"><a class="el" href="a00086.html">tbb::flow::interface7::overwrite_node< T ></a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>my_successors</b> (defined in <a class="el" href="a00086.html">tbb::flow::interface7::overwrite_node< T ></a>)</td><td class="entry"><a class="el" href="a00086.html">tbb::flow::interface7::overwrite_node< T ></a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>next</b> (defined in <a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a>)</td><td class="entry"><a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>output_type</b> typedef (defined in <a class="el" href="a00086.html">tbb::flow::interface7::overwrite_node< T ></a>)</td><td class="entry"><a class="el" href="a00086.html">tbb::flow::interface7::overwrite_node< T ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>overwrite_node</b>(graph &g) (defined in <a class="el" href="a00086.html">tbb::flow::interface7::overwrite_node< T ></a>)</td><td class="entry"><a class="el" href="a00086.html">tbb::flow::interface7::overwrite_node< T ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>overwrite_node</b>(const overwrite_node &src) (defined in <a class="el" href="a00086.html">tbb::flow::interface7::overwrite_node< T ></a>)</td><td class="entry"><a class="el" href="a00086.html">tbb::flow::interface7::overwrite_node< T ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>predecessor_type</b> typedef (defined in <a class="el" href="a00086.html">tbb::flow::interface7::overwrite_node< T ></a>)</td><td class="entry"><a class="el" href="a00086.html">tbb::flow::interface7::overwrite_node< T ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>prev</b> (defined in <a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a>)</td><td class="entry"><a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00106.html#a16427aa709505de93ffe0d79136e4251">register_predecessor</a>(predecessor_type &)</td><td class="entry"><a class="el" href="a00106.html">tbb::flow::interface7::receiver< T ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00086.html#aed811ce5f59a555396c7bcd56316b4da">register_successor</a>(successor_type &s)</td><td class="entry"><a class="el" href="a00086.html">tbb::flow::interface7::overwrite_node< T ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00106.html#a55adae6228bbdc1539695e1ec20e9762">remove_predecessor</a>(predecessor_type &)</td><td class="entry"><a class="el" href="a00106.html">tbb::flow::interface7::receiver< T ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00086.html#ab5ff89d56e2e3c3848d84a09c88b1d52">remove_successor</a>(successor_type &s)</td><td class="entry"><a class="el" href="a00086.html">tbb::flow::interface7::overwrite_node< T ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>reset</b>() (defined in <a class="el" href="a00086.html">tbb::flow::interface7::overwrite_node< T ></a>)</td><td class="entry"><a class="el" href="a00086.html">tbb::flow::interface7::overwrite_node< T ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>reset_receiver</b>() (defined in <a class="el" href="a00086.html">tbb::flow::interface7::overwrite_node< T ></a>)</td><td class="entry"><a class="el" href="a00086.html">tbb::flow::interface7::overwrite_node< T ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>run_and_put_task</b> (defined in <a class="el" href="a00086.html">tbb::flow::interface7::overwrite_node< T ></a>)</td><td class="entry"><a class="el" href="a00086.html">tbb::flow::interface7::overwrite_node< T ></a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>set_name</b>(const char *name) (defined in <a class="el" href="a00086.html">tbb::flow::interface7::overwrite_node< T ></a>)</td><td class="entry"><a class="el" href="a00086.html">tbb::flow::interface7::overwrite_node< T ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>successor_type</b> typedef (defined in <a class="el" href="a00086.html">tbb::flow::interface7::overwrite_node< T ></a>)</td><td class="entry"><a class="el" href="a00086.html">tbb::flow::interface7::overwrite_node< T ></a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="a00124.html#ad404d5218c7ae2556261ffa880cdf804">try_consume</a>()</td><td class="entry"><a class="el" href="a00124.html">tbb::flow::interface7::sender< T ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00086.html#a575642eb611ca4e2012df5604634d341">try_get</a>(T &v)</td><td class="entry"><a class="el" href="a00086.html">tbb::flow::interface7::overwrite_node< T ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00106.html#aee5067bb4f4b71ffa786c1b33cb9aa6a">try_put</a>(const T &t)</td><td class="entry"><a class="el" href="a00106.html">tbb::flow::interface7::receiver< T ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>try_put_task</b>(const T &v) (defined in <a class="el" href="a00086.html">tbb::flow::interface7::overwrite_node< T ></a>)</td><td class="entry"><a class="el" href="a00086.html">tbb::flow::interface7::overwrite_node< T ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00124.html#a97ac316ddfb6bd7c7f2f56e3e819a30a">try_release</a>()</td><td class="entry"><a class="el" href="a00124.html">tbb::flow::interface7::sender< T ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00124.html#aa1b9dcf77ab558530ff93a706b4c4b5d">try_reserve</a>(T &)</td><td class="entry"><a class="el" href="a00124.html">tbb::flow::interface7::sender< T ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>~graph_node</b>() (defined in <a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a>)</td><td class="entry"><a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~overwrite_node</b>() (defined in <a class="el" href="a00086.html">tbb::flow::interface7::overwrite_node< T ></a>)</td><td class="entry"><a class="el" href="a00086.html">tbb::flow::interface7::overwrite_node< T ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00106.html#a733889a9053478ef2fb2528e2205bf07">~receiver</a>()</td><td class="entry"><a class="el" href="a00106.html">tbb::flow::interface7::receiver< T ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~sender</b>() (defined in <a class="el" href="a00124.html">tbb::flow::interface7::sender< T ></a>)</td><td class="entry"><a class="el" href="a00124.html">tbb::flow::interface7::sender< T ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+</table></div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00323.html b/doc/html/a00323.html
index 546d35b..786021d 100644
--- a/doc/html/a00323.html
+++ b/doc/html/a00323.html
@@ -1,50 +1,92 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>tbb::pre_scan_tag Struct Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="nav">
-<a class="el" href="a00428.html">tbb</a>::<a class="el" href="a00323.html">pre_scan_tag</a></div>
-<h1>tbb::pre_scan_tag Struct Reference<br>
-<small>
-[<a class="el" href="a00441.html">Algorithms</a>]</small>
-</h1><!-- doxytag: class="tbb::pre_scan_tag" -->Used to indicate that the initial scan is being performed.  
-<a href="#_details">More...</a>
-<p>
-<code>#include <parallel_scan.h></code>
-<p>
-<a href="a00098.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d45d2cf548e51140ad6faafbea8ca6b5"></a><!-- doxytag: member="tbb::pre_scan_tag::is_final_scan" ref="d45d2cf548e51140ad6faafbea8ca6b5" args="()" -->
-static bool </td><td class="memItemRight" valign="bottom"><b>is_final_scan</b> ()</td></tr>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>flow</b></li><li class="navelem"><b>interface7</b></li><li class="navelem"><a class="el" href="a00159.html">write_once_node</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::flow::interface7::write_once_node< T > Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
 
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-Used to indicate that the initial scan is being performed. 
-<p>
-<hr>The documentation for this struct was generated from the following file:<ul>
-<li>parallel_scan.h</ul>
+<p>This is the complete list of members for <a class="el" href="a00159.html">tbb::flow::interface7::write_once_node< T ></a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>clear</b>() (defined in <a class="el" href="a00086.html">tbb::flow::interface7::overwrite_node< T ></a>)</td><td class="entry"><a class="el" href="a00086.html">tbb::flow::interface7::overwrite_node< T ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>graph_node</b>(graph &g) (defined in <a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a>)</td><td class="entry"><a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>input_type</b> typedef (defined in <a class="el" href="a00159.html">tbb::flow::interface7::write_once_node< T ></a>)</td><td class="entry"><a class="el" href="a00159.html">tbb::flow::interface7::write_once_node< T ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>internal::broadcast_cache</b> (defined in <a class="el" href="a00159.html">tbb::flow::interface7::write_once_node< T ></a>)</td><td class="entry"><a class="el" href="a00159.html">tbb::flow::interface7::write_once_node< T ></a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>internal::round_robin_cache</b> (defined in <a class="el" href="a00159.html">tbb::flow::interface7::write_once_node< T ></a>)</td><td class="entry"><a class="el" href="a00159.html">tbb::flow::interface7::write_once_node< T ></a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>is_continue_receiver</b>() (defined in <a class="el" href="a00106.html">tbb::flow::interface7::receiver< T ></a>)</td><td class="entry"><a class="el" href="a00106.html">tbb::flow::interface7::receiver< T ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>is_valid</b>() (defined in <a class="el" href="a00086.html">tbb::flow::interface7::overwrite_node< T ></a>)</td><td class="entry"><a class="el" href="a00086.html">tbb::flow::interface7::overwrite_node< T ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>my_buffer</b> (defined in <a class="el" href="a00086.html">tbb::flow::interface7::overwrite_node< T ></a>)</td><td class="entry"><a class="el" href="a00086.html">tbb::flow::interface7::overwrite_node< T ></a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>my_buffer_is_valid</b> (defined in <a class="el" href="a00086.html">tbb::flow::interface7::overwrite_node< T ></a>)</td><td class="entry"><a class="el" href="a00086.html">tbb::flow::interface7::overwrite_node< T ></a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>my_graph</b> (defined in <a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a>)</td><td class="entry"><a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>my_mutex</b> (defined in <a class="el" href="a00086.html">tbb::flow::interface7::overwrite_node< T ></a>)</td><td class="entry"><a class="el" href="a00086.html">tbb::flow::interface7::overwrite_node< T ></a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>my_successors</b> (defined in <a class="el" href="a00086.html">tbb::flow::interface7::overwrite_node< T ></a>)</td><td class="entry"><a class="el" href="a00086.html">tbb::flow::interface7::overwrite_node< T ></a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>next</b> (defined in <a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a>)</td><td class="entry"><a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>output_type</b> typedef (defined in <a class="el" href="a00159.html">tbb::flow::interface7::write_once_node< T ></a>)</td><td class="entry"><a class="el" href="a00159.html">tbb::flow::interface7::write_once_node< T ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>overwrite_node</b>(graph &g) (defined in <a class="el" href="a00086.html">tbb::flow::interface7::overwrite_node< T ></a>)</td><td class="entry"><a class="el" href="a00086.html">tbb::flow::interface7::overwrite_node< T ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>overwrite_node</b>(const overwrite_node &src) (defined in <a class="el" href="a00086.html">tbb::flow::interface7::overwrite_node< T ></a>)</td><td class="entry"><a class="el" href="a00086.html">tbb::flow::interface7::overwrite_node< T ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>predecessor_type</b> typedef (defined in <a class="el" href="a00159.html">tbb::flow::interface7::write_once_node< T ></a>)</td><td class="entry"><a class="el" href="a00159.html">tbb::flow::interface7::write_once_node< T ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>prev</b> (defined in <a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a>)</td><td class="entry"><a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00106.html#a16427aa709505de93ffe0d79136e4251">register_predecessor</a>(predecessor_type &)</td><td class="entry"><a class="el" href="a00106.html">tbb::flow::interface7::receiver< T ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00086.html#aed811ce5f59a555396c7bcd56316b4da">register_successor</a>(successor_type &s)</td><td class="entry"><a class="el" href="a00086.html">tbb::flow::interface7::overwrite_node< T ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00106.html#a55adae6228bbdc1539695e1ec20e9762">remove_predecessor</a>(predecessor_type &)</td><td class="entry"><a class="el" href="a00106.html">tbb::flow::interface7::receiver< T ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00086.html#ab5ff89d56e2e3c3848d84a09c88b1d52">remove_successor</a>(successor_type &s)</td><td class="entry"><a class="el" href="a00086.html">tbb::flow::interface7::overwrite_node< T ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>reset</b>() (defined in <a class="el" href="a00086.html">tbb::flow::interface7::overwrite_node< T ></a>)</td><td class="entry"><a class="el" href="a00086.html">tbb::flow::interface7::overwrite_node< T ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>reset_receiver</b>() (defined in <a class="el" href="a00086.html">tbb::flow::interface7::overwrite_node< T ></a>)</td><td class="entry"><a class="el" href="a00086.html">tbb::flow::interface7::overwrite_node< T ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>run_and_put_task</b> (defined in <a class="el" href="a00159.html">tbb::flow::interface7::write_once_node< T ></a>)</td><td class="entry"><a class="el" href="a00159.html">tbb::flow::interface7::write_once_node< T ></a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>set_name</b>(const char *name) (defined in <a class="el" href="a00159.html">tbb::flow::interface7::write_once_node< T ></a>)</td><td class="entry"><a class="el" href="a00159.html">tbb::flow::interface7::write_once_node< T ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>successor_type</b> typedef (defined in <a class="el" href="a00159.html">tbb::flow::interface7::write_once_node< T ></a>)</td><td class="entry"><a class="el" href="a00159.html">tbb::flow::interface7::write_once_node< T ></a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="a00124.html#ad404d5218c7ae2556261ffa880cdf804">try_consume</a>()</td><td class="entry"><a class="el" href="a00124.html">tbb::flow::interface7::sender< T ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00086.html#a575642eb611ca4e2012df5604634d341">try_get</a>(T &v)</td><td class="entry"><a class="el" href="a00086.html">tbb::flow::interface7::overwrite_node< T ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00106.html#aee5067bb4f4b71ffa786c1b33cb9aa6a">try_put</a>(const T &t)</td><td class="entry"><a class="el" href="a00106.html">tbb::flow::interface7::receiver< T ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>try_put_task</b>(const T &v) (defined in <a class="el" href="a00159.html">tbb::flow::interface7::write_once_node< T ></a>)</td><td class="entry"><a class="el" href="a00159.html">tbb::flow::interface7::write_once_node< T ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00124.html#a97ac316ddfb6bd7c7f2f56e3e819a30a">try_release</a>()</td><td class="entry"><a class="el" href="a00124.html">tbb::flow::interface7::sender< T ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00124.html#aa1b9dcf77ab558530ff93a706b4c4b5d">try_reserve</a>(T &)</td><td class="entry"><a class="el" href="a00124.html">tbb::flow::interface7::sender< T ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00159.html#a8225d7ca0ff9762552413cfb1382d78f">write_once_node</a>(graph &g)</td><td class="entry"><a class="el" href="a00159.html">tbb::flow::interface7::write_once_node< T ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00159.html#a68b94bb09b608522462080fe99125e07">write_once_node</a>(const write_once_node &src)</td><td class="entry"><a class="el" href="a00159.html">tbb::flow::interface7::write_once_node< T ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>~graph_node</b>() (defined in <a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a>)</td><td class="entry"><a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~overwrite_node</b>() (defined in <a class="el" href="a00086.html">tbb::flow::interface7::overwrite_node< T ></a>)</td><td class="entry"><a class="el" href="a00086.html">tbb::flow::interface7::overwrite_node< T ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00106.html#a733889a9053478ef2fb2528e2205bf07">~receiver</a>()</td><td class="entry"><a class="el" href="a00106.html">tbb::flow::interface7::receiver< T ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~sender</b>() (defined in <a class="el" href="a00124.html">tbb::flow::interface7::sender< T ></a>)</td><td class="entry"><a class="el" href="a00124.html">tbb::flow::interface7::sender< T ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+</table></div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00324.html b/doc/html/a00324.html
index 6e5a874..e2cf498 100644
--- a/doc/html/a00324.html
+++ b/doc/html/a00324.html
@@ -1,136 +1,83 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>tbb::flow::interface6::priority_queue_node< T, Compare, A > Class Template Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="nav">
-<a class="el" href="a00428.html">tbb</a>::<b>flow</b>::<b>interface6</b>::<a class="el" href="a00324.html">priority_queue_node</a></div>
-<h1>tbb::flow::interface6::priority_queue_node< T, Compare, A > Class Template Reference</h1><!-- doxytag: class="tbb::flow::interface6::priority_queue_node" --><!-- doxytag: inherits="tbb::flow::interface6::buffer_node" -->Forwards messages in priority order.  
-<a href="#_details">More...</a>
-<p>
-<code>#include <flow_graph.h></code>
-<p>
-<p>Inheritance diagram for tbb::flow::interface6::priority_queue_node< T, Compare, A >:
-<p><center><img src="a00324.png" usemap="#tbb::flow::interface6::priority_queue_node< T, Compare, A >_map" border="0" alt=""></center>
-<map name="tbb::flow::interface6::priority_queue_node< T, Compare, A >_map">
-<area href="a00275.html" alt="tbb::flow::interface6::buffer_node< T, A >" shape="rect" coords="362,56,714,80">
-<area href="a00301.html" alt="tbb::flow::interface6::graph_node" shape="rect" coords="0,0,352,24">
-<area href="a00333.html" alt="tbb::flow::interface6::receiver< T >" shape="rect" coords="362,0,714,24">
-<area href="a00339.html" alt="tbb::flow::interface6::sender< T >" shape="rect" coords="724,0,1076,24">
-</map>
-<a href="a00078.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b2829b518979874ad3d2a939e14ae7bd"></a><!-- doxytag: member="tbb::flow::interface6::priority_queue_node::input_type" ref="b2829b518979874ad3d2a939e14ae7bd" args="" -->
-typedef T </td><td class="memItemRight" valign="bottom"><a class="el" href="a00324.html#b2829b518979874ad3d2a939e14ae7bd">input_type</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">The input type of this receiver. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2cb099b590246b6bc93cc15e78c6ee5c"></a><!-- doxytag: member="tbb::flow::interface6::priority_queue_node::output_type" ref="2cb099b590246b6bc93cc15e78c6ee5c" args="" -->
-typedef T </td><td class="memItemRight" valign="bottom"><a class="el" href="a00324.html#2cb099b590246b6bc93cc15e78c6ee5c">output_type</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">The output type of this sender. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4968bda48aceffa4d65445bf8d0f8048"></a><!-- doxytag: member="tbb::flow::interface6::priority_queue_node::base_type" ref="4968bda48aceffa4d65445bf8d0f8048" args="" -->
-typedef <a class="el" href="a00275.html">buffer_node</a>< T, A > </td><td class="memItemRight" valign="bottom"><b>base_type</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="fdea783bf9d5a4c98e794ac7e0f84ccf"></a><!-- doxytag: member="tbb::flow::interface6::priority_queue_node::predecessor_type" ref="fdea783bf9d5a4c98e794ac7e0f84ccf" args="" -->
-typedef <a class="el" href="a00339.html">sender</a>< <a class="el" href="a00324.html#b2829b518979874ad3d2a939e14ae7bd">input_type</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00324.html#fdea783bf9d5a4c98e794ac7e0f84ccf">predecessor_type</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">The predecessor type for this node. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="09ab5064ca8192e68c03da47603e68eb"></a><!-- doxytag: member="tbb::flow::interface6::priority_queue_node::successor_type" ref="09ab5064ca8192e68c03da47603e68eb" args="" -->
-typedef <a class="el" href="a00333.html">receiver</a>< <a class="el" href="a00324.html#2cb099b590246b6bc93cc15e78c6ee5c">output_type</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00324.html#09ab5064ca8192e68c03da47603e68eb">successor_type</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">The successor type for this node. <br></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="497ec2612615249bf5a294eb1b7b93b3"></a><!-- doxytag: member="tbb::flow::interface6::priority_queue_node::priority_queue_node" ref="497ec2612615249bf5a294eb1b7b93b3" args="(graph &g)" -->
- </td><td class="memItemRight" valign="bottom"><a class="el" href="a00324.html#497ec2612615249bf5a294eb1b7b93b3">priority_queue_node</a> (<a class="el" href="a00300.html">graph</a> &g)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Constructor. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="17a4f66e23d54100b64805405e905d62"></a><!-- doxytag: member="tbb::flow::interface6::priority_queue_node::priority_queue_node" ref="17a4f66e23d54100b64805405e905d62" args="(const priority_queue_node &src)" -->
- </td><td class="memItemRight" valign="bottom"><a class="el" href="a00324.html#17a4f66e23d54100b64805405e905d62">priority_queue_node</a> (const <a class="el" href="a00324.html">priority_queue_node</a> &src)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Copy constructor. <br></td></tr>
-<tr><td colspan="2"><br><h2>Protected Types</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d1c6c5e02b9cc144b2b3ccc9f18bf047"></a><!-- doxytag: member="tbb::flow::interface6::priority_queue_node::size_type" ref="d1c6c5e02b9cc144b2b3ccc9f18bf047" args="" -->
-typedef <a class="el" href="a00275.html">buffer_node</a>< T, A <br>
->::size_type </td><td class="memItemRight" valign="bottom"><b>size_type</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="eb98634e74bee4d82676f1aca0f6864c"></a><!-- doxytag: member="tbb::flow::interface6::priority_queue_node::item_type" ref="eb98634e74bee4d82676f1aca0f6864c" args="" -->
-typedef <a class="el" href="a00275.html">buffer_node</a>< T, A <br>
->::item_type </td><td class="memItemRight" valign="bottom"><b>item_type</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f80f04dc8886a8a6b177123f094bdb43"></a><!-- doxytag: member="tbb::flow::interface6::priority_queue_node::prio_operation" ref="f80f04dc8886a8a6b177123f094bdb43" args="" -->
-typedef <a class="el" href="a00275.html">buffer_node</a>< T, A <br>
->::buffer_operation </td><td class="memItemRight" valign="bottom"><b>prio_operation</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="274cc306c7a22cf9e27c4c2c3a66ce8e579c547cd1c044d3e6190401d87ee101"></a><!-- doxytag: member="tbb::flow::interface6::priority_queue_node::WAIT" ref="274cc306c7a22cf9e27c4c2c3a66ce8e579c547cd1c044d3e6190401d87ee101" args="" -->
- </td><td class="memItemRight" valign="bottom"><b>WAIT</b> = 0</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="274cc306c7a22cf9e27c4c2c3a66ce8e67ced6b76fb4bcd40404499619fbd0b9"></a><!-- doxytag: member="tbb::flow::interface6::priority_queue_node::SUCCEEDED" ref="274cc306c7a22cf9e27c4c2c3a66ce8e67ced6b76fb4bcd40404499619fbd0b9" args="" -->
- </td><td class="memItemRight" valign="bottom"><b>SUCCEEDED</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="274cc306c7a22cf9e27c4c2c3a66ce8eb74545a431cbeaf85ab0bfcec52261ff"></a><!-- doxytag: member="tbb::flow::interface6::priority_queue_node::FAILED" ref="274cc306c7a22cf9e27c4c2c3a66ce8eb74545a431cbeaf85ab0bfcec52261ff" args="" -->
- </td><td class="memItemRight" valign="bottom"><b>FAILED</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><b>op_stat</b> { <b>WAIT</b> = 0, 
-<b>SUCCEEDED</b>, 
-<b>FAILED</b>
- }</td></tr>
-
-<tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="534a669bacdb8b335c8eaaadc9462795"></a><!-- doxytag: member="tbb::flow::interface6::priority_queue_node::reset" ref="534a669bacdb8b335c8eaaadc9462795" args="()" -->
-void </td><td class="memItemRight" valign="bottom"><b>reset</b> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="abff2e0891477135c24f44747e991c6c"></a><!-- doxytag: member="tbb::flow::interface6::priority_queue_node::handle_operations" ref="abff2e0891477135c24f44747e991c6c" args="(prio_operation *op_list)" -->
-void </td><td class="memItemRight" valign="bottom"><b>handle_operations</b> (prio_operation *op_list)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9249c25621a6ee7a741a6b7eac710ba4"></a><!-- doxytag: member="tbb::flow::interface6::priority_queue_node::internal_forward_task" ref="9249c25621a6ee7a741a6b7eac710ba4" args="(prio_operation *op)" -->
-void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00324.html#9249c25621a6ee7a741a6b7eac710ba4">internal_forward_task</a> (prio_operation *op)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Tries to forward valid items to successors. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="05d8747ea54ca84a7196f8cacdc81ca5"></a><!-- doxytag: member="tbb::flow::interface6::priority_queue_node::internal_push" ref="05d8747ea54ca84a7196f8cacdc81ca5" args="(prio_operation *op)" -->
-void </td><td class="memItemRight" valign="bottom"><b>internal_push</b> (prio_operation *op)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6c7cd11240fbe0737344f36b587492f9"></a><!-- doxytag: member="tbb::flow::interface6::priority_queue_node::internal_pop" ref="6c7cd11240fbe0737344f36b587492f9" args="(prio_operation *op)" -->
-void </td><td class="memItemRight" valign="bottom"><b>internal_pop</b> (prio_operation *op)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9238c5c44ccc46ed1be218651f36feea"></a><!-- doxytag: member="tbb::flow::interface6::priority_queue_node::internal_reserve" ref="9238c5c44ccc46ed1be218651f36feea" args="(prio_operation *op)" -->
-void </td><td class="memItemRight" valign="bottom"><b>internal_reserve</b> (prio_operation *op)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="caefc7ba7a16a7120b6b37de42e705b4"></a><!-- doxytag: member="tbb::flow::interface6::priority_queue_node::internal_consume" ref="caefc7ba7a16a7120b6b37de42e705b4" args="(prio_operation *op)" -->
-void </td><td class="memItemRight" valign="bottom"><b>internal_consume</b> (prio_operation *op)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="400304719e359e66e9560157577fc2fe"></a><!-- doxytag: member="tbb::flow::interface6::priority_queue_node::internal_release" ref="400304719e359e66e9560157577fc2fe" args="(prio_operation *op)" -->
-void </td><td class="memItemRight" valign="bottom"><b>internal_release</b> (prio_operation *op)</td></tr>
-
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-<h3>template<typename T, typename Compare = std::less<T>, typename A = cache_aligned_allocator<T>><br>
- class tbb::flow::interface6::priority_queue_node< T, Compare, A ></h3>
-
-Forwards messages in priority order. 
-<p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li><a class="el" href="a00385.html">flow_graph.h</a></ul>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>flow</b></li><li class="navelem"><b>interface7</b></li><li class="navelem"><a class="el" href="a00025.html">broadcast_node</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::flow::interface7::broadcast_node< T > Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="a00025.html">tbb::flow::interface7::broadcast_node< T ></a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>broadcast_node</b>(graph &g) (defined in <a class="el" href="a00025.html">tbb::flow::interface7::broadcast_node< T ></a>)</td><td class="entry"><a class="el" href="a00025.html">tbb::flow::interface7::broadcast_node< T ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>broadcast_node</b>(const broadcast_node &src) (defined in <a class="el" href="a00025.html">tbb::flow::interface7::broadcast_node< T ></a>)</td><td class="entry"><a class="el" href="a00025.html">tbb::flow::interface7::broadcast_node< T ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>graph_node</b>(graph &g) (defined in <a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a>)</td><td class="entry"><a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>input_type</b> typedef (defined in <a class="el" href="a00025.html">tbb::flow::interface7::broadcast_node< T ></a>)</td><td class="entry"><a class="el" href="a00025.html">tbb::flow::interface7::broadcast_node< T ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>internal::broadcast_cache</b> (defined in <a class="el" href="a00025.html">tbb::flow::interface7::broadcast_node< T ></a>)</td><td class="entry"><a class="el" href="a00025.html">tbb::flow::interface7::broadcast_node< T ></a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>internal::round_robin_cache</b> (defined in <a class="el" href="a00025.html">tbb::flow::interface7::broadcast_node< T ></a>)</td><td class="entry"><a class="el" href="a00025.html">tbb::flow::interface7::broadcast_node< T ></a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>is_continue_receiver</b>() (defined in <a class="el" href="a00106.html">tbb::flow::interface7::receiver< T ></a>)</td><td class="entry"><a class="el" href="a00106.html">tbb::flow::interface7::receiver< T ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>my_graph</b> (defined in <a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a>)</td><td class="entry"><a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>next</b> (defined in <a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a>)</td><td class="entry"><a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>output_type</b> typedef (defined in <a class="el" href="a00025.html">tbb::flow::interface7::broadcast_node< T ></a>)</td><td class="entry"><a class="el" href="a00025.html">tbb::flow::interface7::broadcast_node< T ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>predecessor_type</b> typedef (defined in <a class="el" href="a00025.html">tbb::flow::interface7::broadcast_node< T ></a>)</td><td class="entry"><a class="el" href="a00025.html">tbb::flow::interface7::broadcast_node< T ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>prev</b> (defined in <a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a>)</td><td class="entry"><a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00106.html#a16427aa709505de93ffe0d79136e4251">register_predecessor</a>(predecessor_type &)</td><td class="entry"><a class="el" href="a00106.html">tbb::flow::interface7::receiver< T ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00025.html#a36b5c86faa58a264d899b7c26286c80e">register_successor</a>(receiver< T > &r)</td><td class="entry"><a class="el" href="a00025.html">tbb::flow::interface7::broadcast_node< T ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00106.html#a55adae6228bbdc1539695e1ec20e9762">remove_predecessor</a>(predecessor_type &)</td><td class="entry"><a class="el" href="a00106.html">tbb::flow::interface7::receiver< T ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00025.html#a22d463b071df6e0b7ca11df27bb2637e">remove_successor</a>(receiver< T > &r)</td><td class="entry"><a class="el" href="a00025.html">tbb::flow::interface7::broadcast_node< T ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>reset</b>() (defined in <a class="el" href="a00025.html">tbb::flow::interface7::broadcast_node< T ></a>)</td><td class="entry"><a class="el" href="a00025.html">tbb::flow::interface7::broadcast_node< T ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>reset_receiver</b>() (defined in <a class="el" href="a00025.html">tbb::flow::interface7::broadcast_node< T ></a>)</td><td class="entry"><a class="el" href="a00025.html">tbb::flow::interface7::broadcast_node< T ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>run_and_put_task</b> (defined in <a class="el" href="a00025.html">tbb::flow::interface7::broadcast_node< T ></a>)</td><td class="entry"><a class="el" href="a00025.html">tbb::flow::interface7::broadcast_node< T ></a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>set_name</b>(const char *name) (defined in <a class="el" href="a00025.html">tbb::flow::interface7::broadcast_node< T ></a>)</td><td class="entry"><a class="el" href="a00025.html">tbb::flow::interface7::broadcast_node< T ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>successor_type</b> typedef (defined in <a class="el" href="a00025.html">tbb::flow::interface7::broadcast_node< T ></a>)</td><td class="entry"><a class="el" href="a00025.html">tbb::flow::interface7::broadcast_node< T ></a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="a00124.html#ad404d5218c7ae2556261ffa880cdf804">try_consume</a>()</td><td class="entry"><a class="el" href="a00124.html">tbb::flow::interface7::sender< T ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00124.html#ad50b8ac93e79cbdcd2bba11d35432f2c">try_get</a>(T &)</td><td class="entry"><a class="el" href="a00124.html">tbb::flow::interface7::sender< T ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00106.html#aee5067bb4f4b71ffa786c1b33cb9aa6a">try_put</a>(const T &t)</td><td class="entry"><a class="el" href="a00106.html">tbb::flow::interface7::receiver< T ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00025.html#a07d030b43c6e2d9169a7e58db30a547b">try_put_task</a>(const T &t)</td><td class="entry"><a class="el" href="a00025.html">tbb::flow::interface7::broadcast_node< T ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00124.html#a97ac316ddfb6bd7c7f2f56e3e819a30a">try_release</a>()</td><td class="entry"><a class="el" href="a00124.html">tbb::flow::interface7::sender< T ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00124.html#aa1b9dcf77ab558530ff93a706b4c4b5d">try_reserve</a>(T &)</td><td class="entry"><a class="el" href="a00124.html">tbb::flow::interface7::sender< T ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>~graph_node</b>() (defined in <a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a>)</td><td class="entry"><a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00106.html#a733889a9053478ef2fb2528e2205bf07">~receiver</a>()</td><td class="entry"><a class="el" href="a00106.html">tbb::flow::interface7::receiver< T ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>~sender</b>() (defined in <a class="el" href="a00124.html">tbb::flow::interface7::sender< T ></a>)</td><td class="entry"><a class="el" href="a00124.html">tbb::flow::interface7::sender< T ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+</table></div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00324.png b/doc/html/a00324.png
deleted file mode 100644
index 1e0df07..0000000
Binary files a/doc/html/a00324.png and /dev/null differ
diff --git a/doc/html/a00325.html b/doc/html/a00325.html
index ad76775..044d09a 100644
--- a/doc/html/a00325.html
+++ b/doc/html/a00325.html
@@ -1,118 +1,117 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>tbb::flow::interface6::queue_node< T, A > Class Template Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="nav">
-<a class="el" href="a00428.html">tbb</a>::<b>flow</b>::<b>interface6</b>::<a class="el" href="a00325.html">queue_node</a></div>
-<h1>tbb::flow::interface6::queue_node< T, A > Class Template Reference</h1><!-- doxytag: class="tbb::flow::interface6::queue_node" --><!-- doxytag: inherits="tbb::flow::interface6::buffer_node" -->Forwards messages in FIFO order.  
-<a href="#_details">More...</a>
-<p>
-<code>#include <flow_graph.h></code>
-<p>
-<p>Inheritance diagram for tbb::flow::interface6::queue_node< T, A >:
-<p><center><img src="a00325.png" usemap="#tbb::flow::interface6::queue_node< T, A >_map" border="0" alt=""></center>
-<map name="tbb::flow::interface6::queue_node< T, A >_map">
-<area href="a00275.html" alt="tbb::flow::interface6::buffer_node< T, A >" shape="rect" coords="280,56,550,80">
-<area href="a00301.html" alt="tbb::flow::interface6::graph_node" shape="rect" coords="0,0,270,24">
-<area href="a00333.html" alt="tbb::flow::interface6::receiver< T >" shape="rect" coords="280,0,550,24">
-<area href="a00339.html" alt="tbb::flow::interface6::sender< T >" shape="rect" coords="560,0,830,24">
-<area href="a00340.html" alt="tbb::flow::interface6::sequencer_node< T, A >" shape="rect" coords="280,168,550,192">
-</map>
-<a href="a00076.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1e71030845210b6c4c7380eb9e11a2ac"></a><!-- doxytag: member="tbb::flow::interface6::queue_node::input_type" ref="1e71030845210b6c4c7380eb9e11a2ac" args="" -->
-typedef T </td><td class="memItemRight" valign="bottom"><a class="el" href="a00325.html#1e71030845210b6c4c7380eb9e11a2ac">input_type</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">The input type of this receiver. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="25b5a53ab1f9a342644fa3759bc0b1ad"></a><!-- doxytag: member="tbb::flow::interface6::queue_node::output_type" ref="25b5a53ab1f9a342644fa3759bc0b1ad" args="" -->
-typedef T </td><td class="memItemRight" valign="bottom"><a class="el" href="a00325.html#25b5a53ab1f9a342644fa3759bc0b1ad">output_type</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">The output type of this sender. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5e2fdd33c45d44549dee9c1638e19898"></a><!-- doxytag: member="tbb::flow::interface6::queue_node::predecessor_type" ref="5e2fdd33c45d44549dee9c1638e19898" args="" -->
-typedef <a class="el" href="a00339.html">sender</a>< <a class="el" href="a00325.html#1e71030845210b6c4c7380eb9e11a2ac">input_type</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00325.html#5e2fdd33c45d44549dee9c1638e19898">predecessor_type</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">The predecessor type for this node. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f35076a19f256f9e7a61bed77ca1ccc5"></a><!-- doxytag: member="tbb::flow::interface6::queue_node::successor_type" ref="f35076a19f256f9e7a61bed77ca1ccc5" args="" -->
-typedef <a class="el" href="a00333.html">receiver</a>< <a class="el" href="a00325.html#25b5a53ab1f9a342644fa3759bc0b1ad">output_type</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00325.html#f35076a19f256f9e7a61bed77ca1ccc5">successor_type</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">The successor type for this node. <br></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c716593a92448b0f429d1f3a38e67996"></a><!-- doxytag: member="tbb::flow::interface6::queue_node::queue_node" ref="c716593a92448b0f429d1f3a38e67996" args="(graph &g)" -->
- </td><td class="memItemRight" valign="bottom"><a class="el" href="a00325.html#c716593a92448b0f429d1f3a38e67996">queue_node</a> (<a class="el" href="a00300.html">graph</a> &g)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Constructor. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0226762d9ebba28311b7b1518d948ab1"></a><!-- doxytag: member="tbb::flow::interface6::queue_node::queue_node" ref="0226762d9ebba28311b7b1518d948ab1" args="(const queue_node &src)" -->
- </td><td class="memItemRight" valign="bottom"><a class="el" href="a00325.html#0226762d9ebba28311b7b1518d948ab1">queue_node</a> (const <a class="el" href="a00325.html">queue_node</a> &src)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Copy constructor. <br></td></tr>
-<tr><td colspan="2"><br><h2>Protected Types</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a84ab6bb43d056468ac5df3626219513"></a><!-- doxytag: member="tbb::flow::interface6::queue_node::size_type" ref="a84ab6bb43d056468ac5df3626219513" args="" -->
-typedef <a class="el" href="a00275.html">buffer_node</a>< T, A <br>
->::size_type </td><td class="memItemRight" valign="bottom"><b>size_type</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="63c3b0a76cd7964dec2f3d54afbb05f3"></a><!-- doxytag: member="tbb::flow::interface6::queue_node::queue_operation" ref="63c3b0a76cd7964dec2f3d54afbb05f3" args="" -->
-typedef <a class="el" href="a00275.html">buffer_node</a>< T, A <br>
->::buffer_operation </td><td class="memItemRight" valign="bottom"><b>queue_operation</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b748e310297e1e3f88952a2a9876bab979763449c8716cdd38fda58e607551f1"></a><!-- doxytag: member="tbb::flow::interface6::queue_node::WAIT" ref="b748e310297e1e3f88952a2a9876bab979763449c8716cdd38fda58e607551f1" args="" -->
- </td><td class="memItemRight" valign="bottom"><b>WAIT</b> = 0</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b748e310297e1e3f88952a2a9876bab923e845160e46a20fb8550132f04e94aa"></a><!-- doxytag: member="tbb::flow::interface6::queue_node::SUCCEEDED" ref="b748e310297e1e3f88952a2a9876bab923e845160e46a20fb8550132f04e94aa" args="" -->
- </td><td class="memItemRight" valign="bottom"><b>SUCCEEDED</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b748e310297e1e3f88952a2a9876bab9ad699b139814d0746be2266041081474"></a><!-- doxytag: member="tbb::flow::interface6::queue_node::FAILED" ref="b748e310297e1e3f88952a2a9876bab9ad699b139814d0746be2266041081474" args="" -->
- </td><td class="memItemRight" valign="bottom"><b>FAILED</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><b>op_stat</b> { <b>WAIT</b> = 0, 
-<b>SUCCEEDED</b>, 
-<b>FAILED</b>
- }</td></tr>
-
-<tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8eecd6591d7565cbb5b7f1e37bf97979"></a><!-- doxytag: member="tbb::flow::interface6::queue_node::internal_forward_task" ref="8eecd6591d7565cbb5b7f1e37bf97979" args="(queue_operation *op)" -->
-void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00325.html#8eecd6591d7565cbb5b7f1e37bf97979">internal_forward_task</a> (queue_operation *op)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Tries to forward valid items to successors. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="cfd2350a4c9d14486a8a9285acb9ca49"></a><!-- doxytag: member="tbb::flow::interface6::queue_node::internal_pop" ref="cfd2350a4c9d14486a8a9285acb9ca49" args="(queue_operation *op)" -->
-void </td><td class="memItemRight" valign="bottom"><b>internal_pop</b> (queue_operation *op)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="bf478ff2ae265ec859928191e2f7dbe3"></a><!-- doxytag: member="tbb::flow::interface6::queue_node::internal_reserve" ref="bf478ff2ae265ec859928191e2f7dbe3" args="(queue_operation *op)" -->
-void </td><td class="memItemRight" valign="bottom"><b>internal_reserve</b> (queue_operation *op)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d67eee760d9fd829064927e7fe1b54fb"></a><!-- doxytag: member="tbb::flow::interface6::queue_node::internal_consume" ref="d67eee760d9fd829064927e7fe1b54fb" args="(queue_operation *op)" -->
-void </td><td class="memItemRight" valign="bottom"><b>internal_consume</b> (queue_operation *op)</td></tr>
-
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-<h3>template<typename T, typename A = cache_aligned_allocator<T>><br>
- class tbb::flow::interface6::queue_node< T, A ></h3>
-
-Forwards messages in FIFO order. 
-<p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li><a class="el" href="a00385.html">flow_graph.h</a></ul>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>flow</b></li><li class="navelem"><b>interface7</b></li><li class="navelem"><a class="el" href="a00027.html">buffer_node</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::flow::interface7::buffer_node< T, A > Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a>, including all inherited members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" href="a00027.html#a152f7bb9ab1f033ec56caa451327634c">buffer_node</a>(graph &g)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00027.html#a739635c43d1150f2c8dd3f455d698d36">buffer_node</a>(const buffer_node &src)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>con_res</b> enum value (defined in <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>enqueue_forwarding_task</b>(buffer_operation &op_data) (defined in <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>FAILED</b> enum value (defined in <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00027.html#a8910a497040a4c6f1a6a1fb7a33a8888">forward_task</a>()</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>forwarder_busy</b> (defined in <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>grab_forwarding_task</b>(buffer_operation &op_data) (defined in <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>graph_node</b>(graph &g) (defined in <a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a>)</td><td class="entry"><a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>handle_operations</b>(buffer_operation *op_list) (defined in <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>input_type</b> typedef (defined in <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>internal::aggregating_functor< my_class, buffer_operation ></b> (defined in <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>internal::broadcast_cache</b> (defined in <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>internal::forward_task_bypass< buffer_node< T, A > ></b> (defined in <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>internal::round_robin_cache</b> (defined in <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>internal_consume</b>(buffer_operation *op) (defined in <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00027.html#a3aa7578ccbd3d5f986869ab8698c037c">internal_forward_task</a>(buffer_operation *op)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>internal_pop</b>(buffer_operation *op) (defined in <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>internal_push</b>(buffer_operation *op) (defined in <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00027.html#afa2dd93a1b42e77ccf7e1de0fddf3158">internal_reg_succ</a>(buffer_operation *op)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>internal_release</b>(buffer_operation *op) (defined in <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00027.html#a46c7f9cd9130036244d4ea8efd74bf22">internal_rem_succ</a>(buffer_operation *op)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>internal_reserve</b>(buffer_operation *op) (defined in <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>is_continue_receiver</b>() (defined in <a class="el" href="a00106.html">tbb::flow::interface7::receiver< T ></a>)</td><td class="entry"><a class="el" href="a00106.html">tbb::flow::interface7::receiver< T ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>my_aggregator</b> (defined in <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>my_class</b> typedef (defined in <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>my_graph</b> (defined in <a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a>)</td><td class="entry"><a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>my_handler</b> typedef (defined in <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>my_successors</b> (defined in <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>next</b> (defined in <a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a>)</td><td class="entry"><a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>op_stat</b> enum name (defined in <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>op_type</b> enum name (defined in <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>output_type</b> typedef (defined in <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>predecessor_type</b> typedef (defined in <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>prev</b> (defined in <a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a>)</td><td class="entry"><a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>put_item</b> enum value (defined in <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>reg_succ</b> enum value (defined in <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00106.html#a16427aa709505de93ffe0d79136e4251">register_predecessor</a>(predecessor_type &)</td><td class="entry"><a class="el" href="a00106.html">tbb::flow::interface7::receiver< T ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00027.html#ab458d9fa2c7d6f39ec62d4027c9da376">register_successor</a>(receiver< output_type > &r)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>rel_res</b> enum value (defined in <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>rem_succ</b> enum value (defined in <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00106.html#a55adae6228bbdc1539695e1ec20e9762">remove_predecessor</a>(predecessor_type &)</td><td class="entry"><a class="el" href="a00106.html">tbb::flow::interface7::receiver< T ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00027.html#a70d3c1fb1af11deb9b92fa753fa8604c">remove_successor</a>(receiver< output_type > &r)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>req_item</b> enum value (defined in <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>res_item</b> enum value (defined in <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>reset</b>() (defined in <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>reset_receiver</b>() (defined in <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>run_and_put_task</b> (defined in <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>set_name</b>(const char *name) (defined in <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>size_type</b> typedef (defined in <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>SUCCEEDED</b> enum value (defined in <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>successor_type</b> typedef (defined in <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00027.html#a335072bc547c5e9b40f58dfeab525953">try_consume</a>()</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>try_fwd_task</b> enum value (defined in <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00027.html#a175cb77dfbdd0e322097a833a2271c1e">try_get</a>(T &v)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00106.html#aee5067bb4f4b71ffa786c1b33cb9aa6a">try_put</a>(const T &t)</td><td class="entry"><a class="el" href="a00106.html">tbb::flow::interface7::receiver< T ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00027.html#aa4517c0a58649ea5eb140ab4b786e1ec">try_put_task</a>(const T &t)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00027.html#aaa3745fd4705345df16fb33954d93e30">try_release</a>()</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00027.html#a3b12cdebf8cef15b90e3c9cd9e51019f">try_reserve</a>(T &v)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>WAIT</b> enum value (defined in <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~buffer_node</b>() (defined in <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>~graph_node</b>() (defined in <a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a>)</td><td class="entry"><a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00106.html#a733889a9053478ef2fb2528e2205bf07">~receiver</a>()</td><td class="entry"><a class="el" href="a00106.html">tbb::flow::interface7::receiver< T ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>~sender</b>() (defined in <a class="el" href="a00124.html">tbb::flow::interface7::sender< T ></a>)</td><td class="entry"><a class="el" href="a00124.html">tbb::flow::interface7::sender< T ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+</table></div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00325.png b/doc/html/a00325.png
deleted file mode 100644
index 09b37ae..0000000
Binary files a/doc/html/a00325.png and /dev/null differ
diff --git a/doc/html/a00326.html b/doc/html/a00326.html
index ae5575e..027153c 100644
--- a/doc/html/a00326.html
+++ b/doc/html/a00326.html
@@ -1,68 +1,59 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>tbb::queuing_mutex Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="nav">
-<a class="el" href="a00428.html">tbb</a>::<a class="el" href="a00326.html">queuing_mutex</a></div>
-<h1>tbb::queuing_mutex Class Reference<br>
-<small>
-[<a class="el" href="a00444.html">Synchronization</a>]</small>
-</h1><!-- doxytag: class="tbb::queuing_mutex" -->Queuing mutex with local-only spinning.  
-<a href="#_details">More...</a>
-<p>
-<code>#include <queuing_mutex.h></code>
-<p>
-<a href="a00112.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b389ad9c4db7293e4bdb5b8cda69ec04"></a><!-- doxytag: member="tbb::queuing_mutex::queuing_mutex" ref="b389ad9c4db7293e4bdb5b8cda69ec04" args="()" -->
- </td><td class="memItemRight" valign="bottom"><a class="el" href="a00326.html#b389ad9c4db7293e4bdb5b8cda69ec04">queuing_mutex</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Construct unacquired mutex. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="96c1fe92760dcd1c5a7ed52c6599a72f"></a><!-- doxytag: member="tbb::queuing_mutex::internal_construct" ref="96c1fe92760dcd1c5a7ed52c6599a72f" args="()" -->
-void __TBB_EXPORTED_METHOD </td><td class="memItemRight" valign="bottom"><b>internal_construct</b> ()</td></tr>
-
-<tr><td colspan="2"><br><h2>Static Public Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="420932f70ff3b85f7280ff11a133938d"></a><!-- doxytag: member="tbb::queuing_mutex::is_rw_mutex" ref="420932f70ff3b85f7280ff11a133938d" args="" -->
-static const bool </td><td class="memItemRight" valign="bottom"><b>is_rw_mutex</b> = false</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="dc0c749f3a4e6ea75418677cb8f9205f"></a><!-- doxytag: member="tbb::queuing_mutex::is_recursive_mutex" ref="dc0c749f3a4e6ea75418677cb8f9205f" args="" -->
-static const bool </td><td class="memItemRight" valign="bottom"><b>is_recursive_mutex</b> = false</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="55d5339e4ca04b759f90c0c1ef966539"></a><!-- doxytag: member="tbb::queuing_mutex::is_fair_mutex" ref="55d5339e4ca04b759f90c0c1ef966539" args="" -->
-static const bool </td><td class="memItemRight" valign="bottom"><b>is_fair_mutex</b> = true</td></tr>
-
-<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00327.html">scoped_lock</a></td></tr>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>flow</b></li><li class="navelem"><b>interface7</b></li><li class="navelem"><a class="el" href="a00027.html">buffer_node</a></li><li class="navelem"><a class="el" href="a00028.html">buffer_operation</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::flow::interface7::buffer_node< T, A >::buffer_operation Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
 
-<tr><td class="mdescLeft"> </td><td class="mdescRight">The scoped locking pattern.  <a href="a00327.html#_details">More...</a><br></td></tr>
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-Queuing mutex with local-only spinning. 
-<p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li>queuing_mutex.h</ul>
+<p>This is the complete list of members for <a class="el" href="a00028.html">tbb::flow::interface7::buffer_node< T, A >::buffer_operation</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>buffer_operation</b>(const T &e, op_type t) (defined in <a class="el" href="a00028.html">tbb::flow::interface7::buffer_node< T, A >::buffer_operation</a>)</td><td class="entry"><a class="el" href="a00028.html">tbb::flow::interface7::buffer_node< T, A >::buffer_operation</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>buffer_operation</b>(op_type t) (defined in <a class="el" href="a00028.html">tbb::flow::interface7::buffer_node< T, A >::buffer_operation</a>)</td><td class="entry"><a class="el" href="a00028.html">tbb::flow::interface7::buffer_node< T, A >::buffer_operation</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>elem</b> (defined in <a class="el" href="a00028.html">tbb::flow::interface7::buffer_node< T, A >::buffer_operation</a>)</td><td class="entry"><a class="el" href="a00028.html">tbb::flow::interface7::buffer_node< T, A >::buffer_operation</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>ltask</b> (defined in <a class="el" href="a00028.html">tbb::flow::interface7::buffer_node< T, A >::buffer_operation</a>)</td><td class="entry"><a class="el" href="a00028.html">tbb::flow::interface7::buffer_node< T, A >::buffer_operation</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>r</b> (defined in <a class="el" href="a00028.html">tbb::flow::interface7::buffer_node< T, A >::buffer_operation</a>)</td><td class="entry"><a class="el" href="a00028.html">tbb::flow::interface7::buffer_node< T, A >::buffer_operation</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>type</b> (defined in <a class="el" href="a00028.html">tbb::flow::interface7::buffer_node< T, A >::buffer_operation</a>)</td><td class="entry"><a class="el" href="a00028.html">tbb::flow::interface7::buffer_node< T, A >::buffer_operation</a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00327.html b/doc/html/a00327.html
index d6521f6..f43bf8a 100644
--- a/doc/html/a00327.html
+++ b/doc/html/a00327.html
@@ -1,91 +1,115 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>tbb::queuing_mutex::scoped_lock Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="nav">
-<a class="el" href="a00428.html">tbb</a>::<a class="el" href="a00326.html">queuing_mutex</a>::<a class="el" href="a00327.html">scoped_lock</a></div>
-<h1>tbb::queuing_mutex::scoped_lock Class Reference</h1><!-- doxytag: class="tbb::queuing_mutex::scoped_lock" -->The scoped locking pattern.  
-<a href="#_details">More...</a>
-<p>
-<code>#include <queuing_mutex.h></code>
-<p>
-<a href="a00113.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00327.html#db0fa3967491014572e24d6607bdc971">scoped_lock</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Construct lock that has not acquired a mutex.  <a href="#db0fa3967491014572e24d6607bdc971"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9b51ef972f5618ac17caadb58841ab6d"></a><!-- doxytag: member="tbb::queuing_mutex::scoped_lock::scoped_lock" ref="9b51ef972f5618ac17caadb58841ab6d" args="(queuing_mutex &m)" -->
- </td><td class="memItemRight" valign="bottom"><a class="el" href="a00327.html#9b51ef972f5618ac17caadb58841ab6d">scoped_lock</a> (<a class="el" href="a00326.html">queuing_mutex</a> &m)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Acquire lock on given mutex. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ac2c576a93570957d694192a5f491443"></a><!-- doxytag: member="tbb::queuing_mutex::scoped_lock::~scoped_lock" ref="ac2c576a93570957d694192a5f491443" args="()" -->
- </td><td class="memItemRight" valign="bottom"><a class="el" href="a00327.html#ac2c576a93570957d694192a5f491443">~scoped_lock</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Release lock (if lock is held). <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="533e4fc8355ee321206a0609c42d909d"></a><!-- doxytag: member="tbb::queuing_mutex::scoped_lock::acquire" ref="533e4fc8355ee321206a0609c42d909d" args="(queuing_mutex &m)" -->
-void __TBB_EXPORTED_METHOD </td><td class="memItemRight" valign="bottom"><a class="el" href="a00327.html#533e4fc8355ee321206a0609c42d909d">acquire</a> (<a class="el" href="a00326.html">queuing_mutex</a> &m)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Acquire lock on given mutex. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e5a014fb817599386a87170cf2cf51a9"></a><!-- doxytag: member="tbb::queuing_mutex::scoped_lock::try_acquire" ref="e5a014fb817599386a87170cf2cf51a9" args="(queuing_mutex &m)" -->
-bool __TBB_EXPORTED_METHOD </td><td class="memItemRight" valign="bottom"><a class="el" href="a00327.html#e5a014fb817599386a87170cf2cf51a9">try_acquire</a> (<a class="el" href="a00326.html">queuing_mutex</a> &m)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Acquire lock on given mutex if free (i.e. non-blocking). <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3bf2b8c87ff22115be9b2eac179f2d30"></a><!-- doxytag: member="tbb::queuing_mutex::scoped_lock::release" ref="3bf2b8c87ff22115be9b2eac179f2d30" args="()" -->
-void __TBB_EXPORTED_METHOD </td><td class="memItemRight" valign="bottom"><a class="el" href="a00327.html#3bf2b8c87ff22115be9b2eac179f2d30">release</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Release lock. <br></td></tr>
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-The scoped locking pattern. 
-<p>
-It helps to avoid the common problem of forgetting to release lock. It also nicely provides the "node" for queuing locks. 
-<p>
-<hr><h2>Constructor & Destructor Documentation</h2>
-<a class="anchor" name="db0fa3967491014572e24d6607bdc971"></a><!-- doxytag: member="tbb::queuing_mutex::scoped_lock::scoped_lock" ref="db0fa3967491014572e24d6607bdc971" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">tbb::queuing_mutex::scoped_lock::scoped_lock           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td> ) </td>
-          <td width="100%"><code> [inline]</code></td>
-        </tr>
-      </table>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>flow</b></li><li class="navelem"><b>interface7</b></li><li class="navelem"><a class="el" href="a00092.html">queue_node</a></li>  </ul>
 </div>
-<div class="memdoc">
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::flow::interface7::queue_node< T, A > Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
 
-<p>
-Construct lock that has not acquired a mutex. 
-<p>
-Equivalent to zero-initialization of *this. 
-</div>
-</div><p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li>queuing_mutex.h</ul>
+<p>This is the complete list of members for <a class="el" href="a00092.html">tbb::flow::interface7::queue_node< T, A ></a>, including all inherited members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" href="a00027.html#a152f7bb9ab1f033ec56caa451327634c">buffer_node</a>(graph &g)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00027.html#a739635c43d1150f2c8dd3f455d698d36">buffer_node</a>(const buffer_node &src)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>con_res</b> enum value (defined in <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>enqueue_forwarding_task</b>(buffer_operation &op_data) (defined in <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>FAILED</b> enum value (defined in <a class="el" href="a00092.html">tbb::flow::interface7::queue_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00092.html">tbb::flow::interface7::queue_node< T, A ></a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00027.html#a8910a497040a4c6f1a6a1fb7a33a8888">forward_task</a>()</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>forwarder_busy</b> (defined in <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>grab_forwarding_task</b>(buffer_operation &op_data) (defined in <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>graph_node</b>(graph &g) (defined in <a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a>)</td><td class="entry"><a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>handle_operations</b>(buffer_operation *op_list) (defined in <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>input_type</b> typedef (defined in <a class="el" href="a00092.html">tbb::flow::interface7::queue_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00092.html">tbb::flow::interface7::queue_node< T, A ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>internal_consume</b>(queue_operation *op) (defined in <a class="el" href="a00092.html">tbb::flow::interface7::queue_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00092.html">tbb::flow::interface7::queue_node< T, A ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00092.html#a1ab7e37f537acb75175844bd34132b99">internal_forward_task</a>(queue_operation *op)</td><td class="entry"><a class="el" href="a00092.html">tbb::flow::interface7::queue_node< T, A ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>internal_pop</b>(queue_operation *op) (defined in <a class="el" href="a00092.html">tbb::flow::interface7::queue_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00092.html">tbb::flow::interface7::queue_node< T, A ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>internal_push</b>(buffer_operation *op) (defined in <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00027.html#afa2dd93a1b42e77ccf7e1de0fddf3158">internal_reg_succ</a>(buffer_operation *op)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>internal_release</b>(buffer_operation *op) (defined in <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00027.html#a46c7f9cd9130036244d4ea8efd74bf22">internal_rem_succ</a>(buffer_operation *op)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>internal_reserve</b>(queue_operation *op) (defined in <a class="el" href="a00092.html">tbb::flow::interface7::queue_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00092.html">tbb::flow::interface7::queue_node< T, A ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>is_continue_receiver</b>() (defined in <a class="el" href="a00106.html">tbb::flow::interface7::receiver< T ></a>)</td><td class="entry"><a class="el" href="a00106.html">tbb::flow::interface7::receiver< T ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>my_aggregator</b> (defined in <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>my_class</b> typedef (defined in <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>my_graph</b> (defined in <a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a>)</td><td class="entry"><a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>my_handler</b> typedef (defined in <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>my_successors</b> (defined in <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>next</b> (defined in <a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a>)</td><td class="entry"><a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>op_stat</b> enum name (defined in <a class="el" href="a00092.html">tbb::flow::interface7::queue_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00092.html">tbb::flow::interface7::queue_node< T, A ></a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>op_type</b> enum name (defined in <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>output_type</b> typedef (defined in <a class="el" href="a00092.html">tbb::flow::interface7::queue_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00092.html">tbb::flow::interface7::queue_node< T, A ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>predecessor_type</b> typedef (defined in <a class="el" href="a00092.html">tbb::flow::interface7::queue_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00092.html">tbb::flow::interface7::queue_node< T, A ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>prev</b> (defined in <a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a>)</td><td class="entry"><a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>put_item</b> enum value (defined in <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00092.html#a503d3fe4f98302549e36f74633de5716">queue_node</a>(graph &g)</td><td class="entry"><a class="el" href="a00092.html">tbb::flow::interface7::queue_node< T, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00092.html#aa790bb6d3c8bef58d59235dfba1a1092">queue_node</a>(const queue_node &src)</td><td class="entry"><a class="el" href="a00092.html">tbb::flow::interface7::queue_node< T, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>queue_operation</b> typedef (defined in <a class="el" href="a00092.html">tbb::flow::interface7::queue_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00092.html">tbb::flow::interface7::queue_node< T, A ></a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>reg_succ</b> enum value (defined in <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00106.html#a16427aa709505de93ffe0d79136e4251">register_predecessor</a>(predecessor_type &)</td><td class="entry"><a class="el" href="a00106.html">tbb::flow::interface7::receiver< T ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00027.html#ab458d9fa2c7d6f39ec62d4027c9da376">register_successor</a>(receiver< output_type > &r)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>rel_res</b> enum value (defined in <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>rem_succ</b> enum value (defined in <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00106.html#a55adae6228bbdc1539695e1ec20e9762">remove_predecessor</a>(predecessor_type &)</td><td class="entry"><a class="el" href="a00106.html">tbb::flow::interface7::receiver< T ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00027.html#a70d3c1fb1af11deb9b92fa753fa8604c">remove_successor</a>(receiver< output_type > &r)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>req_item</b> enum value (defined in <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>res_item</b> enum value (defined in <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>reset</b>() (defined in <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>reset_receiver</b>() (defined in <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>set_name</b>(const char *name) (defined in <a class="el" href="a00092.html">tbb::flow::interface7::queue_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00092.html">tbb::flow::interface7::queue_node< T, A ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>size_type</b> typedef (defined in <a class="el" href="a00092.html">tbb::flow::interface7::queue_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00092.html">tbb::flow::interface7::queue_node< T, A ></a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>SUCCEEDED</b> enum value (defined in <a class="el" href="a00092.html">tbb::flow::interface7::queue_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00092.html">tbb::flow::interface7::queue_node< T, A ></a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>successor_type</b> typedef (defined in <a class="el" href="a00092.html">tbb::flow::interface7::queue_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00092.html">tbb::flow::interface7::queue_node< T, A ></a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00027.html#a335072bc547c5e9b40f58dfeab525953">try_consume</a>()</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>try_fwd_task</b> enum value (defined in <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00027.html#a175cb77dfbdd0e322097a833a2271c1e">try_get</a>(T &v)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00106.html#aee5067bb4f4b71ffa786c1b33cb9aa6a">try_put</a>(const T &t)</td><td class="entry"><a class="el" href="a00106.html">tbb::flow::interface7::receiver< T ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00027.html#aa4517c0a58649ea5eb140ab4b786e1ec">try_put_task</a>(const T &t)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00027.html#aaa3745fd4705345df16fb33954d93e30">try_release</a>()</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00027.html#a3b12cdebf8cef15b90e3c9cd9e51019f">try_reserve</a>(T &v)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>WAIT</b> enum value (defined in <a class="el" href="a00092.html">tbb::flow::interface7::queue_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00092.html">tbb::flow::interface7::queue_node< T, A ></a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~buffer_node</b>() (defined in <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>~graph_node</b>() (defined in <a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a>)</td><td class="entry"><a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00106.html#a733889a9053478ef2fb2528e2205bf07">~receiver</a>()</td><td class="entry"><a class="el" href="a00106.html">tbb::flow::interface7::receiver< T ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>~sender</b>() (defined in <a class="el" href="a00124.html">tbb::flow::interface7::sender< T ></a>)</td><td class="entry"><a class="el" href="a00124.html">tbb::flow::interface7::sender< T ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+</table></div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00328.html b/doc/html/a00328.html
index 638a1cc..bdb58d6 100644
--- a/doc/html/a00328.html
+++ b/doc/html/a00328.html
@@ -1,74 +1,118 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>tbb::queuing_rw_mutex Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="nav">
-<a class="el" href="a00428.html">tbb</a>::<a class="el" href="a00328.html">queuing_rw_mutex</a></div>
-<h1>tbb::queuing_rw_mutex Class Reference<br>
-<small>
-[<a class="el" href="a00444.html">Synchronization</a>]</small>
-</h1><!-- doxytag: class="tbb::queuing_rw_mutex" -->Queuing reader-writer mutex with local-only spinning.  
-<a href="#_details">More...</a>
-<p>
-<code>#include <queuing_rw_mutex.h></code>
-<p>
-<a href="a00114.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="85c90877c3447690ac4e2ac4ff8dea5e"></a><!-- doxytag: member="tbb::queuing_rw_mutex::queuing_rw_mutex" ref="85c90877c3447690ac4e2ac4ff8dea5e" args="()" -->
- </td><td class="memItemRight" valign="bottom"><a class="el" href="a00328.html#85c90877c3447690ac4e2ac4ff8dea5e">queuing_rw_mutex</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Construct unacquired mutex. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1ba73e3d95cfdf8323880bc623af9099"></a><!-- doxytag: member="tbb::queuing_rw_mutex::~queuing_rw_mutex" ref="1ba73e3d95cfdf8323880bc623af9099" args="()" -->
- </td><td class="memItemRight" valign="bottom"><a class="el" href="a00328.html#1ba73e3d95cfdf8323880bc623af9099">~queuing_rw_mutex</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Destructor asserts if the mutex is acquired, i.e. q_tail is non-NULL. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="eb88522d145ad7bcf5bebfa7d2a6122b"></a><!-- doxytag: member="tbb::queuing_rw_mutex::internal_construct" ref="eb88522d145ad7bcf5bebfa7d2a6122b" args="()" -->
-void __TBB_EXPORTED_METHOD </td><td class="memItemRight" valign="bottom"><b>internal_construct</b> ()</td></tr>
-
-<tr><td colspan="2"><br><h2>Static Public Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0dc1e28d3033e8f9556f5b13b7b57d0f"></a><!-- doxytag: member="tbb::queuing_rw_mutex::is_rw_mutex" ref="0dc1e28d3033e8f9556f5b13b7b57d0f" args="" -->
-static const bool </td><td class="memItemRight" valign="bottom"><b>is_rw_mutex</b> = true</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e6ad08ef251f9ea898bd5f67963869c5"></a><!-- doxytag: member="tbb::queuing_rw_mutex::is_recursive_mutex" ref="e6ad08ef251f9ea898bd5f67963869c5" args="" -->
-static const bool </td><td class="memItemRight" valign="bottom"><b>is_recursive_mutex</b> = false</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="147b34120505e419f6ea8d631ec4375d"></a><!-- doxytag: member="tbb::queuing_rw_mutex::is_fair_mutex" ref="147b34120505e419f6ea8d631ec4375d" args="" -->
-static const bool </td><td class="memItemRight" valign="bottom"><b>is_fair_mutex</b> = true</td></tr>
-
-<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00329.html">scoped_lock</a></td></tr>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>flow</b></li><li class="navelem"><b>interface7</b></li><li class="navelem"><a class="el" href="a00125.html">sequencer_node</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::flow::interface7::sequencer_node< T, A > Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
 
-<tr><td class="mdescLeft"> </td><td class="mdescRight">The scoped locking pattern.  <a href="a00329.html#_details">More...</a><br></td></tr>
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-Queuing reader-writer mutex with local-only spinning. 
-<p>
-Adapted from Krieger, Stumm, et al. pseudocode at <a href="http://www.eecg.toronto.edu/parallel/pubs_abs.html#Krieger_etal_ICPP93">http://www.eecg.toronto.edu/parallel/pubs_abs.html#Krieger_etal_ICPP93</a> 
-<p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li>queuing_rw_mutex.h</ul>
+<p>This is the complete list of members for <a class="el" href="a00125.html">tbb::flow::interface7::sequencer_node< T, A ></a>, including all inherited members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" href="a00027.html#a152f7bb9ab1f033ec56caa451327634c">buffer_node</a>(graph &g)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00027.html#a739635c43d1150f2c8dd3f455d698d36">buffer_node</a>(const buffer_node &src)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>con_res</b> enum value (defined in <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>enqueue_forwarding_task</b>(buffer_operation &op_data) (defined in <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>FAILED</b> enum value (defined in <a class="el" href="a00125.html">tbb::flow::interface7::sequencer_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00125.html">tbb::flow::interface7::sequencer_node< T, A ></a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00027.html#a8910a497040a4c6f1a6a1fb7a33a8888">forward_task</a>()</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>forwarder_busy</b> (defined in <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>grab_forwarding_task</b>(buffer_operation &op_data) (defined in <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>graph_node</b>(graph &g) (defined in <a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a>)</td><td class="entry"><a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>handle_operations</b>(buffer_operation *op_list) (defined in <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>input_type</b> typedef (defined in <a class="el" href="a00125.html">tbb::flow::interface7::sequencer_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00125.html">tbb::flow::interface7::sequencer_node< T, A ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>internal_consume</b>(queue_operation *op) (defined in <a class="el" href="a00092.html">tbb::flow::interface7::queue_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00092.html">tbb::flow::interface7::queue_node< T, A ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00092.html#a1ab7e37f537acb75175844bd34132b99">internal_forward_task</a>(queue_operation *op)</td><td class="entry"><a class="el" href="a00092.html">tbb::flow::interface7::queue_node< T, A ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>internal_pop</b>(queue_operation *op) (defined in <a class="el" href="a00092.html">tbb::flow::interface7::queue_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00092.html">tbb::flow::interface7::queue_node< T, A ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00027.html#afa2dd93a1b42e77ccf7e1de0fddf3158">internal_reg_succ</a>(buffer_operation *op)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>internal_release</b>(buffer_operation *op) (defined in <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00027.html#a46c7f9cd9130036244d4ea8efd74bf22">internal_rem_succ</a>(buffer_operation *op)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>internal_reserve</b>(queue_operation *op) (defined in <a class="el" href="a00092.html">tbb::flow::interface7::queue_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00092.html">tbb::flow::interface7::queue_node< T, A ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>is_continue_receiver</b>() (defined in <a class="el" href="a00106.html">tbb::flow::interface7::receiver< T ></a>)</td><td class="entry"><a class="el" href="a00106.html">tbb::flow::interface7::receiver< T ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>my_aggregator</b> (defined in <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>my_class</b> typedef (defined in <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>my_graph</b> (defined in <a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a>)</td><td class="entry"><a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>my_handler</b> typedef (defined in <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>my_successors</b> (defined in <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>next</b> (defined in <a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a>)</td><td class="entry"><a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>op_stat</b> enum name (defined in <a class="el" href="a00125.html">tbb::flow::interface7::sequencer_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00125.html">tbb::flow::interface7::sequencer_node< T, A ></a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>op_type</b> enum name (defined in <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>output_type</b> typedef (defined in <a class="el" href="a00125.html">tbb::flow::interface7::sequencer_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00125.html">tbb::flow::interface7::sequencer_node< T, A ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>predecessor_type</b> typedef (defined in <a class="el" href="a00125.html">tbb::flow::interface7::sequencer_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00125.html">tbb::flow::interface7::sequencer_node< T, A ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>prev</b> (defined in <a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a>)</td><td class="entry"><a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>put_item</b> enum value (defined in <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00092.html#a503d3fe4f98302549e36f74633de5716">queue_node</a>(graph &g)</td><td class="entry"><a class="el" href="a00092.html">tbb::flow::interface7::queue_node< T, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00092.html#aa790bb6d3c8bef58d59235dfba1a1092">queue_node</a>(const queue_node &src)</td><td class="entry"><a class="el" href="a00092.html">tbb::flow::interface7::queue_node< T, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>queue_operation</b> typedef (defined in <a class="el" href="a00092.html">tbb::flow::interface7::queue_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00092.html">tbb::flow::interface7::queue_node< T, A ></a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>reg_succ</b> enum value (defined in <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00106.html#a16427aa709505de93ffe0d79136e4251">register_predecessor</a>(predecessor_type &)</td><td class="entry"><a class="el" href="a00106.html">tbb::flow::interface7::receiver< T ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00027.html#ab458d9fa2c7d6f39ec62d4027c9da376">register_successor</a>(receiver< output_type > &r)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>rel_res</b> enum value (defined in <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>rem_succ</b> enum value (defined in <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00106.html#a55adae6228bbdc1539695e1ec20e9762">remove_predecessor</a>(predecessor_type &)</td><td class="entry"><a class="el" href="a00106.html">tbb::flow::interface7::receiver< T ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00027.html#a70d3c1fb1af11deb9b92fa753fa8604c">remove_successor</a>(receiver< output_type > &r)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>req_item</b> enum value (defined in <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>res_item</b> enum value (defined in <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>reset</b>() (defined in <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>reset_receiver</b>() (defined in <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00125.html#a0e8d3d486edc7f70c81b36ce9421c11a">sequencer_node</a>(graph &g, const Sequencer &s)</td><td class="entry"><a class="el" href="a00125.html">tbb::flow::interface7::sequencer_node< T, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00125.html#a19cfdaf85098d0fcf0b1956dc913a7a2">sequencer_node</a>(const sequencer_node &src)</td><td class="entry"><a class="el" href="a00125.html">tbb::flow::interface7::sequencer_node< T, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>sequencer_operation</b> typedef (defined in <a class="el" href="a00125.html">tbb::flow::interface7::sequencer_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00125.html">tbb::flow::interface7::sequencer_node< T, A ></a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>set_name</b>(const char *name) (defined in <a class="el" href="a00125.html">tbb::flow::interface7::sequencer_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00125.html">tbb::flow::interface7::sequencer_node< T, A ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>size_type</b> typedef (defined in <a class="el" href="a00125.html">tbb::flow::interface7::sequencer_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00125.html">tbb::flow::interface7::sequencer_node< T, A ></a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>SUCCEEDED</b> enum value (defined in <a class="el" href="a00125.html">tbb::flow::interface7::sequencer_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00125.html">tbb::flow::interface7::sequencer_node< T, A ></a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>successor_type</b> typedef (defined in <a class="el" href="a00125.html">tbb::flow::interface7::sequencer_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00125.html">tbb::flow::interface7::sequencer_node< T, A ></a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00027.html#a335072bc547c5e9b40f58dfeab525953">try_consume</a>()</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>try_fwd_task</b> enum value (defined in <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00027.html#a175cb77dfbdd0e322097a833a2271c1e">try_get</a>(T &v)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00106.html#aee5067bb4f4b71ffa786c1b33cb9aa6a">try_put</a>(const T &t)</td><td class="entry"><a class="el" href="a00106.html">tbb::flow::interface7::receiver< T ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00027.html#aa4517c0a58649ea5eb140ab4b786e1ec">try_put_task</a>(const T &t)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00027.html#aaa3745fd4705345df16fb33954d93e30">try_release</a>()</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00027.html#a3b12cdebf8cef15b90e3c9cd9e51019f">try_reserve</a>(T &v)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>WAIT</b> enum value (defined in <a class="el" href="a00125.html">tbb::flow::interface7::sequencer_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00125.html">tbb::flow::interface7::sequencer_node< T, A ></a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~buffer_node</b>() (defined in <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>~graph_node</b>() (defined in <a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a>)</td><td class="entry"><a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00106.html#a733889a9053478ef2fb2528e2205bf07">~receiver</a>()</td><td class="entry"><a class="el" href="a00106.html">tbb::flow::interface7::receiver< T ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>~sender</b>() (defined in <a class="el" href="a00124.html">tbb::flow::interface7::sender< T ></a>)</td><td class="entry"><a class="el" href="a00124.html">tbb::flow::interface7::sender< T ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00125.html#a01fd0321c7bd0f2112458cec2a636d7d">~sequencer_node</a>()</td><td class="entry"><a class="el" href="a00125.html">tbb::flow::interface7::sequencer_node< T, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+</table></div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00329.html b/doc/html/a00329.html
index a280b47..9fe99a4 100644
--- a/doc/html/a00329.html
+++ b/doc/html/a00329.html
@@ -1,120 +1,117 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>tbb::queuing_rw_mutex::scoped_lock Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="nav">
-<a class="el" href="a00428.html">tbb</a>::<a class="el" href="a00328.html">queuing_rw_mutex</a>::<a class="el" href="a00329.html">scoped_lock</a></div>
-<h1>tbb::queuing_rw_mutex::scoped_lock Class Reference</h1><!-- doxytag: class="tbb::queuing_rw_mutex::scoped_lock" -->The scoped locking pattern.  
-<a href="#_details">More...</a>
-<p>
-<code>#include <queuing_rw_mutex.h></code>
-<p>
-<a href="a00115.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00329.html#c62e365be7bcbba091c9ea7454a4d22c">scoped_lock</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Construct lock that has not acquired a mutex.  <a href="#c62e365be7bcbba091c9ea7454a4d22c"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="fbb8798792d3aebb136c46fc63d2529e"></a><!-- doxytag: member="tbb::queuing_rw_mutex::scoped_lock::scoped_lock" ref="fbb8798792d3aebb136c46fc63d2529e" args="(queuing_rw_mutex &m, bool write=true)" -->
- </td><td class="memItemRight" valign="bottom"><a class="el" href="a00329.html#fbb8798792d3aebb136c46fc63d2529e">scoped_lock</a> (<a class="el" href="a00328.html">queuing_rw_mutex</a> &m, bool write=true)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Acquire lock on given mutex. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="32c7d67a660d23ebbaab1a1d2826d31a"></a><!-- doxytag: member="tbb::queuing_rw_mutex::scoped_lock::~scoped_lock" ref="32c7d67a660d23ebbaab1a1d2826d31a" args="()" -->
- </td><td class="memItemRight" valign="bottom"><a class="el" href="a00329.html#32c7d67a660d23ebbaab1a1d2826d31a">~scoped_lock</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Release lock (if lock is held). <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a8dd5ab8686e76de21587544dbb681e0"></a><!-- doxytag: member="tbb::queuing_rw_mutex::scoped_lock::acquire" ref="a8dd5ab8686e76de21587544dbb681e0" args="(queuing_rw_mutex &m, bool write=true)" -->
-void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00329.html#a8dd5ab8686e76de21587544dbb681e0">acquire</a> (<a class="el" href="a00328.html">queuing_rw_mutex</a> &m, bool write=true)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Acquire lock on given mutex. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2e4ff6c9ec2fee6682f95290d1f42baa"></a><!-- doxytag: member="tbb::queuing_rw_mutex::scoped_lock::try_acquire" ref="2e4ff6c9ec2fee6682f95290d1f42baa" args="(queuing_rw_mutex &m, bool write=true)" -->
-bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00329.html#2e4ff6c9ec2fee6682f95290d1f42baa">try_acquire</a> (<a class="el" href="a00328.html">queuing_rw_mutex</a> &m, bool write=true)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Acquire lock on given mutex if free (i.e. non-blocking). <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="67ae221109ddc69510ab593874e435d4"></a><!-- doxytag: member="tbb::queuing_rw_mutex::scoped_lock::release" ref="67ae221109ddc69510ab593874e435d4" args="()" -->
-void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00329.html#67ae221109ddc69510ab593874e435d4">release</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Release lock. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00329.html#11ba1da4a722c9e6f73339a52c487e82">upgrade_to_writer</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Upgrade reader to become a writer.  <a href="#11ba1da4a722c9e6f73339a52c487e82"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0d2f93edf7b15ec4bcee138823220c52"></a><!-- doxytag: member="tbb::queuing_rw_mutex::scoped_lock::downgrade_to_reader" ref="0d2f93edf7b15ec4bcee138823220c52" args="()" -->
-bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00329.html#0d2f93edf7b15ec4bcee138823220c52">downgrade_to_reader</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Downgrade writer to become a reader. <br></td></tr>
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-The scoped locking pattern. 
-<p>
-It helps to avoid the common problem of forgetting to release lock. It also nicely provides the "node" for queuing locks. 
-<p>
-<hr><h2>Constructor & Destructor Documentation</h2>
-<a class="anchor" name="c62e365be7bcbba091c9ea7454a4d22c"></a><!-- doxytag: member="tbb::queuing_rw_mutex::scoped_lock::scoped_lock" ref="c62e365be7bcbba091c9ea7454a4d22c" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">tbb::queuing_rw_mutex::scoped_lock::scoped_lock           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td> ) </td>
-          <td width="100%"><code> [inline]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Construct lock that has not acquired a mutex. 
-<p>
-Equivalent to zero-initialization of *this. 
-</div>
-</div><p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="11ba1da4a722c9e6f73339a52c487e82"></a><!-- doxytag: member="tbb::queuing_rw_mutex::scoped_lock::upgrade_to_writer" ref="11ba1da4a722c9e6f73339a52c487e82" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool tbb::queuing_rw_mutex::scoped_lock::upgrade_to_writer           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td> ) </td>
-          <td width="100%"></td>
-        </tr>
-      </table>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>flow</b></li><li class="navelem"><b>interface7</b></li><li class="navelem"><a class="el" href="a00091.html">priority_queue_node</a></li>  </ul>
 </div>
-<div class="memdoc">
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::flow::interface7::priority_queue_node< T, Compare, A > Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
 
-<p>
-Upgrade reader to become a writer. 
-<p>
-Returns whether the upgrade happened without releasing and re-acquiring the lock 
-</div>
-</div><p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li>queuing_rw_mutex.h</ul>
+<p>This is the complete list of members for <a class="el" href="a00091.html">tbb::flow::interface7::priority_queue_node< T, Compare, A ></a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>base_type</b> typedef (defined in <a class="el" href="a00091.html">tbb::flow::interface7::priority_queue_node< T, Compare, A ></a>)</td><td class="entry"><a class="el" href="a00091.html">tbb::flow::interface7::priority_queue_node< T, Compare, A ></a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="a00027.html#a152f7bb9ab1f033ec56caa451327634c">buffer_node</a>(graph &g)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00027.html#a739635c43d1150f2c8dd3f455d698d36">buffer_node</a>(const buffer_node &src)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>con_res</b> enum value (defined in <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>enqueue_forwarding_task</b>(buffer_operation &op_data) (defined in <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>FAILED</b> enum value (defined in <a class="el" href="a00091.html">tbb::flow::interface7::priority_queue_node< T, Compare, A ></a>)</td><td class="entry"><a class="el" href="a00091.html">tbb::flow::interface7::priority_queue_node< T, Compare, A ></a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00027.html#a8910a497040a4c6f1a6a1fb7a33a8888">forward_task</a>()</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>forwarder_busy</b> (defined in <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>grab_forwarding_task</b>(buffer_operation &op_data) (defined in <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>graph_node</b>(graph &g) (defined in <a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a>)</td><td class="entry"><a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>handle_operations</b>(prio_operation *op_list) (defined in <a class="el" href="a00091.html">tbb::flow::interface7::priority_queue_node< T, Compare, A ></a>)</td><td class="entry"><a class="el" href="a00091.html">tbb::flow::interface7::priority_queue_node< T, Compare, A ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>input_type</b> typedef (defined in <a class="el" href="a00091.html">tbb::flow::interface7::priority_queue_node< T, Compare, A ></a>)</td><td class="entry"><a class="el" href="a00091.html">tbb::flow::interface7::priority_queue_node< T, Compare, A ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>internal_consume</b>(prio_operation *op) (defined in <a class="el" href="a00091.html">tbb::flow::interface7::priority_queue_node< T, Compare, A ></a>)</td><td class="entry"><a class="el" href="a00091.html">tbb::flow::interface7::priority_queue_node< T, Compare, A ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00091.html#a4e6d43ca8748046098fd27ca97e58f3d">internal_forward_task</a>(prio_operation *op)</td><td class="entry"><a class="el" href="a00091.html">tbb::flow::interface7::priority_queue_node< T, Compare, A ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>internal_pop</b>(prio_operation *op) (defined in <a class="el" href="a00091.html">tbb::flow::interface7::priority_queue_node< T, Compare, A ></a>)</td><td class="entry"><a class="el" href="a00091.html">tbb::flow::interface7::priority_queue_node< T, Compare, A ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>internal_push</b>(prio_operation *op) (defined in <a class="el" href="a00091.html">tbb::flow::interface7::priority_queue_node< T, Compare, A ></a>)</td><td class="entry"><a class="el" href="a00091.html">tbb::flow::interface7::priority_queue_node< T, Compare, A ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00027.html#afa2dd93a1b42e77ccf7e1de0fddf3158">internal_reg_succ</a>(buffer_operation *op)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>internal_release</b>(prio_operation *op) (defined in <a class="el" href="a00091.html">tbb::flow::interface7::priority_queue_node< T, Compare, A ></a>)</td><td class="entry"><a class="el" href="a00091.html">tbb::flow::interface7::priority_queue_node< T, Compare, A ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00027.html#a46c7f9cd9130036244d4ea8efd74bf22">internal_rem_succ</a>(buffer_operation *op)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>internal_reserve</b>(prio_operation *op) (defined in <a class="el" href="a00091.html">tbb::flow::interface7::priority_queue_node< T, Compare, A ></a>)</td><td class="entry"><a class="el" href="a00091.html">tbb::flow::interface7::priority_queue_node< T, Compare, A ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>is_continue_receiver</b>() (defined in <a class="el" href="a00106.html">tbb::flow::interface7::receiver< T ></a>)</td><td class="entry"><a class="el" href="a00106.html">tbb::flow::interface7::receiver< T ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>item_type</b> typedef (defined in <a class="el" href="a00091.html">tbb::flow::interface7::priority_queue_node< T, Compare, A ></a>)</td><td class="entry"><a class="el" href="a00091.html">tbb::flow::interface7::priority_queue_node< T, Compare, A ></a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>my_aggregator</b> (defined in <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>my_class</b> typedef (defined in <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>my_graph</b> (defined in <a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a>)</td><td class="entry"><a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>my_handler</b> typedef (defined in <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>my_successors</b> (defined in <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>next</b> (defined in <a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a>)</td><td class="entry"><a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>op_stat</b> enum name (defined in <a class="el" href="a00091.html">tbb::flow::interface7::priority_queue_node< T, Compare, A ></a>)</td><td class="entry"><a class="el" href="a00091.html">tbb::flow::interface7::priority_queue_node< T, Compare, A ></a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>op_type</b> enum name (defined in <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>output_type</b> typedef (defined in <a class="el" href="a00091.html">tbb::flow::interface7::priority_queue_node< T, Compare, A ></a>)</td><td class="entry"><a class="el" href="a00091.html">tbb::flow::interface7::priority_queue_node< T, Compare, A ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>predecessor_type</b> typedef (defined in <a class="el" href="a00091.html">tbb::flow::interface7::priority_queue_node< T, Compare, A ></a>)</td><td class="entry"><a class="el" href="a00091.html">tbb::flow::interface7::priority_queue_node< T, Compare, A ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>prev</b> (defined in <a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a>)</td><td class="entry"><a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>prio_operation</b> typedef (defined in <a class="el" href="a00091.html">tbb::flow::interface7::priority_queue_node< T, Compare, A ></a>)</td><td class="entry"><a class="el" href="a00091.html">tbb::flow::interface7::priority_queue_node< T, Compare, A ></a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00091.html#ab295c7b50ff804f7276609a25016e7ca">priority_queue_node</a>(graph &g)</td><td class="entry"><a class="el" href="a00091.html">tbb::flow::interface7::priority_queue_node< T, Compare, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00091.html#aa163d8a81b4a795cb37f207b02191a39">priority_queue_node</a>(const priority_queue_node &src)</td><td class="entry"><a class="el" href="a00091.html">tbb::flow::interface7::priority_queue_node< T, Compare, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>put_item</b> enum value (defined in <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>reg_succ</b> enum value (defined in <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00106.html#a16427aa709505de93ffe0d79136e4251">register_predecessor</a>(predecessor_type &)</td><td class="entry"><a class="el" href="a00106.html">tbb::flow::interface7::receiver< T ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00027.html#ab458d9fa2c7d6f39ec62d4027c9da376">register_successor</a>(receiver< output_type > &r)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>rel_res</b> enum value (defined in <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>rem_succ</b> enum value (defined in <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00106.html#a55adae6228bbdc1539695e1ec20e9762">remove_predecessor</a>(predecessor_type &)</td><td class="entry"><a class="el" href="a00106.html">tbb::flow::interface7::receiver< T ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00027.html#a70d3c1fb1af11deb9b92fa753fa8604c">remove_successor</a>(receiver< output_type > &r)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>req_item</b> enum value (defined in <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>res_item</b> enum value (defined in <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>reset</b>() (defined in <a class="el" href="a00091.html">tbb::flow::interface7::priority_queue_node< T, Compare, A ></a>)</td><td class="entry"><a class="el" href="a00091.html">tbb::flow::interface7::priority_queue_node< T, Compare, A ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>reset_receiver</b>() (defined in <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>set_name</b>(const char *name) (defined in <a class="el" href="a00091.html">tbb::flow::interface7::priority_queue_node< T, Compare, A ></a>)</td><td class="entry"><a class="el" href="a00091.html">tbb::flow::interface7::priority_queue_node< T, Compare, A ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>size_type</b> typedef (defined in <a class="el" href="a00091.html">tbb::flow::interface7::priority_queue_node< T, Compare, A ></a>)</td><td class="entry"><a class="el" href="a00091.html">tbb::flow::interface7::priority_queue_node< T, Compare, A ></a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>SUCCEEDED</b> enum value (defined in <a class="el" href="a00091.html">tbb::flow::interface7::priority_queue_node< T, Compare, A ></a>)</td><td class="entry"><a class="el" href="a00091.html">tbb::flow::interface7::priority_queue_node< T, Compare, A ></a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>successor_type</b> typedef (defined in <a class="el" href="a00091.html">tbb::flow::interface7::priority_queue_node< T, Compare, A ></a>)</td><td class="entry"><a class="el" href="a00091.html">tbb::flow::interface7::priority_queue_node< T, Compare, A ></a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00027.html#a335072bc547c5e9b40f58dfeab525953">try_consume</a>()</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>try_fwd_task</b> enum value (defined in <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00027.html#a175cb77dfbdd0e322097a833a2271c1e">try_get</a>(T &v)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00106.html#aee5067bb4f4b71ffa786c1b33cb9aa6a">try_put</a>(const T &t)</td><td class="entry"><a class="el" href="a00106.html">tbb::flow::interface7::receiver< T ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00027.html#aa4517c0a58649ea5eb140ab4b786e1ec">try_put_task</a>(const T &t)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00027.html#aaa3745fd4705345df16fb33954d93e30">try_release</a>()</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00027.html#a3b12cdebf8cef15b90e3c9cd9e51019f">try_reserve</a>(T &v)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>WAIT</b> enum value (defined in <a class="el" href="a00091.html">tbb::flow::interface7::priority_queue_node< T, Compare, A ></a>)</td><td class="entry"><a class="el" href="a00091.html">tbb::flow::interface7::priority_queue_node< T, Compare, A ></a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~buffer_node</b>() (defined in <a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a>)</td><td class="entry"><a class="el" href="a00027.html">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>~graph_node</b>() (defined in <a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a>)</td><td class="entry"><a class="el" href="a00063.html">tbb::flow::interface7::graph_node</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00106.html#a733889a9053478ef2fb2528e2205bf07">~receiver</a>()</td><td class="entry"><a class="el" href="a00106.html">tbb::flow::interface7::receiver< T ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>~sender</b>() (defined in <a class="el" href="a00124.html">tbb::flow::interface7::sender< T ></a>)</td><td class="entry"><a class="el" href="a00124.html">tbb::flow::interface7::sender< T ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+</table></div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00330.html b/doc/html/a00330.html
index 167e46d..4428de1 100644
--- a/doc/html/a00330.html
+++ b/doc/html/a00330.html
@@ -1,218 +1,58 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>tbb::interface5::reader_writer_lock Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="nav">
-<a class="el" href="a00428.html">tbb</a>::<b>interface5</b>::<a class="el" href="a00330.html">reader_writer_lock</a></div>
-<h1>tbb::interface5::reader_writer_lock Class Reference<br>
-<small>
-[<a class="el" href="a00444.html">Synchronization</a>]</small>
-</h1><!-- doxytag: class="tbb::interface5::reader_writer_lock" -->Writer-preference reader-writer lock with local-only spinning on readers.  
-<a href="#_details">More...</a>
-<p>
-<code>#include <reader_writer_lock.h></code>
-<p>
-<a href="a00116.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6f921f0d7c1812ceb5674418c8b6ccaf005142e2b9af377a8d33c6604d858862"></a><!-- doxytag: member="tbb::interface5::reader_writer_lock::waiting_nonblocking" ref="6f921f0d7c1812ceb5674418c8b6ccaf005142e2b9af377a8d33c6604d858862" args="" -->
- </td><td class="memItemRight" valign="bottom"><b>waiting_nonblocking</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6f921f0d7c1812ceb5674418c8b6ccaf18bcc9aae8f056c34fb61bb7fc39b432"></a><!-- doxytag: member="tbb::interface5::reader_writer_lock::waiting" ref="6f921f0d7c1812ceb5674418c8b6ccaf18bcc9aae8f056c34fb61bb7fc39b432" args="" -->
- </td><td class="memItemRight" valign="bottom"><b>waiting</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6f921f0d7c1812ceb5674418c8b6ccaf423c082d5cdc9bb12d0eeadcae56adb5"></a><!-- doxytag: member="tbb::interface5::reader_writer_lock::active" ref="6f921f0d7c1812ceb5674418c8b6ccaf423c082d5cdc9bb12d0eeadcae56adb5" args="" -->
- </td><td class="memItemRight" valign="bottom"><b>active</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6f921f0d7c1812ceb5674418c8b6ccafa9a5b17bdfb0a6d59b3cd58fecbd9610"></a><!-- doxytag: member="tbb::interface5::reader_writer_lock::invalid" ref="6f921f0d7c1812ceb5674418c8b6ccafa9a5b17bdfb0a6d59b3cd58fecbd9610" args="" -->
- </td><td class="memItemRight" valign="bottom"><b>invalid</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00330.html#6f921f0d7c1812ceb5674418c8b6ccaf">status_t</a> { <b>waiting_nonblocking</b>, 
-<b>waiting</b>, 
-<b>active</b>, 
-<b>invalid</b>
- }</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Status type for nodes associated with lock instances.  <a href="a00330.html#6f921f0d7c1812ceb5674418c8b6ccaf">More...</a><br></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c1431c4293e777efd9aab9a95c2a46e1"></a><!-- doxytag: member="tbb::interface5::reader_writer_lock::reader_writer_lock" ref="c1431c4293e777efd9aab9a95c2a46e1" args="()" -->
- </td><td class="memItemRight" valign="bottom"><a class="el" href="a00330.html#c1431c4293e777efd9aab9a95c2a46e1">reader_writer_lock</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Constructs a new <a class="el" href="a00330.html">reader_writer_lock</a>. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5135f64f7b7339017f33d956445edbee"></a><!-- doxytag: member="tbb::interface5::reader_writer_lock::~reader_writer_lock" ref="5135f64f7b7339017f33d956445edbee" args="()" -->
- </td><td class="memItemRight" valign="bottom"><a class="el" href="a00330.html#5135f64f7b7339017f33d956445edbee">~reader_writer_lock</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Destructs a <a class="el" href="a00330.html">reader_writer_lock</a> object. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void __TBB_EXPORTED_METHOD </td><td class="memItemRight" valign="bottom"><a class="el" href="a00330.html#2653d1a2d560059a51219a8ceab3ade9">lock</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Acquires the <a class="el" href="a00330.html">reader_writer_lock</a> for write.  <a href="#2653d1a2d560059a51219a8ceab3ade9"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool __TBB_EXPORTED_METHOD </td><td class="memItemRight" valign="bottom"><a class="el" href="a00330.html#721eb173e154ab38292273e9266a9b07">try_lock</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Tries to acquire the <a class="el" href="a00330.html">reader_writer_lock</a> for write.  <a href="#721eb173e154ab38292273e9266a9b07"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void __TBB_EXPORTED_METHOD </td><td class="memItemRight" valign="bottom"><a class="el" href="a00330.html#d9d16a24d9f6c3dada73c6b9ff214f5b">lock_read</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Acquires the <a class="el" href="a00330.html">reader_writer_lock</a> for read.  <a href="#d9d16a24d9f6c3dada73c6b9ff214f5b"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool __TBB_EXPORTED_METHOD </td><td class="memItemRight" valign="bottom"><a class="el" href="a00330.html#595fb23952e3b89426b1f7938dea9b11">try_lock_read</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Tries to acquire the <a class="el" href="a00330.html">reader_writer_lock</a> for read.  <a href="#595fb23952e3b89426b1f7938dea9b11"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5113b32689305599b2c36b5831547704"></a><!-- doxytag: member="tbb::interface5::reader_writer_lock::unlock" ref="5113b32689305599b2c36b5831547704" args="()" -->
-void __TBB_EXPORTED_METHOD </td><td class="memItemRight" valign="bottom"><a class="el" href="a00330.html#5113b32689305599b2c36b5831547704">unlock</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Releases the <a class="el" href="a00330.html">reader_writer_lock</a>. <br></td></tr>
-<tr><td colspan="2"><br><h2>Friends</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a36f15b770a1bb0b56e33d7fa75ebd1a"></a><!-- doxytag: member="tbb::interface5::reader_writer_lock::scoped_lock" ref="a36f15b770a1bb0b56e33d7fa75ebd1a" args="" -->
-class </td><td class="memItemRight" valign="bottom"><b>scoped_lock</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="680274059774b9188889d34986314f81"></a><!-- doxytag: member="tbb::interface5::reader_writer_lock::scoped_lock_read" ref="680274059774b9188889d34986314f81" args="" -->
-class </td><td class="memItemRight" valign="bottom"><b>scoped_lock_read</b></td></tr>
-
-<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00331.html">scoped_lock</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">The scoped lock pattern for write locks.  <a href="a00331.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00332.html">scoped_lock_read</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">The scoped lock pattern for read locks.  <a href="a00332.html#_details">More...</a><br></td></tr>
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-Writer-preference reader-writer lock with local-only spinning on readers. 
-<p>
-Loosely adapted from Mellor-Crummey and Scott pseudocode at <a href="http://www.cs.rochester.edu/research/synchronization/pseudocode/rw.html#s_wp">http://www.cs.rochester.edu/research/synchronization/pseudocode/rw.html#s_wp</a> 
-<p>
-<hr><h2>Member Enumeration Documentation</h2>
-<a class="anchor" name="6f921f0d7c1812ceb5674418c8b6ccaf"></a><!-- doxytag: member="tbb::interface5::reader_writer_lock::status_t" ref="6f921f0d7c1812ceb5674418c8b6ccaf" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">enum <a class="el" href="a00330.html#6f921f0d7c1812ceb5674418c8b6ccaf">tbb::interface5::reader_writer_lock::status_t</a>          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Status type for nodes associated with lock instances. 
-<p>
-waiting_nonblocking: the wait state for nonblocking lock instances; for writes, these transition straight to active states; for reads, these are unused.<p>
-waiting: the start and spin state for all lock instances; these will transition to active state when appropriate. Non-blocking write locks transition from this state to waiting_nonblocking immediately.<p>
-active: the active state means that the lock instance holds the lock; it will transition to invalid state during node deletion<p>
-invalid: the end state for all nodes; this is set in the destructor so if we encounter this state, we are looking at memory that has already been freed<p>
-The state diagrams below describe the status transitions. Single arrows indicate that the thread that owns the node is responsible for the transition; double arrows indicate that any thread could make the transition.<p>
-State diagram for <a class="el" href="a00331.html">scoped_lock</a> status:<p>
-waiting ----------> waiting_nonblocking | _____________/ | V V V active -----------------> invalid<p>
-State diagram for <a class="el" href="a00332.html">scoped_lock_read</a> status:<p>
-waiting | V active ----------------->invalid 
-</div>
-</div><p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="2653d1a2d560059a51219a8ceab3ade9"></a><!-- doxytag: member="tbb::interface5::reader_writer_lock::lock" ref="2653d1a2d560059a51219a8ceab3ade9" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void __TBB_EXPORTED_METHOD tbb::interface5::reader_writer_lock::lock           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td> ) </td>
-          <td width="100%"></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Acquires the <a class="el" href="a00330.html">reader_writer_lock</a> for write. 
-<p>
-If the lock is currently held in write mode by another context, the writer will block by spinning on a local variable. Exceptions thrown: <a class="el" href="a00302.html">improper_lock</a> The context tries to acquire a <a class="el" href="a00330.html">reader_writer_lock</a> that it already has write ownership of. 
-</div>
-</div><p>
-<a class="anchor" name="d9d16a24d9f6c3dada73c6b9ff214f5b"></a><!-- doxytag: member="tbb::interface5::reader_writer_lock::lock_read" ref="d9d16a24d9f6c3dada73c6b9ff214f5b" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void __TBB_EXPORTED_METHOD tbb::interface5::reader_writer_lock::lock_read           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td> ) </td>
-          <td width="100%"></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Acquires the <a class="el" href="a00330.html">reader_writer_lock</a> for read. 
-<p>
-If the lock is currently held by a writer, this reader will block and wait until the writers are done. Exceptions thrown: <a class="el" href="a00302.html">improper_lock</a> The context tries to acquire a <a class="el" href="a00330.html">reader_writer_lock</a> that it already has write ownership of. 
-</div>
-</div><p>
-<a class="anchor" name="721eb173e154ab38292273e9266a9b07"></a><!-- doxytag: member="tbb::interface5::reader_writer_lock::try_lock" ref="721eb173e154ab38292273e9266a9b07" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool __TBB_EXPORTED_METHOD tbb::interface5::reader_writer_lock::try_lock           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td> ) </td>
-          <td width="100%"></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Tries to acquire the <a class="el" href="a00330.html">reader_writer_lock</a> for write. 
-<p>
-This function does not block. Return Value: True or false, depending on whether the lock is acquired or not. If the lock is already held by this acquiring context, <a class="el" href="a00330.html#721eb173e154ab38292273e9266a9b07">try_lock()</a> returns false. 
-</div>
-</div><p>
-<a class="anchor" name="595fb23952e3b89426b1f7938dea9b11"></a><!-- doxytag: member="tbb::interface5::reader_writer_lock::try_lock_read" ref="595fb23952e3b89426b1f7938dea9b11" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool __TBB_EXPORTED_METHOD tbb::interface5::reader_writer_lock::try_lock_read           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td> ) </td>
-          <td width="100%"></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Tries to acquire the <a class="el" href="a00330.html">reader_writer_lock</a> for read. 
-<p>
-This function does not block. Return Value: True or false, depending on whether the lock is acquired or not. 
-</div>
-</div><p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li>reader_writer_lock.h</ul>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>flow</b></li><li class="navelem"><b>interface7</b></li><li class="navelem"><a class="el" href="a00070.html">join_node< OutputTuple, reserving ></a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::flow::interface7::join_node< OutputTuple, reserving > Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="a00070.html">tbb::flow::interface7::join_node< OutputTuple, reserving ></a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>input_ports_type</b> typedef (defined in <a class="el" href="a00070.html">tbb::flow::interface7::join_node< OutputTuple, reserving ></a>)</td><td class="entry"><a class="el" href="a00070.html">tbb::flow::interface7::join_node< OutputTuple, reserving ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>join_node</b>(graph &g) (defined in <a class="el" href="a00070.html">tbb::flow::interface7::join_node< OutputTuple, reserving ></a>)</td><td class="entry"><a class="el" href="a00070.html">tbb::flow::interface7::join_node< OutputTuple, reserving ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>join_node</b>(const join_node &other) (defined in <a class="el" href="a00070.html">tbb::flow::interface7::join_node< OutputTuple, reserving ></a>)</td><td class="entry"><a class="el" href="a00070.html">tbb::flow::interface7::join_node< OutputTuple, reserving ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>output_type</b> typedef (defined in <a class="el" href="a00070.html">tbb::flow::interface7::join_node< OutputTuple, reserving ></a>)</td><td class="entry"><a class="el" href="a00070.html">tbb::flow::interface7::join_node< OutputTuple, reserving ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>set_name</b>(const char *name) (defined in <a class="el" href="a00070.html">tbb::flow::interface7::join_node< OutputTuple, reserving ></a>)</td><td class="entry"><a class="el" href="a00070.html">tbb::flow::interface7::join_node< OutputTuple, reserving ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+</table></div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00331.html b/doc/html/a00331.html
index 6d1402c..5380b1c 100644
--- a/doc/html/a00331.html
+++ b/doc/html/a00331.html
@@ -1,64 +1,58 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>tbb::interface5::reader_writer_lock::scoped_lock Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="nav">
-<a class="el" href="a00428.html">tbb</a>::<b>interface5</b>::<a class="el" href="a00330.html">reader_writer_lock</a>::<a class="el" href="a00331.html">scoped_lock</a></div>
-<h1>tbb::interface5::reader_writer_lock::scoped_lock Class Reference</h1><!-- doxytag: class="tbb::interface5::reader_writer_lock::scoped_lock" -->The scoped lock pattern for write locks.  
-<a href="#_details">More...</a>
-<p>
-<code>#include <reader_writer_lock.h></code>
-<p>
-<a href="a00117.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="cf19f20e082887c1bb0ba6b0911c3583"></a><!-- doxytag: member="tbb::interface5::reader_writer_lock::scoped_lock::scoped_lock" ref="cf19f20e082887c1bb0ba6b0911c3583" args="(reader_writer_lock &lock)" -->
- </td><td class="memItemRight" valign="bottom"><a class="el" href="a00331.html#cf19f20e082887c1bb0ba6b0911c3583">scoped_lock</a> (<a class="el" href="a00330.html">reader_writer_lock</a> &lock)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Construct with blocking attempt to acquire write lock on the passed-in lock. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="70246e0260493625ff956fa5926fc71f"></a><!-- doxytag: member="tbb::interface5::reader_writer_lock::scoped_lock::~scoped_lock" ref="70246e0260493625ff956fa5926fc71f" args="()" -->
- </td><td class="memItemRight" valign="bottom"><a class="el" href="a00331.html#70246e0260493625ff956fa5926fc71f">~scoped_lock</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Destructor, releases the write lock. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="aea1cb0e88be9874f0f72e52063d0b90"></a><!-- doxytag: member="tbb::interface5::reader_writer_lock::scoped_lock::operator new" ref="aea1cb0e88be9874f0f72e52063d0b90" args="(size_t s)" -->
-void * </td><td class="memItemRight" valign="bottom"><b>operator new</b> (size_t s)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="db804a05fcd37f7e81b94752e45039f7"></a><!-- doxytag: member="tbb::interface5::reader_writer_lock::scoped_lock::operator delete" ref="db804a05fcd37f7e81b94752e45039f7" args="(void *p)" -->
-void </td><td class="memItemRight" valign="bottom"><b>operator delete</b> (void *p)</td></tr>
-
-<tr><td colspan="2"><br><h2>Friends</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="38eb53abbe72543f5967c63aa95b403e"></a><!-- doxytag: member="tbb::interface5::reader_writer_lock::scoped_lock::reader_writer_lock" ref="38eb53abbe72543f5967c63aa95b403e" args="" -->
-class </td><td class="memItemRight" valign="bottom"><b>reader_writer_lock</b></td></tr>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>flow</b></li><li class="navelem"><b>interface7</b></li><li class="navelem"><a class="el" href="a00069.html">join_node< OutputTuple, queueing ></a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::flow::interface7::join_node< OutputTuple, queueing > Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
 
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-The scoped lock pattern for write locks. 
-<p>
-Scoped locks help avoid the common problem of forgetting to release the lock. This type also serves as the node for queuing locks. 
-<p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li>reader_writer_lock.h</ul>
+<p>This is the complete list of members for <a class="el" href="a00069.html">tbb::flow::interface7::join_node< OutputTuple, queueing ></a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>input_ports_type</b> typedef (defined in <a class="el" href="a00069.html">tbb::flow::interface7::join_node< OutputTuple, queueing ></a>)</td><td class="entry"><a class="el" href="a00069.html">tbb::flow::interface7::join_node< OutputTuple, queueing ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>join_node</b>(graph &g) (defined in <a class="el" href="a00069.html">tbb::flow::interface7::join_node< OutputTuple, queueing ></a>)</td><td class="entry"><a class="el" href="a00069.html">tbb::flow::interface7::join_node< OutputTuple, queueing ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>join_node</b>(const join_node &other) (defined in <a class="el" href="a00069.html">tbb::flow::interface7::join_node< OutputTuple, queueing ></a>)</td><td class="entry"><a class="el" href="a00069.html">tbb::flow::interface7::join_node< OutputTuple, queueing ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>output_type</b> typedef (defined in <a class="el" href="a00069.html">tbb::flow::interface7::join_node< OutputTuple, queueing ></a>)</td><td class="entry"><a class="el" href="a00069.html">tbb::flow::interface7::join_node< OutputTuple, queueing ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>set_name</b>(const char *name) (defined in <a class="el" href="a00069.html">tbb::flow::interface7::join_node< OutputTuple, queueing ></a>)</td><td class="entry"><a class="el" href="a00069.html">tbb::flow::interface7::join_node< OutputTuple, queueing ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+</table></div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00332.html b/doc/html/a00332.html
index 58f95c3..9f40d87 100644
--- a/doc/html/a00332.html
+++ b/doc/html/a00332.html
@@ -1,62 +1,66 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>tbb::interface5::reader_writer_lock::scoped_lock_read Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="nav">
-<a class="el" href="a00428.html">tbb</a>::<b>interface5</b>::<a class="el" href="a00330.html">reader_writer_lock</a>::<a class="el" href="a00332.html">scoped_lock_read</a></div>
-<h1>tbb::interface5::reader_writer_lock::scoped_lock_read Class Reference</h1><!-- doxytag: class="tbb::interface5::reader_writer_lock::scoped_lock_read" -->The scoped lock pattern for read locks.  
-<a href="#_details">More...</a>
-<p>
-<code>#include <reader_writer_lock.h></code>
-<p>
-<a href="a00118.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="87ab0dc8f7216e6ba0f7acd6aec33064"></a><!-- doxytag: member="tbb::interface5::reader_writer_lock::scoped_lock_read::scoped_lock_read" ref="87ab0dc8f7216e6ba0f7acd6aec33064" args="(reader_writer_lock &lock)" -->
- </td><td class="memItemRight" valign="bottom"><a class="el" href="a00332.html#87ab0dc8f7216e6ba0f7acd6aec33064">scoped_lock_read</a> (<a class="el" href="a00330.html">reader_writer_lock</a> &lock)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Construct with blocking attempt to acquire read lock on the passed-in lock. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="bd21c5f3d555d64d1de8658e15bf4966"></a><!-- doxytag: member="tbb::interface5::reader_writer_lock::scoped_lock_read::~scoped_lock_read" ref="bd21c5f3d555d64d1de8658e15bf4966" args="()" -->
- </td><td class="memItemRight" valign="bottom"><a class="el" href="a00332.html#bd21c5f3d555d64d1de8658e15bf4966">~scoped_lock_read</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Destructor, releases the read lock. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f09e1817dddf97cc2182a573945eef91"></a><!-- doxytag: member="tbb::interface5::reader_writer_lock::scoped_lock_read::operator new" ref="f09e1817dddf97cc2182a573945eef91" args="(size_t s)" -->
-void * </td><td class="memItemRight" valign="bottom"><b>operator new</b> (size_t s)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4f9e148ec33895c0d2669ff6820cf164"></a><!-- doxytag: member="tbb::interface5::reader_writer_lock::scoped_lock_read::operator delete" ref="4f9e148ec33895c0d2669ff6820cf164" args="(void *p)" -->
-void </td><td class="memItemRight" valign="bottom"><b>operator delete</b> (void *p)</td></tr>
-
-<tr><td colspan="2"><br><h2>Friends</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="38eb53abbe72543f5967c63aa95b403e"></a><!-- doxytag: member="tbb::interface5::reader_writer_lock::scoped_lock_read::reader_writer_lock" ref="38eb53abbe72543f5967c63aa95b403e" args="" -->
-class </td><td class="memItemRight" valign="bottom"><b>reader_writer_lock</b></td></tr>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>flow</b></li><li class="navelem"><b>interface7</b></li><li class="navelem"><a class="el" href="a00071.html">join_node< OutputTuple, tag_matching ></a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::flow::interface7::join_node< OutputTuple, tag_matching > Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
 
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-The scoped lock pattern for read locks. 
-<p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li>reader_writer_lock.h</ul>
+<p>This is the complete list of members for <a class="el" href="a00071.html">tbb::flow::interface7::join_node< OutputTuple, tag_matching ></a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>input_ports_type</b> typedef (defined in <a class="el" href="a00071.html">tbb::flow::interface7::join_node< OutputTuple, tag_matching ></a>)</td><td class="entry"><a class="el" href="a00071.html">tbb::flow::interface7::join_node< OutputTuple, tag_matching ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>join_node</b>(graph &g, __TBB_B0 b0, __TBB_B1 b1) (defined in <a class="el" href="a00071.html">tbb::flow::interface7::join_node< OutputTuple, tag_matching ></a>)</td><td class="entry"><a class="el" href="a00071.html">tbb::flow::interface7::join_node< OutputTuple, tag_matching ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>join_node</b>(graph &g, __TBB_B0 b0, __TBB_B1 b1, __TBB_B2 b2) (defined in <a class="el" href="a00071.html">tbb::flow::interface7::join_node< OutputTuple, tag_matching ></a>)</td><td class="entry"><a class="el" href="a00071.html">tbb::flow::interface7::join_node< OutputTuple, tag_matching ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>join_node</b>(graph &g, __TBB_B0 b0, __TBB_B1 b1, __TBB_B2 b2, __TBB_B3 b3) (defined in <a class="el" href="a00071.html">tbb::flow::interface7::join_node< OutputTuple, tag_matching ></a>)</td><td class="entry"><a class="el" href="a00071.html">tbb::flow::interface7::join_node< OutputTuple, tag_matching ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>join_node</b>(graph &g, __TBB_B0 b0, __TBB_B1 b1, __TBB_B2 b2, __TBB_B3 b3, __TBB_B4 b4) (defined in <a class="el" href="a00071.html">tbb::flow::interface7::join_node< OutputTuple, tag_matching ></a>)</td><td class="entry"><a class="el" href="a00071.html">tbb::flow::interface7::join_node< OutputTuple, tag_matching ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>join_node</b>(graph &g, __TBB_B0 b0, __TBB_B1 b1, __TBB_B2 b2, __TBB_B3 b3, __TBB_B4 b4, __TBB_B5 b5) (defined in <a class="el" href="a00071.html">tbb::flow::interface7::join_node< OutputTuple, tag_matching ></a>)</td><td class="entry"><a class="el" href="a00071.html">tbb::flow::interface7::join_node< OutputTuple, tag_matching ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>join_node</b>(graph &g, __TBB_B0 b0, __TBB_B1 b1, __TBB_B2 b2, __TBB_B3 b3, __TBB_B4 b4, __TBB_B5 b5, __TBB_B6 b6) (defined in <a class="el" href="a00071.html">tbb::flow::interface7::join_node< OutputTuple, tag_matching ></a>)</td><td class="entry"><a class="el" href="a00071.html">tbb::flow::interface7::join_node< OutputTuple, tag_matching ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>join_node</b>(graph &g, __TBB_B0 b0, __TBB_B1 b1, __TBB_B2 b2, __TBB_B3 b3, __TBB_B4 b4, __TBB_B5 b5, __TBB_B6 b6, __TBB_B7 b7) (defined in <a class="el" href="a00071.html">tbb::flow::interface7::join_node< OutputTuple, tag_matching ></a>)</td><td class="entry"><a class="el" href="a00071.html">tbb::flow::interface7::join_node< OutputTuple, tag_matching ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>join_node</b>(graph &g, __TBB_B0 b0, __TBB_B1 b1, __TBB_B2 b2, __TBB_B3 b3, __TBB_B4 b4, __TBB_B5 b5, __TBB_B6 b6, __TBB_B7 b7, __TBB_B8 b8) (defined in <a class="el" href="a00071.html">tbb::flow::interface7::join_node< OutputTuple, tag_matching ></a>)</td><td class="entry"><a class="el" href="a00071.html">tbb::flow::interface7::join_node< OutputTuple, tag_matching ></a></td><td class="entry"><span class="mlabel">i [...]
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>join_node</b>(graph &g, __TBB_B0 b0, __TBB_B1 b1, __TBB_B2 b2, __TBB_B3 b3, __TBB_B4 b4, __TBB_B5 b5, __TBB_B6 b6, __TBB_B7 b7, __TBB_B8 b8, __TBB_B9 b9) (defined in <a class="el" href="a00071.html">tbb::flow::interface7::join_node< OutputTuple, tag_matching ></a>)</td><td class="entry"><a class="el" href="a00071.html">tbb::flow::interface7::join_node< OutputTuple, tag_matching ></a></td><td class="entry"><span class="mlabel">i [...]
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>join_node</b>(const join_node &other) (defined in <a class="el" href="a00071.html">tbb::flow::interface7::join_node< OutputTuple, tag_matching ></a>)</td><td class="entry"><a class="el" href="a00071.html">tbb::flow::interface7::join_node< OutputTuple, tag_matching ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>output_type</b> typedef (defined in <a class="el" href="a00071.html">tbb::flow::interface7::join_node< OutputTuple, tag_matching ></a>)</td><td class="entry"><a class="el" href="a00071.html">tbb::flow::interface7::join_node< OutputTuple, tag_matching ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>set_name</b>(const char *name) (defined in <a class="el" href="a00071.html">tbb::flow::interface7::join_node< OutputTuple, tag_matching ></a>)</td><td class="entry"><a class="el" href="a00071.html">tbb::flow::interface7::join_node< OutputTuple, tag_matching ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+</table></div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00333.html b/doc/html/a00333.html
index 5addd94..4227a28 100644
--- a/doc/html/a00333.html
+++ b/doc/html/a00333.html
@@ -1,111 +1,58 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>tbb::flow::interface6::receiver< T > Class Template Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="nav">
-<a class="el" href="a00428.html">tbb</a>::<b>flow</b>::<b>interface6</b>::<a class="el" href="a00333.html">receiver</a></div>
-<h1>tbb::flow::interface6::receiver< T > Class Template Reference</h1><!-- doxytag: class="tbb::flow::interface6::receiver" -->Pure virtual template class that defines a receiver of messages of type T.  
-<a href="#_details">More...</a>
-<p>
-<code>#include <flow_graph.h></code>
-<p>
-<p>Inheritance diagram for tbb::flow::interface6::receiver< T >:
-<p><center><img src="a00333.png" usemap="#tbb::flow::interface6::receiver< T >_map" border="0" alt=""></center>
-<map name="tbb::flow::interface6::receiver< T >_map">
-<area href="a00274.html" alt="tbb::flow::interface6::broadcast_node< T >" shape="rect" coords="0,56,352,80">
-<area href="a00275.html" alt="tbb::flow::interface6::buffer_node< T, A >" shape="rect" coords="362,56,714,80">
-<area href="a00291.html" alt="tbb::flow::interface6::continue_receiver" shape="rect" coords="724,56,1076,80">
-<area href="a00304.html" alt="tbb::flow::interface6::limiter_node< T >" shape="rect" coords="1086,56,1438,80">
-<area href="a00324.html" alt="tbb::flow::interface6::priority_queue_node< T, Compare, A >" shape="rect" coords="181,112,533,136">
-<area href="a00325.html" alt="tbb::flow::interface6::queue_node< T, A >" shape="rect" coords="543,112,895,136">
-<area href="a00340.html" alt="tbb::flow::interface6::sequencer_node< T, A >" shape="rect" coords="543,168,895,192">
-</map>
-<a href="a00056.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0d0524c99313dedea1e04464bbf2f7ef"></a><!-- doxytag: member="tbb::flow::interface6::receiver::input_type" ref="0d0524c99313dedea1e04464bbf2f7ef" args="" -->
-typedef T </td><td class="memItemRight" valign="bottom"><a class="el" href="a00333.html#0d0524c99313dedea1e04464bbf2f7ef">input_type</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">The input type of this receiver. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7fa8cff811e7c1589b805a4bb4c7a74f"></a><!-- doxytag: member="tbb::flow::interface6::receiver::predecessor_type" ref="7fa8cff811e7c1589b805a4bb4c7a74f" args="" -->
-typedef <a class="el" href="a00339.html">sender</a>< T > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00333.html#7fa8cff811e7c1589b805a4bb4c7a74f">predecessor_type</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">The predecessor type for this node. <br></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b00699b235435f7b65b663d5063624a1"></a><!-- doxytag: member="tbb::flow::interface6::receiver::~receiver" ref="b00699b235435f7b65b663d5063624a1" args="()" -->
-virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="a00333.html#b00699b235435f7b65b663d5063624a1">~receiver</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Destructor. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e1adb4060a7cbac837cd24da57c5a846"></a><!-- doxytag: member="tbb::flow::interface6::receiver::try_put" ref="e1adb4060a7cbac837cd24da57c5a846" args="(const T &t)" -->
-bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00333.html#e1adb4060a7cbac837cd24da57c5a846">try_put</a> (const T &t)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Put an item to the receiver. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="30e3316466efe3a713c23062b6e806f3"></a><!-- doxytag: member="tbb::flow::interface6::receiver::register_predecessor" ref="30e3316466efe3a713c23062b6e806f3" args="(predecessor_type &)" -->
-virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00333.html#30e3316466efe3a713c23062b6e806f3">register_predecessor</a> (<a class="el" href="a00339.html">predecessor_type</a> &)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Add a predecessor to the node. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3bc76547b51d3c9b633e3987d22dce95"></a><!-- doxytag: member="tbb::flow::interface6::receiver::remove_predecessor" ref="3bc76547b51d3c9b633e3987d22dce95" args="(predecessor_type &)" -->
-virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00333.html#3bc76547b51d3c9b633e3987d22dce95">remove_predecessor</a> (<a class="el" href="a00339.html">predecessor_type</a> &)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Remove a predecessor from the node. <br></td></tr>
-<tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="28e9ec451c4b915033fded40126797eb"></a><!-- doxytag: member="tbb::flow::interface6::receiver::try_put_task" ref="28e9ec451c4b915033fded40126797eb" args="(const T &t)=0" -->
-virtual <a class="el" href="a00349.html">task</a> * </td><td class="memItemRight" valign="bottom"><b>try_put_task</b> (const T &t)=0</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3cbe1d85d9ea0506925cbc1297596d20"></a><!-- doxytag: member="tbb::flow::interface6::receiver::reset_receiver" ref="3cbe1d85d9ea0506925cbc1297596d20" args="()=0" -->
-virtual void </td><td class="memItemRight" valign="bottom"><b>reset_receiver</b> ()=0</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5ac37d666be3d45d60a8509569d1607a"></a><!-- doxytag: member="tbb::flow::interface6::receiver::is_continue_receiver" ref="5ac37d666be3d45d60a8509569d1607a" args="()" -->
-virtual bool </td><td class="memItemRight" valign="bottom"><b>is_continue_receiver</b> ()</td></tr>
-
-<tr><td colspan="2"><br><h2>Friends</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="621bab40a858d214db69ef08d88b67c1"></a><!-- doxytag: member="tbb::flow::interface6::receiver::run_and_put_task" ref="621bab40a858d214db69ef08d88b67c1" args="" -->
-class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00333.html#621bab40a858d214db69ef08d88b67c1">run_and_put_task</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">put item to successor; return task to run the successor if possible. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e4fa30d87bc0bfa80942f97a8d58f1bd"></a><!-- doxytag: member="tbb::flow::interface6::receiver::internal::broadcast_cache" ref="e4fa30d87bc0bfa80942f97a8d58f1bd" args="" -->
-class </td><td class="memItemRight" valign="bottom"><b>internal::broadcast_cache</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="31ba00ea3e3e5a421b38840bd0dc2589"></a><!-- doxytag: member="tbb::flow::interface6::receiver::internal::round_robin_cache" ref="31ba00ea3e3e5a421b38840bd0dc2589" args="" -->
-class </td><td class="memItemRight" valign="bottom"><b>internal::round_robin_cache</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3b6d13039c2a8c1e369e5790895b0088"></a><!-- doxytag: member="tbb::flow::interface6::receiver::limiter_node" ref="3b6d13039c2a8c1e369e5790895b0088" args="" -->
-class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00333.html#3b6d13039c2a8c1e369e5790895b0088">limiter_node</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">put receiver back in initial state <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7e5acd3345f7903a0265a1ef9f3b66bc"></a><!-- doxytag: member="tbb::flow::interface6::receiver::internal::successor_cache" ref="7e5acd3345f7903a0265a1ef9f3b66bc" args="" -->
-class </td><td class="memItemRight" valign="bottom"><b>internal::successor_cache</b></td></tr>
-
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-<h3>template<typename T><br>
- class tbb::flow::interface6::receiver< T ></h3>
-
-Pure virtual template class that defines a receiver of messages of type T. 
-<p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li><a class="el" href="a00385.html">flow_graph.h</a></ul>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>flow</b></li><li class="navelem"><b>interface7</b></li><li class="navelem"><a class="el" href="a00085.html">or_node</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::flow::interface7::or_node< InputTuple > Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="a00085.html">tbb::flow::interface7::or_node< InputTuple ></a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>or_node</b>(graph &g) (defined in <a class="el" href="a00085.html">tbb::flow::interface7::or_node< InputTuple ></a>)</td><td class="entry"><a class="el" href="a00085.html">tbb::flow::interface7::or_node< InputTuple ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>or_node</b>(const or_node &other) (defined in <a class="el" href="a00085.html">tbb::flow::interface7::or_node< InputTuple ></a>)</td><td class="entry"><a class="el" href="a00085.html">tbb::flow::interface7::or_node< InputTuple ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>output_type</b> typedef (defined in <a class="el" href="a00085.html">tbb::flow::interface7::or_node< InputTuple ></a>)</td><td class="entry"><a class="el" href="a00085.html">tbb::flow::interface7::or_node< InputTuple ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>set_name</b>(const char *name) (defined in <a class="el" href="a00085.html">tbb::flow::interface7::or_node< InputTuple ></a>)</td><td class="entry"><a class="el" href="a00085.html">tbb::flow::interface7::or_node< InputTuple ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>unfolded_type</b> typedef (defined in <a class="el" href="a00085.html">tbb::flow::interface7::or_node< InputTuple ></a>)</td><td class="entry"><a class="el" href="a00085.html">tbb::flow::interface7::or_node< InputTuple ></a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00333.png b/doc/html/a00333.png
deleted file mode 100644
index 73ffc73..0000000
Binary files a/doc/html/a00333.png and /dev/null differ
diff --git a/doc/html/a00334.html b/doc/html/a00334.html
index c0ca259..2015a6c 100644
--- a/doc/html/a00334.html
+++ b/doc/html/a00334.html
@@ -1,115 +1,118 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>tbb::recursive_mutex Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="nav">
-<a class="el" href="a00428.html">tbb</a>::<a class="el" href="a00334.html">recursive_mutex</a></div>
-<h1>tbb::recursive_mutex Class Reference<br>
-<small>
-[<a class="el" href="a00444.html">Synchronization</a>]</small>
-</h1><!-- doxytag: class="tbb::recursive_mutex" -->Mutex that allows recursive mutex acquisition.  
-<a href="#_details">More...</a>
-<p>
-<code>#include <recursive_mutex.h></code>
-<p>
-<a href="a00119.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="889fa8cc32dd707eef7c0f52dda09c0d"></a><!-- doxytag: member="tbb::recursive_mutex::native_handle_type" ref="889fa8cc32dd707eef7c0f52dda09c0d" args="" -->
-typedef LPCRITICAL_SECTION </td><td class="memItemRight" valign="bottom"><a class="el" href="a00334.html#889fa8cc32dd707eef7c0f52dda09c0d">native_handle_type</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Return native_handle. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="26a40fae42bf6cd9f3f77ee7482d6164"></a><!-- doxytag: member="tbb::recursive_mutex::native_handle_type" ref="26a40fae42bf6cd9f3f77ee7482d6164" args="" -->
-typedef pthread_mutex_t * </td><td class="memItemRight" valign="bottom"><b>native_handle_type</b></td></tr>
-
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d2fceb7f95c24a8cd1457d4527e4b8c6"></a><!-- doxytag: member="tbb::recursive_mutex::recursive_mutex" ref="d2fceb7f95c24a8cd1457d4527e4b8c6" args="()" -->
- </td><td class="memItemRight" valign="bottom"><a class="el" href="a00334.html#d2fceb7f95c24a8cd1457d4527e4b8c6">recursive_mutex</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Construct unacquired <a class="el" href="a00334.html">recursive_mutex</a>. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4c342c69d47f4bb0b393535dee4015d6"></a><!-- doxytag: member="tbb::recursive_mutex::lock" ref="4c342c69d47f4bb0b393535dee4015d6" args="()" -->
-void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00334.html#4c342c69d47f4bb0b393535dee4015d6">lock</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Acquire lock. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00334.html#86e719b0afee25704af11ab97694d240">try_lock</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Try acquiring lock (non-blocking).  <a href="#86e719b0afee25704af11ab97694d240"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f0a96e26b7f074588dc31e32524856ae"></a><!-- doxytag: member="tbb::recursive_mutex::unlock" ref="f0a96e26b7f074588dc31e32524856ae" args="()" -->
-void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00334.html#f0a96e26b7f074588dc31e32524856ae">unlock</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Release lock. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6baa9ce4b394c39622456fd8a68f8bd8"></a><!-- doxytag: member="tbb::recursive_mutex::native_handle" ref="6baa9ce4b394c39622456fd8a68f8bd8" args="()" -->
-<a class="el" href="a00334.html#889fa8cc32dd707eef7c0f52dda09c0d">native_handle_type</a> </td><td class="memItemRight" valign="bottom"><b>native_handle</b> ()</td></tr>
-
-<tr><td colspan="2"><br><h2>Static Public Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="718cc53f6b33d8c396ccca0e4ebc5606"></a><!-- doxytag: member="tbb::recursive_mutex::is_rw_mutex" ref="718cc53f6b33d8c396ccca0e4ebc5606" args="" -->
-static const bool </td><td class="memItemRight" valign="bottom"><b>is_rw_mutex</b> = false</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f6149d7541063d8b35afd98df6f0f89d"></a><!-- doxytag: member="tbb::recursive_mutex::is_recursive_mutex" ref="f6149d7541063d8b35afd98df6f0f89d" args="" -->
-static const bool </td><td class="memItemRight" valign="bottom"><b>is_recursive_mutex</b> = true</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f01aacad6b9b9d51573c0803323182fe"></a><!-- doxytag: member="tbb::recursive_mutex::is_fair_mutex" ref="f01aacad6b9b9d51573c0803323182fe" args="" -->
-static const bool </td><td class="memItemRight" valign="bottom"><b>is_fair_mutex</b> = false</td></tr>
-
-<tr><td colspan="2"><br><h2>Friends</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a36f15b770a1bb0b56e33d7fa75ebd1a"></a><!-- doxytag: member="tbb::recursive_mutex::scoped_lock" ref="a36f15b770a1bb0b56e33d7fa75ebd1a" args="" -->
-class </td><td class="memItemRight" valign="bottom"><b>scoped_lock</b></td></tr>
-
-<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00335.html">scoped_lock</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">The scoped locking pattern.  <a href="a00335.html#_details">More...</a><br></td></tr>
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-Mutex that allows recursive mutex acquisition. 
-<p>
-Mutex that allows recursive mutex acquisition. 
-<p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="86e719b0afee25704af11ab97694d240"></a><!-- doxytag: member="tbb::recursive_mutex::try_lock" ref="86e719b0afee25704af11ab97694d240" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool tbb::recursive_mutex::try_lock           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td> ) </td>
-          <td width="100%"><code> [inline]</code></td>
-        </tr>
-      </table>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>interface5</b></li><li class="navelem"><a class="el" href="a00035.html">concurrent_hash_map</a></li>  </ul>
 </div>
-<div class="memdoc">
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A > Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
 
-<p>
-Try acquiring lock (non-blocking). 
-<p>
-Return true if lock acquired; false otherwise. 
-</div>
-</div><p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li>recursive_mutex.h</ul>
+<p>This is the complete list of members for <a class="el" href="a00035.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>allocator_type</b> typedef (defined in <a class="el" href="a00035.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a>)</td><td class="entry"><a class="el" href="a00035.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>begin</b>() (defined in <a class="el" href="a00035.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a>)</td><td class="entry"><a class="el" href="a00035.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>begin</b>() const  (defined in <a class="el" href="a00035.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a>)</td><td class="entry"><a class="el" href="a00035.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00035.html#aa067a2a4db1d96f38555369a89deee64">bucket_count</a>() const </td><td class="entry"><a class="el" href="a00035.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00035.html#ab8295bc260b5e4df883fef11574b84c6">clear</a>()</td><td class="entry"><a class="el" href="a00035.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="a00035.html#aa3a9767b525144a2afb69ed125714c53">concurrent_hash_map</a>(const allocator_type &a=allocator_type())</td><td class="entry"><a class="el" href="a00035.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00035.html#aae76e1252b56b107685f8746e0f6a1f4">concurrent_hash_map</a>(size_type n, const allocator_type &a=allocator_type())</td><td class="entry"><a class="el" href="a00035.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00035.html#a8a73b86f9a5e9836b38713e56c546654">concurrent_hash_map</a>(const concurrent_hash_map &table, const allocator_type &a=allocator_type())</td><td class="entry"><a class="el" href="a00035.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00035.html#ad56fc19d656099d49051f3c363cefc89">concurrent_hash_map</a>(I first, I last, const allocator_type &a=allocator_type())</td><td class="entry"><a class="el" href="a00035.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00035.html#a1b9c93b6e5f3d7b52289846ecf9701d2">concurrent_hash_map</a>(const std::initializer_list< value_type > &il, const allocator_type &a=allocator_type())</td><td class="entry"><a class="el" href="a00035.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>const_accessor</b> (defined in <a class="el" href="a00035.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a>)</td><td class="entry"><a class="el" href="a00035.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>const_iterator</b> typedef (defined in <a class="el" href="a00035.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a>)</td><td class="entry"><a class="el" href="a00035.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>const_pointer</b> typedef (defined in <a class="el" href="a00035.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a>)</td><td class="entry"><a class="el" href="a00035.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>const_range_type</b> typedef (defined in <a class="el" href="a00035.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a>)</td><td class="entry"><a class="el" href="a00035.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>const_reference</b> typedef (defined in <a class="el" href="a00035.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a>)</td><td class="entry"><a class="el" href="a00035.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="a00035.html#ac375d3884bf9c80efe56117757c822e7">count</a>(const Key &key) const </td><td class="entry"><a class="el" href="a00035.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>delete_node</b>(node_base *n) (defined in <a class="el" href="a00035.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a>)</td><td class="entry"><a class="el" href="a00035.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>difference_type</b> typedef (defined in <a class="el" href="a00035.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a>)</td><td class="entry"><a class="el" href="a00035.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00035.html#a5e05f2a1ca3accfb4252d7ee82d1e990">empty</a>() const </td><td class="entry"><a class="el" href="a00035.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>end</b>() (defined in <a class="el" href="a00035.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a>)</td><td class="entry"><a class="el" href="a00035.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>end</b>() const  (defined in <a class="el" href="a00035.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a>)</td><td class="entry"><a class="el" href="a00035.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>equal_range</b>(const Key &key) (defined in <a class="el" href="a00035.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a>)</td><td class="entry"><a class="el" href="a00035.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>equal_range</b>(const Key &key) const  (defined in <a class="el" href="a00035.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a>)</td><td class="entry"><a class="el" href="a00035.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00035.html#a5144122dbb946d933b94a92117543b33">erase</a>(const Key &key)</td><td class="entry"><a class="el" href="a00035.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00035.html#a2ec6f95ed9beda9d32df56cdd45c1842">erase</a>(const_accessor &item_accessor)</td><td class="entry"><a class="el" href="a00035.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00035.html#a3ed0fbcc6cfd4db8242e100355ac1fa5">erase</a>(accessor &item_accessor)</td><td class="entry"><a class="el" href="a00035.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00035.html#a6fec452b31b8f0e185dc2de64b7128b2">exclude</a>(const_accessor &item_accessor)</td><td class="entry"><a class="el" href="a00035.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00035.html#a27a3f296dc170ae25f8e3fd9efa93cff">find</a>(const_accessor &result, const Key &key) const </td><td class="entry"><a class="el" href="a00035.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00035.html#a6b61799e2018381b5ee4b78752a41483">find</a>(accessor &result, const Key &key)</td><td class="entry"><a class="el" href="a00035.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00035.html#a121865c574f8ae5cae69ed3d6b7e0511">get_allocator</a>() const </td><td class="entry"><a class="el" href="a00035.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00035.html#aaebb10a9e9dcb24e63860caa745a281d">insert</a>(const_accessor &result, const Key &key)</td><td class="entry"><a class="el" href="a00035.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00035.html#a766c6033c203e8f342501d85a7cf3405">insert</a>(accessor &result, const Key &key)</td><td class="entry"><a class="el" href="a00035.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00035.html#ae0b420cdb752e749790c8a7daa15c3c2">insert</a>(const_accessor &result, const value_type &value)</td><td class="entry"><a class="el" href="a00035.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00035.html#a2047214e041b7674c3b83e204d0d6c6a">insert</a>(accessor &result, const value_type &value)</td><td class="entry"><a class="el" href="a00035.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00035.html#a8e39501f9edb3210504c9c4ca05384b7">insert</a>(const value_type &value)</td><td class="entry"><a class="el" href="a00035.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00035.html#ab84dfd77316252cbf39c7ae89e365a00">insert</a>(I first, I last)</td><td class="entry"><a class="el" href="a00035.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>internal::hash_map_iterator</b> (defined in <a class="el" href="a00035.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a>)</td><td class="entry"><a class="el" href="a00035.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>internal::hash_map_range</b> (defined in <a class="el" href="a00035.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a>)</td><td class="entry"><a class="el" href="a00035.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00035.html#a0bc3593f82b3b4f9839fc051780212ab">internal_copy</a>(const concurrent_hash_map &source)</td><td class="entry"><a class="el" href="a00035.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>internal_copy</b>(I first, I last) (defined in <a class="el" href="a00035.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a>)</td><td class="entry"><a class="el" href="a00035.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00035.html#a8603f5288db63ec35a16844427e97e42">internal_equal_range</a>(const Key &key, I end) const </td><td class="entry"><a class="el" href="a00035.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00035.html#acbb5b18c097fb32f264b7b5fe8d9fdd4">internal_fast_find</a>(const Key &key) const </td><td class="entry"><a class="el" href="a00035.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>iterator</b> typedef (defined in <a class="el" href="a00035.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a>)</td><td class="entry"><a class="el" href="a00035.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>key_type</b> typedef (defined in <a class="el" href="a00035.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a>)</td><td class="entry"><a class="el" href="a00035.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00035.html#a0435730c6b9dbbe2937fb38b9403147c">lookup</a>(bool op_insert, const Key &key, const T *t, const_accessor *result, bool write)</td><td class="entry"><a class="el" href="a00035.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>mapped_type</b> typedef (defined in <a class="el" href="a00035.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a>)</td><td class="entry"><a class="el" href="a00035.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00035.html#aea0a0e5220a0dcb67da57d0280d36005">max_size</a>() const </td><td class="entry"><a class="el" href="a00035.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>my_allocator</b> (defined in <a class="el" href="a00035.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a>)</td><td class="entry"><a class="el" href="a00035.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>my_hash_compare</b> (defined in <a class="el" href="a00035.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a>)</td><td class="entry"><a class="el" href="a00035.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>node_allocator_type</b> typedef (defined in <a class="el" href="a00035.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a>)</td><td class="entry"><a class="el" href="a00035.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00035.html#a63e01b1f79c287ae0257ccfd483fd90a">operator=</a>(const concurrent_hash_map &table)</td><td class="entry"><a class="el" href="a00035.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00035.html#a49e4e3979b46669a4712e7d3208e75f2">operator=</a>(const std::initializer_list< value_type > &il)</td><td class="entry"><a class="el" href="a00035.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>pointer</b> typedef (defined in <a class="el" href="a00035.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a>)</td><td class="entry"><a class="el" href="a00035.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>range</b>(size_type grainsize=1) (defined in <a class="el" href="a00035.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a>)</td><td class="entry"><a class="el" href="a00035.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>range</b>(size_type grainsize=1) const  (defined in <a class="el" href="a00035.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a>)</td><td class="entry"><a class="el" href="a00035.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>range_type</b> typedef (defined in <a class="el" href="a00035.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a>)</td><td class="entry"><a class="el" href="a00035.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>reference</b> typedef (defined in <a class="el" href="a00035.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a>)</td><td class="entry"><a class="el" href="a00035.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="a00035.html#adf1fa9470c605731063e5949f0418eb7">rehash</a>(size_type n=0)</td><td class="entry"><a class="el" href="a00035.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>rehash_bucket</b>(bucket *b_new, const hashcode_t h) (defined in <a class="el" href="a00035.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a>)</td><td class="entry"><a class="el" href="a00035.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>search_bucket</b>(const key_type &key, bucket *b) const  (defined in <a class="el" href="a00035.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a>)</td><td class="entry"><a class="el" href="a00035.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00035.html#ad2ce6da7cd62bc7425f0a29498332ab4">size</a>() const </td><td class="entry"><a class="el" href="a00035.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>size_type</b> typedef (defined in <a class="el" href="a00035.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a>)</td><td class="entry"><a class="el" href="a00035.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00035.html#a4c8edf603bc776a6c84c007702c1808e">swap</a>(concurrent_hash_map &table)</td><td class="entry"><a class="el" href="a00035.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>value_type</b> typedef (defined in <a class="el" href="a00035.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a>)</td><td class="entry"><a class="el" href="a00035.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00035.html#a9ce9ab8c954bf6979c2c57d10fd8a8ed">~concurrent_hash_map</a>()</td><td class="entry"><a class="el" href="a00035.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+</table></div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00335.html b/doc/html/a00335.html
index 309ba39..d83241a 100644
--- a/doc/html/a00335.html
+++ b/doc/html/a00335.html
@@ -1,74 +1,63 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>tbb::recursive_mutex::scoped_lock Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="nav">
-<a class="el" href="a00428.html">tbb</a>::<a class="el" href="a00334.html">recursive_mutex</a>::<a class="el" href="a00335.html">scoped_lock</a></div>
-<h1>tbb::recursive_mutex::scoped_lock Class Reference</h1><!-- doxytag: class="tbb::recursive_mutex::scoped_lock" -->The scoped locking pattern.  
-<a href="#_details">More...</a>
-<p>
-<code>#include <recursive_mutex.h></code>
-<p>
-<a href="a00120.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d82d4d36fbf9727a493d26ae50855fe7"></a><!-- doxytag: member="tbb::recursive_mutex::scoped_lock::scoped_lock" ref="d82d4d36fbf9727a493d26ae50855fe7" args="()" -->
- </td><td class="memItemRight" valign="bottom"><a class="el" href="a00335.html#d82d4d36fbf9727a493d26ae50855fe7">scoped_lock</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Construct lock that has not acquired a <a class="el" href="a00334.html">recursive_mutex</a>. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="dec17713c4c1321ac8fec66816d0c602"></a><!-- doxytag: member="tbb::recursive_mutex::scoped_lock::scoped_lock" ref="dec17713c4c1321ac8fec66816d0c602" args="(recursive_mutex &mutex)" -->
- </td><td class="memItemRight" valign="bottom"><a class="el" href="a00335.html#dec17713c4c1321ac8fec66816d0c602">scoped_lock</a> (<a class="el" href="a00334.html">recursive_mutex</a> &<a class="el" href="a00313.html">mutex</a>)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Acquire lock on given mutex. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c1197ffb8f3cd9d4fed71d7e06265b7c"></a><!-- doxytag: member="tbb::recursive_mutex::scoped_lock::~scoped_lock" ref="c1197ffb8f3cd9d4fed71d7e06265b7c" args="()" -->
- </td><td class="memItemRight" valign="bottom"><a class="el" href="a00335.html#c1197ffb8f3cd9d4fed71d7e06265b7c">~scoped_lock</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Release lock (if lock is held). <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7fb04da37cccf8c99b1f9102d9074f9a"></a><!-- doxytag: member="tbb::recursive_mutex::scoped_lock::acquire" ref="7fb04da37cccf8c99b1f9102d9074f9a" args="(recursive_mutex &mutex)" -->
-void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00335.html#7fb04da37cccf8c99b1f9102d9074f9a">acquire</a> (<a class="el" href="a00334.html">recursive_mutex</a> &<a class="el" href="a00313.html">mutex</a>)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Acquire lock on given mutex. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="36bfc3e93e3ef6340abef4901444d340"></a><!-- doxytag: member="tbb::recursive_mutex::scoped_lock::try_acquire" ref="36bfc3e93e3ef6340abef4901444d340" args="(recursive_mutex &mutex)" -->
-bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00335.html#36bfc3e93e3ef6340abef4901444d340">try_acquire</a> (<a class="el" href="a00334.html">recursive_mutex</a> &<a class="el" href="a00313.html">mutex</a>)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Try acquire lock on given <a class="el" href="a00334.html">recursive_mutex</a>. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ac480ea0e9d5ea0345a67d57008b6263"></a><!-- doxytag: member="tbb::recursive_mutex::scoped_lock::release" ref="ac480ea0e9d5ea0345a67d57008b6263" args="()" -->
-void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00335.html#ac480ea0e9d5ea0345a67d57008b6263">release</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Release lock. <br></td></tr>
-<tr><td colspan="2"><br><h2>Friends</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="459818b78a3e9985dc5a9d5638b6593e"></a><!-- doxytag: member="tbb::recursive_mutex::scoped_lock::recursive_mutex" ref="459818b78a3e9985dc5a9d5638b6593e" args="" -->
-class </td><td class="memItemRight" valign="bottom"><b>recursive_mutex</b></td></tr>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>interface5</b></li><li class="navelem"><a class="el" href="a00035.html">concurrent_hash_map</a></li><li class="navelem"><a class="el" href="a00010.html">accessor</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::accessor Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
 
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-The scoped locking pattern. 
-<p>
-It helps to avoid the common problem of forgetting to release lock. It also nicely provides the "node" for queuing locks. 
-<p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li>recursive_mutex.h</ul>
+<p>This is the complete list of members for <a class="el" href="a00010.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::accessor</a>, including all inherited members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" href="a00047.html#a7b26d22d228cf0d8678c9b346c63752c">const_accessor</a>()</td><td class="entry"><a class="el" href="a00047.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::const_accessor</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00047.html#a6299b523d2ae8e2613f1bc160ca99b85">empty</a>() const </td><td class="entry"><a class="el" href="a00047.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::const_accessor</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>is_writer</b>() (defined in <a class="el" href="a00047.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::const_accessor</a>)</td><td class="entry"><a class="el" href="a00047.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::const_accessor</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>my_hash</b> (defined in <a class="el" href="a00047.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::const_accessor</a>)</td><td class="entry"><a class="el" href="a00047.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::const_accessor</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>my_node</b> (defined in <a class="el" href="a00047.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::const_accessor</a>)</td><td class="entry"><a class="el" href="a00047.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::const_accessor</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00010.html#a4e03905a33fbdafdb99113cc68d2bd4b">operator*</a>() const </td><td class="entry"><a class="el" href="a00010.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::accessor</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00010.html#ab04f73bd4a4ca7df0dc91a7b4d66f987">operator-></a>() const </td><td class="entry"><a class="el" href="a00010.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::accessor</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00047.html#a18390cb369369d72bdf7c867755b5190">release</a>()</td><td class="entry"><a class="el" href="a00047.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::const_accessor</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00010.html#a850178bbdcdbc4cf5955cab37eb8c42c">value_type</a> typedef</td><td class="entry"><a class="el" href="a00010.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::accessor</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="a00047.html#afbc0c85a146c912b9a0f94a7695957c7">~const_accessor</a>()</td><td class="entry"><a class="el" href="a00047.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::const_accessor</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+</table></div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00336.html b/doc/html/a00336.html
index 628e54b..e52f4ed 100644
--- a/doc/html/a00336.html
+++ b/doc/html/a00336.html
@@ -1,322 +1,57 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>tbb::interface6::runtime_loader Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="nav">
-<a class="el" href="a00428.html">tbb</a>::<b>interface6</b>::<a class="el" href="a00336.html">runtime_loader</a></div>
-<h1>tbb::interface6::runtime_loader Class Reference</h1><!-- doxytag: class="tbb::interface6::runtime_loader" -->Load TBB at runtime.  
-<a href="#_details">More...</a>
-<p>
-<code>#include <runtime_loader.h></code>
-<p>
-<a href="a00121.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00336.html#bb0130fe0f596399707e61431231ebcbdb47fe5ffbd2eaf47e6de0af433ada38">em_status</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Save status of operation and continue.  <a href="#bb0130fe0f596399707e61431231ebcbdb47fe5ffbd2eaf47e6de0af433ada38"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00336.html#bb0130fe0f596399707e61431231ebcbdeb59ca2912432b47fd3ec831574653b">em_throw</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Throw an exception of tbb::runtime_loader::error_code type.  <a href="#bb0130fe0f596399707e61431231ebcbdeb59ca2912432b47fd3ec831574653b"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00336.html#bb0130fe0f596399707e61431231ebcb630dd30c9ba61d5ab187e80313bbad94">em_abort</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Print message to <code>stderr</code> and call <code>abort()</code>.  <a href="#bb0130fe0f596399707e61431231ebcb630dd30c9ba61d5ab187e80313bbad94"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00336.html#6831be91cdc64e57e565ce0dde0187891e3a364f63f419e5ea2f1d1e52289b27">ec_ok</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">No errors.  <a href="#6831be91cdc64e57e565ce0dde0187891e3a364f63f419e5ea2f1d1e52289b27"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00336.html#6831be91cdc64e57e565ce0dde018789e6ce2b091083b80878cbb70cd00782a1">ec_bad_call</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Invalid function call (e. g. <a class="el" href="a00336.html#5f3f6f1683386705a6931acae45f0862">load()</a> called when TBB is already loaded).  <a href="#6831be91cdc64e57e565ce0dde018789e6ce2b091083b80878cbb70cd00782a1"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00336.html#6831be91cdc64e57e565ce0dde01878927e94a7b173bb8d0623bf48aad8fc703">ec_bad_arg</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Invalid argument passed.  <a href="#6831be91cdc64e57e565ce0dde01878927e94a7b173bb8d0623bf48aad8fc703"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00336.html#6831be91cdc64e57e565ce0dde01878903ee81d8c05966bc1125666713dee5f6">ec_bad_lib</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Invalid library found (e. g. <code>TBB_runtime_version</code> symbol not found).  <a href="#6831be91cdc64e57e565ce0dde01878903ee81d8c05966bc1125666713dee5f6"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00336.html#6831be91cdc64e57e565ce0dde01878907790f32918e60d670a96c1f0349e8d6">ec_bad_ver</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">TBB found but version is not suitable.  <a href="#6831be91cdc64e57e565ce0dde01878907790f32918e60d670a96c1f0349e8d6"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00336.html#6831be91cdc64e57e565ce0dde01878902acc03ebfcdb16e3e26b24f64da2bdb">ec_no_lib</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">No suitable TBB library found.  <a href="#6831be91cdc64e57e565ce0dde01878902acc03ebfcdb16e3e26b24f64da2bdb"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00336.html#bb0130fe0f596399707e61431231ebcb">error_mode</a> { <a class="el" href="a00336.html#bb0130fe0f596399707e61431231ebcbdb47fe5ffbd2eaf47e6de0af433ada38">em_status</a>, 
-<a class="el" href="a00336.html#bb0130fe0f596399707e61431231ebcbdeb59ca2912432b47fd3ec831574653b">em_throw</a>, 
-<a class="el" href="a00336.html#bb0130fe0f596399707e61431231ebcb630dd30c9ba61d5ab187e80313bbad94">em_abort</a>
- }</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Error mode constants.  <a href="a00336.html#bb0130fe0f596399707e61431231ebcb">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00336.html#6831be91cdc64e57e565ce0dde018789">error_code</a> { <br>
-  <a class="el" href="a00336.html#6831be91cdc64e57e565ce0dde0187891e3a364f63f419e5ea2f1d1e52289b27">ec_ok</a>, 
-<a class="el" href="a00336.html#6831be91cdc64e57e565ce0dde018789e6ce2b091083b80878cbb70cd00782a1">ec_bad_call</a>, 
-<a class="el" href="a00336.html#6831be91cdc64e57e565ce0dde01878927e94a7b173bb8d0623bf48aad8fc703">ec_bad_arg</a>, 
-<a class="el" href="a00336.html#6831be91cdc64e57e565ce0dde01878903ee81d8c05966bc1125666713dee5f6">ec_bad_lib</a>, 
-<br>
-  <a class="el" href="a00336.html#6831be91cdc64e57e565ce0dde01878907790f32918e60d670a96c1f0349e8d6">ec_bad_ver</a>, 
-<a class="el" href="a00336.html#6831be91cdc64e57e565ce0dde01878902acc03ebfcdb16e3e26b24f64da2bdb">ec_no_lib</a>
-<br>
- }</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Error codes.  <a href="a00336.html#6831be91cdc64e57e565ce0dde018789">More...</a><br></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7caa4ff6e44c2348e67f601cc5d97c34"></a><!-- doxytag: member="tbb::interface6::runtime_loader::runtime_loader" ref="7caa4ff6e44c2348e67f601cc5d97c34" args="(error_mode mode=em_abort)" -->
- </td><td class="memItemRight" valign="bottom"><a class="el" href="a00336.html#7caa4ff6e44c2348e67f601cc5d97c34">runtime_loader</a> (<a class="el" href="a00336.html#bb0130fe0f596399707e61431231ebcb">error_mode</a> mode=em_abort)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Initialize object but do not load TBB. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00336.html#7ae5330beb48fce0c702c32a5df0094a">runtime_loader</a> (char const *path[], int min_ver=TBB_INTERFACE_VERSION, int max_ver=INT_MAX, <a class="el" href="a00336.html#bb0130fe0f596399707e61431231ebcb">error_mode</a> mode=em_abort)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Initialize object and load TBB.  <a href="#7ae5330beb48fce0c702c32a5df0094a"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c25fec923a751a3e03f5cbe969f1f0c5"></a><!-- doxytag: member="tbb::interface6::runtime_loader::~runtime_loader" ref="c25fec923a751a3e03f5cbe969f1f0c5" args="()" -->
- </td><td class="memItemRight" valign="bottom"><a class="el" href="a00336.html#c25fec923a751a3e03f5cbe969f1f0c5">~runtime_loader</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Destroy object. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00336.html#6831be91cdc64e57e565ce0dde018789">error_code</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00336.html#5f3f6f1683386705a6931acae45f0862">load</a> (char const *path[], int min_ver=TBB_INTERFACE_VERSION, int max_ver=INT_MAX)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Load TBB.  <a href="#5f3f6f1683386705a6931acae45f0862"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00336.html#6831be91cdc64e57e565ce0dde018789">error_code</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00336.html#78d938ed2e54d38dd38d6609e6c60389">status</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Report status.  <a href="#78d938ed2e54d38dd38d6609e6c60389"></a><br></td></tr>
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-Load TBB at runtime. 
-<p>
-<b>Usage:</b> <p>
-In source code:<p>
-<div class="fragment"><pre class="fragment"><span class="preprocessor">#include "tbb/runtime_loader.h"</span>
-
-<span class="keywordtype">char</span> <span class="keyword">const</span> * path[] = { <span class="stringliteral">"<install dir>/lib/ia32"</span>, NULL };
-tbb::runtime_loader loader( path );
-
-<span class="comment">// Now use TBB.</span>
-</pre></div><p>
-Link with <code>tbbproxy.lib</code> (or <code>libtbbproxy.a</code>) instead of <code>tbb.lib</code> (<code>libtbb.dylib</code>, <code>libtbb.so</code>).<p>
-TBB library will be loaded at runtime from <code></code> <install dir>="">/lib/ia32 directory.<p>
-<b>Attention:</b> <p>
-All <code><a class="el" href="a00336.html">runtime_loader</a></code> objects (in the same module, i.e. exe or dll) share some global state. The most noticeable piece of global state is loaded TBB library. There are some implications:<p>
-<ul>
-<li>Only one TBB library can be loaded per module.</li></ul>
-<p>
-<ul>
-<li>If one object has already loaded TBB library, another object will not load TBB. If the loaded TBB library is suitable for the second object, both will use TBB cooperatively, otherwise the second object will report an error.</li></ul>
-<p>
-<ul>
-<li><code><a class="el" href="a00336.html">runtime_loader</a></code> objects will not work (correctly) in parallel due to absence of syncronization. </li></ul>
-
-<p>
-<hr><h2>Member Enumeration Documentation</h2>
-<a class="anchor" name="6831be91cdc64e57e565ce0dde018789"></a><!-- doxytag: member="tbb::interface6::runtime_loader::error_code" ref="6831be91cdc64e57e565ce0dde018789" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">enum <a class="el" href="a00336.html#6831be91cdc64e57e565ce0dde018789">tbb::interface6::runtime_loader::error_code</a>          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Error codes. 
-<p>
-<dl compact><dt><b>Enumerator: </b></dt><dd>
-<table border="0" cellspacing="2" cellpadding="0">
-<tr><td valign="top"><em><a class="anchor" name="6831be91cdc64e57e565ce0dde0187891e3a364f63f419e5ea2f1d1e52289b27"></a><!-- doxytag: member="ec_ok" ref="6831be91cdc64e57e565ce0dde0187891e3a364f63f419e5ea2f1d1e52289b27" args="" -->ec_ok</em> </td><td>
-No errors. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="6831be91cdc64e57e565ce0dde018789e6ce2b091083b80878cbb70cd00782a1"></a><!-- doxytag: member="ec_bad_call" ref="6831be91cdc64e57e565ce0dde018789e6ce2b091083b80878cbb70cd00782a1" args="" -->ec_bad_call</em> </td><td>
-Invalid function call (e. g. <a class="el" href="a00336.html#5f3f6f1683386705a6931acae45f0862">load()</a> called when TBB is already loaded). </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="6831be91cdc64e57e565ce0dde01878927e94a7b173bb8d0623bf48aad8fc703"></a><!-- doxytag: member="ec_bad_arg" ref="6831be91cdc64e57e565ce0dde01878927e94a7b173bb8d0623bf48aad8fc703" args="" -->ec_bad_arg</em> </td><td>
-Invalid argument passed. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="6831be91cdc64e57e565ce0dde01878903ee81d8c05966bc1125666713dee5f6"></a><!-- doxytag: member="ec_bad_lib" ref="6831be91cdc64e57e565ce0dde01878903ee81d8c05966bc1125666713dee5f6" args="" -->ec_bad_lib</em> </td><td>
-Invalid library found (e. g. <code>TBB_runtime_version</code> symbol not found). </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="6831be91cdc64e57e565ce0dde01878907790f32918e60d670a96c1f0349e8d6"></a><!-- doxytag: member="ec_bad_ver" ref="6831be91cdc64e57e565ce0dde01878907790f32918e60d670a96c1f0349e8d6" args="" -->ec_bad_ver</em> </td><td>
-TBB found but version is not suitable. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="6831be91cdc64e57e565ce0dde01878902acc03ebfcdb16e3e26b24f64da2bdb"></a><!-- doxytag: member="ec_no_lib" ref="6831be91cdc64e57e565ce0dde01878902acc03ebfcdb16e3e26b24f64da2bdb" args="" -->ec_no_lib</em> </td><td>
-No suitable TBB library found. </td></tr>
-</table>
-</dl>
-
-</div>
-</div><p>
-<a class="anchor" name="bb0130fe0f596399707e61431231ebcb"></a><!-- doxytag: member="tbb::interface6::runtime_loader::error_mode" ref="bb0130fe0f596399707e61431231ebcb" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">enum <a class="el" href="a00336.html#bb0130fe0f596399707e61431231ebcb">tbb::interface6::runtime_loader::error_mode</a>          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Error mode constants. 
-<p>
-<dl compact><dt><b>Enumerator: </b></dt><dd>
-<table border="0" cellspacing="2" cellpadding="0">
-<tr><td valign="top"><em><a class="anchor" name="bb0130fe0f596399707e61431231ebcbdb47fe5ffbd2eaf47e6de0af433ada38"></a><!-- doxytag: member="em_status" ref="bb0130fe0f596399707e61431231ebcbdb47fe5ffbd2eaf47e6de0af433ada38" args="" -->em_status</em> </td><td>
-Save status of operation and continue. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="bb0130fe0f596399707e61431231ebcbdeb59ca2912432b47fd3ec831574653b"></a><!-- doxytag: member="em_throw" ref="bb0130fe0f596399707e61431231ebcbdeb59ca2912432b47fd3ec831574653b" args="" -->em_throw</em> </td><td>
-Throw an exception of tbb::runtime_loader::error_code type. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="bb0130fe0f596399707e61431231ebcb630dd30c9ba61d5ab187e80313bbad94"></a><!-- doxytag: member="em_abort" ref="bb0130fe0f596399707e61431231ebcb630dd30c9ba61d5ab187e80313bbad94" args="" -->em_abort</em> </td><td>
-Print message to <code>stderr</code> and call <code>abort()</code>. </td></tr>
-</table>
-</dl>
-
-</div>
-</div><p>
-<hr><h2>Constructor & Destructor Documentation</h2>
-<a class="anchor" name="7ae5330beb48fce0c702c32a5df0094a"></a><!-- doxytag: member="tbb::interface6::runtime_loader::runtime_loader" ref="7ae5330beb48fce0c702c32a5df0094a" args="(char const *path[], int min_ver=TBB_INTERFACE_VERSION, int max_ver=INT_MAX, error_mode mode=em_abort)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">tbb::interface6::runtime_loader::runtime_loader           </td>
-          <td>(</td>
-          <td class="paramtype">char const * </td>
-          <td class="paramname"> <em>path</em>[], </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int </td>
-          <td class="paramname"> <em>min_ver</em> = <code>TBB_INTERFACE_VERSION</code>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int </td>
-          <td class="paramname"> <em>max_ver</em> = <code>INT_MAX</code>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="a00336.html#bb0130fe0f596399707e61431231ebcb">error_mode</a> </td>
-          <td class="paramname"> <em>mode</em> = <code>em_abort</code></td><td> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td width="100%"></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Initialize object and load TBB. 
-<p>
-See <a class="el" href="a00336.html#5f3f6f1683386705a6931acae45f0862">load()</a> for details.<p>
-If error mode is <code>em_status</code>, call <a class="el" href="a00336.html#78d938ed2e54d38dd38d6609e6c60389">status()</a> to check whether TBB was loaded or not. <dl compact><dt><b>Parameters: </b></dt><dd>
-<table border="0" cellspacing="2" cellpadding="0">
-<tr><td valign="top"><em>path</em> </td><td>
-List of directories to search TBB in. </td></tr>
-<tr><td valign="top"><em>min_ver</em> </td><td>
-Minimal suitable version of TBB. </td></tr>
-<tr><td valign="top"><em>max_ver</em> </td><td>
-Maximal suitable version of TBB. </td></tr>
-<tr><td valign="top"><em>mode</em> </td><td>
-Error mode for this object. </td></tr>
-</table>
-</dl>
-</div>
-</div><p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="5f3f6f1683386705a6931acae45f0862"></a><!-- doxytag: member="tbb::interface6::runtime_loader::load" ref="5f3f6f1683386705a6931acae45f0862" args="(char const *path[], int min_ver=TBB_INTERFACE_VERSION, int max_ver=INT_MAX)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00336.html#6831be91cdc64e57e565ce0dde018789">error_code</a> tbb::interface6::runtime_loader::load           </td>
-          <td>(</td>
-          <td class="paramtype">char const * </td>
-          <td class="paramname"> <em>path</em>[], </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int </td>
-          <td class="paramname"> <em>min_ver</em> = <code>TBB_INTERFACE_VERSION</code>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">int </td>
-          <td class="paramname"> <em>max_ver</em> = <code>INT_MAX</code></td><td> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td width="100%"></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Load TBB. 
-<p>
-The method searches the directories specified in <code>path</code>[] array for the TBB library. When the library is found, it is loaded and its version is checked. If the version is not suitable, the library is unloaded, and the search continues.<p>
-<b>Note:</b> <p>
-For security reasons, avoid using relative directory names. For example, never load TBB from current (<code>"."</code>), parent (<code>".."</code>) or any other relative directory (like <code>"lib"</code> ). Use only absolute directory names (e. g. "/usr/local/lib").<p>
-For the same security reasons, avoid using system default directories (<code>""</code>) on Windows. (See <a href="http://www.microsoft.com/technet/security/advisory/2269637.mspx">http://www.microsoft.com/technet/security/advisory/2269637.mspx</a> for details.)<p>
-Neglecting these rules may cause your program to execute 3-rd party malicious code.<p>
-<b>Errors:</b> <ul>
-<li><code>ec_bad_call</code> - TBB already loaded by this object.</li><li><code>ec_bad_arg</code> - <code>min_ver</code> and/or <code>max_ver</code> negative or zero, or <code>min_ver</code> > <code>max_ver</code>.</li><li><code>ec_bad_ver</code> - TBB of unsuitable version already loaded by another object.</li><li><code>ec_no_lib</code> - No suitable library found. </li></ul>
-<dl compact><dt><b>Parameters: </b></dt><dd>
-<table border="0" cellspacing="2" cellpadding="0">
-<tr><td valign="top"><em>path</em> </td><td>
-List of directories to search TBB in. </td></tr>
-<tr><td valign="top"><em>min_ver</em> </td><td>
-Minimal suitable version of TBB. </td></tr>
-<tr><td valign="top"><em>max_ver</em> </td><td>
-Maximal suitable version of TBB. </td></tr>
-</table>
-</dl>
-</div>
-</div><p>
-<a class="anchor" name="78d938ed2e54d38dd38d6609e6c60389"></a><!-- doxytag: member="tbb::interface6::runtime_loader::status" ref="78d938ed2e54d38dd38d6609e6c60389" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00336.html#6831be91cdc64e57e565ce0dde018789">error_code</a> tbb::interface6::runtime_loader::status           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td> ) </td>
-          <td width="100%"></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Report status. 
-<p>
-If error mode is <code>em_status</code>, the function returns status of the last operation. 
-</div>
-</div><p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li>runtime_loader.h</ul>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>interface5</b></li><li class="navelem"><a class="el" href="a00035.html">concurrent_hash_map</a></li><li class="navelem"><a class="el" href="a00026.html">bucket_accessor</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::bucket_accessor Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="a00026.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::bucket_accessor</a>, including all inherited members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" href="a00026.html#a0d7d8f3d101bb18056b8e5d4d2c8b079">acquire</a>(concurrent_hash_map *base, const hashcode_t h, bool writer=false)</td><td class="entry"><a class="el" href="a00026.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::bucket_accessor</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>bucket_accessor</b>(concurrent_hash_map *base, const hashcode_t h, bool writer=false) (defined in <a class="el" href="a00026.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::bucket_accessor</a>)</td><td class="entry"><a class="el" href="a00026.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::bucket_accessor</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00026.html#aaa8167e2961330435fd23eb92127805c">is_writer</a>()</td><td class="entry"><a class="el" href="a00026.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::bucket_accessor</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00026.html#a16e714a5e77dbf8daf81973df30722d4">operator()</a>()</td><td class="entry"><a class="el" href="a00026.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::bucket_accessor</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+</table></div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00337.html b/doc/html/a00337.html
index 954416d..0d91cbe 100644
--- a/doc/html/a00337.html
+++ b/doc/html/a00337.html
@@ -1,107 +1,65 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>tbb::scalable_allocator< T > Class Template Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="nav">
-<a class="el" href="a00428.html">tbb</a>::<a class="el" href="a00337.html">scalable_allocator</a></div>
-<h1>tbb::scalable_allocator< T > Class Template Reference<br>
-<small>
-[<a class="el" href="a00443.html">Memory Allocation</a>]</small>
-</h1><!-- doxytag: class="tbb::scalable_allocator" -->Meets "allocator" requirements of ISO C++ Standard, Section 20.1.5.  
-<a href="#_details">More...</a>
-<p>
-<code>#include <scalable_allocator.h></code>
-<p>
-<a href="a00123.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5a1cf13c339ee177a103a7e19bf2710a"></a><!-- doxytag: member="tbb::scalable_allocator::value_type" ref="5a1cf13c339ee177a103a7e19bf2710a" args="" -->
-typedef internal::allocator_type<<br>
- T >::value_type </td><td class="memItemRight" valign="bottom"><b>value_type</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a5121ec62bc79faba6a4b674d59e7260"></a><!-- doxytag: member="tbb::scalable_allocator::pointer" ref="a5121ec62bc79faba6a4b674d59e7260" args="" -->
-typedef value_type * </td><td class="memItemRight" valign="bottom"><b>pointer</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="846a6fcec3bc7fa3839a12266a729a02"></a><!-- doxytag: member="tbb::scalable_allocator::const_pointer" ref="846a6fcec3bc7fa3839a12266a729a02" args="" -->
-typedef const value_type * </td><td class="memItemRight" valign="bottom"><b>const_pointer</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="254d7749de9277bb7711470c04d963ea"></a><!-- doxytag: member="tbb::scalable_allocator::reference" ref="254d7749de9277bb7711470c04d963ea" args="" -->
-typedef value_type & </td><td class="memItemRight" valign="bottom"><b>reference</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="acad193a7f6e16253f772ba3e9b2c98f"></a><!-- doxytag: member="tbb::scalable_allocator::const_reference" ref="acad193a7f6e16253f772ba3e9b2c98f" args="" -->
-typedef const value_type & </td><td class="memItemRight" valign="bottom"><b>const_reference</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4a5cb7482f222a14b513bbdd4ad8507d"></a><!-- doxytag: member="tbb::scalable_allocator::size_type" ref="4a5cb7482f222a14b513bbdd4ad8507d" args="" -->
-typedef size_t </td><td class="memItemRight" valign="bottom"><b>size_type</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="cb96c23f650cf91a73e2810b54c481bb"></a><!-- doxytag: member="tbb::scalable_allocator::difference_type" ref="cb96c23f650cf91a73e2810b54c481bb" args="" -->
-typedef ptrdiff_t </td><td class="memItemRight" valign="bottom"><b>difference_type</b></td></tr>
-
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="eee1873729ed05c7f92544c3ff0c08bc"></a><!-- doxytag: member="tbb::scalable_allocator::scalable_allocator" ref="eee1873729ed05c7f92544c3ff0c08bc" args="(const scalable_allocator &)" -->
- </td><td class="memItemRight" valign="bottom"><b>scalable_allocator</b> (const <a class="el" href="a00337.html">scalable_allocator</a> &)  throw ()</td></tr>
-
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="d56dc9f231c59f912297ac3c3b3b93b6"></a><!-- doxytag: member="tbb::scalable_allocator::scalable_allocator" ref="d56dc9f231c59f912297ac3c3b3b93b6" args="(const scalable_allocator< U > &)" -->
-template<typename U> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"> </td><td class="memTemplItemRight" valign="bottom"><b>scalable_allocator</b> (const <a class="el" href="a00337.html">scalable_allocator</a>< U > &)  throw ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="78fa13a188b542ea724d45a9dbf5a071"></a><!-- doxytag: member="tbb::scalable_allocator::address" ref="78fa13a188b542ea724d45a9dbf5a071" args="(reference x) const " -->
-pointer </td><td class="memItemRight" valign="bottom"><b>address</b> (reference x) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="14be4ad8eb478c87e240e605221ab455"></a><!-- doxytag: member="tbb::scalable_allocator::address" ref="14be4ad8eb478c87e240e605221ab455" args="(const_reference x) const " -->
-const_pointer </td><td class="memItemRight" valign="bottom"><b>address</b> (const_reference x) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="726b1586d05d44665a36e1c7b2699bfd"></a><!-- doxytag: member="tbb::scalable_allocator::allocate" ref="726b1586d05d44665a36e1c7b2699bfd" args="(size_type n, const void *=0)" -->
-pointer </td><td class="memItemRight" valign="bottom"><a class="el" href="a00337.html#726b1586d05d44665a36e1c7b2699bfd">allocate</a> (size_type n, const void *=0)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Allocate space for n objects. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f806a238c18cbcfb531e1e0a0d2ec59d"></a><!-- doxytag: member="tbb::scalable_allocator::deallocate" ref="f806a238c18cbcfb531e1e0a0d2ec59d" args="(pointer p, size_type)" -->
-void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00337.html#f806a238c18cbcfb531e1e0a0d2ec59d">deallocate</a> (pointer p, size_type)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Free previously allocated block of memory. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="880e766f1d913988c21973dbdd874fd5"></a><!-- doxytag: member="tbb::scalable_allocator::max_size" ref="880e766f1d913988c21973dbdd874fd5" args="() const " -->
-size_type </td><td class="memItemRight" valign="bottom"><a class="el" href="a00337.html#880e766f1d913988c21973dbdd874fd5">max_size</a> () const   throw ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Largest value for which method allocate might succeed. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="d441b2d4910ae754b62278d0273f7665"></a><!-- doxytag: member="tbb::scalable_allocator::construct" ref="d441b2d4910ae754b62278d0273f7665" args="(U *p, Args &&...args)" -->
-template<typename U, typename... Args> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><b>construct</b> (U *p, Args &&...args)</td></tr>
-
-<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><b>rebind</b></td></tr>
-
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-<h3>template<typename T><br>
- class tbb::scalable_allocator< T ></h3>
-
-Meets "allocator" requirements of ISO C++ Standard, Section 20.1.5. 
-<p>
-The members are ordered the same way they are in section 20.4.1 of the ISO C++ standard. 
-<p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li><a class="el" href="a00405.html">scalable_allocator.h</a></ul>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>interface5</b></li><li class="navelem"><a class="el" href="a00035.html">concurrent_hash_map</a></li><li class="navelem"><a class="el" href="a00047.html">const_accessor</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::const_accessor Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="a00047.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::const_accessor</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>accessor</b> (defined in <a class="el" href="a00047.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::const_accessor</a>)</td><td class="entry"><a class="el" href="a00047.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::const_accessor</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>concurrent_hash_map< Key, T, HashCompare, Allocator ></b> (defined in <a class="el" href="a00047.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::const_accessor</a>)</td><td class="entry"><a class="el" href="a00047.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::const_accessor</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00047.html#a7b26d22d228cf0d8678c9b346c63752c">const_accessor</a>()</td><td class="entry"><a class="el" href="a00047.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::const_accessor</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00047.html#a6299b523d2ae8e2613f1bc160ca99b85">empty</a>() const </td><td class="entry"><a class="el" href="a00047.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::const_accessor</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>is_writer</b>() (defined in <a class="el" href="a00047.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::const_accessor</a>)</td><td class="entry"><a class="el" href="a00047.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::const_accessor</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>my_hash</b> (defined in <a class="el" href="a00047.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::const_accessor</a>)</td><td class="entry"><a class="el" href="a00047.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::const_accessor</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>my_node</b> (defined in <a class="el" href="a00047.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::const_accessor</a>)</td><td class="entry"><a class="el" href="a00047.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::const_accessor</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00047.html#a8adf04e33e7c8c876ba849f26807713a">operator*</a>() const </td><td class="entry"><a class="el" href="a00047.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::const_accessor</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00047.html#a28fa9b9e6c35d7e80217e69a7afe1ee5">operator-></a>() const </td><td class="entry"><a class="el" href="a00047.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::const_accessor</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00047.html#a18390cb369369d72bdf7c867755b5190">release</a>()</td><td class="entry"><a class="el" href="a00047.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::const_accessor</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00047.html#aa8ca5aef4ee14b7eddb64767b8cd5fda">value_type</a> typedef</td><td class="entry"><a class="el" href="a00047.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::const_accessor</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="a00047.html#afbc0c85a146c912b9a0f94a7695957c7">~const_accessor</a>()</td><td class="entry"><a class="el" href="a00047.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::const_accessor</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+</table></div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00338.html b/doc/html/a00338.html
index e2bc22e..8754733 100644
--- a/doc/html/a00338.html
+++ b/doc/html/a00338.html
@@ -1,62 +1,58 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>tbb::scalable_allocator< void > Class Template Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="nav">
-<a class="el" href="a00428.html">tbb</a>::<a class="el" href="a00338.html">scalable_allocator< void ></a></div>
-<h1>tbb::scalable_allocator< void > Class Template Reference<br>
-<small>
-[<a class="el" href="a00443.html">Memory Allocation</a>]</small>
-</h1><!-- doxytag: class="tbb::scalable_allocator< void >" -->Analogous to std::allocator<void>, as defined in ISO C++ Standard, Section 20.4.1.  
-<a href="#_details">More...</a>
-<p>
-<code>#include <scalable_allocator.h></code>
-<p>
-<a href="a00125.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2046816029c2c7856f7684aed2af9cff"></a><!-- doxytag: member="tbb::scalable_allocator< void >::pointer" ref="2046816029c2c7856f7684aed2af9cff" args="" -->
-typedef void * </td><td class="memItemRight" valign="bottom"><b>pointer</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="591c568d23f8aadf6ea8d1dc939c4e75"></a><!-- doxytag: member="tbb::scalable_allocator< void >::const_pointer" ref="591c568d23f8aadf6ea8d1dc939c4e75" args="" -->
-typedef const void * </td><td class="memItemRight" valign="bottom"><b>const_pointer</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="64dbab666af0740c30b77edac9f157ce"></a><!-- doxytag: member="tbb::scalable_allocator< void >::value_type" ref="64dbab666af0740c30b77edac9f157ce" args="" -->
-typedef void </td><td class="memItemRight" valign="bottom"><b>value_type</b></td></tr>
-
-<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><b>rebind</b></td></tr>
-
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-<h3>template<><br>
- class tbb::scalable_allocator< void ></h3>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>interface5</b></li><li class="navelem"><a class="el" href="a00035.html">concurrent_hash_map</a></li><li class="navelem"><a class="el" href="a00082.html">node</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::node Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
 
-Analogous to std::allocator<void>, as defined in ISO C++ Standard, Section 20.4.1. 
-<p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li><a class="el" href="a00405.html">scalable_allocator.h</a></ul>
+<p>This is the complete list of members for <a class="el" href="a00082.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::node</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>item</b> (defined in <a class="el" href="a00082.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::node</a>)</td><td class="entry"><a class="el" href="a00082.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::node</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>node</b>(const Key &key) (defined in <a class="el" href="a00082.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::node</a>)</td><td class="entry"><a class="el" href="a00082.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::node</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>node</b>(const Key &key, const T &t) (defined in <a class="el" href="a00082.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::node</a>)</td><td class="entry"><a class="el" href="a00082.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::node</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>operator delete</b>(void *ptr, node_allocator_type &a) (defined in <a class="el" href="a00082.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::node</a>)</td><td class="entry"><a class="el" href="a00082.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::node</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator new</b>(size_t, node_allocator_type &a) (defined in <a class="el" href="a00082.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::node</a>)</td><td class="entry"><a class="el" href="a00082.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::node</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+</table></div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00339.html b/doc/html/a00339.html
index 8462356..8de37cb 100644
--- a/doc/html/a00339.html
+++ b/doc/html/a00339.html
@@ -1,90 +1,76 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>tbb::flow::interface6::sender< T > Class Template Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="nav">
-<a class="el" href="a00428.html">tbb</a>::<b>flow</b>::<b>interface6</b>::<a class="el" href="a00339.html">sender</a></div>
-<h1>tbb::flow::interface6::sender< T > Class Template Reference</h1><!-- doxytag: class="tbb::flow::interface6::sender" -->Pure virtual template class that defines a sender of messages of type T.  
-<a href="#_details">More...</a>
-<p>
-<code>#include <flow_graph.h></code>
-<p>
-<p>Inheritance diagram for tbb::flow::interface6::sender< T >:
-<p><center><img src="a00339.png" usemap="#tbb::flow::interface6::sender< T >_map" border="0" alt=""></center>
-<map name="tbb::flow::interface6::sender< T >_map">
-<area href="a00274.html" alt="tbb::flow::interface6::broadcast_node< T >" shape="rect" coords="0,56,352,80">
-<area href="a00275.html" alt="tbb::flow::interface6::buffer_node< T, A >" shape="rect" coords="362,56,714,80">
-<area href="a00304.html" alt="tbb::flow::interface6::limiter_node< T >" shape="rect" coords="724,56,1076,80">
-<area href="a00324.html" alt="tbb::flow::interface6::priority_queue_node< T, Compare, A >" shape="rect" coords="181,112,533,136">
-<area href="a00325.html" alt="tbb::flow::interface6::queue_node< T, A >" shape="rect" coords="543,112,895,136">
-<area href="a00340.html" alt="tbb::flow::interface6::sequencer_node< T, A >" shape="rect" coords="543,168,895,192">
-</map>
-<a href="a00055.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="127af99916cc085cd9dbc09c53299928"></a><!-- doxytag: member="tbb::flow::interface6::sender::output_type" ref="127af99916cc085cd9dbc09c53299928" args="" -->
-typedef T </td><td class="memItemRight" valign="bottom"><a class="el" href="a00339.html#127af99916cc085cd9dbc09c53299928">output_type</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">The output type of this sender. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d690e8a54e358968f0ee4fdf9ee73068"></a><!-- doxytag: member="tbb::flow::interface6::sender::successor_type" ref="d690e8a54e358968f0ee4fdf9ee73068" args="" -->
-typedef <a class="el" href="a00333.html">receiver</a>< T > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00339.html#d690e8a54e358968f0ee4fdf9ee73068">successor_type</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">The successor type for this node. <br></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="68b8941ad77b9303cf3bcb8cf1f2d28a"></a><!-- doxytag: member="tbb::flow::interface6::sender::register_successor" ref="68b8941ad77b9303cf3bcb8cf1f2d28a" args="(successor_type &r)=0" -->
-virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00339.html#68b8941ad77b9303cf3bcb8cf1f2d28a">register_successor</a> (<a class="el" href="a00333.html">successor_type</a> &r)=0</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Add a new successor to this node. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="82f363bfb1738bb8789e167590b10ef9"></a><!-- doxytag: member="tbb::flow::interface6::sender::remove_successor" ref="82f363bfb1738bb8789e167590b10ef9" args="(successor_type &r)=0" -->
-virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00339.html#82f363bfb1738bb8789e167590b10ef9">remove_successor</a> (<a class="el" href="a00333.html">successor_type</a> &r)=0</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Removes a successor from this node. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="922fb56b0aad090b90a98b7d56b76a59"></a><!-- doxytag: member="tbb::flow::interface6::sender::try_get" ref="922fb56b0aad090b90a98b7d56b76a59" args="(T &)" -->
-virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00339.html#922fb56b0aad090b90a98b7d56b76a59">try_get</a> (T &)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Request an item from the sender. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="02c05b472271db1b68a48ea2618fa72f"></a><!-- doxytag: member="tbb::flow::interface6::sender::try_reserve" ref="02c05b472271db1b68a48ea2618fa72f" args="(T &)" -->
-virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00339.html#02c05b472271db1b68a48ea2618fa72f">try_reserve</a> (T &)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Reserves an item in the sender. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="27036b06d6a91e97007e14f400529199"></a><!-- doxytag: member="tbb::flow::interface6::sender::try_release" ref="27036b06d6a91e97007e14f400529199" args="()" -->
-virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00339.html#27036b06d6a91e97007e14f400529199">try_release</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Releases the reserved item. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7b840f50da117a0d6848707c1857ea2e"></a><!-- doxytag: member="tbb::flow::interface6::sender::try_consume" ref="7b840f50da117a0d6848707c1857ea2e" args="()" -->
-virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00339.html#7b840f50da117a0d6848707c1857ea2e">try_consume</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Consumes the reserved item. <br></td></tr>
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-<h3>template<typename T><br>
- class tbb::flow::interface6::sender< T ></h3>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>interface5</b></li><li class="navelem"><a class="el" href="a00037.html">concurrent_priority_queue</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::interface5::concurrent_priority_queue< T, Compare, A > Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
 
-Pure virtual template class that defines a sender of messages of type T. 
-<p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li><a class="el" href="a00385.html">flow_graph.h</a></ul>
+<p>This is the complete list of members for <a class="el" href="a00037.html">tbb::interface5::concurrent_priority_queue< T, Compare, A ></a>, including all inherited members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" href="a00037.html#a1d2cebf242fa83d88eebdc3ad6891fb1">allocator_type</a> typedef</td><td class="entry"><a class="el" href="a00037.html">tbb::interface5::concurrent_priority_queue< T, Compare, A ></a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="a00037.html#ac64c7b627708f0d6b2e5421fb0d49150">assign</a>(InputIterator begin, InputIterator end)</td><td class="entry"><a class="el" href="a00037.html">tbb::interface5::concurrent_priority_queue< T, Compare, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00037.html#ada4a58867572d9ff340c6692a226d457">assign</a>(std::initializer_list< T > const &il)</td><td class="entry"><a class="el" href="a00037.html">tbb::interface5::concurrent_priority_queue< T, Compare, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00037.html#a2459166998a4103880d603b237c429e6">clear</a>()</td><td class="entry"><a class="el" href="a00037.html">tbb::interface5::concurrent_priority_queue< T, Compare, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00037.html#a405be01bac4048f214797c287e2571a1">concurrent_priority_queue</a>(const allocator_type &a=allocator_type())</td><td class="entry"><a class="el" href="a00037.html">tbb::interface5::concurrent_priority_queue< T, Compare, A ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00037.html#a43c3917ea8a19cf1fec947e29ad4ff3e">concurrent_priority_queue</a>(size_type init_capacity, const allocator_type &a=allocator_type())</td><td class="entry"><a class="el" href="a00037.html">tbb::interface5::concurrent_priority_queue< T, Compare, A ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00037.html#a0cebee26cc0d00d4dcbb1c74e08029f7">concurrent_priority_queue</a>(InputIterator begin, InputIterator end, const allocator_type &a=allocator_type())</td><td class="entry"><a class="el" href="a00037.html">tbb::interface5::concurrent_priority_queue< T, Compare, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00037.html#a111763d621fa792f281c2a13bd3e5edf">concurrent_priority_queue</a>(std::initializer_list< T > const &init_list, const allocator_type &a=allocator_type())</td><td class="entry"><a class="el" href="a00037.html">tbb::interface5::concurrent_priority_queue< T, Compare, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00037.html#a332d26234f9c37a6b7ba269c648815d0">concurrent_priority_queue</a>(const concurrent_priority_queue &src)</td><td class="entry"><a class="el" href="a00037.html">tbb::interface5::concurrent_priority_queue< T, Compare, A ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00037.html#aa52cea369b6630699ee78cc42622be9d">concurrent_priority_queue</a>(const concurrent_priority_queue &src, const allocator_type &a)</td><td class="entry"><a class="el" href="a00037.html">tbb::interface5::concurrent_priority_queue< T, Compare, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00037.html#a0bd617fe8e4657777e86f0ae15d8094f">const_reference</a> typedef</td><td class="entry"><a class="el" href="a00037.html">tbb::interface5::concurrent_priority_queue< T, Compare, A ></a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="a00037.html#ae010b1fa9c0942504737228474b51a0b">difference_type</a> typedef</td><td class="entry"><a class="el" href="a00037.html">tbb::interface5::concurrent_priority_queue< T, Compare, A ></a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00037.html#a8dec2dd0e8b22af14f1753eaef1bf5eb">empty</a>() const </td><td class="entry"><a class="el" href="a00037.html">tbb::interface5::concurrent_priority_queue< T, Compare, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00037.html#a312e88e51246da4c516d35abbb30721a">get_allocator</a>() const </td><td class="entry"><a class="el" href="a00037.html">tbb::interface5::concurrent_priority_queue< T, Compare, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00037.html#ac0c3f41b10f04547f3438517c40cf8a5">operator=</a>(const concurrent_priority_queue &src)</td><td class="entry"><a class="el" href="a00037.html">tbb::interface5::concurrent_priority_queue< T, Compare, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00037.html#a32eb9c65caf399b62fac7c13e65af05f">operator=</a>(std::initializer_list< T > const &il)</td><td class="entry"><a class="el" href="a00037.html">tbb::interface5::concurrent_priority_queue< T, Compare, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00037.html#a1bfa0e7269b3407d6bb5c706264d2406">push</a>(const_reference elem)</td><td class="entry"><a class="el" href="a00037.html">tbb::interface5::concurrent_priority_queue< T, Compare, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00037.html#ae4b7ed2ddc8ec6cc910f935c9d299c7a">reference</a> typedef</td><td class="entry"><a class="el" href="a00037.html">tbb::interface5::concurrent_priority_queue< T, Compare, A ></a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00037.html#a7d86ba200474b51ec99a6b917429c6bb">size</a>() const </td><td class="entry"><a class="el" href="a00037.html">tbb::interface5::concurrent_priority_queue< T, Compare, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00037.html#a7d3da9b47ec58e1c09e3550f702edcfc">size_type</a> typedef</td><td class="entry"><a class="el" href="a00037.html">tbb::interface5::concurrent_priority_queue< T, Compare, A ></a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00037.html#aa6ee6d356e538b67a7cb4e242e6e36c9">swap</a>(concurrent_priority_queue &q)</td><td class="entry"><a class="el" href="a00037.html">tbb::interface5::concurrent_priority_queue< T, Compare, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00037.html#a954177b09e184cf3db47f1b180a7ef5e">try_pop</a>(reference elem)</td><td class="entry"><a class="el" href="a00037.html">tbb::interface5::concurrent_priority_queue< T, Compare, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00037.html#a2c75d97ae429019363ab6fd1a872512e">value_type</a> typedef</td><td class="entry"><a class="el" href="a00037.html">tbb::interface5::concurrent_priority_queue< T, Compare, A ></a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00339.png b/doc/html/a00339.png
deleted file mode 100644
index 64fee8f..0000000
Binary files a/doc/html/a00339.png and /dev/null differ
diff --git a/doc/html/a00340.html b/doc/html/a00340.html
index 8885cfb..dd99e02 100644
--- a/doc/html/a00340.html
+++ b/doc/html/a00340.html
@@ -1,109 +1,62 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>tbb::flow::interface6::sequencer_node< T, A > Class Template Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="nav">
-<a class="el" href="a00428.html">tbb</a>::<b>flow</b>::<b>interface6</b>::<a class="el" href="a00340.html">sequencer_node</a></div>
-<h1>tbb::flow::interface6::sequencer_node< T, A > Class Template Reference</h1><!-- doxytag: class="tbb::flow::interface6::sequencer_node" --><!-- doxytag: inherits="tbb::flow::interface6::queue_node" -->Forwards messages in sequence order.  
-<a href="#_details">More...</a>
-<p>
-<code>#include <flow_graph.h></code>
-<p>
-<p>Inheritance diagram for tbb::flow::interface6::sequencer_node< T, A >:
-<p><center><img src="a00340.png" usemap="#tbb::flow::interface6::sequencer_node< T, A >_map" border="0" alt=""></center>
-<map name="tbb::flow::interface6::sequencer_node< T, A >_map">
-<area href="a00325.html" alt="tbb::flow::interface6::queue_node< T, A >" shape="rect" coords="280,112,550,136">
-<area href="a00275.html" alt="tbb::flow::interface6::buffer_node< T, A >" shape="rect" coords="280,56,550,80">
-<area href="a00301.html" alt="tbb::flow::interface6::graph_node" shape="rect" coords="0,0,270,24">
-<area href="a00333.html" alt="tbb::flow::interface6::receiver< T >" shape="rect" coords="280,0,550,24">
-<area href="a00339.html" alt="tbb::flow::interface6::sender< T >" shape="rect" coords="560,0,830,24">
-</map>
-<a href="a00077.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="af629f26832ff4e476e240637a78bc0c"></a><!-- doxytag: member="tbb::flow::interface6::sequencer_node::input_type" ref="af629f26832ff4e476e240637a78bc0c" args="" -->
-typedef T </td><td class="memItemRight" valign="bottom"><a class="el" href="a00340.html#af629f26832ff4e476e240637a78bc0c">input_type</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">The input type of this receiver. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ca026eaef70e35791c407323199031a7"></a><!-- doxytag: member="tbb::flow::interface6::sequencer_node::output_type" ref="ca026eaef70e35791c407323199031a7" args="" -->
-typedef T </td><td class="memItemRight" valign="bottom"><a class="el" href="a00340.html#ca026eaef70e35791c407323199031a7">output_type</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">The output type of this sender. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8127e36811832563fe1e9bc3ba391f79"></a><!-- doxytag: member="tbb::flow::interface6::sequencer_node::predecessor_type" ref="8127e36811832563fe1e9bc3ba391f79" args="" -->
-typedef <a class="el" href="a00339.html">sender</a>< <a class="el" href="a00340.html#af629f26832ff4e476e240637a78bc0c">input_type</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00340.html#8127e36811832563fe1e9bc3ba391f79">predecessor_type</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">The predecessor type for this node. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="795f3ee75f133b9d3b159172fc4a197f"></a><!-- doxytag: member="tbb::flow::interface6::sequencer_node::successor_type" ref="795f3ee75f133b9d3b159172fc4a197f" args="" -->
-typedef <a class="el" href="a00333.html">receiver</a>< <a class="el" href="a00340.html#ca026eaef70e35791c407323199031a7">output_type</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00340.html#795f3ee75f133b9d3b159172fc4a197f">successor_type</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">The successor type for this node. <br></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="7e71cbdf78f989091bc162b89bee7e66"></a><!-- doxytag: member="tbb::flow::interface6::sequencer_node::sequencer_node" ref="7e71cbdf78f989091bc162b89bee7e66" args="(graph &g, const Sequencer &s)" -->
-template<typename Sequencer> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00340.html#7e71cbdf78f989091bc162b89bee7e66">sequencer_node</a> (<a class="el" href="a00300.html">graph</a> &g, const Sequencer &s)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Constructor. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b38e7a070552960384bcc1d91af13a5c"></a><!-- doxytag: member="tbb::flow::interface6::sequencer_node::sequencer_node" ref="b38e7a070552960384bcc1d91af13a5c" args="(const sequencer_node &src)" -->
- </td><td class="memItemRight" valign="bottom"><a class="el" href="a00340.html#b38e7a070552960384bcc1d91af13a5c">sequencer_node</a> (const <a class="el" href="a00340.html">sequencer_node</a> &src)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Copy constructor. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="93d3d8f6a72b3e1387047282116ed6ee"></a><!-- doxytag: member="tbb::flow::interface6::sequencer_node::~sequencer_node" ref="93d3d8f6a72b3e1387047282116ed6ee" args="()" -->
- </td><td class="memItemRight" valign="bottom"><a class="el" href="a00340.html#93d3d8f6a72b3e1387047282116ed6ee">~sequencer_node</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Destructor. <br></td></tr>
-<tr><td colspan="2"><br><h2>Protected Types</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6a0608d8fbfa05edde1e1da559f9eb40"></a><!-- doxytag: member="tbb::flow::interface6::sequencer_node::size_type" ref="6a0608d8fbfa05edde1e1da559f9eb40" args="" -->
-typedef <a class="el" href="a00275.html">buffer_node</a>< T, A <br>
->::size_type </td><td class="memItemRight" valign="bottom"><b>size_type</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d50b89267bddf58afeb3e784aba0f0d6"></a><!-- doxytag: member="tbb::flow::interface6::sequencer_node::sequencer_operation" ref="d50b89267bddf58afeb3e784aba0f0d6" args="" -->
-typedef <a class="el" href="a00275.html">buffer_node</a>< T, A <br>
->::buffer_operation </td><td class="memItemRight" valign="bottom"><b>sequencer_operation</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1372a379c01bc269b36bf3128560879e1cdf6bcff9743d2be54bc70c4300cd28"></a><!-- doxytag: member="tbb::flow::interface6::sequencer_node::WAIT" ref="1372a379c01bc269b36bf3128560879e1cdf6bcff9743d2be54bc70c4300cd28" args="" -->
- </td><td class="memItemRight" valign="bottom"><b>WAIT</b> = 0</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1372a379c01bc269b36bf3128560879e544c3030ddd97ba489e7d2bf1c612bc8"></a><!-- doxytag: member="tbb::flow::interface6::sequencer_node::SUCCEEDED" ref="1372a379c01bc269b36bf3128560879e544c3030ddd97ba489e7d2bf1c612bc8" args="" -->
- </td><td class="memItemRight" valign="bottom"><b>SUCCEEDED</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1372a379c01bc269b36bf3128560879ee298eb3257a044e4d0aca8a58f2f62b0"></a><!-- doxytag: member="tbb::flow::interface6::sequencer_node::FAILED" ref="1372a379c01bc269b36bf3128560879ee298eb3257a044e4d0aca8a58f2f62b0" args="" -->
- </td><td class="memItemRight" valign="bottom"><b>FAILED</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><b>op_stat</b> { <b>WAIT</b> = 0, 
-<b>SUCCEEDED</b>, 
-<b>FAILED</b>
- }</td></tr>
-
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-<h3>template<typename T, typename A = cache_aligned_allocator<T>><br>
- class tbb::flow::interface6::sequencer_node< T, A ></h3>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>interface5</b></li><li class="navelem"><a class="el" href="a00041.html">concurrent_unordered_map_traits</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::interface5::concurrent_unordered_map_traits< Key, T, Hash_compare, Allocator, Allow_multimapping > Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
 
-Forwards messages in sequence order. 
-<p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li><a class="el" href="a00385.html">flow_graph.h</a></ul>
+<p>This is the complete list of members for <a class="el" href="a00041.html">tbb::interface5::concurrent_unordered_map_traits< Key, T, Hash_compare, Allocator, Allow_multimapping ></a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>allocator_type</b> typedef (defined in <a class="el" href="a00041.html">tbb::interface5::concurrent_unordered_map_traits< Key, T, Hash_compare, Allocator, Allow_multimapping ></a>)</td><td class="entry"><a class="el" href="a00041.html">tbb::interface5::concurrent_unordered_map_traits< Key, T, Hash_compare, Allocator, Allow_multimapping ></a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>allow_multimapping</b> enum value (defined in <a class="el" href="a00041.html">tbb::interface5::concurrent_unordered_map_traits< Key, T, Hash_compare, Allocator, Allow_multimapping ></a>)</td><td class="entry"><a class="el" href="a00041.html">tbb::interface5::concurrent_unordered_map_traits< Key, T, Hash_compare, Allocator, Allow_multimapping ></a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>concurrent_unordered_map_traits</b>() (defined in <a class="el" href="a00041.html">tbb::interface5::concurrent_unordered_map_traits< Key, T, Hash_compare, Allocator, Allow_multimapping ></a>)</td><td class="entry"><a class="el" href="a00041.html">tbb::interface5::concurrent_unordered_map_traits< Key, T, Hash_compare, Allocator, Allow_multimapping ></a></td><td class="entry"><span class="mlabel">inline</span><span class [...]
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>concurrent_unordered_map_traits</b>(const hash_compare &hc) (defined in <a class="el" href="a00041.html">tbb::interface5::concurrent_unordered_map_traits< Key, T, Hash_compare, Allocator, Allow_multimapping ></a>)</td><td class="entry"><a class="el" href="a00041.html">tbb::interface5::concurrent_unordered_map_traits< Key, T, Hash_compare, Allocator, Allow_multimapping ></a></td><td class="entry"><span class="mlabel">inline</spa [...]
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>get_key</b>(const std::pair< Type1, Type2 > &value) (defined in <a class="el" href="a00041.html">tbb::interface5::concurrent_unordered_map_traits< Key, T, Hash_compare, Allocator, Allow_multimapping ></a>)</td><td class="entry"><a class="el" href="a00041.html">tbb::interface5::concurrent_unordered_map_traits< Key, T, Hash_compare, Allocator, Allow_multimapping ></a></td><td class="entry"><span class="mlabel"> [...]
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>hash_compare</b> typedef (defined in <a class="el" href="a00041.html">tbb::interface5::concurrent_unordered_map_traits< Key, T, Hash_compare, Allocator, Allow_multimapping ></a>)</td><td class="entry"><a class="el" href="a00041.html">tbb::interface5::concurrent_unordered_map_traits< Key, T, Hash_compare, Allocator, Allow_multimapping ></a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>key_type</b> typedef (defined in <a class="el" href="a00041.html">tbb::interface5::concurrent_unordered_map_traits< Key, T, Hash_compare, Allocator, Allow_multimapping ></a>)</td><td class="entry"><a class="el" href="a00041.html">tbb::interface5::concurrent_unordered_map_traits< Key, T, Hash_compare, Allocator, Allow_multimapping ></a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>my_hash_compare</b> (defined in <a class="el" href="a00041.html">tbb::interface5::concurrent_unordered_map_traits< Key, T, Hash_compare, Allocator, Allow_multimapping ></a>)</td><td class="entry"><a class="el" href="a00041.html">tbb::interface5::concurrent_unordered_map_traits< Key, T, Hash_compare, Allocator, Allow_multimapping ></a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>value_type</b> typedef (defined in <a class="el" href="a00041.html">tbb::interface5::concurrent_unordered_map_traits< Key, T, Hash_compare, Allocator, Allow_multimapping ></a>)</td><td class="entry"><a class="el" href="a00041.html">tbb::interface5::concurrent_unordered_map_traits< Key, T, Hash_compare, Allocator, Allow_multimapping ></a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+</table></div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00340.png b/doc/html/a00340.png
deleted file mode 100644
index 30266e5..0000000
Binary files a/doc/html/a00340.png and /dev/null differ
diff --git a/doc/html/a00341.html b/doc/html/a00341.html
index 9bd004c..717adf8 100644
--- a/doc/html/a00341.html
+++ b/doc/html/a00341.html
@@ -1,64 +1,57 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>tbb::simple_partitioner Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="nav">
-<a class="el" href="a00428.html">tbb</a>::<a class="el" href="a00341.html">simple_partitioner</a></div>
-<h1>tbb::simple_partitioner Class Reference<br>
-<small>
-[<a class="el" href="a00441.html">Algorithms</a>]</small>
-</h1><!-- doxytag: class="tbb::simple_partitioner" -->A simple partitioner.  
-<a href="#_details">More...</a>
-<p>
-<code>#include <partitioner.h></code>
-<p>
-<a href="a00103.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Friends</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5f730f70d21df405adaebfc2018f59cd"></a><!-- doxytag: member="tbb::simple_partitioner::serial::interface6::start_for" ref="5f730f70d21df405adaebfc2018f59cd" args="" -->
-class </td><td class="memItemRight" valign="bottom"><b>serial::interface6::start_for</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8a4cd0ffed4fad0d9af2c5efdaf586a8"></a><!-- doxytag: member="tbb::simple_partitioner::interface6::internal::start_for" ref="8a4cd0ffed4fad0d9af2c5efdaf586a8" args="" -->
-class </td><td class="memItemRight" valign="bottom"><b>interface6::internal::start_for</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="86f0750233dd6c83b65fb684338fd09f"></a><!-- doxytag: member="tbb::simple_partitioner::interface6::internal::start_reduce" ref="86f0750233dd6c83b65fb684338fd09f" args="" -->
-class </td><td class="memItemRight" valign="bottom"><b>interface6::internal::start_reduce</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="76d97ae6ad98db0acfc8ed8cb7c76705"></a><!-- doxytag: member="tbb::simple_partitioner::internal::start_scan" ref="76d97ae6ad98db0acfc8ed8cb7c76705" args="" -->
-class </td><td class="memItemRight" valign="bottom"><b>internal::start_scan</b></td></tr>
-
-<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><b>partition_type</b></td></tr>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>interface5</b></li><li class="navelem"><a class="el" href="a00041.html">concurrent_unordered_map_traits</a></li><li class="navelem"><a class="el" href="a00157.html">value_compare</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::interface5::concurrent_unordered_map_traits< Key, T, Hash_compare, Allocator, Allow_multimapping >::value_compare Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
 
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-A simple partitioner. 
-<p>
-Divides the range until the range is not divisible. 
-<p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li>partitioner.h</ul>
+<p>This is the complete list of members for <a class="el" href="a00157.html">tbb::interface5::concurrent_unordered_map_traits< Key, T, Hash_compare, Allocator, Allow_multimapping >::value_compare</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>concurrent_unordered_map_traits< Key, T, Hash_compare, Allocator, Allow_multimapping ></b> (defined in <a class="el" href="a00157.html">tbb::interface5::concurrent_unordered_map_traits< Key, T, Hash_compare, Allocator, Allow_multimapping >::value_compare</a>)</td><td class="entry"><a class="el" href="a00157.html">tbb::interface5::concurrent_unordered_map_traits< Key, T, Hash_compare, Allocator, Allow_multimapping &g [...]
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>my_hash_compare</b> (defined in <a class="el" href="a00157.html">tbb::interface5::concurrent_unordered_map_traits< Key, T, Hash_compare, Allocator, Allow_multimapping >::value_compare</a>)</td><td class="entry"><a class="el" href="a00157.html">tbb::interface5::concurrent_unordered_map_traits< Key, T, Hash_compare, Allocator, Allow_multimapping >::value_compare</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator()</b>(const value_type &left, const value_type &right) const  (defined in <a class="el" href="a00157.html">tbb::interface5::concurrent_unordered_map_traits< Key, T, Hash_compare, Allocator, Allow_multimapping >::value_compare</a>)</td><td class="entry"><a class="el" href="a00157.html">tbb::interface5::concurrent_unordered_map_traits< Key, T, Hash_compare, Allocator, Allow_multimapping >::value_compare< [...]
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>value_compare</b>(const hash_compare &comparator) (defined in <a class="el" href="a00157.html">tbb::interface5::concurrent_unordered_map_traits< Key, T, Hash_compare, Allocator, Allow_multimapping >::value_compare</a>)</td><td class="entry"><a class="el" href="a00157.html">tbb::interface5::concurrent_unordered_map_traits< Key, T, Hash_compare, Allocator, Allow_multimapping >::value_compare</a></td><td class="entry"><span class= [...]
+</table></div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00342.html b/doc/html/a00342.html
index a1b7a93..bc68e42 100644
--- a/doc/html/a00342.html
+++ b/doc/html/a00342.html
@@ -1,141 +1,87 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>tbb::flow::interface6::source_node< Output > Class Template Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="nav">
-<a class="el" href="a00428.html">tbb</a>::<b>flow</b>::<b>interface6</b>::<a class="el" href="a00342.html">source_node</a></div>
-<h1>tbb::flow::interface6::source_node< Output > Class Template Reference</h1><!-- doxytag: class="tbb::flow::interface6::source_node" --><!-- doxytag: inherits="tbb::flow::interface6::graph_node,tbb::flow::interface6::sender< Output >" -->An executable node that acts as a source, i.e. it has no predecessors.  
-<a href="#_details">More...</a>
-<p>
-<code>#include <flow_graph.h></code>
-<p>
-<p>Inheritance diagram for tbb::flow::interface6::source_node< Output >:
-<p><center><img src="a00342.png" usemap="#tbb::flow::interface6::source_node< Output >_map" border="0" alt=""></center>
-<map name="tbb::flow::interface6::source_node< Output >_map">
-<area href="a00301.html" alt="tbb::flow::interface6::graph_node" shape="rect" coords="0,0,262,24">
-<area href="a00339.html" alt="tbb::flow::interface6::sender< Output >" shape="rect" coords="272,0,534,24">
-</map>
-<a href="a00063.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="407533487cc3f6032c1072cba19c609c"></a><!-- doxytag: member="tbb::flow::interface6::source_node::output_type" ref="407533487cc3f6032c1072cba19c609c" args="" -->
-typedef Output </td><td class="memItemRight" valign="bottom"><a class="el" href="a00342.html#407533487cc3f6032c1072cba19c609c">output_type</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">The type of the output message, which is complete. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="dd7b8fe78f0bec9d6b70cbf1018a69fe"></a><!-- doxytag: member="tbb::flow::interface6::source_node::successor_type" ref="dd7b8fe78f0bec9d6b70cbf1018a69fe" args="" -->
-typedef <a class="el" href="a00333.html">receiver</a>< Output > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00342.html#dd7b8fe78f0bec9d6b70cbf1018a69fe">successor_type</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">The type of successors of this node. <br></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="503c3b395c629296bf5cccd96d6388c1"></a><!-- doxytag: member="tbb::flow::interface6::source_node::source_node" ref="503c3b395c629296bf5cccd96d6388c1" args="(graph &g, Body body, bool is_active=true)" -->
-template<typename Body> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00342.html#503c3b395c629296bf5cccd96d6388c1">source_node</a> (<a class="el" href="a00300.html">graph</a> &g, Body body, bool is_active=true)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Constructor for a node with a successor. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="adaac111fbcace95804219a5f2929304"></a><!-- doxytag: member="tbb::flow::interface6::source_node::source_node" ref="adaac111fbcace95804219a5f2929304" args="(const source_node &src)" -->
- </td><td class="memItemRight" valign="bottom"><a class="el" href="a00342.html#adaac111fbcace95804219a5f2929304">source_node</a> (const <a class="el" href="a00342.html">source_node</a> &src)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Copy constructor. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="61700b0865fc17188b0abe26bbde65b6"></a><!-- doxytag: member="tbb::flow::interface6::source_node::~source_node" ref="61700b0865fc17188b0abe26bbde65b6" args="()" -->
- </td><td class="memItemRight" valign="bottom"><a class="el" href="a00342.html#61700b0865fc17188b0abe26bbde65b6">~source_node</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">The destructor. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="22960d499df9f1569a9d8a544e35afe3"></a><!-- doxytag: member="tbb::flow::interface6::source_node::register_successor" ref="22960d499df9f1569a9d8a544e35afe3" args="(receiver< output_type > &r)" -->
-bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00342.html#22960d499df9f1569a9d8a544e35afe3">register_successor</a> (<a class="el" href="a00333.html">receiver</a>< <a class="el" href="a00342.html#407533487cc3f6032c1072cba19c609c">output_type</a> > &r)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Add a new successor to this node. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="222484bf295f39df36415a29e508e5c9"></a><!-- doxytag: member="tbb::flow::interface6::source_node::remove_successor" ref="222484bf295f39df36415a29e508e5c9" args="(receiver< output_type > &r)" -->
-bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00342.html#222484bf295f39df36415a29e508e5c9">remove_successor</a> (<a class="el" href="a00333.html">receiver</a>< <a class="el" href="a00342.html#407533487cc3f6032c1072cba19c609c">output_type</a> > &r)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Removes a successor from this node. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="41073ad4d3510ed5a8b6bda9c0f58636"></a><!-- doxytag: member="tbb::flow::interface6::source_node::try_get" ref="41073ad4d3510ed5a8b6bda9c0f58636" args="(output_type &v)" -->
-bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00342.html#41073ad4d3510ed5a8b6bda9c0f58636">try_get</a> (<a class="el" href="a00342.html#407533487cc3f6032c1072cba19c609c">output_type</a> &v)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Request an item from the node. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ad459713ff3c1c9ad0f4826daa141f65"></a><!-- doxytag: member="tbb::flow::interface6::source_node::try_reserve" ref="ad459713ff3c1c9ad0f4826daa141f65" args="(output_type &v)" -->
-bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00342.html#ad459713ff3c1c9ad0f4826daa141f65">try_reserve</a> (<a class="el" href="a00342.html#407533487cc3f6032c1072cba19c609c">output_type</a> &v)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Reserves an item. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00342.html#494678baf9096835268736b800824460">try_release</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Release a reserved item.  <a href="#494678baf9096835268736b800824460"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2c7fcc29e2894b29138be3c1edce9bc9"></a><!-- doxytag: member="tbb::flow::interface6::source_node::try_consume" ref="2c7fcc29e2894b29138be3c1edce9bc9" args="()" -->
-bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00342.html#2c7fcc29e2894b29138be3c1edce9bc9">try_consume</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Consumes a reserved item. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4b647e4a93d08ccdd8d323279e4eaaa6"></a><!-- doxytag: member="tbb::flow::interface6::source_node::activate" ref="4b647e4a93d08ccdd8d323279e4eaaa6" args="()" -->
-void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00342.html#4b647e4a93d08ccdd8d323279e4eaaa6">activate</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Activates a node that was created in the inactive state. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="a662424d33788bc5059ba4caee5c9d2f"></a><!-- doxytag: member="tbb::flow::interface6::source_node::copy_function_object" ref="a662424d33788bc5059ba4caee5c9d2f" args="()" -->
-template<typename Body> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">Body </td><td class="memTemplItemRight" valign="bottom"><b>copy_function_object</b> ()</td></tr>
-
-<tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d751cdda02bdaa1dc90c4d9609c05df2"></a><!-- doxytag: member="tbb::flow::interface6::source_node::reset" ref="d751cdda02bdaa1dc90c4d9609c05df2" args="()" -->
-void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00342.html#d751cdda02bdaa1dc90c4d9609c05df2">reset</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">resets the node to its initial state <br></td></tr>
-<tr><td colspan="2"><br><h2>Friends</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="bd00136edc600bf5b4efe816dd9412d4"></a><!-- doxytag: member="tbb::flow::interface6::source_node::internal::source_task_bypass< source_node< output_type > >" ref="bd00136edc600bf5b4efe816dd9412d4" args="" -->
-class </td><td class="memItemRight" valign="bottom"><b>internal::source_task_bypass< source_node< output_type > ></b></td></tr>
-
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-<h3>template<typename Output><br>
- class tbb::flow::interface6::source_node< Output ></h3>
-
-An executable node that acts as a source, i.e. it has no predecessors. 
-<p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="494678baf9096835268736b800824460"></a><!-- doxytag: member="tbb::flow::interface6::source_node::try_release" ref="494678baf9096835268736b800824460" args="()" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template<typename Output> </div>
-      <table class="memname">
-        <tr>
-          <td class="memname">bool <a class="el" href="a00342.html">tbb::flow::interface6::source_node</a>< Output >::try_release           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td> ) </td>
-          <td width="100%"><code> [inline, virtual]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Release a reserved item. 
-<p>
-true = item has been released and so remains in sender, dest must request or reserve future items 
-<p>
-Reimplemented from <a class="el" href="a00339.html#27036b06d6a91e97007e14f400529199">tbb::flow::interface6::sender< Output ></a>.
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>interface5</b></li><li class="navelem"><a class="el" href="a00040.html">concurrent_unordered_map</a></li>  </ul>
 </div>
-</div><p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li><a class="el" href="a00385.html">flow_graph.h</a></ul>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator > Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="a00040.html">tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator ></a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>allocator_type</b> typedef (defined in <a class="el" href="a00040.html">tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator ></a>)</td><td class="entry"><a class="el" href="a00040.html">tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>at</b>(const key_type &key) (defined in <a class="el" href="a00040.html">tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator ></a>)</td><td class="entry"><a class="el" href="a00040.html">tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>at</b>(const key_type &key) const  (defined in <a class="el" href="a00040.html">tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator ></a>)</td><td class="entry"><a class="el" href="a00040.html">tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>concurrent_unordered_map</b>(size_type n_of_buckets=8, const hasher &_Hasher=hasher(), const key_equal &_Key_equality=key_equal(), const allocator_type &a=allocator_type()) (defined in <a class="el" href="a00040.html">tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator ></a>)</td><td class="entry"><a class="el" href="a00040.html">tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_ [...]
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>concurrent_unordered_map</b>(const Allocator &a) (defined in <a class="el" href="a00040.html">tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator ></a>)</td><td class="entry"><a class="el" href="a00040.html">tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>concurrent_unordered_map</b>(Iterator first, Iterator last, size_type n_of_buckets=8, const hasher &_Hasher=hasher(), const key_equal &_Key_equality=key_equal(), const allocator_type &a=allocator_type()) (defined in <a class="el" href="a00040.html">tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator ></a>)</td><td class="entry"><a class="el" href="a00040.html">tbb::interface5::concurrent_unorder [...]
+  <tr class="even"><td class="entry"><a class="el" href="a00040.html#aa45010d834cc5e082321b49fec06f73d">concurrent_unordered_map</a>(std::initializer_list< value_type > const &il, size_type n_of_buckets=8, const hasher &_Hasher=hasher(), const key_equal &_Key_equality=key_equal(), const allocator_type &a=allocator_type())</td><td class="entry"><a class="el" href="a00040.html">tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator >< [...]
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>concurrent_unordered_map</b>(const concurrent_unordered_map &table) (defined in <a class="el" href="a00040.html">tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator ></a>)</td><td class="entry"><a class="el" href="a00040.html">tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>concurrent_unordered_map</b>(const concurrent_unordered_map &table, const Allocator &a) (defined in <a class="el" href="a00040.html">tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator ></a>)</td><td class="entry"><a class="el" href="a00040.html">tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator ></a></td><td class="entry"><span class="mlabel">inli [...]
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>const_iterator</b> typedef (defined in <a class="el" href="a00040.html">tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator ></a>)</td><td class="entry"><a class="el" href="a00040.html">tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>const_local_iterator</b> typedef (defined in <a class="el" href="a00040.html">tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator ></a>)</td><td class="entry"><a class="el" href="a00040.html">tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>const_pointer</b> typedef (defined in <a class="el" href="a00040.html">tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator ></a>)</td><td class="entry"><a class="el" href="a00040.html">tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>const_reference</b> typedef (defined in <a class="el" href="a00040.html">tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator ></a>)</td><td class="entry"><a class="el" href="a00040.html">tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>difference_type</b> typedef (defined in <a class="el" href="a00040.html">tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator ></a>)</td><td class="entry"><a class="el" href="a00040.html">tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>hash_function</b>() const  (defined in <a class="el" href="a00040.html">tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator ></a>)</td><td class="entry"><a class="el" href="a00040.html">tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>hasher</b> typedef (defined in <a class="el" href="a00040.html">tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator ></a>)</td><td class="entry"><a class="el" href="a00040.html">tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>iterator</b> typedef (defined in <a class="el" href="a00040.html">tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator ></a>)</td><td class="entry"><a class="el" href="a00040.html">tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>key_compare</b> typedef (defined in <a class="el" href="a00040.html">tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator ></a>)</td><td class="entry"><a class="el" href="a00040.html">tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>key_eq</b>() const  (defined in <a class="el" href="a00040.html">tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator ></a>)</td><td class="entry"><a class="el" href="a00040.html">tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>key_equal</b> typedef (defined in <a class="el" href="a00040.html">tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator ></a>)</td><td class="entry"><a class="el" href="a00040.html">tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>key_type</b> typedef (defined in <a class="el" href="a00040.html">tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator ></a>)</td><td class="entry"><a class="el" href="a00040.html">tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>local_iterator</b> typedef (defined in <a class="el" href="a00040.html">tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator ></a>)</td><td class="entry"><a class="el" href="a00040.html">tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>mapped_type</b> typedef (defined in <a class="el" href="a00040.html">tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator ></a>)</td><td class="entry"><a class="el" href="a00040.html">tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>operator=</b>(const concurrent_unordered_map &table) (defined in <a class="el" href="a00040.html">tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator ></a>)</td><td class="entry"><a class="el" href="a00040.html">tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00040.html#ad641e7a34077b6a490625da4858b509a">operator=</a>(std::initializer_list< value_type > const &il)</td><td class="entry"><a class="el" href="a00040.html">tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>operator[]</b>(const key_type &key) (defined in <a class="el" href="a00040.html">tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator ></a>)</td><td class="entry"><a class="el" href="a00040.html">tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>pointer</b> typedef (defined in <a class="el" href="a00040.html">tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator ></a>)</td><td class="entry"><a class="el" href="a00040.html">tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>reference</b> typedef (defined in <a class="el" href="a00040.html">tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator ></a>)</td><td class="entry"><a class="el" href="a00040.html">tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>size_type</b> typedef (defined in <a class="el" href="a00040.html">tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator ></a>)</td><td class="entry"><a class="el" href="a00040.html">tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>swap</b>(concurrent_unordered_map &table) (defined in <a class="el" href="a00040.html">tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator ></a>)</td><td class="entry"><a class="el" href="a00040.html">tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>unsafe_erase</b>(const_iterator where) (defined in <a class="el" href="a00040.html">tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator ></a>)</td><td class="entry"><a class="el" href="a00040.html">tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>unsafe_erase</b>(const key_type &key) (defined in <a class="el" href="a00040.html">tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator ></a>)</td><td class="entry"><a class="el" href="a00040.html">tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>unsafe_erase</b>(const_iterator first, const_iterator last) (defined in <a class="el" href="a00040.html">tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator ></a>)</td><td class="entry"><a class="el" href="a00040.html">tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>value_type</b> typedef (defined in <a class="el" href="a00040.html">tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator ></a>)</td><td class="entry"><a class="el" href="a00040.html">tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator ></a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00342.png b/doc/html/a00342.png
deleted file mode 100644
index 14df9ee..0000000
Binary files a/doc/html/a00342.png and /dev/null differ
diff --git a/doc/html/a00343.html b/doc/html/a00343.html
index a63b25a..af1d5d3 100644
--- a/doc/html/a00343.html
+++ b/doc/html/a00343.html
@@ -1,129 +1,84 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>tbb::spin_mutex Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="nav">
-<a class="el" href="a00428.html">tbb</a>::<a class="el" href="a00343.html">spin_mutex</a></div>
-<h1>tbb::spin_mutex Class Reference<br>
-<small>
-[<a class="el" href="a00444.html">Synchronization</a>]</small>
-</h1><!-- doxytag: class="tbb::spin_mutex" -->A lock that occupies a single byte.  
-<a href="#_details">More...</a>
-<p>
-<code>#include <spin_mutex.h></code>
-<p>
-<a href="a00127.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00343.html#3d8fb44644fd8d41ada1fbeba7409be3">spin_mutex</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Construct unacquired lock.  <a href="#3d8fb44644fd8d41ada1fbeba7409be3"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4b3fa21632815f8fab2fd6c67ec0d48c"></a><!-- doxytag: member="tbb::spin_mutex::internal_construct" ref="4b3fa21632815f8fab2fd6c67ec0d48c" args="()" -->
-void __TBB_EXPORTED_METHOD </td><td class="memItemRight" valign="bottom"><a class="el" href="a00343.html#4b3fa21632815f8fab2fd6c67ec0d48c">internal_construct</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Internal constructor with ITT instrumentation. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4f748989e19b6045e3a2d2ee73626a28"></a><!-- doxytag: member="tbb::spin_mutex::lock" ref="4f748989e19b6045e3a2d2ee73626a28" args="()" -->
-void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00343.html#4f748989e19b6045e3a2d2ee73626a28">lock</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Acquire lock. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00343.html#8f9a58fb56a2b4c5efe1a7f7c1ae2074">try_lock</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Try acquiring lock (non-blocking).  <a href="#8f9a58fb56a2b4c5efe1a7f7c1ae2074"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0e843ee6265f57f27d228ba91e7308ef"></a><!-- doxytag: member="tbb::spin_mutex::unlock" ref="0e843ee6265f57f27d228ba91e7308ef" args="()" -->
-void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00343.html#0e843ee6265f57f27d228ba91e7308ef">unlock</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Release lock. <br></td></tr>
-<tr><td colspan="2"><br><h2>Static Public Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5a7c93ca9e7ab656037a43984f24c051"></a><!-- doxytag: member="tbb::spin_mutex::is_rw_mutex" ref="5a7c93ca9e7ab656037a43984f24c051" args="" -->
-static const bool </td><td class="memItemRight" valign="bottom"><b>is_rw_mutex</b> = false</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a967c455d0d80c9bbe030905201391b6"></a><!-- doxytag: member="tbb::spin_mutex::is_recursive_mutex" ref="a967c455d0d80c9bbe030905201391b6" args="" -->
-static const bool </td><td class="memItemRight" valign="bottom"><b>is_recursive_mutex</b> = false</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ec12e4036073fb684b6d2d33493ed0aa"></a><!-- doxytag: member="tbb::spin_mutex::is_fair_mutex" ref="ec12e4036073fb684b6d2d33493ed0aa" args="" -->
-static const bool </td><td class="memItemRight" valign="bottom"><b>is_fair_mutex</b> = false</td></tr>
-
-<tr><td colspan="2"><br><h2>Friends</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a36f15b770a1bb0b56e33d7fa75ebd1a"></a><!-- doxytag: member="tbb::spin_mutex::scoped_lock" ref="a36f15b770a1bb0b56e33d7fa75ebd1a" args="" -->
-class </td><td class="memItemRight" valign="bottom"><b>scoped_lock</b></td></tr>
-
-<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00344.html">scoped_lock</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Represents acquisition of a mutex.  <a href="a00344.html#_details">More...</a><br></td></tr>
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-A lock that occupies a single byte. 
-<p>
-A <a class="el" href="a00343.html">spin_mutex</a> is a spin mutex that fits in a single byte. It should be used only for locking short critical sections (typically less than 20 instructions) when fairness is not an issue. If zero-initialized, the mutex is considered unheld. 
-<p>
-<hr><h2>Constructor & Destructor Documentation</h2>
-<a class="anchor" name="3d8fb44644fd8d41ada1fbeba7409be3"></a><!-- doxytag: member="tbb::spin_mutex::spin_mutex" ref="3d8fb44644fd8d41ada1fbeba7409be3" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">tbb::spin_mutex::spin_mutex           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td> ) </td>
-          <td width="100%"><code> [inline]</code></td>
-        </tr>
-      </table>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>interface5</b></li><li class="navelem"><a class="el" href="a00042.html">concurrent_unordered_multimap</a></li>  </ul>
 </div>
-<div class="memdoc">
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator > Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
 
-<p>
-Construct unacquired lock. 
-<p>
-Equivalent to zero-initialization of *this. 
-</div>
-</div><p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="8f9a58fb56a2b4c5efe1a7f7c1ae2074"></a><!-- doxytag: member="tbb::spin_mutex::try_lock" ref="8f9a58fb56a2b4c5efe1a7f7c1ae2074" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool tbb::spin_mutex::try_lock           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td> ) </td>
-          <td width="100%"><code> [inline]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Try acquiring lock (non-blocking). 
-<p>
-Return true if lock acquired; false otherwise. 
-</div>
-</div><p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li>spin_mutex.h</ul>
+<p>This is the complete list of members for <a class="el" href="a00042.html">tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator ></a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>allocator_type</b> typedef (defined in <a class="el" href="a00042.html">tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator ></a>)</td><td class="entry"><a class="el" href="a00042.html">tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>concurrent_unordered_multimap</b>(size_type n_of_buckets=8, const hasher &_Hasher=hasher(), const key_equal &_Key_equality=key_equal(), const allocator_type &a=allocator_type()) (defined in <a class="el" href="a00042.html">tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator ></a>)</td><td class="entry"><a class="el" href="a00042.html">tbb::interface5::concurrent_unordered_multimap< Key,  [...]
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>concurrent_unordered_multimap</b>(const Allocator &a) (defined in <a class="el" href="a00042.html">tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator ></a>)</td><td class="entry"><a class="el" href="a00042.html">tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>concurrent_unordered_multimap</b>(Iterator first, Iterator last, size_type n_of_buckets=8, const hasher &_Hasher=hasher(), const key_equal &_Key_equality=key_equal(), const allocator_type &a=allocator_type()) (defined in <a class="el" href="a00042.html">tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator ></a>)</td><td class="entry"><a class="el" href="a00042.html">tbb::interface5::concurre [...]
+  <tr class="even"><td class="entry"><a class="el" href="a00042.html#a169314a424d47679e4aa343b70f75f00">concurrent_unordered_multimap</a>(std::initializer_list< value_type > const &il, size_type n_of_buckets=8, const hasher &_Hasher=hasher(), const key_equal &_Key_equality=key_equal(), const allocator_type &a=allocator_type())</td><td class="entry"><a class="el" href="a00042.html">tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Alloc [...]
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>concurrent_unordered_multimap</b>(const concurrent_unordered_multimap &table) (defined in <a class="el" href="a00042.html">tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator ></a>)</td><td class="entry"><a class="el" href="a00042.html">tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>concurrent_unordered_multimap</b>(const concurrent_unordered_multimap &table, const Allocator &a) (defined in <a class="el" href="a00042.html">tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator ></a>)</td><td class="entry"><a class="el" href="a00042.html">tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator ></a></td><td class="entry"><span [...]
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>const_iterator</b> typedef (defined in <a class="el" href="a00042.html">tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator ></a>)</td><td class="entry"><a class="el" href="a00042.html">tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>const_local_iterator</b> typedef (defined in <a class="el" href="a00042.html">tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator ></a>)</td><td class="entry"><a class="el" href="a00042.html">tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>const_pointer</b> typedef (defined in <a class="el" href="a00042.html">tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator ></a>)</td><td class="entry"><a class="el" href="a00042.html">tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>const_reference</b> typedef (defined in <a class="el" href="a00042.html">tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator ></a>)</td><td class="entry"><a class="el" href="a00042.html">tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>difference_type</b> typedef (defined in <a class="el" href="a00042.html">tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator ></a>)</td><td class="entry"><a class="el" href="a00042.html">tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>hash_function</b>() const  (defined in <a class="el" href="a00042.html">tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator ></a>)</td><td class="entry"><a class="el" href="a00042.html">tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>hasher</b> typedef (defined in <a class="el" href="a00042.html">tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator ></a>)</td><td class="entry"><a class="el" href="a00042.html">tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>iterator</b> typedef (defined in <a class="el" href="a00042.html">tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator ></a>)</td><td class="entry"><a class="el" href="a00042.html">tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>key_compare</b> typedef (defined in <a class="el" href="a00042.html">tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator ></a>)</td><td class="entry"><a class="el" href="a00042.html">tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>key_eq</b>() const  (defined in <a class="el" href="a00042.html">tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator ></a>)</td><td class="entry"><a class="el" href="a00042.html">tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>key_equal</b> typedef (defined in <a class="el" href="a00042.html">tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator ></a>)</td><td class="entry"><a class="el" href="a00042.html">tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>key_type</b> typedef (defined in <a class="el" href="a00042.html">tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator ></a>)</td><td class="entry"><a class="el" href="a00042.html">tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>local_iterator</b> typedef (defined in <a class="el" href="a00042.html">tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator ></a>)</td><td class="entry"><a class="el" href="a00042.html">tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>mapped_type</b> typedef (defined in <a class="el" href="a00042.html">tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator ></a>)</td><td class="entry"><a class="el" href="a00042.html">tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>operator=</b>(const concurrent_unordered_multimap &table) (defined in <a class="el" href="a00042.html">tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator ></a>)</td><td class="entry"><a class="el" href="a00042.html">tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00042.html#adac1da59fdf8b536f95ea5be3134785f">operator=</a>(std::initializer_list< value_type > const &il)</td><td class="entry"><a class="el" href="a00042.html">tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>pointer</b> typedef (defined in <a class="el" href="a00042.html">tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator ></a>)</td><td class="entry"><a class="el" href="a00042.html">tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>reference</b> typedef (defined in <a class="el" href="a00042.html">tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator ></a>)</td><td class="entry"><a class="el" href="a00042.html">tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>size_type</b> typedef (defined in <a class="el" href="a00042.html">tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator ></a>)</td><td class="entry"><a class="el" href="a00042.html">tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>swap</b>(concurrent_unordered_multimap &table) (defined in <a class="el" href="a00042.html">tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator ></a>)</td><td class="entry"><a class="el" href="a00042.html">tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>unsafe_erase</b>(const_iterator where) (defined in <a class="el" href="a00042.html">tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator ></a>)</td><td class="entry"><a class="el" href="a00042.html">tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>unsafe_erase</b>(const key_type &key) (defined in <a class="el" href="a00042.html">tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator ></a>)</td><td class="entry"><a class="el" href="a00042.html">tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>unsafe_erase</b>(const_iterator first, const_iterator last) (defined in <a class="el" href="a00042.html">tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator ></a>)</td><td class="entry"><a class="el" href="a00042.html">tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>value_type</b> typedef (defined in <a class="el" href="a00042.html">tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator ></a>)</td><td class="entry"><a class="el" href="a00042.html">tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator ></a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00344.html b/doc/html/a00344.html
index 7a5accf..75aa6bc 100644
--- a/doc/html/a00344.html
+++ b/doc/html/a00344.html
@@ -1,94 +1,63 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>tbb::spin_mutex::scoped_lock Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="nav">
-<a class="el" href="a00428.html">tbb</a>::<a class="el" href="a00343.html">spin_mutex</a>::<a class="el" href="a00344.html">scoped_lock</a></div>
-<h1>tbb::spin_mutex::scoped_lock Class Reference</h1><!-- doxytag: class="tbb::spin_mutex::scoped_lock" -->Represents acquisition of a mutex.  
-<a href="#_details">More...</a>
-<p>
-<code>#include <spin_mutex.h></code>
-<p>
-<a href="a00128.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="29ae680ae7f5e685c2e15535b9c855b3"></a><!-- doxytag: member="tbb::spin_mutex::scoped_lock::scoped_lock" ref="29ae680ae7f5e685c2e15535b9c855b3" args="()" -->
- </td><td class="memItemRight" valign="bottom"><a class="el" href="a00344.html#29ae680ae7f5e685c2e15535b9c855b3">scoped_lock</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Construct without acquiring a mutex. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5ce6807050a9e8f87bcb4a65dccb12ef"></a><!-- doxytag: member="tbb::spin_mutex::scoped_lock::scoped_lock" ref="5ce6807050a9e8f87bcb4a65dccb12ef" args="(spin_mutex &m)" -->
- </td><td class="memItemRight" valign="bottom"><a class="el" href="a00344.html#5ce6807050a9e8f87bcb4a65dccb12ef">scoped_lock</a> (<a class="el" href="a00343.html">spin_mutex</a> &m)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Construct and acquire lock on a mutex. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3ee3c338732b1f64b0b32a757807a30d"></a><!-- doxytag: member="tbb::spin_mutex::scoped_lock::acquire" ref="3ee3c338732b1f64b0b32a757807a30d" args="(spin_mutex &m)" -->
-void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00344.html#3ee3c338732b1f64b0b32a757807a30d">acquire</a> (<a class="el" href="a00343.html">spin_mutex</a> &m)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Acquire lock. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00344.html#9297ec188534b45dc0ca48f2f39a0501">try_acquire</a> (<a class="el" href="a00343.html">spin_mutex</a> &m)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Try acquiring lock (non-blocking).  <a href="#9297ec188534b45dc0ca48f2f39a0501"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="eeb615e68e963e6bf8d9c11402d0ce8e"></a><!-- doxytag: member="tbb::spin_mutex::scoped_lock::release" ref="eeb615e68e963e6bf8d9c11402d0ce8e" args="()" -->
-void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00344.html#eeb615e68e963e6bf8d9c11402d0ce8e">release</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Release lock. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ac6fa425d1f06c56d8b70abc51aac844"></a><!-- doxytag: member="tbb::spin_mutex::scoped_lock::~scoped_lock" ref="ac6fa425d1f06c56d8b70abc51aac844" args="()" -->
- </td><td class="memItemRight" valign="bottom"><a class="el" href="a00344.html#ac6fa425d1f06c56d8b70abc51aac844">~scoped_lock</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Destroy lock. If holding a lock, releases the lock first. <br></td></tr>
-<tr><td colspan="2"><br><h2>Friends</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6ee2a2cdaf6a2128849e7d7723d9174f"></a><!-- doxytag: member="tbb::spin_mutex::scoped_lock::spin_mutex" ref="6ee2a2cdaf6a2128849e7d7723d9174f" args="" -->
-class </td><td class="memItemRight" valign="bottom"><b>spin_mutex</b></td></tr>
-
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-Represents acquisition of a mutex. 
-<p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="9297ec188534b45dc0ca48f2f39a0501"></a><!-- doxytag: member="tbb::spin_mutex::scoped_lock::try_acquire" ref="9297ec188534b45dc0ca48f2f39a0501" args="(spin_mutex &m)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool tbb::spin_mutex::scoped_lock::try_acquire           </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="a00343.html">spin_mutex</a> & </td>
-          <td class="paramname"> <em>m</em>          </td>
-          <td> ) </td>
-          <td width="100%"><code> [inline]</code></td>
-        </tr>
-      </table>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>interface5</b></li><li class="navelem"><a class="el" href="a00045.html">concurrent_unordered_set_traits</a></li>  </ul>
 </div>
-<div class="memdoc">
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::interface5::concurrent_unordered_set_traits< Key, Hash_compare, Allocator, Allow_multimapping > Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
 
-<p>
-Try acquiring lock (non-blocking). 
-<p>
-Return true if lock acquired; false otherwise. 
-</div>
-</div><p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li>spin_mutex.h</ul>
+<p>This is the complete list of members for <a class="el" href="a00045.html">tbb::interface5::concurrent_unordered_set_traits< Key, Hash_compare, Allocator, Allow_multimapping ></a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>allocator_type</b> typedef (defined in <a class="el" href="a00045.html">tbb::interface5::concurrent_unordered_set_traits< Key, Hash_compare, Allocator, Allow_multimapping ></a>)</td><td class="entry"><a class="el" href="a00045.html">tbb::interface5::concurrent_unordered_set_traits< Key, Hash_compare, Allocator, Allow_multimapping ></a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>allow_multimapping</b> enum value (defined in <a class="el" href="a00045.html">tbb::interface5::concurrent_unordered_set_traits< Key, Hash_compare, Allocator, Allow_multimapping ></a>)</td><td class="entry"><a class="el" href="a00045.html">tbb::interface5::concurrent_unordered_set_traits< Key, Hash_compare, Allocator, Allow_multimapping ></a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>concurrent_unordered_set_traits</b>() (defined in <a class="el" href="a00045.html">tbb::interface5::concurrent_unordered_set_traits< Key, Hash_compare, Allocator, Allow_multimapping ></a>)</td><td class="entry"><a class="el" href="a00045.html">tbb::interface5::concurrent_unordered_set_traits< Key, Hash_compare, Allocator, Allow_multimapping ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlab [...]
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>concurrent_unordered_set_traits</b>(const hash_compare &hc) (defined in <a class="el" href="a00045.html">tbb::interface5::concurrent_unordered_set_traits< Key, Hash_compare, Allocator, Allow_multimapping ></a>)</td><td class="entry"><a class="el" href="a00045.html">tbb::interface5::concurrent_unordered_set_traits< Key, Hash_compare, Allocator, Allow_multimapping ></a></td><td class="entry"><span class="mlabel">inline</span><spa [...]
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>get_key</b>(const value_type &value) (defined in <a class="el" href="a00045.html">tbb::interface5::concurrent_unordered_set_traits< Key, Hash_compare, Allocator, Allow_multimapping ></a>)</td><td class="entry"><a class="el" href="a00045.html">tbb::interface5::concurrent_unordered_set_traits< Key, Hash_compare, Allocator, Allow_multimapping ></a></td><td class="entry"><span class="mlabel">inline</span><span class="m [...]
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>hash_compare</b> typedef (defined in <a class="el" href="a00045.html">tbb::interface5::concurrent_unordered_set_traits< Key, Hash_compare, Allocator, Allow_multimapping ></a>)</td><td class="entry"><a class="el" href="a00045.html">tbb::interface5::concurrent_unordered_set_traits< Key, Hash_compare, Allocator, Allow_multimapping ></a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>key_type</b> typedef (defined in <a class="el" href="a00045.html">tbb::interface5::concurrent_unordered_set_traits< Key, Hash_compare, Allocator, Allow_multimapping ></a>)</td><td class="entry"><a class="el" href="a00045.html">tbb::interface5::concurrent_unordered_set_traits< Key, Hash_compare, Allocator, Allow_multimapping ></a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>my_hash_compare</b> (defined in <a class="el" href="a00045.html">tbb::interface5::concurrent_unordered_set_traits< Key, Hash_compare, Allocator, Allow_multimapping ></a>)</td><td class="entry"><a class="el" href="a00045.html">tbb::interface5::concurrent_unordered_set_traits< Key, Hash_compare, Allocator, Allow_multimapping ></a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>value_compare</b> typedef (defined in <a class="el" href="a00045.html">tbb::interface5::concurrent_unordered_set_traits< Key, Hash_compare, Allocator, Allow_multimapping ></a>)</td><td class="entry"><a class="el" href="a00045.html">tbb::interface5::concurrent_unordered_set_traits< Key, Hash_compare, Allocator, Allow_multimapping ></a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>value_type</b> typedef (defined in <a class="el" href="a00045.html">tbb::interface5::concurrent_unordered_set_traits< Key, Hash_compare, Allocator, Allow_multimapping ></a>)</td><td class="entry"><a class="el" href="a00045.html">tbb::interface5::concurrent_unordered_set_traits< Key, Hash_compare, Allocator, Allow_multimapping ></a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+</table></div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00345.html b/doc/html/a00345.html
index 07ac43c..c93e8a9 100644
--- a/doc/html/a00345.html
+++ b/doc/html/a00345.html
@@ -1,130 +1,84 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>tbb::spin_rw_mutex_v3 Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="nav">
-<a class="el" href="a00428.html">tbb</a>::<a class="el" href="a00345.html">spin_rw_mutex_v3</a></div>
-<h1>tbb::spin_rw_mutex_v3 Class Reference<br>
-<small>
-[<a class="el" href="a00444.html">Synchronization</a>]</small>
-</h1><!-- doxytag: class="tbb::spin_rw_mutex_v3" -->Fast, unfair, spinning reader-writer lock with backoff and writer-preference.  
-<a href="#_details">More...</a>
-<p>
-<code>#include <spin_rw_mutex.h></code>
-<p>
-<a href="a00129.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="61332b2756de89f3f5f69310cbb6e70c"></a><!-- doxytag: member="tbb::spin_rw_mutex_v3::spin_rw_mutex_v3" ref="61332b2756de89f3f5f69310cbb6e70c" args="()" -->
- </td><td class="memItemRight" valign="bottom"><a class="el" href="a00345.html#61332b2756de89f3f5f69310cbb6e70c">spin_rw_mutex_v3</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Construct unacquired mutex. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9a815fb2759e55072ed413f1b6970cf3"></a><!-- doxytag: member="tbb::spin_rw_mutex_v3::~spin_rw_mutex_v3" ref="9a815fb2759e55072ed413f1b6970cf3" args="()" -->
- </td><td class="memItemRight" valign="bottom"><a class="el" href="a00345.html#9a815fb2759e55072ed413f1b6970cf3">~spin_rw_mutex_v3</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Destructor asserts if the mutex is acquired, i.e. state is zero. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4007d6e1523dbc3c2bb7f889ab789a8a"></a><!-- doxytag: member="tbb::spin_rw_mutex_v3::lock" ref="4007d6e1523dbc3c2bb7f889ab789a8a" args="()" -->
-void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00345.html#4007d6e1523dbc3c2bb7f889ab789a8a">lock</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Acquire writer lock. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00345.html#088bb256be794cc47d3b83791632fdfc">try_lock</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Try acquiring writer lock (non-blocking).  <a href="#088bb256be794cc47d3b83791632fdfc"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f9f52ead2098eb5fb12da59d5ae53b55"></a><!-- doxytag: member="tbb::spin_rw_mutex_v3::unlock" ref="f9f52ead2098eb5fb12da59d5ae53b55" args="()" -->
-void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00345.html#f9f52ead2098eb5fb12da59d5ae53b55">unlock</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Release lock. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="13f799708ac4ca437a16be202e263e18"></a><!-- doxytag: member="tbb::spin_rw_mutex_v3::lock_read" ref="13f799708ac4ca437a16be202e263e18" args="()" -->
-void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00345.html#13f799708ac4ca437a16be202e263e18">lock_read</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Acquire reader lock. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00345.html#b8667415869013f840d976aa406d385a">try_lock_read</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Try acquiring reader lock (non-blocking).  <a href="#b8667415869013f840d976aa406d385a"></a><br></td></tr>
-<tr><td colspan="2"><br><h2>Static Public Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4c1e60f22c01604ca93c41b8334cc15e"></a><!-- doxytag: member="tbb::spin_rw_mutex_v3::is_rw_mutex" ref="4c1e60f22c01604ca93c41b8334cc15e" args="" -->
-static const bool </td><td class="memItemRight" valign="bottom"><b>is_rw_mutex</b> = true</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="681a816fe76d6ca7752303f9dcc3c4b2"></a><!-- doxytag: member="tbb::spin_rw_mutex_v3::is_recursive_mutex" ref="681a816fe76d6ca7752303f9dcc3c4b2" args="" -->
-static const bool </td><td class="memItemRight" valign="bottom"><b>is_recursive_mutex</b> = false</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4dd66d90df6247da6050e88b2aa3b820"></a><!-- doxytag: member="tbb::spin_rw_mutex_v3::is_fair_mutex" ref="4dd66d90df6247da6050e88b2aa3b820" args="" -->
-static const bool </td><td class="memItemRight" valign="bottom"><b>is_fair_mutex</b> = false</td></tr>
-
-<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00346.html">scoped_lock</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">The scoped locking pattern.  <a href="a00346.html#_details">More...</a><br></td></tr>
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-Fast, unfair, spinning reader-writer lock with backoff and writer-preference. 
-<p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="088bb256be794cc47d3b83791632fdfc"></a><!-- doxytag: member="tbb::spin_rw_mutex_v3::try_lock" ref="088bb256be794cc47d3b83791632fdfc" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool tbb::spin_rw_mutex_v3::try_lock           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td> ) </td>
-          <td width="100%"><code> [inline]</code></td>
-        </tr>
-      </table>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>interface5</b></li><li class="navelem"><a class="el" href="a00044.html">concurrent_unordered_set</a></li>  </ul>
 </div>
-<div class="memdoc">
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator > Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
 
-<p>
-Try acquiring writer lock (non-blocking). 
-<p>
-Return true if lock acquired; false otherwise. 
-</div>
-</div><p>
-<a class="anchor" name="b8667415869013f840d976aa406d385a"></a><!-- doxytag: member="tbb::spin_rw_mutex_v3::try_lock_read" ref="b8667415869013f840d976aa406d385a" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool tbb::spin_rw_mutex_v3::try_lock_read           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td> ) </td>
-          <td width="100%"><code> [inline]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Try acquiring reader lock (non-blocking). 
-<p>
-Return true if reader lock acquired; false otherwise. 
-</div>
-</div><p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li>spin_rw_mutex.h</ul>
+<p>This is the complete list of members for <a class="el" href="a00044.html">tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator ></a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>allocator_type</b> typedef (defined in <a class="el" href="a00044.html">tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator ></a>)</td><td class="entry"><a class="el" href="a00044.html">tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>concurrent_unordered_set</b>(size_type n_of_buckets=8, const hasher &a_hasher=hasher(), const key_equal &a_keyeq=key_equal(), const allocator_type &a=allocator_type()) (defined in <a class="el" href="a00044.html">tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator ></a>)</td><td class="entry"><a class="el" href="a00044.html">tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, A [...]
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>concurrent_unordered_set</b>(const Allocator &a) (defined in <a class="el" href="a00044.html">tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator ></a>)</td><td class="entry"><a class="el" href="a00044.html">tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>concurrent_unordered_set</b>(Iterator first, Iterator last, size_type n_of_buckets=8, const hasher &a_hasher=hasher(), const key_equal &a_keyeq=key_equal(), const allocator_type &a=allocator_type()) (defined in <a class="el" href="a00044.html">tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator ></a>)</td><td class="entry"><a class="el" href="a00044.html">tbb::interface5::concurrent_unordered_set&l [...]
+  <tr class="even"><td class="entry"><a class="el" href="a00044.html#ae0570fa46456245509cc789e17bd0c21">concurrent_unordered_set</a>(std::initializer_list< value_type > const &il, size_type n_of_buckets=8, const hasher &a_hasher=hasher(), const key_equal &a_keyeq=key_equal(), const allocator_type &a=allocator_type())</td><td class="entry"><a class="el" href="a00044.html">tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator ></a></td> [...]
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>concurrent_unordered_set</b>(const concurrent_unordered_set &table) (defined in <a class="el" href="a00044.html">tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator ></a>)</td><td class="entry"><a class="el" href="a00044.html">tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>concurrent_unordered_set</b>(const concurrent_unordered_set &table, const Allocator &a) (defined in <a class="el" href="a00044.html">tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator ></a>)</td><td class="entry"><a class="el" href="a00044.html">tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator ></a></td><td class="entry"><span class="mlabel">inline</sp [...]
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>const_iterator</b> typedef (defined in <a class="el" href="a00044.html">tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator ></a>)</td><td class="entry"><a class="el" href="a00044.html">tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>const_local_iterator</b> typedef (defined in <a class="el" href="a00044.html">tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator ></a>)</td><td class="entry"><a class="el" href="a00044.html">tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>const_pointer</b> typedef (defined in <a class="el" href="a00044.html">tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator ></a>)</td><td class="entry"><a class="el" href="a00044.html">tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>const_reference</b> typedef (defined in <a class="el" href="a00044.html">tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator ></a>)</td><td class="entry"><a class="el" href="a00044.html">tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>difference_type</b> typedef (defined in <a class="el" href="a00044.html">tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator ></a>)</td><td class="entry"><a class="el" href="a00044.html">tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>hash_function</b>() const  (defined in <a class="el" href="a00044.html">tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator ></a>)</td><td class="entry"><a class="el" href="a00044.html">tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>hasher</b> typedef (defined in <a class="el" href="a00044.html">tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator ></a>)</td><td class="entry"><a class="el" href="a00044.html">tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>iterator</b> typedef (defined in <a class="el" href="a00044.html">tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator ></a>)</td><td class="entry"><a class="el" href="a00044.html">tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>key_compare</b> typedef (defined in <a class="el" href="a00044.html">tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator ></a>)</td><td class="entry"><a class="el" href="a00044.html">tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>key_eq</b>() const  (defined in <a class="el" href="a00044.html">tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator ></a>)</td><td class="entry"><a class="el" href="a00044.html">tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>key_equal</b> typedef (defined in <a class="el" href="a00044.html">tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator ></a>)</td><td class="entry"><a class="el" href="a00044.html">tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>key_type</b> typedef (defined in <a class="el" href="a00044.html">tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator ></a>)</td><td class="entry"><a class="el" href="a00044.html">tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>local_iterator</b> typedef (defined in <a class="el" href="a00044.html">tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator ></a>)</td><td class="entry"><a class="el" href="a00044.html">tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>mapped_type</b> typedef (defined in <a class="el" href="a00044.html">tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator ></a>)</td><td class="entry"><a class="el" href="a00044.html">tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>operator=</b>(const concurrent_unordered_set &table) (defined in <a class="el" href="a00044.html">tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator ></a>)</td><td class="entry"><a class="el" href="a00044.html">tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00044.html#ab8bc097b955ce129641eb3cf9f4cd4d5">operator=</a>(std::initializer_list< value_type > const &il)</td><td class="entry"><a class="el" href="a00044.html">tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>pointer</b> typedef (defined in <a class="el" href="a00044.html">tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator ></a>)</td><td class="entry"><a class="el" href="a00044.html">tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>reference</b> typedef (defined in <a class="el" href="a00044.html">tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator ></a>)</td><td class="entry"><a class="el" href="a00044.html">tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>size_type</b> typedef (defined in <a class="el" href="a00044.html">tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator ></a>)</td><td class="entry"><a class="el" href="a00044.html">tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>swap</b>(concurrent_unordered_set &table) (defined in <a class="el" href="a00044.html">tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator ></a>)</td><td class="entry"><a class="el" href="a00044.html">tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>unsafe_erase</b>(const_iterator where) (defined in <a class="el" href="a00044.html">tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator ></a>)</td><td class="entry"><a class="el" href="a00044.html">tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>unsafe_erase</b>(const key_type &key) (defined in <a class="el" href="a00044.html">tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator ></a>)</td><td class="entry"><a class="el" href="a00044.html">tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>unsafe_erase</b>(const_iterator first, const_iterator last) (defined in <a class="el" href="a00044.html">tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator ></a>)</td><td class="entry"><a class="el" href="a00044.html">tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>value_type</b> typedef (defined in <a class="el" href="a00044.html">tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator ></a>)</td><td class="entry"><a class="el" href="a00044.html">tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator ></a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00346.html b/doc/html/a00346.html
index be51b66..0b42b89 100644
--- a/doc/html/a00346.html
+++ b/doc/html/a00346.html
@@ -1,146 +1,90 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>tbb::spin_rw_mutex_v3::scoped_lock Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="nav">
-<a class="el" href="a00428.html">tbb</a>::<a class="el" href="a00345.html">spin_rw_mutex_v3</a>::<a class="el" href="a00346.html">scoped_lock</a></div>
-<h1>tbb::spin_rw_mutex_v3::scoped_lock Class Reference</h1><!-- doxytag: class="tbb::spin_rw_mutex_v3::scoped_lock" -->The scoped locking pattern.  
-<a href="#_details">More...</a>
-<p>
-<code>#include <spin_rw_mutex.h></code>
-<p>
-<a href="a00130.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00346.html#d6ea60dee5563f702379bf5e51aa8806">scoped_lock</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Construct lock that has not acquired a mutex.  <a href="#d6ea60dee5563f702379bf5e51aa8806"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="42a92d4f8fdde425b111cfa8a9228071"></a><!-- doxytag: member="tbb::spin_rw_mutex_v3::scoped_lock::scoped_lock" ref="42a92d4f8fdde425b111cfa8a9228071" args="(spin_rw_mutex &m, bool write=true)" -->
- </td><td class="memItemRight" valign="bottom"><a class="el" href="a00346.html#42a92d4f8fdde425b111cfa8a9228071">scoped_lock</a> (<a class="el" href="a00345.html">spin_rw_mutex</a> &m, bool write=true)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Acquire lock on given mutex. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d7eaaa3f2e2c5dc11e7005811b1bdd04"></a><!-- doxytag: member="tbb::spin_rw_mutex_v3::scoped_lock::~scoped_lock" ref="d7eaaa3f2e2c5dc11e7005811b1bdd04" args="()" -->
- </td><td class="memItemRight" valign="bottom"><a class="el" href="a00346.html#d7eaaa3f2e2c5dc11e7005811b1bdd04">~scoped_lock</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Release lock (if lock is held). <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b0b646ec5be02a127d159bbb7ca65353"></a><!-- doxytag: member="tbb::spin_rw_mutex_v3::scoped_lock::acquire" ref="b0b646ec5be02a127d159bbb7ca65353" args="(spin_rw_mutex &m, bool write=true)" -->
-void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00346.html#b0b646ec5be02a127d159bbb7ca65353">acquire</a> (<a class="el" href="a00345.html">spin_rw_mutex</a> &m, bool write=true)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Acquire lock on given mutex. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00346.html#3f0b1e3f2efab63336400348bd070226">upgrade_to_writer</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Upgrade reader to become a writer.  <a href="#3f0b1e3f2efab63336400348bd070226"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="61b14d00a78185c9b2d206ebfc379124"></a><!-- doxytag: member="tbb::spin_rw_mutex_v3::scoped_lock::release" ref="61b14d00a78185c9b2d206ebfc379124" args="()" -->
-void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00346.html#61b14d00a78185c9b2d206ebfc379124">release</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Release lock. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c2c2c38a08cb9080e87099fac3e5bc94"></a><!-- doxytag: member="tbb::spin_rw_mutex_v3::scoped_lock::downgrade_to_reader" ref="c2c2c38a08cb9080e87099fac3e5bc94" args="()" -->
-bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00346.html#c2c2c38a08cb9080e87099fac3e5bc94">downgrade_to_reader</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Downgrade writer to become a reader. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9879626968d9b9a04cd2ec0fb2e84ae1"></a><!-- doxytag: member="tbb::spin_rw_mutex_v3::scoped_lock::try_acquire" ref="9879626968d9b9a04cd2ec0fb2e84ae1" args="(spin_rw_mutex &m, bool write=true)" -->
-bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00346.html#9879626968d9b9a04cd2ec0fb2e84ae1">try_acquire</a> (<a class="el" href="a00345.html">spin_rw_mutex</a> &m, bool write=true)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Try acquire lock on given mutex. <br></td></tr>
-<tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d96d1a1fcc3d79ef3e5c06a53b8ffeaa"></a><!-- doxytag: member="tbb::spin_rw_mutex_v3::scoped_lock::mutex" ref="d96d1a1fcc3d79ef3e5c06a53b8ffeaa" args="" -->
-<a class="el" href="a00345.html">spin_rw_mutex</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00346.html#d96d1a1fcc3d79ef3e5c06a53b8ffeaa">mutex</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">The pointer to the current mutex that is held, or NULL if no mutex is held. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00346.html#6b5a7c3c67a36b05c4df8410d32627d8">is_writer</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">If mutex!=NULL, then is_writer is true if holding a writer lock, false if holding a reader lock.  <a href="#6b5a7c3c67a36b05c4df8410d32627d8"></a><br></td></tr>
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-The scoped locking pattern. 
-<p>
-It helps to avoid the common problem of forgetting to release lock. It also nicely provides the "node" for queuing locks. 
-<p>
-<hr><h2>Constructor & Destructor Documentation</h2>
-<a class="anchor" name="d6ea60dee5563f702379bf5e51aa8806"></a><!-- doxytag: member="tbb::spin_rw_mutex_v3::scoped_lock::scoped_lock" ref="d6ea60dee5563f702379bf5e51aa8806" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">tbb::spin_rw_mutex_v3::scoped_lock::scoped_lock           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td> ) </td>
-          <td width="100%"><code> [inline]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Construct lock that has not acquired a mutex. 
-<p>
-Equivalent to zero-initialization of *this. 
-</div>
-</div><p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="3f0b1e3f2efab63336400348bd070226"></a><!-- doxytag: member="tbb::spin_rw_mutex_v3::scoped_lock::upgrade_to_writer" ref="3f0b1e3f2efab63336400348bd070226" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool tbb::spin_rw_mutex_v3::scoped_lock::upgrade_to_writer           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td> ) </td>
-          <td width="100%"><code> [inline]</code></td>
-        </tr>
-      </table>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>interface5</b></li><li class="navelem"><a class="el" href="a00043.html">concurrent_unordered_multiset</a></li>  </ul>
 </div>
-<div class="memdoc">
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator > Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
 
-<p>
-Upgrade reader to become a writer. 
-<p>
-Returns whether the upgrade happened without releasing and re-acquiring the lock 
-</div>
-</div><p>
-<hr><h2>Member Data Documentation</h2>
-<a class="anchor" name="6b5a7c3c67a36b05c4df8410d32627d8"></a><!-- doxytag: member="tbb::spin_rw_mutex_v3::scoped_lock::is_writer" ref="6b5a7c3c67a36b05c4df8410d32627d8" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool <a class="el" href="a00346.html#6b5a7c3c67a36b05c4df8410d32627d8">tbb::spin_rw_mutex_v3::scoped_lock::is_writer</a><code> [protected]</code>          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-If mutex!=NULL, then is_writer is true if holding a writer lock, false if holding a reader lock. 
-<p>
-Not defined if not holding a lock. 
-</div>
-</div><p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li>spin_rw_mutex.h</ul>
+<p>This is the complete list of members for <a class="el" href="a00043.html">tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator ></a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>allocator_type</b> typedef (defined in <a class="el" href="a00043.html">tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator ></a>)</td><td class="entry"><a class="el" href="a00043.html">tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>base_type</b> typedef (defined in <a class="el" href="a00043.html">tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator ></a>)</td><td class="entry"><a class="el" href="a00043.html">tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>concurrent_unordered_multiset</b>(size_type n_of_buckets=8, const hasher &_Hasher=hasher(), const key_equal &_Key_equality=key_equal(), const allocator_type &a=allocator_type()) (defined in <a class="el" href="a00043.html">tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator ></a>)</td><td class="entry"><a class="el" href="a00043.html">tbb::interface5::concurrent_unordered_multiset [...]
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>concurrent_unordered_multiset</b>(const Allocator &a) (defined in <a class="el" href="a00043.html">tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator ></a>)</td><td class="entry"><a class="el" href="a00043.html">tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>concurrent_unordered_multiset</b>(Iterator first, Iterator last, size_type n_of_buckets=8, const hasher &_Hasher=hasher(), const key_equal &_Key_equality=key_equal(), const allocator_type &a=allocator_type()) (defined in <a class="el" href="a00043.html">tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator ></a>)</td><td class="entry"><a class="el" href="a00043.html">tbb::interface5 [...]
+  <tr><td class="entry"><a class="el" href="a00043.html#ab2fa28924f52578bb59200b9ffa976c8">concurrent_unordered_multiset</a>(std::initializer_list< value_type > const &il, size_type n_of_buckets=8, const hasher &a_hasher=hasher(), const key_equal &a_keyeq=key_equal(), const allocator_type &a=allocator_type())</td><td class="entry"><a class="el" href="a00043.html">tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator ></a></td><td [...]
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>concurrent_unordered_multiset</b>(const concurrent_unordered_multiset &table) (defined in <a class="el" href="a00043.html">tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator ></a>)</td><td class="entry"><a class="el" href="a00043.html">tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator ></a></td><td class="entry"><span class="mlabel">inline</span>< [...]
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>concurrent_unordered_multiset</b>(const concurrent_unordered_multiset &table, const Allocator &a) (defined in <a class="el" href="a00043.html">tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator ></a>)</td><td class="entry"><a class="el" href="a00043.html">tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator ></a></td><td class="entry"><span class="mlabel">inl [...]
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>const_iterator</b> typedef (defined in <a class="el" href="a00043.html">tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator ></a>)</td><td class="entry"><a class="el" href="a00043.html">tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>const_local_iterator</b> typedef (defined in <a class="el" href="a00043.html">tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator ></a>)</td><td class="entry"><a class="el" href="a00043.html">tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>const_pointer</b> typedef (defined in <a class="el" href="a00043.html">tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator ></a>)</td><td class="entry"><a class="el" href="a00043.html">tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>const_reference</b> typedef (defined in <a class="el" href="a00043.html">tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator ></a>)</td><td class="entry"><a class="el" href="a00043.html">tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>difference_type</b> typedef (defined in <a class="el" href="a00043.html">tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator ></a>)</td><td class="entry"><a class="el" href="a00043.html">tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>hash_compare</b> typedef (defined in <a class="el" href="a00043.html">tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator ></a>)</td><td class="entry"><a class="el" href="a00043.html">tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>hash_function</b>() const  (defined in <a class="el" href="a00043.html">tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator ></a>)</td><td class="entry"><a class="el" href="a00043.html">tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>hasher</b> typedef (defined in <a class="el" href="a00043.html">tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator ></a>)</td><td class="entry"><a class="el" href="a00043.html">tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>insert</b>(const value_type &value) (defined in <a class="el" href="a00043.html">tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator ></a>)</td><td class="entry"><a class="el" href="a00043.html">tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>insert</b>(const_iterator where, const value_type &value) (defined in <a class="el" href="a00043.html">tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator ></a>)</td><td class="entry"><a class="el" href="a00043.html">tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>insert</b>(Iterator first, Iterator last) (defined in <a class="el" href="a00043.html">tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator ></a>)</td><td class="entry"><a class="el" href="a00043.html">tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>iterator</b> typedef (defined in <a class="el" href="a00043.html">tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator ></a>)</td><td class="entry"><a class="el" href="a00043.html">tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>key_compare</b> typedef (defined in <a class="el" href="a00043.html">tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator ></a>)</td><td class="entry"><a class="el" href="a00043.html">tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>key_eq</b>() const  (defined in <a class="el" href="a00043.html">tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator ></a>)</td><td class="entry"><a class="el" href="a00043.html">tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>key_equal</b> typedef (defined in <a class="el" href="a00043.html">tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator ></a>)</td><td class="entry"><a class="el" href="a00043.html">tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>key_type</b> typedef (defined in <a class="el" href="a00043.html">tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator ></a>)</td><td class="entry"><a class="el" href="a00043.html">tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>local_iterator</b> typedef (defined in <a class="el" href="a00043.html">tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator ></a>)</td><td class="entry"><a class="el" href="a00043.html">tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>mapped_type</b> typedef (defined in <a class="el" href="a00043.html">tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator ></a>)</td><td class="entry"><a class="el" href="a00043.html">tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator=</b>(const concurrent_unordered_multiset &table) (defined in <a class="el" href="a00043.html">tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator ></a>)</td><td class="entry"><a class="el" href="a00043.html">tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00043.html#a01e685fab9a39cbd69c53bb3b8befce6">operator=</a>(std::initializer_list< value_type > const &il)</td><td class="entry"><a class="el" href="a00043.html">tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>pointer</b> typedef (defined in <a class="el" href="a00043.html">tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator ></a>)</td><td class="entry"><a class="el" href="a00043.html">tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>reference</b> typedef (defined in <a class="el" href="a00043.html">tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator ></a>)</td><td class="entry"><a class="el" href="a00043.html">tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>size_type</b> typedef (defined in <a class="el" href="a00043.html">tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator ></a>)</td><td class="entry"><a class="el" href="a00043.html">tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>swap</b>(concurrent_unordered_multiset &table) (defined in <a class="el" href="a00043.html">tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator ></a>)</td><td class="entry"><a class="el" href="a00043.html">tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>traits_type</b> typedef (defined in <a class="el" href="a00043.html">tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator ></a>)</td><td class="entry"><a class="el" href="a00043.html">tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>unsafe_erase</b>(const_iterator where) (defined in <a class="el" href="a00043.html">tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator ></a>)</td><td class="entry"><a class="el" href="a00043.html">tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>unsafe_erase</b>(const key_type &key) (defined in <a class="el" href="a00043.html">tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator ></a>)</td><td class="entry"><a class="el" href="a00043.html">tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>unsafe_erase</b>(const_iterator first, const_iterator last) (defined in <a class="el" href="a00043.html">tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator ></a>)</td><td class="entry"><a class="el" href="a00043.html">tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>value_type</b> typedef (defined in <a class="el" href="a00043.html">tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator ></a>)</td><td class="entry"><a class="el" href="a00043.html">tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator ></a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00347.html b/doc/html/a00347.html
index db7118c..fbf7df6 100644
--- a/doc/html/a00347.html
+++ b/doc/html/a00347.html
@@ -1,48 +1,67 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>tbb::split Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="nav">
-<a class="el" href="a00428.html">tbb</a>::<a class="el" href="a00347.html">split</a></div>
-<h1>tbb::split Class Reference<br>
-<small>
-[<a class="el" href="a00441.html">Algorithms</a>]</small>
-</h1><!-- doxytag: class="tbb::split" -->Dummy type that distinguishes splitting constructor from copy constructor.  
-<a href="#_details">More...</a>
-<p>
-<code>#include <tbb_stddef.h></code>
-<p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-Dummy type that distinguishes splitting constructor from copy constructor. 
-<p>
-See description of parallel_for and parallel_reduce for example usages. 
-<p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li>tbb_stddef.h</ul>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>interface5</b></li><li class="navelem"><a class="el" href="a00095.html">reader_writer_lock</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::interface5::reader_writer_lock Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="a00095.html">tbb::interface5::reader_writer_lock</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>active</b> enum value (defined in <a class="el" href="a00095.html">tbb::interface5::reader_writer_lock</a>)</td><td class="entry"><a class="el" href="a00095.html">tbb::interface5::reader_writer_lock</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>invalid</b> enum value (defined in <a class="el" href="a00095.html">tbb::interface5::reader_writer_lock</a>)</td><td class="entry"><a class="el" href="a00095.html">tbb::interface5::reader_writer_lock</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00095.html#af92eb949fc491af8f7e350869ea0a0d1">lock</a>()</td><td class="entry"><a class="el" href="a00095.html">tbb::interface5::reader_writer_lock</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="a00095.html#a6fd4fcdf0e5c0425d1cc736d644f234f">lock_read</a>()</td><td class="entry"><a class="el" href="a00095.html">tbb::interface5::reader_writer_lock</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00095.html#abceda6c50b0c36eacbef51f4682742f3">reader_writer_lock</a>()</td><td class="entry"><a class="el" href="a00095.html">tbb::interface5::reader_writer_lock</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>scoped_lock</b> (defined in <a class="el" href="a00095.html">tbb::interface5::reader_writer_lock</a>)</td><td class="entry"><a class="el" href="a00095.html">tbb::interface5::reader_writer_lock</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>scoped_lock_read</b> (defined in <a class="el" href="a00095.html">tbb::interface5::reader_writer_lock</a>)</td><td class="entry"><a class="el" href="a00095.html">tbb::interface5::reader_writer_lock</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00095.html#a29bbf9ca21c12b313d9fa5326feaf3ed">status_t</a> enum name</td><td class="entry"><a class="el" href="a00095.html">tbb::interface5::reader_writer_lock</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00095.html#a1739e842af52925a2d4a7e821b9b3b8d">try_lock</a>()</td><td class="entry"><a class="el" href="a00095.html">tbb::interface5::reader_writer_lock</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="a00095.html#a9c7aa04e00202c9a1197cb6d870cabb4">try_lock_read</a>()</td><td class="entry"><a class="el" href="a00095.html">tbb::interface5::reader_writer_lock</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00095.html#a4c55c4dbde63e950fdc843c9b01a174f">unlock</a>()</td><td class="entry"><a class="el" href="a00095.html">tbb::interface5::reader_writer_lock</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>waiting</b> enum value (defined in <a class="el" href="a00095.html">tbb::interface5::reader_writer_lock</a>)</td><td class="entry"><a class="el" href="a00095.html">tbb::interface5::reader_writer_lock</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>waiting_nonblocking</b> enum value (defined in <a class="el" href="a00095.html">tbb::interface5::reader_writer_lock</a>)</td><td class="entry"><a class="el" href="a00095.html">tbb::interface5::reader_writer_lock</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="a00095.html#aeee96b648c7b5ff6126c8a2e13ec7241">~reader_writer_lock</a>()</td><td class="entry"><a class="el" href="a00095.html">tbb::interface5::reader_writer_lock</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+</table></div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00348.html b/doc/html/a00348.html
index 5bd832d..ab4f56c 100644
--- a/doc/html/a00348.html
+++ b/doc/html/a00348.html
@@ -1,72 +1,58 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>tbb::flow::interface6::split_node< TupleType, Allocator > Class Template Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="nav">
-<a class="el" href="a00428.html">tbb</a>::<b>flow</b>::<b>interface6</b>::<a class="el" href="a00348.html">split_node</a></div>
-<h1>tbb::flow::interface6::split_node< TupleType, Allocator > Class Template Reference</h1><!-- doxytag: class="tbb::flow::interface6::split_node" --><!-- doxytag: inherits="tbb::flow::interface6::multifunction_node< TupleType, TupleType, rejecting, Allocator >" --><a class="el" href="a00348.html">split_node</a>: accepts a tuple as input, forwards each element of the tuple to its  
-<a href="#_details">More...</a>
-<p>
-<code>#include <flow_graph.h></code>
-<p>
-<p>Inheritance diagram for tbb::flow::interface6::split_node< TupleType, Allocator >:
-<p><center><img src="a00348.png" usemap="#tbb::flow::interface6::split_node< TupleType, Allocator >_map" border="0" alt=""></center>
-<map name="tbb::flow::interface6::split_node< TupleType, Allocator >_map">
-<area href="a00312.html" alt="tbb::flow::interface6::multifunction_node< TupleType, TupleType, rejecting, Allocator >" shape="rect" coords="481,56,1433,80">
-<area href="a00301.html" alt="tbb::flow::interface6::graph_node" shape="rect" coords="0,0,952,24">
-</map>
-<a href="a00068.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0a153f789b0faa7b343c29d9b97c0f71"></a><!-- doxytag: member="tbb::flow::interface6::split_node::output_ports_type" ref="0a153f789b0faa7b343c29d9b97c0f71" args="" -->
-typedef base_type::output_ports_type </td><td class="memItemRight" valign="bottom"><b>output_ports_type</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="414872500f7ab2cecd98edc6945dea47"></a><!-- doxytag: member="tbb::flow::interface6::split_node::input_type" ref="414872500f7ab2cecd98edc6945dea47" args="" -->
-typedef TupleType </td><td class="memItemRight" valign="bottom"><b>input_type</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="06f32ac2a6bc1043ef6dd9ec40044522"></a><!-- doxytag: member="tbb::flow::interface6::split_node::allocator_type" ref="06f32ac2a6bc1043ef6dd9ec40044522" args="" -->
-typedef Allocator </td><td class="memItemRight" valign="bottom"><b>allocator_type</b></td></tr>
-
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ce8ee443d310145fc36e152c608c2e49"></a><!-- doxytag: member="tbb::flow::interface6::split_node::split_node" ref="ce8ee443d310145fc36e152c608c2e49" args="(graph &g)" -->
- </td><td class="memItemRight" valign="bottom"><b>split_node</b> (<a class="el" href="a00300.html">graph</a> &g)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c16a1c429bb2e3a33f6c56de84e63405"></a><!-- doxytag: member="tbb::flow::interface6::split_node::split_node" ref="c16a1c429bb2e3a33f6c56de84e63405" args="(const split_node &other)" -->
- </td><td class="memItemRight" valign="bottom"><b>split_node</b> (const <a class="el" href="a00348.html">split_node</a> &other)</td></tr>
-
-<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><b>splitting_body</b></td></tr>
-
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-<h3>template<typename TupleType, typename Allocator = cache_aligned_allocator<TupleType>><br>
- class tbb::flow::interface6::split_node< TupleType, Allocator ></h3>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>interface5</b></li><li class="navelem"><a class="el" href="a00095.html">reader_writer_lock</a></li><li class="navelem"><a class="el" href="a00118.html">scoped_lock</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::interface5::reader_writer_lock::scoped_lock Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
 
-<a class="el" href="a00348.html">split_node</a>: accepts a tuple as input, forwards each element of the tuple to its 
-<p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li><a class="el" href="a00385.html">flow_graph.h</a></ul>
+<p>This is the complete list of members for <a class="el" href="a00118.html">tbb::interface5::reader_writer_lock::scoped_lock</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator delete</b>(void *p) (defined in <a class="el" href="a00118.html">tbb::interface5::reader_writer_lock::scoped_lock</a>)</td><td class="entry"><a class="el" href="a00118.html">tbb::interface5::reader_writer_lock::scoped_lock</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>operator new</b>(size_t s) (defined in <a class="el" href="a00118.html">tbb::interface5::reader_writer_lock::scoped_lock</a>)</td><td class="entry"><a class="el" href="a00118.html">tbb::interface5::reader_writer_lock::scoped_lock</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>reader_writer_lock</b> (defined in <a class="el" href="a00118.html">tbb::interface5::reader_writer_lock::scoped_lock</a>)</td><td class="entry"><a class="el" href="a00118.html">tbb::interface5::reader_writer_lock::scoped_lock</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00118.html#aaed982d8c3f1e84298f9842063694f3c">scoped_lock</a>(reader_writer_lock &lock)</td><td class="entry"><a class="el" href="a00118.html">tbb::interface5::reader_writer_lock::scoped_lock</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00118.html#a41e77cf094ed30b0a9a39ee217c3653b">~scoped_lock</a>()</td><td class="entry"><a class="el" href="a00118.html">tbb::interface5::reader_writer_lock::scoped_lock</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+</table></div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00348.png b/doc/html/a00348.png
deleted file mode 100644
index a62a815..0000000
Binary files a/doc/html/a00348.png and /dev/null differ
diff --git a/doc/html/a00349.html b/doc/html/a00349.html
index e67bf71..c2ffa37 100644
--- a/doc/html/a00349.html
+++ b/doc/html/a00349.html
@@ -1,653 +1,58 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>tbb::task Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="nav">
-<a class="el" href="a00428.html">tbb</a>::<a class="el" href="a00349.html">task</a></div>
-<h1>tbb::task Class Reference<br>
-<small>
-[<a class="el" href="a00446.html">Task Scheduling</a>]</small>
-</h1><!-- doxytag: class="tbb::task" -->Base class for user-defined tasks.  
-<a href="#_details">More...</a>
-<p>
-<code>#include <task.h></code>
-<p>
-<p>Inheritance diagram for tbb::task:
-<p><center><img src="a00349.png" usemap="#tbb::task_map" border="0" alt=""></center>
-<map name="tbb::task_map">
-<area href="a00292.html" alt="tbb::empty_task" shape="rect" coords="0,56,97,80">
-</map>
-<a href="a00135.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef internal::affinity_id </td><td class="memItemRight" valign="bottom"><a class="el" href="a00349.html#d61bb32389d3857bf7511d69beaafb76">affinity_id</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">An id as used for specifying affinity.  <a href="#d61bb32389d3857bf7511d69beaafb76"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00349.html#4a3c415562d17905390ea5b49d12293ead0fe2302ccc360923f738c2ed7ec1b9">executing</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">task is running, and will be destroyed after method <a class="el" href="a00349.html#22c298cd40937a431a06777423f002f6">execute()</a> completes.  <a href="#4a3c415562d17905390ea5b49d12293ead0fe2302ccc360923f738c2ed7ec1b9"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00349.html#4a3c415562d17905390ea5b49d12293e3bf499aa6e6487cd1ace883a63100513">reexecute</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">task to be rescheduled.  <a href="#4a3c415562d17905390ea5b49d12293e3bf499aa6e6487cd1ace883a63100513"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00349.html#4a3c415562d17905390ea5b49d12293e0841dcf1c2a96dee9aa7b69f636cb81a">ready</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">task is in ready pool, or is going to be put there, or was just taken off.  <a href="#4a3c415562d17905390ea5b49d12293e0841dcf1c2a96dee9aa7b69f636cb81a"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00349.html#4a3c415562d17905390ea5b49d12293ebe94d3348dd038e41107819f00c1884c">allocated</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">task object is freshly allocated or recycled.  <a href="#4a3c415562d17905390ea5b49d12293ebe94d3348dd038e41107819f00c1884c"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00349.html#4a3c415562d17905390ea5b49d12293ecc67ca92bd6f1ce9738a1e9e7206b735">freed</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">task object is on free list, or is going to be put there, or was just taken off.  <a href="#4a3c415562d17905390ea5b49d12293ecc67ca92bd6f1ce9738a1e9e7206b735"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00349.html#4a3c415562d17905390ea5b49d12293e2a3f84c7721f6c0b859a91a5ecc660c4">__TBB_RECYCLE_TO_ENQUEUE</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">task to be scheduled for starvation-resistant execution  <a href="#4a3c415562d17905390ea5b49d12293e2a3f84c7721f6c0b859a91a5ecc660c4"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4a3c415562d17905390ea5b49d12293e72b15f1b9cdfa1f2381435f20b05007c"></a><!-- doxytag: member="tbb::task::endif" ref="4a3c415562d17905390ea5b49d12293e72b15f1b9cdfa1f2381435f20b05007c" args="" -->
- </td><td class="memItemRight" valign="bottom"><b>endif</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00349.html#4a3c415562d17905390ea5b49d12293e">state_type</a> { <br>
-  <a class="el" href="a00349.html#4a3c415562d17905390ea5b49d12293ead0fe2302ccc360923f738c2ed7ec1b9">executing</a>, 
-<a class="el" href="a00349.html#4a3c415562d17905390ea5b49d12293e3bf499aa6e6487cd1ace883a63100513">reexecute</a>, 
-<a class="el" href="a00349.html#4a3c415562d17905390ea5b49d12293e0841dcf1c2a96dee9aa7b69f636cb81a">ready</a>, 
-<a class="el" href="a00349.html#4a3c415562d17905390ea5b49d12293ebe94d3348dd038e41107819f00c1884c">allocated</a>, 
-<br>
-  <a class="el" href="a00349.html#4a3c415562d17905390ea5b49d12293ecc67ca92bd6f1ce9738a1e9e7206b735">freed</a>, 
-<a class="el" href="a00349.html#4a3c415562d17905390ea5b49d12293e2a3f84c7721f6c0b859a91a5ecc660c4">__TBB_RECYCLE_TO_ENQUEUE</a>, 
-<b>endif</b>
-<br>
- }</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Enumeration of task states that the scheduler considers.  <a href="a00349.html#4a3c415562d17905390ea5b49d12293e">More...</a><br></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="98245ee0473f84cb19dbbf8c81134908"></a><!-- doxytag: member="tbb::task::~task" ref="98245ee0473f84cb19dbbf8c81134908" args="()" -->
-virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="a00349.html#98245ee0473f84cb19dbbf8c81134908">~task</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Destructor. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="22c298cd40937a431a06777423f002f6"></a><!-- doxytag: member="tbb::task::execute" ref="22c298cd40937a431a06777423f002f6" args="()=0" -->
-virtual <a class="el" href="a00349.html">task</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00349.html#22c298cd40937a431a06777423f002f6">execute</a> ()=0</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Should be overridden by derived classes. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">internal::allocate_continuation_proxy & </td><td class="memItemRight" valign="bottom"><a class="el" href="a00349.html#1434c79a5138993269d034008bff7329">allocate_continuation</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns proxy for overloaded new that allocates a continuation task of *this.  <a href="#1434c79a5138993269d034008bff7329"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1ff794f7053cd9148d5f280fbf07377f"></a><!-- doxytag: member="tbb::task::allocate_child" ref="1ff794f7053cd9148d5f280fbf07377f" args="()" -->
-internal::allocate_child_proxy & </td><td class="memItemRight" valign="bottom"><a class="el" href="a00349.html#1ff794f7053cd9148d5f280fbf07377f">allocate_child</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns proxy for overloaded new that allocates a child task of *this. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void __TBB_EXPORTED_METHOD </td><td class="memItemRight" valign="bottom"><a class="el" href="a00349.html#dfaacf92685e5f86393bf657b2853bf8">destroy</a> (<a class="el" href="a00349.html">task</a> &t)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Destroy a task.  <a href="#dfaacf92685e5f86393bf657b2853bf8"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00349.html#a67a79e18f62b43a623a00cfbd76db4c">recycle_as_continuation</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Change this to be a continuation of its former self.  <a href="#a67a79e18f62b43a623a00cfbd76db4c"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00349.html#3b290d14109704e2b69dc1ac980a7a76">recycle_as_safe_continuation</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Recommended to use, safe variant of recycle_as_continuation.  <a href="#3b290d14109704e2b69dc1ac980a7a76"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="db399855177438bbc9cc61d508dae8d2"></a><!-- doxytag: member="tbb::task::recycle_as_child_of" ref="db399855177438bbc9cc61d508dae8d2" args="(task &new_parent)" -->
-void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00349.html#db399855177438bbc9cc61d508dae8d2">recycle_as_child_of</a> (<a class="el" href="a00349.html">task</a> &new_parent)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Change this to be a child of new_parent. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00349.html#4f1be9bbcdb487830dbe298b68d85144">recycle_to_reexecute</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Schedule this for reexecution after current <a class="el" href="a00349.html#22c298cd40937a431a06777423f002f6">execute()</a> returns.  <a href="#4f1be9bbcdb487830dbe298b68d85144"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00349.html#076120a15237d1ee63060c992e878b29">recycle_to_enqueue</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Schedule this to enqueue after descendant tasks complete.  <a href="#076120a15237d1ee63060c992e878b29"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7653ceef53a188d05b5c779e1104b698"></a><!-- doxytag: member="tbb::task::depth" ref="7653ceef53a188d05b5c779e1104b698" args="() const " -->
-intptr_t </td><td class="memItemRight" valign="bottom"><b>depth</b> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e864e9c80e3d79f00d77fb99f4757621"></a><!-- doxytag: member="tbb::task::set_depth" ref="e864e9c80e3d79f00d77fb99f4757621" args="(intptr_t)" -->
-void </td><td class="memItemRight" valign="bottom"><b>set_depth</b> (intptr_t)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c83fcc26f6513f0e06de70cbab9dee46"></a><!-- doxytag: member="tbb::task::add_to_depth" ref="c83fcc26f6513f0e06de70cbab9dee46" args="(int)" -->
-void </td><td class="memItemRight" valign="bottom"><b>add_to_depth</b> (int)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="06a4206a57e8e12a439b14d6d41cfd92"></a><!-- doxytag: member="tbb::task::set_ref_count" ref="06a4206a57e8e12a439b14d6d41cfd92" args="(int count)" -->
-void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00349.html#06a4206a57e8e12a439b14d6d41cfd92">set_ref_count</a> (int count)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Set reference count. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00349.html#f5fb43c7ad0de5a4b95703cebc39e345">increment_ref_count</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Atomically increment reference count and returns its old value.  <a href="#f5fb43c7ad0de5a4b95703cebc39e345"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="a00349.html#ef4680f5c148020c5e7e43ddef44cd5d">decrement_ref_count</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Atomically decrement reference count and returns its new value.  <a href="#ef4680f5c148020c5e7e43ddef44cd5d"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3ce28ca9baa771cfc37ecd72e69c4f3c"></a><!-- doxytag: member="tbb::task::spawn_and_wait_for_all" ref="3ce28ca9baa771cfc37ecd72e69c4f3c" args="(task &child)" -->
-void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00349.html#3ce28ca9baa771cfc37ecd72e69c4f3c">spawn_and_wait_for_all</a> (<a class="el" href="a00349.html">task</a> &child)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Similar to spawn followed by wait_for_all, but more efficient. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="894ab68378e502776d8220eea7ce9fa1"></a><!-- doxytag: member="tbb::task::spawn_and_wait_for_all" ref="894ab68378e502776d8220eea7ce9fa1" args="(task_list &list)" -->
-void __TBB_EXPORTED_METHOD </td><td class="memItemRight" valign="bottom"><a class="el" href="a00349.html#894ab68378e502776d8220eea7ce9fa1">spawn_and_wait_for_all</a> (<a class="el" href="a00354.html">task_list</a> &list)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Similar to spawn followed by wait_for_all, but more efficient. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00349.html#53d2615ad9c38859b4c8080936600283">wait_for_all</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Wait for reference count to become one, and set reference count to zero.  <a href="#53d2615ad9c38859b4c8080936600283"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="314e98ee4347ccec83efcb9ee22e8596"></a><!-- doxytag: member="tbb::task::parent" ref="314e98ee4347ccec83efcb9ee22e8596" args="() const " -->
-<a class="el" href="a00349.html">task</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00349.html#314e98ee4347ccec83efcb9ee22e8596">parent</a> () const </td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">task on whose behalf this task is working, or NULL if this is a root. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d2eaf79fcaa3ae473e3bd3f44bd8a464"></a><!-- doxytag: member="tbb::task::set_parent" ref="d2eaf79fcaa3ae473e3bd3f44bd8a464" args="(task *p)" -->
-void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00349.html#d2eaf79fcaa3ae473e3bd3f44bd8a464">set_parent</a> (<a class="el" href="a00349.html">task</a> *p)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">sets parent task pointer to specified value <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00353.html">task_group_context</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00349.html#d8c36a93f3972590fbb65ff1cef3173b">context</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">This method is deprecated and will be removed in the future.  <a href="#d8c36a93f3972590fbb65ff1cef3173b"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5987123486afca36ddebb9e2a8b7779a"></a><!-- doxytag: member="tbb::task::group" ref="5987123486afca36ddebb9e2a8b7779a" args="()" -->
-<a class="el" href="a00353.html">task_group_context</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00349.html#5987123486afca36ddebb9e2a8b7779a">group</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Pointer to the task group descriptor. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f9169402702f56bf519448aaf34450aa"></a><!-- doxytag: member="tbb::task::is_stolen_task" ref="f9169402702f56bf519448aaf34450aa" args="() const " -->
-bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00349.html#f9169402702f56bf519448aaf34450aa">is_stolen_task</a> () const </td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">True if task was stolen from the task pool of another thread. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0af7b2d7e6e8b4333b2accfce3dfb374"></a><!-- doxytag: member="tbb::task::state" ref="0af7b2d7e6e8b4333b2accfce3dfb374" args="() const " -->
-<a class="el" href="a00349.html#4a3c415562d17905390ea5b49d12293e">state_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00349.html#0af7b2d7e6e8b4333b2accfce3dfb374">state</a> () const </td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Current execution state. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ad774f55eaec008ae02b236423209ced"></a><!-- doxytag: member="tbb::task::ref_count" ref="ad774f55eaec008ae02b236423209ced" args="() const " -->
-int </td><td class="memItemRight" valign="bottom"><a class="el" href="a00349.html#ad774f55eaec008ae02b236423209ced">ref_count</a> () const </td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">The internal reference count. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c26718b3b247cd13deb1a741902e7105"></a><!-- doxytag: member="tbb::task::is_owned_by_current_thread" ref="c26718b3b247cd13deb1a741902e7105" args="() const " -->
-bool __TBB_EXPORTED_METHOD </td><td class="memItemRight" valign="bottom"><a class="el" href="a00349.html#c26718b3b247cd13deb1a741902e7105">is_owned_by_current_thread</a> () const </td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Obsolete, and only retained for the sake of backward compatibility. Always returns true. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="dca19d7a45487a7d67a0db517e2b57c9"></a><!-- doxytag: member="tbb::task::set_affinity" ref="dca19d7a45487a7d67a0db517e2b57c9" args="(affinity_id id)" -->
-void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00349.html#dca19d7a45487a7d67a0db517e2b57c9">set_affinity</a> (<a class="el" href="a00349.html#d61bb32389d3857bf7511d69beaafb76">affinity_id</a> id)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Set affinity for this task. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3a920a56b0bcf2801518fb45b2c9d2be"></a><!-- doxytag: member="tbb::task::affinity" ref="3a920a56b0bcf2801518fb45b2c9d2be" args="() const " -->
-<a class="el" href="a00349.html#d61bb32389d3857bf7511d69beaafb76">affinity_id</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00349.html#3a920a56b0bcf2801518fb45b2c9d2be">affinity</a> () const </td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Current affinity of this task. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void __TBB_EXPORTED_METHOD </td><td class="memItemRight" valign="bottom"><a class="el" href="a00349.html#713c338c8eeaebdc5a6b10a69c039b06">note_affinity</a> (<a class="el" href="a00349.html#d61bb32389d3857bf7511d69beaafb76">affinity_id</a> id)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Invoked by scheduler to notify task that it ran on unexpected thread.  <a href="#713c338c8eeaebdc5a6b10a69c039b06"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void __TBB_EXPORTED_METHOD </td><td class="memItemRight" valign="bottom"><a class="el" href="a00349.html#62247be9a637a814c8e8f4bcfb3a1908">change_group</a> (<a class="el" href="a00353.html">task_group_context</a> &ctx)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Moves this task from its current group into another one.  <a href="#62247be9a637a814c8e8f4bcfb3a1908"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00349.html#0f3fb4aac549ab642022450a4bd13326">cancel_group_execution</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Initiates cancellation of all tasks in this cancellation group and its subordinate groups.  <a href="#0f3fb4aac549ab642022450a4bd13326"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="025f18118c057c4c8db87ff2ce8df975"></a><!-- doxytag: member="tbb::task::is_cancelled" ref="025f18118c057c4c8db87ff2ce8df975" args="() const " -->
-bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00349.html#025f18118c057c4c8db87ff2ce8df975">is_cancelled</a> () const </td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns true if the context has received cancellation request. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="025f18118c057c4c8db87ff2ce8df975"></a><!-- doxytag: member="tbb::task::is_cancelled" ref="025f18118c057c4c8db87ff2ce8df975" args="() const " -->
-bool </td><td class="memItemRight" valign="bottom"><b>is_cancelled</b> () const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9ac8d1542d67d9d80121ff986801ac26"></a><!-- doxytag: member="tbb::task::set_group_priority" ref="9ac8d1542d67d9d80121ff986801ac26" args="(priority_t p)" -->
-void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00349.html#9ac8d1542d67d9d80121ff986801ac26">set_group_priority</a> (priority_t p)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Changes priority of the task group this task belongs to. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e1d969a1ccab6796e3b8b2c1a5be33d2"></a><!-- doxytag: member="tbb::task::group_priority" ref="e1d969a1ccab6796e3b8b2c1a5be33d2" args="() const " -->
-priority_t </td><td class="memItemRight" valign="bottom"><a class="el" href="a00349.html#e1d969a1ccab6796e3b8b2c1a5be33d2">group_priority</a> () const </td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Retrieves current priority of the task group this task belongs to. <br></td></tr>
-<tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="23acb0da0afd690da797f9f882027d34"></a><!-- doxytag: member="tbb::task::allocate_root" ref="23acb0da0afd690da797f9f882027d34" args="()" -->
-static internal::allocate_root_proxy </td><td class="memItemRight" valign="bottom"><a class="el" href="a00349.html#23acb0da0afd690da797f9f882027d34">allocate_root</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns proxy for overloaded new that allocates a root task. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8ccc518caf31075a3e073996d2d240a4"></a><!-- doxytag: member="tbb::task::allocate_root" ref="8ccc518caf31075a3e073996d2d240a4" args="(task_group_context &ctx)" -->
-static internal::allocate_root_with_context_proxy </td><td class="memItemRight" valign="bottom"><a class="el" href="a00349.html#8ccc518caf31075a3e073996d2d240a4">allocate_root</a> (<a class="el" href="a00353.html">task_group_context</a> &ctx)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns proxy for overloaded new that allocates a root task associated with user supplied context. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ce8ce689c26a4ddf343829bc3c73290a"></a><!-- doxytag: member="tbb::task::spawn_root_and_wait" ref="ce8ce689c26a4ddf343829bc3c73290a" args="(task &root)" -->
-static void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00349.html#ce8ce689c26a4ddf343829bc3c73290a">spawn_root_and_wait</a> (<a class="el" href="a00349.html">task</a> &root)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Spawn task allocated by allocate_root, wait for it to complete, and deallocate it. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00349.html#c33c7edbaec67aa8a56f48986a9dc69f">spawn_root_and_wait</a> (<a class="el" href="a00354.html">task_list</a> &root_list)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Spawn root tasks on list and wait for all of them to finish.  <a href="#c33c7edbaec67aa8a56f48986a9dc69f"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00349.html#8365d063c0cc9d7bd616bca47256b93c">enqueue</a> (<a class="el" href="a00349.html">task</a> &t)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Enqueue task for starvation-resistant execution.  <a href="#8365d063c0cc9d7bd616bca47256b93c"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="fe6bf6aaf84e664134fabb6c4f409ea9"></a><!-- doxytag: member="tbb::task::enqueue" ref="fe6bf6aaf84e664134fabb6c4f409ea9" args="(task &t, priority_t p)" -->
-static void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00349.html#fe6bf6aaf84e664134fabb6c4f409ea9">enqueue</a> (<a class="el" href="a00349.html">task</a> &t, priority_t p)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Enqueue task for starvation-resistant execution on the specified priority level. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="bd43e8d6249738efafd12d6a4c72c5e3"></a><!-- doxytag: member="tbb::task::self" ref="bd43e8d6249738efafd12d6a4c72c5e3" args="()" -->
-static <a class="el" href="a00349.html">task</a> &__TBB_EXPORTED_FUNC </td><td class="memItemRight" valign="bottom"><a class="el" href="a00349.html#bd43e8d6249738efafd12d6a4c72c5e3">self</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">The innermost task being executed or destroyed by the current thread at the moment. <br></td></tr>
-<tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2bce8ec6e44706e70128f5cf91b76e67"></a><!-- doxytag: member="tbb::task::task" ref="2bce8ec6e44706e70128f5cf91b76e67" args="()" -->
- </td><td class="memItemRight" valign="bottom"><a class="el" href="a00349.html#2bce8ec6e44706e70128f5cf91b76e67">task</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Default constructor. <br></td></tr>
-<tr><td colspan="2"><br><h2>Friends</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="81d0122aee4ddae419a743ee50d7038e"></a><!-- doxytag: member="tbb::task::interface5::internal::task_base" ref="81d0122aee4ddae419a743ee50d7038e" args="" -->
-class </td><td class="memItemRight" valign="bottom"><b>interface5::internal::task_base</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5eabadbca46f93ce6fb08290e85a0a65"></a><!-- doxytag: member="tbb::task::task_list" ref="5eabadbca46f93ce6fb08290e85a0a65" args="" -->
-class </td><td class="memItemRight" valign="bottom"><b>task_list</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e296810002652d771f692e20ca87e898"></a><!-- doxytag: member="tbb::task::internal::scheduler" ref="e296810002652d771f692e20ca87e898" args="" -->
-class </td><td class="memItemRight" valign="bottom"><b>internal::scheduler</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="387b945c106854e1ed525f0668092930"></a><!-- doxytag: member="tbb::task::internal::allocate_root_proxy" ref="387b945c106854e1ed525f0668092930" args="" -->
-class </td><td class="memItemRight" valign="bottom"><b>internal::allocate_root_proxy</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ecedb9436fb30df30cb3a52c64bb97e5"></a><!-- doxytag: member="tbb::task::internal::allocate_root_with_context_proxy" ref="ecedb9436fb30df30cb3a52c64bb97e5" args="" -->
-class </td><td class="memItemRight" valign="bottom"><b>internal::allocate_root_with_context_proxy</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9987b3b1174772e5e853bd94b9f15350"></a><!-- doxytag: member="tbb::task::internal::allocate_continuation_proxy" ref="9987b3b1174772e5e853bd94b9f15350" args="" -->
-class </td><td class="memItemRight" valign="bottom"><b>internal::allocate_continuation_proxy</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1f9e255654086b52fe107e4d8bbc8b7d"></a><!-- doxytag: member="tbb::task::internal::allocate_child_proxy" ref="1f9e255654086b52fe107e4d8bbc8b7d" args="" -->
-class </td><td class="memItemRight" valign="bottom"><b>internal::allocate_child_proxy</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0e99ce0045ea3c55d239f38ea026b8a7"></a><!-- doxytag: member="tbb::task::internal::allocate_additional_child_of_proxy" ref="0e99ce0045ea3c55d239f38ea026b8a7" args="" -->
-class </td><td class="memItemRight" valign="bottom"><b>internal::allocate_additional_child_of_proxy</b></td></tr>
-
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-Base class for user-defined tasks. 
-<p>
-<hr><h2>Member Typedef Documentation</h2>
-<a class="anchor" name="d61bb32389d3857bf7511d69beaafb76"></a><!-- doxytag: member="tbb::task::affinity_id" ref="d61bb32389d3857bf7511d69beaafb76" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef internal::affinity_id <a class="el" href="a00349.html#d61bb32389d3857bf7511d69beaafb76">tbb::task::affinity_id</a>          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-An id as used for specifying affinity. 
-<p>
-Guaranteed to be integral type. Value of 0 means no affinity. 
-</div>
-</div><p>
-<hr><h2>Member Enumeration Documentation</h2>
-<a class="anchor" name="4a3c415562d17905390ea5b49d12293e"></a><!-- doxytag: member="tbb::task::state_type" ref="4a3c415562d17905390ea5b49d12293e" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">enum <a class="el" href="a00349.html#4a3c415562d17905390ea5b49d12293e">tbb::task::state_type</a>          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Enumeration of task states that the scheduler considers. 
-<p>
-<dl compact><dt><b>Enumerator: </b></dt><dd>
-<table border="0" cellspacing="2" cellpadding="0">
-<tr><td valign="top"><em><a class="anchor" name="4a3c415562d17905390ea5b49d12293ead0fe2302ccc360923f738c2ed7ec1b9"></a><!-- doxytag: member="executing" ref="4a3c415562d17905390ea5b49d12293ead0fe2302ccc360923f738c2ed7ec1b9" args="" -->executing</em> </td><td>
-task is running, and will be destroyed after method <a class="el" href="a00349.html#22c298cd40937a431a06777423f002f6">execute()</a> completes. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="4a3c415562d17905390ea5b49d12293e3bf499aa6e6487cd1ace883a63100513"></a><!-- doxytag: member="reexecute" ref="4a3c415562d17905390ea5b49d12293e3bf499aa6e6487cd1ace883a63100513" args="" -->reexecute</em> </td><td>
-task to be rescheduled. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="4a3c415562d17905390ea5b49d12293e0841dcf1c2a96dee9aa7b69f636cb81a"></a><!-- doxytag: member="ready" ref="4a3c415562d17905390ea5b49d12293e0841dcf1c2a96dee9aa7b69f636cb81a" args="" -->ready</em> </td><td>
-task is in ready pool, or is going to be put there, or was just taken off. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="4a3c415562d17905390ea5b49d12293ebe94d3348dd038e41107819f00c1884c"></a><!-- doxytag: member="allocated" ref="4a3c415562d17905390ea5b49d12293ebe94d3348dd038e41107819f00c1884c" args="" -->allocated</em> </td><td>
-task object is freshly allocated or recycled. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="4a3c415562d17905390ea5b49d12293ecc67ca92bd6f1ce9738a1e9e7206b735"></a><!-- doxytag: member="freed" ref="4a3c415562d17905390ea5b49d12293ecc67ca92bd6f1ce9738a1e9e7206b735" args="" -->freed</em> </td><td>
-task object is on free list, or is going to be put there, or was just taken off. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="4a3c415562d17905390ea5b49d12293e2a3f84c7721f6c0b859a91a5ecc660c4"></a><!-- doxytag: member="__TBB_RECYCLE_TO_ENQUEUE" ref="4a3c415562d17905390ea5b49d12293e2a3f84c7721f6c0b859a91a5ecc660c4" args="" -->__TBB_RECYCLE_TO_ENQUEUE</em> </td><td>
-task to be scheduled for starvation-resistant execution </td></tr>
-</table>
-</dl>
-
-</div>
-</div><p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="1434c79a5138993269d034008bff7329"></a><!-- doxytag: member="tbb::task::allocate_continuation" ref="1434c79a5138993269d034008bff7329" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">internal::allocate_continuation_proxy& tbb::task::allocate_continuation           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td> ) </td>
-          <td width="100%"><code> [inline]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Returns proxy for overloaded new that allocates a continuation task of *this. 
-<p>
-The continuation's parent becomes the parent of *this. 
-</div>
-</div><p>
-<a class="anchor" name="0f3fb4aac549ab642022450a4bd13326"></a><!-- doxytag: member="tbb::task::cancel_group_execution" ref="0f3fb4aac549ab642022450a4bd13326" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool tbb::task::cancel_group_execution           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td> ) </td>
-          <td width="100%"><code> [inline]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Initiates cancellation of all tasks in this cancellation group and its subordinate groups. 
-<p>
-<dl compact><dt><b>Returns:</b></dt><dd>false if cancellation has already been requested, true otherwise. </dd></dl>
-
-</div>
-</div><p>
-<a class="anchor" name="62247be9a637a814c8e8f4bcfb3a1908"></a><!-- doxytag: member="tbb::task::change_group" ref="62247be9a637a814c8e8f4bcfb3a1908" args="(task_group_context &ctx)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void __TBB_EXPORTED_METHOD tbb::task::change_group           </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="a00353.html">task_group_context</a> & </td>
-          <td class="paramname"> <em>ctx</em>          </td>
-          <td> ) </td>
-          <td width="100%"></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Moves this task from its current group into another one. 
-<p>
-Argument ctx specifies the new group.<p>
-The primary purpose of this method is to associate unique task group context with a task allocated for subsequent enqueuing. In contrast to spawned tasks enqueued ones normally outlive the scope where they were created. This makes traditional usage model where task group context are allocated locally on the stack inapplicable. Dynamic allocation of context objects is performance inefficient. Method <a class="el" href="a00349.html#62247be9a637a814c8e8f4bcfb3a1908">change_group()</a> allow [...]
-</div>
-</div><p>
-<a class="anchor" name="d8c36a93f3972590fbb65ff1cef3173b"></a><!-- doxytag: member="tbb::task::context" ref="d8c36a93f3972590fbb65ff1cef3173b" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="a00353.html">task_group_context</a>* tbb::task::context           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td> ) </td>
-          <td width="100%"><code> [inline]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-This method is deprecated and will be removed in the future. 
-<p>
-Use method <a class="el" href="a00349.html#5987123486afca36ddebb9e2a8b7779a">group()</a> instead. 
-</div>
-</div><p>
-<a class="anchor" name="ef4680f5c148020c5e7e43ddef44cd5d"></a><!-- doxytag: member="tbb::task::decrement_ref_count" ref="ef4680f5c148020c5e7e43ddef44cd5d" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int tbb::task::decrement_ref_count           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td> ) </td>
-          <td width="100%"><code> [inline]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Atomically decrement reference count and returns its new value. 
-<p>
-Has release semantics. 
-</div>
-</div><p>
-<a class="anchor" name="dfaacf92685e5f86393bf657b2853bf8"></a><!-- doxytag: member="tbb::task::destroy" ref="dfaacf92685e5f86393bf657b2853bf8" args="(task &t)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void __TBB_EXPORTED_METHOD tbb::task::destroy           </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="a00349.html">task</a> & </td>
-          <td class="paramname"> <em>t</em>          </td>
-          <td> ) </td>
-          <td width="100%"></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Destroy a task. 
-<p>
-Usually, calling this method is unnecessary, because a task is implicitly deleted after its <a class="el" href="a00349.html#22c298cd40937a431a06777423f002f6">execute()</a> method runs. However, sometimes a task needs to be explicitly deallocated, such as when a root task is used as the parent in spawn_and_wait_for_all. 
-</div>
-</div><p>
-<a class="anchor" name="8365d063c0cc9d7bd616bca47256b93c"></a><!-- doxytag: member="tbb::task::enqueue" ref="8365d063c0cc9d7bd616bca47256b93c" args="(task &t)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">static void tbb::task::enqueue           </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="a00349.html">task</a> & </td>
-          <td class="paramname"> <em>t</em>          </td>
-          <td> ) </td>
-          <td width="100%"><code> [inline, static]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Enqueue task for starvation-resistant execution. 
-<p>
-The task will be enqueued on the normal priority level disregarding the priority of its task group.<p>
-The rationale of such semantics is that priority of an enqueued task is statically fixed at the moment of its enqueuing, while task group priority is dynamic. Thus automatic priority inheritance would be generally a subject to the race, which may result in unexpected behavior.<p>
-Use <a class="el" href="a00349.html#8365d063c0cc9d7bd616bca47256b93c">enqueue()</a> overload with explicit priority value and <a class="el" href="a00349.html#e1d969a1ccab6796e3b8b2c1a5be33d2">task::group_priority()</a> method to implement such priority inheritance when it is really necessary. 
-</div>
-</div><p>
-<a class="anchor" name="f5fb43c7ad0de5a4b95703cebc39e345"></a><!-- doxytag: member="tbb::task::increment_ref_count" ref="f5fb43c7ad0de5a4b95703cebc39e345" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void tbb::task::increment_ref_count           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td> ) </td>
-          <td width="100%"><code> [inline]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Atomically increment reference count and returns its old value. 
-<p>
-Has acquire semantics 
-</div>
-</div><p>
-<a class="anchor" name="713c338c8eeaebdc5a6b10a69c039b06"></a><!-- doxytag: member="tbb::task::note_affinity" ref="713c338c8eeaebdc5a6b10a69c039b06" args="(affinity_id id)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">virtual void __TBB_EXPORTED_METHOD tbb::task::note_affinity           </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="a00349.html#d61bb32389d3857bf7511d69beaafb76">affinity_id</a> </td>
-          <td class="paramname"> <em>id</em>          </td>
-          <td> ) </td>
-          <td width="100%"><code> [virtual]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Invoked by scheduler to notify task that it ran on unexpected thread. 
-<p>
-Invoked before method <a class="el" href="a00349.html#22c298cd40937a431a06777423f002f6">execute()</a> runs, if task is stolen, or task has affinity but will be executed on another thread.<p>
-The default action does nothing. 
-</div>
-</div><p>
-<a class="anchor" name="a67a79e18f62b43a623a00cfbd76db4c"></a><!-- doxytag: member="tbb::task::recycle_as_continuation" ref="a67a79e18f62b43a623a00cfbd76db4c" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void tbb::task::recycle_as_continuation           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td> ) </td>
-          <td width="100%"><code> [inline]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Change this to be a continuation of its former self. 
-<p>
-The caller must guarantee that the task's refcount does not become zero until after the method <a class="el" href="a00349.html#22c298cd40937a431a06777423f002f6">execute()</a> returns. Typically, this is done by having method <a class="el" href="a00349.html#22c298cd40937a431a06777423f002f6">execute()</a> return a pointer to a child of the task. If the guarantee cannot be made, use method recycle_as_safe_continuation instead.<p>
-Because of the hazard, this method may be deprecated in the future. 
-</div>
-</div><p>
-<a class="anchor" name="3b290d14109704e2b69dc1ac980a7a76"></a><!-- doxytag: member="tbb::task::recycle_as_safe_continuation" ref="3b290d14109704e2b69dc1ac980a7a76" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void tbb::task::recycle_as_safe_continuation           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td> ) </td>
-          <td width="100%"><code> [inline]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Recommended to use, safe variant of recycle_as_continuation. 
-<p>
-For safety, it requires additional increment of ref_count. With no descendants and ref_count of 1, it has the semantics of recycle_to_reexecute. 
-</div>
-</div><p>
-<a class="anchor" name="076120a15237d1ee63060c992e878b29"></a><!-- doxytag: member="tbb::task::recycle_to_enqueue" ref="076120a15237d1ee63060c992e878b29" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void tbb::task::recycle_to_enqueue           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td> ) </td>
-          <td width="100%"><code> [inline]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Schedule this to enqueue after descendant tasks complete. 
-<p>
-Save enqueue/spawn difference, it has the semantics of recycle_as_safe_continuation. 
-</div>
-</div><p>
-<a class="anchor" name="4f1be9bbcdb487830dbe298b68d85144"></a><!-- doxytag: member="tbb::task::recycle_to_reexecute" ref="4f1be9bbcdb487830dbe298b68d85144" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void tbb::task::recycle_to_reexecute           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td> ) </td>
-          <td width="100%"><code> [inline]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Schedule this for reexecution after current <a class="el" href="a00349.html#22c298cd40937a431a06777423f002f6">execute()</a> returns. 
-<p>
-Made obsolete by recycle_as_safe_continuation; may become deprecated. 
-</div>
-</div><p>
-<a class="anchor" name="c33c7edbaec67aa8a56f48986a9dc69f"></a><!-- doxytag: member="tbb::task::spawn_root_and_wait" ref="c33c7edbaec67aa8a56f48986a9dc69f" args="(task_list &root_list)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void tbb::task::spawn_root_and_wait           </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="a00354.html">task_list</a> & </td>
-          <td class="paramname"> <em>root_list</em>          </td>
-          <td> ) </td>
-          <td width="100%"><code> [inline, static]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Spawn root tasks on list and wait for all of them to finish. 
-<p>
-If there are more tasks than worker threads, the tasks are spawned in order of front to back. 
-</div>
-</div><p>
-<a class="anchor" name="53d2615ad9c38859b4c8080936600283"></a><!-- doxytag: member="tbb::task::wait_for_all" ref="53d2615ad9c38859b4c8080936600283" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void tbb::task::wait_for_all           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td> ) </td>
-          <td width="100%"><code> [inline]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Wait for reference count to become one, and set reference count to zero. 
-<p>
-Works on tasks while waiting. 
-</div>
-</div><p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li>task.h</ul>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>interface5</b></li><li class="navelem"><a class="el" href="a00095.html">reader_writer_lock</a></li><li class="navelem"><a class="el" href="a00123.html">scoped_lock_read</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::interface5::reader_writer_lock::scoped_lock_read Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="a00123.html">tbb::interface5::reader_writer_lock::scoped_lock_read</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator delete</b>(void *p) (defined in <a class="el" href="a00123.html">tbb::interface5::reader_writer_lock::scoped_lock_read</a>)</td><td class="entry"><a class="el" href="a00123.html">tbb::interface5::reader_writer_lock::scoped_lock_read</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>operator new</b>(size_t s) (defined in <a class="el" href="a00123.html">tbb::interface5::reader_writer_lock::scoped_lock_read</a>)</td><td class="entry"><a class="el" href="a00123.html">tbb::interface5::reader_writer_lock::scoped_lock_read</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>reader_writer_lock</b> (defined in <a class="el" href="a00123.html">tbb::interface5::reader_writer_lock::scoped_lock_read</a>)</td><td class="entry"><a class="el" href="a00123.html">tbb::interface5::reader_writer_lock::scoped_lock_read</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00123.html#a9d3120a23016dabd4cc2683fa561ee5a">scoped_lock_read</a>(reader_writer_lock &lock)</td><td class="entry"><a class="el" href="a00123.html">tbb::interface5::reader_writer_lock::scoped_lock_read</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00123.html#acf0e23fb4d3aeb6bde18d5d1236bd9d5">~scoped_lock_read</a>()</td><td class="entry"><a class="el" href="a00123.html">tbb::interface5::reader_writer_lock::scoped_lock_read</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+</table></div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00349.png b/doc/html/a00349.png
deleted file mode 100644
index 497b6ad..0000000
Binary files a/doc/html/a00349.png and /dev/null differ
diff --git a/doc/html/a00350.html b/doc/html/a00350.html
index 971df90..b3f6fcd 100644
--- a/doc/html/a00350.html
+++ b/doc/html/a00350.html
@@ -1,299 +1,62 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>tbb::interface6::task_arena Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="nav">
-<a class="el" href="a00428.html">tbb</a>::<b>interface6</b>::<a class="el" href="a00350.html">task_arena</a></div>
-<h1>tbb::interface6::task_arena Class Reference</h1><!-- doxytag: class="tbb::interface6::task_arena" --><code>#include <task_arena.h></code>
-<p>
-<a href="a00138.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00350.html#5e14461dfcbc713df95367cf7f44738f">task_arena</a> (int max_concurrency=<a class="el" href="a00350.html#fa26370c094032900c1ed69d8e92f4e8">automatic</a>, unsigned reserved_for_masters=1)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Creates <a class="el" href="a00350.html">task_arena</a> with certain concurrency limits.  <a href="#5e14461dfcbc713df95367cf7f44738f"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="27ac2706e3f2a989487ba7944b07cb94"></a><!-- doxytag: member="tbb::interface6::task_arena::task_arena" ref="27ac2706e3f2a989487ba7944b07cb94" args="(const task_arena &s)" -->
- </td><td class="memItemRight" valign="bottom"><a class="el" href="a00350.html#27ac2706e3f2a989487ba7944b07cb94">task_arena</a> (const <a class="el" href="a00350.html">task_arena</a> &s)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Copies settings from another <a class="el" href="a00350.html">task_arena</a>. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="797b8499b58cf6d883f04bacb7d96644"></a><!-- doxytag: member="tbb::interface6::task_arena::initialize" ref="797b8499b58cf6d883f04bacb7d96644" args="()" -->
-void </td><td class="memItemRight" valign="bottom"><b>initialize</b> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ff36aa5ec1305ca9931396fa608981da"></a><!-- doxytag: member="tbb::interface6::task_arena::initialize" ref="ff36aa5ec1305ca9931396fa608981da" args="(int max_concurrency, unsigned reserved_for_masters=1)" -->
-void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00350.html#ff36aa5ec1305ca9931396fa608981da">initialize</a> (int max_concurrency, unsigned reserved_for_masters=1)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Overrides concurrency level and forces initialization of internal representation. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00350.html#ee3f3f736da03bfe8b82acfa822624a6">terminate</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00350.html#fec24e9b3fa07a6e7b20add7c7e0a660">~task_arena</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00350.html#11e35391bf67e96f877183659106583d">is_active</a> () const </td></tr>
-
-<tr><td class="memTemplParams" nowrap colspan="2">template<typename F> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00350.html#11e3854e92c842ee7d72a7f83d416896">enqueue</a> (const F &f)</td></tr>
-
-<tr><td class="memTemplParams" nowrap colspan="2">template<typename F> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00350.html#780277a89e35868abdec843fecaa2237">enqueue</a> (const F &f, priority_t p)</td></tr>
-
-<tr><td class="memTemplParams" nowrap colspan="2">template<typename F> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00350.html#1e013b96178a79c57ec7846ea2cf5e2e">execute</a> (F &f)</td></tr>
-
-<tr><td class="memTemplParams" nowrap colspan="2">template<typename F> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00350.html#082803bb20347e64fed2c11db8e9670e">execute</a> (const F &f)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00350.html#776e73ba196e5bbb8b8ed489fc2b77d3">wait_until_empty</a> ()</td></tr>
-
-<tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e734de6a5f4a0bd4461c0cbdaa29b6ce"></a><!-- doxytag: member="tbb::interface6::task_arena::current_slot" ref="e734de6a5f4a0bd4461c0cbdaa29b6ce" args="()" -->
-static int __TBB_EXPORTED_FUNC </td><td class="memItemRight" valign="bottom"><a class="el" href="a00350.html#e734de6a5f4a0bd4461c0cbdaa29b6ce">current_slot</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the index, aka slot number, of the calling thread in its current arena. <br></td></tr>
-<tr><td colspan="2"><br><h2>Static Public Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="fa26370c094032900c1ed69d8e92f4e8"></a><!-- doxytag: member="tbb::interface6::task_arena::automatic" ref="fa26370c094032900c1ed69d8e92f4e8" args="" -->
-static const int </td><td class="memItemRight" valign="bottom"><a class="el" href="a00350.html#fa26370c094032900c1ed69d8e92f4e8">automatic</a> = -1</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Typedef for number of threads that is automatic. <br></td></tr>
-<tr><td colspan="2"><br><h2>Friends</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="cd0464c9e70fd5fd79f1c8a875ca2849"></a><!-- doxytag: member="tbb::interface6::task_arena::internal::task_scheduler_observer_v3" ref="cd0464c9e70fd5fd79f1c8a875ca2849" args="" -->
-class </td><td class="memItemRight" valign="bottom"><b>internal::task_scheduler_observer_v3</b></td></tr>
-
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-1-to-1 proxy representation class of scheduler's arena Constructors set up settings only, real construction is deferred till the first method invocation TODO: A side effect of this is that it's impossible to create a const <a class="el" href="a00350.html">task_arena</a> object. Rethink? Destructor only removes one of the references to the inner arena representation. Final destruction happens when all the references (and the work) are gone. 
-<p>
-<hr><h2>Constructor & Destructor Documentation</h2>
-<a class="anchor" name="5e14461dfcbc713df95367cf7f44738f"></a><!-- doxytag: member="tbb::interface6::task_arena::task_arena" ref="5e14461dfcbc713df95367cf7f44738f" args="(int max_concurrency=automatic, unsigned reserved_for_masters=1)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">tbb::interface6::task_arena::task_arena           </td>
-          <td>(</td>
-          <td class="paramtype">int </td>
-          <td class="paramname"> <em>max_concurrency</em> = <code><a class="el" href="a00350.html#fa26370c094032900c1ed69d8e92f4e8">automatic</a></code>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">unsigned </td>
-          <td class="paramname"> <em>reserved_for_masters</em> = <code>1</code></td><td> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td width="100%"><code> [inline]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Creates <a class="el" href="a00350.html">task_arena</a> with certain concurrency limits. 
-<p>
-<ul>
-<li>max_concurrency specifies total number of slots in arena where threads work </li>
-<li>reserved_for_masters specifies number of slots to be used by master threads only. Value of 1 is default and reflects behavior of implicit arenas. </li>
-</ul>
-
-</div>
-</div><p>
-<a class="anchor" name="fec24e9b3fa07a6e7b20add7c7e0a660"></a><!-- doxytag: member="tbb::interface6::task_arena::~task_arena" ref="fec24e9b3fa07a6e7b20add7c7e0a660" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">tbb::interface6::task_arena::~task_arena           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td> ) </td>
-          <td width="100%"><code> [inline]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Removes the reference to the internal arena representation, and destroys the external object. Not thread safe wrt concurrent invocations of other methods. 
-</div>
-</div><p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="780277a89e35868abdec843fecaa2237"></a><!-- doxytag: member="tbb::interface6::task_arena::enqueue" ref="780277a89e35868abdec843fecaa2237" args="(const F &f, priority_t p)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template<typename F> </div>
-      <table class="memname">
-        <tr>
-          <td class="memname">void tbb::interface6::task_arena::enqueue           </td>
-          <td>(</td>
-          <td class="paramtype">const F & </td>
-          <td class="paramname"> <em>f</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">priority_t </td>
-          <td class="paramname"> <em>p</em></td><td> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td width="100%"><code> [inline]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Enqueues a task with priority p into the arena to process a functor f, and immediately returns. Does not require the calling thread to join the arena 
-</div>
-</div><p>
-<a class="anchor" name="11e3854e92c842ee7d72a7f83d416896"></a><!-- doxytag: member="tbb::interface6::task_arena::enqueue" ref="11e3854e92c842ee7d72a7f83d416896" args="(const F &f)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template<typename F> </div>
-      <table class="memname">
-        <tr>
-          <td class="memname">void tbb::interface6::task_arena::enqueue           </td>
-          <td>(</td>
-          <td class="paramtype">const F & </td>
-          <td class="paramname"> <em>f</em>          </td>
-          <td> ) </td>
-          <td width="100%"><code> [inline]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Enqueues a task into the arena to process a functor, and immediately returns. Does not require the calling thread to join the arena 
-</div>
-</div><p>
-<a class="anchor" name="082803bb20347e64fed2c11db8e9670e"></a><!-- doxytag: member="tbb::interface6::task_arena::execute" ref="082803bb20347e64fed2c11db8e9670e" args="(const F &f)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template<typename F> </div>
-      <table class="memname">
-        <tr>
-          <td class="memname">void tbb::interface6::task_arena::execute           </td>
-          <td>(</td>
-          <td class="paramtype">const F & </td>
-          <td class="paramname"> <em>f</em>          </td>
-          <td> ) </td>
-          <td width="100%"><code> [inline]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Joins the arena and executes a functor, then returns If not possible to join, wraps the functor into a task, enqueues it and waits for task completion Can decrement the arena demand for workers, causing a worker to leave and free a slot to the calling thread 
-</div>
-</div><p>
-<a class="anchor" name="1e013b96178a79c57ec7846ea2cf5e2e"></a><!-- doxytag: member="tbb::interface6::task_arena::execute" ref="1e013b96178a79c57ec7846ea2cf5e2e" args="(F &f)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template<typename F> </div>
-      <table class="memname">
-        <tr>
-          <td class="memname">void tbb::interface6::task_arena::execute           </td>
-          <td>(</td>
-          <td class="paramtype">F & </td>
-          <td class="paramname"> <em>f</em>          </td>
-          <td> ) </td>
-          <td width="100%"><code> [inline]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Joins the arena and executes a functor, then returns If not possible to join, wraps the functor into a task, enqueues it and waits for task completion Can decrement the arena demand for workers, causing a worker to leave and free a slot to the calling thread 
-</div>
-</div><p>
-<a class="anchor" name="11e35391bf67e96f877183659106583d"></a><!-- doxytag: member="tbb::interface6::task_arena::is_active" ref="11e35391bf67e96f877183659106583d" args="() const " -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">bool tbb::interface6::task_arena::is_active           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td> ) </td>
-          <td width="100%"> const<code> [inline]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Returns true if the arena is active (initialized); false otherwise. The name was chosen to match a <a class="el" href="a00355.html">task_scheduler_init</a> method with the same semantics. 
-</div>
-</div><p>
-<a class="anchor" name="ee3f3f736da03bfe8b82acfa822624a6"></a><!-- doxytag: member="tbb::interface6::task_arena::terminate" ref="ee3f3f736da03bfe8b82acfa822624a6" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void tbb::interface6::task_arena::terminate           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td> ) </td>
-          <td width="100%"><code> [inline]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Removes the reference to the internal arena representation. Not thread safe wrt concurrent invocations of other methods. 
-</div>
-</div><p>
-<a class="anchor" name="776e73ba196e5bbb8b8ed489fc2b77d3"></a><!-- doxytag: member="tbb::interface6::task_arena::wait_until_empty" ref="776e73ba196e5bbb8b8ed489fc2b77d3" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void tbb::interface6::task_arena::wait_until_empty           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td> ) </td>
-          <td width="100%"><code> [inline]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Wait for all work in the arena to be completed Even submitted by other application threads Joins arena if/when possible (in the same way as <a class="el" href="a00350.html#1e013b96178a79c57ec7846ea2cf5e2e">execute()</a>) 
-</div>
-</div><p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li>task_arena.h</ul>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>interface6</b></li><li class="navelem"><a class="el" href="a00013.html">aggregator_operation</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::interface6::aggregator_operation Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="a00013.html">tbb::interface6::aggregator_operation</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>agg_finished</b> enum value (defined in <a class="el" href="a00013.html">tbb::interface6::aggregator_operation</a>)</td><td class="entry"><a class="el" href="a00013.html">tbb::interface6::aggregator_operation</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>agg_waiting</b> enum value (defined in <a class="el" href="a00013.html">tbb::interface6::aggregator_operation</a>)</td><td class="entry"><a class="el" href="a00013.html">tbb::interface6::aggregator_operation</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>aggregator_ext</b> (defined in <a class="el" href="a00013.html">tbb::interface6::aggregator_operation</a>)</td><td class="entry"><a class="el" href="a00013.html">tbb::interface6::aggregator_operation</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>aggregator_operation</b>() (defined in <a class="el" href="a00013.html">tbb::interface6::aggregator_operation</a>)</td><td class="entry"><a class="el" href="a00013.html">tbb::interface6::aggregator_operation</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>aggregator_operation_status</b> enum name (defined in <a class="el" href="a00013.html">tbb::interface6::aggregator_operation</a>)</td><td class="entry"><a class="el" href="a00013.html">tbb::interface6::aggregator_operation</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="a00013.html#ac7edadfe74f475783f3b429904e7010a">finish</a>()</td><td class="entry"><a class="el" href="a00013.html">tbb::interface6::aggregator_operation</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>next</b>() (defined in <a class="el" href="a00013.html">tbb::interface6::aggregator_operation</a>)</td><td class="entry"><a class="el" href="a00013.html">tbb::interface6::aggregator_operation</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>set_next</b>(aggregator_operation *n) (defined in <a class="el" href="a00013.html">tbb::interface6::aggregator_operation</a>)</td><td class="entry"><a class="el" href="a00013.html">tbb::interface6::aggregator_operation</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00013.html#adc0e032aa604f1da85ffc7ec269b157f">start</a>()</td><td class="entry"><a class="el" href="a00013.html">tbb::interface6::aggregator_operation</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+</table></div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00351.html b/doc/html/a00351.html
index 5a63dd8..af0e247 100644
--- a/doc/html/a00351.html
+++ b/doc/html/a00351.html
@@ -1,45 +1,56 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>tbb::interface5::internal::task_base Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="nav">
-<a class="el" href="a00428.html">tbb</a>::<b>interface5</b>::<b>internal</b>::<a class="el" href="a00351.html">task_base</a></div>
-<h1>tbb::interface5::internal::task_base Class Reference</h1><!-- doxytag: class="tbb::interface5::internal::task_base" -->Base class for methods that became static in TBB 3.0.  
-<a href="#_details">More...</a>
-<p>
-<code>#include <task.h></code>
-<p>
-<a href="a00132.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-Base class for methods that became static in TBB 3.0. 
-<p>
-TBB's evolution caused the "this" argument for several methods to become obsolete. However, for backwards binary compatibility, the new methods need distinct names, otherwise the One Definition Rule would be broken. Hence the new methods are defined in this private base class, and then exposed in class task via using declarations. 
-<p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li>task.h</ul>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>interface6</b></li><li class="navelem"><a class="el" href="a00012.html">aggregator_ext</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::interface6::aggregator_ext< handler_type > Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="a00012.html">tbb::interface6::aggregator_ext< handler_type ></a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>aggregator_ext</b>(const handler_type &h) (defined in <a class="el" href="a00012.html">tbb::interface6::aggregator_ext< handler_type ></a>)</td><td class="entry"><a class="el" href="a00012.html">tbb::interface6::aggregator_ext< handler_type ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00012.html#ad376e5c31d10e885f33964592aa629d4">execute_impl</a>(aggregator_operation &op)</td><td class="entry"><a class="el" href="a00012.html">tbb::interface6::aggregator_ext< handler_type ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00012.html#ae55b16ec6af204aa00d6a716fccec9f7">process</a>(aggregator_operation *op)</td><td class="entry"><a class="el" href="a00012.html">tbb::interface6::aggregator_ext< handler_type ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+</table></div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00352.html b/doc/html/a00352.html
new file mode 100644
index 0000000..349f5e6
--- /dev/null
+++ b/doc/html/a00352.html
@@ -0,0 +1,61 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>interface6</b></li><li class="navelem"><a class="el" href="a00011.html">aggregator</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::interface6::aggregator Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="a00011.html">tbb::interface6::aggregator</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>aggregator</b>() (defined in <a class="el" href="a00011.html">tbb::interface6::aggregator</a>)</td><td class="entry"><a class="el" href="a00011.html">tbb::interface6::aggregator</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>aggregator_ext</b>(const internal::basic_handler &h) (defined in <a class="el" href="a00012.html">tbb::interface6::aggregator_ext< internal::basic_handler ></a>)</td><td class="entry"><a class="el" href="a00012.html">tbb::interface6::aggregator_ext< internal::basic_handler ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">private</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00011.html#aa7cc924b6f0d17578d61fd9002f59f84">execute</a>(const Body &b)</td><td class="entry"><a class="el" href="a00011.html">tbb::interface6::aggregator</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00012.html#ad376e5c31d10e885f33964592aa629d4">execute_impl</a>(aggregator_operation &op)</td><td class="entry"><a class="el" href="a00012.html">tbb::interface6::aggregator_ext< internal::basic_handler ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">private</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00012.html#ae55b16ec6af204aa00d6a716fccec9f7">process</a>(aggregator_operation *op)</td><td class="entry"><a class="el" href="a00012.html">tbb::interface6::aggregator_ext< internal::basic_handler ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">private</span></td></tr>
+</table></div><!-- contents -->
+<hr>
+<p></p>
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
+<p></p>
+Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
+registered trademarks or trademarks of Intel Corporation or its
+subsidiaries in the United States and other countries.
+<p></p>
+* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00353.html b/doc/html/a00353.html
index d694a91..065d015 100644
--- a/doc/html/a00353.html
+++ b/doc/html/a00353.html
@@ -1,40 +1,57 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>tbb::task_group_context Struct Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="nav">
-<a class="el" href="a00428.html">tbb</a>::<a class="el" href="a00353.html">task_group_context</a></div>
-<h1>tbb::task_group_context Struct Reference</h1><!-- doxytag: class="tbb::task_group_context" --><code>#include <parallel_invoke.h></code>
-<p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-Dummy to avoid cluttering the bulk of the header with enormous amount of ifdefs. 
-<p>
-<hr>The documentation for this struct was generated from the following file:<ul>
-<li>parallel_invoke.h</ul>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>interface6</b></li><li class="navelem"><a class="el" href="a00036.html">concurrent_lru_cache</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::interface6::concurrent_lru_cache< key_type, value_type, value_functor_type > Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="a00036.html">tbb::interface6::concurrent_lru_cache< key_type, value_type, value_functor_type ></a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>concurrent_lru_cache</b>(value_function_type f, std::size_t number_of_lru_history_items) (defined in <a class="el" href="a00036.html">tbb::interface6::concurrent_lru_cache< key_type, value_type, value_functor_type ></a>)</td><td class="entry"><a class="el" href="a00036.html">tbb::interface6::concurrent_lru_cache< key_type, value_type, value_functor_type ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>handle</b> typedef (defined in <a class="el" href="a00036.html">tbb::interface6::concurrent_lru_cache< key_type, value_type, value_functor_type ></a>)</td><td class="entry"><a class="el" href="a00036.html">tbb::interface6::concurrent_lru_cache< key_type, value_type, value_functor_type ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator[]</b>(key_type k) (defined in <a class="el" href="a00036.html">tbb::interface6::concurrent_lru_cache< key_type, value_type, value_functor_type ></a>)</td><td class="entry"><a class="el" href="a00036.html">tbb::interface6::concurrent_lru_cache< key_type, value_type, value_functor_type ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>tbb::internal::aggregating_functor< self_type, aggregated_operation_type ></b> (defined in <a class="el" href="a00036.html">tbb::interface6::concurrent_lru_cache< key_type, value_type, value_functor_type ></a>)</td><td class="entry"><a class="el" href="a00036.html">tbb::interface6::concurrent_lru_cache< key_type, value_type, value_functor_type ></a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+</table></div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00354.html b/doc/html/a00354.html
index 5c347d4..11181e9 100644
--- a/doc/html/a00354.html
+++ b/doc/html/a00354.html
@@ -1,80 +1,87 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>tbb::task_list Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="nav">
-<a class="el" href="a00428.html">tbb</a>::<a class="el" href="a00354.html">task_list</a></div>
-<h1>tbb::task_list Class Reference<br>
-<small>
-[<a class="el" href="a00446.html">Task Scheduling</a>]</small>
-</h1><!-- doxytag: class="tbb::task_list" -->A list of children.  
-<a href="#_details">More...</a>
-<p>
-<code>#include <task.h></code>
-<p>
-<a href="a00137.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="416341c2047eaef50417b41eaf7e9de6"></a><!-- doxytag: member="tbb::task_list::task_list" ref="416341c2047eaef50417b41eaf7e9de6" args="()" -->
- </td><td class="memItemRight" valign="bottom"><a class="el" href="a00354.html#416341c2047eaef50417b41eaf7e9de6">task_list</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Construct empty list. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6d438f1499a02db1e59c24ab6043e5ba"></a><!-- doxytag: member="tbb::task_list::~task_list" ref="6d438f1499a02db1e59c24ab6043e5ba" args="()" -->
- </td><td class="memItemRight" valign="bottom"><a class="el" href="a00354.html#6d438f1499a02db1e59c24ab6043e5ba">~task_list</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Destroys the list, but does not destroy the task objects. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f3ac31e092814b90929f81bb30441959"></a><!-- doxytag: member="tbb::task_list::empty" ref="f3ac31e092814b90929f81bb30441959" args="() const " -->
-bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00354.html#f3ac31e092814b90929f81bb30441959">empty</a> () const </td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">True if list if empty; false otherwise. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4cd34756bc4763dafb8c84838a0124ff"></a><!-- doxytag: member="tbb::task_list::push_back" ref="4cd34756bc4763dafb8c84838a0124ff" args="(task &task)" -->
-void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00354.html#4cd34756bc4763dafb8c84838a0124ff">push_back</a> (<a class="el" href="a00349.html">task</a> &<a class="el" href="a00349.html">task</a>)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Push task onto back of list. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5fe85df5ed524418389d34051750347d"></a><!-- doxytag: member="tbb::task_list::pop_front" ref="5fe85df5ed524418389d34051750347d" args="()" -->
-<a class="el" href="a00349.html">task</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="a00354.html#5fe85df5ed524418389d34051750347d">pop_front</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Pop the front task from the list. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="fce446ee13e025969945328f3ff59b95"></a><!-- doxytag: member="tbb::task_list::clear" ref="fce446ee13e025969945328f3ff59b95" args="()" -->
-void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00354.html#fce446ee13e025969945328f3ff59b95">clear</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Clear the list. <br></td></tr>
-<tr><td colspan="2"><br><h2>Friends</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e656073628561c8fd68f6134d527e2de"></a><!-- doxytag: member="tbb::task_list::task" ref="e656073628561c8fd68f6134d527e2de" args="" -->
-class </td><td class="memItemRight" valign="bottom"><b>task</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="81d0122aee4ddae419a743ee50d7038e"></a><!-- doxytag: member="tbb::task_list::interface5::internal::task_base" ref="81d0122aee4ddae419a743ee50d7038e" args="" -->
-class </td><td class="memItemRight" valign="bottom"><b>interface5::internal::task_base</b></td></tr>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>interface6</b></li><li class="navelem"><a class="el" href="a00052.html">enumerable_thread_specific</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type > Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
 
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-A list of children. 
-<p>
-Used for method task::spawn_children 
-<p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li>task.h</ul>
+<p>This is the complete list of members for <a class="el" href="a00052.html">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a>, including all inherited members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" href="a00052.html#ad50ceae1b0e91d0fd31fe506e690692b">allocator_type</a> typedef</td><td class="entry"><a class="el" href="a00052.html">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="a00052.html#a070d26debf1f65c83de13f64f91aefdc">begin</a>()</td><td class="entry"><a class="el" href="a00052.html">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00052.html#aa097383eb6f90e4a551830fc00b60b3a">begin</a>() const </td><td class="entry"><a class="el" href="a00052.html">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00052.html#a85a0d8f088ef1ee07aeb2c0e944a4a5e">clear</a>()</td><td class="entry"><a class="el" href="a00052.html">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>combine</b>(combine_func_t f_combine) (defined in <a class="el" href="a00052.html">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a>)</td><td class="entry"><a class="el" href="a00052.html">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>combine_each</b>(combine_func_t f_combine) (defined in <a class="el" href="a00052.html">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a>)</td><td class="entry"><a class="el" href="a00052.html">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>const_iterator</b> typedef (defined in <a class="el" href="a00052.html">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a>)</td><td class="entry"><a class="el" href="a00052.html">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>const_pointer</b> typedef (defined in <a class="el" href="a00052.html">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a>)</td><td class="entry"><a class="el" href="a00052.html">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>const_range_type</b> typedef (defined in <a class="el" href="a00052.html">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a>)</td><td class="entry"><a class="el" href="a00052.html">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>const_reference</b> typedef (defined in <a class="el" href="a00052.html">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a>)</td><td class="entry"><a class="el" href="a00052.html">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>difference_type</b> typedef (defined in <a class="el" href="a00052.html">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a>)</td><td class="entry"><a class="el" href="a00052.html">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="a00052.html#adfa4b2e13e47ab825dc40c4f195d2bc5">empty</a>() const </td><td class="entry"><a class="el" href="a00052.html">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00052.html#ad225e2e8a968b131bf05d72f5686b924">end</a>()</td><td class="entry"><a class="el" href="a00052.html">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00052.html#a5ed0248f10a7aa5045d2cda77dad9588">end</a>() const </td><td class="entry"><a class="el" href="a00052.html">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>enumerable_thread_specific</b> (defined in <a class="el" href="a00052.html">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a>)</td><td class="entry"><a class="el" href="a00052.html">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00052.html#ad95ccef01367c0b6d75f6f91f5bf5315">enumerable_thread_specific</a>()</td><td class="entry"><a class="el" href="a00052.html">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00052.html#a6c4bec58ae7f0f2b6c77f0baf79623ee">enumerable_thread_specific</a>(Finit finit)</td><td class="entry"><a class="el" href="a00052.html">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00052.html#a6f0249ee95fa56665da4b6984f3a685a">enumerable_thread_specific</a>(const T &exemplar)</td><td class="entry"><a class="el" href="a00052.html">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>enumerable_thread_specific</b>(const enumerable_thread_specific< U, Alloc, Cachetype > &other) (defined in <a class="el" href="a00052.html">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a>)</td><td class="entry"><a class="el" href="a00052.html">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>enumerable_thread_specific</b>(const enumerable_thread_specific &other) (defined in <a class="el" href="a00052.html">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a>)</td><td class="entry"><a class="el" href="a00052.html">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>iterator</b> typedef (defined in <a class="el" href="a00052.html">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a>)</td><td class="entry"><a class="el" href="a00052.html">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="a00052.html#aea846c6cbafbe2ff6bde6e8c2a2ee97e">local</a>()</td><td class="entry"><a class="el" href="a00052.html">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00052.html#abbbc24a5816dc163d5df057c5e7f379d">local</a>(bool &exists)</td><td class="entry"><a class="el" href="a00052.html">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>operator=</b>(const enumerable_thread_specific &other) (defined in <a class="el" href="a00052.html">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a>)</td><td class="entry"><a class="el" href="a00052.html">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator=</b>(const enumerable_thread_specific< U, Alloc, Cachetype > &other) (defined in <a class="el" href="a00052.html">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a>)</td><td class="entry"><a class="el" href="a00052.html">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>pointer</b> typedef (defined in <a class="el" href="a00052.html">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a>)</td><td class="entry"><a class="el" href="a00052.html">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00052.html#ac94dd896ed78df240da4a450defbca6c">range</a>(size_t grainsize=1)</td><td class="entry"><a class="el" href="a00052.html">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00052.html#a25b9153dfe994c8122a7f0227cffe793">range</a>(size_t grainsize=1) const </td><td class="entry"><a class="el" href="a00052.html">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>range_type</b> typedef (defined in <a class="el" href="a00052.html">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a>)</td><td class="entry"><a class="el" href="a00052.html">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>reference</b> typedef (defined in <a class="el" href="a00052.html">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a>)</td><td class="entry"><a class="el" href="a00052.html">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00052.html#a4c33c5390783e17daf2b25d53ae919fb">size</a>() const </td><td class="entry"><a class="el" href="a00052.html">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>size_type</b> typedef (defined in <a class="el" href="a00052.html">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a>)</td><td class="entry"><a class="el" href="a00052.html">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>value_type</b> typedef (defined in <a class="el" href="a00052.html">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a>)</td><td class="entry"><a class="el" href="a00052.html">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="a00052.html#a6ea8d717f770acb63efc406df52d4585">~enumerable_thread_specific</a>()</td><td class="entry"><a class="el" href="a00052.html">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+</table></div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00355.html b/doc/html/a00355.html
index db3ac06..62979f7 100644
--- a/doc/html/a00355.html
+++ b/doc/html/a00355.html
@@ -1,182 +1,70 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>tbb::task_scheduler_init Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="nav">
-<a class="el" href="a00428.html">tbb</a>::<a class="el" href="a00355.html">task_scheduler_init</a></div>
-<h1>tbb::task_scheduler_init Class Reference<br>
-<small>
-[<a class="el" href="a00446.html">Task Scheduling</a>]</small>
-</h1><!-- doxytag: class="tbb::task_scheduler_init" -->Class delimiting the scope of task scheduler activity.  
-<a href="#_details">More...</a>
-<p>
-<code>#include <task_scheduler_init.h></code>
-<p>
-<a href="a00145.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void __TBB_EXPORTED_METHOD </td><td class="memItemRight" valign="bottom"><a class="el" href="a00355.html#d476053cc712e572554823492a5229ce">initialize</a> (int number_of_threads=<a class="el" href="a00355.html#8f5988e2b0fbb2d533fcbb7f2583743f">automatic</a>)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Ensure that scheduler exists for this thread.  <a href="#d476053cc712e572554823492a5229ce"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void __TBB_EXPORTED_METHOD </td><td class="memItemRight" valign="bottom"><a class="el" href="a00355.html#d5ed214a8bb53b0466ed91ff4734b9a3">initialize</a> (int number_of_threads, stack_size_type thread_stack_size)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">The overloaded method with stack size parameter.  <a href="#d5ed214a8bb53b0466ed91ff4734b9a3"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f73257e04cb7fb9bd5be2b635d9016f1"></a><!-- doxytag: member="tbb::task_scheduler_init::terminate" ref="f73257e04cb7fb9bd5be2b635d9016f1" args="()" -->
-void __TBB_EXPORTED_METHOD </td><td class="memItemRight" valign="bottom"><a class="el" href="a00355.html#f73257e04cb7fb9bd5be2b635d9016f1">terminate</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Inverse of method initialize. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5dbd23c83603b3b09dffa7982112cc95"></a><!-- doxytag: member="tbb::task_scheduler_init::task_scheduler_init" ref="5dbd23c83603b3b09dffa7982112cc95" args="(int number_of_threads=automatic, stack_size_type thread_stack_size=0, bool wait_workers_in_terminate=false) task_scheduler_init(int number_of_threads" -->
- </td><td class="memItemRight" valign="bottom"><a class="el" href="a00355.html#5dbd23c83603b3b09dffa7982112cc95">task_scheduler_init</a> (int number_of_threads=<a class="el" href="a00355.html#8f5988e2b0fbb2d533fcbb7f2583743f">automatic</a>, stack_size_type thread_stack_size=0, bool wait_workers_in_terminate=false) <a class="el" href="a00355.html">task_scheduler_init</a>(int number_of_threads</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Shorthand for default constructor followed by call to initialize(number_of_threads). <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="12752282977029f23416642bc03e8b74"></a><!-- doxytag: member="tbb::task_scheduler_init::is_active" ref="12752282977029f23416642bc03e8b74" args="() const " -->
-bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00355.html#12752282977029f23416642bc03e8b74">is_active</a> () const </td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns true if scheduler is active (initialized); false otherwise. <br></td></tr>
-<tr><td colspan="2"><br><h2>Public Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">stack_size_type </td><td class="memItemRight" valign="bottom"><b>thread_stack_size</b></td></tr>
-
-<tr><td colspan="2"><br><h2>Static Public Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8f5988e2b0fbb2d533fcbb7f2583743f"></a><!-- doxytag: member="tbb::task_scheduler_init::automatic" ref="8f5988e2b0fbb2d533fcbb7f2583743f" args="" -->
-static const int </td><td class="memItemRight" valign="bottom"><a class="el" href="a00355.html#8f5988e2b0fbb2d533fcbb7f2583743f">automatic</a> = -1</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Typedef for number of threads that is automatic. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e6c860f1e559026ff3ef4599c0d6c514"></a><!-- doxytag: member="tbb::task_scheduler_init::deferred" ref="e6c860f1e559026ff3ef4599c0d6c514" args="" -->
-static const int </td><td class="memItemRight" valign="bottom"><a class="el" href="a00355.html#e6c860f1e559026ff3ef4599c0d6c514">deferred</a> = -2</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Argument to <a class="el" href="a00355.html#d476053cc712e572554823492a5229ce">initialize()</a> or constructor that causes initialization to be deferred. <br></td></tr>
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-Class delimiting the scope of task scheduler activity. 
-<p>
-A thread can construct a <a class="el" href="a00355.html">task_scheduler_init</a> object and keep it alive while it uses TBB's tasking subsystem (including parallel algorithms).<p>
-This class allows to customize properties of the TBB task pool to some extent. For example it can limit concurrency level of parallel work initiated by the given thread. It also can be used to specify stack size of the TBB worker threads, though this setting is not effective if the thread pool has already been created.<p>
-If a parallel construct is used without <a class="el" href="a00355.html">task_scheduler_init</a> object previously created, the scheduler will be initialized automatically with default settings, and will persist until this thread exits. Default concurrency level is defined as described in <a class="el" href="a00355.html#d476053cc712e572554823492a5229ce">task_scheduler_init::initialize()</a>. 
-<p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="d5ed214a8bb53b0466ed91ff4734b9a3"></a><!-- doxytag: member="tbb::task_scheduler_init::initialize" ref="d5ed214a8bb53b0466ed91ff4734b9a3" args="(int number_of_threads, stack_size_type thread_stack_size)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void __TBB_EXPORTED_METHOD tbb::task_scheduler_init::initialize           </td>
-          <td>(</td>
-          <td class="paramtype">int </td>
-          <td class="paramname"> <em>number_of_threads</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">stack_size_type </td>
-          <td class="paramname"> <em>thread_stack_size</em></td><td> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td width="100%"></td>
-        </tr>
-      </table>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>interface6</b></li><li class="navelem"><a class="el" href="a00057.html">flattened2d</a></li>  </ul>
 </div>
-<div class="memdoc">
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::interface6::flattened2d< Container > Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
 
-<p>
-The overloaded method with stack size parameter. 
-<p>
-Overloading is necessary to preserve ABI compatibility 
-</div>
-</div><p>
-<a class="anchor" name="d476053cc712e572554823492a5229ce"></a><!-- doxytag: member="tbb::task_scheduler_init::initialize" ref="d476053cc712e572554823492a5229ce" args="(int number_of_threads=automatic)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void __TBB_EXPORTED_METHOD tbb::task_scheduler_init::initialize           </td>
-          <td>(</td>
-          <td class="paramtype">int </td>
-          <td class="paramname"> <em>number_of_threads</em> = <code><a class="el" href="a00355.html#8f5988e2b0fbb2d533fcbb7f2583743f">automatic</a></code>          </td>
-          <td> ) </td>
-          <td width="100%"></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Ensure that scheduler exists for this thread. 
-<p>
-A value of -1 lets TBB decide on the number of threads, which is usually maximal hardware concurrency for this process, that is the number of logical CPUs on the machine (possibly limited by the processor affinity mask of this process (Windows) or of this thread (Linux, FreeBSD). It is preferable option for production code because it helps to avoid nasty surprises when several TBB based components run side-by-side or in a nested fashion inside the same process.<p>
-The number_of_threads is ignored if any other task_scheduler_inits currently exist. A thread may construct multiple task_scheduler_inits. Doing so does no harm because the underlying scheduler is reference counted. 
-</div>
-</div><p>
-<hr><h2>Member Data Documentation</h2>
-<a class="anchor" name="474d030bbceb4929ca7084eeab598f2b"></a><!-- doxytag: member="tbb::task_scheduler_init::thread_stack_size" ref="474d030bbceb4929ca7084eeab598f2b" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">stack_size_type tbb::task_scheduler_init::thread_stack_size          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-<b>Initial value:</b><div class="fragment"><pre class="fragment">0 )
-#endif
-  : my_scheduler(NULL)  {
-        
-        
-        
-        
-        
-        
-        
-        __TBB_ASSERT( !(thread_stack_size & propagation_mode_mask), <span class="stringliteral">"Requested stack size is not aligned"</span> );
-<span class="preprocessor">#if TBB_USE_EXCEPTIONS</span>
-<span class="preprocessor"></span>        thread_stack_size |= TBB_USE_CAPTURED_EXCEPTION ? propagation_mode_captured : propagation_mode_exact;
-<span class="preprocessor">#endif </span>
-<span class="preprocessor"></span><span class="preprocessor">#if __TBB_SUPPORTS_WORKERS_WAITING_IN_TERMINATE</span>
-<span class="preprocessor"></span>        <span class="keywordflow">if</span> (wait_workers_in_terminate)
-            my_scheduler = (internal::scheduler*)wait_workers_in_terminate_flag;
-<span class="preprocessor">#endif</span>
-<span class="preprocessor"></span>        <a class="code" href="a00355.html#d476053cc712e572554823492a5229ce">initialize</a>( number_of_threads, thread_stack_size );
-    }
-
-    
-    ~<a class="code" href="a00355.html#5dbd23c83603b3b09dffa7982112cc95">task_scheduler_init</a>() {
-        <span class="keywordflow">if</span>( my_scheduler ) 
-            <a class="code" href="a00355.html#f73257e04cb7fb9bd5be2b635d9016f1">terminate</a>();
-        internal::poison_pointer( my_scheduler );
-    }
-    
-    
-    <span class="keyword">static</span> <span class="keywordtype">int</span> __TBB_EXPORTED_FUNC default_num_threads ()
-</pre></div>
-</div>
-</div><p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li>task_scheduler_init.h</ul>
+<p>This is the complete list of members for <a class="el" href="a00057.html">tbb::interface6::flattened2d< Container ></a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>allocator_type</b> typedef (defined in <a class="el" href="a00057.html">tbb::interface6::flattened2d< Container ></a>)</td><td class="entry"><a class="el" href="a00057.html">tbb::interface6::flattened2d< Container ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>begin</b>() (defined in <a class="el" href="a00057.html">tbb::interface6::flattened2d< Container ></a>)</td><td class="entry"><a class="el" href="a00057.html">tbb::interface6::flattened2d< Container ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>begin</b>() const  (defined in <a class="el" href="a00057.html">tbb::interface6::flattened2d< Container ></a>)</td><td class="entry"><a class="el" href="a00057.html">tbb::interface6::flattened2d< Container ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>const_iterator</b> typedef (defined in <a class="el" href="a00057.html">tbb::interface6::flattened2d< Container ></a>)</td><td class="entry"><a class="el" href="a00057.html">tbb::interface6::flattened2d< Container ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>const_pointer</b> typedef (defined in <a class="el" href="a00057.html">tbb::interface6::flattened2d< Container ></a>)</td><td class="entry"><a class="el" href="a00057.html">tbb::interface6::flattened2d< Container ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>const_reference</b> typedef (defined in <a class="el" href="a00057.html">tbb::interface6::flattened2d< Container ></a>)</td><td class="entry"><a class="el" href="a00057.html">tbb::interface6::flattened2d< Container ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>difference_type</b> typedef (defined in <a class="el" href="a00057.html">tbb::interface6::flattened2d< Container ></a>)</td><td class="entry"><a class="el" href="a00057.html">tbb::interface6::flattened2d< Container ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>end</b>() (defined in <a class="el" href="a00057.html">tbb::interface6::flattened2d< Container ></a>)</td><td class="entry"><a class="el" href="a00057.html">tbb::interface6::flattened2d< Container ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>end</b>() const  (defined in <a class="el" href="a00057.html">tbb::interface6::flattened2d< Container ></a>)</td><td class="entry"><a class="el" href="a00057.html">tbb::interface6::flattened2d< Container ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>flattened2d</b>(const Container &c, typename Container::const_iterator b, typename Container::const_iterator e) (defined in <a class="el" href="a00057.html">tbb::interface6::flattened2d< Container ></a>)</td><td class="entry"><a class="el" href="a00057.html">tbb::interface6::flattened2d< Container ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>flattened2d</b>(const Container &c) (defined in <a class="el" href="a00057.html">tbb::interface6::flattened2d< Container ></a>)</td><td class="entry"><a class="el" href="a00057.html">tbb::interface6::flattened2d< Container ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>iterator</b> typedef (defined in <a class="el" href="a00057.html">tbb::interface6::flattened2d< Container ></a>)</td><td class="entry"><a class="el" href="a00057.html">tbb::interface6::flattened2d< Container ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>pointer</b> typedef (defined in <a class="el" href="a00057.html">tbb::interface6::flattened2d< Container ></a>)</td><td class="entry"><a class="el" href="a00057.html">tbb::interface6::flattened2d< Container ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>reference</b> typedef (defined in <a class="el" href="a00057.html">tbb::interface6::flattened2d< Container ></a>)</td><td class="entry"><a class="el" href="a00057.html">tbb::interface6::flattened2d< Container ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>size</b>() const  (defined in <a class="el" href="a00057.html">tbb::interface6::flattened2d< Container ></a>)</td><td class="entry"><a class="el" href="a00057.html">tbb::interface6::flattened2d< Container ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00057.html#a8b84f8f2cc4499f49d17141eaedc99c0">size_type</a> typedef</td><td class="entry"><a class="el" href="a00057.html">tbb::interface6::flattened2d< Container ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>value_type</b> typedef (defined in <a class="el" href="a00057.html">tbb::interface6::flattened2d< Container ></a>)</td><td class="entry"><a class="el" href="a00057.html">tbb::interface6::flattened2d< Container ></a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00356.html b/doc/html/a00356.html
index 5332681..e6435f7 100644
--- a/doc/html/a00356.html
+++ b/doc/html/a00356.html
@@ -1,119 +1,76 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>tbb::tbb_allocator< T > Class Template Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="nav">
-<a class="el" href="a00428.html">tbb</a>::<a class="el" href="a00356.html">tbb_allocator</a></div>
-<h1>tbb::tbb_allocator< T > Class Template Reference<br>
-<small>
-[<a class="el" href="a00443.html">Memory Allocation</a>]</small>
-</h1><!-- doxytag: class="tbb::tbb_allocator" -->Meets "allocator" requirements of ISO C++ Standard, Section 20.1.5.  
-<a href="#_details">More...</a>
-<p>
-<code>#include <tbb_allocator.h></code>
-<p>
-<a href="a00148.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3cdd9619bc0a802763e7823068f83a4c"></a><!-- doxytag: member="tbb::tbb_allocator::value_type" ref="3cdd9619bc0a802763e7823068f83a4c" args="" -->
-typedef internal::allocator_type<<br>
- T >::value_type </td><td class="memItemRight" valign="bottom"><b>value_type</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f979d0e74d7c6e5aeb0d26408776a9e1"></a><!-- doxytag: member="tbb::tbb_allocator::pointer" ref="f979d0e74d7c6e5aeb0d26408776a9e1" args="" -->
-typedef value_type * </td><td class="memItemRight" valign="bottom"><b>pointer</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1622504886ef265016a5821d61bf7adc"></a><!-- doxytag: member="tbb::tbb_allocator::const_pointer" ref="1622504886ef265016a5821d61bf7adc" args="" -->
-typedef const value_type * </td><td class="memItemRight" valign="bottom"><b>const_pointer</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b8e58d23c5c98fd65d4432c1e324f4c0"></a><!-- doxytag: member="tbb::tbb_allocator::reference" ref="b8e58d23c5c98fd65d4432c1e324f4c0" args="" -->
-typedef value_type & </td><td class="memItemRight" valign="bottom"><b>reference</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="532f36f99650b1c26a2b8899383c5411"></a><!-- doxytag: member="tbb::tbb_allocator::const_reference" ref="532f36f99650b1c26a2b8899383c5411" args="" -->
-typedef const value_type & </td><td class="memItemRight" valign="bottom"><b>const_reference</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="639df0fb169cfcb94ba1b12429b736f4"></a><!-- doxytag: member="tbb::tbb_allocator::size_type" ref="639df0fb169cfcb94ba1b12429b736f4" args="" -->
-typedef size_t </td><td class="memItemRight" valign="bottom"><b>size_type</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="54828b5d0b937d608f76650a5df0e39f"></a><!-- doxytag: member="tbb::tbb_allocator::difference_type" ref="54828b5d0b937d608f76650a5df0e39f" args="" -->
-typedef ptrdiff_t </td><td class="memItemRight" valign="bottom"><b>difference_type</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="09a7f81fb2c3055aaecf058b11538544d524c717485b74aa552fb45b45562cb5"></a><!-- doxytag: member="tbb::tbb_allocator::scalable" ref="09a7f81fb2c3055aaecf058b11538544d524c717485b74aa552fb45b45562cb5" args="" -->
- </td><td class="memItemRight" valign="bottom"><b>scalable</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="09a7f81fb2c3055aaecf058b11538544e108c3168e3be5de1d98e74723136fbf"></a><!-- doxytag: member="tbb::tbb_allocator::standard" ref="09a7f81fb2c3055aaecf058b11538544e108c3168e3be5de1d98e74723136fbf" args="" -->
- </td><td class="memItemRight" valign="bottom"><b>standard</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00356.html#09a7f81fb2c3055aaecf058b11538544">malloc_type</a> { <b>scalable</b>, 
-<b>standard</b>
- }</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Specifies current allocator. <br></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d85cd071047b52eeb207d458d54098cc"></a><!-- doxytag: member="tbb::tbb_allocator::tbb_allocator" ref="d85cd071047b52eeb207d458d54098cc" args="(const tbb_allocator &)" -->
- </td><td class="memItemRight" valign="bottom"><b>tbb_allocator</b> (const <a class="el" href="a00356.html">tbb_allocator</a> &)  throw ()</td></tr>
-
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="5c3cb04a50d15d38f4c66ca3e5d2f6af"></a><!-- doxytag: member="tbb::tbb_allocator::tbb_allocator" ref="5c3cb04a50d15d38f4c66ca3e5d2f6af" args="(const tbb_allocator< U > &)" -->
-template<typename U> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"> </td><td class="memTemplItemRight" valign="bottom"><b>tbb_allocator</b> (const <a class="el" href="a00356.html">tbb_allocator</a>< U > &)  throw ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="08d3822344271d0a1c2e64e8c9c16b58"></a><!-- doxytag: member="tbb::tbb_allocator::address" ref="08d3822344271d0a1c2e64e8c9c16b58" args="(reference x) const " -->
-pointer </td><td class="memItemRight" valign="bottom"><b>address</b> (reference x) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2b388f25858f783d995d61506de24656"></a><!-- doxytag: member="tbb::tbb_allocator::address" ref="2b388f25858f783d995d61506de24656" args="(const_reference x) const " -->
-const_pointer </td><td class="memItemRight" valign="bottom"><b>address</b> (const_reference x) const </td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f6cb487b1bdce0b581f265a77dca6d53"></a><!-- doxytag: member="tbb::tbb_allocator::allocate" ref="f6cb487b1bdce0b581f265a77dca6d53" args="(size_type n, const void *=0)" -->
-pointer </td><td class="memItemRight" valign="bottom"><a class="el" href="a00356.html#f6cb487b1bdce0b581f265a77dca6d53">allocate</a> (size_type n, const void *=0)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Allocate space for n objects. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="fdd011fdf2f9ad07006dc7c0a7ec1da2"></a><!-- doxytag: member="tbb::tbb_allocator::deallocate" ref="fdd011fdf2f9ad07006dc7c0a7ec1da2" args="(pointer p, size_type)" -->
-void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00356.html#fdd011fdf2f9ad07006dc7c0a7ec1da2">deallocate</a> (pointer p, size_type)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Free previously allocated block of memory. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f059ca2c96243024f0d562ee3a87a3a5"></a><!-- doxytag: member="tbb::tbb_allocator::max_size" ref="f059ca2c96243024f0d562ee3a87a3a5" args="() const " -->
-size_type </td><td class="memItemRight" valign="bottom"><a class="el" href="a00356.html#f059ca2c96243024f0d562ee3a87a3a5">max_size</a> () const   throw ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Largest value for which method allocate might succeed. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="3999cb92a8b6a995b65ee9ae5c31751f"></a><!-- doxytag: member="tbb::tbb_allocator::construct" ref="3999cb92a8b6a995b65ee9ae5c31751f" args="(U *p, Args &&...args)" -->
-template<typename U, typename... Args> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00356.html#3999cb92a8b6a995b65ee9ae5c31751f">construct</a> (U *p, Args &&...args)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Copy-construct value at location pointed to by p. <br></td></tr>
-<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><b>rebind</b></td></tr>
-
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-<h3>template<typename T><br>
- class tbb::tbb_allocator< T ></h3>
-
-Meets "allocator" requirements of ISO C++ Standard, Section 20.1.5. 
-<p>
-The class selects the best memory allocation mechanism available from scalable_malloc and standard malloc. The members are ordered the same way they are in section 20.4.1 of the ISO C++ standard. 
-<p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li>tbb_allocator.h</ul>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>interface6</b></li><li class="navelem"><a class="el" href="a00074.html">memory_pool_allocator</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::interface6::memory_pool_allocator< T, P > Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="a00074.html">tbb::interface6::memory_pool_allocator< T, P ></a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>address</b>(reference x) const  (defined in <a class="el" href="a00074.html">tbb::interface6::memory_pool_allocator< T, P ></a>)</td><td class="entry"><a class="el" href="a00074.html">tbb::interface6::memory_pool_allocator< T, P ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>address</b>(const_reference x) const  (defined in <a class="el" href="a00074.html">tbb::interface6::memory_pool_allocator< T, P ></a>)</td><td class="entry"><a class="el" href="a00074.html">tbb::interface6::memory_pool_allocator< T, P ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00074.html#a10b9888883a3dbd66e87c4a7f874ef28">allocate</a>(size_type n, const void *=0)</td><td class="entry"><a class="el" href="a00074.html">tbb::interface6::memory_pool_allocator< T, P ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>const_pointer</b> typedef (defined in <a class="el" href="a00074.html">tbb::interface6::memory_pool_allocator< T, P ></a>)</td><td class="entry"><a class="el" href="a00074.html">tbb::interface6::memory_pool_allocator< T, P ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>const_reference</b> typedef (defined in <a class="el" href="a00074.html">tbb::interface6::memory_pool_allocator< T, P ></a>)</td><td class="entry"><a class="el" href="a00074.html">tbb::interface6::memory_pool_allocator< T, P ></a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="a00074.html#ac51b34ef90ecabdd2e0483e25603a15b">construct</a>(U *p, Args &&...args)</td><td class="entry"><a class="el" href="a00074.html">tbb::interface6::memory_pool_allocator< T, P ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>construct</b>(pointer p, const value_type &value) (defined in <a class="el" href="a00074.html">tbb::interface6::memory_pool_allocator< T, P ></a>)</td><td class="entry"><a class="el" href="a00074.html">tbb::interface6::memory_pool_allocator< T, P ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00074.html#a9fcf288f2d653972d1bdc0c65abebed4">deallocate</a>(pointer p, size_type)</td><td class="entry"><a class="el" href="a00074.html">tbb::interface6::memory_pool_allocator< T, P ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00074.html#a2223b6469f88aadc432a4b3f88728d0f">destroy</a>(pointer p)</td><td class="entry"><a class="el" href="a00074.html">tbb::interface6::memory_pool_allocator< T, P ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>difference_type</b> typedef (defined in <a class="el" href="a00074.html">tbb::interface6::memory_pool_allocator< T, P ></a>)</td><td class="entry"><a class="el" href="a00074.html">tbb::interface6::memory_pool_allocator< T, P ></a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00074.html#a2bded8e3fb2cec32b48771e7a1bbb838">max_size</a>() const </td><td class="entry"><a class="el" href="a00074.html">tbb::interface6::memory_pool_allocator< T, P ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>memory_pool_allocator</b> (defined in <a class="el" href="a00074.html">tbb::interface6::memory_pool_allocator< T, P ></a>)</td><td class="entry"><a class="el" href="a00074.html">tbb::interface6::memory_pool_allocator< T, P ></a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>memory_pool_allocator</b>(pool_type &pool) (defined in <a class="el" href="a00074.html">tbb::interface6::memory_pool_allocator< T, P ></a>)</td><td class="entry"><a class="el" href="a00074.html">tbb::interface6::memory_pool_allocator< T, P ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>memory_pool_allocator</b>(const memory_pool_allocator &src) (defined in <a class="el" href="a00074.html">tbb::interface6::memory_pool_allocator< T, P ></a>)</td><td class="entry"><a class="el" href="a00074.html">tbb::interface6::memory_pool_allocator< T, P ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>memory_pool_allocator</b>(const memory_pool_allocator< U, P > &src) (defined in <a class="el" href="a00074.html">tbb::interface6::memory_pool_allocator< T, P ></a>)</td><td class="entry"><a class="el" href="a00074.html">tbb::interface6::memory_pool_allocator< T, P ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>my_pool</b> (defined in <a class="el" href="a00074.html">tbb::interface6::memory_pool_allocator< T, P ></a>)</td><td class="entry"><a class="el" href="a00074.html">tbb::interface6::memory_pool_allocator< T, P ></a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator!=</b> (defined in <a class="el" href="a00074.html">tbb::interface6::memory_pool_allocator< T, P ></a>)</td><td class="entry"><a class="el" href="a00074.html">tbb::interface6::memory_pool_allocator< T, P ></a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>operator==</b> (defined in <a class="el" href="a00074.html">tbb::interface6::memory_pool_allocator< T, P ></a>)</td><td class="entry"><a class="el" href="a00074.html">tbb::interface6::memory_pool_allocator< T, P ></a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>pointer</b> typedef (defined in <a class="el" href="a00074.html">tbb::interface6::memory_pool_allocator< T, P ></a>)</td><td class="entry"><a class="el" href="a00074.html">tbb::interface6::memory_pool_allocator< T, P ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>pool_type</b> typedef (defined in <a class="el" href="a00074.html">tbb::interface6::memory_pool_allocator< T, P ></a>)</td><td class="entry"><a class="el" href="a00074.html">tbb::interface6::memory_pool_allocator< T, P ></a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>reference</b> typedef (defined in <a class="el" href="a00074.html">tbb::interface6::memory_pool_allocator< T, P ></a>)</td><td class="entry"><a class="el" href="a00074.html">tbb::interface6::memory_pool_allocator< T, P ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>size_type</b> typedef (defined in <a class="el" href="a00074.html">tbb::interface6::memory_pool_allocator< T, P ></a>)</td><td class="entry"><a class="el" href="a00074.html">tbb::interface6::memory_pool_allocator< T, P ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>value_type</b> typedef (defined in <a class="el" href="a00074.html">tbb::interface6::memory_pool_allocator< T, P ></a>)</td><td class="entry"><a class="el" href="a00074.html">tbb::interface6::memory_pool_allocator< T, P ></a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00357.html b/doc/html/a00357.html
index c4c5d6e..a38ba5c 100644
--- a/doc/html/a00357.html
+++ b/doc/html/a00357.html
@@ -1,62 +1,54 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>tbb::tbb_allocator< void > Class Template Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="nav">
-<a class="el" href="a00428.html">tbb</a>::<a class="el" href="a00357.html">tbb_allocator< void ></a></div>
-<h1>tbb::tbb_allocator< void > Class Template Reference<br>
-<small>
-[<a class="el" href="a00443.html">Memory Allocation</a>]</small>
-</h1><!-- doxytag: class="tbb::tbb_allocator< void >" -->Analogous to std::allocator<void>, as defined in ISO C++ Standard, Section 20.4.1.  
-<a href="#_details">More...</a>
-<p>
-<code>#include <tbb_allocator.h></code>
-<p>
-<a href="a00150.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="05f5ff584890407c8d672e4b4378744d"></a><!-- doxytag: member="tbb::tbb_allocator< void >::pointer" ref="05f5ff584890407c8d672e4b4378744d" args="" -->
-typedef void * </td><td class="memItemRight" valign="bottom"><b>pointer</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="33e64ba71f06ef24a5093415185e66cb"></a><!-- doxytag: member="tbb::tbb_allocator< void >::const_pointer" ref="33e64ba71f06ef24a5093415185e66cb" args="" -->
-typedef const void * </td><td class="memItemRight" valign="bottom"><b>const_pointer</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="81595a776b9d206a92caa526cad9c637"></a><!-- doxytag: member="tbb::tbb_allocator< void >::value_type" ref="81595a776b9d206a92caa526cad9c637" args="" -->
-typedef void </td><td class="memItemRight" valign="bottom"><b>value_type</b></td></tr>
-
-<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><b>rebind</b></td></tr>
-
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-<h3>template<><br>
- class tbb::tbb_allocator< void ></h3>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>interface6</b></li><li class="navelem"><a class="el" href="a00074.html">memory_pool_allocator</a></li><li class="navelem"><a class="el" href="a00101.html">rebind</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::interface6::memory_pool_allocator< T, P >::rebind< U > Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
 
-Analogous to std::allocator<void>, as defined in ISO C++ Standard, Section 20.4.1. 
-<p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li>tbb_allocator.h</ul>
+<p>This is the complete list of members for <a class="el" href="a00101.html">tbb::interface6::memory_pool_allocator< T, P >::rebind< U ></a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>other</b> typedef (defined in <a class="el" href="a00101.html">tbb::interface6::memory_pool_allocator< T, P >::rebind< U ></a>)</td><td class="entry"><a class="el" href="a00101.html">tbb::interface6::memory_pool_allocator< T, P >::rebind< U ></a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00358.html b/doc/html/a00358.html
index d88bd74..ae93605 100644
--- a/doc/html/a00358.html
+++ b/doc/html/a00358.html
@@ -1,165 +1,64 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>tbb::tbb_exception Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="nav">
-<a class="el" href="a00428.html">tbb</a>::<a class="el" href="a00358.html">tbb_exception</a></div>
-<h1>tbb::tbb_exception Class Reference</h1><!-- doxytag: class="tbb::tbb_exception" -->Interface to be implemented by all exceptions TBB recognizes and propagates across the threads.  
-<a href="#_details">More...</a>
-<p>
-<code>#include <tbb_exception.h></code>
-<p>
-<p>Inheritance diagram for tbb::tbb_exception:
-<p><center><img src="a00358.png" usemap="#tbb::tbb_exception_map" border="0" alt=""></center>
-<map name="tbb::tbb_exception_map">
-<area href="a00278.html" alt="tbb::captured_exception" shape="rect" coords="0,56,248,80">
-<area href="a00311.html" alt="tbb::movable_exception< ExceptionData >" shape="rect" coords="258,56,506,80">
-</map>
-<a href="a00161.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="a00358.html">tbb_exception</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00358.html#3e3482bf264d4ca4dde046cd9c02c766">move</a> ()=0  throw ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Creates and returns pointer to the deep copy of this exception object.  <a href="#3e3482bf264d4ca4dde046cd9c02c766"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00358.html#66c94938eca8bf88b76f3eccaaf215d8">destroy</a> ()=0  throw ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Destroys objects created by the <a class="el" href="a00358.html#3e3482bf264d4ca4dde046cd9c02c766">move()</a> method.  <a href="#66c94938eca8bf88b76f3eccaaf215d8"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00358.html#8588e07fa49692f4d734e4f2e4f048f4">throw_self</a> ()=0</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Throws this exception object.  <a href="#8588e07fa49692f4d734e4f2e4f048f4"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d00f6497e552fee978a02bfcbebf46e2"></a><!-- doxytag: member="tbb::tbb_exception::name" ref="d00f6497e552fee978a02bfcbebf46e2" args="() const =0" -->
-virtual const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00358.html#d00f6497e552fee978a02bfcbebf46e2">name</a> () const =0  throw ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns RTTI name of the originally intercepted exception. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e8157689ecb66bc6c72d3618bf3cc371"></a><!-- doxytag: member="tbb::tbb_exception::what" ref="e8157689ecb66bc6c72d3618bf3cc371" args="() const =0" -->
-virtual const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00358.html#e8157689ecb66bc6c72d3618bf3cc371">what</a> () const =0  throw ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the result of originally intercepted exception's <a class="el" href="a00358.html#e8157689ecb66bc6c72d3618bf3cc371">what()</a> method. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00358.html#3f2da7f3d8a6e4c1df522af1213afb5a">operator delete</a> (void *p)</td></tr>
-
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-Interface to be implemented by all exceptions TBB recognizes and propagates across the threads. 
-<p>
-If an unhandled exception of the type derived from <a class="el" href="a00358.html">tbb::tbb_exception</a> is intercepted by the TBB scheduler in one of the worker threads, it is delivered to and re-thrown in the root thread. The root thread is the thread that has started the outermost algorithm or root task sharing the same <a class="el" href="a00352.html">task_group_context</a> with the guilty algorithm/task (the one that threw the exception first).<p>
-Note: when documentation mentions workers with respect to exception handling, masters are implied as well, because they are completely equivalent in this context. Consequently a root thread can be master or worker thread.<p>
-NOTE: In case of nested algorithms or complex task hierarchies when the nested levels share (explicitly or by means of implicit inheritance) the task group context of the outermost level, the exception may be (re-)thrown multiple times (ultimately - in each worker on each nesting level) before reaching the root thread at the outermost level. IMPORTANT: if you intercept an exception derived from this class on a nested level, you must re-throw it in the catch block by means of the "throw;" [...]
-TBB provides two implementations of this interface: <a class="el" href="a00278.html">tbb::captured_exception</a> and template class <a class="el" href="a00311.html">tbb::movable_exception</a>. See their declarations for more info. 
-<p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="66c94938eca8bf88b76f3eccaaf215d8"></a><!-- doxytag: member="tbb::tbb_exception::destroy" ref="66c94938eca8bf88b76f3eccaaf215d8" args="()=0" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">virtual void tbb::tbb_exception::destroy           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td> ) </td>
-          <td width="100%">  throw ()<code> [pure virtual]</code></td>
-        </tr>
-      </table>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>interface6</b></li><li class="navelem"><a class="el" href="a00075.html">memory_pool_allocator< void, P ></a></li>  </ul>
 </div>
-<div class="memdoc">
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::interface6::memory_pool_allocator< void, P > Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
 
-<p>
-Destroys objects created by the <a class="el" href="a00358.html#3e3482bf264d4ca4dde046cd9c02c766">move()</a> method. 
-<p>
-Frees memory and calls destructor for this exception object. Can and must be used only on objects created by the move method. 
-<p>
-Implemented in <a class="el" href="a00278.html#93d875d3555502ff6f18513525de204c">tbb::captured_exception</a>, and <a class="el" href="a00311.html#7a46873119d9f85a7b0009c13e41a258">tbb::movable_exception< ExceptionData ></a>.
-</div>
-</div><p>
-<a class="anchor" name="3e3482bf264d4ca4dde046cd9c02c766"></a><!-- doxytag: member="tbb::tbb_exception::move" ref="3e3482bf264d4ca4dde046cd9c02c766" args="()=0" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">virtual <a class="el" href="a00358.html">tbb_exception</a>* tbb::tbb_exception::move           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td> ) </td>
-          <td width="100%">  throw ()<code> [pure virtual]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Creates and returns pointer to the deep copy of this exception object. 
-<p>
-Move semantics is allowed. 
-<p>
-Implemented in <a class="el" href="a00278.html#837a50b8f6a800bda225c39d1699643f">tbb::captured_exception</a>, and <a class="el" href="a00311.html#1aea0ad179d6f0481fe7f3495f66adf9">tbb::movable_exception< ExceptionData ></a>.
-</div>
-</div><p>
-<a class="anchor" name="3f2da7f3d8a6e4c1df522af1213afb5a"></a><!-- doxytag: member="tbb::tbb_exception::operator delete" ref="3f2da7f3d8a6e4c1df522af1213afb5a" args="(void *p)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void tbb::tbb_exception::operator delete           </td>
-          <td>(</td>
-          <td class="paramtype">void * </td>
-          <td class="paramname"> <em>p</em>          </td>
-          <td> ) </td>
-          <td width="100%"><code> [inline]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Operator delete is provided only to allow using existing smart pointers with TBB exception objects obtained as the result of applying <a class="el" href="a00358.html#3e3482bf264d4ca4dde046cd9c02c766">move()</a> operation on an exception thrown out of TBB scheduler.<p>
-When overriding method <a class="el" href="a00358.html#3e3482bf264d4ca4dde046cd9c02c766">move()</a> make sure to override operator delete as well if memory is allocated not by TBB's scalable allocator. 
-</div>
-</div><p>
-<a class="anchor" name="8588e07fa49692f4d734e4f2e4f048f4"></a><!-- doxytag: member="tbb::tbb_exception::throw_self" ref="8588e07fa49692f4d734e4f2e4f048f4" args="()=0" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">virtual void tbb::tbb_exception::throw_self           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td> ) </td>
-          <td width="100%"><code> [pure virtual]</code></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Throws this exception object. 
-<p>
-Make sure that if you have several levels of derivation from this interface you implement or override this method on the most derived level. The implementation is as simple as "throw *this;". Failure to do this will result in exception of a base class type being thrown. 
-<p>
-Implemented in <a class="el" href="a00278.html#2dd1be66ab32fa27e0ddef5707fa67ef">tbb::captured_exception</a>, and <a class="el" href="a00311.html#17cffba35811c92b7e65d63506b69602">tbb::movable_exception< ExceptionData ></a>.
-</div>
-</div><p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li>tbb_exception.h</ul>
+<p>This is the complete list of members for <a class="el" href="a00075.html">tbb::interface6::memory_pool_allocator< void, P ></a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>const_pointer</b> typedef (defined in <a class="el" href="a00075.html">tbb::interface6::memory_pool_allocator< void, P ></a>)</td><td class="entry"><a class="el" href="a00075.html">tbb::interface6::memory_pool_allocator< void, P ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>memory_pool_allocator</b> (defined in <a class="el" href="a00075.html">tbb::interface6::memory_pool_allocator< void, P ></a>)</td><td class="entry"><a class="el" href="a00075.html">tbb::interface6::memory_pool_allocator< void, P ></a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>memory_pool_allocator</b>(pool_type &pool) (defined in <a class="el" href="a00075.html">tbb::interface6::memory_pool_allocator< void, P ></a>)</td><td class="entry"><a class="el" href="a00075.html">tbb::interface6::memory_pool_allocator< void, P ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>memory_pool_allocator</b>(const memory_pool_allocator &src) (defined in <a class="el" href="a00075.html">tbb::interface6::memory_pool_allocator< void, P ></a>)</td><td class="entry"><a class="el" href="a00075.html">tbb::interface6::memory_pool_allocator< void, P ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>memory_pool_allocator</b>(const memory_pool_allocator< U, P > &src) (defined in <a class="el" href="a00075.html">tbb::interface6::memory_pool_allocator< void, P ></a>)</td><td class="entry"><a class="el" href="a00075.html">tbb::interface6::memory_pool_allocator< void, P ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>my_pool</b> (defined in <a class="el" href="a00075.html">tbb::interface6::memory_pool_allocator< void, P ></a>)</td><td class="entry"><a class="el" href="a00075.html">tbb::interface6::memory_pool_allocator< void, P ></a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator!=</b> (defined in <a class="el" href="a00075.html">tbb::interface6::memory_pool_allocator< void, P ></a>)</td><td class="entry"><a class="el" href="a00075.html">tbb::interface6::memory_pool_allocator< void, P ></a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>operator==</b> (defined in <a class="el" href="a00075.html">tbb::interface6::memory_pool_allocator< void, P ></a>)</td><td class="entry"><a class="el" href="a00075.html">tbb::interface6::memory_pool_allocator< void, P ></a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>pointer</b> typedef (defined in <a class="el" href="a00075.html">tbb::interface6::memory_pool_allocator< void, P ></a>)</td><td class="entry"><a class="el" href="a00075.html">tbb::interface6::memory_pool_allocator< void, P ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>pool_type</b> typedef (defined in <a class="el" href="a00075.html">tbb::interface6::memory_pool_allocator< void, P ></a>)</td><td class="entry"><a class="el" href="a00075.html">tbb::interface6::memory_pool_allocator< void, P ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>value_type</b> typedef (defined in <a class="el" href="a00075.html">tbb::interface6::memory_pool_allocator< void, P ></a>)</td><td class="entry"><a class="el" href="a00075.html">tbb::interface6::memory_pool_allocator< void, P ></a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00358.png b/doc/html/a00358.png
deleted file mode 100644
index 496da7e..0000000
Binary files a/doc/html/a00358.png and /dev/null differ
diff --git a/doc/html/a00359.html b/doc/html/a00359.html
index 4f8e869..060d79b 100644
--- a/doc/html/a00359.html
+++ b/doc/html/a00359.html
@@ -1,86 +1,54 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>tbb::internal::tbb_exception_ptr Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="nav">
-<a class="el" href="a00428.html">tbb</a>::<b>internal</b>::<a class="el" href="a00359.html">tbb_exception_ptr</a></div>
-<h1>tbb::internal::tbb_exception_ptr Class Reference</h1><!-- doxytag: class="tbb::internal::tbb_exception_ptr" -->Exception container that preserves the exact copy of the original exception.  
-<a href="#_details">More...</a>
-<p>
-<code>#include <tbb_exception.h></code>
-<p>
-<a href="a00164.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00359.html#921875bbacd2c8a5f324c7da7a415262">destroy</a> ()  throw ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Destroys this objects.  <a href="#921875bbacd2c8a5f324c7da7a415262"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="292832fd5c523e3d8081a22247840a1d"></a><!-- doxytag: member="tbb::internal::tbb_exception_ptr::throw_self" ref="292832fd5c523e3d8081a22247840a1d" args="()" -->
-void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00359.html#292832fd5c523e3d8081a22247840a1d">throw_self</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Throws the contained exception . <br></td></tr>
-<tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="65083750bebe799d3fe8143c794523bb"></a><!-- doxytag: member="tbb::internal::tbb_exception_ptr::allocate" ref="65083750bebe799d3fe8143c794523bb" args="()" -->
-static <a class="el" href="a00359.html">tbb_exception_ptr</a> * </td><td class="memItemRight" valign="bottom"><b>allocate</b> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d1111b00ba54b7fe35e6d3a0f21de287"></a><!-- doxytag: member="tbb::internal::tbb_exception_ptr::allocate" ref="d1111b00ba54b7fe35e6d3a0f21de287" args="(const tbb_exception &tag)" -->
-static <a class="el" href="a00359.html">tbb_exception_ptr</a> * </td><td class="memItemRight" valign="bottom"><b>allocate</b> (const <a class="el" href="a00358.html">tbb_exception</a> &tag)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c35e5db8e9cdff5d1387db5b0bad2e4a"></a><!-- doxytag: member="tbb::internal::tbb_exception_ptr::allocate" ref="c35e5db8e9cdff5d1387db5b0bad2e4a" args="(captured_exception &src)" -->
-static <a class="el" href="a00359.html">tbb_exception_ptr</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00359.html#c35e5db8e9cdff5d1387db5b0bad2e4a">allocate</a> (<a class="el" href="a00278.html">captured_exception</a> &src)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">This overload uses move semantics (i.e. it empties src). <br></td></tr>
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-Exception container that preserves the exact copy of the original exception. 
-<p>
-This class can be used only when the appropriate runtime support (mandated by C++0x) is present 
-<p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="921875bbacd2c8a5f324c7da7a415262"></a><!-- doxytag: member="tbb::internal::tbb_exception_ptr::destroy" ref="921875bbacd2c8a5f324c7da7a415262" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void tbb::internal::tbb_exception_ptr::destroy           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td> ) </td>
-          <td width="100%">  throw ()</td>
-        </tr>
-      </table>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>interface6</b></li><li class="navelem"><a class="el" href="a00075.html">memory_pool_allocator< void, P ></a></li><li class="navelem"><a class="el" href="a00102.html">rebind</a></li>  </ul>
 </div>
-<div class="memdoc">
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::interface6::memory_pool_allocator< void, P >::rebind< U > Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
 
-<p>
-Destroys this objects. 
-<p>
-Note that objects of this type can be created only by the allocate() method. 
-</div>
-</div><p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li>tbb_exception.h</ul>
+<p>This is the complete list of members for <a class="el" href="a00102.html">tbb::interface6::memory_pool_allocator< void, P >::rebind< U ></a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>other</b> typedef (defined in <a class="el" href="a00102.html">tbb::interface6::memory_pool_allocator< void, P >::rebind< U ></a>)</td><td class="entry"><a class="el" href="a00102.html">tbb::interface6::memory_pool_allocator< void, P >::rebind< U ></a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00360.html b/doc/html/a00360.html
index 3550e05..08069cc 100644
--- a/doc/html/a00360.html
+++ b/doc/html/a00360.html
@@ -1,53 +1,55 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>tbb::tbb_hash_compare< Key > Struct Template Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="nav">
-<a class="el" href="a00428.html">tbb</a>::<a class="el" href="a00360.html">tbb_hash_compare</a></div>
-<h1>tbb::tbb_hash_compare< Key > Struct Template Reference</h1><!-- doxytag: class="tbb::tbb_hash_compare" -->hash_compare that is default argument for concurrent_hash_map  
-<a href="#_details">More...</a>
-<p>
-<code>#include <concurrent_hash_map.h></code>
-<p>
-<a href="a00018.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c35d106ad65aa6ca5ba9008c1c86f80d"></a><!-- doxytag: member="tbb::tbb_hash_compare::hash" ref="c35d106ad65aa6ca5ba9008c1c86f80d" args="(const Key &a)" -->
-static size_t </td><td class="memItemRight" valign="bottom"><b>hash</b> (const Key &a)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b4d302049aabea046e392ddfad8b3f06"></a><!-- doxytag: member="tbb::tbb_hash_compare::equal" ref="b4d302049aabea046e392ddfad8b3f06" args="(const Key &a, const Key &b)" -->
-static bool </td><td class="memItemRight" valign="bottom"><b>equal</b> (const Key &a, const Key &b)</td></tr>
-
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-<h3>template<typename Key><br>
- struct tbb::tbb_hash_compare< Key ></h3>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>interface6</b></li><li class="navelem"><a class="el" href="a00073.html">memory_pool</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::interface6::memory_pool< Alloc > Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
 
-hash_compare that is default argument for concurrent_hash_map 
-<p>
-<hr>The documentation for this struct was generated from the following file:<ul>
-<li>concurrent_hash_map.h</ul>
+<p>This is the complete list of members for <a class="el" href="a00073.html">tbb::interface6::memory_pool< Alloc ></a>, including all inherited members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" href="a00073.html#af4c36829a159eac04d630ac5a99b9354">memory_pool</a>(const Alloc &src=Alloc())</td><td class="entry"><a class="el" href="a00073.html">tbb::interface6::memory_pool< Alloc ></a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="a00073.html#ad2c7645b39b7280b1b3cf393d05fbaf7">~memory_pool</a>()</td><td class="entry"><a class="el" href="a00073.html">tbb::interface6::memory_pool< Alloc ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+</table></div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00361.html b/doc/html/a00361.html
index b2aef1b..ae58cf6 100644
--- a/doc/html/a00361.html
+++ b/doc/html/a00361.html
@@ -1,120 +1,55 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>tbb::thread_bound_filter Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="nav">
-<a class="el" href="a00428.html">tbb</a>::<a class="el" href="a00361.html">thread_bound_filter</a></div>
-<h1>tbb::thread_bound_filter Class Reference<br>
-<small>
-[<a class="el" href="a00441.html">Algorithms</a>]</small>
-</h1><!-- doxytag: class="tbb::thread_bound_filter" --><!-- doxytag: inherits="tbb::filter" -->A stage in a pipeline served by a user thread.  
-<a href="#_details">More...</a>
-<p>
-<code>#include <pipeline.h></code>
-<p>
-<p>Inheritance diagram for tbb::thread_bound_filter:
-<p><center><img src="a00361.png" usemap="#tbb::thread_bound_filter_map" border="0" alt=""></center>
-<map name="tbb::thread_bound_filter_map">
-<area href="a00294.html" alt="tbb::filter" shape="rect" coords="0,0,145,24">
-</map>
-<a href="a00108.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="902c4645e624e8f589b89841df5331de0c135a0274225f59d2b2a682d1103f23"></a><!-- doxytag: member="tbb::thread_bound_filter::success" ref="902c4645e624e8f589b89841df5331de0c135a0274225f59d2b2a682d1103f23" args="" -->
- </td><td class="memItemRight" valign="bottom"><b>success</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="902c4645e624e8f589b89841df5331de5243cf0030982cfa4ac1a8e97acb39f4"></a><!-- doxytag: member="tbb::thread_bound_filter::item_not_available" ref="902c4645e624e8f589b89841df5331de5243cf0030982cfa4ac1a8e97acb39f4" args="" -->
- </td><td class="memItemRight" valign="bottom"><b>item_not_available</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="902c4645e624e8f589b89841df5331ded4085a8b251604b51c0f19602eeef09f"></a><!-- doxytag: member="tbb::thread_bound_filter::end_of_stream" ref="902c4645e624e8f589b89841df5331ded4085a8b251604b51c0f19602eeef09f" args="" -->
- </td><td class="memItemRight" valign="bottom"><b>end_of_stream</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><b>result_type</b> { <b>success</b>, 
-<b>item_not_available</b>, 
-<b>end_of_stream</b>
- }</td></tr>
-
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">result_type __TBB_EXPORTED_METHOD </td><td class="memItemRight" valign="bottom"><a class="el" href="a00361.html#c4f90f2c771bce748beb9be734fa286c">try_process_item</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">If a data item is available, invoke operator() on that item.  <a href="#c4f90f2c771bce748beb9be734fa286c"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">result_type __TBB_EXPORTED_METHOD </td><td class="memItemRight" valign="bottom"><a class="el" href="a00361.html#5e726bdc7fbd924c0b07bd558b1d4d5d">process_item</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Wait until a data item becomes available, and invoke operator() on that item.  <a href="#5e726bdc7fbd924c0b07bd558b1d4d5d"></a><br></td></tr>
-<tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="413fad2ade743d9af5dcabc56aedf4fe"></a><!-- doxytag: member="tbb::thread_bound_filter::thread_bound_filter" ref="413fad2ade743d9af5dcabc56aedf4fe" args="(mode filter_mode)" -->
- </td><td class="memItemRight" valign="bottom"><b>thread_bound_filter</b> (mode filter_mode)</td></tr>
-
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-A stage in a pipeline served by a user thread. 
-<p>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="5e726bdc7fbd924c0b07bd558b1d4d5d"></a><!-- doxytag: member="tbb::thread_bound_filter::process_item" ref="5e726bdc7fbd924c0b07bd558b1d4d5d" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">result_type __TBB_EXPORTED_METHOD tbb::thread_bound_filter::process_item           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td> ) </td>
-          <td width="100%"></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Wait until a data item becomes available, and invoke operator() on that item. 
-<p>
-This interface is blocking. Returns 'success' if an item was processed. Returns 'end_of_stream' if there are no more items to process. Never returns 'item_not_available', as it blocks until another return condition applies. 
-</div>
-</div><p>
-<a class="anchor" name="c4f90f2c771bce748beb9be734fa286c"></a><!-- doxytag: member="tbb::thread_bound_filter::try_process_item" ref="c4f90f2c771bce748beb9be734fa286c" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">result_type __TBB_EXPORTED_METHOD tbb::thread_bound_filter::try_process_item           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td> ) </td>
-          <td width="100%"></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-If a data item is available, invoke operator() on that item. 
-<p>
-This interface is non-blocking. Returns 'success' if an item was processed. Returns 'item_not_available' if no item can be processed now but more may arrive in the future, or if token limit is reached. Returns 'end_of_stream' if there are no more items to process. 
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>interface6</b></li><li class="navelem"><a class="el" href="a00056.html">fixed_pool</a></li>  </ul>
 </div>
-</div><p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li>pipeline.h</ul>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::interface6::fixed_pool Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="a00056.html">tbb::interface6::fixed_pool</a>, including all inherited members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" href="a00056.html#aa3811fe3d437ba2eefa926d52732491a">fixed_pool</a>(void *buf, size_t size)</td><td class="entry"><a class="el" href="a00056.html">tbb::interface6::fixed_pool</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00056.html#ab854a85575e5c1e9c9f4d3eafcc28044">~fixed_pool</a>()</td><td class="entry"><a class="el" href="a00056.html">tbb::interface6::fixed_pool</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+</table></div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00361.png b/doc/html/a00361.png
deleted file mode 100644
index 3327bd5..0000000
Binary files a/doc/html/a00361.png and /dev/null differ
diff --git a/doc/html/a00362.html b/doc/html/a00362.html
index 92139ca..e2b193d 100644
--- a/doc/html/a00362.html
+++ b/doc/html/a00362.html
@@ -1,69 +1,55 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>tbb::tick_count Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="nav">
-<a class="el" href="a00428.html">tbb</a>::<a class="el" href="a00362.html">tick_count</a></div>
-<h1>tbb::tick_count Class Reference<br>
-<small>
-[<a class="el" href="a00445.html">Timing</a>]</small>
-</h1><!-- doxytag: class="tbb::tick_count" -->Absolute timestamp.  
-<a href="#_details">More...</a>
-<p>
-<code>#include <tick_count.h></code>
-<p>
-<a href="a00188.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="34593326ae4191e02a13c7cbdab9de4c"></a><!-- doxytag: member="tbb::tick_count::tick_count" ref="34593326ae4191e02a13c7cbdab9de4c" args="()" -->
- </td><td class="memItemRight" valign="bottom"><a class="el" href="a00362.html#34593326ae4191e02a13c7cbdab9de4c">tick_count</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Construct an absolute timestamp initialized to zero. <br></td></tr>
-<tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="fb7f78ca61cf28398645ace66e284473"></a><!-- doxytag: member="tbb::tick_count::now" ref="fb7f78ca61cf28398645ace66e284473" args="()" -->
-static <a class="el" href="a00362.html">tick_count</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00362.html#fb7f78ca61cf28398645ace66e284473">now</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Return current time. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8aaa5ac47975a1b0fa3e95752281159e"></a><!-- doxytag: member="tbb::tick_count::resolution" ref="8aaa5ac47975a1b0fa3e95752281159e" args="()" -->
-static double </td><td class="memItemRight" valign="bottom"><a class="el" href="a00362.html#8aaa5ac47975a1b0fa3e95752281159e">resolution</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Return the resolution of the clock in seconds per tick. <br></td></tr>
-<tr><td colspan="2"><br><h2>Friends</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="09dde78a4100800c11bb883d6204b586"></a><!-- doxytag: member="tbb::tick_count::operator-" ref="09dde78a4100800c11bb883d6204b586" args="(const tick_count &t1, const tick_count &t0)" -->
-<a class="el" href="a00363.html">interval_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00362.html#09dde78a4100800c11bb883d6204b586">operator-</a> (const <a class="el" href="a00362.html">tick_count</a> &t1, const <a class="el" href="a00362.html">tick_count</a> &t0)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Subtract two timestamps to get the time interval between. <br></td></tr>
-<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00363.html">interval_t</a></td></tr>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>interface6</b></li><li class="navelem"><a class="el" href="a00058.html">flow_control</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::interface6::flow_control Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
 
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Relative time interval.  <a href="a00363.html#_details">More...</a><br></td></tr>
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-Absolute timestamp. 
-<p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li>tick_count.h</ul>
+<p>This is the complete list of members for <a class="el" href="a00058.html">tbb::interface6::flow_control</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>internal::concrete_filter</b> (defined in <a class="el" href="a00058.html">tbb::interface6::flow_control</a>)</td><td class="entry"><a class="el" href="a00058.html">tbb::interface6::flow_control</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>stop</b>() (defined in <a class="el" href="a00058.html">tbb::interface6::flow_control</a>)</td><td class="entry"><a class="el" href="a00058.html">tbb::interface6::flow_control</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+</table></div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00363.html b/doc/html/a00363.html
index be9d6cc..a9ce48b 100644
--- a/doc/html/a00363.html
+++ b/doc/html/a00363.html
@@ -1,80 +1,62 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>tbb::tick_count::interval_t Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="nav">
-<a class="el" href="a00428.html">tbb</a>::<a class="el" href="a00362.html">tick_count</a>::<a class="el" href="a00363.html">interval_t</a></div>
-<h1>tbb::tick_count::interval_t Class Reference</h1><!-- doxytag: class="tbb::tick_count::interval_t" -->Relative time interval.  
-<a href="#_details">More...</a>
-<p>
-<code>#include <tick_count.h></code>
-<p>
-<a href="a00189.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="75a9a0949f8a8a84d6758835f1b48dad"></a><!-- doxytag: member="tbb::tick_count::interval_t::interval_t" ref="75a9a0949f8a8a84d6758835f1b48dad" args="()" -->
- </td><td class="memItemRight" valign="bottom"><a class="el" href="a00363.html#75a9a0949f8a8a84d6758835f1b48dad">interval_t</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Construct a time interval representing zero time duration. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1a21a428e00cced2e6a49e0f5f2258bf"></a><!-- doxytag: member="tbb::tick_count::interval_t::interval_t" ref="1a21a428e00cced2e6a49e0f5f2258bf" args="(double sec)" -->
- </td><td class="memItemRight" valign="bottom"><a class="el" href="a00363.html#1a21a428e00cced2e6a49e0f5f2258bf">interval_t</a> (double sec)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Construct a time interval representing sec seconds time duration. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d5d8429c0bc59cf6131b2abc7929fa59"></a><!-- doxytag: member="tbb::tick_count::interval_t::seconds" ref="d5d8429c0bc59cf6131b2abc7929fa59" args="() const " -->
-double </td><td class="memItemRight" valign="bottom"><a class="el" href="a00363.html#d5d8429c0bc59cf6131b2abc7929fa59">seconds</a> () const </td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Return the length of a time interval in seconds. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="cd9814947902e26463a69a111530f81b"></a><!-- doxytag: member="tbb::tick_count::interval_t::operator+=" ref="cd9814947902e26463a69a111530f81b" args="(const interval_t &i)" -->
-<a class="el" href="a00363.html">interval_t</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="a00363.html#cd9814947902e26463a69a111530f81b">operator+=</a> (const <a class="el" href="a00363.html">interval_t</a> &i)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Accumulation operator. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="35ff7eaf7c2031b4a991402ac9ecb940"></a><!-- doxytag: member="tbb::tick_count::interval_t::operator-=" ref="35ff7eaf7c2031b4a991402ac9ecb940" args="(const interval_t &i)" -->
-<a class="el" href="a00363.html">interval_t</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="a00363.html#35ff7eaf7c2031b4a991402ac9ecb940">operator-=</a> (const <a class="el" href="a00363.html">interval_t</a> &i)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Subtraction operator. <br></td></tr>
-<tr><td colspan="2"><br><h2>Friends</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="cc3a7ad7000317951ce61f706163efe8"></a><!-- doxytag: member="tbb::tick_count::interval_t::tbb::tick_count" ref="cc3a7ad7000317951ce61f706163efe8" args="" -->
-class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00363.html#cc3a7ad7000317951ce61f706163efe8">tbb::tick_count</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="09dde78a4100800c11bb883d6204b586"></a><!-- doxytag: member="tbb::tick_count::interval_t::operator-" ref="09dde78a4100800c11bb883d6204b586" args="(const tick_count &t1, const tick_count &t0)" -->
-<a class="el" href="a00363.html">interval_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00363.html#09dde78a4100800c11bb883d6204b586">operator-</a> (const <a class="el" href="a00362.html">tick_count</a> &t1, const <a class="el" href="a00362.html">tick_count</a> &t0)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Extract the intervals from the tick_counts and subtract them. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5871ead1ca230efbe52a5008470e6428"></a><!-- doxytag: member="tbb::tick_count::interval_t::operator+" ref="5871ead1ca230efbe52a5008470e6428" args="(const interval_t &i, const interval_t &j)" -->
-<a class="el" href="a00363.html">interval_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00363.html#5871ead1ca230efbe52a5008470e6428">operator+</a> (const <a class="el" href="a00363.html">interval_t</a> &i, const <a class="el" href="a00363.html">interval_t</a> &j)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Add two intervals. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="fa509691e1d689830931e36edd274f76"></a><!-- doxytag: member="tbb::tick_count::interval_t::operator-" ref="fa509691e1d689830931e36edd274f76" args="(const interval_t &i, const interval_t &j)" -->
-<a class="el" href="a00363.html">interval_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00363.html#fa509691e1d689830931e36edd274f76">operator-</a> (const <a class="el" href="a00363.html">interval_t</a> &i, const <a class="el" href="a00363.html">interval_t</a> &j)</td></tr>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>interface6</b></li><li class="navelem"><a class="el" href="a00054.html">filter_t</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::interface6::filter_t< T, U > Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
 
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Subtract two intervals. <br></td></tr>
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-Relative time interval. 
-<p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li>tick_count.h</ul>
+<p>This is the complete list of members for <a class="el" href="a00054.html">tbb::interface6::filter_t< T, U ></a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>clear</b>() (defined in <a class="el" href="a00054.html">tbb::interface6::filter_t< T, U ></a>)</td><td class="entry"><a class="el" href="a00054.html">tbb::interface6::filter_t< T, U ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>filter_t</b>() (defined in <a class="el" href="a00054.html">tbb::interface6::filter_t< T, U ></a>)</td><td class="entry"><a class="el" href="a00054.html">tbb::interface6::filter_t< T, U ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>filter_t</b>(const filter_t< T, U > &rhs) (defined in <a class="el" href="a00054.html">tbb::interface6::filter_t< T, U ></a>)</td><td class="entry"><a class="el" href="a00054.html">tbb::interface6::filter_t< T, U ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>filter_t</b>(tbb::filter::mode mode, const Body &body) (defined in <a class="el" href="a00054.html">tbb::interface6::filter_t< T, U ></a>)</td><td class="entry"><a class="el" href="a00054.html">tbb::interface6::filter_t< T, U ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>internal::pipeline_proxy</b> (defined in <a class="el" href="a00054.html">tbb::interface6::filter_t< T, U ></a>)</td><td class="entry"><a class="el" href="a00054.html">tbb::interface6::filter_t< T, U ></a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00054.html#a21460fde704da22caa222778f5abb140">make_filter</a>(tbb::filter::mode, const Body &)</td><td class="entry"><a class="el" href="a00054.html">tbb::interface6::filter_t< T, U ></a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator&</b> (defined in <a class="el" href="a00054.html">tbb::interface6::filter_t< T, U ></a>)</td><td class="entry"><a class="el" href="a00054.html">tbb::interface6::filter_t< T, U ></a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>operator=</b>(const filter_t< T, U > &rhs) (defined in <a class="el" href="a00054.html">tbb::interface6::filter_t< T, U ></a>)</td><td class="entry"><a class="el" href="a00054.html">tbb::interface6::filter_t< T, U ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~filter_t</b>() (defined in <a class="el" href="a00054.html">tbb::interface6::filter_t< T, U ></a>)</td><td class="entry"><a class="el" href="a00054.html">tbb::interface6::filter_t< T, U ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+</table></div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00364.html b/doc/html/a00364.html
index f8bcd27..d618c43 100644
--- a/doc/html/a00364.html
+++ b/doc/html/a00364.html
@@ -1,47 +1,69 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>tbb::user_abort Class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="nav">
-<a class="el" href="a00428.html">tbb</a>::<a class="el" href="a00364.html">user_abort</a></div>
-<h1>tbb::user_abort Class Reference</h1><!-- doxytag: class="tbb::user_abort" -->Exception for user-initiated abort.  
-<a href="#_details">More...</a>
-<p>
-<code>#include <tbb_exception.h></code>
-<p>
-<a href="a00158.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="989461aff2934fede08b969ed4bf4e16"></a><!-- doxytag: member="tbb::user_abort::what" ref="989461aff2934fede08b969ed4bf4e16" args="() const " -->
-const char * </td><td class="memItemRight" valign="bottom"><b>what</b> () const   throw ()</td></tr>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>interface6</b></li><li class="navelem"><a class="el" href="a00110.html">runtime_loader</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::interface6::runtime_loader Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
 
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-Exception for user-initiated abort. 
-<p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li>tbb_exception.h</ul>
+<p>This is the complete list of members for <a class="el" href="a00110.html">tbb::interface6::runtime_loader</a>, including all inherited members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" href="a00110.html#a264674772d9f4240d89aa9d939c1eef7afd928f63eb3da0980e746d58374b07c3">ec_bad_arg</a> enum value</td><td class="entry"><a class="el" href="a00110.html">tbb::interface6::runtime_loader</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="a00110.html#a264674772d9f4240d89aa9d939c1eef7a670e4d0a5a3c1bbcdff9e5ee16dc9c01">ec_bad_call</a> enum value</td><td class="entry"><a class="el" href="a00110.html">tbb::interface6::runtime_loader</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00110.html#a264674772d9f4240d89aa9d939c1eef7a71f874957c0322f499ba764dd0bb8732">ec_bad_lib</a> enum value</td><td class="entry"><a class="el" href="a00110.html">tbb::interface6::runtime_loader</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="a00110.html#a264674772d9f4240d89aa9d939c1eef7aae7497a49ceae69d06d6ab9fef636064">ec_bad_ver</a> enum value</td><td class="entry"><a class="el" href="a00110.html">tbb::interface6::runtime_loader</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00110.html#a264674772d9f4240d89aa9d939c1eef7a5e694560f3ada80d2cc25881b5ae43dd">ec_no_lib</a> enum value</td><td class="entry"><a class="el" href="a00110.html">tbb::interface6::runtime_loader</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="a00110.html#a264674772d9f4240d89aa9d939c1eef7afc7eba28f2fc936312f041cf85276434">ec_ok</a> enum value</td><td class="entry"><a class="el" href="a00110.html">tbb::interface6::runtime_loader</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00110.html#ab85c82f9c0ccd91905f2795a79ac1295ac41f8e03c7e8bfc6a420be035d59cc35">em_abort</a> enum value</td><td class="entry"><a class="el" href="a00110.html">tbb::interface6::runtime_loader</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="a00110.html#ab85c82f9c0ccd91905f2795a79ac1295af9c9137d6acdb0fd37f1a92b5cdaeb36">em_status</a> enum value</td><td class="entry"><a class="el" href="a00110.html">tbb::interface6::runtime_loader</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00110.html#ab85c82f9c0ccd91905f2795a79ac1295a17ec1019cffa635146eaefb042e28a2c">em_throw</a> enum value</td><td class="entry"><a class="el" href="a00110.html">tbb::interface6::runtime_loader</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="a00110.html#a264674772d9f4240d89aa9d939c1eef7">error_code</a> enum name</td><td class="entry"><a class="el" href="a00110.html">tbb::interface6::runtime_loader</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00110.html#ab85c82f9c0ccd91905f2795a79ac1295">error_mode</a> enum name</td><td class="entry"><a class="el" href="a00110.html">tbb::interface6::runtime_loader</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="a00110.html#ae2949e9adcac56a2cb9864437be8e22e">load</a>(char const *path[], int min_ver=TBB_INTERFACE_VERSION, int max_ver=INT_MAX)</td><td class="entry"><a class="el" href="a00110.html">tbb::interface6::runtime_loader</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00110.html#a2f87eaf99564c705aa140f2eb8848eaa">runtime_loader</a>(error_mode mode=em_abort)</td><td class="entry"><a class="el" href="a00110.html">tbb::interface6::runtime_loader</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="a00110.html#a3e0932074d2f3ad04605e7e5da88c561">runtime_loader</a>(char const *path[], int min_ver=TBB_INTERFACE_VERSION, int max_ver=INT_MAX, error_mode mode=em_abort)</td><td class="entry"><a class="el" href="a00110.html">tbb::interface6::runtime_loader</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00110.html#a85bf9ee021a2076a3ac7cfd70aae7345">status</a>()</td><td class="entry"><a class="el" href="a00110.html">tbb::interface6::runtime_loader</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="a00110.html#aa3b96f53e165e3d692c3c36292ba0737">~runtime_loader</a>()</td><td class="entry"><a class="el" href="a00110.html">tbb::interface6::runtime_loader</a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00365.html b/doc/html/a00365.html
index 90dc38d..86d8cb7 100644
--- a/doc/html/a00365.html
+++ b/doc/html/a00365.html
@@ -1,52 +1,66 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>tbb::internal::work_around_alignment_bug< Size, T > Struct Template Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="nav">
-<a class="el" href="a00428.html">tbb</a>::<b>internal</b>::<a class="el" href="a00365.html">work_around_alignment_bug</a></div>
-<h1>tbb::internal::work_around_alignment_bug< Size, T > Struct Template Reference</h1><!-- doxytag: class="tbb::internal::work_around_alignment_bug" -->Work around for bug in GNU 3.2 and MSVC compilers.  
-<a href="#_details">More...</a>
-<p>
-<code>#include <tbb_machine.h></code>
-<p>
-<a href="a00183.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Static Public Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="14283941aefd819871be2f5e24f5cb37"></a><!-- doxytag: member="tbb::internal::work_around_alignment_bug::alignment" ref="14283941aefd819871be2f5e24f5cb37" args="" -->
-static const size_t </td><td class="memItemRight" valign="bottom"><b>alignment</b> = __TBB_alignof(T)</td></tr>
-
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-<h3>template<size_t Size, typename T><br>
- struct tbb::internal::work_around_alignment_bug< Size, T ></h3>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>interface6</b></li><li class="navelem"><a class="el" href="a00142.html">task_scheduler_observer</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::interface6::task_scheduler_observer Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
 
-Work around for bug in GNU 3.2 and MSVC compilers. 
-<p>
-Bug is that compiler sometimes returns 0 for __alignof(T) when T has not yet been instantiated. The work-around forces instantiation by forcing computation of sizeof(T) before __alignof(T). 
-<p>
-<hr>The documentation for this struct was generated from the following file:<ul>
-<li>tbb_machine.h</ul>
+<p>This is the complete list of members for <a class="el" href="a00142.html">tbb::interface6::task_scheduler_observer</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>internal::observer_list</b> (defined in <a class="el" href="a00142.html">tbb::interface6::task_scheduler_observer</a>)</td><td class="entry"><a class="el" href="a00142.html">tbb::interface6::task_scheduler_observer</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>internal::observer_proxy</b> (defined in <a class="el" href="a00142.html">tbb::interface6::task_scheduler_observer</a>)</td><td class="entry"><a class="el" href="a00142.html">tbb::interface6::task_scheduler_observer</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>internal::task_scheduler_observer_v3</b> (defined in <a class="el" href="a00142.html">tbb::interface6::task_scheduler_observer</a>)</td><td class="entry"><a class="el" href="a00142.html">tbb::interface6::task_scheduler_observer</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00143.html#a31abaf256f7172f010cfb2259c7787bb">is_observing</a>() const </td><td class="entry"><a class="el" href="a00143.html">tbb::internal::task_scheduler_observer_v3</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00143.html#a40209b347e3c82bb5bfda05941304309">observe</a>(bool state=true)</td><td class="entry"><a class="el" href="a00143.html">tbb::internal::task_scheduler_observer_v3</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="a00143.html#af4282a27725fbe86052bb785bdd9c5d3">on_scheduler_entry</a>(bool)</td><td class="entry"><a class="el" href="a00143.html">tbb::internal::task_scheduler_observer_v3</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00143.html#a657e90f833568e217b807d0122fa7668">on_scheduler_exit</a>(bool)</td><td class="entry"><a class="el" href="a00143.html">tbb::internal::task_scheduler_observer_v3</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00142.html#afd3842518d9a37efb3c8455b22950bb8">on_scheduler_leaving</a>()</td><td class="entry"><a class="el" href="a00142.html">tbb::interface6::task_scheduler_observer</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00142.html#a89025b1e1d42e97d6fe114c0c331f730">task_scheduler_observer</a>(bool local=false)</td><td class="entry"><a class="el" href="a00142.html">tbb::interface6::task_scheduler_observer</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00142.html#a36e7e0c466320029d5a3e50a573e04c1">task_scheduler_observer</a>(task_arena &a)</td><td class="entry"><a class="el" href="a00142.html">tbb::interface6::task_scheduler_observer</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00143.html#a25bffb05efaaab36bc58590969e29745">task_scheduler_observer_v3</a>()</td><td class="entry"><a class="el" href="a00143.html">tbb::internal::task_scheduler_observer_v3</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00142.html#a9ef3f1853439b46e5a9db7fd1c0f9116">~task_scheduler_observer</a>()</td><td class="entry"><a class="el" href="a00142.html">tbb::interface6::task_scheduler_observer</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00143.html#a151e475ebba39172fcc13f43bed426cc">~task_scheduler_observer_v3</a>()</td><td class="entry"><a class="el" href="a00143.html">tbb::internal::task_scheduler_observer_v3</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+</table></div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00366.html b/doc/html/a00366.html
index bf1fc56..a3d1197 100644
--- a/doc/html/a00366.html
+++ b/doc/html/a00366.html
@@ -1,90 +1,64 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>tbb::zero_allocator< T, Allocator > Class Template Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="nav">
-<a class="el" href="a00428.html">tbb</a>::<a class="el" href="a00366.html">zero_allocator</a></div>
-<h1>tbb::zero_allocator< T, Allocator > Class Template Reference<br>
-<small>
-[<a class="el" href="a00443.html">Memory Allocation</a>]</small>
-</h1><!-- doxytag: class="tbb::zero_allocator" -->Meets "allocator" requirements of ISO C++ Standard, Section 20.1.5.  
-<a href="#_details">More...</a>
-<p>
-<code>#include <tbb_allocator.h></code>
-<p>
-<a href="a00152.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="77c87446a645cc3dbeba6fc82cc7eec0"></a><!-- doxytag: member="tbb::zero_allocator::base_allocator_type" ref="77c87446a645cc3dbeba6fc82cc7eec0" args="" -->
-typedef Allocator< T > </td><td class="memItemRight" valign="bottom"><b>base_allocator_type</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2eb3bf02103f455e0614e0a392388428"></a><!-- doxytag: member="tbb::zero_allocator::value_type" ref="2eb3bf02103f455e0614e0a392388428" args="" -->
-typedef base_allocator_type::value_type </td><td class="memItemRight" valign="bottom"><b>value_type</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="54d0a81317a90278dc492d44cc7dcdfc"></a><!-- doxytag: member="tbb::zero_allocator::pointer" ref="54d0a81317a90278dc492d44cc7dcdfc" args="" -->
-typedef base_allocator_type::pointer </td><td class="memItemRight" valign="bottom"><b>pointer</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="50536b451124814064b0e8ff7b6cea21"></a><!-- doxytag: member="tbb::zero_allocator::const_pointer" ref="50536b451124814064b0e8ff7b6cea21" args="" -->
-typedef base_allocator_type::const_pointer </td><td class="memItemRight" valign="bottom"><b>const_pointer</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2ef488ecc55bf4a619f68b021d5b93e2"></a><!-- doxytag: member="tbb::zero_allocator::reference" ref="2ef488ecc55bf4a619f68b021d5b93e2" args="" -->
-typedef base_allocator_type::reference </td><td class="memItemRight" valign="bottom"><b>reference</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="31f0de5db53e4c219e8548078572e1ff"></a><!-- doxytag: member="tbb::zero_allocator::const_reference" ref="31f0de5db53e4c219e8548078572e1ff" args="" -->
-typedef base_allocator_type::const_reference </td><td class="memItemRight" valign="bottom"><b>const_reference</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="55acbfec8d7fd904c9b2040816522084"></a><!-- doxytag: member="tbb::zero_allocator::size_type" ref="55acbfec8d7fd904c9b2040816522084" args="" -->
-typedef base_allocator_type::size_type </td><td class="memItemRight" valign="bottom"><b>size_type</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c54d45a74bd3b48ff8db174c266ddede"></a><!-- doxytag: member="tbb::zero_allocator::difference_type" ref="c54d45a74bd3b48ff8db174c266ddede" args="" -->
-typedef base_allocator_type::difference_type </td><td class="memItemRight" valign="bottom"><b>difference_type</b></td></tr>
-
-<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8c48c0436e3239be8f07c53c7f6658e4"></a><!-- doxytag: member="tbb::zero_allocator::zero_allocator" ref="8c48c0436e3239be8f07c53c7f6658e4" args="(const zero_allocator &a)" -->
- </td><td class="memItemRight" valign="bottom"><b>zero_allocator</b> (const <a class="el" href="a00366.html">zero_allocator</a> &a)  throw ()</td></tr>
-
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="67685c1cfcd3b5f81ac8f3c8dd1375b9"></a><!-- doxytag: member="tbb::zero_allocator::zero_allocator" ref="67685c1cfcd3b5f81ac8f3c8dd1375b9" args="(const zero_allocator< U > &a)" -->
-template<typename U> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"> </td><td class="memTemplItemRight" valign="bottom"><b>zero_allocator</b> (const <a class="el" href="a00366.html">zero_allocator</a>< U > &a)  throw ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b6e7eb50d9faeca418d56a9758357377"></a><!-- doxytag: member="tbb::zero_allocator::allocate" ref="b6e7eb50d9faeca418d56a9758357377" args="(const size_type n, const void *hint=0)" -->
-pointer </td><td class="memItemRight" valign="bottom"><b>allocate</b> (const size_type n, const void *hint=0)</td></tr>
-
-<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><b>rebind</b></td></tr>
-
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-<h3>template<typename T, template< typename X > class Allocator = tbb_allocator><br>
- class tbb::zero_allocator< T, Allocator ></h3>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>interface6</b></li><li class="navelem"><b>internal</b></li><li class="navelem"><a class="el" href="a00020.html">basic_operation_base</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::interface6::internal::basic_operation_base Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
 
-Meets "allocator" requirements of ISO C++ Standard, Section 20.1.5. 
-<p>
-The class is an adapter over an actual allocator that fills the allocation using memset function with template argument C as the value. The members are ordered the same way they are in section 20.4.1 of the ISO C++ standard. 
-<p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li>tbb_allocator.h</ul>
+<p>This is the complete list of members for <a class="el" href="a00020.html">tbb::interface6::internal::basic_operation_base</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>agg_finished</b> enum value (defined in <a class="el" href="a00013.html">tbb::interface6::aggregator_operation</a>)</td><td class="entry"><a class="el" href="a00013.html">tbb::interface6::aggregator_operation</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>agg_waiting</b> enum value (defined in <a class="el" href="a00013.html">tbb::interface6::aggregator_operation</a>)</td><td class="entry"><a class="el" href="a00013.html">tbb::interface6::aggregator_operation</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>aggregator_operation</b>() (defined in <a class="el" href="a00013.html">tbb::interface6::aggregator_operation</a>)</td><td class="entry"><a class="el" href="a00013.html">tbb::interface6::aggregator_operation</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>aggregator_operation_status</b> enum name (defined in <a class="el" href="a00013.html">tbb::interface6::aggregator_operation</a>)</td><td class="entry"><a class="el" href="a00013.html">tbb::interface6::aggregator_operation</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>basic_handler</b> (defined in <a class="el" href="a00020.html">tbb::interface6::internal::basic_operation_base</a>)</td><td class="entry"><a class="el" href="a00020.html">tbb::interface6::internal::basic_operation_base</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>basic_operation_base</b>() (defined in <a class="el" href="a00020.html">tbb::interface6::internal::basic_operation_base</a>)</td><td class="entry"><a class="el" href="a00020.html">tbb::interface6::internal::basic_operation_base</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00013.html#ac7edadfe74f475783f3b429904e7010a">finish</a>()</td><td class="entry"><a class="el" href="a00013.html">tbb::interface6::aggregator_operation</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>next</b>() (defined in <a class="el" href="a00013.html">tbb::interface6::aggregator_operation</a>)</td><td class="entry"><a class="el" href="a00013.html">tbb::interface6::aggregator_operation</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>set_next</b>(aggregator_operation *n) (defined in <a class="el" href="a00013.html">tbb::interface6::aggregator_operation</a>)</td><td class="entry"><a class="el" href="a00013.html">tbb::interface6::aggregator_operation</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00013.html#adc0e032aa604f1da85ffc7ec269b157f">start</a>()</td><td class="entry"><a class="el" href="a00013.html">tbb::interface6::aggregator_operation</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~basic_operation_base</b>() (defined in <a class="el" href="a00020.html">tbb::interface6::internal::basic_operation_base</a>)</td><td class="entry"><a class="el" href="a00020.html">tbb::interface6::internal::basic_operation_base</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+</table></div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00367.html b/doc/html/a00367.html
index 75b1fef..42d74b0 100644
--- a/doc/html/a00367.html
+++ b/doc/html/a00367.html
@@ -1,65 +1,64 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>tbb::zero_allocator< void, Allocator > Class Template Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
   <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="nav">
-<a class="el" href="a00428.html">tbb</a>::<a class="el" href="a00367.html">zero_allocator< void, Allocator ></a></div>
-<h1>tbb::zero_allocator< void, Allocator > Class Template Reference<br>
-<small>
-[<a class="el" href="a00443.html">Memory Allocation</a>]</small>
-</h1><!-- doxytag: class="tbb::zero_allocator< void, Allocator >" -->Analogous to std::allocator<void>, as defined in ISO C++ Standard, Section 20.4.1.  
-<a href="#_details">More...</a>
-<p>
-<code>#include <tbb_allocator.h></code>
-<p>
-<a href="a00154.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ce4f3bf06e8aaf8020fa443297eff5f7"></a><!-- doxytag: member="tbb::zero_allocator< void, Allocator >::base_allocator_type" ref="ce4f3bf06e8aaf8020fa443297eff5f7" args="" -->
-typedef Allocator< void > </td><td class="memItemRight" valign="bottom"><b>base_allocator_type</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5cd644eeecd6d729c848c8e99ffd4592"></a><!-- doxytag: member="tbb::zero_allocator< void, Allocator >::value_type" ref="5cd644eeecd6d729c848c8e99ffd4592" args="" -->
-typedef base_allocator_type::value_type </td><td class="memItemRight" valign="bottom"><b>value_type</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8f68aa346a17c94f8c5c7945a2c50858"></a><!-- doxytag: member="tbb::zero_allocator< void, Allocator >::pointer" ref="8f68aa346a17c94f8c5c7945a2c50858" args="" -->
-typedef base_allocator_type::pointer </td><td class="memItemRight" valign="bottom"><b>pointer</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ae95a5761371ee7b61f2c339385684e9"></a><!-- doxytag: member="tbb::zero_allocator< void, Allocator >::const_pointer" ref="ae95a5761371ee7b61f2c339385684e9" args="" -->
-typedef base_allocator_type::const_pointer </td><td class="memItemRight" valign="bottom"><b>const_pointer</b></td></tr>
-
-<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><b>rebind</b></td></tr>
-
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-<h3>template<template< typename T > class Allocator><br>
- class tbb::zero_allocator< void, Allocator ></h3>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>interface6</b></li><li class="navelem"><b>internal</b></li><li class="navelem"><a class="el" href="a00019.html">basic_operation</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::interface6::internal::basic_operation< Body > Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
 
-Analogous to std::allocator<void>, as defined in ISO C++ Standard, Section 20.4.1. 
-<p>
-<hr>The documentation for this class was generated from the following file:<ul>
-<li>tbb_allocator.h</ul>
+<p>This is the complete list of members for <a class="el" href="a00019.html">tbb::interface6::internal::basic_operation< Body ></a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>agg_finished</b> enum value (defined in <a class="el" href="a00013.html">tbb::interface6::aggregator_operation</a>)</td><td class="entry"><a class="el" href="a00013.html">tbb::interface6::aggregator_operation</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>agg_waiting</b> enum value (defined in <a class="el" href="a00013.html">tbb::interface6::aggregator_operation</a>)</td><td class="entry"><a class="el" href="a00013.html">tbb::interface6::aggregator_operation</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>aggregator_operation</b>() (defined in <a class="el" href="a00013.html">tbb::interface6::aggregator_operation</a>)</td><td class="entry"><a class="el" href="a00013.html">tbb::interface6::aggregator_operation</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>aggregator_operation_status</b> enum name (defined in <a class="el" href="a00013.html">tbb::interface6::aggregator_operation</a>)</td><td class="entry"><a class="el" href="a00013.html">tbb::interface6::aggregator_operation</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>basic_operation</b>(const Body &b) (defined in <a class="el" href="a00019.html">tbb::interface6::internal::basic_operation< Body ></a>)</td><td class="entry"><a class="el" href="a00019.html">tbb::interface6::internal::basic_operation< Body ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>basic_operation_base</b>() (defined in <a class="el" href="a00020.html">tbb::interface6::internal::basic_operation_base</a>)</td><td class="entry"><a class="el" href="a00020.html">tbb::interface6::internal::basic_operation_base</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00013.html#ac7edadfe74f475783f3b429904e7010a">finish</a>()</td><td class="entry"><a class="el" href="a00013.html">tbb::interface6::aggregator_operation</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>next</b>() (defined in <a class="el" href="a00013.html">tbb::interface6::aggregator_operation</a>)</td><td class="entry"><a class="el" href="a00013.html">tbb::interface6::aggregator_operation</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>set_next</b>(aggregator_operation *n) (defined in <a class="el" href="a00013.html">tbb::interface6::aggregator_operation</a>)</td><td class="entry"><a class="el" href="a00013.html">tbb::interface6::aggregator_operation</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00013.html#adc0e032aa604f1da85ffc7ec269b157f">start</a>()</td><td class="entry"><a class="el" href="a00013.html">tbb::interface6::aggregator_operation</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~basic_operation_base</b>() (defined in <a class="el" href="a00020.html">tbb::interface6::internal::basic_operation_base</a>)</td><td class="entry"><a class="el" href="a00020.html">tbb::interface6::internal::basic_operation_base</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+</table></div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/a00368.html b/doc/html/a00368.html
new file mode 100644
index 0000000..ba634d3
--- /dev/null
+++ b/doc/html/a00368.html
@@ -0,0 +1,58 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>interface6</b></li><li class="navelem"><b>internal</b></li><li class="navelem"><a class="el" href="a00018.html">basic_handler</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::interface6::internal::basic_handler Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="a00018.html">tbb::interface6::internal::basic_handler</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>basic_handler</b>() (defined in <a class="el" href="a00018.html">tbb::interface6::internal::basic_handler</a>)</td><td class="entry"><a class="el" href="a00018.html">tbb::interface6::internal::basic_handler</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>operator()</b>(aggregator_operation *op_list) const  (defined in <a class="el" href="a00018.html">tbb::interface6::internal::basic_handler</a>)</td><td class="entry"><a class="el" href="a00018.html">tbb::interface6::internal::basic_handler</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+</table></div><!-- contents -->
+<hr>
+<p></p>
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
+<p></p>
+Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
+registered trademarks or trademarks of Intel Corporation or its
+subsidiaries in the United States and other countries.
+<p></p>
+* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00369.html b/doc/html/a00369.html
new file mode 100644
index 0000000..e962663
--- /dev/null
+++ b/doc/html/a00369.html
@@ -0,0 +1,70 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>interface7</b></li><li class="navelem"><a class="el" href="a00135.html">task_arena</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::interface7::task_arena Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="a00135.html">tbb::interface7::task_arena</a>, including all inherited members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" href="a00135.html#a4c107b6a4cc79183923fe2433d25644f">current_slot</a>()</td><td class="entry"><a class="el" href="a00135.html">tbb::interface7::task_arena</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00135.html#a07d87dff8c6116ee349684e10f754aeb">debug_wait_until_empty</a>()</td><td class="entry"><a class="el" href="a00135.html">tbb::interface7::task_arena</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00135.html#a8034275ed2fffa68f70484043b90d406">enqueue</a>(const F &f)</td><td class="entry"><a class="el" href="a00135.html">tbb::interface7::task_arena</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00135.html#a9a04ab4afb2d74b0317618f59ab49be7">enqueue</a>(const F &f, priority_t p)</td><td class="entry"><a class="el" href="a00135.html">tbb::interface7::task_arena</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00135.html#af0c96f325b59d567b4c720f2830adde8">execute</a>(F &f)</td><td class="entry"><a class="el" href="a00135.html">tbb::interface7::task_arena</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00135.html#ab8442c8e9e3e678349409e08cabc7ae2">execute</a>(const F &f)</td><td class="entry"><a class="el" href="a00135.html">tbb::interface7::task_arena</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00135.html#a955131a79f8dc5a0a5c9ffa66a7e7140">initialize</a>()</td><td class="entry"><a class="el" href="a00135.html">tbb::interface7::task_arena</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00135.html#a754d60ba6981461eb7c86afd14d3da2a">initialize</a>(int max_concurrency, unsigned reserved_for_masters=1)</td><td class="entry"><a class="el" href="a00135.html">tbb::interface7::task_arena</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00135.html#ad85856cefa30d42155a2b122b03efd8c">is_active</a>() const </td><td class="entry"><a class="el" href="a00135.html">tbb::interface7::task_arena</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00135.html#a6035737ce1a8db376d06880dae9d0c40">task_arena</a>(int max_concurrency=automatic, unsigned reserved_for_masters=1)</td><td class="entry"><a class="el" href="a00135.html">tbb::interface7::task_arena</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00135.html#a70d122b3e6e4760c6053c5c230c715ef">task_arena</a>(const task_arena &s)</td><td class="entry"><a class="el" href="a00135.html">tbb::interface7::task_arena</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>tbb::internal::task_scheduler_observer_v3</b> (defined in <a class="el" href="a00135.html">tbb::interface7::task_arena</a>)</td><td class="entry"><a class="el" href="a00135.html">tbb::interface7::task_arena</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00135.html#aecb3eedeacfe8469a91c17525dae7fc9">terminate</a>()</td><td class="entry"><a class="el" href="a00135.html">tbb::interface7::task_arena</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00135.html#a9ff5a35a219953a4f3d99b833fa5f683">~task_arena</a>()</td><td class="entry"><a class="el" href="a00135.html">tbb::interface7::task_arena</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+</table></div><!-- contents -->
+<hr>
+<p></p>
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
+<p></p>
+Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
+registered trademarks or trademarks of Intel Corporation or its
+subsidiaries in the United States and other countries.
+<p></p>
+* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00370.html b/doc/html/a00370.html
new file mode 100644
index 0000000..e5fff04
--- /dev/null
+++ b/doc/html/a00370.html
@@ -0,0 +1,65 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>internal</b></li><li class="navelem"><a class="el" href="a00051.html">critical_section_v4</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::internal::critical_section_v4 Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="a00051.html">tbb::internal::critical_section_v4</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>critical_section_v4</b>() (defined in <a class="el" href="a00051.html">tbb::internal::critical_section_v4</a>)</td><td class="entry"><a class="el" href="a00051.html">tbb::internal::critical_section_v4</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>internal_construct</b>() (defined in <a class="el" href="a00051.html">tbb::internal::critical_section_v4</a>)</td><td class="entry"><a class="el" href="a00051.html">tbb::internal::critical_section_v4</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>is_fair_mutex</b> (defined in <a class="el" href="a00051.html">tbb::internal::critical_section_v4</a>)</td><td class="entry"><a class="el" href="a00051.html">tbb::internal::critical_section_v4</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>is_recursive_mutex</b> (defined in <a class="el" href="a00051.html">tbb::internal::critical_section_v4</a>)</td><td class="entry"><a class="el" href="a00051.html">tbb::internal::critical_section_v4</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>is_rw_mutex</b> (defined in <a class="el" href="a00051.html">tbb::internal::critical_section_v4</a>)</td><td class="entry"><a class="el" href="a00051.html">tbb::internal::critical_section_v4</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>lock</b>() (defined in <a class="el" href="a00051.html">tbb::internal::critical_section_v4</a>)</td><td class="entry"><a class="el" href="a00051.html">tbb::internal::critical_section_v4</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>try_lock</b>() (defined in <a class="el" href="a00051.html">tbb::internal::critical_section_v4</a>)</td><td class="entry"><a class="el" href="a00051.html">tbb::internal::critical_section_v4</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>unlock</b>() (defined in <a class="el" href="a00051.html">tbb::internal::critical_section_v4</a>)</td><td class="entry"><a class="el" href="a00051.html">tbb::internal::critical_section_v4</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~critical_section_v4</b>() (defined in <a class="el" href="a00051.html">tbb::internal::critical_section_v4</a>)</td><td class="entry"><a class="el" href="a00051.html">tbb::internal::critical_section_v4</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+</table></div><!-- contents -->
+<hr>
+<p></p>
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
+<p></p>
+Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
+registered trademarks or trademarks of Intel Corporation or its
+subsidiaries in the United States and other countries.
+<p></p>
+* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00371.html b/doc/html/a00371.html
new file mode 100644
index 0000000..fd8ed76
--- /dev/null
+++ b/doc/html/a00371.html
@@ -0,0 +1,58 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>internal</b></li><li class="navelem"><a class="el" href="a00051.html">critical_section_v4</a></li><li class="navelem"><a class="el" href="a00122.html">scoped_lock</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::internal::critical_section_v4::scoped_lock Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="a00122.html">tbb::internal::critical_section_v4::scoped_lock</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>scoped_lock</b>(critical_section_v4 &lock_me) (defined in <a class="el" href="a00122.html">tbb::internal::critical_section_v4::scoped_lock</a>)</td><td class="entry"><a class="el" href="a00122.html">tbb::internal::critical_section_v4::scoped_lock</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>~scoped_lock</b>() (defined in <a class="el" href="a00122.html">tbb::internal::critical_section_v4::scoped_lock</a>)</td><td class="entry"><a class="el" href="a00122.html">tbb::internal::critical_section_v4::scoped_lock</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+</table></div><!-- contents -->
+<hr>
+<p></p>
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
+<p></p>
+Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
+registered trademarks or trademarks of Intel Corporation or its
+subsidiaries in the United States and other countries.
+<p></p>
+* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00372.html b/doc/html/a00372.html
new file mode 100644
index 0000000..a879081
--- /dev/null
+++ b/doc/html/a00372.html
@@ -0,0 +1,57 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>internal</b></li><li class="navelem"><a class="el" href="a00140.html">task_handle_task</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::internal::task_handle_task< F > Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="a00140.html">tbb::internal::task_handle_task< F ></a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>task_handle_task</b>(task_handle< F > &h) (defined in <a class="el" href="a00140.html">tbb::internal::task_handle_task< F ></a>)</td><td class="entry"><a class="el" href="a00140.html">tbb::internal::task_handle_task< F ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+</table></div><!-- contents -->
+<hr>
+<p></p>
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
+<p></p>
+Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
+registered trademarks or trademarks of Intel Corporation or its
+subsidiaries in the United States and other countries.
+<p></p>
+* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00373.html b/doc/html/a00373.html
new file mode 100644
index 0000000..202226c
--- /dev/null
+++ b/doc/html/a00373.html
@@ -0,0 +1,67 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>internal</b></li><li class="navelem"><a class="el" href="a00137.html">task_group_base</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::internal::task_group_base Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="a00137.html">tbb::internal::task_group_base</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>cancel</b>() (defined in <a class="el" href="a00137.html">tbb::internal::task_group_base</a>)</td><td class="entry"><a class="el" href="a00137.html">tbb::internal::task_group_base</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>internal_run</b>(F &f) (defined in <a class="el" href="a00137.html">tbb::internal::task_group_base</a>)</td><td class="entry"><a class="el" href="a00137.html">tbb::internal::task_group_base</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>internal_run_and_wait</b>(F &f) (defined in <a class="el" href="a00137.html">tbb::internal::task_group_base</a>)</td><td class="entry"><a class="el" href="a00137.html">tbb::internal::task_group_base</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>is_canceling</b>() (defined in <a class="el" href="a00137.html">tbb::internal::task_group_base</a>)</td><td class="entry"><a class="el" href="a00137.html">tbb::internal::task_group_base</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>my_context</b> (defined in <a class="el" href="a00137.html">tbb::internal::task_group_base</a>)</td><td class="entry"><a class="el" href="a00137.html">tbb::internal::task_group_base</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>my_root</b> (defined in <a class="el" href="a00137.html">tbb::internal::task_group_base</a>)</td><td class="entry"><a class="el" href="a00137.html">tbb::internal::task_group_base</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>owner</b>() (defined in <a class="el" href="a00137.html">tbb::internal::task_group_base</a>)</td><td class="entry"><a class="el" href="a00137.html">tbb::internal::task_group_base</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>run</b>(task_handle< F > &h) (defined in <a class="el" href="a00137.html">tbb::internal::task_group_base</a>)</td><td class="entry"><a class="el" href="a00137.html">tbb::internal::task_group_base</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>task_group_base</b>(uintptr_t traits=0) (defined in <a class="el" href="a00137.html">tbb::internal::task_group_base</a>)</td><td class="entry"><a class="el" href="a00137.html">tbb::internal::task_group_base</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>wait</b>() (defined in <a class="el" href="a00137.html">tbb::internal::task_group_base</a>)</td><td class="entry"><a class="el" href="a00137.html">tbb::internal::task_group_base</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~task_group_base</b>() (defined in <a class="el" href="a00137.html">tbb::internal::task_group_base</a>)</td><td class="entry"><a class="el" href="a00137.html">tbb::internal::task_group_base</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+</table></div><!-- contents -->
+<hr>
+<p></p>
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
+<p></p>
+Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
+registered trademarks or trademarks of Intel Corporation or its
+subsidiaries in the United States and other countries.
+<p></p>
+* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00374.html b/doc/html/a00374.html
new file mode 100644
index 0000000..2c971c4
--- /dev/null
+++ b/doc/html/a00374.html
@@ -0,0 +1,65 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>internal</b></li><li class="navelem"><a class="el" href="a00143.html">task_scheduler_observer_v3</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::internal::task_scheduler_observer_v3 Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="a00143.html">tbb::internal::task_scheduler_observer_v3</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>interface6::task_scheduler_observer</b> (defined in <a class="el" href="a00143.html">tbb::internal::task_scheduler_observer_v3</a>)</td><td class="entry"><a class="el" href="a00143.html">tbb::internal::task_scheduler_observer_v3</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00143.html#a31abaf256f7172f010cfb2259c7787bb">is_observing</a>() const </td><td class="entry"><a class="el" href="a00143.html">tbb::internal::task_scheduler_observer_v3</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00143.html#a40209b347e3c82bb5bfda05941304309">observe</a>(bool state=true)</td><td class="entry"><a class="el" href="a00143.html">tbb::internal::task_scheduler_observer_v3</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>observer_list</b> (defined in <a class="el" href="a00143.html">tbb::internal::task_scheduler_observer_v3</a>)</td><td class="entry"><a class="el" href="a00143.html">tbb::internal::task_scheduler_observer_v3</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>observer_proxy</b> (defined in <a class="el" href="a00143.html">tbb::internal::task_scheduler_observer_v3</a>)</td><td class="entry"><a class="el" href="a00143.html">tbb::internal::task_scheduler_observer_v3</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00143.html#af4282a27725fbe86052bb785bdd9c5d3">on_scheduler_entry</a>(bool)</td><td class="entry"><a class="el" href="a00143.html">tbb::internal::task_scheduler_observer_v3</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00143.html#a657e90f833568e217b807d0122fa7668">on_scheduler_exit</a>(bool)</td><td class="entry"><a class="el" href="a00143.html">tbb::internal::task_scheduler_observer_v3</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00143.html#a25bffb05efaaab36bc58590969e29745">task_scheduler_observer_v3</a>()</td><td class="entry"><a class="el" href="a00143.html">tbb::internal::task_scheduler_observer_v3</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00143.html#a151e475ebba39172fcc13f43bed426cc">~task_scheduler_observer_v3</a>()</td><td class="entry"><a class="el" href="a00143.html">tbb::internal::task_scheduler_observer_v3</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
+</table></div><!-- contents -->
+<hr>
+<p></p>
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
+<p></p>
+Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
+registered trademarks or trademarks of Intel Corporation or its
+subsidiaries in the United States and other countries.
+<p></p>
+* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00375.html b/doc/html/a00375.html
new file mode 100644
index 0000000..0045ec8
--- /dev/null
+++ b/doc/html/a00375.html
@@ -0,0 +1,61 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>internal</b></li><li class="navelem"><a class="el" href="a00147.html">tbb_exception_ptr</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::internal::tbb_exception_ptr Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="a00147.html">tbb::internal::tbb_exception_ptr</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>allocate</b>() (defined in <a class="el" href="a00147.html">tbb::internal::tbb_exception_ptr</a>)</td><td class="entry"><a class="el" href="a00147.html">tbb::internal::tbb_exception_ptr</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>allocate</b>(const tbb_exception &tag) (defined in <a class="el" href="a00147.html">tbb::internal::tbb_exception_ptr</a>)</td><td class="entry"><a class="el" href="a00147.html">tbb::internal::tbb_exception_ptr</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00147.html#abfbea91401d2594deb04ea331734171c">allocate</a>(captured_exception &src)</td><td class="entry"><a class="el" href="a00147.html">tbb::internal::tbb_exception_ptr</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00147.html#a38d3ca480e2758a67bcd7427b156daae">destroy</a>()</td><td class="entry"><a class="el" href="a00147.html">tbb::internal::tbb_exception_ptr</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00147.html#a1713aa9a6a3850049d34358397a8ed81">throw_self</a>()</td><td class="entry"><a class="el" href="a00147.html">tbb::internal::tbb_exception_ptr</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+</table></div><!-- contents -->
+<hr>
+<p></p>
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
+<p></p>
+Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
+registered trademarks or trademarks of Intel Corporation or its
+subsidiaries in the United States and other countries.
+<p></p>
+* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00376.html b/doc/html/a00376.html
new file mode 100644
index 0000000..8d372bf
--- /dev/null
+++ b/doc/html/a00376.html
@@ -0,0 +1,57 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>internal</b></li><li class="navelem"><a class="el" href="a00132.html">STATIC_ASSERTION_FAILED< false ></a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::internal::STATIC_ASSERTION_FAILED< false > Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="a00132.html">tbb::internal::STATIC_ASSERTION_FAILED< false ></a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>value</b> enum value (defined in <a class="el" href="a00132.html">tbb::internal::STATIC_ASSERTION_FAILED< false ></a>)</td><td class="entry"><a class="el" href="a00132.html">tbb::internal::STATIC_ASSERTION_FAILED< false ></a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
+<hr>
+<p></p>
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
+<p></p>
+Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
+registered trademarks or trademarks of Intel Corporation or its
+subsidiaries in the United States and other countries.
+<p></p>
+* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00377.html b/doc/html/a00377.html
new file mode 100644
index 0000000..24cee7f
--- /dev/null
+++ b/doc/html/a00377.html
@@ -0,0 +1,58 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>internal</b></li><li class="navelem"><a class="el" href="a00154.html">thread_closure_base</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::internal::thread_closure_base Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="a00154.html">tbb::internal::thread_closure_base</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator delete</b>(void *ptr) (defined in <a class="el" href="a00154.html">tbb::internal::thread_closure_base</a>)</td><td class="entry"><a class="el" href="a00154.html">tbb::internal::thread_closure_base</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>operator new</b>(size_t size) (defined in <a class="el" href="a00154.html">tbb::internal::thread_closure_base</a>)</td><td class="entry"><a class="el" href="a00154.html">tbb::internal::thread_closure_base</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+</table></div><!-- contents -->
+<hr>
+<p></p>
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
+<p></p>
+Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
+registered trademarks or trademarks of Intel Corporation or its
+subsidiaries in the United States and other countries.
+<p></p>
+* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00378.html b/doc/html/a00378.html
new file mode 100644
index 0000000..e389e09
--- /dev/null
+++ b/doc/html/a00378.html
@@ -0,0 +1,61 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>internal</b></li><li class="navelem"><a class="el" href="a00151.html">thread_closure_0</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::internal::thread_closure_0< F > Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="a00151.html">tbb::internal::thread_closure_0< F ></a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>function</b> (defined in <a class="el" href="a00151.html">tbb::internal::thread_closure_0< F ></a>)</td><td class="entry"><a class="el" href="a00151.html">tbb::internal::thread_closure_0< F ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>operator delete</b>(void *ptr) (defined in <a class="el" href="a00154.html">tbb::internal::thread_closure_base</a>)</td><td class="entry"><a class="el" href="a00154.html">tbb::internal::thread_closure_base</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator new</b>(size_t size) (defined in <a class="el" href="a00154.html">tbb::internal::thread_closure_base</a>)</td><td class="entry"><a class="el" href="a00154.html">tbb::internal::thread_closure_base</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>start_routine</b>(void *c) (defined in <a class="el" href="a00151.html">tbb::internal::thread_closure_0< F ></a>)</td><td class="entry"><a class="el" href="a00151.html">tbb::internal::thread_closure_0< F ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>thread_closure_0</b>(const F &f) (defined in <a class="el" href="a00151.html">tbb::internal::thread_closure_0< F ></a>)</td><td class="entry"><a class="el" href="a00151.html">tbb::internal::thread_closure_0< F ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+</table></div><!-- contents -->
+<hr>
+<p></p>
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
+<p></p>
+Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
+registered trademarks or trademarks of Intel Corporation or its
+subsidiaries in the United States and other countries.
+<p></p>
+* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00379.html b/doc/html/a00379.html
new file mode 100644
index 0000000..8b90130
--- /dev/null
+++ b/doc/html/a00379.html
@@ -0,0 +1,62 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>internal</b></li><li class="navelem"><a class="el" href="a00152.html">thread_closure_1</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::internal::thread_closure_1< F, X > Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="a00152.html">tbb::internal::thread_closure_1< F, X ></a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>arg1</b> (defined in <a class="el" href="a00152.html">tbb::internal::thread_closure_1< F, X ></a>)</td><td class="entry"><a class="el" href="a00152.html">tbb::internal::thread_closure_1< F, X ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>function</b> (defined in <a class="el" href="a00152.html">tbb::internal::thread_closure_1< F, X ></a>)</td><td class="entry"><a class="el" href="a00152.html">tbb::internal::thread_closure_1< F, X ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator delete</b>(void *ptr) (defined in <a class="el" href="a00154.html">tbb::internal::thread_closure_base</a>)</td><td class="entry"><a class="el" href="a00154.html">tbb::internal::thread_closure_base</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>operator new</b>(size_t size) (defined in <a class="el" href="a00154.html">tbb::internal::thread_closure_base</a>)</td><td class="entry"><a class="el" href="a00154.html">tbb::internal::thread_closure_base</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00152.html#a33d533b3301c45708c6252d040f855a6">start_routine</a>(void *c)</td><td class="entry"><a class="el" href="a00152.html">tbb::internal::thread_closure_1< F, X ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>thread_closure_1</b>(const F &f, const X &x) (defined in <a class="el" href="a00152.html">tbb::internal::thread_closure_1< F, X ></a>)</td><td class="entry"><a class="el" href="a00152.html">tbb::internal::thread_closure_1< F, X ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+</table></div><!-- contents -->
+<hr>
+<p></p>
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
+<p></p>
+Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
+registered trademarks or trademarks of Intel Corporation or its
+subsidiaries in the United States and other countries.
+<p></p>
+* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00380.html b/doc/html/a00380.html
new file mode 100644
index 0000000..5de9953
--- /dev/null
+++ b/doc/html/a00380.html
@@ -0,0 +1,63 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>internal</b></li><li class="navelem"><a class="el" href="a00153.html">thread_closure_2</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::internal::thread_closure_2< F, X, Y > Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="a00153.html">tbb::internal::thread_closure_2< F, X, Y ></a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>arg1</b> (defined in <a class="el" href="a00153.html">tbb::internal::thread_closure_2< F, X, Y ></a>)</td><td class="entry"><a class="el" href="a00153.html">tbb::internal::thread_closure_2< F, X, Y ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>arg2</b> (defined in <a class="el" href="a00153.html">tbb::internal::thread_closure_2< F, X, Y ></a>)</td><td class="entry"><a class="el" href="a00153.html">tbb::internal::thread_closure_2< F, X, Y ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>function</b> (defined in <a class="el" href="a00153.html">tbb::internal::thread_closure_2< F, X, Y ></a>)</td><td class="entry"><a class="el" href="a00153.html">tbb::internal::thread_closure_2< F, X, Y ></a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>operator delete</b>(void *ptr) (defined in <a class="el" href="a00154.html">tbb::internal::thread_closure_base</a>)</td><td class="entry"><a class="el" href="a00154.html">tbb::internal::thread_closure_base</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator new</b>(size_t size) (defined in <a class="el" href="a00154.html">tbb::internal::thread_closure_base</a>)</td><td class="entry"><a class="el" href="a00154.html">tbb::internal::thread_closure_base</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00153.html#a29003179f98d768622c72b9ab5cfe8f6">start_routine</a>(void *c)</td><td class="entry"><a class="el" href="a00153.html">tbb::internal::thread_closure_2< F, X, Y ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>thread_closure_2</b>(const F &f, const X &x, const Y &y) (defined in <a class="el" href="a00153.html">tbb::internal::thread_closure_2< F, X, Y ></a>)</td><td class="entry"><a class="el" href="a00153.html">tbb::internal::thread_closure_2< F, X, Y ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+</table></div><!-- contents -->
+<hr>
+<p></p>
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
+<p></p>
+Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
+registered trademarks or trademarks of Intel Corporation or its
+subsidiaries in the United States and other countries.
+<p></p>
+* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00381.html b/doc/html/a00381.html
new file mode 100644
index 0000000..520af20
--- /dev/null
+++ b/doc/html/a00381.html
@@ -0,0 +1,73 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>internal</b></li><li class="navelem"><a class="el" href="a00149.html">tbb_thread_v3</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::internal::tbb_thread_v3 Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="a00149.html">tbb::internal::tbb_thread_v3</a>, including all inherited members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" href="a00149.html#a80a31a41708872af5557b907f129b19b">detach</a>()</td><td class="entry"><a class="el" href="a00149.html">tbb::internal::tbb_thread_v3</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>get_id</b>() const  (defined in <a class="el" href="a00149.html">tbb::internal::tbb_thread_v3</a>)</td><td class="entry"><a class="el" href="a00149.html">tbb::internal::tbb_thread_v3</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00149.html#a2b761b3d80a7397c645402865e06b1a8">hardware_concurrency</a>()</td><td class="entry"><a class="el" href="a00149.html">tbb::internal::tbb_thread_v3</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00149.html#a044c8727c51e921b0cc43a6b057eb559">join</a>()</td><td class="entry"><a class="el" href="a00149.html">tbb::internal::tbb_thread_v3</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>joinable</b>() const  (defined in <a class="el" href="a00149.html">tbb::internal::tbb_thread_v3</a>)</td><td class="entry"><a class="el" href="a00149.html">tbb::internal::tbb_thread_v3</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>move_v3</b> (defined in <a class="el" href="a00149.html">tbb::internal::tbb_thread_v3</a>)</td><td class="entry"><a class="el" href="a00149.html">tbb::internal::tbb_thread_v3</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>native_handle</b>() (defined in <a class="el" href="a00149.html">tbb::internal::tbb_thread_v3</a>)</td><td class="entry"><a class="el" href="a00149.html">tbb::internal::tbb_thread_v3</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>native_handle_type</b> typedef (defined in <a class="el" href="a00149.html">tbb::internal::tbb_thread_v3</a>)</td><td class="entry"><a class="el" href="a00149.html">tbb::internal::tbb_thread_v3</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>native_handle_type</b> typedef (defined in <a class="el" href="a00149.html">tbb::internal::tbb_thread_v3</a>)</td><td class="entry"><a class="el" href="a00149.html">tbb::internal::tbb_thread_v3</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>operator=</b>(tbb_thread_v3 &x) (defined in <a class="el" href="a00149.html">tbb::internal::tbb_thread_v3</a>)</td><td class="entry"><a class="el" href="a00149.html">tbb::internal::tbb_thread_v3</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>swap</b>(tbb_thread_v3 &t) (defined in <a class="el" href="a00149.html">tbb::internal::tbb_thread_v3</a>)</td><td class="entry"><a class="el" href="a00149.html">tbb::internal::tbb_thread_v3</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>tbb::swap</b> (defined in <a class="el" href="a00149.html">tbb::internal::tbb_thread_v3</a>)</td><td class="entry"><a class="el" href="a00149.html">tbb::internal::tbb_thread_v3</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00149.html#a644f78d07a6e5ce3b9994fe5b19b1543">tbb_thread_v3</a>()</td><td class="entry"><a class="el" href="a00149.html">tbb::internal::tbb_thread_v3</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00149.html#a9c5587ab76ca1aa98bae7fe69a459466">tbb_thread_v3</a>(F f)</td><td class="entry"><a class="el" href="a00149.html">tbb::internal::tbb_thread_v3</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00149.html#a672a5367e687635c869926bf8a986296">tbb_thread_v3</a>(F f, X x)</td><td class="entry"><a class="el" href="a00149.html">tbb::internal::tbb_thread_v3</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00149.html#ac3f57678f2a289084a6d275f8f8fbc62">tbb_thread_v3</a>(F f, X x, Y y)</td><td class="entry"><a class="el" href="a00149.html">tbb::internal::tbb_thread_v3</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~tbb_thread_v3</b>() (defined in <a class="el" href="a00149.html">tbb::internal::tbb_thread_v3</a>)</td><td class="entry"><a class="el" href="a00149.html">tbb::internal::tbb_thread_v3</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+</table></div><!-- contents -->
+<hr>
+<p></p>
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
+<p></p>
+Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
+registered trademarks or trademarks of Intel Corporation or its
+subsidiaries in the United States and other countries.
+<p></p>
+* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00382.html b/doc/html/a00382.html
new file mode 100644
index 0000000..b09fe82
--- /dev/null
+++ b/doc/html/a00382.html
@@ -0,0 +1,66 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>internal</b></li><li class="navelem"><a class="el" href="a00149.html">tbb_thread_v3</a></li><li class="navelem"><a class="el" href="a00064.html">id</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::internal::tbb_thread_v3::id Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="a00064.html">tbb::internal::tbb_thread_v3::id</a>, including all inherited members.</p>
+<table class="directory">
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>id</b>() (defined in <a class="el" href="a00064.html">tbb::internal::tbb_thread_v3::id</a>)</td><td class="entry"><a class="el" href="a00064.html">tbb::internal::tbb_thread_v3::id</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>operator!=</b> (defined in <a class="el" href="a00064.html">tbb::internal::tbb_thread_v3::id</a>)</td><td class="entry"><a class="el" href="a00064.html">tbb::internal::tbb_thread_v3::id</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator<</b> (defined in <a class="el" href="a00064.html">tbb::internal::tbb_thread_v3::id</a>)</td><td class="entry"><a class="el" href="a00064.html">tbb::internal::tbb_thread_v3::id</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>operator<<</b> (defined in <a class="el" href="a00064.html">tbb::internal::tbb_thread_v3::id</a>)</td><td class="entry"><a class="el" href="a00064.html">tbb::internal::tbb_thread_v3::id</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator<=</b> (defined in <a class="el" href="a00064.html">tbb::internal::tbb_thread_v3::id</a>)</td><td class="entry"><a class="el" href="a00064.html">tbb::internal::tbb_thread_v3::id</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>operator==</b> (defined in <a class="el" href="a00064.html">tbb::internal::tbb_thread_v3::id</a>)</td><td class="entry"><a class="el" href="a00064.html">tbb::internal::tbb_thread_v3::id</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator></b> (defined in <a class="el" href="a00064.html">tbb::internal::tbb_thread_v3::id</a>)</td><td class="entry"><a class="el" href="a00064.html">tbb::internal::tbb_thread_v3::id</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>operator>=</b> (defined in <a class="el" href="a00064.html">tbb::internal::tbb_thread_v3::id</a>)</td><td class="entry"><a class="el" href="a00064.html">tbb::internal::tbb_thread_v3::id</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>tbb_thread_v3</b> (defined in <a class="el" href="a00064.html">tbb::internal::tbb_thread_v3::id</a>)</td><td class="entry"><a class="el" href="a00064.html">tbb::internal::tbb_thread_v3::id</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>thread_get_id_v3</b> (defined in <a class="el" href="a00064.html">tbb::internal::tbb_thread_v3::id</a>)</td><td class="entry"><a class="el" href="a00064.html">tbb::internal::tbb_thread_v3::id</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+</table></div><!-- contents -->
+<hr>
+<p></p>
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
+<p></p>
+Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
+registered trademarks or trademarks of Intel Corporation or its
+subsidiaries in the United States and other countries.
+<p></p>
+* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00383.html b/doc/html/a00383.html
new file mode 100644
index 0000000..f6b8bd1
--- /dev/null
+++ b/doc/html/a00383.html
@@ -0,0 +1,79 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>strict_ppl</b></li><li class="navelem"><a class="el" href="a00038.html">concurrent_queue</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb::strict_ppl::concurrent_queue< T, A > Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="a00038.html">tbb::strict_ppl::concurrent_queue< T, A ></a>, including all inherited members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" href="a00038.html#acbdd1a5bd034358fb0774b322a66b1ed">allocator_type</a> typedef</td><td class="entry"><a class="el" href="a00038.html">tbb::strict_ppl::concurrent_queue< T, A ></a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="a00038.html#ad3384818fb6350a494d5ec62445e59ee">clear</a>()</td><td class="entry"><a class="el" href="a00038.html">tbb::strict_ppl::concurrent_queue< T, A ></a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00038.html#a49b2e16902577cd3174355be0fa684e5">concurrent_queue</a>(const allocator_type &a=allocator_type())</td><td class="entry"><a class="el" href="a00038.html">tbb::strict_ppl::concurrent_queue< T, A ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00038.html#a43ac953152e60815c09fe4a4d4a623a9">concurrent_queue</a>(InputIterator begin, InputIterator end, const allocator_type &a=allocator_type())</td><td class="entry"><a class="el" href="a00038.html">tbb::strict_ppl::concurrent_queue< T, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00038.html#ae918807d098d5d5b41cc6d606fa2e7a1">concurrent_queue</a>(const concurrent_queue &src, const allocator_type &a=allocator_type())</td><td class="entry"><a class="el" href="a00038.html">tbb::strict_ppl::concurrent_queue< T, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>const_iterator</b> typedef (defined in <a class="el" href="a00038.html">tbb::strict_ppl::concurrent_queue< T, A ></a>)</td><td class="entry"><a class="el" href="a00038.html">tbb::strict_ppl::concurrent_queue< T, A ></a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00038.html#a478c2b7f763b2e821e01cc14e13baf4c">const_reference</a> typedef</td><td class="entry"><a class="el" href="a00038.html">tbb::strict_ppl::concurrent_queue< T, A ></a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="a00038.html#a63b42d83a9ed13fc6741e0b4388b0e96">difference_type</a> typedef</td><td class="entry"><a class="el" href="a00038.html">tbb::strict_ppl::concurrent_queue< T, A ></a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00038.html#aeda3156929d0c250faed7b807ca6ab0e">empty</a>() const </td><td class="entry"><a class="el" href="a00038.html">tbb::strict_ppl::concurrent_queue< T, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00038.html#a7f2b39f350281590b86db906eca6c480">get_allocator</a>() const </td><td class="entry"><a class="el" href="a00038.html">tbb::strict_ppl::concurrent_queue< T, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>internal::concurrent_queue_iterator</b> (defined in <a class="el" href="a00038.html">tbb::strict_ppl::concurrent_queue< T, A ></a>)</td><td class="entry"><a class="el" href="a00038.html">tbb::strict_ppl::concurrent_queue< T, A ></a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>iterator</b> typedef (defined in <a class="el" href="a00038.html">tbb::strict_ppl::concurrent_queue< T, A ></a>)</td><td class="entry"><a class="el" href="a00038.html">tbb::strict_ppl::concurrent_queue< T, A ></a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00038.html#a9330ca6590980d80ef7b1ea3613a699a">push</a>(const T &source)</td><td class="entry"><a class="el" href="a00038.html">tbb::strict_ppl::concurrent_queue< T, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00038.html#ab26ddf11b15d61ac87e6c1ae67af92a2">reference</a> typedef</td><td class="entry"><a class="el" href="a00038.html">tbb::strict_ppl::concurrent_queue< T, A ></a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00038.html#a9f883e49afea16293ba92da779981bb8">size_type</a> typedef</td><td class="entry"><a class="el" href="a00038.html">tbb::strict_ppl::concurrent_queue< T, A ></a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="a00038.html#aabb1acef18196fa11ed7db8e046c3943">try_pop</a>(T &result)</td><td class="entry"><a class="el" href="a00038.html">tbb::strict_ppl::concurrent_queue< T, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>unsafe_begin</b>() (defined in <a class="el" href="a00038.html">tbb::strict_ppl::concurrent_queue< T, A ></a>)</td><td class="entry"><a class="el" href="a00038.html">tbb::strict_ppl::concurrent_queue< T, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>unsafe_begin</b>() const  (defined in <a class="el" href="a00038.html">tbb::strict_ppl::concurrent_queue< T, A ></a>)</td><td class="entry"><a class="el" href="a00038.html">tbb::strict_ppl::concurrent_queue< T, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>unsafe_end</b>() (defined in <a class="el" href="a00038.html">tbb::strict_ppl::concurrent_queue< T, A ></a>)</td><td class="entry"><a class="el" href="a00038.html">tbb::strict_ppl::concurrent_queue< T, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>unsafe_end</b>() const  (defined in <a class="el" href="a00038.html">tbb::strict_ppl::concurrent_queue< T, A ></a>)</td><td class="entry"><a class="el" href="a00038.html">tbb::strict_ppl::concurrent_queue< T, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00038.html#aad4b253ba595637b0b146eb6565556f2">unsafe_size</a>() const </td><td class="entry"><a class="el" href="a00038.html">tbb::strict_ppl::concurrent_queue< T, A ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="a00038.html#aeeee93a7ac2eecc80bbf3e857e900538">value_type</a> typedef</td><td class="entry"><a class="el" href="a00038.html">tbb::strict_ppl::concurrent_queue< T, A ></a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="a00038.html#aa0056b242f280f5e25332ce998f9f670">~concurrent_queue</a>()</td><td class="entry"><a class="el" href="a00038.html">tbb::strict_ppl::concurrent_queue< T, A ></a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
+<hr>
+<p></p>
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
+<p></p>
+Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
+registered trademarks or trademarks of Intel Corporation or its
+subsidiaries in the United States and other countries.
+<p></p>
+* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00385.html b/doc/html/a00385.html
deleted file mode 100644
index e2d13a2..0000000
--- a/doc/html/a00385.html
+++ /dev/null
@@ -1,159 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>flow_graph.h File Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
-  <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li><a href="annotated.html"><span>Classes</span></a></li>
-    <li id="current"><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="files.html"><span>File List</span></a></li>
-    <li><a href="globals.html"><span>File Members</span></a></li>
-  </ul></div>
-<h1>flow_graph.h File Reference</h1>The graph related classes and functions. <a href="#_details">More...</a>
-<p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00428.html">tbb</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><b>tbb::flow</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><b>tbb::flow::interface6</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><b>tbb::flow::interface6::internal</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><b>internal::graph_policy_namespace</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><b>interface6::internal::graph_policy_namespace</b></td></tr>
-
-<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00289.html">tbb::flow::interface6::continue_msg</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">An empty class used for messages that mean "I'm done".  <a href="a00289.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00339.html">tbb::flow::interface6::sender< T ></a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Pure virtual template class that defines a sender of messages of type T.  <a href="a00339.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00333.html">tbb::flow::interface6::receiver< T ></a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Pure virtual template class that defines a receiver of messages of type T.  <a href="a00333.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00291.html">tbb::flow::interface6::continue_receiver</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Base class for receivers of completion messages.  <a href="a00291.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><b>tbb::flow::interface6::graph_iterator< GraphContainerType, GraphNodeType ></b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00300.html">tbb::flow::interface6::graph</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">The graph class.  <a href="a00300.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><b>tbb::flow::interface6::graph::run_task< Body ></b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><b>tbb::flow::interface6::graph::run_and_put_task< Receiver, Body ></b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">The base of all graph nodes.  <a href="a00301.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00342.html">tbb::flow::interface6::source_node< Output ></a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">An executable node that acts as a source, i.e. it has no predecessors.  <a href="a00342.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00298.html">tbb::flow::interface6::function_node< Input, Output,, Allocator ></a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Implements a function node that supports Input -> Output.  <a href="a00298.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00299.html">tbb::flow::interface6::function_node< Input, Output, queueing, Allocator ></a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Implements a function node that supports Input -> Output.  <a href="a00299.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00312.html">tbb::flow::interface6::multifunction_node< Input, Output,, Allocator ></a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">implements a function node that supports Input -> (set of outputs)  <a href="a00312.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><b>tbb::flow::interface6::multifunction_node< Input, Output, queueing, Allocator ></b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00348.html">tbb::flow::interface6::split_node< TupleType, Allocator ></a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="a00348.html">split_node</a>: accepts a tuple as input, forwards each element of the tuple to its  <a href="a00348.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><b>tbb::flow::interface6::split_node< TupleType, Allocator >::splitting_body</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00290.html">tbb::flow::interface6::continue_node< Output ></a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Implements an executable node that supports <a class="el" href="a00289.html">continue_msg</a> -> Output.  <a href="a00290.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><b>tbb::flow::interface6::overwrite_node< T ></b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><b>tbb::flow::interface6::write_once_node< T ></b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00274.html">tbb::flow::interface6::broadcast_node< T ></a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Forwards messages of type T to all successors.  <a href="a00274.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Forwards messages in arbitrary order.  <a href="a00275.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><b>tbb::flow::interface6::buffer_node< T, A >::buffer_operation</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00325.html">tbb::flow::interface6::queue_node< T, A ></a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Forwards messages in FIFO order.  <a href="a00325.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00340.html">tbb::flow::interface6::sequencer_node< T, A ></a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Forwards messages in sequence order.  <a href="a00340.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00324.html">tbb::flow::interface6::priority_queue_node< T, Compare, A ></a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Forwards messages in priority order.  <a href="a00324.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00304.html">tbb::flow::interface6::limiter_node< T ></a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Forwards messages only if the threshold has not been reached.  <a href="a00304.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><b>tbb::flow::interface6::join_node< OutputTuple, reserving ></b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><b>tbb::flow::interface6::join_node< OutputTuple, queueing ></b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><b>tbb::flow::interface6::join_node< OutputTuple, tag_matching ></b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><b>tbb::flow::interface6::or_node< InputTuple ></b></td></tr>
-
-<tr><td colspan="2"><br><h2>Enumerations</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><b>concurrency</b> { <b>unlimited</b> =  0, 
-<b>serial</b> =  1
- }</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">An enumeration the provides the two most common concurrency levels: unlimited and serial. <br></td></tr>
-<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="85817bf15a96ff32fac6240629ef3f84"></a><!-- doxytag: member="flow_graph.h::combine_tasks" ref="85817bf15a96ff32fac6240629ef3f84" args="(tbb::task *left, tbb::task *right)" -->
-static <a class="el" href="a00349.html">tbb::task</a> * </td><td class="memItemRight" valign="bottom"><b>tbb::flow::interface6::combine_tasks</b> (<a class="el" href="a00349.html">tbb::task</a> *left, <a class="el" href="a00349.html">tbb::task</a> *right)</td></tr>
-
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="511941e0793451ab18c6ccf489a67e47"></a><!-- doxytag: member="flow_graph.h::make_edge" ref="511941e0793451ab18c6ccf489a67e47" args="(sender< T > &p, receiver< T > &s)" -->
-template<typename T> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00431.html#511941e0793451ab18c6ccf489a67e47">tbb::flow::interface6::make_edge</a> (sender< T > &p, receiver< T > &s)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Makes an edge between a single predecessor and a single successor. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="15f0356fd7bcade4868d3b083ea671c2"></a><!-- doxytag: member="flow_graph.h::remove_edge" ref="15f0356fd7bcade4868d3b083ea671c2" args="(sender< T > &p, receiver< T > &s)" -->
-template<typename T> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00431.html#15f0356fd7bcade4868d3b083ea671c2">tbb::flow::interface6::remove_edge</a> (sender< T > &p, receiver< T > &s)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Makes an edge between a single predecessor and a single successor. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="c8a3ee78426f0aa4df0c5a5e4bcd53e1"></a><!-- doxytag: member="flow_graph.h::copy_body" ref="c8a3ee78426f0aa4df0c5a5e4bcd53e1" args="(Node &n)" -->
-template<typename Body, typename Node> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">Body </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00431.html#c8a3ee78426f0aa4df0c5a5e4bcd53e1">tbb::flow::interface6::copy_body</a> (Node &n)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns a copy of the body from a function or continue node. <br></td></tr>
-<tr><td colspan="2"><br><h2>Variables</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="dadcbaae98368798c745eb0d16e0760e"></a><!-- doxytag: member="flow_graph.h::SUCCESSFULLY_ENQUEUED" ref="dadcbaae98368798c745eb0d16e0760e" args="" -->
-static <a class="el" href="a00349.html">tbb::task</a> *const </td><td class="memItemRight" valign="bottom"><b>tbb::flow::interface6::SUCCESSFULLY_ENQUEUED</b> = (task *)-1</td></tr>
-
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-The graph related classes and functions. 
-<p>
-There are some applications that best express dependencies as messages passed between nodes in a graph. These messages may contain data or simply act as signals that a predecessors has completed. The graph class and its associated node classes can be used to express such applcations. <hr>
-<p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
-<p></p>
-Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
-registered trademarks or trademarks of Intel Corporation or its
-subsidiaries in the United States and other countries.
-<p></p>
-* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00386.html b/doc/html/a00386.html
deleted file mode 100644
index cff4d33..0000000
--- a/doc/html/a00386.html
+++ /dev/null
@@ -1,64 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>memory_pool.h File Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
-  <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li><a href="annotated.html"><span>Classes</span></a></li>
-    <li id="current"><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="files.html"><span>File List</span></a></li>
-    <li><a href="globals.html"><span>File Members</span></a></li>
-  </ul></div>
-<h1>memory_pool.h File Reference</h1><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00428.html">tbb</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><b>tbb::interface6</b></td></tr>
-
-<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00308.html">tbb::interface6::memory_pool_allocator< T, P ></a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Meets "allocator" requirements of ISO C++ Standard, Section 20.1.5.  <a href="a00308.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><b>tbb::interface6::memory_pool_allocator< T, P >::rebind< U ></b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00309.html">tbb::interface6::memory_pool_allocator< void, P ></a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Analogous to std::allocator<void>, as defined in ISO C++ Standard, Section 20.4.1.  <a href="a00309.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><b>tbb::interface6::memory_pool_allocator< void, P >::rebind< U ></b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00307.html">tbb::interface6::memory_pool< Alloc ></a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Thread-safe growable pool allocator for variable-size requests.  <a href="a00307.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><b>tbb::interface6::fixed_pool</b></td></tr>
-
-<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="157d737026f35a661bbb784af7e16cd4"></a><!-- doxytag: member="memory_pool.h::operator==" ref="157d737026f35a661bbb784af7e16cd4" args="(const memory_pool_allocator< T, P > &a, const memory_pool_allocator< U, P > &b)" -->
-template<typename T, typename U, typename P> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><b>tbb::interface6::operator==</b> (const memory_pool_allocator< T, P > &a, const memory_pool_allocator< U, P > &b)</td></tr>
-
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="4665e8f86e3bc274708bf7994beec895"></a><!-- doxytag: member="memory_pool.h::operator!=" ref="4665e8f86e3bc274708bf7994beec895" args="(const memory_pool_allocator< T, P > &a, const memory_pool_allocator< U, P > &b)" -->
-template<typename T, typename U, typename P> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><b>tbb::interface6::operator!=</b> (const memory_pool_allocator< T, P > &a, const memory_pool_allocator< U, P > &b)</td></tr>
-
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-<hr>
-<p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
-<p></p>
-Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
-registered trademarks or trademarks of Intel Corporation or its
-subsidiaries in the United States and other countries.
-<p></p>
-* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00405.html b/doc/html/a00405.html
deleted file mode 100644
index 24e622b..0000000
--- a/doc/html/a00405.html
+++ /dev/null
@@ -1,143 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>scalable_allocator.h File Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
-  <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li><a href="annotated.html"><span>Classes</span></a></li>
-    <li id="current"><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="files.html"><span>File List</span></a></li>
-    <li><a href="globals.html"><span>File Members</span></a></li>
-  </ul></div>
-<h1>scalable_allocator.h File Reference</h1><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00425.html">rml</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00428.html">tbb</a></td></tr>
-
-<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><b>rml::MemPoolPolicy</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00337.html">tbb::scalable_allocator< T ></a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Meets "allocator" requirements of ISO C++ Standard, Section 20.1.5.  <a href="a00337.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><b>tbb::scalable_allocator< T >::rebind< U ></b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00338.html">tbb::scalable_allocator< void ></a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Analogous to std::allocator<void>, as defined in ISO C++ Standard, Section 20.4.1.  <a href="a00338.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><b>tbb::scalable_allocator< void >::rebind< U ></b></td></tr>
-
-<tr><td colspan="2"><br><h2>Typedefs</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5af06ad025ac20cff3a1c13aa5bded5c"></a><!-- doxytag: member="scalable_allocator.h::rawAllocType" ref="5af06ad025ac20cff3a1c13aa5bded5c" args="(intptr_t pool_id, size_t &bytes)" -->
-typedef void *(*) </td><td class="memItemRight" valign="bottom"><b>rml::rawAllocType</b> (intptr_t pool_id, size_t &bytes)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="49f1efbc1496ae2c1492093bb222051b"></a><!-- doxytag: member="scalable_allocator.h::rawFreeType" ref="49f1efbc1496ae2c1492093bb222051b" args="(intptr_t pool_id, void *raw_ptr, size_t raw_bytes)" -->
-typedef int(*) </td><td class="memItemRight" valign="bottom"><b>rml::rawFreeType</b> (intptr_t pool_id, void *raw_ptr, size_t raw_bytes)</td></tr>
-
-<tr><td colspan="2"><br><h2>Enumerations</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><b>ScalableAllocationResult</b> { <br>
-  <b>TBBMALLOC_OK</b>, 
-<b>TBBMALLOC_INVALID_PARAM</b>, 
-<b>TBBMALLOC_UNSUPPORTED</b>, 
-<b>TBBMALLOC_NO_MEMORY</b>, 
-<br>
-  <b>TBBMALLOC_NO_EFFECT</b>
-<br>
- }</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><b>AllocationModeParam</b> { <b>TBBMALLOC_USE_HUGE_PAGES</b>, 
-<b>USE_HUGE_PAGES</b> =  TBBMALLOC_USE_HUGE_PAGES
- }</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><b>ScalableAllocationCmd</b> { <b>TBBMALLOC_CLEAN_ALL_BUFFERS</b>, 
-<b>TBBMALLOC_CLEAN_THREAD_BUFFERS</b>
- }</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><b>MemPoolError</b> { <br>
-  <b>POOL_OK</b> =  TBBMALLOC_OK, 
-<b>INVALID_POLICY</b> =  TBBMALLOC_INVALID_PARAM, 
-<b>UNSUPPORTED_POLICY</b> =  TBBMALLOC_UNSUPPORTED, 
-<b>NO_MEMORY</b> =  TBBMALLOC_NO_MEMORY, 
-<br>
-  <b>NO_EFFECT</b> =  TBBMALLOC_NO_EFFECT
-<br>
- }</td></tr>
-
-<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void *__TBB_EXPORTED_FUNC </td><td class="memItemRight" valign="bottom"><a class="el" href="a00443.html#gc25b8e6c76db0b346a8249796a7a2475">scalable_malloc</a> (size_t size)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void __TBB_EXPORTED_FUNC </td><td class="memItemRight" valign="bottom"><a class="el" href="a00443.html#gca3579c21244dba9f0c351e5984d4565">scalable_free</a> (void *ptr)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void *__TBB_EXPORTED_FUNC </td><td class="memItemRight" valign="bottom"><a class="el" href="a00443.html#g951bbbbd2d041acb59ba5fa910b52543">scalable_realloc</a> (void *ptr, size_t size)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void *__TBB_EXPORTED_FUNC </td><td class="memItemRight" valign="bottom"><a class="el" href="a00443.html#g3f5a2fde0bcaa3eda35be32c8658f444">scalable_calloc</a> (size_t nobj, size_t size)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int __TBB_EXPORTED_FUNC </td><td class="memItemRight" valign="bottom"><a class="el" href="a00443.html#g05dcec987480bb2c82ecdead6a085899">scalable_posix_memalign</a> (void **memptr, size_t alignment, size_t size)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void *__TBB_EXPORTED_FUNC </td><td class="memItemRight" valign="bottom"><a class="el" href="a00443.html#gc1c7aaa1fe85c17ba5a3a96f7e8d89e7">scalable_aligned_malloc</a> (size_t size, size_t alignment)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void *__TBB_EXPORTED_FUNC </td><td class="memItemRight" valign="bottom"><a class="el" href="a00443.html#gbaea91376be80dfabd7c93eaffd9abaa">scalable_aligned_realloc</a> (void *ptr, size_t size, size_t alignment)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void __TBB_EXPORTED_FUNC </td><td class="memItemRight" valign="bottom"><a class="el" href="a00443.html#g65a20e812012f15ec7442d5b45d0cba5">scalable_aligned_free</a> (void *ptr)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">size_t __TBB_EXPORTED_FUNC </td><td class="memItemRight" valign="bottom"><a class="el" href="a00443.html#g0965ce1b4b7835f92869c7fd867265f7">scalable_msize</a> (void *ptr)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int __TBB_EXPORTED_FUNC </td><td class="memItemRight" valign="bottom"><a class="el" href="a00443.html#gb9ee52ffc5400f15c3d8af8c7613c05a">scalable_allocation_mode</a> (int param, intptr_t value)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int __TBB_EXPORTED_FUNC </td><td class="memItemRight" valign="bottom"><a class="el" href="a00443.html#gcdbd064aec22571ec84e906166a831a2">scalable_allocation_command</a> (int cmd, void *param)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7be7b591205c8bf497261d40c0304ab9"></a><!-- doxytag: member="scalable_allocator.h::pool_create_v1" ref="7be7b591205c8bf497261d40c0304ab9" args="(intptr_t pool_id, const MemPoolPolicy *policy, rml::MemoryPool **pool)" -->
-MemPoolError </td><td class="memItemRight" valign="bottom"><b>rml::pool_create_v1</b> (intptr_t pool_id, const MemPoolPolicy *policy, rml::MemoryPool **pool)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="66dafd186fef3ce07c5acfa57309671d"></a><!-- doxytag: member="scalable_allocator.h::pool_destroy" ref="66dafd186fef3ce07c5acfa57309671d" args="(MemoryPool *memPool)" -->
-bool </td><td class="memItemRight" valign="bottom"><b>rml::pool_destroy</b> (MemoryPool *memPool)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1f68622d83e291b152ba9bdb5eb54c4c"></a><!-- doxytag: member="scalable_allocator.h::pool_malloc" ref="1f68622d83e291b152ba9bdb5eb54c4c" args="(MemoryPool *memPool, size_t size)" -->
-void * </td><td class="memItemRight" valign="bottom"><b>rml::pool_malloc</b> (MemoryPool *memPool, size_t size)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4c46ef1c26429df31030d3278e5479fc"></a><!-- doxytag: member="scalable_allocator.h::pool_realloc" ref="4c46ef1c26429df31030d3278e5479fc" args="(MemoryPool *memPool, void *object, size_t size)" -->
-void * </td><td class="memItemRight" valign="bottom"><b>rml::pool_realloc</b> (MemoryPool *memPool, void *object, size_t size)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b5691c8c9d0b5760f98af1b0f932fb2b"></a><!-- doxytag: member="scalable_allocator.h::pool_aligned_malloc" ref="b5691c8c9d0b5760f98af1b0f932fb2b" args="(MemoryPool *mPool, size_t size, size_t alignment)" -->
-void * </td><td class="memItemRight" valign="bottom"><b>rml::pool_aligned_malloc</b> (MemoryPool *mPool, size_t size, size_t alignment)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e72b27fec45be45319d732b5cdb8ef3c"></a><!-- doxytag: member="scalable_allocator.h::pool_aligned_realloc" ref="e72b27fec45be45319d732b5cdb8ef3c" args="(MemoryPool *mPool, void *ptr, size_t size, size_t alignment)" -->
-void * </td><td class="memItemRight" valign="bottom"><b>rml::pool_aligned_realloc</b> (MemoryPool *mPool, void *ptr, size_t size, size_t alignment)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3eab1c7294baade9d21fad92f979890a"></a><!-- doxytag: member="scalable_allocator.h::pool_reset" ref="3eab1c7294baade9d21fad92f979890a" args="(MemoryPool *memPool)" -->
-bool </td><td class="memItemRight" valign="bottom"><b>rml::pool_reset</b> (MemoryPool *memPool)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e43a04a5b9e84bb26345945b1a15ed28"></a><!-- doxytag: member="scalable_allocator.h::pool_free" ref="e43a04a5b9e84bb26345945b1a15ed28" args="(MemoryPool *memPool, void *object)" -->
-bool </td><td class="memItemRight" valign="bottom"><b>rml::pool_free</b> (MemoryPool *memPool, void *object)</td></tr>
-
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="906ebb461ecb0446989739fd0399e4b8"></a><!-- doxytag: member="scalable_allocator.h::operator==" ref="906ebb461ecb0446989739fd0399e4b8" args="(const scalable_allocator< T > &, const scalable_allocator< U > &)" -->
-template<typename T, typename U> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><b>tbb::operator==</b> (const scalable_allocator< T > &, const scalable_allocator< U > &)</td></tr>
-
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="a92757aca0a69082eb8dc223eb257433"></a><!-- doxytag: member="scalable_allocator.h::operator!=" ref="a92757aca0a69082eb8dc223eb257433" args="(const scalable_allocator< T > &, const scalable_allocator< U > &)" -->
-template<typename T, typename U> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><b>tbb::operator!=</b> (const scalable_allocator< T > &, const scalable_allocator< U > &)</td></tr>
-
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-<hr>
-<p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
-<p></p>
-Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
-registered trademarks or trademarks of Intel Corporation or its
-subsidiaries in the United States and other countries.
-<p></p>
-* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00425.html b/doc/html/a00425.html
deleted file mode 100644
index c016105..0000000
--- a/doc/html/a00425.html
+++ /dev/null
@@ -1,87 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>rml Namespace Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
-  <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li id="current"><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="namespaces.html"><span>Namespace List</span></a></li>
-    <li><a href="namespacemembers.html"><span>Namespace Members</span></a></li>
-  </ul></div>
-<h1>rml Namespace Reference</h1>Assert that x is true.  
-<a href="#_details">More...</a>
-<p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><b>MemPoolPolicy</b></td></tr>
-
-<tr><td colspan="2"><br><h2>Typedefs</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5af06ad025ac20cff3a1c13aa5bded5c"></a><!-- doxytag: member="rml::rawAllocType" ref="5af06ad025ac20cff3a1c13aa5bded5c" args="(intptr_t pool_id, size_t &bytes)" -->
-typedef void *(*) </td><td class="memItemRight" valign="bottom"><b>rawAllocType</b> (intptr_t pool_id, size_t &bytes)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="49f1efbc1496ae2c1492093bb222051b"></a><!-- doxytag: member="rml::rawFreeType" ref="49f1efbc1496ae2c1492093bb222051b" args="(intptr_t pool_id, void *raw_ptr, size_t raw_bytes)" -->
-typedef int(*) </td><td class="memItemRight" valign="bottom"><b>rawFreeType</b> (intptr_t pool_id, void *raw_ptr, size_t raw_bytes)</td></tr>
-
-<tr><td colspan="2"><br><h2>Enumerations</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><b>MemPoolError</b> { <br>
-  <b>POOL_OK</b> =  TBBMALLOC_OK, 
-<b>INVALID_POLICY</b> =  TBBMALLOC_INVALID_PARAM, 
-<b>UNSUPPORTED_POLICY</b> =  TBBMALLOC_UNSUPPORTED, 
-<b>NO_MEMORY</b> =  TBBMALLOC_NO_MEMORY, 
-<br>
-  <b>NO_EFFECT</b> =  TBBMALLOC_NO_EFFECT
-<br>
- }</td></tr>
-
-<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7be7b591205c8bf497261d40c0304ab9"></a><!-- doxytag: member="rml::pool_create_v1" ref="7be7b591205c8bf497261d40c0304ab9" args="(intptr_t pool_id, const MemPoolPolicy *policy, rml::MemoryPool **pool)" -->
-MemPoolError </td><td class="memItemRight" valign="bottom"><b>pool_create_v1</b> (intptr_t pool_id, const MemPoolPolicy *policy, rml::MemoryPool **pool)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="66dafd186fef3ce07c5acfa57309671d"></a><!-- doxytag: member="rml::pool_destroy" ref="66dafd186fef3ce07c5acfa57309671d" args="(MemoryPool *memPool)" -->
-bool </td><td class="memItemRight" valign="bottom"><b>pool_destroy</b> (MemoryPool *memPool)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1f68622d83e291b152ba9bdb5eb54c4c"></a><!-- doxytag: member="rml::pool_malloc" ref="1f68622d83e291b152ba9bdb5eb54c4c" args="(MemoryPool *memPool, size_t size)" -->
-void * </td><td class="memItemRight" valign="bottom"><b>pool_malloc</b> (MemoryPool *memPool, size_t size)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4c46ef1c26429df31030d3278e5479fc"></a><!-- doxytag: member="rml::pool_realloc" ref="4c46ef1c26429df31030d3278e5479fc" args="(MemoryPool *memPool, void *object, size_t size)" -->
-void * </td><td class="memItemRight" valign="bottom"><b>pool_realloc</b> (MemoryPool *memPool, void *object, size_t size)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b5691c8c9d0b5760f98af1b0f932fb2b"></a><!-- doxytag: member="rml::pool_aligned_malloc" ref="b5691c8c9d0b5760f98af1b0f932fb2b" args="(MemoryPool *mPool, size_t size, size_t alignment)" -->
-void * </td><td class="memItemRight" valign="bottom"><b>pool_aligned_malloc</b> (MemoryPool *mPool, size_t size, size_t alignment)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e72b27fec45be45319d732b5cdb8ef3c"></a><!-- doxytag: member="rml::pool_aligned_realloc" ref="e72b27fec45be45319d732b5cdb8ef3c" args="(MemoryPool *mPool, void *ptr, size_t size, size_t alignment)" -->
-void * </td><td class="memItemRight" valign="bottom"><b>pool_aligned_realloc</b> (MemoryPool *mPool, void *ptr, size_t size, size_t alignment)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3eab1c7294baade9d21fad92f979890a"></a><!-- doxytag: member="rml::pool_reset" ref="3eab1c7294baade9d21fad92f979890a" args="(MemoryPool *memPool)" -->
-bool </td><td class="memItemRight" valign="bottom"><b>pool_reset</b> (MemoryPool *memPool)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e43a04a5b9e84bb26345945b1a15ed28"></a><!-- doxytag: member="rml::pool_free" ref="e43a04a5b9e84bb26345945b1a15ed28" args="(MemoryPool *memPool, void *object)" -->
-bool </td><td class="memItemRight" valign="bottom"><b>pool_free</b> (MemoryPool *memPool, void *object)</td></tr>
-
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-Assert that x is true. 
-<p>
-If x is false, print assertion failure message. If the comment argument is not NULL, it is printed as part of the failure message. The comment argument has no other effect. 
-<p>
-<hr>
-<p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
-<p></p>
-Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
-registered trademarks or trademarks of Intel Corporation or its
-subsidiaries in the United States and other countries.
-<p></p>
-* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00428.html b/doc/html/a00428.html
deleted file mode 100644
index 4094825..0000000
--- a/doc/html/a00428.html
+++ /dev/null
@@ -1,680 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>tbb Namespace Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
-  <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li id="current"><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="namespaces.html"><span>Namespace List</span></a></li>
-    <li><a href="namespacemembers.html"><span>Namespace Members</span></a></li>
-  </ul></div>
-<h1>tbb Namespace Reference</h1>The namespace tbb contains all components of the library.  
-<a href="#_details">More...</a>
-<p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00265.html">aligned_space</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Block of space aligned sufficiently to construct an array T with N elements.  <a href="a00265.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00266.html">atomic</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Primary template for atomic.  <a href="a00266.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00267.html">atomic< void * ></a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Specialization for <a class="el" href="a00267.html">atomic<void*></a>, for sake of not allowing arithmetic or operator->.  <a href="a00267.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00271.html">blocked_range</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">A range over which to iterate.  <a href="a00271.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00272.html">blocked_range2d</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">A 2-dimensional range that models the Range concept.  <a href="a00272.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00273.html">blocked_range3d</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">A 3-dimensional range that models the Range concept.  <a href="a00273.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00276.html">cache_aligned_allocator</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Meets "allocator" requirements of ISO C++ Standard, Section 20.1.5.  <a href="a00276.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00277.html">cache_aligned_allocator< void ></a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Analogous to std::allocator<void>, as defined in ISO C++ Standard, Section 20.4.1.  <a href="a00277.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00279.html">combinable</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Thread-local storage with optional reduction.  <a href="a00279.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00360.html">tbb_hash_compare</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">hash_compare that is default argument for concurrent_hash_map  <a href="a00360.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00280.html">concurrent_bounded_queue</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">A high-performance thread-safe blocking concurrent bounded queue.  <a href="a00280.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00288.html">concurrent_vector</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Concurrent vector container.  <a href="a00288.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00313.html">mutex</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Wrapper around the platform's native reader-writer lock.  <a href="a00313.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00315.html">null_mutex</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">A mutex which does nothing.  <a href="a00315.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00317.html">null_rw_mutex</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">A rw mutex which does nothing.  <a href="a00317.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00319.html">parallel_do_feeder</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Class the user supplied algorithm body uses to add new tasks.  <a href="a00319.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00353.html">task_group_context</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00323.html">pre_scan_tag</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Used to indicate that the initial scan is being performed.  <a href="a00323.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00296.html">final_scan_tag</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Used to indicate that the final scan is being performed.  <a href="a00296.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00320.html">parallel_while</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration over a stream, with optional addition of more work.  <a href="a00320.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00341.html">simple_partitioner</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">A simple partitioner.  <a href="a00341.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00269.html">auto_partitioner</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">An auto partitioner.  <a href="a00269.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00261.html">affinity_partitioner</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">An affinity partitioner.  <a href="a00261.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00294.html">filter</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">A stage in a pipeline.  <a href="a00294.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00361.html">thread_bound_filter</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">A stage in a pipeline served by a user thread.  <a href="a00361.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00322.html">pipeline</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">A processing pipeline that applies filters to items.  <a href="a00322.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00326.html">queuing_mutex</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Queuing mutex with local-only spinning.  <a href="a00326.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00328.html">queuing_rw_mutex</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Queuing reader-writer mutex with local-only spinning.  <a href="a00328.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00334.html">recursive_mutex</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Mutex that allows recursive mutex acquisition.  <a href="a00334.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00337.html">scalable_allocator</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Meets "allocator" requirements of ISO C++ Standard, Section 20.1.5.  <a href="a00337.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00338.html">scalable_allocator< void ></a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Analogous to std::allocator<void>, as defined in ISO C++ Standard, Section 20.4.1.  <a href="a00338.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00343.html">spin_mutex</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">A lock that occupies a single byte.  <a href="a00343.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00345.html">spin_rw_mutex_v3</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Fast, unfair, spinning reader-writer lock with backoff and writer-preference.  <a href="a00345.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00349.html">task</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Base class for user-defined tasks.  <a href="a00349.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00292.html">empty_task</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">task that does nothing. Useful for synchronization.  <a href="a00292.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00354.html">task_list</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">A list of children.  <a href="a00354.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><b>task_handle</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><b>task_group</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><b>structured_task_group</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00355.html">task_scheduler_init</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Class delimiting the scope of task scheduler activity.  <a href="a00355.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00356.html">tbb_allocator</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Meets "allocator" requirements of ISO C++ Standard, Section 20.1.5.  <a href="a00356.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00357.html">tbb_allocator< void ></a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Analogous to std::allocator<void>, as defined in ISO C++ Standard, Section 20.4.1.  <a href="a00357.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00366.html">zero_allocator</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Meets "allocator" requirements of ISO C++ Standard, Section 20.1.5.  <a href="a00366.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00367.html">zero_allocator< void, Allocator ></a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Analogous to std::allocator<void>, as defined in ISO C++ Standard, Section 20.4.1.  <a href="a00367.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00270.html">bad_last_alloc</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Exception for concurrent containers.  <a href="a00270.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00302.html">improper_lock</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Exception for PPL locks.  <a href="a00302.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00364.html">user_abort</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Exception for user-initiated abort.  <a href="a00364.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00310.html">missing_wait</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Exception for missing wait on structured_task_group.  <a href="a00310.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00303.html">invalid_multiple_scheduling</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Exception for repeated scheduling of the same task_handle.  <a href="a00303.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00358.html">tbb_exception</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Interface to be implemented by all exceptions TBB recognizes and propagates across the threads.  <a href="a00358.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00278.html">captured_exception</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">This class is used by TBB to propagate information about unhandled exceptions into the root thread.  <a href="a00278.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00311.html">movable_exception</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Template that can be used to implement exception that transfers arbitrary ExceptionData to the root thread.  <a href="a00311.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00347.html">split</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Dummy type that distinguishes splitting constructor from copy constructor.  <a href="a00347.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00362.html">tick_count</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Absolute timestamp.  <a href="a00362.html#_details">More...</a><br></td></tr>
-<tr><td colspan="2"><br><h2>parallel_do</h2></td></tr>
-<tr><td colspan="2">See also requirements on <a class="el" href="parallel_do_body_req.html">parallel_do Body</a>. <br><br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="g3383e2703977012b6f384d673410f1f7"></a><!-- doxytag: member="tbb::parallel_do" ref="g3383e2703977012b6f384d673410f1f7" args="(Iterator first, Iterator last, const Body &body)" -->
-template<typename Iterator, typename Body> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00441.html#g3383e2703977012b6f384d673410f1f7">parallel_do</a> (Iterator first, Iterator last, const Body &body)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration over a range, with optional addition of more work. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="g2617dc9b88b3285a7212599d49f74228"></a><!-- doxytag: member="tbb::parallel_do" ref="g2617dc9b88b3285a7212599d49f74228" args="(Iterator first, Iterator last, const Body &body, task_group_context &context)" -->
-template<typename Iterator, typename Body> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00441.html#g2617dc9b88b3285a7212599d49f74228">parallel_do</a> (Iterator first, Iterator last, const Body &body, <a class="el" href="a00353.html">task_group_context</a> &context)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration over a range, with optional addition of more work and user-supplied context. <br></td></tr>
-<tr><td colspan="2"><br><h2>parallel_for</h2></td></tr>
-<tr><td colspan="2">See also requirements on <a class="el" href="range_req.html">Range</a> and <a class="el" href="parallel_for_body_req.html">parallel_for Body</a>. <br><br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="g68cc046ef72c42ce205fccbc435a0d81"></a><!-- doxytag: member="tbb::parallel_for" ref="g68cc046ef72c42ce205fccbc435a0d81" args="(const Range &range, const Body &body)" -->
-template<typename Range, typename Body> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00441.html#g68cc046ef72c42ce205fccbc435a0d81">parallel_for</a> (const Range &range, const Body &body)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration over range with default partitioner. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="g13cac5dd55c7533bccea43a51c33d0e5"></a><!-- doxytag: member="tbb::parallel_for" ref="g13cac5dd55c7533bccea43a51c33d0e5" args="(const Range &range, const Body &body, const simple_partitioner &partitioner)" -->
-template<typename Range, typename Body> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00441.html#g13cac5dd55c7533bccea43a51c33d0e5">parallel_for</a> (const Range &range, const Body &body, const <a class="el" href="a00341.html">simple_partitioner</a> &partitioner)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration over range with simple partitioner. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="ga7ac75d532389b55b9247f3fdb0b00d1"></a><!-- doxytag: member="tbb::parallel_for" ref="ga7ac75d532389b55b9247f3fdb0b00d1" args="(const Range &range, const Body &body, const auto_partitioner &partitioner)" -->
-template<typename Range, typename Body> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00441.html#ga7ac75d532389b55b9247f3fdb0b00d1">parallel_for</a> (const Range &range, const Body &body, const <a class="el" href="a00269.html">auto_partitioner</a> &partitioner)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration over range with <a class="el" href="a00269.html">auto_partitioner</a>. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="g9cd1b210ceb1c040f30e390b4a21bde8"></a><!-- doxytag: member="tbb::parallel_for" ref="g9cd1b210ceb1c040f30e390b4a21bde8" args="(const Range &range, const Body &body, affinity_partitioner &partitioner)" -->
-template<typename Range, typename Body> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00441.html#g9cd1b210ceb1c040f30e390b4a21bde8">parallel_for</a> (const Range &range, const Body &body, <a class="el" href="a00261.html">affinity_partitioner</a> &partitioner)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration over range with <a class="el" href="a00261.html">affinity_partitioner</a>. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="g8a1bab34022d4990e49e287a129529fa"></a><!-- doxytag: member="tbb::parallel_for" ref="g8a1bab34022d4990e49e287a129529fa" args="(const Range &range, const Body &body, task_group_context &context)" -->
-template<typename Range, typename Body> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00441.html#g8a1bab34022d4990e49e287a129529fa">parallel_for</a> (const Range &range, const Body &body, <a class="el" href="a00353.html">task_group_context</a> &context)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration over range with default partitioner and user-supplied context. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="g2d317a5e0078cd193125439fed60dfdc"></a><!-- doxytag: member="tbb::parallel_for" ref="g2d317a5e0078cd193125439fed60dfdc" args="(const Range &range, const Body &body, const simple_partitioner &partitioner, task_group_context &context)" -->
-template<typename Range, typename Body> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00441.html#g2d317a5e0078cd193125439fed60dfdc">parallel_for</a> (const Range &range, const Body &body, const <a class="el" href="a00341.html">simple_partitioner</a> &partitioner, <a class="el" href="a00353.html">task_group_context</a> &context)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration over range with simple partitioner and user-supplied context. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="g1c0700e3f85e83a788ff3ede88ebb7e9"></a><!-- doxytag: member="tbb::parallel_for" ref="g1c0700e3f85e83a788ff3ede88ebb7e9" args="(const Range &range, const Body &body, const auto_partitioner &partitioner, task_group_context &context)" -->
-template<typename Range, typename Body> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00441.html#g1c0700e3f85e83a788ff3ede88ebb7e9">parallel_for</a> (const Range &range, const Body &body, const <a class="el" href="a00269.html">auto_partitioner</a> &partitioner, <a class="el" href="a00353.html">task_group_context</a> &context)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration over range with <a class="el" href="a00269.html">auto_partitioner</a> and user-supplied context. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="g04b4696b67370c01353ff5974c8f1196"></a><!-- doxytag: member="tbb::parallel_for" ref="g04b4696b67370c01353ff5974c8f1196" args="(const Range &range, const Body &body, affinity_partitioner &partitioner, task_group_context &context)" -->
-template<typename Range, typename Body> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00441.html#g04b4696b67370c01353ff5974c8f1196">parallel_for</a> (const Range &range, const Body &body, <a class="el" href="a00261.html">affinity_partitioner</a> &partitioner, <a class="el" href="a00353.html">task_group_context</a> &context)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration over range with <a class="el" href="a00261.html">affinity_partitioner</a> and user-supplied context. <br></td></tr>
-<tr><td colspan="2"><br><h2>parallel_for_each</h2></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="gcd40c32f319747e61a8f73fcfc452001"></a><!-- doxytag: member="tbb::parallel_for_each" ref="gcd40c32f319747e61a8f73fcfc452001" args="(InputIterator first, InputIterator last, const Function &f, task_group_context &context)" -->
-template<typename InputIterator, typename Function> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00441.html#gcd40c32f319747e61a8f73fcfc452001">parallel_for_each</a> (InputIterator first, InputIterator last, const Function &f, <a class="el" href="a00353.html">task_group_context</a> &context)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Calls function f for all items from [first, last) interval using user-supplied context. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="gc2d710ca573f0a9bd94379cba3772def"></a><!-- doxytag: member="tbb::parallel_for_each" ref="gc2d710ca573f0a9bd94379cba3772def" args="(InputIterator first, InputIterator last, const Function &f)" -->
-template<typename InputIterator, typename Function> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00441.html#gc2d710ca573f0a9bd94379cba3772def">parallel_for_each</a> (InputIterator first, InputIterator last, const Function &f)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Uses default context. <br></td></tr>
-<tr><td colspan="2"><br><h2>parallel_invoke</h2></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="gd3e2998f171494f94c2103f4eb924084"></a><!-- doxytag: member="tbb::parallel_invoke" ref="gd3e2998f171494f94c2103f4eb924084" args="(const F0 &f0, const F1 &f1, tbb::task_group_context &context)" -->
-template<typename F0, typename F1> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00441.html#gd3e2998f171494f94c2103f4eb924084">parallel_invoke</a> (const F0 &f0, const F1 &f1, <a class="el" href="a00353.html">tbb::task_group_context</a> &context)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Executes a list of tasks in parallel and waits for all tasks to complete. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="g4eb73562e4145c8343ed9f996267f039"></a><!-- doxytag: member="tbb::parallel_invoke" ref="g4eb73562e4145c8343ed9f996267f039" args="(const F0 &f0, const F1 &f1, const F2 &f2, tbb::task_group_context &context)" -->
-template<typename F0, typename F1, typename F2> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><b>parallel_invoke</b> (const F0 &f0, const F1 &f1, const F2 &f2, <a class="el" href="a00353.html">tbb::task_group_context</a> &context)</td></tr>
-
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="gd1335c4b54fbf8d3f5be6a5c255c8c60"></a><!-- doxytag: member="tbb::parallel_invoke" ref="gd1335c4b54fbf8d3f5be6a5c255c8c60" args="(const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3, tbb::task_group_context &context)" -->
-template<typename F0, typename F1, typename F2, typename F3> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><b>parallel_invoke</b> (const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3, <a class="el" href="a00353.html">tbb::task_group_context</a> &context)</td></tr>
-
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="g40b88e3db7ecb09cbfe0230ea1c24030"></a><!-- doxytag: member="tbb::parallel_invoke" ref="g40b88e3db7ecb09cbfe0230ea1c24030" args="(const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3, const F4 &f4, tbb::task_group_context &context)" -->
-template<typename F0, typename F1, typename F2, typename F3, typename F4> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><b>parallel_invoke</b> (const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3, const F4 &f4, <a class="el" href="a00353.html">tbb::task_group_context</a> &context)</td></tr>
-
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="g98a8b388f7e0b7621a964a8c23752d1d"></a><!-- doxytag: member="tbb::parallel_invoke" ref="g98a8b388f7e0b7621a964a8c23752d1d" args="(const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3, const F4 &f4, const F5 &f5, tbb::task_group_context &context)" -->
-template<typename F0, typename F1, typename F2, typename F3, typename F4, typename F5> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><b>parallel_invoke</b> (const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3, const F4 &f4, const F5 &f5, <a class="el" href="a00353.html">tbb::task_group_context</a> &context)</td></tr>
-
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="gb95f31638bdde9d909361ad2e96a93eb"></a><!-- doxytag: member="tbb::parallel_invoke" ref="gb95f31638bdde9d909361ad2e96a93eb" args="(const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3, const F4 &f4, const F5 &f5, const F6 &f6, tbb::task_group_context &context)" -->
-template<typename F0, typename F1, typename F2, typename F3, typename F4, typename F5, typename F6> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><b>parallel_invoke</b> (const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3, const F4 &f4, const F5 &f5, const F6 &f6, <a class="el" href="a00353.html">tbb::task_group_context</a> &context)</td></tr>
-
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="g1655b24786f010ee0a008907a07bb61d"></a><!-- doxytag: member="tbb::parallel_invoke" ref="g1655b24786f010ee0a008907a07bb61d" args="(const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3, const F4 &f4, const F5 &f5, const F6 &f6, const F7 &f7, tbb::task_group_context &context)" -->
-template<typename F0, typename F1, typename F2, typename F3, typename F4, typename F5, typename F6, typename F7> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><b>parallel_invoke</b> (const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3, const F4 &f4, const F5 &f5, const F6 &f6, const F7 &f7, <a class="el" href="a00353.html">tbb::task_group_context</a> &context)</td></tr>
-
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="g105220f1c95f9888b696a3e47027527b"></a><!-- doxytag: member="tbb::parallel_invoke" ref="g105220f1c95f9888b696a3e47027527b" args="(const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3, const F4 &f4, const F5 &f5, const F6 &f6, const F7 &f7, const F8 &f8, tbb::task_group_context &context)" -->
-template<typename F0, typename F1, typename F2, typename F3, typename F4, typename F5, typename F6, typename F7, typename F8> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><b>parallel_invoke</b> (const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3, const F4 &f4, const F5 &f5, const F6 &f6, const F7 &f7, const F8 &f8, <a class="el" href="a00353.html">tbb::task_group_context</a> &context)</td></tr>
-
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="g1ef1774e0fcc4f632fe0af2591781c4c"></a><!-- doxytag: member="tbb::parallel_invoke" ref="g1ef1774e0fcc4f632fe0af2591781c4c" args="(const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3, const F4 &f4, const F5 &f5, const F6 &f6, const F7 &f7, const F8 &f8, const F9 &f9, tbb::task_group_context &context)" -->
-template<typename F0, typename F1, typename F2, typename F3, typename F4, typename F5, typename F6, typename F7, typename F8, typename F9> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><b>parallel_invoke</b> (const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3, const F4 &f4, const F5 &f5, const F6 &f6, const F7 &f7, const F8 &f8, const F9 &f9, <a class="el" href="a00353.html">tbb::task_group_context</a> &context)</td></tr>
-
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="ge832d8ad8b246c884e3c897ed63f8216"></a><!-- doxytag: member="tbb::parallel_invoke" ref="ge832d8ad8b246c884e3c897ed63f8216" args="(const F0 &f0, const F1 &f1)" -->
-template<typename F0, typename F1> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><b>parallel_invoke</b> (const F0 &f0, const F1 &f1)</td></tr>
-
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="gb91fec4e7ba49754ad583ccb127afc66"></a><!-- doxytag: member="tbb::parallel_invoke" ref="gb91fec4e7ba49754ad583ccb127afc66" args="(const F0 &f0, const F1 &f1, const F2 &f2)" -->
-template<typename F0, typename F1, typename F2> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><b>parallel_invoke</b> (const F0 &f0, const F1 &f1, const F2 &f2)</td></tr>
-
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="g421d0f66ee69eea134a35d1ae371d8d6"></a><!-- doxytag: member="tbb::parallel_invoke" ref="g421d0f66ee69eea134a35d1ae371d8d6" args="(const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3)" -->
-template<typename F0, typename F1, typename F2, typename F3> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><b>parallel_invoke</b> (const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3)</td></tr>
-
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="g8aacce74d691b4f44a0f7becadd9578c"></a><!-- doxytag: member="tbb::parallel_invoke" ref="g8aacce74d691b4f44a0f7becadd9578c" args="(const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3, const F4 &f4)" -->
-template<typename F0, typename F1, typename F2, typename F3, typename F4> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><b>parallel_invoke</b> (const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3, const F4 &f4)</td></tr>
-
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="g8cc6994f7cd6eaf25feb5d7cc04a2e64"></a><!-- doxytag: member="tbb::parallel_invoke" ref="g8cc6994f7cd6eaf25feb5d7cc04a2e64" args="(const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3, const F4 &f4, const F5 &f5)" -->
-template<typename F0, typename F1, typename F2, typename F3, typename F4, typename F5> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><b>parallel_invoke</b> (const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3, const F4 &f4, const F5 &f5)</td></tr>
-
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="g995ba9583ae24bddb8bd9a599cc8b4c7"></a><!-- doxytag: member="tbb::parallel_invoke" ref="g995ba9583ae24bddb8bd9a599cc8b4c7" args="(const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3, const F4 &f4, const F5 &f5, const F6 &f6)" -->
-template<typename F0, typename F1, typename F2, typename F3, typename F4, typename F5, typename F6> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><b>parallel_invoke</b> (const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3, const F4 &f4, const F5 &f5, const F6 &f6)</td></tr>
-
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="g34341a4c24c6f548886cd14077374c5c"></a><!-- doxytag: member="tbb::parallel_invoke" ref="g34341a4c24c6f548886cd14077374c5c" args="(const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3, const F4 &f4, const F5 &f5, const F6 &f6, const F7 &f7)" -->
-template<typename F0, typename F1, typename F2, typename F3, typename F4, typename F5, typename F6, typename F7> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><b>parallel_invoke</b> (const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3, const F4 &f4, const F5 &f5, const F6 &f6, const F7 &f7)</td></tr>
-
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="g2a11342753488d460866d48370a69517"></a><!-- doxytag: member="tbb::parallel_invoke" ref="g2a11342753488d460866d48370a69517" args="(const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3, const F4 &f4, const F5 &f5, const F6 &f6, const F7 &f7, const F8 &f8)" -->
-template<typename F0, typename F1, typename F2, typename F3, typename F4, typename F5, typename F6, typename F7, typename F8> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><b>parallel_invoke</b> (const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3, const F4 &f4, const F5 &f5, const F6 &f6, const F7 &f7, const F8 &f8)</td></tr>
-
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="gffcf6835ceee43455f310352a3b4faa5"></a><!-- doxytag: member="tbb::parallel_invoke" ref="gffcf6835ceee43455f310352a3b4faa5" args="(const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3, const F4 &f4, const F5 &f5, const F6 &f6, const F7 &f7, const F8 &f8, const F9 &f9)" -->
-template<typename F0, typename F1, typename F2, typename F3, typename F4, typename F5, typename F6, typename F7, typename F8, typename F9> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><b>parallel_invoke</b> (const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3, const F4 &f4, const F5 &f5, const F6 &f6, const F7 &f7, const F8 &f8, const F9 &f9)</td></tr>
-
-<tr><td colspan="2"><br><h2>parallel_reduce</h2></td></tr>
-<tr><td colspan="2">See also requirements on <a class="el" href="range_req.html">Range</a> and <a class="el" href="parallel_reduce_body_req.html">parallel_reduce Body</a>. <br><br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="g1b3d59c5eb62683c5754db6970392fa3"></a><!-- doxytag: member="tbb::parallel_reduce" ref="g1b3d59c5eb62683c5754db6970392fa3" args="(const Range &range, Body &body)" -->
-template<typename Range, typename Body> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00441.html#g1b3d59c5eb62683c5754db6970392fa3">parallel_reduce</a> (const Range &range, Body &body)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration with reduction and default partitioner. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="gec1b7c03f9da909bef5db12e3d41bed3"></a><!-- doxytag: member="tbb::parallel_reduce" ref="gec1b7c03f9da909bef5db12e3d41bed3" args="(const Range &range, Body &body, const simple_partitioner &partitioner)" -->
-template<typename Range, typename Body> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00441.html#gec1b7c03f9da909bef5db12e3d41bed3">parallel_reduce</a> (const Range &range, Body &body, const <a class="el" href="a00341.html">simple_partitioner</a> &partitioner)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration with reduction and <a class="el" href="a00341.html">simple_partitioner</a>. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="g18a19157e6245992fc00ca0adeb7dd37"></a><!-- doxytag: member="tbb::parallel_reduce" ref="g18a19157e6245992fc00ca0adeb7dd37" args="(const Range &range, Body &body, const auto_partitioner &partitioner)" -->
-template<typename Range, typename Body> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00441.html#g18a19157e6245992fc00ca0adeb7dd37">parallel_reduce</a> (const Range &range, Body &body, const <a class="el" href="a00269.html">auto_partitioner</a> &partitioner)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration with reduction and <a class="el" href="a00269.html">auto_partitioner</a>. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="gc61e73fcc36c92d79a217fc355ff4a6b"></a><!-- doxytag: member="tbb::parallel_reduce" ref="gc61e73fcc36c92d79a217fc355ff4a6b" args="(const Range &range, Body &body, affinity_partitioner &partitioner)" -->
-template<typename Range, typename Body> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00441.html#gc61e73fcc36c92d79a217fc355ff4a6b">parallel_reduce</a> (const Range &range, Body &body, <a class="el" href="a00261.html">affinity_partitioner</a> &partitioner)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration with reduction and <a class="el" href="a00261.html">affinity_partitioner</a>. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="g45cb00c42a18e334bbde8b7535afe460"></a><!-- doxytag: member="tbb::parallel_reduce" ref="g45cb00c42a18e334bbde8b7535afe460" args="(const Range &range, Body &body, const simple_partitioner &partitioner, task_group_context &context)" -->
-template<typename Range, typename Body> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00441.html#g45cb00c42a18e334bbde8b7535afe460">parallel_reduce</a> (const Range &range, Body &body, const <a class="el" href="a00341.html">simple_partitioner</a> &partitioner, <a class="el" href="a00353.html">task_group_context</a> &context)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration with reduction, simple partitioner and user-supplied context. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="g1c1ea1d7c61b3c225e92c70d669a53a5"></a><!-- doxytag: member="tbb::parallel_reduce" ref="g1c1ea1d7c61b3c225e92c70d669a53a5" args="(const Range &range, Body &body, const auto_partitioner &partitioner, task_group_context &context)" -->
-template<typename Range, typename Body> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00441.html#g1c1ea1d7c61b3c225e92c70d669a53a5">parallel_reduce</a> (const Range &range, Body &body, const <a class="el" href="a00269.html">auto_partitioner</a> &partitioner, <a class="el" href="a00353.html">task_group_context</a> &context)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration with reduction, <a class="el" href="a00269.html">auto_partitioner</a> and user-supplied context. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="gd9ac3a3811060314695f33b703c6e11b"></a><!-- doxytag: member="tbb::parallel_reduce" ref="gd9ac3a3811060314695f33b703c6e11b" args="(const Range &range, Body &body, affinity_partitioner &partitioner, task_group_context &context)" -->
-template<typename Range, typename Body> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00441.html#gd9ac3a3811060314695f33b703c6e11b">parallel_reduce</a> (const Range &range, Body &body, <a class="el" href="a00261.html">affinity_partitioner</a> &partitioner, <a class="el" href="a00353.html">task_group_context</a> &context)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration with reduction, <a class="el" href="a00261.html">affinity_partitioner</a> and user-supplied context. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="gc9412e09fb01fcad8c018ea9cffb28ef"></a><!-- doxytag: member="tbb::parallel_reduce" ref="gc9412e09fb01fcad8c018ea9cffb28ef" args="(const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction)" -->
-template<typename Range, typename Value, typename RealBody, typename Reduction> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">Value </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00441.html#gc9412e09fb01fcad8c018ea9cffb28ef">parallel_reduce</a> (const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration with reduction and default partitioner. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="gaddffeec0e892ac3d6fc7fc2053e1eca"></a><!-- doxytag: member="tbb::parallel_reduce" ref="gaddffeec0e892ac3d6fc7fc2053e1eca" args="(const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction, const simple_partitioner &partitioner)" -->
-template<typename Range, typename Value, typename RealBody, typename Reduction> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">Value </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00441.html#gaddffeec0e892ac3d6fc7fc2053e1eca">parallel_reduce</a> (const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction, const <a class="el" href="a00341.html">simple_partitioner</a> &partitioner)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration with reduction and <a class="el" href="a00341.html">simple_partitioner</a>. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="gb175401f0729e40dd2c5860a17c14385"></a><!-- doxytag: member="tbb::parallel_reduce" ref="gb175401f0729e40dd2c5860a17c14385" args="(const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction, const auto_partitioner &partitioner)" -->
-template<typename Range, typename Value, typename RealBody, typename Reduction> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">Value </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00441.html#gb175401f0729e40dd2c5860a17c14385">parallel_reduce</a> (const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction, const <a class="el" href="a00269.html">auto_partitioner</a> &partitioner)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration with reduction and <a class="el" href="a00269.html">auto_partitioner</a>. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="gb7f1f1828ae2b330ce05b8513a495154"></a><!-- doxytag: member="tbb::parallel_reduce" ref="gb7f1f1828ae2b330ce05b8513a495154" args="(const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction, affinity_partitioner &partitioner)" -->
-template<typename Range, typename Value, typename RealBody, typename Reduction> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">Value </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00441.html#gb7f1f1828ae2b330ce05b8513a495154">parallel_reduce</a> (const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction, <a class="el" href="a00261.html">affinity_partitioner</a> &partitioner)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration with reduction and <a class="el" href="a00261.html">affinity_partitioner</a>. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="gfbc0cc2026d87f11a96bcd62788f5bb5"></a><!-- doxytag: member="tbb::parallel_reduce" ref="gfbc0cc2026d87f11a96bcd62788f5bb5" args="(const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction, const simple_partitioner &partitioner, task_group_context &context)" -->
-template<typename Range, typename Value, typename RealBody, typename Reduction> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">Value </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00441.html#gfbc0cc2026d87f11a96bcd62788f5bb5">parallel_reduce</a> (const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction, const <a class="el" href="a00341.html">simple_partitioner</a> &partitioner, <a class="el" href="a00353.html">task_group_context</a> &context)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration with reduction, simple partitioner and user-supplied context. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="g630c90a399937d9d4ae70ff883186dfd"></a><!-- doxytag: member="tbb::parallel_reduce" ref="g630c90a399937d9d4ae70ff883186dfd" args="(const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction, const auto_partitioner &partitioner, task_group_context &context)" -->
-template<typename Range, typename Value, typename RealBody, typename Reduction> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">Value </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00441.html#g630c90a399937d9d4ae70ff883186dfd">parallel_reduce</a> (const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction, const <a class="el" href="a00269.html">auto_partitioner</a> &partitioner, <a class="el" href="a00353.html">task_group_context</a> &context)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration with reduction, <a class="el" href="a00269.html">auto_partitioner</a> and user-supplied context. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="g496bd7eadb3b97495ccb5655ef90319e"></a><!-- doxytag: member="tbb::parallel_reduce" ref="g496bd7eadb3b97495ccb5655ef90319e" args="(const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction, affinity_partitioner &partitioner, task_group_context &context)" -->
-template<typename Range, typename Value, typename RealBody, typename Reduction> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">Value </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00441.html#g496bd7eadb3b97495ccb5655ef90319e">parallel_reduce</a> (const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction, <a class="el" href="a00261.html">affinity_partitioner</a> &partitioner, <a class="el" href="a00353.html">task_group_context</a> &context)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration with reduction, <a class="el" href="a00261.html">affinity_partitioner</a> and user-supplied context. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="g873006cc80868b5b4604822bf100ddeb"></a><!-- doxytag: member="tbb::parallel_deterministic_reduce" ref="g873006cc80868b5b4604822bf100ddeb" args="(const Range &range, Body &body)" -->
-template<typename Range, typename Body> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00441.html#g873006cc80868b5b4604822bf100ddeb">parallel_deterministic_reduce</a> (const Range &range, Body &body)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration with deterministic reduction and default partitioner. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="gfd08c56b3a98d4437dadc5365326928a"></a><!-- doxytag: member="tbb::parallel_deterministic_reduce" ref="gfd08c56b3a98d4437dadc5365326928a" args="(const Range &range, Body &body, task_group_context &context)" -->
-template<typename Range, typename Body> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00441.html#gfd08c56b3a98d4437dadc5365326928a">parallel_deterministic_reduce</a> (const Range &range, Body &body, <a class="el" href="a00353.html">task_group_context</a> &context)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration with deterministic reduction, simple partitioner and user-supplied context. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="g3edb17bb1967c291d227556e0e47e507"></a><!-- doxytag: member="tbb::parallel_deterministic_reduce" ref="g3edb17bb1967c291d227556e0e47e507" args="(const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction)" -->
-template<typename Range, typename Value, typename RealBody, typename Reduction> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">Value </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00441.html#g3edb17bb1967c291d227556e0e47e507">parallel_deterministic_reduce</a> (const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration with deterministic reduction and default partitioner. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="g0a66bc67567b2d01d709b59b9bddf84a"></a><!-- doxytag: member="tbb::parallel_deterministic_reduce" ref="g0a66bc67567b2d01d709b59b9bddf84a" args="(const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction, task_group_context &context)" -->
-template<typename Range, typename Value, typename RealBody, typename Reduction> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">Value </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00441.html#g0a66bc67567b2d01d709b59b9bddf84a">parallel_deterministic_reduce</a> (const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction, <a class="el" href="a00353.html">task_group_context</a> &context)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration with deterministic reduction, simple partitioner and user-supplied context. <br></td></tr>
-<tr><td colspan="2"><br><h2>parallel_scan</h2></td></tr>
-<tr><td colspan="2">See also requirements on <a class="el" href="range_req.html">Range</a> and <a class="el" href="parallel_scan_body_req.html">parallel_scan Body</a>. <br><br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="ged143f31dd3d96ded02ab3db915b91c7"></a><!-- doxytag: member="tbb::parallel_scan" ref="ged143f31dd3d96ded02ab3db915b91c7" args="(const Range &range, Body &body)" -->
-template<typename Range, typename Body> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00441.html#ged143f31dd3d96ded02ab3db915b91c7">parallel_scan</a> (const Range &range, Body &body)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Parallel prefix with default partitioner. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="gc9fac8870b2e6365fb337014404529df"></a><!-- doxytag: member="tbb::parallel_scan" ref="gc9fac8870b2e6365fb337014404529df" args="(const Range &range, Body &body, const simple_partitioner &partitioner)" -->
-template<typename Range, typename Body> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00441.html#gc9fac8870b2e6365fb337014404529df">parallel_scan</a> (const Range &range, Body &body, const <a class="el" href="a00341.html">simple_partitioner</a> &partitioner)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Parallel prefix with <a class="el" href="a00341.html">simple_partitioner</a>. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="g62fde400a37bbca1a2fddc8e3d22f556"></a><!-- doxytag: member="tbb::parallel_scan" ref="g62fde400a37bbca1a2fddc8e3d22f556" args="(const Range &range, Body &body, const auto_partitioner &partitioner)" -->
-template<typename Range, typename Body> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00441.html#g62fde400a37bbca1a2fddc8e3d22f556">parallel_scan</a> (const Range &range, Body &body, const <a class="el" href="a00269.html">auto_partitioner</a> &partitioner)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Parallel prefix with <a class="el" href="a00269.html">auto_partitioner</a>. <br></td></tr>
-<tr><td colspan="2"><br><h2>parallel_sort</h2></td></tr>
-<tr><td colspan="2">See also requirements on <a class="el" href="parallel_sort_iter_req.html">iterators for parallel_sort</a>. <br><br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2">template<typename RandomAccessIterator, typename Compare> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00441.html#g49edcf9447cd91a9527a3f8e8512b7aa">parallel_sort</a> (RandomAccessIterator begin, RandomAccessIterator end, const Compare &comp)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Sorts the data in [begin,end) using the given comparator.  <a href="a00441.html#g49edcf9447cd91a9527a3f8e8512b7aa"></a><br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="g16c3eb77d0e530834c51ce3857f01012"></a><!-- doxytag: member="tbb::parallel_sort" ref="g16c3eb77d0e530834c51ce3857f01012" args="(RandomAccessIterator begin, RandomAccessIterator end)" -->
-template<typename RandomAccessIterator> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00441.html#g16c3eb77d0e530834c51ce3857f01012">parallel_sort</a> (RandomAccessIterator begin, RandomAccessIterator end)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Sorts the data in [begin,end) with a default comparator <code>std::less<RandomAccessIterator></code>. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="gc7576f82fdedc8a701a6c17ad9415926"></a><!-- doxytag: member="tbb::parallel_sort" ref="gc7576f82fdedc8a701a6c17ad9415926" args="(T *begin, T *end)" -->
-template<typename T> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00441.html#gc7576f82fdedc8a701a6c17ad9415926">parallel_sort</a> (T *begin, T *end)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Sorts the data in the range <code></code>[begin,end) with a default comparator <code>std::less<T></code>. <br></td></tr>
-<tr><td colspan="2"><br><h2>Typedefs</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="bf4486f36580f7d4bf95aed2e052a380"></a><!-- doxytag: member="tbb::critical_section" ref="bf4486f36580f7d4bf95aed2e052a380" args="" -->
-typedef internal::critical_section_v4 </td><td class="memItemRight" valign="bottom"><b>critical_section</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef interface7::internal::padded_mutex<<br>
- interface7::internal::x86_eliding_mutex > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00444.html#g645a9ea2a448def7e529d4ba0c6f39b8">speculative_spin_mutex</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">A cross-platform spin mutex with speculative lock acquisition.  <a href="a00444.html#g645a9ea2a448def7e529d4ba0c6f39b8"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5e90a4e5887a152c32e2499b7e074f3c"></a><!-- doxytag: member="tbb::speculative_spin_mutex" ref="5e90a4e5887a152c32e2499b7e074f3c" args="" -->
-typedef interface7::internal::padded_mutex<<br>
- <a class="el" href="a00343.html">spin_mutex</a> > </td><td class="memItemRight" valign="bottom"><b>speculative_spin_mutex</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7fdc2b067a243747d4c3dfe6f3d28476"></a><!-- doxytag: member="tbb::spin_rw_mutex" ref="7fdc2b067a243747d4c3dfe6f3d28476" args="" -->
-typedef <a class="el" href="a00345.html">spin_rw_mutex_v3</a> </td><td class="memItemRight" valign="bottom"><b>spin_rw_mutex</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a3d457eb737199125df5ab0cf2f44094"></a><!-- doxytag: member="tbb::stack_size_type" ref="a3d457eb737199125df5ab0cf2f44094" args="" -->
-typedef std::size_t </td><td class="memItemRight" valign="bottom"><b>stack_size_type</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="621a403f1b13bcec95297344f205d922"></a><!-- doxytag: member="tbb::task_scheduler_observer" ref="621a403f1b13bcec95297344f205d922" args="" -->
-typedef tbb::internal::task_scheduler_observer_v3 </td><td class="memItemRight" valign="bottom"><b>task_scheduler_observer</b></td></tr>
-
-<tr><td colspan="2"><br><h2>Enumerations</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00428.html#a8686246bb5d3664bd07563749970fef">memory_semantics</a> { <a class="el" href="a00428.html#a8686246bb5d3664bd07563749970fef07b959f69a4f70d821c67b85316803ff">full_fence</a>, 
-<a class="el" href="a00428.html#a8686246bb5d3664bd07563749970fef5f1fafe8d229d348ff91d937f64e79c7">acquire</a>, 
-<a class="el" href="a00428.html#a8686246bb5d3664bd07563749970fefaa1fa107db0245c41fb109d976ae8d70">release</a>, 
-<a class="el" href="a00428.html#a8686246bb5d3664bd07563749970fefaba4b1574646947f1b519188a93c1900">relaxed</a>
- }</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Specifies memory semantics.  <a href="a00428.html#a8686246bb5d3664bd07563749970fef">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00428.html#a8622ae61b7e7737dac26542e181178e">ets_key_usage_type</a> { <b>ets_key_per_instance</b>, 
-<b>ets_no_key</b>
- }</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">enum for selecting between single key and key-per-instance versions <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><b>priority_t</b> { <b>priority_normal</b> =  internal::priority_stride_v4 * 2, 
-<b>priority_low</b> =  priority_normal - internal::priority_stride_v4, 
-<b>priority_high</b> =  priority_normal + internal::priority_stride_v4
- }</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><b>task_group_status</b> { <b>not_complete</b>, 
-<b>complete</b>, 
-<b>canceled</b>
- }</td></tr>
-
-<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2e067bc86f20023cf3034f2ac310927b"></a><!-- doxytag: member="tbb::__TBB_DECL_ATOMIC" ref="2e067bc86f20023cf3034f2ac310927b" args="(__TBB_LONG_LONG) __TBB_DECL_ATOMIC(unsigned __TBB_LONG_LONG) __TBB_DECL_ATOMIC(long) __TBB_DECL_ATOMIC(unsigned long) __TBB_DECL_ATOMIC_ALT(unsigned" -->
- </td><td class="memItemRight" valign="bottom"><b>__TBB_DECL_ATOMIC</b> (__TBB_LONG_LONG) __TBB_DECL_ATOMIC(unsigned __TBB_LONG_LONG) __TBB_DECL_ATOMIC(long) __TBB_DECL_ATOMIC(unsigned long) __TBB_DECL_ATOMIC_ALT(unsigned</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ad165cf61abbe349d413df2589679add"></a><!-- doxytag: member="tbb::__TBB_DECL_ATOMIC_ALT" ref="ad165cf61abbe349d413df2589679add" args="(int, ptrdiff_t) __TBB_DECL_ATOMIC(unsigned) __TBB_DECL_ATOMIC(int) __TBB_DECL_ATOMIC(unsigned short) __TBB_DECL_ATOMIC(short) __TBB_DECL_ATOMIC(char) __TBB_DECL_ATOMIC(signed char) __TBB_DECL_ATOMIC(unsigned char) __TBB_DECL_ATOMIC(wchar_t) template< typename T > st [...]
-size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="a00428.html#ad165cf61abbe349d413df2589679add">__TBB_DECL_ATOMIC_ALT</a> (int, ptrdiff_t) __TBB_DECL_ATOMIC(unsigned) __TBB_DECL_ATOMIC(int) __TBB_DECL_ATOMIC(unsigned short) __TBB_DECL_ATOMIC(short) __TBB_DECL_ATOMIC(char) __TBB_DECL_ATOMIC(signed char) __TBB_DECL_ATOMIC(unsigned char) __TBB_DECL_ATOMIC(wchar_t) template< typename T > struct <a class="el" href="a00266.html">atomic</a>< T * ></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Specialization for atomic<T*> with arithmetic and operator->. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="1ef5059a6b85fad2e4d510a5a095f2a1"></a><!-- doxytag: member="tbb::load" ref="1ef5059a6b85fad2e4d510a5a095f2a1" args="(const atomic< T > &a)" -->
-template<memory_semantics M, typename T> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">T </td><td class="memTemplItemRight" valign="bottom"><b>load</b> (const <a class="el" href="a00266.html">atomic</a>< T > &a)</td></tr>
-
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="0fc5e34a898372157343886babe84045"></a><!-- doxytag: member="tbb::store" ref="0fc5e34a898372157343886babe84045" args="(atomic< T > &a, T value)" -->
-template<memory_semantics M, typename T> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><b>store</b> (<a class="el" href="a00266.html">atomic</a>< T > &a, T value)</td></tr>
-
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="7af9509624a62ea848afe775f892ed12"></a><!-- doxytag: member="tbb::operator==" ref="7af9509624a62ea848afe775f892ed12" args="(const cache_aligned_allocator< T > &, const cache_aligned_allocator< U > &)" -->
-template<typename T, typename U> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><b>operator==</b> (const <a class="el" href="a00276.html">cache_aligned_allocator</a>< T > &, const <a class="el" href="a00276.html">cache_aligned_allocator</a>< U > &)</td></tr>
-
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="426abbf5243087148f5e3767e68c286b"></a><!-- doxytag: member="tbb::operator!=" ref="426abbf5243087148f5e3767e68c286b" args="(const cache_aligned_allocator< T > &, const cache_aligned_allocator< U > &)" -->
-template<typename T, typename U> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><b>operator!=</b> (const <a class="el" href="a00276.html">cache_aligned_allocator</a>< T > &, const <a class="el" href="a00276.html">cache_aligned_allocator</a>< U > &)</td></tr>
-
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="f3609fc523a99c101572fdc68f918d66"></a><!-- doxytag: member="tbb::operator==" ref="f3609fc523a99c101572fdc68f918d66" args="(const concurrent_hash_map< Key, T, HashCompare, A1 > &a, const concurrent_hash_map< Key, T, HashCompare, A2 > &b)" -->
-template<typename Key, typename T, typename HashCompare, typename A1, typename A2> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><b>operator==</b> (const <a class="el" href="a00281.html">concurrent_hash_map</a>< Key, T, HashCompare, A1 > &a, const <a class="el" href="a00281.html">concurrent_hash_map</a>< Key, T, HashCompare, A2 > &b)</td></tr>
-
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="2da30ff86b9a39722f45bc35e1c6934d"></a><!-- doxytag: member="tbb::operator!=" ref="2da30ff86b9a39722f45bc35e1c6934d" args="(const concurrent_hash_map< Key, T, HashCompare, A1 > &a, const concurrent_hash_map< Key, T, HashCompare, A2 > &b)" -->
-template<typename Key, typename T, typename HashCompare, typename A1, typename A2> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><b>operator!=</b> (const <a class="el" href="a00281.html">concurrent_hash_map</a>< Key, T, HashCompare, A1 > &a, const <a class="el" href="a00281.html">concurrent_hash_map</a>< Key, T, HashCompare, A2 > &b)</td></tr>
-
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="817c20df80fe1a933a8557eb76113e24"></a><!-- doxytag: member="tbb::swap" ref="817c20df80fe1a933a8557eb76113e24" args="(concurrent_hash_map< Key, T, HashCompare, A > &a, concurrent_hash_map< Key, T, HashCompare, A > &b)" -->
-template<typename Key, typename T, typename HashCompare, typename A> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><b>swap</b> (<a class="el" href="a00281.html">concurrent_hash_map</a>< Key, T, HashCompare, A > &a, <a class="el" href="a00281.html">concurrent_hash_map</a>< Key, T, HashCompare, A > &b)</td></tr>
-
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="11419db87ac98110907dda08a24f0949"></a><!-- doxytag: member="tbb::operator==" ref="11419db87ac98110907dda08a24f0949" args="(const concurrent_vector< T, A1 > &a, const concurrent_vector< T, A2 > &b)" -->
-template<typename T, class A1, class A2> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><b>operator==</b> (const <a class="el" href="a00288.html">concurrent_vector</a>< T, A1 > &a, const <a class="el" href="a00288.html">concurrent_vector</a>< T, A2 > &b)</td></tr>
-
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="aa9e09f2e9154ffd6658fad8355fb491"></a><!-- doxytag: member="tbb::operator!=" ref="aa9e09f2e9154ffd6658fad8355fb491" args="(const concurrent_vector< T, A1 > &a, const concurrent_vector< T, A2 > &b)" -->
-template<typename T, class A1, class A2> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><b>operator!=</b> (const <a class="el" href="a00288.html">concurrent_vector</a>< T, A1 > &a, const <a class="el" href="a00288.html">concurrent_vector</a>< T, A2 > &b)</td></tr>
-
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="33267dd805415351956d45b4b5347190"></a><!-- doxytag: member="tbb::operator<" ref="33267dd805415351956d45b4b5347190" args="(const concurrent_vector< T, A1 > &a, const concurrent_vector< T, A2 > &b)" -->
-template<typename T, class A1, class A2> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><b>operator<</b> (const <a class="el" href="a00288.html">concurrent_vector</a>< T, A1 > &a, const <a class="el" href="a00288.html">concurrent_vector</a>< T, A2 > &b)</td></tr>
-
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="14e2968ab20cb714bef1f0352fc152f0"></a><!-- doxytag: member="tbb::operator>" ref="14e2968ab20cb714bef1f0352fc152f0" args="(const concurrent_vector< T, A1 > &a, const concurrent_vector< T, A2 > &b)" -->
-template<typename T, class A1, class A2> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><b>operator></b> (const <a class="el" href="a00288.html">concurrent_vector</a>< T, A1 > &a, const <a class="el" href="a00288.html">concurrent_vector</a>< T, A2 > &b)</td></tr>
-
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="0042a36a670a397fb52e713edbaecd0e"></a><!-- doxytag: member="tbb::operator<=" ref="0042a36a670a397fb52e713edbaecd0e" args="(const concurrent_vector< T, A1 > &a, const concurrent_vector< T, A2 > &b)" -->
-template<typename T, class A1, class A2> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><b>operator<=</b> (const <a class="el" href="a00288.html">concurrent_vector</a>< T, A1 > &a, const <a class="el" href="a00288.html">concurrent_vector</a>< T, A2 > &b)</td></tr>
-
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="f70eb1d931473b69ba4bcf93af8baa33"></a><!-- doxytag: member="tbb::operator>=" ref="f70eb1d931473b69ba4bcf93af8baa33" args="(const concurrent_vector< T, A1 > &a, const concurrent_vector< T, A2 > &b)" -->
-template<typename T, class A1, class A2> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><b>operator>=</b> (const <a class="el" href="a00288.html">concurrent_vector</a>< T, A1 > &a, const <a class="el" href="a00288.html">concurrent_vector</a>< T, A2 > &b)</td></tr>
-
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="4a3897ea8d8a48e885d764bd7d370d50"></a><!-- doxytag: member="tbb::swap" ref="4a3897ea8d8a48e885d764bd7d370d50" args="(concurrent_vector< T, A > &a, concurrent_vector< T, A > &b)" -->
-template<typename T, class A> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><b>swap</b> (<a class="el" href="a00288.html">concurrent_vector</a>< T, A > &a, <a class="el" href="a00288.html">concurrent_vector</a>< T, A > &b)</td></tr>
-
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="906ebb461ecb0446989739fd0399e4b8"></a><!-- doxytag: member="tbb::operator==" ref="906ebb461ecb0446989739fd0399e4b8" args="(const scalable_allocator< T > &, const scalable_allocator< U > &)" -->
-template<typename T, typename U> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><b>operator==</b> (const <a class="el" href="a00337.html">scalable_allocator</a>< T > &, const <a class="el" href="a00337.html">scalable_allocator</a>< U > &)</td></tr>
-
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="a92757aca0a69082eb8dc223eb257433"></a><!-- doxytag: member="tbb::operator!=" ref="a92757aca0a69082eb8dc223eb257433" args="(const scalable_allocator< T > &, const scalable_allocator< U > &)" -->
-template<typename T, typename U> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><b>operator!=</b> (const <a class="el" href="a00337.html">scalable_allocator</a>< T > &, const <a class="el" href="a00337.html">scalable_allocator</a>< U > &)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7e2f5baabe173fbf48e94fb9058f1b41"></a><!-- doxytag: member="tbb::is_current_task_group_canceling" ref="7e2f5baabe173fbf48e94fb9058f1b41" args="()" -->
-bool </td><td class="memItemRight" valign="bottom"><b>is_current_task_group_canceling</b> ()</td></tr>
-
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="3bb9a8b837a9b7c4b5107caf01e81329"></a><!-- doxytag: member="tbb::make_task" ref="3bb9a8b837a9b7c4b5107caf01e81329" args="(const F &f)" -->
-template<class F> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">task_handle< F > </td><td class="memTemplItemRight" valign="bottom"><b>make_task</b> (const F &f)</td></tr>
-
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="c8a46d6c0fe474eb399d0d09c27a4685"></a><!-- doxytag: member="tbb::operator==" ref="c8a46d6c0fe474eb399d0d09c27a4685" args="(const tbb_allocator< T > &, const tbb_allocator< U > &)" -->
-template<typename T, typename U> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><b>operator==</b> (const <a class="el" href="a00356.html">tbb_allocator</a>< T > &, const <a class="el" href="a00356.html">tbb_allocator</a>< U > &)</td></tr>
-
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="3d9665c21c894f06f1614947103dc9d6"></a><!-- doxytag: member="tbb::operator!=" ref="3d9665c21c894f06f1614947103dc9d6" args="(const tbb_allocator< T > &, const tbb_allocator< U > &)" -->
-template<typename T, typename U> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><b>operator!=</b> (const <a class="el" href="a00356.html">tbb_allocator</a>< T > &, const <a class="el" href="a00356.html">tbb_allocator</a>< U > &)</td></tr>
-
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="b64fb7e52f0049b5a103cbb6fb5814f0"></a><!-- doxytag: member="tbb::operator==" ref="b64fb7e52f0049b5a103cbb6fb5814f0" args="(const zero_allocator< T1, B1 > &a, const zero_allocator< T2, B2 > &b)" -->
-template<typename T1, template< typename X1 > class B1, typename T2, template< typename X2 > class B2> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><b>operator==</b> (const <a class="el" href="a00366.html">zero_allocator</a>< T1, B1 > &a, const <a class="el" href="a00366.html">zero_allocator</a>< T2, B2 > &b)</td></tr>
-
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="ae43b5151d0220fe3ade0b447cd64f0d"></a><!-- doxytag: member="tbb::operator!=" ref="ae43b5151d0220fe3ade0b447cd64f0d" args="(const zero_allocator< T1, B1 > &a, const zero_allocator< T2, B2 > &b)" -->
-template<typename T1, template< typename X1 > class B1, typename T2, template< typename X2 > class B2> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><b>operator!=</b> (const <a class="el" href="a00366.html">zero_allocator</a>< T1, B1 > &a, const <a class="el" href="a00366.html">zero_allocator</a>< T2, B2 > &b)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="250275615f10d5b5de6ad466ae2f54de"></a><!-- doxytag: member="tbb::atomic_fence" ref="250275615f10d5b5de6ad466ae2f54de" args="()" -->
-void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00428.html#250275615f10d5b5de6ad466ae2f54de">atomic_fence</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Sequentially consistent full memory fence. <br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int __TBB_EXPORTED_FUNC </td><td class="memItemRight" valign="bottom"><a class="el" href="a00428.html#a6858b22e90041c9c4669674ff39b056">TBB_runtime_interface_version</a> ()</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">The function returns the interface version of the TBB shared library being used.  <a href="#a6858b22e90041c9c4669674ff39b056"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6a42aa5dbcf06ba86c71efb73d8311c3"></a><!-- doxytag: member="tbb::operator-" ref="6a42aa5dbcf06ba86c71efb73d8311c3" args="(const tick_count &t1, const tick_count &t0)" -->
-<a class="el" href="a00363.html">tick_count::interval_t</a> </td><td class="memItemRight" valign="bottom"><b>operator-</b> (const <a class="el" href="a00362.html">tick_count</a> &t1, const <a class="el" href="a00362.html">tick_count</a> &t0)</td></tr>
-
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-The namespace tbb contains all components of the library. 
-<p>
-This header provides basic platform abstraction layer by hooking up appropriate architecture/OS/compiler specific headers from the /include/tbb/machine directory. If a plug-in header does not implement all the required APIs, it must specify the missing ones by setting one or more of the following macros:<p>
-__TBB_USE_GENERIC_PART_WORD_CAS __TBB_USE_GENERIC_PART_WORD_FETCH_ADD __TBB_USE_GENERIC_PART_WORD_FETCH_STORE __TBB_USE_GENERIC_FETCH_ADD __TBB_USE_GENERIC_FETCH_STORE __TBB_USE_GENERIC_DWORD_FETCH_ADD __TBB_USE_GENERIC_DWORD_FETCH_STORE __TBB_USE_GENERIC_HALF_FENCED_LOAD_STORE __TBB_USE_GENERIC_FULL_FENCED_LOAD_STORE __TBB_USE_GENERIC_RELAXED_LOAD_STORE __TBB_USE_FETCHSTORE_AS_FULL_FENCED_STORE<p>
-In this case tbb_machine.h will add missing functionality based on a minimal set of APIs that are required to be implemented by all plug-n headers as described further. Note that these generic implementations may be sub-optimal for a particular architecture, and thus should be relied upon only after careful evaluation or as the last resort.<p>
-Additionally __TBB_64BIT_ATOMICS can be set to 0 on a 32-bit architecture to indicate that the port is not going to support double word atomics. It may also be set to 1 explicitly, though normally this is not necessary as tbb_machine.h will set it automatically.<p>
-__TBB_ENDIANNESS macro can be defined by the implementation as well. It is used only if __TBB_USE_GENERIC_PART_WORD_CAS is set (or for testing), and must specify the layout of aligned 16-bit and 32-bit data anywhere within a process (while the details of unaligned 16-bit or 32-bit data or of 64-bit data are irrelevant). The layout must be the same at all relevant memory locations within the current process; in case of page-specific endianness, one endianness must be kept "out of sight".  [...]
-<li>__TBB_ENDIAN_BIG for big-endian data,</li><li>__TBB_ENDIAN_LITTLE for little-endian data,</li><li>__TBB_ENDIAN_DETECT for run-time detection iff exactly one of the above,</li><li>__TBB_ENDIAN_UNSUPPORTED to prevent undefined behavior if none of the above.</li></ul>
-<p>
-Prerequisites for each architecture port ---------------------------------------- The following functions and macros have no generic implementation. Therefore they must be implemented in each machine architecture specific header either as a conventional function or as a functional macro.<p>
-__TBB_WORDSIZE This is the size of machine word in bytes, i.e. for 32 bit systems it should be defined to 4.<p>
-__TBB_Yield() Signals OS that the current thread is willing to relinquish the remainder of its time quantum.<p>
-__TBB_full_memory_fence() Must prevent all memory operations from being reordered across it (both by hardware and compiler). All such fences must be totally ordered (or sequentially consistent).<p>
-__TBB_machine_cmpswp4( volatile void *ptr, int32_t value, int32_t comparand ) Must be provided if __TBB_USE_FENCED_ATOMICS is not set.<p>
-__TBB_machine_cmpswp8( volatile void *ptr, int32_t value, int64_t comparand ) Must be provided for 64-bit architectures if __TBB_USE_FENCED_ATOMICS is not set, and for 32-bit architectures if __TBB_64BIT_ATOMICS is set<p>
-__TBB_machine_<op><S><fence>(...), where <op> = {cmpswp, fetchadd, fetchstore} <S> = {1, 2, 4, 8} <fence> = {full_fence, acquire, release, relaxed} Must be provided if __TBB_USE_FENCED_ATOMICS is set.<p>
-__TBB_control_consistency_helper() Bridges the memory-semantics gap between architectures providing only implicit C++0x "consume" semantics (like Power Architecture) and those also implicitly obeying control dependencies (like IA-64 architecture). It must be used only in conditional code where the condition is itself data-dependent, and will then make subsequent code behave as if the original data dependency were acquired. It needs only a compiler fence where implied by the architecture  [...]
-__TBB_acquire_consistency_helper(), __TBB_release_consistency_helper() Must be provided if __TBB_USE_GENERIC_HALF_FENCED_LOAD_STORE is set. Enforce acquire and release semantics in generic implementations of fenced store and load operations. Depending on the particular architecture/compiler combination they may be a hardware fence, a compiler fence, both or nothing. 
-<p>
-<hr><h2>Enumeration Type Documentation</h2>
-<a class="anchor" name="a8686246bb5d3664bd07563749970fef"></a><!-- doxytag: member="tbb::memory_semantics" ref="a8686246bb5d3664bd07563749970fef" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">enum <a class="el" href="a00428.html#a8686246bb5d3664bd07563749970fef">tbb::memory_semantics</a>          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Specifies memory semantics. 
-<p>
-<dl compact><dt><b>Enumerator: </b></dt><dd>
-<table border="0" cellspacing="2" cellpadding="0">
-<tr><td valign="top"><em><a class="anchor" name="a8686246bb5d3664bd07563749970fef07b959f69a4f70d821c67b85316803ff"></a><!-- doxytag: member="full_fence" ref="a8686246bb5d3664bd07563749970fef07b959f69a4f70d821c67b85316803ff" args="" -->full_fence</em> </td><td>
-Sequential consistency. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="a8686246bb5d3664bd07563749970fef5f1fafe8d229d348ff91d937f64e79c7"></a><!-- doxytag: member="acquire" ref="a8686246bb5d3664bd07563749970fef5f1fafe8d229d348ff91d937f64e79c7" args="" -->acquire</em> </td><td>
-Acquire. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="a8686246bb5d3664bd07563749970fefaa1fa107db0245c41fb109d976ae8d70"></a><!-- doxytag: member="release" ref="a8686246bb5d3664bd07563749970fefaa1fa107db0245c41fb109d976ae8d70" args="" -->release</em> </td><td>
-Release. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="a8686246bb5d3664bd07563749970fefaba4b1574646947f1b519188a93c1900"></a><!-- doxytag: member="relaxed" ref="a8686246bb5d3664bd07563749970fefaba4b1574646947f1b519188a93c1900" args="" -->relaxed</em> </td><td>
-No ordering. </td></tr>
-</table>
-</dl>
-
-</div>
-</div><p>
-<hr><h2>Function Documentation</h2>
-<a class="anchor" name="a6858b22e90041c9c4669674ff39b056"></a><!-- doxytag: member="tbb::TBB_runtime_interface_version" ref="a6858b22e90041c9c4669674ff39b056" args="()" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int __TBB_EXPORTED_FUNC tbb::TBB_runtime_interface_version           </td>
-          <td>(</td>
-          <td class="paramname">          </td>
-          <td> ) </td>
-          <td width="100%"></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-The function returns the interface version of the TBB shared library being used. 
-<p>
-The version it returns is determined at runtime, not at compile/link time. So it can be different than the value of TBB_INTERFACE_VERSION obtained at compile time. 
-</div>
-</div><p>
-<hr>
-<p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
-<p></p>
-Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
-registered trademarks or trademarks of Intel Corporation or its
-subsidiaries in the United States and other countries.
-<p></p>
-* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00441.html b/doc/html/a00441.html
deleted file mode 100644
index e70da03..0000000
--- a/doc/html/a00441.html
+++ /dev/null
@@ -1,369 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Algorithms</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
-  <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<h1>Algorithms</h1><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00271.html">tbb::blocked_range< Value ></a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">A range over which to iterate.  <a href="a00271.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00272.html">tbb::blocked_range2d< RowValue, ColValue ></a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">A 2-dimensional range that models the Range concept.  <a href="a00272.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00273.html">tbb::blocked_range3d< PageValue, RowValue, ColValue ></a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">A 3-dimensional range that models the Range concept.  <a href="a00273.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00323.html">tbb::pre_scan_tag</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Used to indicate that the initial scan is being performed.  <a href="a00323.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00296.html">tbb::final_scan_tag</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Used to indicate that the final scan is being performed.  <a href="a00296.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00320.html">tbb::parallel_while< Body ></a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration over a stream, with optional addition of more work.  <a href="a00320.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00341.html">tbb::simple_partitioner</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">A simple partitioner.  <a href="a00341.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00269.html">tbb::auto_partitioner</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">An auto partitioner.  <a href="a00269.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00294.html">tbb::filter</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">A stage in a pipeline.  <a href="a00294.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00361.html">tbb::thread_bound_filter</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">A stage in a pipeline served by a user thread.  <a href="a00361.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00322.html">tbb::pipeline</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">A processing pipeline that applies filters to items.  <a href="a00322.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00347.html">tbb::split</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Dummy type that distinguishes splitting constructor from copy constructor.  <a href="a00347.html#_details">More...</a><br></td></tr>
-<tr><td colspan="2"><br><h2>parallel_do</h2></td></tr>
-<tr><td colspan="2">See also requirements on <a class="el" href="parallel_do_body_req.html">parallel_do Body</a>. <br><br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="g3383e2703977012b6f384d673410f1f7"></a><!-- doxytag: member="algorithms::parallel_do" ref="g3383e2703977012b6f384d673410f1f7" args="(Iterator first, Iterator last, const Body &body)" -->
-template<typename Iterator, typename Body> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00441.html#g3383e2703977012b6f384d673410f1f7">tbb::parallel_do</a> (Iterator first, Iterator last, const Body &body)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration over a range, with optional addition of more work. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="g2617dc9b88b3285a7212599d49f74228"></a><!-- doxytag: member="algorithms::parallel_do" ref="g2617dc9b88b3285a7212599d49f74228" args="(Iterator first, Iterator last, const Body &body, task_group_context &context)" -->
-template<typename Iterator, typename Body> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00441.html#g2617dc9b88b3285a7212599d49f74228">tbb::parallel_do</a> (Iterator first, Iterator last, const Body &body, task_group_context &context)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration over a range, with optional addition of more work and user-supplied context. <br></td></tr>
-<tr><td colspan="2"><br><h2>parallel_for</h2></td></tr>
-<tr><td colspan="2">See also requirements on <a class="el" href="range_req.html">Range</a> and <a class="el" href="parallel_for_body_req.html">parallel_for Body</a>. <br><br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="g68cc046ef72c42ce205fccbc435a0d81"></a><!-- doxytag: member="algorithms::parallel_for" ref="g68cc046ef72c42ce205fccbc435a0d81" args="(const Range &range, const Body &body)" -->
-template<typename Range, typename Body> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00441.html#g68cc046ef72c42ce205fccbc435a0d81">tbb::parallel_for</a> (const Range &range, const Body &body)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration over range with default partitioner. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="g13cac5dd55c7533bccea43a51c33d0e5"></a><!-- doxytag: member="algorithms::parallel_for" ref="g13cac5dd55c7533bccea43a51c33d0e5" args="(const Range &range, const Body &body, const simple_partitioner &partitioner)" -->
-template<typename Range, typename Body> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00441.html#g13cac5dd55c7533bccea43a51c33d0e5">tbb::parallel_for</a> (const Range &range, const Body &body, const simple_partitioner &partitioner)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration over range with simple partitioner. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="ga7ac75d532389b55b9247f3fdb0b00d1"></a><!-- doxytag: member="algorithms::parallel_for" ref="ga7ac75d532389b55b9247f3fdb0b00d1" args="(const Range &range, const Body &body, const auto_partitioner &partitioner)" -->
-template<typename Range, typename Body> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00441.html#ga7ac75d532389b55b9247f3fdb0b00d1">tbb::parallel_for</a> (const Range &range, const Body &body, const auto_partitioner &partitioner)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration over range with <a class="el" href="a00269.html">auto_partitioner</a>. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="g9cd1b210ceb1c040f30e390b4a21bde8"></a><!-- doxytag: member="algorithms::parallel_for" ref="g9cd1b210ceb1c040f30e390b4a21bde8" args="(const Range &range, const Body &body, affinity_partitioner &partitioner)" -->
-template<typename Range, typename Body> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00441.html#g9cd1b210ceb1c040f30e390b4a21bde8">tbb::parallel_for</a> (const Range &range, const Body &body, affinity_partitioner &partitioner)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration over range with <a class="el" href="a00261.html">affinity_partitioner</a>. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="g8a1bab34022d4990e49e287a129529fa"></a><!-- doxytag: member="algorithms::parallel_for" ref="g8a1bab34022d4990e49e287a129529fa" args="(const Range &range, const Body &body, task_group_context &context)" -->
-template<typename Range, typename Body> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00441.html#g8a1bab34022d4990e49e287a129529fa">tbb::parallel_for</a> (const Range &range, const Body &body, task_group_context &context)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration over range with default partitioner and user-supplied context. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="g2d317a5e0078cd193125439fed60dfdc"></a><!-- doxytag: member="algorithms::parallel_for" ref="g2d317a5e0078cd193125439fed60dfdc" args="(const Range &range, const Body &body, const simple_partitioner &partitioner, task_group_context &context)" -->
-template<typename Range, typename Body> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00441.html#g2d317a5e0078cd193125439fed60dfdc">tbb::parallel_for</a> (const Range &range, const Body &body, const simple_partitioner &partitioner, task_group_context &context)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration over range with simple partitioner and user-supplied context. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="g1c0700e3f85e83a788ff3ede88ebb7e9"></a><!-- doxytag: member="algorithms::parallel_for" ref="g1c0700e3f85e83a788ff3ede88ebb7e9" args="(const Range &range, const Body &body, const auto_partitioner &partitioner, task_group_context &context)" -->
-template<typename Range, typename Body> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00441.html#g1c0700e3f85e83a788ff3ede88ebb7e9">tbb::parallel_for</a> (const Range &range, const Body &body, const auto_partitioner &partitioner, task_group_context &context)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration over range with <a class="el" href="a00269.html">auto_partitioner</a> and user-supplied context. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="g04b4696b67370c01353ff5974c8f1196"></a><!-- doxytag: member="algorithms::parallel_for" ref="g04b4696b67370c01353ff5974c8f1196" args="(const Range &range, const Body &body, affinity_partitioner &partitioner, task_group_context &context)" -->
-template<typename Range, typename Body> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00441.html#g04b4696b67370c01353ff5974c8f1196">tbb::parallel_for</a> (const Range &range, const Body &body, affinity_partitioner &partitioner, task_group_context &context)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration over range with <a class="el" href="a00261.html">affinity_partitioner</a> and user-supplied context. <br></td></tr>
-<tr><td colspan="2"><br><h2>parallel_for_each</h2></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="gcd40c32f319747e61a8f73fcfc452001"></a><!-- doxytag: member="algorithms::parallel_for_each" ref="gcd40c32f319747e61a8f73fcfc452001" args="(InputIterator first, InputIterator last, const Function &f, task_group_context &context)" -->
-template<typename InputIterator, typename Function> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00441.html#gcd40c32f319747e61a8f73fcfc452001">tbb::parallel_for_each</a> (InputIterator first, InputIterator last, const Function &f, task_group_context &context)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Calls function f for all items from [first, last) interval using user-supplied context. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="gc2d710ca573f0a9bd94379cba3772def"></a><!-- doxytag: member="algorithms::parallel_for_each" ref="gc2d710ca573f0a9bd94379cba3772def" args="(InputIterator first, InputIterator last, const Function &f)" -->
-template<typename InputIterator, typename Function> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00441.html#gc2d710ca573f0a9bd94379cba3772def">tbb::parallel_for_each</a> (InputIterator first, InputIterator last, const Function &f)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Uses default context. <br></td></tr>
-<tr><td colspan="2"><br><h2>parallel_invoke</h2></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="gd3e2998f171494f94c2103f4eb924084"></a><!-- doxytag: member="algorithms::parallel_invoke" ref="gd3e2998f171494f94c2103f4eb924084" args="(const F0 &f0, const F1 &f1, tbb::task_group_context &context)" -->
-template<typename F0, typename F1> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00441.html#gd3e2998f171494f94c2103f4eb924084">tbb::parallel_invoke</a> (const F0 &f0, const F1 &f1, <a class="el" href="a00353.html">tbb::task_group_context</a> &context)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Executes a list of tasks in parallel and waits for all tasks to complete. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="g4eb73562e4145c8343ed9f996267f039"></a><!-- doxytag: member="algorithms::parallel_invoke" ref="g4eb73562e4145c8343ed9f996267f039" args="(const F0 &f0, const F1 &f1, const F2 &f2, tbb::task_group_context &context)" -->
-template<typename F0, typename F1, typename F2> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><b>tbb::parallel_invoke</b> (const F0 &f0, const F1 &f1, const F2 &f2, <a class="el" href="a00353.html">tbb::task_group_context</a> &context)</td></tr>
-
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="gd1335c4b54fbf8d3f5be6a5c255c8c60"></a><!-- doxytag: member="algorithms::parallel_invoke" ref="gd1335c4b54fbf8d3f5be6a5c255c8c60" args="(const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3, tbb::task_group_context &context)" -->
-template<typename F0, typename F1, typename F2, typename F3> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><b>tbb::parallel_invoke</b> (const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3, <a class="el" href="a00353.html">tbb::task_group_context</a> &context)</td></tr>
-
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="g40b88e3db7ecb09cbfe0230ea1c24030"></a><!-- doxytag: member="algorithms::parallel_invoke" ref="g40b88e3db7ecb09cbfe0230ea1c24030" args="(const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3, const F4 &f4, tbb::task_group_context &context)" -->
-template<typename F0, typename F1, typename F2, typename F3, typename F4> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><b>tbb::parallel_invoke</b> (const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3, const F4 &f4, <a class="el" href="a00353.html">tbb::task_group_context</a> &context)</td></tr>
-
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="g98a8b388f7e0b7621a964a8c23752d1d"></a><!-- doxytag: member="algorithms::parallel_invoke" ref="g98a8b388f7e0b7621a964a8c23752d1d" args="(const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3, const F4 &f4, const F5 &f5, tbb::task_group_context &context)" -->
-template<typename F0, typename F1, typename F2, typename F3, typename F4, typename F5> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><b>tbb::parallel_invoke</b> (const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3, const F4 &f4, const F5 &f5, <a class="el" href="a00353.html">tbb::task_group_context</a> &context)</td></tr>
-
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="gb95f31638bdde9d909361ad2e96a93eb"></a><!-- doxytag: member="algorithms::parallel_invoke" ref="gb95f31638bdde9d909361ad2e96a93eb" args="(const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3, const F4 &f4, const F5 &f5, const F6 &f6, tbb::task_group_context &context)" -->
-template<typename F0, typename F1, typename F2, typename F3, typename F4, typename F5, typename F6> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><b>tbb::parallel_invoke</b> (const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3, const F4 &f4, const F5 &f5, const F6 &f6, <a class="el" href="a00353.html">tbb::task_group_context</a> &context)</td></tr>
-
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="g1655b24786f010ee0a008907a07bb61d"></a><!-- doxytag: member="algorithms::parallel_invoke" ref="g1655b24786f010ee0a008907a07bb61d" args="(const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3, const F4 &f4, const F5 &f5, const F6 &f6, const F7 &f7, tbb::task_group_context &context)" -->
-template<typename F0, typename F1, typename F2, typename F3, typename F4, typename F5, typename F6, typename F7> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><b>tbb::parallel_invoke</b> (const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3, const F4 &f4, const F5 &f5, const F6 &f6, const F7 &f7, <a class="el" href="a00353.html">tbb::task_group_context</a> &context)</td></tr>
-
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="g105220f1c95f9888b696a3e47027527b"></a><!-- doxytag: member="algorithms::parallel_invoke" ref="g105220f1c95f9888b696a3e47027527b" args="(const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3, const F4 &f4, const F5 &f5, const F6 &f6, const F7 &f7, const F8 &f8, tbb::task_group_context &context)" -->
-template<typename F0, typename F1, typename F2, typename F3, typename F4, typename F5, typename F6, typename F7, typename F8> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><b>tbb::parallel_invoke</b> (const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3, const F4 &f4, const F5 &f5, const F6 &f6, const F7 &f7, const F8 &f8, <a class="el" href="a00353.html">tbb::task_group_context</a> &context)</td></tr>
-
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="g1ef1774e0fcc4f632fe0af2591781c4c"></a><!-- doxytag: member="algorithms::parallel_invoke" ref="g1ef1774e0fcc4f632fe0af2591781c4c" args="(const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3, const F4 &f4, const F5 &f5, const F6 &f6, const F7 &f7, const F8 &f8, const F9 &f9, tbb::task_group_context &context)" -->
-template<typename F0, typename F1, typename F2, typename F3, typename F4, typename F5, typename F6, typename F7, typename F8, typename F9> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><b>tbb::parallel_invoke</b> (const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3, const F4 &f4, const F5 &f5, const F6 &f6, const F7 &f7, const F8 &f8, const F9 &f9, <a class="el" href="a00353.html">tbb::task_group_context</a> &context)</td></tr>
-
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="ge832d8ad8b246c884e3c897ed63f8216"></a><!-- doxytag: member="algorithms::parallel_invoke" ref="ge832d8ad8b246c884e3c897ed63f8216" args="(const F0 &f0, const F1 &f1)" -->
-template<typename F0, typename F1> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><b>tbb::parallel_invoke</b> (const F0 &f0, const F1 &f1)</td></tr>
-
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="gb91fec4e7ba49754ad583ccb127afc66"></a><!-- doxytag: member="algorithms::parallel_invoke" ref="gb91fec4e7ba49754ad583ccb127afc66" args="(const F0 &f0, const F1 &f1, const F2 &f2)" -->
-template<typename F0, typename F1, typename F2> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><b>tbb::parallel_invoke</b> (const F0 &f0, const F1 &f1, const F2 &f2)</td></tr>
-
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="g421d0f66ee69eea134a35d1ae371d8d6"></a><!-- doxytag: member="algorithms::parallel_invoke" ref="g421d0f66ee69eea134a35d1ae371d8d6" args="(const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3)" -->
-template<typename F0, typename F1, typename F2, typename F3> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><b>tbb::parallel_invoke</b> (const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3)</td></tr>
-
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="g8aacce74d691b4f44a0f7becadd9578c"></a><!-- doxytag: member="algorithms::parallel_invoke" ref="g8aacce74d691b4f44a0f7becadd9578c" args="(const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3, const F4 &f4)" -->
-template<typename F0, typename F1, typename F2, typename F3, typename F4> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><b>tbb::parallel_invoke</b> (const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3, const F4 &f4)</td></tr>
-
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="g8cc6994f7cd6eaf25feb5d7cc04a2e64"></a><!-- doxytag: member="algorithms::parallel_invoke" ref="g8cc6994f7cd6eaf25feb5d7cc04a2e64" args="(const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3, const F4 &f4, const F5 &f5)" -->
-template<typename F0, typename F1, typename F2, typename F3, typename F4, typename F5> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><b>tbb::parallel_invoke</b> (const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3, const F4 &f4, const F5 &f5)</td></tr>
-
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="g995ba9583ae24bddb8bd9a599cc8b4c7"></a><!-- doxytag: member="algorithms::parallel_invoke" ref="g995ba9583ae24bddb8bd9a599cc8b4c7" args="(const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3, const F4 &f4, const F5 &f5, const F6 &f6)" -->
-template<typename F0, typename F1, typename F2, typename F3, typename F4, typename F5, typename F6> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><b>tbb::parallel_invoke</b> (const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3, const F4 &f4, const F5 &f5, const F6 &f6)</td></tr>
-
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="g34341a4c24c6f548886cd14077374c5c"></a><!-- doxytag: member="algorithms::parallel_invoke" ref="g34341a4c24c6f548886cd14077374c5c" args="(const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3, const F4 &f4, const F5 &f5, const F6 &f6, const F7 &f7)" -->
-template<typename F0, typename F1, typename F2, typename F3, typename F4, typename F5, typename F6, typename F7> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><b>tbb::parallel_invoke</b> (const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3, const F4 &f4, const F5 &f5, const F6 &f6, const F7 &f7)</td></tr>
-
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="g2a11342753488d460866d48370a69517"></a><!-- doxytag: member="algorithms::parallel_invoke" ref="g2a11342753488d460866d48370a69517" args="(const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3, const F4 &f4, const F5 &f5, const F6 &f6, const F7 &f7, const F8 &f8)" -->
-template<typename F0, typename F1, typename F2, typename F3, typename F4, typename F5, typename F6, typename F7, typename F8> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><b>tbb::parallel_invoke</b> (const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3, const F4 &f4, const F5 &f5, const F6 &f6, const F7 &f7, const F8 &f8)</td></tr>
-
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="gffcf6835ceee43455f310352a3b4faa5"></a><!-- doxytag: member="algorithms::parallel_invoke" ref="gffcf6835ceee43455f310352a3b4faa5" args="(const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3, const F4 &f4, const F5 &f5, const F6 &f6, const F7 &f7, const F8 &f8, const F9 &f9)" -->
-template<typename F0, typename F1, typename F2, typename F3, typename F4, typename F5, typename F6, typename F7, typename F8, typename F9> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><b>tbb::parallel_invoke</b> (const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3, const F4 &f4, const F5 &f5, const F6 &f6, const F7 &f7, const F8 &f8, const F9 &f9)</td></tr>
-
-<tr><td colspan="2"><br><h2>parallel_reduce</h2></td></tr>
-<tr><td colspan="2">See also requirements on <a class="el" href="range_req.html">Range</a> and <a class="el" href="parallel_reduce_body_req.html">parallel_reduce Body</a>. <br><br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="g1b3d59c5eb62683c5754db6970392fa3"></a><!-- doxytag: member="algorithms::parallel_reduce" ref="g1b3d59c5eb62683c5754db6970392fa3" args="(const Range &range, Body &body)" -->
-template<typename Range, typename Body> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00441.html#g1b3d59c5eb62683c5754db6970392fa3">tbb::parallel_reduce</a> (const Range &range, Body &body)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration with reduction and default partitioner. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="gec1b7c03f9da909bef5db12e3d41bed3"></a><!-- doxytag: member="algorithms::parallel_reduce" ref="gec1b7c03f9da909bef5db12e3d41bed3" args="(const Range &range, Body &body, const simple_partitioner &partitioner)" -->
-template<typename Range, typename Body> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00441.html#gec1b7c03f9da909bef5db12e3d41bed3">tbb::parallel_reduce</a> (const Range &range, Body &body, const simple_partitioner &partitioner)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration with reduction and <a class="el" href="a00341.html">simple_partitioner</a>. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="g18a19157e6245992fc00ca0adeb7dd37"></a><!-- doxytag: member="algorithms::parallel_reduce" ref="g18a19157e6245992fc00ca0adeb7dd37" args="(const Range &range, Body &body, const auto_partitioner &partitioner)" -->
-template<typename Range, typename Body> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00441.html#g18a19157e6245992fc00ca0adeb7dd37">tbb::parallel_reduce</a> (const Range &range, Body &body, const auto_partitioner &partitioner)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration with reduction and <a class="el" href="a00269.html">auto_partitioner</a>. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="gc61e73fcc36c92d79a217fc355ff4a6b"></a><!-- doxytag: member="algorithms::parallel_reduce" ref="gc61e73fcc36c92d79a217fc355ff4a6b" args="(const Range &range, Body &body, affinity_partitioner &partitioner)" -->
-template<typename Range, typename Body> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00441.html#gc61e73fcc36c92d79a217fc355ff4a6b">tbb::parallel_reduce</a> (const Range &range, Body &body, affinity_partitioner &partitioner)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration with reduction and <a class="el" href="a00261.html">affinity_partitioner</a>. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="g45cb00c42a18e334bbde8b7535afe460"></a><!-- doxytag: member="algorithms::parallel_reduce" ref="g45cb00c42a18e334bbde8b7535afe460" args="(const Range &range, Body &body, const simple_partitioner &partitioner, task_group_context &context)" -->
-template<typename Range, typename Body> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00441.html#g45cb00c42a18e334bbde8b7535afe460">tbb::parallel_reduce</a> (const Range &range, Body &body, const simple_partitioner &partitioner, task_group_context &context)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration with reduction, simple partitioner and user-supplied context. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="g1c1ea1d7c61b3c225e92c70d669a53a5"></a><!-- doxytag: member="algorithms::parallel_reduce" ref="g1c1ea1d7c61b3c225e92c70d669a53a5" args="(const Range &range, Body &body, const auto_partitioner &partitioner, task_group_context &context)" -->
-template<typename Range, typename Body> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00441.html#g1c1ea1d7c61b3c225e92c70d669a53a5">tbb::parallel_reduce</a> (const Range &range, Body &body, const auto_partitioner &partitioner, task_group_context &context)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration with reduction, <a class="el" href="a00269.html">auto_partitioner</a> and user-supplied context. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="gd9ac3a3811060314695f33b703c6e11b"></a><!-- doxytag: member="algorithms::parallel_reduce" ref="gd9ac3a3811060314695f33b703c6e11b" args="(const Range &range, Body &body, affinity_partitioner &partitioner, task_group_context &context)" -->
-template<typename Range, typename Body> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00441.html#gd9ac3a3811060314695f33b703c6e11b">tbb::parallel_reduce</a> (const Range &range, Body &body, affinity_partitioner &partitioner, task_group_context &context)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration with reduction, <a class="el" href="a00261.html">affinity_partitioner</a> and user-supplied context. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="gc9412e09fb01fcad8c018ea9cffb28ef"></a><!-- doxytag: member="algorithms::parallel_reduce" ref="gc9412e09fb01fcad8c018ea9cffb28ef" args="(const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction)" -->
-template<typename Range, typename Value, typename RealBody, typename Reduction> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">Value </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00441.html#gc9412e09fb01fcad8c018ea9cffb28ef">tbb::parallel_reduce</a> (const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration with reduction and default partitioner. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="gaddffeec0e892ac3d6fc7fc2053e1eca"></a><!-- doxytag: member="algorithms::parallel_reduce" ref="gaddffeec0e892ac3d6fc7fc2053e1eca" args="(const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction, const simple_partitioner &partitioner)" -->
-template<typename Range, typename Value, typename RealBody, typename Reduction> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">Value </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00441.html#gaddffeec0e892ac3d6fc7fc2053e1eca">tbb::parallel_reduce</a> (const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction, const simple_partitioner &partitioner)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration with reduction and <a class="el" href="a00341.html">simple_partitioner</a>. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="gb175401f0729e40dd2c5860a17c14385"></a><!-- doxytag: member="algorithms::parallel_reduce" ref="gb175401f0729e40dd2c5860a17c14385" args="(const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction, const auto_partitioner &partitioner)" -->
-template<typename Range, typename Value, typename RealBody, typename Reduction> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">Value </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00441.html#gb175401f0729e40dd2c5860a17c14385">tbb::parallel_reduce</a> (const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction, const auto_partitioner &partitioner)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration with reduction and <a class="el" href="a00269.html">auto_partitioner</a>. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="gb7f1f1828ae2b330ce05b8513a495154"></a><!-- doxytag: member="algorithms::parallel_reduce" ref="gb7f1f1828ae2b330ce05b8513a495154" args="(const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction, affinity_partitioner &partitioner)" -->
-template<typename Range, typename Value, typename RealBody, typename Reduction> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">Value </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00441.html#gb7f1f1828ae2b330ce05b8513a495154">tbb::parallel_reduce</a> (const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction, affinity_partitioner &partitioner)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration with reduction and <a class="el" href="a00261.html">affinity_partitioner</a>. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="gfbc0cc2026d87f11a96bcd62788f5bb5"></a><!-- doxytag: member="algorithms::parallel_reduce" ref="gfbc0cc2026d87f11a96bcd62788f5bb5" args="(const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction, const simple_partitioner &partitioner, task_group_context &context)" -->
-template<typename Range, typename Value, typename RealBody, typename Reduction> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">Value </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00441.html#gfbc0cc2026d87f11a96bcd62788f5bb5">tbb::parallel_reduce</a> (const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction, const simple_partitioner &partitioner, task_group_context &context)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration with reduction, simple partitioner and user-supplied context. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="g630c90a399937d9d4ae70ff883186dfd"></a><!-- doxytag: member="algorithms::parallel_reduce" ref="g630c90a399937d9d4ae70ff883186dfd" args="(const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction, const auto_partitioner &partitioner, task_group_context &context)" -->
-template<typename Range, typename Value, typename RealBody, typename Reduction> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">Value </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00441.html#g630c90a399937d9d4ae70ff883186dfd">tbb::parallel_reduce</a> (const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction, const auto_partitioner &partitioner, task_group_context &context)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration with reduction, <a class="el" href="a00269.html">auto_partitioner</a> and user-supplied context. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="g496bd7eadb3b97495ccb5655ef90319e"></a><!-- doxytag: member="algorithms::parallel_reduce" ref="g496bd7eadb3b97495ccb5655ef90319e" args="(const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction, affinity_partitioner &partitioner, task_group_context &context)" -->
-template<typename Range, typename Value, typename RealBody, typename Reduction> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">Value </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00441.html#g496bd7eadb3b97495ccb5655ef90319e">tbb::parallel_reduce</a> (const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction, affinity_partitioner &partitioner, task_group_context &context)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration with reduction, <a class="el" href="a00261.html">affinity_partitioner</a> and user-supplied context. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="g873006cc80868b5b4604822bf100ddeb"></a><!-- doxytag: member="algorithms::parallel_deterministic_reduce" ref="g873006cc80868b5b4604822bf100ddeb" args="(const Range &range, Body &body)" -->
-template<typename Range, typename Body> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00441.html#g873006cc80868b5b4604822bf100ddeb">tbb::parallel_deterministic_reduce</a> (const Range &range, Body &body)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration with deterministic reduction and default partitioner. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="gfd08c56b3a98d4437dadc5365326928a"></a><!-- doxytag: member="algorithms::parallel_deterministic_reduce" ref="gfd08c56b3a98d4437dadc5365326928a" args="(const Range &range, Body &body, task_group_context &context)" -->
-template<typename Range, typename Body> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00441.html#gfd08c56b3a98d4437dadc5365326928a">tbb::parallel_deterministic_reduce</a> (const Range &range, Body &body, task_group_context &context)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration with deterministic reduction, simple partitioner and user-supplied context. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="g3edb17bb1967c291d227556e0e47e507"></a><!-- doxytag: member="algorithms::parallel_deterministic_reduce" ref="g3edb17bb1967c291d227556e0e47e507" args="(const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction)" -->
-template<typename Range, typename Value, typename RealBody, typename Reduction> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">Value </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00441.html#g3edb17bb1967c291d227556e0e47e507">tbb::parallel_deterministic_reduce</a> (const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration with deterministic reduction and default partitioner. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="g0a66bc67567b2d01d709b59b9bddf84a"></a><!-- doxytag: member="algorithms::parallel_deterministic_reduce" ref="g0a66bc67567b2d01d709b59b9bddf84a" args="(const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction, task_group_context &context)" -->
-template<typename Range, typename Value, typename RealBody, typename Reduction> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">Value </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00441.html#g0a66bc67567b2d01d709b59b9bddf84a">tbb::parallel_deterministic_reduce</a> (const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction, task_group_context &context)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration with deterministic reduction, simple partitioner and user-supplied context. <br></td></tr>
-<tr><td colspan="2"><br><h2>parallel_scan</h2></td></tr>
-<tr><td colspan="2">See also requirements on <a class="el" href="range_req.html">Range</a> and <a class="el" href="parallel_scan_body_req.html">parallel_scan Body</a>. <br><br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="ged143f31dd3d96ded02ab3db915b91c7"></a><!-- doxytag: member="algorithms::parallel_scan" ref="ged143f31dd3d96ded02ab3db915b91c7" args="(const Range &range, Body &body)" -->
-template<typename Range, typename Body> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00441.html#ged143f31dd3d96ded02ab3db915b91c7">tbb::parallel_scan</a> (const Range &range, Body &body)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Parallel prefix with default partitioner. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="gc9fac8870b2e6365fb337014404529df"></a><!-- doxytag: member="algorithms::parallel_scan" ref="gc9fac8870b2e6365fb337014404529df" args="(const Range &range, Body &body, const simple_partitioner &partitioner)" -->
-template<typename Range, typename Body> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00441.html#gc9fac8870b2e6365fb337014404529df">tbb::parallel_scan</a> (const Range &range, Body &body, const simple_partitioner &partitioner)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Parallel prefix with <a class="el" href="a00341.html">simple_partitioner</a>. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="g62fde400a37bbca1a2fddc8e3d22f556"></a><!-- doxytag: member="algorithms::parallel_scan" ref="g62fde400a37bbca1a2fddc8e3d22f556" args="(const Range &range, Body &body, const auto_partitioner &partitioner)" -->
-template<typename Range, typename Body> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00441.html#g62fde400a37bbca1a2fddc8e3d22f556">tbb::parallel_scan</a> (const Range &range, Body &body, const auto_partitioner &partitioner)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Parallel prefix with <a class="el" href="a00269.html">auto_partitioner</a>. <br></td></tr>
-<tr><td colspan="2"><br><h2>parallel_sort</h2></td></tr>
-<tr><td colspan="2">See also requirements on <a class="el" href="parallel_sort_iter_req.html">iterators for parallel_sort</a>. <br><br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2">template<typename RandomAccessIterator, typename Compare> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00441.html#g49edcf9447cd91a9527a3f8e8512b7aa">tbb::parallel_sort</a> (RandomAccessIterator begin, RandomAccessIterator end, const Compare &comp)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Sorts the data in [begin,end) using the given comparator.  <a href="#g49edcf9447cd91a9527a3f8e8512b7aa"></a><br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="g16c3eb77d0e530834c51ce3857f01012"></a><!-- doxytag: member="algorithms::parallel_sort" ref="g16c3eb77d0e530834c51ce3857f01012" args="(RandomAccessIterator begin, RandomAccessIterator end)" -->
-template<typename RandomAccessIterator> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00441.html#g16c3eb77d0e530834c51ce3857f01012">tbb::parallel_sort</a> (RandomAccessIterator begin, RandomAccessIterator end)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Sorts the data in [begin,end) with a default comparator <code>std::less<RandomAccessIterator></code>. <br></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="gc7576f82fdedc8a701a6c17ad9415926"></a><!-- doxytag: member="algorithms::parallel_sort" ref="gc7576f82fdedc8a701a6c17ad9415926" args="(T *begin, T *end)" -->
-template<typename T> </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00441.html#gc7576f82fdedc8a701a6c17ad9415926">tbb::parallel_sort</a> (T *begin, T *end)</td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Sorts the data in the range <code></code>[begin,end) with a default comparator <code>std::less<T></code>. <br></td></tr>
-</table>
-<hr><h2>Function Documentation</h2>
-<a class="anchor" name="g49edcf9447cd91a9527a3f8e8512b7aa"></a><!-- doxytag: member="tbb::parallel_sort" ref="g49edcf9447cd91a9527a3f8e8512b7aa" args="(RandomAccessIterator begin, RandomAccessIterator end, const Compare &comp)" -->
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template<typename RandomAccessIterator, typename Compare> </div>
-      <table class="memname">
-        <tr>
-          <td class="memname">void tbb::parallel_sort           </td>
-          <td>(</td>
-          <td class="paramtype">RandomAccessIterator </td>
-          <td class="paramname"> <em>begin</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">RandomAccessIterator </td>
-          <td class="paramname"> <em>end</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const Compare & </td>
-          <td class="paramname"> <em>comp</em></td><td> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td width="100%"></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Sorts the data in [begin,end) using the given comparator. 
-<p>
-The compare function object is used for all comparisons between elements during sorting. The compare object must define a bool operator() function. 
-</div>
-</div><p>
-<hr>
-<p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
-<p></p>
-Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
-registered trademarks or trademarks of Intel Corporation or its
-subsidiaries in the United States and other countries.
-<p></p>
-* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00442.html b/doc/html/a00442.html
deleted file mode 100644
index 3eab210..0000000
--- a/doc/html/a00442.html
+++ /dev/null
@@ -1,50 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Containers</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
-  <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<h1>Containers</h1><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00279.html">tbb::combinable< T ></a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Thread-local storage with optional reduction.  <a href="a00279.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00281.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Unordered map from Key to T.  <a href="a00281.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00286.html">tbb::strict_ppl::concurrent_queue< T, A ></a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">A high-performance thread-safe non-blocking concurrent queue.  <a href="a00286.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00280.html">tbb::concurrent_bounded_queue< T, A ></a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">A high-performance thread-safe blocking concurrent bounded queue.  <a href="a00280.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00287.html">tbb::deprecated::concurrent_queue< T, A ></a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">A high-performance thread-safe blocking concurrent bounded queue.  <a href="a00287.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00288.html">tbb::concurrent_vector< T, A ></a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Concurrent vector container.  <a href="a00288.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00293.html">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">The <a class="el" href="a00293.html">enumerable_thread_specific</a> container.  <a href="a00293.html#_details">More...</a><br></td></tr>
-</table>
-<hr>
-<p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
-<p></p>
-Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
-registered trademarks or trademarks of Intel Corporation or its
-subsidiaries in the United States and other countries.
-<p></p>
-* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00443.html b/doc/html/a00443.html
deleted file mode 100644
index 15f5e2e..0000000
--- a/doc/html/a00443.html
+++ /dev/null
@@ -1,381 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Memory Allocation</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
-  <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<h1>Memory Allocation</h1><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00265.html">tbb::aligned_space< T, N ></a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Block of space aligned sufficiently to construct an array T with N elements.  <a href="a00265.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00276.html">tbb::cache_aligned_allocator< T ></a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Meets "allocator" requirements of ISO C++ Standard, Section 20.1.5.  <a href="a00276.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00277.html">tbb::cache_aligned_allocator< void ></a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Analogous to std::allocator<void>, as defined in ISO C++ Standard, Section 20.4.1.  <a href="a00277.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00308.html">tbb::interface6::memory_pool_allocator< T, P ></a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Meets "allocator" requirements of ISO C++ Standard, Section 20.1.5.  <a href="a00308.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00309.html">tbb::interface6::memory_pool_allocator< void, P ></a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Analogous to std::allocator<void>, as defined in ISO C++ Standard, Section 20.4.1.  <a href="a00309.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00337.html">tbb::scalable_allocator< T ></a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Meets "allocator" requirements of ISO C++ Standard, Section 20.1.5.  <a href="a00337.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00338.html">tbb::scalable_allocator< void ></a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Analogous to std::allocator<void>, as defined in ISO C++ Standard, Section 20.4.1.  <a href="a00338.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00356.html">tbb::tbb_allocator< T ></a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Meets "allocator" requirements of ISO C++ Standard, Section 20.1.5.  <a href="a00356.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00357.html">tbb::tbb_allocator< void ></a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Analogous to std::allocator<void>, as defined in ISO C++ Standard, Section 20.4.1.  <a href="a00357.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00366.html">tbb::zero_allocator< T, Allocator ></a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Meets "allocator" requirements of ISO C++ Standard, Section 20.1.5.  <a href="a00366.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00367.html">tbb::zero_allocator< void, Allocator ></a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Analogous to std::allocator<void>, as defined in ISO C++ Standard, Section 20.4.1.  <a href="a00367.html#_details">More...</a><br></td></tr>
-<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void *__TBB_EXPORTED_FUNC </td><td class="memItemRight" valign="bottom"><a class="el" href="a00443.html#gc25b8e6c76db0b346a8249796a7a2475">scalable_malloc</a> (size_t size)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void __TBB_EXPORTED_FUNC </td><td class="memItemRight" valign="bottom"><a class="el" href="a00443.html#gca3579c21244dba9f0c351e5984d4565">scalable_free</a> (void *ptr)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void *__TBB_EXPORTED_FUNC </td><td class="memItemRight" valign="bottom"><a class="el" href="a00443.html#g951bbbbd2d041acb59ba5fa910b52543">scalable_realloc</a> (void *ptr, size_t size)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void *__TBB_EXPORTED_FUNC </td><td class="memItemRight" valign="bottom"><a class="el" href="a00443.html#g3f5a2fde0bcaa3eda35be32c8658f444">scalable_calloc</a> (size_t nobj, size_t size)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int __TBB_EXPORTED_FUNC </td><td class="memItemRight" valign="bottom"><a class="el" href="a00443.html#g05dcec987480bb2c82ecdead6a085899">scalable_posix_memalign</a> (void **memptr, size_t alignment, size_t size)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void *__TBB_EXPORTED_FUNC </td><td class="memItemRight" valign="bottom"><a class="el" href="a00443.html#gc1c7aaa1fe85c17ba5a3a96f7e8d89e7">scalable_aligned_malloc</a> (size_t size, size_t alignment)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void *__TBB_EXPORTED_FUNC </td><td class="memItemRight" valign="bottom"><a class="el" href="a00443.html#gbaea91376be80dfabd7c93eaffd9abaa">scalable_aligned_realloc</a> (void *ptr, size_t size, size_t alignment)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void __TBB_EXPORTED_FUNC </td><td class="memItemRight" valign="bottom"><a class="el" href="a00443.html#g65a20e812012f15ec7442d5b45d0cba5">scalable_aligned_free</a> (void *ptr)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">size_t __TBB_EXPORTED_FUNC </td><td class="memItemRight" valign="bottom"><a class="el" href="a00443.html#g0965ce1b4b7835f92869c7fd867265f7">scalable_msize</a> (void *ptr)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int __TBB_EXPORTED_FUNC </td><td class="memItemRight" valign="bottom"><a class="el" href="a00443.html#gb9ee52ffc5400f15c3d8af8c7613c05a">scalable_allocation_mode</a> (int param, intptr_t value)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int __TBB_EXPORTED_FUNC </td><td class="memItemRight" valign="bottom"><a class="el" href="a00443.html#gcdbd064aec22571ec84e906166a831a2">scalable_allocation_command</a> (int cmd, void *param)</td></tr>
-
-</table>
-<hr><h2>Function Documentation</h2>
-<a class="anchor" name="g65a20e812012f15ec7442d5b45d0cba5"></a><!-- doxytag: member="scalable_allocator.h::scalable_aligned_free" ref="g65a20e812012f15ec7442d5b45d0cba5" args="(void *ptr)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void __TBB_EXPORTED_FUNC scalable_aligned_free           </td>
-          <td>(</td>
-          <td class="paramtype">void * </td>
-          <td class="paramname"> <em>ptr</em>          </td>
-          <td> ) </td>
-          <td width="100%"></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-The "_aligned_free" analogue. 
-</div>
-</div><p>
-<a class="anchor" name="gc1c7aaa1fe85c17ba5a3a96f7e8d89e7"></a><!-- doxytag: member="scalable_allocator.h::scalable_aligned_malloc" ref="gc1c7aaa1fe85c17ba5a3a96f7e8d89e7" args="(size_t size, size_t alignment)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void* __TBB_EXPORTED_FUNC scalable_aligned_malloc           </td>
-          <td>(</td>
-          <td class="paramtype">size_t </td>
-          <td class="paramname"> <em>size</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t </td>
-          <td class="paramname"> <em>alignment</em></td><td> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td width="100%"></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-The "_aligned_malloc" analogue. 
-</div>
-</div><p>
-<a class="anchor" name="gbaea91376be80dfabd7c93eaffd9abaa"></a><!-- doxytag: member="scalable_allocator.h::scalable_aligned_realloc" ref="gbaea91376be80dfabd7c93eaffd9abaa" args="(void *ptr, size_t size, size_t alignment)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void* __TBB_EXPORTED_FUNC scalable_aligned_realloc           </td>
-          <td>(</td>
-          <td class="paramtype">void * </td>
-          <td class="paramname"> <em>ptr</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t </td>
-          <td class="paramname"> <em>size</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t </td>
-          <td class="paramname"> <em>alignment</em></td><td> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td width="100%"></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-The "_aligned_realloc" analogue. 
-</div>
-</div><p>
-<a class="anchor" name="gcdbd064aec22571ec84e906166a831a2"></a><!-- doxytag: member="scalable_allocator.h::scalable_allocation_command" ref="gcdbd064aec22571ec84e906166a831a2" args="(int cmd, void *param)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int __TBB_EXPORTED_FUNC scalable_allocation_command           </td>
-          <td>(</td>
-          <td class="paramtype">int </td>
-          <td class="paramname"> <em>cmd</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">void * </td>
-          <td class="paramname"> <em>param</em></td><td> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td width="100%"></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Call TBB allocator-specific commands. 
-</div>
-</div><p>
-<a class="anchor" name="gb9ee52ffc5400f15c3d8af8c7613c05a"></a><!-- doxytag: member="scalable_allocator.h::scalable_allocation_mode" ref="gb9ee52ffc5400f15c3d8af8c7613c05a" args="(int param, intptr_t value)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int __TBB_EXPORTED_FUNC scalable_allocation_mode           </td>
-          <td>(</td>
-          <td class="paramtype">int </td>
-          <td class="paramname"> <em>param</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">intptr_t </td>
-          <td class="paramname"> <em>value</em></td><td> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td width="100%"></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-Set TBB allocator-specific allocation modes. 
-</div>
-</div><p>
-<a class="anchor" name="g3f5a2fde0bcaa3eda35be32c8658f444"></a><!-- doxytag: member="scalable_allocator.h::scalable_calloc" ref="g3f5a2fde0bcaa3eda35be32c8658f444" args="(size_t nobj, size_t size)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void* __TBB_EXPORTED_FUNC scalable_calloc           </td>
-          <td>(</td>
-          <td class="paramtype">size_t </td>
-          <td class="paramname"> <em>nobj</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t </td>
-          <td class="paramname"> <em>size</em></td><td> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td width="100%"></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-The "calloc" analogue complementing scalable_malloc. 
-</div>
-</div><p>
-<a class="anchor" name="gca3579c21244dba9f0c351e5984d4565"></a><!-- doxytag: member="scalable_allocator.h::scalable_free" ref="gca3579c21244dba9f0c351e5984d4565" args="(void *ptr)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void __TBB_EXPORTED_FUNC scalable_free           </td>
-          <td>(</td>
-          <td class="paramtype">void * </td>
-          <td class="paramname"> <em>ptr</em>          </td>
-          <td> ) </td>
-          <td width="100%"></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-The "free" analogue to discard a previously allocated piece of memory. 
-</div>
-</div><p>
-<a class="anchor" name="gc25b8e6c76db0b346a8249796a7a2475"></a><!-- doxytag: member="scalable_allocator.h::scalable_malloc" ref="gc25b8e6c76db0b346a8249796a7a2475" args="(size_t size)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void* __TBB_EXPORTED_FUNC scalable_malloc           </td>
-          <td>(</td>
-          <td class="paramtype">size_t </td>
-          <td class="paramname"> <em>size</em>          </td>
-          <td> ) </td>
-          <td width="100%"></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-The "malloc" analogue to allocate block of memory of size bytes. 
-</div>
-</div><p>
-<a class="anchor" name="g0965ce1b4b7835f92869c7fd867265f7"></a><!-- doxytag: member="scalable_allocator.h::scalable_msize" ref="g0965ce1b4b7835f92869c7fd867265f7" args="(void *ptr)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">size_t __TBB_EXPORTED_FUNC scalable_msize           </td>
-          <td>(</td>
-          <td class="paramtype">void * </td>
-          <td class="paramname"> <em>ptr</em>          </td>
-          <td> ) </td>
-          <td width="100%"></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-The analogue of _msize/malloc_size/malloc_usable_size. Returns the usable size of a memory block previously allocated by scalable_*, or 0 (zero) if ptr does not point to such a block. 
-</div>
-</div><p>
-<a class="anchor" name="g05dcec987480bb2c82ecdead6a085899"></a><!-- doxytag: member="scalable_allocator.h::scalable_posix_memalign" ref="g05dcec987480bb2c82ecdead6a085899" args="(void **memptr, size_t alignment, size_t size)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">int __TBB_EXPORTED_FUNC scalable_posix_memalign           </td>
-          <td>(</td>
-          <td class="paramtype">void ** </td>
-          <td class="paramname"> <em>memptr</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t </td>
-          <td class="paramname"> <em>alignment</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t </td>
-          <td class="paramname"> <em>size</em></td><td> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td width="100%"></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-The "posix_memalign" analogue. 
-</div>
-</div><p>
-<a class="anchor" name="g951bbbbd2d041acb59ba5fa910b52543"></a><!-- doxytag: member="scalable_allocator.h::scalable_realloc" ref="g951bbbbd2d041acb59ba5fa910b52543" args="(void *ptr, size_t size)" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">void* __TBB_EXPORTED_FUNC scalable_realloc           </td>
-          <td>(</td>
-          <td class="paramtype">void * </td>
-          <td class="paramname"> <em>ptr</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">size_t </td>
-          <td class="paramname"> <em>size</em></td><td> </td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td><td width="100%"></td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-The "realloc" analogue complementing scalable_malloc. 
-</div>
-</div><p>
-<hr>
-<p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
-<p></p>
-Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
-registered trademarks or trademarks of Intel Corporation or its
-subsidiaries in the United States and other countries.
-<p></p>
-* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00444.html b/doc/html/a00444.html
deleted file mode 100644
index 0af823a..0000000
--- a/doc/html/a00444.html
+++ /dev/null
@@ -1,82 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Synchronization</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
-  <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<h1>Synchronization</h1><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00266.html">tbb::atomic< T ></a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Primary template for atomic.  <a href="a00266.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00313.html">tbb::mutex</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Wrapper around the platform's native reader-writer lock.  <a href="a00313.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00315.html">tbb::null_mutex</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">A mutex which does nothing.  <a href="a00315.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00317.html">tbb::null_rw_mutex</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">A rw mutex which does nothing.  <a href="a00317.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00326.html">tbb::queuing_mutex</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Queuing mutex with local-only spinning.  <a href="a00326.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00328.html">tbb::queuing_rw_mutex</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Queuing reader-writer mutex with local-only spinning.  <a href="a00328.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00330.html">tbb::interface5::reader_writer_lock</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Writer-preference reader-writer lock with local-only spinning on readers.  <a href="a00330.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00334.html">tbb::recursive_mutex</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Mutex that allows recursive mutex acquisition.  <a href="a00334.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00343.html">tbb::spin_mutex</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">A lock that occupies a single byte.  <a href="a00343.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00345.html">tbb::spin_rw_mutex_v3</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Fast, unfair, spinning reader-writer lock with backoff and writer-preference.  <a href="a00345.html#_details">More...</a><br></td></tr>
-<tr><td colspan="2"><br><h2>Typedefs</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef interface7::internal::padded_mutex<<br>
- interface7::internal::x86_eliding_mutex > </td><td class="memItemRight" valign="bottom"><a class="el" href="a00444.html#g645a9ea2a448def7e529d4ba0c6f39b8">tbb::speculative_spin_mutex</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">A cross-platform spin mutex with speculative lock acquisition.  <a href="#g645a9ea2a448def7e529d4ba0c6f39b8"></a><br></td></tr>
-</table>
-<hr><h2>Typedef Documentation</h2>
-<a class="anchor" name="g645a9ea2a448def7e529d4ba0c6f39b8"></a><!-- doxytag: member="tbb::speculative_spin_mutex" ref="g645a9ea2a448def7e529d4ba0c6f39b8" args="" -->
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">typedef interface7::internal::padded_mutex<interface7::internal::x86_eliding_mutex> <a class="el" href="a00444.html#g645a9ea2a448def7e529d4ba0c6f39b8">tbb::speculative_spin_mutex</a>          </td>
-        </tr>
-      </table>
-</div>
-<div class="memdoc">
-
-<p>
-A cross-platform spin mutex with speculative lock acquisition. 
-<p>
-On platforms with proper HW support, this lock may speculatively execute its critical sections, using HW mechanisms to detect real data races and ensure atomicity of the critical sections. In particular, it uses Intel(R) Transactional Synchronization Extensions (Intel(R) TSX). Without such HW support, it behaves like a <a class="el" href="a00343.html">spin_mutex</a>. It should be used for locking short critical sections where the lock is contended but the data it protects are not. If zer [...]
-</div>
-</div><p>
-<hr>
-<p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
-<p></p>
-Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
-registered trademarks or trademarks of Intel Corporation or its
-subsidiaries in the United States and other countries.
-<p></p>
-* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00445.html b/doc/html/a00445.html
deleted file mode 100644
index 22dcba3..0000000
--- a/doc/html/a00445.html
+++ /dev/null
@@ -1,32 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Timing</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
-  <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<h1>Timing</h1><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00362.html">tbb::tick_count</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Absolute timestamp.  <a href="a00362.html#_details">More...</a><br></td></tr>
-</table>
-<hr>
-<p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
-<p></p>
-Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
-registered trademarks or trademarks of Intel Corporation or its
-subsidiaries in the United States and other countries.
-<p></p>
-* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/a00446.html b/doc/html/a00446.html
deleted file mode 100644
index 5efba0b..0000000
--- a/doc/html/a00446.html
+++ /dev/null
@@ -1,44 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Task Scheduling</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
-  <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<h1>Task Scheduling</h1><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00352.html">tbb::task_group_context</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Used to form groups of tasks.  <a href="a00352.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00349.html">tbb::task</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Base class for user-defined tasks.  <a href="a00349.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00292.html">tbb::empty_task</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">task that does nothing. Useful for synchronization.  <a href="a00292.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00354.html">tbb::task_list</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">A list of children.  <a href="a00354.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00355.html">tbb::task_scheduler_init</a></td></tr>
-
-<tr><td class="mdescLeft"> </td><td class="mdescRight">Class delimiting the scope of task scheduler activity.  <a href="a00355.html#_details">More...</a><br></td></tr>
-</table>
-<hr>
-<p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
-<p></p>
-Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
-registered trademarks or trademarks of Intel Corporation or its
-subsidiaries in the United States and other countries.
-<p></p>
-* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/annotated.html b/doc/html/annotated.html
index 0757de2..305128f 100644
--- a/doc/html/annotated.html
+++ b/doc/html/annotated.html
@@ -1,137 +1,215 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
 <title>Class List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
-  <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li id="current"><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<h1>Class List</h1>Here are the classes, structs, unions and interfaces with brief descriptions:<table>
-  <tr><td class="indexkey"><a class="el" href="a00261.html">tbb::affinity_partitioner</a></td><td class="indexvalue">An affinity partitioner </td></tr>
-  <tr><td class="indexkey"><a class="el" href="a00262.html">tbb::internal::affinity_partitioner_base_v3</a></td><td class="indexvalue">Defines entry point for affinity partitioner into tbb run-time library </td></tr>
-  <tr><td class="indexkey"><a class="el" href="a00263.html">tbb::interface6::aggregator</a></td><td class="indexvalue">Basic aggregator interface </td></tr>
-  <tr><td class="indexkey"><a class="el" href="a00264.html">tbb::interface6::aggregator_ext< handler_type ></a></td><td class="indexvalue">Aggregator base class and expert interface </td></tr>
-  <tr><td class="indexkey"><a class="el" href="a00265.html">tbb::aligned_space< T, N ></a></td><td class="indexvalue">Block of space aligned sufficiently to construct an array T with N elements </td></tr>
-  <tr><td class="indexkey"><a class="el" href="a00266.html">tbb::atomic< T ></a></td><td class="indexvalue">Primary template for atomic </td></tr>
-  <tr><td class="indexkey"><a class="el" href="a00267.html">tbb::atomic< void * ></a></td><td class="indexvalue">Specialization for <a class="el" href="a00267.html">atomic<void*></a>, for sake of not allowing arithmetic or operator-> </td></tr>
-  <tr><td class="indexkey"><a class="el" href="a00268.html">tbb::internal::atomic_backoff</a></td><td class="indexvalue">Class that implements exponential backoff </td></tr>
-  <tr><td class="indexkey"><a class="el" href="a00269.html">tbb::auto_partitioner</a></td><td class="indexvalue">An auto partitioner </td></tr>
-  <tr><td class="indexkey"><a class="el" href="a00270.html">tbb::bad_last_alloc</a></td><td class="indexvalue">Exception for concurrent containers </td></tr>
-  <tr><td class="indexkey"><a class="el" href="a00271.html">tbb::blocked_range< Value ></a></td><td class="indexvalue">A range over which to iterate </td></tr>
-  <tr><td class="indexkey"><a class="el" href="a00272.html">tbb::blocked_range2d< RowValue, ColValue ></a></td><td class="indexvalue">A 2-dimensional range that models the Range concept </td></tr>
-  <tr><td class="indexkey"><a class="el" href="a00273.html">tbb::blocked_range3d< PageValue, RowValue, ColValue ></a></td><td class="indexvalue">A 3-dimensional range that models the Range concept </td></tr>
-  <tr><td class="indexkey"><a class="el" href="a00274.html">tbb::flow::interface6::broadcast_node< T ></a></td><td class="indexvalue">Forwards messages of type T to all successors </td></tr>
-  <tr><td class="indexkey"><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a></td><td class="indexvalue">Forwards messages in arbitrary order </td></tr>
-  <tr><td class="indexkey"><a class="el" href="a00276.html">tbb::cache_aligned_allocator< T ></a></td><td class="indexvalue">Meets "allocator" requirements of ISO C++ Standard, Section 20.1.5 </td></tr>
-  <tr><td class="indexkey"><a class="el" href="a00277.html">tbb::cache_aligned_allocator< void ></a></td><td class="indexvalue">Analogous to std::allocator<void>, as defined in ISO C++ Standard, Section 20.4.1 </td></tr>
-  <tr><td class="indexkey"><a class="el" href="a00278.html">tbb::captured_exception</a></td><td class="indexvalue">This class is used by TBB to propagate information about unhandled exceptions into the root thread </td></tr>
-  <tr><td class="indexkey"><a class="el" href="a00279.html">tbb::combinable< T ></a></td><td class="indexvalue">Thread-local storage with optional reduction </td></tr>
-  <tr><td class="indexkey"><a class="el" href="a00280.html">tbb::concurrent_bounded_queue< T, A ></a></td><td class="indexvalue">A high-performance thread-safe blocking concurrent bounded queue </td></tr>
-  <tr><td class="indexkey"><a class="el" href="a00281.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a></td><td class="indexvalue">Unordered map from Key to T </td></tr>
-  <tr><td class="indexkey"><a class="el" href="a00282.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator >::accessor</a></td><td class="indexvalue">Allows write access to elements and combines data access, locking, and garbage collection </td></tr>
-  <tr><td class="indexkey"><a class="el" href="a00283.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator >::bucket_accessor</a></td><td class="indexvalue">Bucket accessor is to find, rehash, acquire a lock, and access a bucket </td></tr>
-  <tr><td class="indexkey"><a class="el" href="a00284.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator >::const_accessor</a></td><td class="indexvalue">Combines data access, locking, and garbage collection </td></tr>
-  <tr><td class="indexkey"><a class="el" href="a00285.html">tbb::interface5::concurrent_priority_queue< T, Compare, A ></a></td><td class="indexvalue">Concurrent priority queue </td></tr>
-  <tr><td class="indexkey"><a class="el" href="a00286.html">tbb::strict_ppl::concurrent_queue< T, A ></a></td><td class="indexvalue">A high-performance thread-safe non-blocking concurrent queue </td></tr>
-  <tr><td class="indexkey"><a class="el" href="a00287.html">tbb::deprecated::concurrent_queue< T, A ></a></td><td class="indexvalue">A high-performance thread-safe blocking concurrent bounded queue </td></tr>
-  <tr><td class="indexkey"><a class="el" href="a00288.html">tbb::concurrent_vector< T, A ></a></td><td class="indexvalue">Concurrent vector container </td></tr>
-  <tr><td class="indexkey"><a class="el" href="a00289.html">tbb::flow::interface6::continue_msg</a></td><td class="indexvalue">An empty class used for messages that mean "I'm done" </td></tr>
-  <tr><td class="indexkey"><a class="el" href="a00290.html">tbb::flow::interface6::continue_node< Output ></a></td><td class="indexvalue">Implements an executable node that supports <a class="el" href="a00289.html">continue_msg</a> -> Output </td></tr>
-  <tr><td class="indexkey"><a class="el" href="a00291.html">tbb::flow::interface6::continue_receiver</a></td><td class="indexvalue">Base class for receivers of completion messages </td></tr>
-  <tr><td class="indexkey"><a class="el" href="a00292.html">tbb::empty_task</a></td><td class="indexvalue">Task that does nothing. Useful for synchronization </td></tr>
-  <tr><td class="indexkey"><a class="el" href="a00293.html">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a></td><td class="indexvalue">The <a class="el" href="a00293.html">enumerable_thread_specific</a> container </td></tr>
-  <tr><td class="indexkey"><a class="el" href="a00294.html">tbb::filter</a></td><td class="indexvalue">A stage in a pipeline </td></tr>
-  <tr><td class="indexkey"><a class="el" href="a00295.html">tbb::interface6::filter_t< T, U ></a></td><td class="indexvalue">Class representing a chain of type-safe pipeline filters </td></tr>
-  <tr><td class="indexkey"><a class="el" href="a00296.html">tbb::final_scan_tag</a></td><td class="indexvalue">Used to indicate that the final scan is being performed </td></tr>
-  <tr><td class="indexkey"><a class="el" href="a00297.html">tbb::interface6::flow_control</a></td><td class="indexvalue">Input_filter control to signal end-of-input for parallel_pipeline </td></tr>
-  <tr><td class="indexkey"><a class="el" href="a00298.html">tbb::flow::interface6::function_node< Input, Output,, Allocator ></a></td><td class="indexvalue">Implements a function node that supports Input -> Output </td></tr>
-  <tr><td class="indexkey"><a class="el" href="a00299.html">tbb::flow::interface6::function_node< Input, Output, queueing, Allocator ></a></td><td class="indexvalue">Implements a function node that supports Input -> Output </td></tr>
-  <tr><td class="indexkey"><a class="el" href="a00300.html">tbb::flow::interface6::graph</a></td><td class="indexvalue">The graph class </td></tr>
-  <tr><td class="indexkey"><a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a></td><td class="indexvalue">The base of all graph nodes </td></tr>
-  <tr><td class="indexkey"><a class="el" href="a00302.html">tbb::improper_lock</a></td><td class="indexvalue">Exception for PPL locks </td></tr>
-  <tr><td class="indexkey"><a class="el" href="a00303.html">tbb::invalid_multiple_scheduling</a></td><td class="indexvalue">Exception for repeated scheduling of the same task_handle </td></tr>
-  <tr><td class="indexkey"><a class="el" href="a00304.html">tbb::flow::interface6::limiter_node< T ></a></td><td class="indexvalue">Forwards messages only if the threshold has not been reached </td></tr>
-  <tr><td class="indexkey"><a class="el" href="a00305.html">tbb::internal::machine_load_store_relaxed< T, S ></a></td><td class="indexvalue"></td></tr>
-  <tr><td class="indexkey"><a class="el" href="a00306.html">tbb::internal::machine_load_store_seq_cst< T, 8 ></a></td><td class="indexvalue"></td></tr>
-  <tr><td class="indexkey"><a class="el" href="a00307.html">tbb::interface6::memory_pool< Alloc ></a></td><td class="indexvalue">Thread-safe growable pool allocator for variable-size requests </td></tr>
-  <tr><td class="indexkey"><a class="el" href="a00308.html">tbb::interface6::memory_pool_allocator< T, P ></a></td><td class="indexvalue">Meets "allocator" requirements of ISO C++ Standard, Section 20.1.5 </td></tr>
-  <tr><td class="indexkey"><a class="el" href="a00309.html">tbb::interface6::memory_pool_allocator< void, P ></a></td><td class="indexvalue">Analogous to std::allocator<void>, as defined in ISO C++ Standard, Section 20.4.1 </td></tr>
-  <tr><td class="indexkey"><a class="el" href="a00310.html">tbb::missing_wait</a></td><td class="indexvalue">Exception for missing wait on structured_task_group </td></tr>
-  <tr><td class="indexkey"><a class="el" href="a00311.html">tbb::movable_exception< ExceptionData ></a></td><td class="indexvalue">Template that can be used to implement exception that transfers arbitrary ExceptionData to the root thread </td></tr>
-  <tr><td class="indexkey"><a class="el" href="a00312.html">tbb::flow::interface6::multifunction_node< Input, Output,, Allocator ></a></td><td class="indexvalue">Implements a function node that supports Input -> (set of outputs) </td></tr>
-  <tr><td class="indexkey"><a class="el" href="a00313.html">tbb::mutex</a></td><td class="indexvalue">Wrapper around the platform's native reader-writer lock </td></tr>
-  <tr><td class="indexkey"><a class="el" href="a00314.html">tbb::mutex::scoped_lock</a></td><td class="indexvalue">The scoped locking pattern </td></tr>
-  <tr><td class="indexkey"><a class="el" href="a00315.html">tbb::null_mutex</a></td><td class="indexvalue">A mutex which does nothing </td></tr>
-  <tr><td class="indexkey"><a class="el" href="a00316.html">tbb::null_mutex::scoped_lock</a></td><td class="indexvalue">Represents acquisition of a mutex </td></tr>
-  <tr><td class="indexkey"><a class="el" href="a00317.html">tbb::null_rw_mutex</a></td><td class="indexvalue">A rw mutex which does nothing </td></tr>
-  <tr><td class="indexkey"><a class="el" href="a00318.html">tbb::null_rw_mutex::scoped_lock</a></td><td class="indexvalue">Represents acquisition of a mutex </td></tr>
-  <tr><td class="indexkey"><a class="el" href="a00319.html">tbb::parallel_do_feeder< Item ></a></td><td class="indexvalue">Class the user supplied algorithm body uses to add new tasks </td></tr>
-  <tr><td class="indexkey"><a class="el" href="a00320.html">tbb::parallel_while< Body ></a></td><td class="indexvalue">Parallel iteration over a stream, with optional addition of more work </td></tr>
-  <tr><td class="indexkey"><a class="el" href="a00321.html">tbb::internal::partition_type_base</a></td><td class="indexvalue">Provides backward-compatible methods for partition objects without affinity </td></tr>
-  <tr><td class="indexkey"><a class="el" href="a00322.html">tbb::pipeline</a></td><td class="indexvalue">A processing pipeline that applies filters to items </td></tr>
-  <tr><td class="indexkey"><a class="el" href="a00323.html">tbb::pre_scan_tag</a></td><td class="indexvalue">Used to indicate that the initial scan is being performed </td></tr>
-  <tr><td class="indexkey"><a class="el" href="a00324.html">tbb::flow::interface6::priority_queue_node< T, Compare, A ></a></td><td class="indexvalue">Forwards messages in priority order </td></tr>
-  <tr><td class="indexkey"><a class="el" href="a00325.html">tbb::flow::interface6::queue_node< T, A ></a></td><td class="indexvalue">Forwards messages in FIFO order </td></tr>
-  <tr><td class="indexkey"><a class="el" href="a00326.html">tbb::queuing_mutex</a></td><td class="indexvalue">Queuing mutex with local-only spinning </td></tr>
-  <tr><td class="indexkey"><a class="el" href="a00327.html">tbb::queuing_mutex::scoped_lock</a></td><td class="indexvalue">The scoped locking pattern </td></tr>
-  <tr><td class="indexkey"><a class="el" href="a00328.html">tbb::queuing_rw_mutex</a></td><td class="indexvalue">Queuing reader-writer mutex with local-only spinning </td></tr>
-  <tr><td class="indexkey"><a class="el" href="a00329.html">tbb::queuing_rw_mutex::scoped_lock</a></td><td class="indexvalue">The scoped locking pattern </td></tr>
-  <tr><td class="indexkey"><a class="el" href="a00330.html">tbb::interface5::reader_writer_lock</a></td><td class="indexvalue">Writer-preference reader-writer lock with local-only spinning on readers </td></tr>
-  <tr><td class="indexkey"><a class="el" href="a00331.html">tbb::interface5::reader_writer_lock::scoped_lock</a></td><td class="indexvalue">The scoped lock pattern for write locks </td></tr>
-  <tr><td class="indexkey"><a class="el" href="a00332.html">tbb::interface5::reader_writer_lock::scoped_lock_read</a></td><td class="indexvalue">The scoped lock pattern for read locks </td></tr>
-  <tr><td class="indexkey"><a class="el" href="a00333.html">tbb::flow::interface6::receiver< T ></a></td><td class="indexvalue">Pure virtual template class that defines a receiver of messages of type T </td></tr>
-  <tr><td class="indexkey"><a class="el" href="a00334.html">tbb::recursive_mutex</a></td><td class="indexvalue">Mutex that allows recursive mutex acquisition </td></tr>
-  <tr><td class="indexkey"><a class="el" href="a00335.html">tbb::recursive_mutex::scoped_lock</a></td><td class="indexvalue">The scoped locking pattern </td></tr>
-  <tr><td class="indexkey"><a class="el" href="a00336.html">tbb::interface6::runtime_loader</a></td><td class="indexvalue">Load TBB at runtime </td></tr>
-  <tr><td class="indexkey"><a class="el" href="a00337.html">tbb::scalable_allocator< T ></a></td><td class="indexvalue">Meets "allocator" requirements of ISO C++ Standard, Section 20.1.5 </td></tr>
-  <tr><td class="indexkey"><a class="el" href="a00338.html">tbb::scalable_allocator< void ></a></td><td class="indexvalue">Analogous to std::allocator<void>, as defined in ISO C++ Standard, Section 20.4.1 </td></tr>
-  <tr><td class="indexkey"><a class="el" href="a00339.html">tbb::flow::interface6::sender< T ></a></td><td class="indexvalue">Pure virtual template class that defines a sender of messages of type T </td></tr>
-  <tr><td class="indexkey"><a class="el" href="a00340.html">tbb::flow::interface6::sequencer_node< T, A ></a></td><td class="indexvalue">Forwards messages in sequence order </td></tr>
-  <tr><td class="indexkey"><a class="el" href="a00341.html">tbb::simple_partitioner</a></td><td class="indexvalue">A simple partitioner </td></tr>
-  <tr><td class="indexkey"><a class="el" href="a00342.html">tbb::flow::interface6::source_node< Output ></a></td><td class="indexvalue">An executable node that acts as a source, i.e. it has no predecessors </td></tr>
-  <tr><td class="indexkey"><a class="el" href="a00343.html">tbb::spin_mutex</a></td><td class="indexvalue">A lock that occupies a single byte </td></tr>
-  <tr><td class="indexkey"><a class="el" href="a00344.html">tbb::spin_mutex::scoped_lock</a></td><td class="indexvalue">Represents acquisition of a mutex </td></tr>
-  <tr><td class="indexkey"><a class="el" href="a00345.html">tbb::spin_rw_mutex_v3</a></td><td class="indexvalue">Fast, unfair, spinning reader-writer lock with backoff and writer-preference </td></tr>
-  <tr><td class="indexkey"><a class="el" href="a00346.html">tbb::spin_rw_mutex_v3::scoped_lock</a></td><td class="indexvalue">The scoped locking pattern </td></tr>
-  <tr><td class="indexkey"><a class="el" href="a00347.html">tbb::split</a></td><td class="indexvalue">Dummy type that distinguishes splitting constructor from copy constructor </td></tr>
-  <tr><td class="indexkey"><a class="el" href="a00348.html">tbb::flow::interface6::split_node< TupleType, Allocator ></a></td><td class="indexvalue">Split_node: accepts a tuple as input, forwards each element of the tuple to its </td></tr>
-  <tr><td class="indexkey"><a class="el" href="a00349.html">tbb::task</a></td><td class="indexvalue">Base class for user-defined tasks </td></tr>
-  <tr><td class="indexkey"><a class="el" href="a00350.html">tbb::interface6::task_arena</a></td><td class="indexvalue"></td></tr>
-  <tr><td class="indexkey"><a class="el" href="a00351.html">tbb::interface5::internal::task_base</a></td><td class="indexvalue">Base class for methods that became static in TBB 3.0 </td></tr>
-  <tr><td class="indexkey"><a class="el" href="a00352.html">tbb::task_group_context</a></td><td class="indexvalue">Used to form groups of tasks </td></tr>
-  <tr><td class="indexkey"><a class="el" href="a00353.html">tbb::task_group_context</a></td><td class="indexvalue"></td></tr>
-  <tr><td class="indexkey"><a class="el" href="a00354.html">tbb::task_list</a></td><td class="indexvalue">A list of children </td></tr>
-  <tr><td class="indexkey"><a class="el" href="a00355.html">tbb::task_scheduler_init</a></td><td class="indexvalue">Class delimiting the scope of task scheduler activity </td></tr>
-  <tr><td class="indexkey"><a class="el" href="a00356.html">tbb::tbb_allocator< T ></a></td><td class="indexvalue">Meets "allocator" requirements of ISO C++ Standard, Section 20.1.5 </td></tr>
-  <tr><td class="indexkey"><a class="el" href="a00357.html">tbb::tbb_allocator< void ></a></td><td class="indexvalue">Analogous to std::allocator<void>, as defined in ISO C++ Standard, Section 20.4.1 </td></tr>
-  <tr><td class="indexkey"><a class="el" href="a00358.html">tbb::tbb_exception</a></td><td class="indexvalue">Interface to be implemented by all exceptions TBB recognizes and propagates across the threads </td></tr>
-  <tr><td class="indexkey"><a class="el" href="a00359.html">tbb::internal::tbb_exception_ptr</a></td><td class="indexvalue">Exception container that preserves the exact copy of the original exception </td></tr>
-  <tr><td class="indexkey"><a class="el" href="a00360.html">tbb::tbb_hash_compare< Key ></a></td><td class="indexvalue">Hash_compare that is default argument for concurrent_hash_map </td></tr>
-  <tr><td class="indexkey"><a class="el" href="a00361.html">tbb::thread_bound_filter</a></td><td class="indexvalue">A stage in a pipeline served by a user thread </td></tr>
-  <tr><td class="indexkey"><a class="el" href="a00362.html">tbb::tick_count</a></td><td class="indexvalue">Absolute timestamp </td></tr>
-  <tr><td class="indexkey"><a class="el" href="a00363.html">tbb::tick_count::interval_t</a></td><td class="indexvalue">Relative time interval </td></tr>
-  <tr><td class="indexkey"><a class="el" href="a00364.html">tbb::user_abort</a></td><td class="indexvalue">Exception for user-initiated abort </td></tr>
-  <tr><td class="indexkey"><a class="el" href="a00365.html">tbb::internal::work_around_alignment_bug< Size, T ></a></td><td class="indexvalue">Work around for bug in GNU 3.2 and MSVC compilers </td></tr>
-  <tr><td class="indexkey"><a class="el" href="a00366.html">tbb::zero_allocator< T, Allocator ></a></td><td class="indexvalue">Meets "allocator" requirements of ISO C++ Standard, Section 20.1.5 </td></tr>
-  <tr><td class="indexkey"><a class="el" href="a00367.html">tbb::zero_allocator< void, Allocator ></a></td><td class="indexvalue">Analogous to std::allocator<void>, as defined in ISO C++ Standard, Section 20.4.1 </td></tr>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li class="current"><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">Class List</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock">Here are the classes, structs, unions and interfaces with brief descriptions:</div><div class="directory">
+<div class="levels">[detail level <span onclick="javascript:toggleLevel(1);">1</span><span onclick="javascript:toggleLevel(2);">2</span><span onclick="javascript:toggleLevel(3);">3</span><span onclick="javascript:toggleLevel(4);">4</span><span onclick="javascript:toggleLevel(5);">5</span>]</div><table class="directory">
+<tr id="row_0_" class="even"><td class="entry"><img id="arr_0_" src="ftv2mnode.png" alt="o" width="16" height="22" onclick="toggleFolder('0_')"/><img src="ftv2ns.png" alt="N" width="24" height="22" /><a class="el" href="a00219.html" target="_self">rml</a></td><td class="desc">The namespace rml contains components of low-level memory pool interface </td></tr>
+<tr id="row_0_0_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00076.html" target="_self">MemPoolPolicy</a></td><td class="desc"></td></tr>
+<tr id="row_1_" class="even"><td class="entry"><img id="arr_1_" src="ftv2mnode.png" alt="o" width="16" height="22" onclick="toggleFolder('1_')"/><img src="ftv2ns.png" alt="N" width="24" height="22" /><a class="el" href="a00222.html" target="_self">tbb</a></td><td class="desc">The namespace tbb contains all components of the library </td></tr>
+<tr id="row_1_0_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img id="arr_1_0_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('1_0_')"/><img src="ftv2ns.png" alt="N" width="24" height="22" /><b>deprecated</b></td><td class="desc"></td></tr>
+<tr id="row_1_0_0_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00039.html" target="_self">concurrent_queue</a></td><td class="desc">A high-performance thread-safe blocking concurrent bounded queue </td></tr>
+<tr id="row_1_1_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img id="arr_1_1_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('1_1_')"/><img src="ftv2ns.png" alt="N" width="24" height="22" /><b>flow</b></td><td class="desc"></td></tr>
+<tr id="row_1_1_0_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img id="arr_1_1_0_" src="ftv2plastnode.png" alt="\" width="16" height="22" onclick="toggleFolder('1_1_0_')"/><img src="ftv2ns.png" alt="N" width="24" height="22" /><b>interface7</b></td><td class="desc"></td></tr>
+<tr id="row_1_1_0_0_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt=" " width="16" height="22" /><img id="arr_1_1_0_0_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('1_1_0_0_')"/><img src="ftv2ns.png" alt="N" width="24" height="22" /><b>internal</b></td><td class="desc"></td></tr>
+<tr id="row_1_1_0_0_0_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt=" " width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00134.html" target="_self">successor_cache</a></t [...]
+<tr id="row_1_1_0_0_1_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt=" " width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00024.html" target="_self">broadcast_cache</a></t [...]
+<tr id="row_1_1_0_0_2_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt=" " width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00108.html" target="_self">round_robin_cache< [...]
+<tr id="row_1_1_0_1_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt=" " width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00048.html" target="_self">continue_msg</a></td><td class="desc">An empty class used for messages that mean "I'm [...]
+<tr id="row_1_1_0_2_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt=" " width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00124.html" target="_self">sender</a></td><td class="desc">Pure virtual template class that defines a sender of  [...]
+<tr id="row_1_1_0_3_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt=" " width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00106.html" target="_self">receiver</a></td><td class="desc">Pure virtual template class that defines a receiver [...]
+<tr id="row_1_1_0_4_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt=" " width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00072.html" target="_self">limiter_node</a></td><td class="desc">Forwards messages only if the threshold has not [...]
+<tr id="row_1_1_0_5_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt=" " width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00109.html" target="_self">run_and_put_task</a></td><td class="desc"></td></tr>
+<tr id="row_1_1_0_6_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt=" " width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00050.html" target="_self">continue_receiver</a></td><td class="desc">Base class for receivers of completion mes [...]
+<tr id="row_1_1_0_7_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt=" " width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00062.html" target="_self">graph_iterator</a></td><td class="desc"></td></tr>
+<tr id="row_1_1_0_8_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt=" " width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00061.html" target="_self">graph</a></td><td class="desc">The graph class </td></tr>
+<tr id="row_1_1_0_9_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt=" " width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00063.html" target="_self">graph_node</a></td><td class="desc">The base of all graph nodes </td></tr>
+<tr id="row_1_1_0_10_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt=" " width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00126.html" target="_self">source_node</a></td><td class="desc">An executable node that acts as a source, i.e.  [...]
+<tr id="row_1_1_0_11_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt=" " width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00059.html" target="_self">function_node</a></td><td class="desc">Implements a function node that supports Inpu [...]
+<tr id="row_1_1_0_12_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt=" " width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00060.html" target="_self">function_node< Input, Output, queueing, Allocator ></a></td><td class="desc">I [...]
+<tr id="row_1_1_0_13_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt=" " width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00079.html" target="_self">multifunction_node</a></td><td class="desc">Implements a function node that supports [...]
+<tr id="row_1_1_0_14_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt=" " width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00080.html" target="_self">multifunction_node< Input, Output, queueing, Allocator ></a></td><td class="de [...]
+<tr id="row_1_1_0_15_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt=" " width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00130.html" target="_self">split_node</a></td><td class="desc">Split_node: accepts a tuple as input, forwards e [...]
+<tr id="row_1_1_0_16_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt=" " width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00049.html" target="_self">continue_node</a></td><td class="desc">Implements an executable node that supports < [...]
+<tr id="row_1_1_0_17_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt=" " width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00086.html" target="_self">overwrite_node</a></td><td class="desc"></td></tr>
+<tr id="row_1_1_0_18_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt=" " width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00159.html" target="_self">write_once_node</a></td><td class="desc"></td></tr>
+<tr id="row_1_1_0_19_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt=" " width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00025.html" target="_self">broadcast_node</a></td><td class="desc">Forwards messages of type T to all successor [...]
+<tr id="row_1_1_0_20_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt=" " width="16" height="22" /><img id="arr_1_1_0_20_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('1_1_0_20_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00027.html" target="_self">buffer_node</a></td><td class [...]
+<tr id="row_1_1_0_20_0_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt=" " width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00028.html" target="_self">buffer_operation< [...]
+<tr id="row_1_1_0_21_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt=" " width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00092.html" target="_self">queue_node</a></td><td class="desc">Forwards messages in FIFO order </td></tr>
+<tr id="row_1_1_0_22_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt=" " width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00125.html" target="_self">sequencer_node</a></td><td class="desc">Forwards messages in sequence order </td></tr>
+<tr id="row_1_1_0_23_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt=" " width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00091.html" target="_self">priority_queue_node</a></td><td class="desc">Forwards messages in priority order </td></tr>
+<tr id="row_1_1_0_24_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt=" " width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00068.html" target="_self">join_node</a></td><td class="desc"></td></tr>
+<tr id="row_1_1_0_25_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt=" " width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00070.html" target="_self">join_node< OutputTuple, reserving ></a></td><td class="desc"></td></tr>
+<tr id="row_1_1_0_26_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt=" " width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00069.html" target="_self">join_node< OutputTuple, queueing ></a></td><td class="desc"></td></tr>
+<tr id="row_1_1_0_27_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt=" " width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00071.html" target="_self">join_node< OutputTuple, tag_matching ></a></td><td class="desc"></td></tr>
+<tr id="row_1_1_0_28_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt=" " width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00085.html" target="_self">or_node</a></td><td class="desc"></td></tr>
+<tr id="row_1_2_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img id="arr_1_2_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('1_2_')"/><img src="ftv2ns.png" alt="N" width="24" height="22" /><b>interface5</b></td><td class="desc"></td></tr>
+<tr id="row_1_2_0_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img id="arr_1_2_0_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('1_2_0_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00035.html" target="_self">concurrent_hash_map</a></td><td class="desc">Unordered map from Key to T </td></tr>
+<tr id="row_1_2_0_0_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00010.html" target="_self">accessor</a></td><td class="desc">Allows write access to elements and comb [...]
+<tr id="row_1_2_0_1_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00026.html" target="_self">bucket_accessor</a></td><td class="desc">Bucket accessor is to find, rehas [...]
+<tr id="row_1_2_0_2_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00047.html" target="_self">const_accessor</a></td><td class="desc">Combines data access, locking, and [...]
+<tr id="row_1_2_0_3_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00082.html" target="_self">node</a></td><td class="desc"></td></tr>
+<tr id="row_1_2_1_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00037.html" target="_self">concurrent_priority_queue</a></td><td class="desc">Concurrent priority queue </td></tr>
+<tr id="row_1_2_2_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img id="arr_1_2_2_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('1_2_2_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00041.html" target="_self">concurrent_unordered_map_traits</a></td><td class="desc"></td></tr>
+<tr id="row_1_2_2_0_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00157.html" target="_self">value_compare</a></td><td class="desc"></td></tr>
+<tr id="row_1_2_3_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00040.html" target="_self">concurrent_unordered_map</a></td><td class="desc"></td></tr>
+<tr id="row_1_2_4_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00042.html" target="_self">concurrent_unordered_multimap</a></td><td class="desc"></td></tr>
+<tr id="row_1_2_5_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00045.html" target="_self">concurrent_unordered_set_traits</a></td><td class="desc"></td></tr>
+<tr id="row_1_2_6_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00044.html" target="_self">concurrent_unordered_set</a></td><td class="desc"></td></tr>
+<tr id="row_1_2_7_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00043.html" target="_self">concurrent_unordered_multiset</a></td><td class="desc"></td></tr>
+<tr id="row_1_2_8_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img id="arr_1_2_8_" src="ftv2plastnode.png" alt="\" width="16" height="22" onclick="toggleFolder('1_2_8_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00095.html" target="_self">reader_writer_lock</a></td><td class="desc">Writer-preference reader-writer lock wit [...]
+<tr id="row_1_2_8_0_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt=" " width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00118.html" target="_self">scoped_lock</a></td><td class="desc">The scoped lock pattern for write l [...]
+<tr id="row_1_2_8_1_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt=" " width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00123.html" target="_self">scoped_lock_read</a></td><td class="desc">The scoped lock pattern fo [...]
+<tr id="row_1_3_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img id="arr_1_3_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('1_3_')"/><img src="ftv2ns.png" alt="N" width="24" height="22" /><b>interface6</b></td><td class="desc"></td></tr>
+<tr id="row_1_3_0_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img id="arr_1_3_0_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('1_3_0_')"/><img src="ftv2ns.png" alt="N" width="24" height="22" /><b>internal</b></td><td class="desc"></td></tr>
+<tr id="row_1_3_0_0_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00020.html" target="_self">basic_operation_base</a></td><td class="desc"></td></tr>
+<tr id="row_1_3_0_1_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00019.html" target="_self">basic_operation</a></td><td class="desc"></td></tr>
+<tr id="row_1_3_0_2_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00018.html" target="_self">basic_handler</a></td><td class="desc"></td></tr>
+<tr id="row_1_3_0_3_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00033.html" target="_self">concrete_filter</a></td><td class="desc"></td></tr>
+<tr id="row_1_3_1_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00013.html" target="_self">aggregator_operation</a></td><td class="desc"></td></tr>
+<tr id="row_1_3_2_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00012.html" target="_self">aggregator_ext</a></td><td class="desc">Aggregator base class and expert interface </td></tr>
+<tr id="row_1_3_3_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00011.html" target="_self">aggregator</a></td><td class="desc">Basic aggregator interface </td></tr>
+<tr id="row_1_3_4_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00036.html" target="_self">concurrent_lru_cache</a></td><td class="desc"></td></tr>
+<tr id="row_1_3_5_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00052.html" target="_self">enumerable_thread_specific</a></td><td class="desc">The <a class="el" href="a00052.html" title="The enumerable_thread_specific container. ">enumerable [...]
+<tr id="row_1_3_6_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00057.html" target="_self">flattened2d</a></td><td class="desc"></td></tr>
+<tr id="row_1_3_7_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img id="arr_1_3_7_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('1_3_7_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00074.html" target="_self">memory_pool_allocator</a></td><td class="desc">Meets "allocator" requirements of ISO C++ Standard, Se [...]
+<tr id="row_1_3_7_0_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00101.html" target="_self">rebind</a></td><td class="desc"></td></tr>
+<tr id="row_1_3_8_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img id="arr_1_3_8_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('1_3_8_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00075.html" target="_self">memory_pool_allocator< void, P ></a></td><td class="desc">Analogous to std::allocator<void&g [...]
+<tr id="row_1_3_8_0_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00102.html" target="_self">rebind</a></td><td class="desc"></td></tr>
+<tr id="row_1_3_9_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00073.html" target="_self">memory_pool</a></td><td class="desc">Thread-safe growable pool allocator for variable-size requests </td></tr>
+<tr id="row_1_3_10_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00056.html" target="_self">fixed_pool</a></td><td class="desc"></td></tr>
+<tr id="row_1_3_11_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00058.html" target="_self">flow_control</a></td><td class="desc">Input_filter control to signal end-of-input for parallel_pipeline </td></tr>
+<tr id="row_1_3_12_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00054.html" target="_self">filter_t</a></td><td class="desc">Class representing a chain of type-safe pipeline filters </td></tr>
+<tr id="row_1_3_13_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00110.html" target="_self">runtime_loader</a></td><td class="desc">Load TBB at runtime </td></tr>
+<tr id="row_1_3_14_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00142.html" target="_self">task_scheduler_observer</a></td><td class="desc"></td></tr>
+<tr id="row_1_4_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img id="arr_1_4_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('1_4_')"/><img src="ftv2ns.png" alt="N" width="24" height="22" /><b>interface7</b></td><td class="desc"></td></tr>
+<tr id="row_1_4_0_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00135.html" target="_self">task_arena</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img id="arr_1_5_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('1_5_')"/><img src="ftv2ns.png" alt="N" width="24" height="22" /><b>internal</b></td><td class="desc"></td></tr>
+<tr id="row_1_5_0_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img id="arr_1_5_0_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('1_5_0_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00051.html" target="_self">critical_section_v4</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_0_0_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00122.html" target="_self">scoped_lock</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_1_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00140.html" target="_self">task_handle_task</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_2_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00137.html" target="_self">task_group_base</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_3_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00143.html" target="_self">task_scheduler_observer_v3</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_4_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00147.html" target="_self">tbb_exception_ptr</a></td><td class="desc">Exception container that preserves the exact copy of the original exception </td></tr>
+<tr id="row_1_5_5_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00131.html" target="_self">STATIC_ASSERTION_FAILED</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_6_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00132.html" target="_self">STATIC_ASSERTION_FAILED< false ></a></td><td class="desc"></td></tr>
+<tr id="row_1_5_7_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00154.html" target="_self">thread_closure_base</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_8_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00151.html" target="_self">thread_closure_0</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_9_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00152.html" target="_self">thread_closure_1</a></td><td class="desc">Structure used to pass user function with 1 argument to thread </td></tr>
+<tr id="row_1_5_10_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00153.html" target="_self">thread_closure_2</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_11_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img id="arr_1_5_11_" src="ftv2plastnode.png" alt="\" width="16" height="22" onclick="toggleFolder('1_5_11_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00149.html" target="_self">tbb_thread_v3</a></td><td class="desc">Versioned thread class </td></tr>
+<tr id="row_1_5_11_0_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt=" " width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00064.html" target="_self">id</a></td><td class="desc"></td></tr>
+<tr id="row_1_6_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img id="arr_1_6_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('1_6_')"/><img src="ftv2ns.png" alt="N" width="24" height="22" /><b>strict_ppl</b></td><td class="desc"></td></tr>
+<tr id="row_1_6_0_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00038.html" target="_self">concurrent_queue</a></td><td class="desc">A high-performance thread-safe non-blocking concurrent queue </td></tr>
+<tr id="row_1_7_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00014.html" target="_self">aligned_space</a></td><td class="desc">Block of space aligned sufficiently to construct an array T with N elements </td></tr>
+<tr id="row_1_8_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00015.html" target="_self">atomic</a></td><td class="desc">Primary template for atomic </td></tr>
+<tr id="row_1_9_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00016.html" target="_self">atomic< void * ></a></td><td class="desc">Specialization for <a class="el" href="a00016.html" title="Specialization for atomic<void*>, for sake of not allowing arithmetic or operator->. ">atomic<void*> [...]
+<tr id="row_1_10_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00021.html" target="_self">blocked_range</a></td><td class="desc">A range over which to iterate </td></tr>
+<tr id="row_1_11_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00022.html" target="_self">blocked_range2d</a></td><td class="desc">A 2-dimensional range that models the Range concept </td></tr>
+<tr id="row_1_12_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00023.html" target="_self">blocked_range3d</a></td><td class="desc">A 3-dimensional range that models the Range concept </td></tr>
+<tr id="row_1_13_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img id="arr_1_13_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('1_13_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00029.html" target="_self">cache_aligned_allocator</a></td><td class="desc">Meets "allocator" requirements of ISO C++ Standard, Section 20.1.5 </td></tr>
+<tr id="row_1_13_0_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00104.html" target="_self">rebind</a></td><td class="desc"></td></tr>
+<tr id="row_1_14_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img id="arr_1_14_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('1_14_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00030.html" target="_self">cache_aligned_allocator< void ></a></td><td class="desc">Analogous to std::allocator<void>, as defined in ISO C++ Standard, Section 20.4.1 </td></tr>
+<tr id="row_1_14_0_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00096.html" target="_self">rebind</a></td><td class="desc"></td></tr>
+<tr id="row_1_15_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00032.html" target="_self">combinable</a></td><td class="desc">Thread-local storage with optional reduction </td></tr>
+<tr id="row_1_16_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00148.html" target="_self">tbb_hash_compare</a></td><td class="desc">Hash_compare that is default argument for concurrent_hash_map </td></tr>
+<tr id="row_1_17_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00034.html" target="_self">concurrent_bounded_queue</a></td><td class="desc">A high-performance thread-safe blocking concurrent bounded queue </td></tr>
+<tr id="row_1_18_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00046.html" target="_self">concurrent_vector</a></td><td class="desc">Concurrent vector container </td></tr>
+<tr id="row_1_19_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00158.html" target="_self">vector_iterator</a></td><td class="desc"></td></tr>
+<tr id="row_1_20_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img id="arr_1_20_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('1_20_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00081.html" target="_self">mutex</a></td><td class="desc">Wrapper around the platform's native reader-writer lock </td></tr>
+<tr id="row_1_20_0_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00116.html" target="_self">scoped_lock</a></td><td class="desc">The scoped locking pattern </td></tr>
+<tr id="row_1_21_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img id="arr_1_21_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('1_21_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00083.html" target="_self">null_mutex</a></td><td class="desc">A mutex which does nothing </td></tr>
+<tr id="row_1_21_0_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00115.html" target="_self">scoped_lock</a></td><td class="desc">Represents acquisition of a mutex </td></tr>
+<tr id="row_1_22_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img id="arr_1_22_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('1_22_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00084.html" target="_self">null_rw_mutex</a></td><td class="desc">A rw mutex which does nothing </td></tr>
+<tr id="row_1_22_0_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00117.html" target="_self">scoped_lock</a></td><td class="desc">Represents acquisition of a mutex </td></tr>
+<tr id="row_1_23_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00087.html" target="_self">parallel_do_feeder</a></td><td class="desc">Class the user supplied algorithm body uses to add new tasks </td></tr>
+<tr id="row_1_24_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00138.html" target="_self">task_group_context</a></td><td class="desc"></td></tr>
+<tr id="row_1_25_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00090.html" target="_self">pre_scan_tag</a></td><td class="desc">Used to indicate that the initial scan is being performed </td></tr>
+<tr id="row_1_26_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00055.html" target="_self">final_scan_tag</a></td><td class="desc">Used to indicate that the final scan is being performed </td></tr>
+<tr id="row_1_27_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00088.html" target="_self">parallel_while</a></td><td class="desc">Parallel iteration over a stream, with optional addition of more work </td></tr>
+<tr id="row_1_28_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00053.html" target="_self">filter</a></td><td class="desc">A stage in a pipeline </td></tr>
+<tr id="row_1_29_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00150.html" target="_self">thread_bound_filter</a></td><td class="desc">A stage in a pipeline served by a user thread </td></tr>
+<tr id="row_1_30_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00089.html" target="_self">pipeline</a></td><td class="desc">A processing pipeline that applies filters to items </td></tr>
+<tr id="row_1_31_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img id="arr_1_31_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('1_31_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00093.html" target="_self">queuing_mutex</a></td><td class="desc">Queuing mutex with local-only spinning </td></tr>
+<tr id="row_1_31_0_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00121.html" target="_self">scoped_lock</a></td><td class="desc">The scoped locking pattern </td></tr>
+<tr id="row_1_32_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img id="arr_1_32_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('1_32_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00094.html" target="_self">queuing_rw_mutex</a></td><td class="desc">Queuing reader-writer mutex with local-only spinning </td></tr>
+<tr id="row_1_32_0_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00119.html" target="_self">scoped_lock</a></td><td class="desc">The scoped locking pattern </td></tr>
+<tr id="row_1_33_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img id="arr_1_33_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('1_33_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00107.html" target="_self">recursive_mutex</a></td><td class="desc"></td></tr>
+<tr id="row_1_33_0_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00120.html" target="_self">scoped_lock</a></td><td class="desc">The scoped locking pattern </td></tr>
+<tr id="row_1_34_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img id="arr_1_34_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('1_34_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00111.html" target="_self">scalable_allocator</a></td><td class="desc">Meets "allocator" requirements of ISO C++ Standard, Section 20.1.5 </td></tr>
+<tr id="row_1_34_0_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00105.html" target="_self">rebind</a></td><td class="desc"></td></tr>
+<tr id="row_1_35_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img id="arr_1_35_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('1_35_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00112.html" target="_self">scalable_allocator< void ></a></td><td class="desc">Analogous to std::allocator<void>, as defined in ISO C++ Standard, Section 20.4.1 </td></tr>
+<tr id="row_1_35_0_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00097.html" target="_self">rebind</a></td><td class="desc"></td></tr>
+<tr id="row_1_36_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img id="arr_1_36_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('1_36_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00127.html" target="_self">spin_mutex</a></td><td class="desc">A lock that occupies a single byte </td></tr>
+<tr id="row_1_36_0_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00113.html" target="_self">scoped_lock</a></td><td class="desc">Represents acquisition of a mutex </td></tr>
+<tr id="row_1_37_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img id="arr_1_37_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('1_37_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00128.html" target="_self">spin_rw_mutex_v3</a></td><td class="desc">Fast, unfair, spinning reader-writer lock with backoff and writer-preference </td></tr>
+<tr id="row_1_37_0_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00114.html" target="_self">scoped_lock</a></td><td class="desc">The scoped locking pattern </td></tr>
+<tr id="row_1_38_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00139.html" target="_self">task_handle</a></td><td class="desc"></td></tr>
+<tr id="row_1_39_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00136.html" target="_self">task_group</a></td><td class="desc"></td></tr>
+<tr id="row_1_40_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00133.html" target="_self">structured_task_group</a></td><td class="desc"></td></tr>
+<tr id="row_1_41_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00141.html" target="_self">task_scheduler_init</a></td><td class="desc">Class delimiting the scope of task scheduler activity </td></tr>
+<tr id="row_1_42_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img id="arr_1_42_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('1_42_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00144.html" target="_self">tbb_allocator</a></td><td class="desc">Meets "allocator" requirements of ISO C++ Standard, Section 20.1.5 </td></tr>
+<tr id="row_1_42_0_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00098.html" target="_self">rebind</a></td><td class="desc"></td></tr>
+<tr id="row_1_43_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img id="arr_1_43_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('1_43_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00145.html" target="_self">tbb_allocator< void ></a></td><td class="desc">Analogous to std::allocator<void>, as defined in ISO C++ Standard, Section 20.4.1 </td></tr>
+<tr id="row_1_43_0_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00099.html" target="_self">rebind</a></td><td class="desc"></td></tr>
+<tr id="row_1_44_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img id="arr_1_44_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('1_44_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00160.html" target="_self">zero_allocator</a></td><td class="desc">Meets "allocator" requirements of ISO C++ Standard, Section 20.1.5 </td></tr>
+<tr id="row_1_44_0_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00100.html" target="_self">rebind</a></td><td class="desc"></td></tr>
+<tr id="row_1_45_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img id="arr_1_45_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('1_45_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00161.html" target="_self">zero_allocator< void, Allocator ></a></td><td class="desc">Analogous to std::allocator<void>, as defined in ISO C++ Standard, Section 20.4.1 </td></tr>
+<tr id="row_1_45_0_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00103.html" target="_self">rebind</a></td><td class="desc"></td></tr>
+<tr id="row_1_46_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00017.html" target="_self">bad_last_alloc</a></td><td class="desc">Exception for concurrent containers </td></tr>
+<tr id="row_1_47_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00065.html" target="_self">improper_lock</a></td><td class="desc">Exception for PPL locks </td></tr>
+<tr id="row_1_48_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00156.html" target="_self">user_abort</a></td><td class="desc">Exception for user-initiated abort </td></tr>
+<tr id="row_1_49_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00077.html" target="_self">missing_wait</a></td><td class="desc">Exception for missing wait on <a class="el" href="a00133.html">structured_task_group</a> </td></tr>
+<tr id="row_1_50_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00067.html" target="_self">invalid_multiple_scheduling</a></td><td class="desc">Exception for repeated scheduling of the same <a class="el" href="a00139.html">task_handle</a> </td></tr>
+<tr id="row_1_51_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00146.html" target="_self">tbb_exception</a></td><td class="desc">Interface to be implemented by all exceptions TBB recognizes and propagates across the threads </td></tr>
+<tr id="row_1_52_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00031.html" target="_self">captured_exception</a></td><td class="desc">This class is used by TBB to propagate information about unhandled exceptions into the root thread </td></tr>
+<tr id="row_1_53_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00078.html" target="_self">movable_exception</a></td><td class="desc">Template that can be used to implement exception that transfers arbitrary ExceptionData to the root thread </td></tr>
+<tr id="row_1_54_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00129.html" target="_self">split</a></td><td class="desc">Dummy type that distinguishes splitting constructor from copy constructor </td></tr>
+<tr id="row_1_55_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img id="arr_1_55_" src="ftv2plastnode.png" alt="\" width="16" height="22" onclick="toggleFolder('1_55_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00155.html" target="_self">tick_count</a></td><td class="desc">Absolute timestamp </td></tr>
+<tr id="row_1_55_0_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt=" " width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00066.html" target="_self">interval_t</a></td><td class="desc">Relative time interval </td></tr>
+<tr id="row_2_"><td class="entry"><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00009.html" target="_self">__TBB_malloc_proxy_caller</a></td><td class="desc"></td></tr>
 </table>
+</div><!-- directory -->
+</div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/bc_s.png b/doc/html/bc_s.png
new file mode 100644
index 0000000..224b29a
Binary files /dev/null and b/doc/html/bc_s.png differ
diff --git a/doc/html/bdwn.png b/doc/html/bdwn.png
new file mode 100644
index 0000000..940a0b9
Binary files /dev/null and b/doc/html/bdwn.png differ
diff --git a/doc/html/classes.html b/doc/html/classes.html
new file mode 100644
index 0000000..626edda
--- /dev/null
+++ b/doc/html/classes.html
@@ -0,0 +1,117 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Class Index</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">Class Index</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="qindex"><a class="qindex" href="#letter_A">A</a> | <a class="qindex" href="#letter_B">B</a> | <a class="qindex" href="#letter_C">C</a> | <a class="qindex" href="#letter_E">E</a> | <a class="qindex" href="#letter_F">F</a> | <a class="qindex" href="#letter_G">G</a> | <a class="qindex" href="#letter_I">I</a> | <a class="qindex" href="#letter_J">J</a> | <a class="qindex" href="#letter_L">L</a> |& [...]
+<table style="margin: 10px; white-space: nowrap;" align="center" width="95%" border="0" cellspacing="0" cellpadding="0">
+<tr><td rowspan="2" valign="bottom"><a name="letter_A"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">  A  </div></td></tr></table>
+</td><td valign="top"><a class="el" href="a00044.html">concurrent_unordered_set</a> (tbb::interface5)   </td><td rowspan="2" valign="bottom"><a name="letter_M"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">  M  </div></td></tr></table>
+</td><td valign="top"><a class="el" href="a00100.html">zero_allocator::rebind</a> (<a class="el" href="a00222.html">tbb</a>)   </td><td valign="top"><a class="el" href="a00137.html">task_group_base</a> (tbb::internal)   </td></tr>
+<tr><td valign="top"><a class="el" href="a00045.html">concurrent_unordered_set_traits</a> (tbb::interface5)   </td><td valign="top"><a class="el" href="a00099.html">tbb_allocator< void >::rebind</a> (<a class="el" href="a00222.html">tbb</a>)   </td><td valign="top"><a class="el" href="a00138.html">task_group_context</a> (<a class="el" href="a00222.html">tbb</a>)   </td></tr>
+<tr><td valign="top"><a class="el" href="a00010.html">concurrent_hash_map::accessor</a> (tbb::interface5)   </td><td valign="top"><a class="el" href="a00046.html">concurrent_vector</a> (<a class="el" href="a00222.html">tbb</a>)   </td><td valign="top"><a class="el" href="a00073.html">memory_pool</a> (tbb::interface6)   </td><td valign="top"><a class="el" href="a00098.html">tbb_allocator::rebind</a> (<a class="el" href="a00222.html">tbb</a>)&#1 [...]
+<tr><td valign="top"><a class="el" href="a00011.html">aggregator</a> (tbb::interface6)   </td><td valign="top"><a class="el" href="a00047.html">concurrent_hash_map::const_accessor</a> (tbb::interface5)   </td><td valign="top"><a class="el" href="a00074.html">memory_pool_allocator</a> (tbb::interface6)   </td><td valign="top"><a class="el" href="a00097.html">scalable_allocator< void >::rebind</a> (<a class="el" href="a00222.html">tbb</a>) [...]
+<tr><td valign="top"><a class="el" href="a00012.html">aggregator_ext</a> (tbb::interface6)   </td><td valign="top"><a class="el" href="a00048.html">continue_msg</a> (tbb::flow::interface7)   </td><td valign="top"><a class="el" href="a00075.html">memory_pool_allocator< void, P ></a> (tbb::interface6)   </td><td valign="top"><a class="el" href="a00096.html">cache_aligned_allocator< void >::rebind</a> (<a class="el" href="a00222.html" [...]
+<tr><td valign="top"><a class="el" href="a00013.html">aggregator_operation</a> (tbb::interface6)   </td><td valign="top"><a class="el" href="a00049.html">continue_node</a> (tbb::flow::interface7)   </td><td valign="top"><a class="el" href="a00076.html">MemPoolPolicy</a> (<a class="el" href="a00219.html">rml</a>)   </td><td valign="top"><a class="el" href="a00106.html">receiver</a> (tbb::flow::interface7)   </td><td valign="top"> [...]
+<tr><td valign="top"><a class="el" href="a00014.html">aligned_space</a> (<a class="el" href="a00222.html">tbb</a>)   </td><td valign="top"><a class="el" href="a00050.html">continue_receiver</a> (tbb::flow::interface7)   </td><td valign="top"><a class="el" href="a00077.html">missing_wait</a> (<a class="el" href="a00222.html">tbb</a>)   </td><td valign="top"><a class="el" href="a00107.html">recursive_mutex</a> (<a class="el" href="a00222.html">t [...]
+<tr><td valign="top"><a class="el" href="a00015.html">atomic</a> (<a class="el" href="a00222.html">tbb</a>)   </td><td valign="top"><a class="el" href="a00051.html">critical_section_v4</a> (tbb::internal)   </td><td valign="top"><a class="el" href="a00078.html">movable_exception</a> (<a class="el" href="a00222.html">tbb</a>)   </td><td valign="top"><a class="el" href="a00108.html">round_robin_cache</a> (tbb::flow::interface7::internal) &# [...]
+<tr><td valign="top"><a class="el" href="a00016.html">atomic< void * ></a> (<a class="el" href="a00222.html">tbb</a>)   </td><td rowspan="2" valign="bottom"><a name="letter_E"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">  E  </div></td></tr></table>
+</td><td valign="top"><a class="el" href="a00079.html">multifunction_node</a> (tbb::flow::interface7)   </td><td valign="top"><a class="el" href="a00109.html">run_and_put_task</a> (tbb::flow::interface7)   </td><td valign="top"><a class="el" href="a00145.html">tbb_allocator< void ></a> (<a class="el" href="a00222.html">tbb</a>)   </td></tr>
+<tr><td rowspan="2" valign="bottom"><a name="letter_B"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">  B  </div></td></tr></table>
+</td><td valign="top"><a class="el" href="a00080.html">multifunction_node< Input, Output, queueing, Allocator ></a> (tbb::flow::interface7)   </td><td valign="top"><a class="el" href="a00110.html">runtime_loader</a> (tbb::interface6)   </td><td valign="top"><a class="el" href="a00146.html">tbb_exception</a> (<a class="el" href="a00222.html">tbb</a>)   </td></tr>
+<tr><td valign="top"><a class="el" href="a00052.html">enumerable_thread_specific</a> (tbb::interface6)   </td><td valign="top"><a class="el" href="a00081.html">mutex</a> (<a class="el" href="a00222.html">tbb</a>)   </td><td rowspan="2" valign="bottom"><a name="letter_S"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">  S  </div></td></tr></table>
+</td><td valign="top"><a class="el" href="a00147.html">tbb_exception_ptr</a> (tbb::internal)   </td></tr>
+<tr><td valign="top"><a class="el" href="a00017.html">bad_last_alloc</a> (<a class="el" href="a00222.html">tbb</a>)   </td><td rowspan="2" valign="bottom"><a name="letter_F"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">  F  </div></td></tr></table>
+</td><td rowspan="2" valign="bottom"><a name="letter_N"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">  N  </div></td></tr></table>
+</td><td valign="top"><a class="el" href="a00148.html">tbb_hash_compare</a> (<a class="el" href="a00222.html">tbb</a>)   </td></tr>
+<tr><td valign="top"><a class="el" href="a00018.html">basic_handler</a> (tbb::interface6::internal)   </td><td valign="top"><a class="el" href="a00111.html">scalable_allocator</a> (<a class="el" href="a00222.html">tbb</a>)   </td><td valign="top"><a class="el" href="a00149.html">tbb_thread_v3</a> (tbb::internal)   </td></tr>
+<tr><td valign="top"><a class="el" href="a00019.html">basic_operation</a> (tbb::interface6::internal)   </td><td valign="top"><a class="el" href="a00053.html">filter</a> (<a class="el" href="a00222.html">tbb</a>)   </td><td valign="top"><a class="el" href="a00082.html">concurrent_hash_map::node</a> (tbb::interface5)   </td><td valign="top"><a class="el" href="a00112.html">scalable_allocator< void ></a> (<a class="el" href="a00222.html">t [...]
+<tr><td valign="top"><a class="el" href="a00020.html">basic_operation_base</a> (tbb::interface6::internal)   </td><td valign="top"><a class="el" href="a00054.html">filter_t</a> (tbb::interface6)   </td><td valign="top"><a class="el" href="a00083.html">null_mutex</a> (<a class="el" href="a00222.html">tbb</a>)   </td><td valign="top"><a class="el" href="a00122.html">critical_section_v4::scoped_lock</a> (tbb::internal)   </td><td v [...]
+<tr><td valign="top"><a class="el" href="a00021.html">blocked_range</a> (<a class="el" href="a00222.html">tbb</a>)   </td><td valign="top"><a class="el" href="a00055.html">final_scan_tag</a> (<a class="el" href="a00222.html">tbb</a>)   </td><td valign="top"><a class="el" href="a00084.html">null_rw_mutex</a> (<a class="el" href="a00222.html">tbb</a>)   </td><td valign="top"><a class="el" href="a00121.html">queuing_mutex::scoped_lock</a> (<a cla [...]
+<tr><td valign="top"><a class="el" href="a00022.html">blocked_range2d</a> (<a class="el" href="a00222.html">tbb</a>)   </td><td valign="top"><a class="el" href="a00056.html">fixed_pool</a> (tbb::interface6)   </td><td rowspan="2" valign="bottom"><a name="letter_O"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">  O  </div></td></tr></table>
+</td><td valign="top"><a class="el" href="a00120.html">recursive_mutex::scoped_lock</a> (<a class="el" href="a00222.html">tbb</a>)   </td><td valign="top"><a class="el" href="a00153.html">thread_closure_2</a> (tbb::internal)   </td></tr>
+<tr><td valign="top"><a class="el" href="a00023.html">blocked_range3d</a> (<a class="el" href="a00222.html">tbb</a>)   </td><td valign="top"><a class="el" href="a00057.html">flattened2d</a> (tbb::interface6)   </td><td valign="top"><a class="el" href="a00119.html">queuing_rw_mutex::scoped_lock</a> (<a class="el" href="a00222.html">tbb</a>)   </td><td valign="top"><a class="el" href="a00154.html">thread_closure_base</a> (tbb::internal) &#1 [...]
+<tr><td valign="top"><a class="el" href="a00024.html">broadcast_cache</a> (tbb::flow::interface7::internal)   </td><td valign="top"><a class="el" href="a00058.html">flow_control</a> (tbb::interface6)   </td><td valign="top"><a class="el" href="a00085.html">or_node</a> (tbb::flow::interface7)   </td><td valign="top"><a class="el" href="a00118.html">reader_writer_lock::scoped_lock</a> (tbb::interface5)   </td><td valign="top"><a c [...]
+<tr><td valign="top"><a class="el" href="a00025.html">broadcast_node</a> (tbb::flow::interface7)   </td><td valign="top"><a class="el" href="a00059.html">function_node</a> (tbb::flow::interface7)   </td><td valign="top"><a class="el" href="a00086.html">overwrite_node</a> (tbb::flow::interface7)   </td><td valign="top"><a class="el" href="a00117.html">null_rw_mutex::scoped_lock</a> (<a class="el" href="a00222.html">tbb</a>)   </t [...]
+</td></tr>
+<tr><td valign="top"><a class="el" href="a00026.html">concurrent_hash_map::bucket_accessor</a> (tbb::interface5)   </td><td valign="top"><a class="el" href="a00060.html">function_node< Input, Output, queueing, Allocator ></a> (tbb::flow::interface7)   </td><td rowspan="2" valign="bottom"><a name="letter_P"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">  P  </div></td></tr></table>
+</td><td valign="top"><a class="el" href="a00116.html">mutex::scoped_lock</a> (<a class="el" href="a00222.html">tbb</a>)   </td></tr>
+<tr><td valign="top"><a class="el" href="a00027.html">buffer_node</a> (tbb::flow::interface7)   </td><td rowspan="2" valign="bottom"><a name="letter_G"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">  G  </div></td></tr></table>
+</td><td valign="top"><a class="el" href="a00115.html">null_mutex::scoped_lock</a> (<a class="el" href="a00222.html">tbb</a>)   </td><td valign="top"><a class="el" href="a00156.html">user_abort</a> (<a class="el" href="a00222.html">tbb</a>)   </td></tr>
+<tr><td valign="top"><a class="el" href="a00028.html">buffer_node::buffer_operation</a> (tbb::flow::interface7)   </td><td valign="top"><a class="el" href="a00087.html">parallel_do_feeder</a> (<a class="el" href="a00222.html">tbb</a>)   </td><td valign="top"><a class="el" href="a00114.html">spin_rw_mutex_v3::scoped_lock</a> (<a class="el" href="a00222.html">tbb</a>)   </td><td rowspan="2" valign="bottom"><a name="letter_V"></a><table border="0 [...]
+</td></tr>
+<tr><td rowspan="2" valign="bottom"><a name="letter_C"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">  C  </div></td></tr></table>
+</td><td valign="top"><a class="el" href="a00061.html">graph</a> (tbb::flow::interface7)   </td><td valign="top"><a class="el" href="a00088.html">parallel_while</a> (<a class="el" href="a00222.html">tbb</a>)   </td><td valign="top"><a class="el" href="a00113.html">spin_mutex::scoped_lock</a> (<a class="el" href="a00222.html">tbb</a>)   </td></tr>
+<tr><td valign="top"><a class="el" href="a00062.html">graph_iterator</a> (tbb::flow::interface7)   </td><td valign="top"><a class="el" href="a00089.html">pipeline</a> (<a class="el" href="a00222.html">tbb</a>)   </td><td valign="top"><a class="el" href="a00123.html">reader_writer_lock::scoped_lock_read</a> (tbb::interface5)   </td><td valign="top"><a class="el" href="a00157.html">concurrent_unordered_map_traits::value_compare</a> (tbb::interfa [...]
+<tr><td valign="top"><a class="el" href="a00029.html">cache_aligned_allocator</a> (<a class="el" href="a00222.html">tbb</a>)   </td><td valign="top"><a class="el" href="a00063.html">graph_node</a> (tbb::flow::interface7)   </td><td valign="top"><a class="el" href="a00090.html">pre_scan_tag</a> (<a class="el" href="a00222.html">tbb</a>)   </td><td valign="top"><a class="el" href="a00124.html">sender</a> (tbb::flow::interface7)    [...]
+<tr><td valign="top"><a class="el" href="a00030.html">cache_aligned_allocator< void ></a> (<a class="el" href="a00222.html">tbb</a>)   </td><td rowspan="2" valign="bottom"><a name="letter_I"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">  I  </div></td></tr></table>
+</td><td valign="top"><a class="el" href="a00091.html">priority_queue_node</a> (tbb::flow::interface7)   </td><td valign="top"><a class="el" href="a00125.html">sequencer_node</a> (tbb::flow::interface7)   </td><td rowspan="2" valign="bottom"><a name="letter_W"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">  W  </div></td></tr></table>
+</td></tr>
+<tr><td valign="top"><a class="el" href="a00031.html">captured_exception</a> (<a class="el" href="a00222.html">tbb</a>)   </td><td rowspan="2" valign="bottom"><a name="letter_Q"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">  Q  </div></td></tr></table>
+</td><td valign="top"><a class="el" href="a00126.html">source_node</a> (tbb::flow::interface7)   </td></tr>
+<tr><td valign="top"><a class="el" href="a00032.html">combinable</a> (<a class="el" href="a00222.html">tbb</a>)   </td><td valign="top"><a class="el" href="a00064.html">tbb_thread_v3::id</a> (tbb::internal)   </td><td valign="top"><a class="el" href="a00127.html">spin_mutex</a> (<a class="el" href="a00222.html">tbb</a>)   </td><td valign="top"><a class="el" href="a00159.html">write_once_node</a> (tbb::flow::interface7)   </td></tr>
+<tr><td valign="top"><a class="el" href="a00033.html">concrete_filter</a> (tbb::interface6::internal)   </td><td valign="top"><a class="el" href="a00065.html">improper_lock</a> (<a class="el" href="a00222.html">tbb</a>)   </td><td valign="top"><a class="el" href="a00092.html">queue_node</a> (tbb::flow::interface7)   </td><td valign="top"><a class="el" href="a00128.html">spin_rw_mutex_v3</a> (<a class="el" href="a00222.html">tbb</a>) &#160 [...]
+</td></tr>
+<tr><td valign="top"><a class="el" href="a00034.html">concurrent_bounded_queue</a> (<a class="el" href="a00222.html">tbb</a>)   </td><td valign="top"><a class="el" href="a00066.html">tick_count::interval_t</a> (<a class="el" href="a00222.html">tbb</a>)   </td><td valign="top"><a class="el" href="a00093.html">queuing_mutex</a> (<a class="el" href="a00222.html">tbb</a>)   </td><td valign="top"><a class="el" href="a00129.html">split</a> (<a class [...]
+<tr><td valign="top"><a class="el" href="a00035.html">concurrent_hash_map</a> (tbb::interface5)   </td><td valign="top"><a class="el" href="a00067.html">invalid_multiple_scheduling</a> (<a class="el" href="a00222.html">tbb</a>)   </td><td valign="top"><a class="el" href="a00094.html">queuing_rw_mutex</a> (<a class="el" href="a00222.html">tbb</a>)   </td><td valign="top"><a class="el" href="a00130.html">split_node</a> (tbb::flow::interface7)&#1 [...]
+<tr><td valign="top"><a class="el" href="a00036.html">concurrent_lru_cache</a> (tbb::interface6)   </td><td rowspan="2" valign="bottom"><a name="letter_J"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">  J  </div></td></tr></table>
+</td><td rowspan="2" valign="bottom"><a name="letter_R"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">  R  </div></td></tr></table>
+</td><td valign="top"><a class="el" href="a00131.html">STATIC_ASSERTION_FAILED</a> (tbb::internal)   </td><td valign="top"><a class="el" href="a00161.html">zero_allocator< void, Allocator ></a> (<a class="el" href="a00222.html">tbb</a>)   </td></tr>
+<tr><td valign="top"><a class="el" href="a00037.html">concurrent_priority_queue</a> (tbb::interface5)   </td><td valign="top"><a class="el" href="a00132.html">STATIC_ASSERTION_FAILED< false ></a> (tbb::internal)   </td><td rowspan="2" valign="bottom"><a name="letter__"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">  _  </div></td></tr></table>
+</td></tr>
+<tr><td valign="top"><a class="el" href="a00039.html">concurrent_queue</a> (tbb::deprecated)   </td><td valign="top"><a class="el" href="a00068.html">join_node</a> (tbb::flow::interface7)   </td><td valign="top"><a class="el" href="a00095.html">reader_writer_lock</a> (tbb::interface5)   </td><td valign="top"><a class="el" href="a00133.html">structured_task_group</a> (<a class="el" href="a00222.html">tbb</a>)   </td></tr>
+<tr><td valign="top"><a class="el" href="a00038.html">concurrent_queue</a> (tbb::strict_ppl)   </td><td valign="top"><a class="el" href="a00069.html">join_node< OutputTuple, queueing ></a> (tbb::flow::interface7)   </td><td valign="top"><a class="el" href="a00105.html">scalable_allocator::rebind</a> (<a class="el" href="a00222.html">tbb</a>)   </td><td valign="top"><a class="el" href="a00134.html">successor_cache</a> (tbb::flow::interfac [...]
+<tr><td valign="top"><a class="el" href="a00040.html">concurrent_unordered_map</a> (tbb::interface5)   </td><td valign="top"><a class="el" href="a00070.html">join_node< OutputTuple, reserving ></a> (tbb::flow::interface7)   </td><td valign="top"><a class="el" href="a00104.html">cache_aligned_allocator::rebind</a> (<a class="el" href="a00222.html">tbb</a>)   </td><td rowspan="2" valign="bottom"><a name="letter_T"></a><table border="0" cel [...]
+</td><td></td></tr>
+<tr><td valign="top"><a class="el" href="a00041.html">concurrent_unordered_map_traits</a> (tbb::interface5)   </td><td valign="top"><a class="el" href="a00071.html">join_node< OutputTuple, tag_matching ></a> (tbb::flow::interface7)   </td><td valign="top"><a class="el" href="a00103.html">zero_allocator< void, Allocator >::rebind</a> (<a class="el" href="a00222.html">tbb</a>)   </td><td></td></tr>
+<tr><td valign="top"><a class="el" href="a00042.html">concurrent_unordered_multimap</a> (tbb::interface5)   </td><td rowspan="2" valign="bottom"><a name="letter_L"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">  L  </div></td></tr></table>
+</td><td valign="top"><a class="el" href="a00102.html">memory_pool_allocator< void, P >::rebind</a> (tbb::interface6)   </td><td valign="top"><a class="el" href="a00135.html">task_arena</a> (tbb::interface7)   </td><td></td></tr>
+<tr><td valign="top"><a class="el" href="a00043.html">concurrent_unordered_multiset</a> (tbb::interface5)   </td><td valign="top"><a class="el" href="a00101.html">memory_pool_allocator::rebind</a> (tbb::interface6)   </td><td valign="top"><a class="el" href="a00136.html">task_group</a> (<a class="el" href="a00222.html">tbb</a>)   </td><td></td></tr>
+<tr><td></td><td valign="top"><a class="el" href="a00072.html">limiter_node</a> (tbb::flow::interface7)   </td><td></td><td></td><td></td></tr>
+<tr><td></td><td></td><td></td><td></td><td></td></tr>
+</table>
+<div class="qindex"><a class="qindex" href="#letter_A">A</a> | <a class="qindex" href="#letter_B">B</a> | <a class="qindex" href="#letter_C">C</a> | <a class="qindex" href="#letter_E">E</a> | <a class="qindex" href="#letter_F">F</a> | <a class="qindex" href="#letter_G">G</a> | <a class="qindex" href="#letter_I">I</a> | <a class="qindex" href="#letter_J">J</a> | <a class="qindex" href="#letter_L">L</a> |& [...]
+</div><!-- contents -->
+<hr>
+<p></p>
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
+<p></p>
+Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
+registered trademarks or trademarks of Intel Corporation or its
+subsidiaries in the United States and other countries.
+<p></p>
+* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/closed.png b/doc/html/closed.png
new file mode 100644
index 0000000..98cc2c9
Binary files /dev/null and b/doc/html/closed.png differ
diff --git a/doc/html/concepts.html b/doc/html/concepts.html
deleted file mode 100644
index ebca114..0000000
--- a/doc/html/concepts.html
+++ /dev/null
@@ -1,31 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>TBB concepts</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
-  <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="nav">
-<a class="el" href="index.html">Main Page</a></div>
-<h1><a class="anchor" name="concepts">TBB concepts</a></h1>A concept is a set of requirements to a type, which are necessary and sufficient for the type to model a particular behavior or a set of behaviors. Some concepts are specific to a particular algorithm (e.g. algorithm body), while other ones are common to several algorithms (e.g. range concept).<p>
-All TBB algorithms make use of different classes implementing various concepts. Implementation classes are supplied by the user as type arguments of template parameters and/or as objects passed as function call arguments. The library provides predefined implementations of some concepts (e.g. several kinds of <a class="el" href="range_req.html">ranges</a>), while other ones must always be implemented by the user.<p>
-TBB defines a set of minimal requirements each concept must conform to. Here is the list of different concepts hyperlinked to the corresponding requirements specifications:<ul>
-<li><a class="el" href="range_req.html">Requirements on range concept</a></li><li><a class="el" href="parallel_do_body_req.html">Requirements on parallel_do body</a></li><li><a class="el" href="parallel_for_body_req.html">Requirements on parallel_for body</a></li><li><a class="el" href="parallel_reduce_body_req.html">Requirements on parallel_reduce body</a></li><li><a class="el" href="parallel_scan_body_req.html">Requirements on parallel_scan body</a></li><li><a class="el" href="parallel [...]
-<hr>
-<p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
-<p></p>
-Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
-registered trademarks or trademarks of Intel Corporation or its
-subsidiaries in the United States and other countries.
-<p></p>
-* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/deprecated.html b/doc/html/deprecated.html
deleted file mode 100644
index ee13035..0000000
--- a/doc/html/deprecated.html
+++ /dev/null
@@ -1,29 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Deprecated List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
-  <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<h1><a class="anchor" name="deprecated">Deprecated List</a></h1><a class="anchor" name="_deprecated000001"></a> <dl>
-<dt>Member <a class="el" href="a00287.html#48da3536245318af6cb5fd58bac78039">tbb::deprecated::concurrent_queue::pop_if_present</a> (T &destination) </dt>
-<dd>Use try_pop() </dd>
-</dl>
-<hr>
-<p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
-<p></p>
-Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
-registered trademarks or trademarks of Intel Corporation or its
-subsidiaries in the United States and other countries.
-<p></p>
-* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/dir_525f2cc589630bacbdc3bb450847427e.html b/doc/html/dir_525f2cc589630bacbdc3bb450847427e.html
new file mode 100644
index 0000000..2ab8244
--- /dev/null
+++ b/doc/html/dir_525f2cc589630bacbdc3bb450847427e.html
@@ -0,0 +1,52 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb Directory Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_525f2cc589630bacbdc3bb450847427e.html">tbb</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb Directory Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="subdirs"></a>
+Directories</h2></td></tr>
+<tr class="memitem:dir_b9976680b2be72d2d0b8fca1c31202a2"><td class="memItemLeft" align="right" valign="top">directory  </td><td class="memItemRight" valign="bottom"><a class="el" href="dir_b9976680b2be72d2d0b8fca1c31202a2.html">1.0</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+</div><!-- contents -->
+<hr>
+<p></p>
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
+<p></p>
+Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
+registered trademarks or trademarks of Intel Corporation or its
+subsidiaries in the United States and other countries.
+<p></p>
+* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/dir_63fb2cc293d133785b96e521fa051167.html b/doc/html/dir_63fb2cc293d133785b96e521fa051167.html
new file mode 100644
index 0000000..ccbe83f
--- /dev/null
+++ b/doc/html/dir_63fb2cc293d133785b96e521fa051167.html
@@ -0,0 +1,52 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>include Directory Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_525f2cc589630bacbdc3bb450847427e.html">tbb</a></li><li class="navelem"><a class="el" href="dir_b9976680b2be72d2d0b8fca1c31202a2.html">1.0</a></li><li class="navelem"><a class="el" href="dir_63fb2cc293d133785b96e521fa051167.html">include</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">include Directory Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="subdirs"></a>
+Directories</h2></td></tr>
+<tr class="memitem:dir_87119f26c7695cbc270003e99bc7f49f"><td class="memItemLeft" align="right" valign="top">directory  </td><td class="memItemRight" valign="bottom"><a class="el" href="dir_87119f26c7695cbc270003e99bc7f49f.html">tbb</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+</div><!-- contents -->
+<hr>
+<p></p>
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
+<p></p>
+Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
+registered trademarks or trademarks of Intel Corporation or its
+subsidiaries in the United States and other countries.
+<p></p>
+* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/dir_87119f26c7695cbc270003e99bc7f49f.html b/doc/html/dir_87119f26c7695cbc270003e99bc7f49f.html
new file mode 100644
index 0000000..3f0d661
--- /dev/null
+++ b/doc/html/dir_87119f26c7695cbc270003e99bc7f49f.html
@@ -0,0 +1,161 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>tbb Directory Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_525f2cc589630bacbdc3bb450847427e.html">tbb</a></li><li class="navelem"><a class="el" href="dir_b9976680b2be72d2d0b8fca1c31202a2.html">1.0</a></li><li class="navelem"><a class="el" href="dir_63fb2cc293d133785b96e521fa051167.html">include</a></li><li class="navelem"><a class="el" href="dir_87119f26c7695cbc270003e99bc7f49f.html">tbb</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">tbb Directory Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
+Files</h2></td></tr>
+<tr class="memitem:a00162"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>aggregator.h</b></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a00163"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>aligned_space.h</b></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a00164"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>atomic.h</b></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a00165"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>blocked_range.h</b></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a00166"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>blocked_range2d.h</b></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a00167"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>blocked_range3d.h</b></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a00168"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>cache_aligned_allocator.h</b></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a00169"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>combinable.h</b></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a00170"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>concurrent_hash_map.h</b></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a00171"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>concurrent_lru_cache.h</b></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a00172"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>concurrent_priority_queue.h</b></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a00173"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>concurrent_queue.h</b></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a00174"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>concurrent_unordered_map.h</b></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a00175"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>concurrent_unordered_set.h</b></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a00176"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>concurrent_vector.h</b></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a00177"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>critical_section.h</b></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a00178"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>enumerable_thread_specific.h</b></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a00179"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00179.html">flow_graph.h</a></td></tr>
+<tr class="memdesc:a00179"><td class="mdescLeft"> </td><td class="mdescRight">The graph related classes and functions. <br/></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a00180"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00180.html">memory_pool.h</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a00181"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>mutex.h</b></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a00182"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>null_mutex.h</b></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a00183"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>null_rw_mutex.h</b></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a00184"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>parallel_do.h</b></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a00185"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>parallel_for.h</b></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a00186"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>parallel_for_each.h</b></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a00187"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>parallel_invoke.h</b></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a00188"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>parallel_reduce.h</b></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a00189"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>parallel_scan.h</b></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a00190"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>parallel_sort.h</b></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a00191"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>parallel_while.h</b></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a00192"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>partitioner.h</b></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a00193"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>pipeline.h</b></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a00194"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>queuing_mutex.h</b></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a00195"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>queuing_rw_mutex.h</b></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a00196"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>reader_writer_lock.h</b></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a00197"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>recursive_mutex.h</b></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a00198"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>runtime_loader.h</b></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a00199"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00199.html">scalable_allocator.h</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a00200"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>spin_mutex.h</b></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a00201"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>spin_rw_mutex.h</b></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a00202"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>task.h</b></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a00203"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>task_arena.h</b></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a00204"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>task_group.h</b></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a00205"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>task_scheduler_init.h</b></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a00206"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>task_scheduler_observer.h</b></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a00207"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>tbb.h</b></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a00208"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>tbb_allocator.h</b></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a00209"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>tbb_config.h</b></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a00210"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>tbb_exception.h</b></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a00211"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>tbb_machine.h</b></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a00212"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>tbb_profiling.h</b></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a00213"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>tbb_stddef.h</b></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a00214"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>tbb_thread.h</b></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a00215"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>tbbmalloc_proxy.h</b></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a00216"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>tick_count.h</b></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+</div><!-- contents -->
+<hr>
+<p></p>
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
+<p></p>
+Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
+registered trademarks or trademarks of Intel Corporation or its
+subsidiaries in the United States and other countries.
+<p></p>
+* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/dir_b9976680b2be72d2d0b8fca1c31202a2.html b/doc/html/dir_b9976680b2be72d2d0b8fca1c31202a2.html
new file mode 100644
index 0000000..08e7766
--- /dev/null
+++ b/doc/html/dir_b9976680b2be72d2d0b8fca1c31202a2.html
@@ -0,0 +1,52 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>1.0 Directory Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+<div id="nav-path" class="navpath">
+  <ul>
+<li class="navelem"><a class="el" href="dir_525f2cc589630bacbdc3bb450847427e.html">tbb</a></li><li class="navelem"><a class="el" href="dir_b9976680b2be72d2d0b8fca1c31202a2.html">1.0</a></li>  </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">1.0 Directory Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="subdirs"></a>
+Directories</h2></td></tr>
+<tr class="memitem:dir_63fb2cc293d133785b96e521fa051167"><td class="memItemLeft" align="right" valign="top">directory  </td><td class="memItemRight" valign="bottom"><a class="el" href="dir_63fb2cc293d133785b96e521fa051167.html">include</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+</table>
+</div><!-- contents -->
+<hr>
+<p></p>
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
+<p></p>
+Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
+registered trademarks or trademarks of Intel Corporation or its
+subsidiaries in the United States and other countries.
+<p></p>
+* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/doxygen.css b/doc/html/doxygen.css
index 5d58369..3ac2851 100644
--- a/doc/html/doxygen.css
+++ b/doc/html/doxygen.css
@@ -1,358 +1,1186 @@
-BODY,H1,H2,H3,H4,H5,H6,P,CENTER,TD,TH,UL,DL,DIV {
-	font-family: Geneva, Arial, Helvetica, sans-serif;
+/* The standard CSS for doxygen 1.8.4 */
+
+body, table, div, p, dl {
+	font: 400 14px/22px Roboto,sans-serif;
 }
-BODY,TD {
-       font-size: 90%;
+
+/* @group Heading Levels */
+
+h1.groupheader {
+	font-size: 150%;
 }
-H1 {
-	text-align: center;
-       font-size: 160%;
+
+.title {
+	font: 400 14px/28px Roboto,sans-serif;
+	font-size: 150%;
+	font-weight: bold;
+	margin: 10px 2px;
 }
-H2 {
-       font-size: 120%;
+
+h2.groupheader {
+	border-bottom: 1px solid #879ECB;
+	color: #354C7B;
+	font-size: 150%;
+	font-weight: normal;
+	margin-top: 1.75em;
+	padding-top: 8px;
+	padding-bottom: 4px;
+	width: 100%;
 }
-H3 {
-       font-size: 100%;
+
+h3.groupheader {
+	font-size: 100%;
 }
-CAPTION { font-weight: bold }
-DIV.qindex {
-	width: 100%;
-	background-color: #e8eef2;
-	border: 1px solid #84b0c7;
+
+h1, h2, h3, h4, h5, h6 {
+	-webkit-transition: text-shadow 0.5s linear;
+	-moz-transition: text-shadow 0.5s linear;
+	-ms-transition: text-shadow 0.5s linear;
+	-o-transition: text-shadow 0.5s linear;
+	transition: text-shadow 0.5s linear;
+	margin-right: 15px;
+}
+
+h1.glow, h2.glow, h3.glow, h4.glow, h5.glow, h6.glow {
+	text-shadow: 0 0 15px cyan;
+}
+
+dt {
+	font-weight: bold;
+}
+
+div.multicol {
+	-moz-column-gap: 1em;
+	-webkit-column-gap: 1em;
+	-moz-column-count: 3;
+	-webkit-column-count: 3;
+}
+
+p.startli, p.startdd, p.starttd {
+	margin-top: 2px;
+}
+
+p.endli {
+	margin-bottom: 0px;
+}
+
+p.enddd {
+	margin-bottom: 4px;
+}
+
+p.endtd {
+	margin-bottom: 2px;
+}
+
+/* @end */
+
+caption {
+	font-weight: bold;
+}
+
+span.legend {
+        font-size: 70%;
+        text-align: center;
+}
+
+h3.version {
+        font-size: 90%;
+        text-align: center;
+}
+
+div.qindex, div.navtab{
+	background-color: #EBEFF6;
+	border: 1px solid #A3B4D7;
 	text-align: center;
-	margin: 2px;
-	padding: 2px;
-	line-height: 140%;
 }
-DIV.nav {
+
+div.qindex, div.navpath {
 	width: 100%;
-	background-color: #e8eef2;
-	border: 1px solid #84b0c7;
-	text-align: center;
-	margin: 2px;
-	padding: 2px;
 	line-height: 140%;
 }
-DIV.navtab {
-       background-color: #e8eef2;
-       border: 1px solid #84b0c7;
-       text-align: center;
-       margin: 2px;
-       margin-right: 15px;
-       padding: 2px;
+
+div.navtab {
+	margin-right: 15px;
 }
-TD.navtab {
-       font-size: 70%;
+
+/* @group Link Styling */
+
+a {
+	color: #3D578C;
+	font-weight: normal;
+	text-decoration: none;
 }
-A.qindex {
-       text-decoration: none;
-       font-weight: bold;
-       color: #1A419D;
+
+.contents a:visited {
+	color: #4665A2;
 }
-A.qindex:visited {
-       text-decoration: none;
-       font-weight: bold;
-       color: #1A419D
+
+a:hover {
+	text-decoration: underline;
 }
-A.qindex:hover {
-	text-decoration: none;
-	background-color: #ddddff;
+
+a.qindex {
+	font-weight: bold;
 }
-A.qindexHL {
-	text-decoration: none;
+
+a.qindexHL {
 	font-weight: bold;
-	background-color: #6666cc;
+	background-color: #9CAFD4;
 	color: #ffffff;
-	border: 1px double #9295C2;
+	border: 1px double #869DCA;
 }
-A.qindexHL:hover {
-	text-decoration: none;
-	background-color: #6666cc;
+
+.contents a.qindexHL:visited {
+        color: #ffffff;
+}
+
+a.el {
+	font-weight: bold;
+}
+
+a.elRef {
+}
+
+a.code, a.code:visited {
+	color: #4665A2; 
+}
+
+a.codeRef, a.codeRef:visited {
+	color: #4665A2; 
+}
+
+/* @end */
+
+dl.el {
+	margin-left: -1cm;
+}
+
+pre.fragment {
+        border: 1px solid #C4CFE5;
+        background-color: #FBFCFD;
+        padding: 4px 6px;
+        margin: 4px 8px 4px 2px;
+        overflow: auto;
+        word-wrap: break-word;
+        font-size:  9pt;
+        line-height: 125%;
+        font-family: monospace, fixed;
+        font-size: 105%;
+}
+
+div.fragment {
+        padding: 0px;
+        margin: 0px;
+	background-color: #FBFCFD;
+	border: 1px solid #C4CFE5;
+}
+
+div.line {
+	font-family: monospace, fixed;
+        font-size: 13px;
+	min-height: 13px;
+	line-height: 1.0;
+	text-wrap: unrestricted;
+	white-space: -moz-pre-wrap; /* Moz */
+	white-space: -pre-wrap;     /* Opera 4-6 */
+	white-space: -o-pre-wrap;   /* Opera 7 */
+	white-space: pre-wrap;      /* CSS3  */
+	word-wrap: break-word;      /* IE 5.5+ */
+	text-indent: -53px;
+	padding-left: 53px;
+	padding-bottom: 0px;
+	margin: 0px;
+	-webkit-transition-property: background-color, box-shadow;
+	-webkit-transition-duration: 0.5s;
+	-moz-transition-property: background-color, box-shadow;
+	-moz-transition-duration: 0.5s;
+	-ms-transition-property: background-color, box-shadow;
+	-ms-transition-duration: 0.5s;
+	-o-transition-property: background-color, box-shadow;
+	-o-transition-duration: 0.5s;
+	transition-property: background-color, box-shadow;
+	transition-duration: 0.5s;
+}
+
+div.line.glow {
+	background-color: cyan;
+	box-shadow: 0 0 10px cyan;
+}
+
+
+span.lineno {
+	padding-right: 4px;
+	text-align: right;
+	border-right: 2px solid #0F0;
+	background-color: #E8E8E8;
+        white-space: pre;
+}
+span.lineno a {
+	background-color: #D8D8D8;
+}
+
+span.lineno a:hover {
+	background-color: #C8C8C8;
+}
+
+div.ah {
+	background-color: black;
+	font-weight: bold;
 	color: #ffffff;
+	margin-bottom: 3px;
+	margin-top: 3px;
+	padding: 0.2em;
+	border: solid thin #333;
+	border-radius: 0.5em;
+	-webkit-border-radius: .5em;
+	-moz-border-radius: .5em;
+	box-shadow: 2px 2px 3px #999;
+	-webkit-box-shadow: 2px 2px 3px #999;
+	-moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px;
+	background-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000),color-stop(0.3, #444));
+	background-image: -moz-linear-gradient(center top, #eee 0%, #444 40%, #000);
 }
-A.qindexHL:visited { text-decoration: none; background-color: #6666cc; color: #ffffff }
-A.el { text-decoration: none; font-weight: bold }
-A.elRef { font-weight: bold }
-A.code:link { text-decoration: none; font-weight: normal; color: #0000FF}
-A.code:visited { text-decoration: none; font-weight: normal; color: #0000FF}
-A.codeRef:link { font-weight: normal; color: #0000FF}
-A.codeRef:visited { font-weight: normal; color: #0000FF}
-A:hover { text-decoration: none; background-color: #f2f2ff }
-DL.el { margin-left: -1cm }
-.fragment {
-       font-family: monospace, fixed;
-       font-size: 95%;
-}
-PRE.fragment {
-	border: 1px solid #CCCCCC;
-	background-color: #f5f5f5;
-	margin-top: 4px;
-	margin-bottom: 4px;
-	margin-left: 2px;
-	margin-right: 8px;
-	padding-left: 6px;
-	padding-right: 6px;
-	padding-top: 4px;
-	padding-bottom: 4px;
+
+div.groupHeader {
+	margin-left: 16px;
+	margin-top: 12px;
+	font-weight: bold;
 }
-DIV.ah { background-color: black; font-weight: bold; color: #ffffff; margin-bottom: 3px; margin-top: 3px }
 
-DIV.groupHeader {
-       margin-left: 16px;
-       margin-top: 12px;
-       margin-bottom: 6px;
-       font-weight: bold;
+div.groupText {
+	margin-left: 16px;
+	font-style: italic;
 }
-DIV.groupText { margin-left: 16px; font-style: italic; font-size: 90% }
-BODY {
-	background: white;
+
+body {
+	background-color: white;
 	color: black;
-	margin-right: 20px;
-	margin-left: 20px;
+        margin: 0;
 }
-TD.indexkey {
-	background-color: #e8eef2;
+
+div.contents {
+	margin-top: 10px;
+	margin-left: 12px;
+	margin-right: 8px;
+}
+
+td.indexkey {
+	background-color: #EBEFF6;
 	font-weight: bold;
-	padding-right  : 10px;
-	padding-top    : 2px;
-	padding-left   : 10px;
-	padding-bottom : 2px;
-	margin-left    : 0px;
-	margin-right   : 0px;
-	margin-top     : 2px;
-	margin-bottom  : 2px;
-	border: 1px solid #CCCCCC;
-}
-TD.indexvalue {
-	background-color: #e8eef2;
-	font-style: italic;
-	padding-right  : 10px;
-	padding-top    : 2px;
-	padding-left   : 10px;
-	padding-bottom : 2px;
-	margin-left    : 0px;
-	margin-right   : 0px;
-	margin-top     : 2px;
-	margin-bottom  : 2px;
-	border: 1px solid #CCCCCC;
-}
-TR.memlist {
-   background-color: #f0f0f0; 
-}
-P.formulaDsp { text-align: center; }
-IMG.formulaDsp { }
-IMG.formulaInl { vertical-align: middle; }
-SPAN.keyword       { color: #008000 }
-SPAN.keywordtype   { color: #604020 }
-SPAN.keywordflow   { color: #e08000 }
-SPAN.comment       { color: #800000 }
-SPAN.preprocessor  { color: #806020 }
-SPAN.stringliteral { color: #002080 }
-SPAN.charliteral   { color: #008080 }
-.mdescLeft {
-       padding: 0px 8px 4px 8px;
-	font-size: 80%;
-	font-style: italic;
-	background-color: #FAFAFA;
-	border-top: 1px none #E0E0E0;
-	border-right: 1px none #E0E0E0;
-	border-bottom: 1px none #E0E0E0;
-	border-left: 1px none #E0E0E0;
-	margin: 0px;
+	border: 1px solid #C4CFE5;
+	margin: 2px 0px 2px 0;
+	padding: 2px 10px;
+        white-space: nowrap;
+        vertical-align: top;
 }
-.mdescRight {
-       padding: 0px 8px 4px 8px;
-	font-size: 80%;
-	font-style: italic;
-	background-color: #FAFAFA;
-	border-top: 1px none #E0E0E0;
-	border-right: 1px none #E0E0E0;
-	border-bottom: 1px none #E0E0E0;
-	border-left: 1px none #E0E0E0;
-	margin: 0px;
+
+td.indexvalue {
+	background-color: #EBEFF6;
+	border: 1px solid #C4CFE5;
+	padding: 2px 10px;
+	margin: 2px 0px;
 }
-.memItemLeft {
-	padding: 1px 0px 0px 8px;
-	margin: 4px;
-	border-top-width: 1px;
-	border-right-width: 1px;
-	border-bottom-width: 1px;
-	border-left-width: 1px;
-	border-top-color: #E0E0E0;
-	border-right-color: #E0E0E0;
-	border-bottom-color: #E0E0E0;
-	border-left-color: #E0E0E0;
-	border-top-style: solid;
-	border-right-style: none;
-	border-bottom-style: none;
-	border-left-style: none;
-	background-color: #FAFAFA;
-	font-size: 80%;
+
+tr.memlist {
+	background-color: #EEF1F7;
 }
-.memItemRight {
-	padding: 1px 8px 0px 8px;
-	margin: 4px;
-	border-top-width: 1px;
-	border-right-width: 1px;
-	border-bottom-width: 1px;
-	border-left-width: 1px;
-	border-top-color: #E0E0E0;
-	border-right-color: #E0E0E0;
-	border-bottom-color: #E0E0E0;
-	border-left-color: #E0E0E0;
-	border-top-style: solid;
-	border-right-style: none;
-	border-bottom-style: none;
-	border-left-style: none;
-	background-color: #FAFAFA;
-	font-size: 80%;
+
+p.formulaDsp {
+	text-align: center;
 }
-.memTemplItemLeft {
-	padding: 1px 0px 0px 8px;
-	margin: 4px;
-	border-top-width: 1px;
-	border-right-width: 1px;
-	border-bottom-width: 1px;
-	border-left-width: 1px;
-	border-top-color: #E0E0E0;
-	border-right-color: #E0E0E0;
-	border-bottom-color: #E0E0E0;
-	border-left-color: #E0E0E0;
-	border-top-style: none;
-	border-right-style: none;
-	border-bottom-style: none;
-	border-left-style: none;
-	background-color: #FAFAFA;
-	font-size: 80%;
+
+img.formulaDsp {
+	
 }
-.memTemplItemRight {
-	padding: 1px 8px 0px 8px;
-	margin: 4px;
-	border-top-width: 1px;
-	border-right-width: 1px;
-	border-bottom-width: 1px;
-	border-left-width: 1px;
-	border-top-color: #E0E0E0;
-	border-right-color: #E0E0E0;
-	border-bottom-color: #E0E0E0;
-	border-left-color: #E0E0E0;
-	border-top-style: none;
-	border-right-style: none;
-	border-bottom-style: none;
-	border-left-style: none;
-	background-color: #FAFAFA;
-	font-size: 80%;
+
+img.formulaInl {
+	vertical-align: middle;
 }
-.memTemplParams {
-	padding: 1px 0px 0px 8px;
-	margin: 4px;
-	border-top-width: 1px;
-	border-right-width: 1px;
-	border-bottom-width: 1px;
-	border-left-width: 1px;
-	border-top-color: #E0E0E0;
-	border-right-color: #E0E0E0;
-	border-bottom-color: #E0E0E0;
-	border-left-color: #E0E0E0;
-	border-top-style: solid;
-	border-right-style: none;
-	border-bottom-style: none;
-	border-left-style: none;
-       color: #606060;
-	background-color: #FAFAFA;
-	font-size: 80%;
+
+div.center {
+	text-align: center;
+        margin-top: 0px;
+        margin-bottom: 0px;
+        padding: 0px;
 }
-.search     { color: #003399;
-              font-weight: bold;
+
+div.center img {
+	border: 0px;
 }
-FORM.search {
-              margin-bottom: 0px;
-              margin-top: 0px;
+
+address.footer {
+	text-align: right;
+	padding-right: 12px;
 }
-INPUT.search { font-size: 75%;
-               color: #000080;
-               font-weight: normal;
-               background-color: #e8eef2;
+
+img.footer {
+	border: 0px;
+	vertical-align: middle;
 }
-TD.tiny      { font-size: 75%;
+
+/* @group Code Colorization */
+
+span.keyword {
+	color: #008000
 }
-a {
-	color: #1A41A8;
+
+span.keywordtype {
+	color: #604020
 }
-a:visited {
-	color: #2A3798;
+
+span.keywordflow {
+	color: #e08000
 }
-.dirtab { padding: 4px;
-          border-collapse: collapse;
-          border: 1px solid #84b0c7;
+
+span.comment {
+	color: #800000
+}
+
+span.preprocessor {
+	color: #806020
+}
+
+span.stringliteral {
+	color: #002080
+}
+
+span.charliteral {
+	color: #008080
+}
+
+span.vhdldigit { 
+	color: #ff00ff 
 }
-TH.dirtab { background: #e8eef2;
-            font-weight: bold;
+
+span.vhdlchar { 
+	color: #000000 
 }
-HR { height: 1px;
-     border: none;
-     border-top: 1px solid black;
+
+span.vhdlkeyword { 
+	color: #700070 
 }
 
-/* Style for detailed member documentation */
+span.vhdllogic { 
+	color: #ff0000 
+}
+
+blockquote {
+        background-color: #F7F8FB;
+        border-left: 2px solid #9CAFD4;
+        margin: 0 24px 0 4px;
+        padding: 0 12px 0 16px;
+}
+
+/* @end */
+
+/*
+.search {
+	color: #003399;
+	font-weight: bold;
+}
+
+form.search {
+	margin-bottom: 0px;
+	margin-top: 0px;
+}
+
+input.search {
+	font-size: 75%;
+	color: #000080;
+	font-weight: normal;
+	background-color: #e8eef2;
+}
+*/
+
+td.tiny {
+	font-size: 75%;
+}
+
+.dirtab {
+	padding: 4px;
+	border-collapse: collapse;
+	border: 1px solid #A3B4D7;
+}
+
+th.dirtab {
+	background: #EBEFF6;
+	font-weight: bold;
+}
+
+hr {
+	height: 0px;
+	border: none;
+	border-top: 1px solid #4A6AAA;
+}
+
+hr.footer {
+	height: 1px;
+}
+
+/* @group Member Descriptions */
+
+table.memberdecls {
+	border-spacing: 0px;
+	padding: 0px;
+}
+
+.memberdecls td, .fieldtable tr {
+	-webkit-transition-property: background-color, box-shadow;
+	-webkit-transition-duration: 0.5s;
+	-moz-transition-property: background-color, box-shadow;
+	-moz-transition-duration: 0.5s;
+	-ms-transition-property: background-color, box-shadow;
+	-ms-transition-duration: 0.5s;
+	-o-transition-property: background-color, box-shadow;
+	-o-transition-duration: 0.5s;
+	transition-property: background-color, box-shadow;
+	transition-duration: 0.5s;
+}
+
+.memberdecls td.glow, .fieldtable tr.glow {
+	background-color: cyan;
+	box-shadow: 0 0 15px cyan;
+}
+
+.mdescLeft, .mdescRight,
+.memItemLeft, .memItemRight,
+.memTemplItemLeft, .memTemplItemRight, .memTemplParams {
+	background-color: #F9FAFC;
+	border: none;
+	margin: 4px;
+	padding: 1px 0 0 8px;
+}
+
+.mdescLeft, .mdescRight {
+	padding: 0px 8px 4px 8px;
+	color: #555;
+}
+
+.memSeparator {
+        border-bottom: 1px solid #DEE4F0;
+        line-height: 1px;
+        margin: 0px;
+        padding: 0px;
+}
+
+.memItemLeft, .memTemplItemLeft {
+        white-space: nowrap;
+}
+
+.memItemRight {
+	width: 100%;
+}
+
+.memTemplParams {
+	color: #4665A2;
+        white-space: nowrap;
+	font-size: 80%;
+}
+
+/* @end */
+
+/* @group Member Details */
+
+/* Styles for detailed member documentation */
+
 .memtemplate {
-  font-size: 80%;
-  color: #606060;
-  font-weight: normal;
-} 
-.memnav { 
-  background-color: #e8eef2;
-  border: 1px solid #84b0c7;
-  text-align: center;
-  margin: 2px;
-  margin-right: 15px;
-  padding: 2px;
+	font-size: 80%;
+	color: #4665A2;
+	font-weight: normal;
+	margin-left: 9px;
 }
+
+.memnav {
+	background-color: #EBEFF6;
+	border: 1px solid #A3B4D7;
+	text-align: center;
+	margin: 2px;
+	margin-right: 15px;
+	padding: 2px;
+}
+
+.mempage {
+	width: 100%;
+}
+
 .memitem {
-  padding: 4px;
-  background-color: #eef3f5;
-  border-width: 1px;
-  border-style: solid;
-  border-color: #dedeee;
-  -moz-border-radius: 8px 8px 8px 8px;
+	padding: 0;
+	margin-bottom: 10px;
+	margin-right: 5px;
+        -webkit-transition: box-shadow 0.5s linear;
+        -moz-transition: box-shadow 0.5s linear;
+        -ms-transition: box-shadow 0.5s linear;
+        -o-transition: box-shadow 0.5s linear;
+        transition: box-shadow 0.5s linear;
+        display: table !important;
+        width: 100%;
 }
+
+.memitem.glow {
+         box-shadow: 0 0 15px cyan;
+}
+
 .memname {
-  white-space: nowrap;
-  font-weight: bold;
+        font-weight: bold;
+        margin-left: 6px;
 }
-.memdoc{
-  padding-left: 10px;
+
+.memname td {
+	vertical-align: bottom;
+}
+
+.memproto, dl.reflist dt {
+        border-top: 1px solid #A8B8D9;
+        border-left: 1px solid #A8B8D9;
+        border-right: 1px solid #A8B8D9;
+        padding: 6px 0px 6px 0px;
+        color: #253555;
+        font-weight: bold;
+        text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);
+        background-image:url('nav_f.png');
+        background-repeat:repeat-x;
+        background-color: #E2E8F2;
+        /* opera specific markup */
+        box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
+        border-top-right-radius: 4px;
+        border-top-left-radius: 4px;
+        /* firefox specific markup */
+        -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px;
+        -moz-border-radius-topright: 4px;
+        -moz-border-radius-topleft: 4px;
+        /* webkit specific markup */
+        -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
+        -webkit-border-top-right-radius: 4px;
+        -webkit-border-top-left-radius: 4px;
+
 }
-.memproto {
-  background-color: #d5e1e8;
-  width: 100%;
-  border-width: 1px;
-  border-style: solid;
-  border-color: #84b0c7;
-  font-weight: bold;
-  -moz-border-radius: 8px 8px 8px 8px;
+
+.memdoc, dl.reflist dd {
+        border-bottom: 1px solid #A8B8D9;      
+        border-left: 1px solid #A8B8D9;      
+        border-right: 1px solid #A8B8D9; 
+        padding: 6px 10px 2px 10px;
+        background-color: #FBFCFD;
+        border-top-width: 0;
+        background-image:url('nav_g.png');
+        background-repeat:repeat-x;
+        background-color: #FFFFFF;
+        /* opera specific markup */
+        border-bottom-left-radius: 4px;
+        border-bottom-right-radius: 4px;
+        box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
+        /* firefox specific markup */
+        -moz-border-radius-bottomleft: 4px;
+        -moz-border-radius-bottomright: 4px;
+        -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px;
+        /* webkit specific markup */
+        -webkit-border-bottom-left-radius: 4px;
+        -webkit-border-bottom-right-radius: 4px;
+        -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
+}
+
+dl.reflist dt {
+        padding: 5px;
 }
+
+dl.reflist dd {
+        margin: 0px 0px 10px 0px;
+        padding: 5px;
+}
+
 .paramkey {
-  text-align: right;
+	text-align: right;
 }
+
 .paramtype {
-  white-space: nowrap;
+	white-space: nowrap;
 }
+
 .paramname {
-  color: #602020;
-  font-style: italic;
-}
-/* End Styling for detailed member documentation */
-
-/* for the tree view */
-.ftvtree {
-	font-family: sans-serif;
-	margin:0.5em;
-}
-.directory { font-size: 9pt; font-weight: bold; }
-.directory h3 { margin: 0px; margin-top: 1em; font-size: 11pt; }
-.directory > h3 { margin-top: 0; }
-.directory p { margin: 0px; white-space: nowrap; }
-.directory div { display: none; margin: 0px; }
-.directory img { vertical-align: -30%; }
+	color: #602020;
+	white-space: nowrap;
+}
+.paramname em {
+	font-style: normal;
+}
+.paramname code {
+        line-height: 14px;
+}
+
+.params, .retval, .exception, .tparams {
+        margin-left: 0px;
+        padding-left: 0px;
+}       
+
+.params .paramname, .retval .paramname {
+        font-weight: bold;
+        vertical-align: top;
+}
+        
+.params .paramtype {
+        font-style: italic;
+        vertical-align: top;
+}       
+        
+.params .paramdir {
+        font-family: "courier new",courier,monospace;
+        vertical-align: top;
+}
+
+table.mlabels {
+	border-spacing: 0px;
+}
+
+td.mlabels-left {
+	width: 100%;
+	padding: 0px;
+}
+
+td.mlabels-right {
+	vertical-align: bottom;
+	padding: 0px;
+	white-space: nowrap;
+}
+
+span.mlabels {
+        margin-left: 8px;
+}
+
+span.mlabel {
+        background-color: #728DC1;
+        border-top:1px solid #5373B4;
+        border-left:1px solid #5373B4;
+        border-right:1px solid #C4CFE5;
+        border-bottom:1px solid #C4CFE5;
+	text-shadow: none;
+	color: white;
+	margin-right: 4px;
+	padding: 2px 3px;
+	border-radius: 3px;
+	font-size: 7pt;
+	white-space: nowrap;
+	vertical-align: middle;
+}
+
+
+
+/* @end */
+
+/* these are for tree view when not used as main index */
+
+div.directory {
+        margin: 10px 0px;
+        border-top: 1px solid #A8B8D9;
+        border-bottom: 1px solid #A8B8D9;
+        width: 100%;
+}
+
+.directory table {
+        border-collapse:collapse;
+}
+
+.directory td {
+        margin: 0px;
+        padding: 0px;
+	vertical-align: top;
+}
+
+.directory td.entry {
+        white-space: nowrap;
+        padding-right: 6px;
+	padding-top: 3px;
+}
+
+.directory td.entry a {
+        outline:none;
+}
+
+.directory td.entry a img {
+        border: none;
+}
+
+.directory td.desc {
+        width: 100%;
+        padding-left: 6px;
+	padding-right: 6px;
+	padding-top: 3px;
+	border-left: 1px solid rgba(0,0,0,0.05);
+}
+
+.directory tr.even {
+	padding-left: 6px;
+	background-color: #F7F8FB;
+}
+
+.directory img {
+	vertical-align: -30%;
+}
+
+.directory .levels {
+        white-space: nowrap;
+        width: 100%;
+        text-align: right;
+        font-size: 9pt;
+}
+
+.directory .levels span {
+        cursor: pointer;
+        padding-left: 2px;
+        padding-right: 2px;
+	color: #3D578C;
+}
+
+div.dynheader {
+        margin-top: 8px;
+	-webkit-touch-callout: none;
+	-webkit-user-select: none;
+	-khtml-user-select: none;
+	-moz-user-select: none;
+	-ms-user-select: none;
+	user-select: none;
+}
+
+address {
+	font-style: normal;
+	color: #2A3D61;
+}
+
+table.doxtable {
+	border-collapse:collapse;
+        margin-top: 4px;
+        margin-bottom: 4px;
+}
+
+table.doxtable td, table.doxtable th {
+	border: 1px solid #2D4068;
+	padding: 3px 7px 2px;
+}
+
+table.doxtable th {
+	background-color: #374F7F;
+	color: #FFFFFF;
+	font-size: 110%;
+	padding-bottom: 4px;
+	padding-top: 5px;
+}
+
+table.fieldtable {
+        /*width: 100%;*/
+        margin-bottom: 10px;
+        border: 1px solid #A8B8D9;
+        border-spacing: 0px;
+        -moz-border-radius: 4px;
+        -webkit-border-radius: 4px;
+        border-radius: 4px;
+        -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px;
+        -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15);
+        box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15);
+}
+
+.fieldtable td, .fieldtable th {
+        padding: 3px 7px 2px;
+}
+
+.fieldtable td.fieldtype, .fieldtable td.fieldname {
+        white-space: nowrap;
+        border-right: 1px solid #A8B8D9;
+        border-bottom: 1px solid #A8B8D9;
+        vertical-align: top;
+}
+
+.fieldtable td.fieldname {
+        padding-top: 3px;
+}
+
+.fieldtable td.fielddoc {
+        border-bottom: 1px solid #A8B8D9;
+        /*width: 100%;*/
+}
+
+.fieldtable td.fielddoc p:first-child {
+        margin-top: 0px;
+}       
+        
+.fieldtable td.fielddoc p:last-child {
+        margin-bottom: 2px;
+}
+
+.fieldtable tr:last-child td {
+        border-bottom: none;
+}
+
+.fieldtable th {
+        background-image:url('nav_f.png');
+        background-repeat:repeat-x;
+        background-color: #E2E8F2;
+        font-size: 90%;
+        color: #253555;
+        padding-bottom: 4px;
+        padding-top: 5px;
+        text-align:left;
+        -moz-border-radius-topleft: 4px;
+        -moz-border-radius-topright: 4px;
+        -webkit-border-top-left-radius: 4px;
+        -webkit-border-top-right-radius: 4px;
+        border-top-left-radius: 4px;
+        border-top-right-radius: 4px;
+        border-bottom: 1px solid #A8B8D9;
+}
+
+
+.tabsearch {
+	top: 0px;
+	left: 10px;
+	height: 36px;
+	background-image: url('tab_b.png');
+	z-index: 101;
+	overflow: hidden;
+	font-size: 13px;
+}
+
+.navpath ul
+{
+	font-size: 11px;
+	background-image:url('tab_b.png');
+	background-repeat:repeat-x;
+	background-position: 0 -5px;
+	height:30px;
+	line-height:30px;
+	color:#8AA0CC;
+	border:solid 1px #C2CDE4;
+	overflow:hidden;
+	margin:0px;
+	padding:0px;
+}
+
+.navpath li
+{
+	list-style-type:none;
+	float:left;
+	padding-left:10px;
+	padding-right:15px;
+	background-image:url('bc_s.png');
+	background-repeat:no-repeat;
+	background-position:right;
+	color:#364D7C;
+}
+
+.navpath li.navelem a
+{
+	height:32px;
+	display:block;
+	text-decoration: none;
+	outline: none;
+	color: #283A5D;
+	font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif;
+	text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);
+	text-decoration: none;        
+}
+
+.navpath li.navelem a:hover
+{
+	color:#6884BD;
+}
+
+.navpath li.footer
+{
+        list-style-type:none;
+        float:right;
+        padding-left:10px;
+        padding-right:15px;
+        background-image:none;
+        background-repeat:no-repeat;
+        background-position:right;
+        color:#364D7C;
+        font-size: 8pt;
+}
+
+
+div.summary
+{
+	float: right;
+	font-size: 8pt;
+	padding-right: 5px;
+	width: 50%;
+	text-align: right;
+}       
+
+div.summary a
+{
+	white-space: nowrap;
+}
+
+div.ingroups
+{
+	font-size: 8pt;
+	width: 50%;
+	text-align: left;
+}
+
+div.ingroups a
+{
+	white-space: nowrap;
+}
+
+div.header
+{
+        background-image:url('nav_h.png');
+        background-repeat:repeat-x;
+	background-color: #F9FAFC;
+	margin:  0px;
+	border-bottom: 1px solid #C4CFE5;
+}
+
+div.headertitle
+{
+	padding: 5px 5px 5px 10px;
+}
+
+dl
+{
+        padding: 0 0 0 10px;
+}
+
+/* dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug */
+dl.section
+{
+	margin-left: 0px;
+	padding-left: 0px;
+}
+
+dl.note
+{
+        margin-left:-7px;
+        padding-left: 3px;
+        border-left:4px solid;
+        border-color: #D0C000;
+}
+
+dl.warning, dl.attention
+{
+        margin-left:-7px;
+        padding-left: 3px;
+        border-left:4px solid;
+        border-color: #FF0000;
+}
+
+dl.pre, dl.post, dl.invariant
+{
+        margin-left:-7px;
+        padding-left: 3px;
+        border-left:4px solid;
+        border-color: #00D000;
+}
+
+dl.deprecated
+{
+        margin-left:-7px;
+        padding-left: 3px;
+        border-left:4px solid;
+        border-color: #505050;
+}
+
+dl.todo
+{
+        margin-left:-7px;
+        padding-left: 3px;
+        border-left:4px solid;
+        border-color: #00C0E0;
+}
+
+dl.test
+{
+        margin-left:-7px;
+        padding-left: 3px;
+        border-left:4px solid;
+        border-color: #3030E0;
+}
+
+dl.bug
+{
+        margin-left:-7px;
+        padding-left: 3px;
+        border-left:4px solid;
+        border-color: #C08050;
+}
+
+dl.section dd {
+	margin-bottom: 6px;
+}
+
+
+#projectlogo
+{
+	text-align: center;
+	vertical-align: bottom;
+	border-collapse: separate;
+}
+ 
+#projectlogo img
+{ 
+	border: 0px none;
+}
+ 
+#projectname
+{
+	font: 300% Tahoma, Arial,sans-serif;
+	margin: 0px;
+	padding: 2px 0px;
+}
+    
+#projectbrief
+{
+	font: 120% Tahoma, Arial,sans-serif;
+	margin: 0px;
+	padding: 0px;
+}
+
+#projectnumber
+{
+	font: 50% Tahoma, Arial,sans-serif;
+	margin: 0px;
+	padding: 0px;
+}
+
+#titlearea
+{
+	padding: 0px;
+	margin: 0px;
+	width: 100%;
+	border-bottom: 1px solid #5373B4;
+}
+
+.image
+{
+        text-align: center;
+}
+
+.dotgraph
+{
+        text-align: center;
+}
+
+.mscgraph
+{
+        text-align: center;
+}
+
+.caption
+{
+	font-weight: bold;
+}
+
+div.zoom
+{
+	border: 1px solid #90A5CE;
+}
+
+dl.citelist {
+        margin-bottom:50px;
+}
+
+dl.citelist dt {
+        color:#334975;
+        float:left;
+        font-weight:bold;
+        margin-right:10px;
+        padding:5px;
+}
+
+dl.citelist dd {
+        margin:2px 0;
+        padding:5px 0;
+}
+
+div.toc {
+        padding: 14px 25px;
+        background-color: #F4F6FA;
+        border: 1px solid #D8DFEE;
+        border-radius: 7px 7px 7px 7px;
+        float: right;
+        height: auto;
+        margin: 0 20px 10px 10px;
+        width: 200px;
+}
+
+div.toc li {
+        background: url("bdwn.png") no-repeat scroll 0 5px transparent;
+        font: 10px/1.2 Verdana,DejaVu Sans,Geneva,sans-serif;
+        margin-top: 5px;
+        padding-left: 10px;
+        padding-top: 2px;
+}
+
+div.toc h3 {
+        font: bold 12px/1.2 Arial,FreeSans,sans-serif;
+	color: #4665A2;
+        border-bottom: 0 none;
+        margin: 0;
+}
+
+div.toc ul {
+        list-style: none outside none;
+        border: medium none;
+        padding: 0px;
+}       
+
+div.toc li.level1 {
+        margin-left: 0px;
+}
+
+div.toc li.level2 {
+        margin-left: 15px;
+}
+
+div.toc li.level3 {
+        margin-left: 30px;
+}
+
+div.toc li.level4 {
+        margin-left: 45px;
+}
+
+.inherit_header {
+        font-weight: bold;
+        color: gray;
+        cursor: pointer;
+	-webkit-touch-callout: none;
+	-webkit-user-select: none;
+	-khtml-user-select: none;
+	-moz-user-select: none;
+	-ms-user-select: none;
+	user-select: none;
+}
+
+.inherit_header td {
+        padding: 6px 0px 2px 5px;
+}
+
+.inherit {
+        display: none;
+}
+
+tr.heading h2 {
+        margin-top: 12px;
+        margin-bottom: 4px;
+}
+
+ at media print
+{
+  #top { display: none; }
+  #side-nav { display: none; }
+  #nav-path { display: none; }
+  body { overflow:visible; }
+  h1, h2, h3, h4, h5, h6 { page-break-after: avoid; }
+  .summary { display: none; }
+  .memitem { page-break-inside: avoid; }
+  #doc-content
+  {
+    margin-left:0 !important;
+    height:auto !important;
+    width:auto !important;
+    overflow:inherit;
+    display:inline;
+  }
+}
 
diff --git a/doc/html/doxygen.png b/doc/html/doxygen.png
index f0a274b..3ff17d8 100644
Binary files a/doc/html/doxygen.png and b/doc/html/doxygen.png differ
diff --git a/doc/html/dynsections.js b/doc/html/dynsections.js
new file mode 100644
index 0000000..ed092c7
--- /dev/null
+++ b/doc/html/dynsections.js
@@ -0,0 +1,97 @@
+function toggleVisibility(linkObj)
+{
+ var base = $(linkObj).attr('id');
+ var summary = $('#'+base+'-summary');
+ var content = $('#'+base+'-content');
+ var trigger = $('#'+base+'-trigger');
+ var src=$(trigger).attr('src');
+ if (content.is(':visible')===true) {
+   content.hide();
+   summary.show();
+   $(linkObj).addClass('closed').removeClass('opened');
+   $(trigger).attr('src',src.substring(0,src.length-8)+'closed.png');
+ } else {
+   content.show();
+   summary.hide();
+   $(linkObj).removeClass('closed').addClass('opened');
+   $(trigger).attr('src',src.substring(0,src.length-10)+'open.png');
+ } 
+ return false;
+}
+
+function updateStripes()
+{
+  $('table.directory tr').
+       removeClass('even').filter(':visible:even').addClass('even');
+}
+function toggleLevel(level)
+{
+  $('table.directory tr').each(function(){ 
+    var l = this.id.split('_').length-1;
+    var i = $('#img'+this.id.substring(3));
+    var a = $('#arr'+this.id.substring(3));
+    if (l<level+1) {
+      i.attr('src','ftv2folderopen.png');
+      a.attr('src','ftv2mnode.png');
+      $(this).show();
+    } else if (l==level+1) {
+      i.attr('src','ftv2folderclosed.png');
+      a.attr('src','ftv2pnode.png');
+      $(this).show();
+    } else {
+      $(this).hide();
+    }
+  });
+  updateStripes();
+}
+
+function toggleFolder(id)
+{
+  //The clicked row
+  var currentRow = $('#row_'+id);
+  var currentRowImages = currentRow.find("img");
+
+  //All rows after the clicked row
+  var rows = currentRow.nextAll("tr");
+
+  //Only match elements AFTER this one (can't hide elements before)
+  var childRows = rows.filter(function() {
+    var re = new RegExp('^row_'+id+'\\d+_$', "i"); //only one sub
+    return this.id.match(re);
+  });
+
+  //First row is visible we are HIDING
+  if (childRows.filter(':first').is(':visible')===true) {
+    currentRowImages.filter("[id^=arr]").attr('src', 'ftv2pnode.png');
+    currentRowImages.filter("[id^=img]").attr('src', 'ftv2folderclosed.png');
+    rows.filter("[id^=row_"+id+"]").hide();
+  } else { //We are SHOWING
+    //All sub images
+    var childImages = childRows.find("img");
+    var childImg = childImages.filter("[id^=img]");
+    var childArr = childImages.filter("[id^=arr]");
+
+    currentRow.find("[id^=arr]").attr('src', 'ftv2mnode.png'); //open row
+    currentRow.find("[id^=img]").attr('src', 'ftv2folderopen.png'); //open row
+    childImg.attr('src','ftv2folderclosed.png'); //children closed
+    childArr.attr('src','ftv2pnode.png'); //children closed
+    childRows.show(); //show all children
+  }
+  updateStripes();
+}
+
+
+function toggleInherit(id)
+{
+  var rows = $('tr.inherit.'+id);
+  var img = $('tr.inherit_header.'+id+' img');
+  var src = $(img).attr('src');
+  if (rows.filter(':first').is(':visible')===true) {
+    rows.css('display','none');
+    $(img).attr('src',src.substring(0,src.length-8)+'closed.png');
+  } else {
+    rows.css('display','table-row'); // using show() causes jump in firefox
+    $(img).attr('src',src.substring(0,src.length-10)+'open.png');
+  }
+}
+
diff --git a/doc/html/files.html b/doc/html/files.html
index 1502140..a655e95 100644
--- a/doc/html/files.html
+++ b/doc/html/files.html
@@ -1,32 +1,52 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>File Index</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
-  <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li><a href="annotated.html"><span>Classes</span></a></li>
-    <li id="current"><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li id="current"><a href="files.html"><span>File List</span></a></li>
-    <li><a href="globals.html"><span>File Members</span></a></li>
-  </ul></div>
-<h1>File List</h1>Here is a list of all documented files with brief descriptions:<table>
-  <tr><td class="indexkey"><a class="el" href="a00385.html">flow_graph.h</a></td><td class="indexvalue">The graph related classes and functions </td></tr>
-  <tr><td class="indexkey"><a class="el" href="a00386.html">memory_pool.h</a></td><td class="indexvalue"></td></tr>
-  <tr><td class="indexkey"><a class="el" href="a00405.html">scalable_allocator.h</a></td><td class="indexvalue"></td></tr>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>File List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li class="current"><a href="files.html"><span>File List</span></a></li>
+      <li><a href="globals.html"><span>File Members</span></a></li>
+    </ul>
+  </div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">File List</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock">Here is a list of all documented files with brief descriptions:</div><div class="directory">
+<table class="directory">
+<tr id="row_0_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="a00179.html" target="_self">flow_graph.h</a></td><td class="desc">The graph related classes and functions </td></tr>
+<tr id="row_1_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="a00180.html" target="_self">memory_pool.h</a></td><td class="desc"></td></tr>
+<tr id="row_2_" class="even"><td class="entry"><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="a00199.html" target="_self">scalable_allocator.h</a></td><td class="desc"></td></tr>
 </table>
+</div><!-- directory -->
+</div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/ftv2blank.png b/doc/html/ftv2blank.png
new file mode 100644
index 0000000..63c605b
Binary files /dev/null and b/doc/html/ftv2blank.png differ
diff --git a/doc/html/ftv2cl.png b/doc/html/ftv2cl.png
new file mode 100644
index 0000000..132f657
Binary files /dev/null and b/doc/html/ftv2cl.png differ
diff --git a/doc/html/ftv2doc.png b/doc/html/ftv2doc.png
new file mode 100644
index 0000000..17edabf
Binary files /dev/null and b/doc/html/ftv2doc.png differ
diff --git a/doc/html/ftv2folderclosed.png b/doc/html/ftv2folderclosed.png
new file mode 100644
index 0000000..bb8ab35
Binary files /dev/null and b/doc/html/ftv2folderclosed.png differ
diff --git a/doc/html/ftv2folderopen.png b/doc/html/ftv2folderopen.png
new file mode 100644
index 0000000..d6c7f67
Binary files /dev/null and b/doc/html/ftv2folderopen.png differ
diff --git a/doc/html/ftv2lastnode.png b/doc/html/ftv2lastnode.png
new file mode 100644
index 0000000..63c605b
Binary files /dev/null and b/doc/html/ftv2lastnode.png differ
diff --git a/doc/html/ftv2link.png b/doc/html/ftv2link.png
new file mode 100644
index 0000000..17edabf
Binary files /dev/null and b/doc/html/ftv2link.png differ
diff --git a/doc/html/ftv2mlastnode.png b/doc/html/ftv2mlastnode.png
new file mode 100644
index 0000000..0b63f6d
Binary files /dev/null and b/doc/html/ftv2mlastnode.png differ
diff --git a/doc/html/ftv2mnode.png b/doc/html/ftv2mnode.png
new file mode 100644
index 0000000..0b63f6d
Binary files /dev/null and b/doc/html/ftv2mnode.png differ
diff --git a/doc/html/ftv2mo.png b/doc/html/ftv2mo.png
new file mode 100644
index 0000000..4bfb80f
Binary files /dev/null and b/doc/html/ftv2mo.png differ
diff --git a/doc/html/ftv2node.png b/doc/html/ftv2node.png
new file mode 100644
index 0000000..63c605b
Binary files /dev/null and b/doc/html/ftv2node.png differ
diff --git a/doc/html/ftv2ns.png b/doc/html/ftv2ns.png
new file mode 100644
index 0000000..72e3d71
Binary files /dev/null and b/doc/html/ftv2ns.png differ
diff --git a/doc/html/ftv2plastnode.png b/doc/html/ftv2plastnode.png
new file mode 100644
index 0000000..c6ee22f
Binary files /dev/null and b/doc/html/ftv2plastnode.png differ
diff --git a/doc/html/ftv2pnode.png b/doc/html/ftv2pnode.png
new file mode 100644
index 0000000..c6ee22f
Binary files /dev/null and b/doc/html/ftv2pnode.png differ
diff --git a/doc/html/ftv2splitbar.png b/doc/html/ftv2splitbar.png
new file mode 100644
index 0000000..fe895f2
Binary files /dev/null and b/doc/html/ftv2splitbar.png differ
diff --git a/doc/html/ftv2vertline.png b/doc/html/ftv2vertline.png
new file mode 100644
index 0000000..63c605b
Binary files /dev/null and b/doc/html/ftv2vertline.png differ
diff --git a/doc/html/functions.html b/doc/html/functions.html
index dc01f00..853f898 100644
--- a/doc/html/functions.html
+++ b/doc/html/functions.html
@@ -1,72 +1,130 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
 <title>Class Members</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
-  <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li id="current"><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li id="current"><a href="functions.html"><span>All</span></a></li>
-    <li><a href="functions_func.html"><span>Functions</span></a></li>
-    <li><a href="functions_vars.html"><span>Variables</span></a></li>
-    <li><a href="functions_type.html"><span>Typedefs</span></a></li>
-    <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
-    <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
-    <li><a href="functions_rela.html"><span>Related Functions</span></a></li>
-  </ul>
-</div>
-<div class="tabs">
-  <ul>
-    <li id="current"><a href="functions.html#index__"><span>_</span></a></li>
-    <li><a href="functions_0x61.html#index_a"><span>a</span></a></li>
-    <li><a href="functions_0x62.html#index_b"><span>b</span></a></li>
-    <li><a href="functions_0x63.html#index_c"><span>c</span></a></li>
-    <li><a href="functions_0x64.html#index_d"><span>d</span></a></li>
-    <li><a href="functions_0x65.html#index_e"><span>e</span></a></li>
-    <li><a href="functions_0x66.html#index_f"><span>f</span></a></li>
-    <li><a href="functions_0x67.html#index_g"><span>g</span></a></li>
-    <li><a href="functions_0x69.html#index_i"><span>i</span></a></li>
-    <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li>
-    <li><a href="functions_0x6d.html#index_m"><span>m</span></a></li>
-    <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li>
-    <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li>
-    <li><a href="functions_0x70.html#index_p"><span>p</span></a></li>
-    <li><a href="functions_0x71.html#index_q"><span>q</span></a></li>
-    <li><a href="functions_0x72.html#index_r"><span>r</span></a></li>
-    <li><a href="functions_0x73.html#index_s"><span>s</span></a></li>
-    <li><a href="functions_0x74.html#index_t"><span>t</span></a></li>
-    <li><a href="functions_0x75.html#index_u"><span>u</span></a></li>
-    <li><a href="functions_0x76.html#index_v"><span>v</span></a></li>
-    <li><a href="functions_0x77.html#index_w"><span>w</span></a></li>
-    <li><a href="functions_0x7e.html#index_~"><span>~</span></a></li>
-  </ul>
-</div>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li class="current"><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow3" class="tabs2">
+    <ul class="tablist">
+      <li class="current"><a href="functions.html"><span>All</span></a></li>
+      <li><a href="functions_func.html"><span>Functions</span></a></li>
+      <li><a href="functions_vars.html"><span>Variables</span></a></li>
+      <li><a href="functions_type.html"><span>Typedefs</span></a></li>
+      <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
+      <li><a href="functions_rela.html"><span>Related Functions</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow4" class="tabs3">
+    <ul class="tablist">
+      <li class="current"><a href="functions.html#index_a"><span>a</span></a></li>
+      <li><a href="functions_0x62.html#index_b"><span>b</span></a></li>
+      <li><a href="functions_0x63.html#index_c"><span>c</span></a></li>
+      <li><a href="functions_0x64.html#index_d"><span>d</span></a></li>
+      <li><a href="functions_0x65.html#index_e"><span>e</span></a></li>
+      <li><a href="functions_0x66.html#index_f"><span>f</span></a></li>
+      <li><a href="functions_0x67.html#index_g"><span>g</span></a></li>
+      <li><a href="functions_0x68.html#index_h"><span>h</span></a></li>
+      <li><a href="functions_0x69.html#index_i"><span>i</span></a></li>
+      <li><a href="functions_0x6a.html#index_j"><span>j</span></a></li>
+      <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li>
+      <li><a href="functions_0x6d.html#index_m"><span>m</span></a></li>
+      <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li>
+      <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li>
+      <li><a href="functions_0x70.html#index_p"><span>p</span></a></li>
+      <li><a href="functions_0x71.html#index_q"><span>q</span></a></li>
+      <li><a href="functions_0x72.html#index_r"><span>r</span></a></li>
+      <li><a href="functions_0x73.html#index_s"><span>s</span></a></li>
+      <li><a href="functions_0x74.html#index_t"><span>t</span></a></li>
+      <li><a href="functions_0x75.html#index_u"><span>u</span></a></li>
+      <li><a href="functions_0x76.html#index_v"><span>v</span></a></li>
+      <li><a href="functions_0x77.html#index_w"><span>w</span></a></li>
+      <li><a href="functions_0x7e.html#index_0x7e"><span>~</span></a></li>
+    </ul>
+  </div>
+</div><!-- top -->
+<div class="contents">
+<div class="textblock">Here is a list of all documented class members with links to the class documentation for each member:</div>
 
-<p>
-Here is a list of all documented class members with links to the class documentation for each member:
-<p>
-<h3><a class="anchor" name="index__">- _ -</a></h3><ul>
-<li>__TBB_RECYCLE_TO_ENQUEUE
-: <a class="el" href="a00349.html#4a3c415562d17905390ea5b49d12293e2a3f84c7721f6c0b859a91a5ecc660c4">tbb::task</a></ul>
+<h3><a class="anchor" id="index_a"></a>- a -</h3><ul>
+<li>abort()
+: <a class="el" href="a00034.html#a77a755d94cabf5208905d10d5b57419c">tbb::concurrent_bounded_queue< T, A ></a>
+</li>
+<li>acquire()
+: <a class="el" href="a00026.html#a0d7d8f3d101bb18056b8e5d4d2c8b079">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::bucket_accessor</a>
+, <a class="el" href="a00121.html#abf8aa7ccd48d54dcb53665700a17d02a">tbb::queuing_mutex::scoped_lock</a>
+, <a class="el" href="a00114.html#a6d49df365396ab314e78ba07c6b96433">tbb::spin_rw_mutex_v3::scoped_lock</a>
+, <a class="el" href="a00119.html#ab4bf2fb86d6a418f9ea36474eb8893f9">tbb::queuing_rw_mutex::scoped_lock</a>
+, <a class="el" href="a00116.html#a9fce3e2e9f592315dc9c1ada72ae5e3c">tbb::mutex::scoped_lock</a>
+, <a class="el" href="a00120.html#ac5450ce6a5813f395afaa434384c6539">tbb::recursive_mutex::scoped_lock</a>
+, <a class="el" href="a00113.html#a7c702117f08ae82d034a98b3d5510ffc">tbb::spin_mutex::scoped_lock</a>
+</li>
+<li>activate()
+: <a class="el" href="a00126.html#a67264c4564abefbf14c0d587c6fe2857">tbb::flow::interface7::source_node< Output ></a>
+</li>
+<li>add()
+: <a class="el" href="a00087.html#ac095c6b1a32e9c0be010aa32875d7a63">tbb::parallel_do_feeder< Item ></a>
+, <a class="el" href="a00088.html#a4861989d7f5e3111d264d4d6013e8fe1">tbb::parallel_while< Body ></a>
+</li>
+<li>add_filter()
+: <a class="el" href="a00089.html#a8eb83014bd53b184e0ed50f120ca310b">tbb::pipeline</a>
+</li>
+<li>allocate()
+: <a class="el" href="a00144.html#afedd8a64eed9692083c708f419338e0c">tbb::tbb_allocator< T ></a>
+, <a class="el" href="a00147.html#abfbea91401d2594deb04ea331734171c">tbb::internal::tbb_exception_ptr</a>
+, <a class="el" href="a00029.html#a99d05096f80877849cb31d80247e0f85">tbb::cache_aligned_allocator< T ></a>
+, <a class="el" href="a00074.html#a10b9888883a3dbd66e87c4a7f874ef28">tbb::interface6::memory_pool_allocator< T, P ></a>
+, <a class="el" href="a00111.html#acf24945c12dc0586dfb1f8638daf7838">tbb::scalable_allocator< T ></a>
+</li>
+<li>allocator_type
+: <a class="el" href="a00038.html#acbdd1a5bd034358fb0774b322a66b1ed">tbb::strict_ppl::concurrent_queue< T, A ></a>
+, <a class="el" href="a00037.html#a1d2cebf242fa83d88eebdc3ad6891fb1">tbb::interface5::concurrent_priority_queue< T, Compare, A ></a>
+, <a class="el" href="a00034.html#acbfceb845de1c770e2b56409f09b0364">tbb::concurrent_bounded_queue< T, A ></a>
+, <a class="el" href="a00052.html#ad50ceae1b0e91d0fd31fe506e690692b">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a>
+, <a class="el" href="a00144.html#aa4606cff0156ec4237c1571204851bfb">tbb::tbb_allocator< T ></a>
+</li>
+<li>assign()
+: <a class="el" href="a00037.html#ac64c7b627708f0d6b2e5421fb0d49150">tbb::interface5::concurrent_priority_queue< T, Compare, A ></a>
+, <a class="el" href="a00046.html#a87355dce93d0882aa73333a35c9b367c">tbb::concurrent_vector< T, A ></a>
+</li>
+<li>at()
+: <a class="el" href="a00046.html#a629a29eb21e528414b9d5c9becfe05cd">tbb::concurrent_vector< T, A ></a>
+</li>
+<li>automatic
+: <a class="el" href="a00141.html#a945886f5ef48300a8ebff2d077c166b1">tbb::task_scheduler_init</a>
+</li>
+</ul>
+</div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/functions_0x61.html b/doc/html/functions_0x61.html
deleted file mode 100644
index 69e14c5..0000000
--- a/doc/html/functions_0x61.html
+++ /dev/null
@@ -1,90 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Class Members</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
-  <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li id="current"><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li id="current"><a href="functions.html"><span>All</span></a></li>
-    <li><a href="functions_func.html"><span>Functions</span></a></li>
-    <li><a href="functions_vars.html"><span>Variables</span></a></li>
-    <li><a href="functions_type.html"><span>Typedefs</span></a></li>
-    <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
-    <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
-    <li><a href="functions_rela.html"><span>Related Functions</span></a></li>
-  </ul>
-</div>
-<div class="tabs">
-  <ul>
-    <li><a href="functions.html#index__"><span>_</span></a></li>
-    <li id="current"><a href="functions_0x61.html#index_a"><span>a</span></a></li>
-    <li><a href="functions_0x62.html#index_b"><span>b</span></a></li>
-    <li><a href="functions_0x63.html#index_c"><span>c</span></a></li>
-    <li><a href="functions_0x64.html#index_d"><span>d</span></a></li>
-    <li><a href="functions_0x65.html#index_e"><span>e</span></a></li>
-    <li><a href="functions_0x66.html#index_f"><span>f</span></a></li>
-    <li><a href="functions_0x67.html#index_g"><span>g</span></a></li>
-    <li><a href="functions_0x69.html#index_i"><span>i</span></a></li>
-    <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li>
-    <li><a href="functions_0x6d.html#index_m"><span>m</span></a></li>
-    <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li>
-    <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li>
-    <li><a href="functions_0x70.html#index_p"><span>p</span></a></li>
-    <li><a href="functions_0x71.html#index_q"><span>q</span></a></li>
-    <li><a href="functions_0x72.html#index_r"><span>r</span></a></li>
-    <li><a href="functions_0x73.html#index_s"><span>s</span></a></li>
-    <li><a href="functions_0x74.html#index_t"><span>t</span></a></li>
-    <li><a href="functions_0x75.html#index_u"><span>u</span></a></li>
-    <li><a href="functions_0x76.html#index_v"><span>v</span></a></li>
-    <li><a href="functions_0x77.html#index_w"><span>w</span></a></li>
-    <li><a href="functions_0x7e.html#index_~"><span>~</span></a></li>
-  </ul>
-</div>
-
-<p>
-Here is a list of all documented class members with links to the class documentation for each member:
-<p>
-<h3><a class="anchor" name="index_a">- a -</a></h3><ul>
-<li>abort()
-: <a class="el" href="a00280.html#86c77a6c1317239405968f5afc7b10d3">tbb::concurrent_bounded_queue< T, A ></a><li>acquire()
-: <a class="el" href="a00346.html#b0b646ec5be02a127d159bbb7ca65353">tbb::spin_rw_mutex_v3::scoped_lock</a>, <a class="el" href="a00344.html#3ee3c338732b1f64b0b32a757807a30d">tbb::spin_mutex::scoped_lock</a>, <a class="el" href="a00335.html#7fb04da37cccf8c99b1f9102d9074f9a">tbb::recursive_mutex::scoped_lock</a>, <a class="el" href="a00329.html#a8dd5ab8686e76de21587544dbb681e0">tbb::queuing_rw_mutex::scoped_lock</a>, <a class="el" href="a00327.html#533e4fc8355ee321206a0609c42d909d">tbb::qu [...]
-: <a class="el" href="a00342.html#4b647e4a93d08ccdd8d323279e4eaaa6">tbb::flow::interface6::source_node< Output ></a><li>add()
-: <a class="el" href="a00320.html#e131c560057a58229992b61eb8dba4c6">tbb::parallel_while< Body ></a>, <a class="el" href="a00319.html#40baaf0f6856f4491dd0adf896c93516">tbb::parallel_do_feeder< Item ></a><li>add_filter()
-: <a class="el" href="a00322.html#38fb5c9c8395dd6f89a4ae2011a83e0d">tbb::pipeline</a><li>affinity()
-: <a class="el" href="a00349.html#3a920a56b0bcf2801518fb45b2c9d2be">tbb::task</a><li>affinity_id
-: <a class="el" href="a00349.html#d61bb32389d3857bf7511d69beaafb76">tbb::task</a><li>allocate()
-: <a class="el" href="a00359.html#c35e5db8e9cdff5d1387db5b0bad2e4a">tbb::internal::tbb_exception_ptr</a>, <a class="el" href="a00356.html#f6cb487b1bdce0b581f265a77dca6d53">tbb::tbb_allocator< T ></a>, <a class="el" href="a00337.html#726b1586d05d44665a36e1c7b2699bfd">tbb::scalable_allocator< T ></a>, <a class="el" href="a00308.html#365bd64d284c80d85bb2149a12681526">tbb::interface6::memory_pool_allocator< T, P ></a>, <a class="el" href="a00276.html#4cdeea67af6c1fcd8f1d5e9 [...]
-: <a class="el" href="a00349.html#1ff794f7053cd9148d5f280fbf07377f">tbb::task</a><li>allocate_continuation()
-: <a class="el" href="a00349.html#1434c79a5138993269d034008bff7329">tbb::task</a><li>allocate_root()
-: <a class="el" href="a00349.html#8ccc518caf31075a3e073996d2d240a4">tbb::task</a><li>allocated
-: <a class="el" href="a00349.html#4a3c415562d17905390ea5b49d12293ebe94d3348dd038e41107819f00c1884c">tbb::task</a><li>allocator_type
-: <a class="el" href="a00293.html#3c03eb40955b933b01987222722ac4bd">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a>, <a class="el" href="a00280.html#2e2726fccf6d975dc1071608cc0bbf90">tbb::concurrent_bounded_queue< T, A ></a>, <a class="el" href="a00286.html#5a3956341728eaa558d8827063718cac">tbb::strict_ppl::concurrent_queue< T, A ></a>, <a class="el" href="a00285.html#1712cb3a46bc1821fccc5e2cd83d5cd7">tbb::interface5::concurrent_priority_qu [...]
-: <a class="el" href="a00288.html#c04d64fe86696a084afa117d34384b5f">tbb::concurrent_vector< T, A ></a>, <a class="el" href="a00285.html#38dc06a3143eefe5697b8cd157e0d00a">tbb::interface5::concurrent_priority_queue< T, Compare, A ></a><li>at()
-: <a class="el" href="a00288.html#23e14a38af748edff96a7adc3a0f1c58">tbb::concurrent_vector< T, A ></a><li>automatic
-: <a class="el" href="a00355.html#8f5988e2b0fbb2d533fcbb7f2583743f">tbb::task_scheduler_init</a>, <a class="el" href="a00350.html#fa26370c094032900c1ed69d8e92f4e8">tbb::interface6::task_arena</a></ul>
-<hr>
-<p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
-<p></p>
-Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
-registered trademarks or trademarks of Intel Corporation or its
-subsidiaries in the United States and other countries.
-<p></p>
-* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/functions_0x62.html b/doc/html/functions_0x62.html
index 60a747c..2416922 100644
--- a/doc/html/functions_0x62.html
+++ b/doc/html/functions_0x62.html
@@ -1,76 +1,106 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
 <title>Class Members</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
-  <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li id="current"><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li id="current"><a href="functions.html"><span>All</span></a></li>
-    <li><a href="functions_func.html"><span>Functions</span></a></li>
-    <li><a href="functions_vars.html"><span>Variables</span></a></li>
-    <li><a href="functions_type.html"><span>Typedefs</span></a></li>
-    <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
-    <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
-    <li><a href="functions_rela.html"><span>Related Functions</span></a></li>
-  </ul>
-</div>
-<div class="tabs">
-  <ul>
-    <li><a href="functions.html#index__"><span>_</span></a></li>
-    <li><a href="functions_0x61.html#index_a"><span>a</span></a></li>
-    <li id="current"><a href="functions_0x62.html#index_b"><span>b</span></a></li>
-    <li><a href="functions_0x63.html#index_c"><span>c</span></a></li>
-    <li><a href="functions_0x64.html#index_d"><span>d</span></a></li>
-    <li><a href="functions_0x65.html#index_e"><span>e</span></a></li>
-    <li><a href="functions_0x66.html#index_f"><span>f</span></a></li>
-    <li><a href="functions_0x67.html#index_g"><span>g</span></a></li>
-    <li><a href="functions_0x69.html#index_i"><span>i</span></a></li>
-    <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li>
-    <li><a href="functions_0x6d.html#index_m"><span>m</span></a></li>
-    <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li>
-    <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li>
-    <li><a href="functions_0x70.html#index_p"><span>p</span></a></li>
-    <li><a href="functions_0x71.html#index_q"><span>q</span></a></li>
-    <li><a href="functions_0x72.html#index_r"><span>r</span></a></li>
-    <li><a href="functions_0x73.html#index_s"><span>s</span></a></li>
-    <li><a href="functions_0x74.html#index_t"><span>t</span></a></li>
-    <li><a href="functions_0x75.html#index_u"><span>u</span></a></li>
-    <li><a href="functions_0x76.html#index_v"><span>v</span></a></li>
-    <li><a href="functions_0x77.html#index_w"><span>w</span></a></li>
-    <li><a href="functions_0x7e.html#index_~"><span>~</span></a></li>
-  </ul>
-</div>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li class="current"><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow3" class="tabs2">
+    <ul class="tablist">
+      <li class="current"><a href="functions.html"><span>All</span></a></li>
+      <li><a href="functions_func.html"><span>Functions</span></a></li>
+      <li><a href="functions_vars.html"><span>Variables</span></a></li>
+      <li><a href="functions_type.html"><span>Typedefs</span></a></li>
+      <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
+      <li><a href="functions_rela.html"><span>Related Functions</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow4" class="tabs3">
+    <ul class="tablist">
+      <li><a href="functions.html#index_a"><span>a</span></a></li>
+      <li class="current"><a href="functions_0x62.html#index_b"><span>b</span></a></li>
+      <li><a href="functions_0x63.html#index_c"><span>c</span></a></li>
+      <li><a href="functions_0x64.html#index_d"><span>d</span></a></li>
+      <li><a href="functions_0x65.html#index_e"><span>e</span></a></li>
+      <li><a href="functions_0x66.html#index_f"><span>f</span></a></li>
+      <li><a href="functions_0x67.html#index_g"><span>g</span></a></li>
+      <li><a href="functions_0x68.html#index_h"><span>h</span></a></li>
+      <li><a href="functions_0x69.html#index_i"><span>i</span></a></li>
+      <li><a href="functions_0x6a.html#index_j"><span>j</span></a></li>
+      <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li>
+      <li><a href="functions_0x6d.html#index_m"><span>m</span></a></li>
+      <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li>
+      <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li>
+      <li><a href="functions_0x70.html#index_p"><span>p</span></a></li>
+      <li><a href="functions_0x71.html#index_q"><span>q</span></a></li>
+      <li><a href="functions_0x72.html#index_r"><span>r</span></a></li>
+      <li><a href="functions_0x73.html#index_s"><span>s</span></a></li>
+      <li><a href="functions_0x74.html#index_t"><span>t</span></a></li>
+      <li><a href="functions_0x75.html#index_u"><span>u</span></a></li>
+      <li><a href="functions_0x76.html#index_v"><span>v</span></a></li>
+      <li><a href="functions_0x77.html#index_w"><span>w</span></a></li>
+      <li><a href="functions_0x7e.html#index_0x7e"><span>~</span></a></li>
+    </ul>
+  </div>
+</div><!-- top -->
+<div class="contents">
+<div class="textblock">Here is a list of all documented class members with links to the class documentation for each member:</div>
 
-<p>
-Here is a list of all documented class members with links to the class documentation for each member:
-<p>
-<h3><a class="anchor" name="index_b">- b -</a></h3><ul>
+<h3><a class="anchor" id="index_b"></a>- b -</h3><ul>
 <li>back()
-: <a class="el" href="a00288.html#bd518e204107d07fd08d0ec5bdfd383d">tbb::concurrent_vector< T, A ></a><li>begin()
-: <a class="el" href="a00300.html#f63c3b7d03098b57fc16b71c57b303e5">tbb::flow::interface6::graph</a>, <a class="el" href="a00293.html#84afb3906a39e399cde1c950d6351300">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a>, <a class="el" href="a00288.html#78a06182276ff758788d4c0623ae0d71">tbb::concurrent_vector< T, A ></a>, <a class="el" href="a00271.html#18d2258400756ac1446dac7676b18df3">tbb::blocked_range< Value ></a>, <a class="el" href="a00265 [...]
-: <a class="el" href="a00271.html#4c0efd2be3f96a0ab3ba5085e8b3fcc7">tbb::blocked_range< Value ></a><li>bucket_count()
-: <a class="el" href="a00281.html#af34cb91b1d0f36a885a1a3432dd9af1">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a><li>buffer_node()
-: <a class="el" href="a00275.html#03ad7b85a8341437f584af06ad050cdc">tbb::flow::interface6::buffer_node< T, A ></a></ul>
+: <a class="el" href="a00046.html#aaee3ddf1d05238a8a6887f6d824b76f8">tbb::concurrent_vector< T, A ></a>
+</li>
+<li>begin()
+: <a class="el" href="a00021.html#ae225fa10454b0fa33533dfb56f5060a2">tbb::blocked_range< Value ></a>
+, <a class="el" href="a00052.html#aa097383eb6f90e4a551830fc00b60b3a">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a>
+, <a class="el" href="a00061.html#a91d2f9921342a504668b2cdc3064a846">tbb::flow::interface7::graph</a>
+, <a class="el" href="a00046.html#ab55636c80368ad7d400f3200313fcf5f">tbb::concurrent_vector< T, A ></a>
+, <a class="el" href="a00061.html#ac404d2e08620aca079532124551a646a">tbb::flow::interface7::graph</a>
+, <a class="el" href="a00014.html#a3525dbbac0d4eaedfe18bc57b7760857">tbb::aligned_space< T, N ></a>
+, <a class="el" href="a00046.html#ad3eb33d1b10a988a87cc708ceb08f3a9">tbb::concurrent_vector< T, A ></a>
+, <a class="el" href="a00052.html#a070d26debf1f65c83de13f64f91aefdc">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a>
+</li>
+<li>blocked_range()
+: <a class="el" href="a00021.html#aad176ab2cbd0bd73c3c2065761af3ccc">tbb::blocked_range< Value ></a>
+</li>
+<li>bucket_count()
+: <a class="el" href="a00035.html#aa067a2a4db1d96f38555369a89deee64">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a>
+</li>
+<li>buffer_node()
+: <a class="el" href="a00027.html#a152f7bb9ab1f033ec56caa451327634c">tbb::flow::interface7::buffer_node< T, A ></a>
+</li>
+</ul>
+</div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/functions_0x63.html b/doc/html/functions_0x63.html
index 72819e6..b148f50 100644
--- a/doc/html/functions_0x63.html
+++ b/doc/html/functions_0x63.html
@@ -1,95 +1,175 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
 <title>Class Members</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
-  <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li id="current"><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li id="current"><a href="functions.html"><span>All</span></a></li>
-    <li><a href="functions_func.html"><span>Functions</span></a></li>
-    <li><a href="functions_vars.html"><span>Variables</span></a></li>
-    <li><a href="functions_type.html"><span>Typedefs</span></a></li>
-    <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
-    <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
-    <li><a href="functions_rela.html"><span>Related Functions</span></a></li>
-  </ul>
-</div>
-<div class="tabs">
-  <ul>
-    <li><a href="functions.html#index__"><span>_</span></a></li>
-    <li><a href="functions_0x61.html#index_a"><span>a</span></a></li>
-    <li><a href="functions_0x62.html#index_b"><span>b</span></a></li>
-    <li id="current"><a href="functions_0x63.html#index_c"><span>c</span></a></li>
-    <li><a href="functions_0x64.html#index_d"><span>d</span></a></li>
-    <li><a href="functions_0x65.html#index_e"><span>e</span></a></li>
-    <li><a href="functions_0x66.html#index_f"><span>f</span></a></li>
-    <li><a href="functions_0x67.html#index_g"><span>g</span></a></li>
-    <li><a href="functions_0x69.html#index_i"><span>i</span></a></li>
-    <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li>
-    <li><a href="functions_0x6d.html#index_m"><span>m</span></a></li>
-    <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li>
-    <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li>
-    <li><a href="functions_0x70.html#index_p"><span>p</span></a></li>
-    <li><a href="functions_0x71.html#index_q"><span>q</span></a></li>
-    <li><a href="functions_0x72.html#index_r"><span>r</span></a></li>
-    <li><a href="functions_0x73.html#index_s"><span>s</span></a></li>
-    <li><a href="functions_0x74.html#index_t"><span>t</span></a></li>
-    <li><a href="functions_0x75.html#index_u"><span>u</span></a></li>
-    <li><a href="functions_0x76.html#index_v"><span>v</span></a></li>
-    <li><a href="functions_0x77.html#index_w"><span>w</span></a></li>
-    <li><a href="functions_0x7e.html#index_~"><span>~</span></a></li>
-  </ul>
-</div>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li class="current"><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow3" class="tabs2">
+    <ul class="tablist">
+      <li class="current"><a href="functions.html"><span>All</span></a></li>
+      <li><a href="functions_func.html"><span>Functions</span></a></li>
+      <li><a href="functions_vars.html"><span>Variables</span></a></li>
+      <li><a href="functions_type.html"><span>Typedefs</span></a></li>
+      <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
+      <li><a href="functions_rela.html"><span>Related Functions</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow4" class="tabs3">
+    <ul class="tablist">
+      <li><a href="functions.html#index_a"><span>a</span></a></li>
+      <li><a href="functions_0x62.html#index_b"><span>b</span></a></li>
+      <li class="current"><a href="functions_0x63.html#index_c"><span>c</span></a></li>
+      <li><a href="functions_0x64.html#index_d"><span>d</span></a></li>
+      <li><a href="functions_0x65.html#index_e"><span>e</span></a></li>
+      <li><a href="functions_0x66.html#index_f"><span>f</span></a></li>
+      <li><a href="functions_0x67.html#index_g"><span>g</span></a></li>
+      <li><a href="functions_0x68.html#index_h"><span>h</span></a></li>
+      <li><a href="functions_0x69.html#index_i"><span>i</span></a></li>
+      <li><a href="functions_0x6a.html#index_j"><span>j</span></a></li>
+      <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li>
+      <li><a href="functions_0x6d.html#index_m"><span>m</span></a></li>
+      <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li>
+      <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li>
+      <li><a href="functions_0x70.html#index_p"><span>p</span></a></li>
+      <li><a href="functions_0x71.html#index_q"><span>q</span></a></li>
+      <li><a href="functions_0x72.html#index_r"><span>r</span></a></li>
+      <li><a href="functions_0x73.html#index_s"><span>s</span></a></li>
+      <li><a href="functions_0x74.html#index_t"><span>t</span></a></li>
+      <li><a href="functions_0x75.html#index_u"><span>u</span></a></li>
+      <li><a href="functions_0x76.html#index_v"><span>v</span></a></li>
+      <li><a href="functions_0x77.html#index_w"><span>w</span></a></li>
+      <li><a href="functions_0x7e.html#index_0x7e"><span>~</span></a></li>
+    </ul>
+  </div>
+</div><!-- top -->
+<div class="contents">
+<div class="textblock">Here is a list of all documented class members with links to the class documentation for each member:</div>
 
-<p>
-Here is a list of all documented class members with links to the class documentation for each member:
-<p>
-<h3><a class="anchor" name="index_c">- c -</a></h3><ul>
-<li>cancel_group_execution()
-: <a class="el" href="a00349.html#0f3fb4aac549ab642022450a4bd13326">tbb::task</a>, <a class="el" href="a00352.html#8bcdfdf4e6bfb76125b6de15c00b571d">tbb::task_group_context</a><li>capacity()
-: <a class="el" href="a00288.html#3ed6b9ae7217af5103d974045b6f5cd5">tbb::concurrent_vector< T, A ></a>, <a class="el" href="a00280.html#b2888b3e4e837d7e03f2c731963a402b">tbb::concurrent_bounded_queue< T, A ></a><li>cbegin()
-: <a class="el" href="a00300.html#e183dfc3f89dc8f57c06ba165fb89f66">tbb::flow::interface6::graph</a>, <a class="el" href="a00288.html#f88fcf1c920693c39bd9709db33c199f">tbb::concurrent_vector< T, A ></a><li>cend()
-: <a class="el" href="a00300.html#4866156e6a31d0399b61c6eb82ee81fd">tbb::flow::interface6::graph</a>, <a class="el" href="a00288.html#0c15a5d0f1cf75d687dabba07da1d46b">tbb::concurrent_vector< T, A ></a><li>change_group()
-: <a class="el" href="a00349.html#62247be9a637a814c8e8f4bcfb3a1908">tbb::task</a><li>clear()
-: <a class="el" href="a00354.html#fce446ee13e025969945328f3ff59b95">tbb::task_list</a>, <a class="el" href="a00322.html#2c84aef5b834b555ee220b176e25931e">tbb::pipeline</a>, <a class="el" href="a00293.html#a8764176d4b6014c5d65f1051851abc8">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a>, <a class="el" href="a00288.html#26f937a359a66b6aae904c3cd9a3c444">tbb::concurrent_vector< T, A ></a>, <a class="el" href="a00280.html#90b31e2954c6e4596c7900435a5f [...]
-: <a class="el" href="a00273.html#3336ba9480fd6c43e158f9beb024c050">tbb::blocked_range3d< PageValue, RowValue, ColValue ></a>, <a class="el" href="a00272.html#392a46759af2c884957115771affa7f4">tbb::blocked_range2d< RowValue, ColValue ></a><li>compact()
-: <a class="el" href="a00288.html#1693d1da41b1a8235871be9c6633be35">tbb::concurrent_vector< T, A ></a><li>concurrent_bounded_queue()
-: <a class="el" href="a00280.html#a5e04dcd7db9fd9b583b4e7df832246a">tbb::concurrent_bounded_queue< T, A ></a><li>concurrent_hash_map()
-: <a class="el" href="a00281.html#3bb2e3526ed741f0689c00d6cd022431">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a><li>concurrent_priority_queue()
-: <a class="el" href="a00285.html#c8b20e7430c5302936030bef59a562be">tbb::interface5::concurrent_priority_queue< T, Compare, A ></a><li>concurrent_queue()
-: <a class="el" href="a00287.html#9102b897776bd2d9e908e6604ff16b5f">tbb::deprecated::concurrent_queue< T, A ></a>, <a class="el" href="a00286.html#8a6b98ea11a867db8ac868f0113ca429">tbb::strict_ppl::concurrent_queue< T, A ></a><li>concurrent_vector()
-: <a class="el" href="a00288.html#4450de83c5862ea4bcd9443fd7e67419">tbb::concurrent_vector< T, A ></a><li>const_accessor()
-: <a class="el" href="a00284.html#27399c613eb1aecd4660803955dda09d">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator >::const_accessor</a><li>const_iterator
-: <a class="el" href="a00271.html#1a8d05842c2b3dfc177bc4d347e4cef7">tbb::blocked_range< Value ></a><li>const_reference
-: <a class="el" href="a00280.html#796713d0b9ba93a4721cbe13e4474068">tbb::concurrent_bounded_queue< T, A ></a>, <a class="el" href="a00286.html#4d48e7ff93f81636bca2c74f7da34750">tbb::strict_ppl::concurrent_queue< T, A ></a>, <a class="el" href="a00285.html#a4ded8601a434098605be0dcc4febc60">tbb::interface5::concurrent_priority_queue< T, Compare, A ></a><li>construct()
-: <a class="el" href="a00356.html#3999cb92a8b6a995b65ee9ae5c31751f">tbb::tbb_allocator< T ></a>, <a class="el" href="a00308.html#c6d3fa3032bf5d4be841729d7893e26d">tbb::interface6::memory_pool_allocator< T, P ></a>, <a class="el" href="a00276.html#273d07524d386efc1366bf37af5f91f4">tbb::cache_aligned_allocator< T ></a><li>context()
-: <a class="el" href="a00349.html#d8c36a93f3972590fbb65ff1cef3173b">tbb::task</a><li>continue_node()
-: <a class="el" href="a00290.html#869562787fcb5c57a90aea120f26d492">tbb::flow::interface6::continue_node< Output ></a><li>continue_receiver()
-: <a class="el" href="a00291.html#a0b292ed7fa6556b2a735f6d1e82dc74">tbb::flow::interface6::continue_receiver</a><li>count()
-: <a class="el" href="a00281.html#6968eb6feed2df36be421df0464297af">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a><li>crbegin()
-: <a class="el" href="a00288.html#db78a1d28c9c966050e8a2926d834a33">tbb::concurrent_vector< T, A ></a><li>crend()
-: <a class="el" href="a00288.html#fff9cece89438587997ebedf93c5e962">tbb::concurrent_vector< T, A ></a><li>current_slot()
-: <a class="el" href="a00350.html#e734de6a5f4a0bd4461c0cbdaa29b6ce">tbb::interface6::task_arena</a></ul>
+<h3><a class="anchor" id="index_c"></a>- c -</h3><ul>
+<li>capacity()
+: <a class="el" href="a00034.html#a526487063242569685af8c8d778d39e0">tbb::concurrent_bounded_queue< T, A ></a>
+, <a class="el" href="a00046.html#a96c2ae9dfedc24d62554feb627df76c3">tbb::concurrent_vector< T, A ></a>
+</li>
+<li>cbegin()
+: <a class="el" href="a00061.html#a2af8f195917817ce2b77ff7b6463c344">tbb::flow::interface7::graph</a>
+, <a class="el" href="a00046.html#a7a1c5441fa480c07ef37d9206b6260cc">tbb::concurrent_vector< T, A ></a>
+</li>
+<li>cend()
+: <a class="el" href="a00046.html#a9ea80faf139feb54d6576c036e4ba898">tbb::concurrent_vector< T, A ></a>
+, <a class="el" href="a00061.html#acf6d3f610c2675eaf8bf2a40853081aa">tbb::flow::interface7::graph</a>
+</li>
+<li>clear()
+: <a class="el" href="a00037.html#a2459166998a4103880d603b237c429e6">tbb::interface5::concurrent_priority_queue< T, Compare, A ></a>
+, <a class="el" href="a00038.html#ad3384818fb6350a494d5ec62445e59ee">tbb::strict_ppl::concurrent_queue< T, A ></a>
+, <a class="el" href="a00034.html#a246be3920e079ea4847933f106baa98f">tbb::concurrent_bounded_queue< T, A ></a>
+, <a class="el" href="a00046.html#a526ba408fb3064ef846940d633b8f365">tbb::concurrent_vector< T, A ></a>
+, <a class="el" href="a00052.html#a85a0d8f088ef1ee07aeb2c0e944a4a5e">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a>
+, <a class="el" href="a00089.html#ae53edbda1771eeaa254d78ae6100a762">tbb::pipeline</a>
+, <a class="el" href="a00035.html#ab8295bc260b5e4df883fef11574b84c6">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a>
+</li>
+<li>cols()
+: <a class="el" href="a00022.html#af3bccfaf90126b285491096f78ca9473">tbb::blocked_range2d< RowValue, ColValue ></a>
+, <a class="el" href="a00023.html#a308d7089a1d53ff26770a7040ed817cd">tbb::blocked_range3d< PageValue, RowValue, ColValue ></a>
+</li>
+<li>compact()
+: <a class="el" href="a00046.html#af2101247808fd0e81b992724e317a7f3">tbb::concurrent_vector< T, A ></a>
+</li>
+<li>concurrent_bounded_queue()
+: <a class="el" href="a00034.html#a85f8a800cae02b601f36ad7a655a0126">tbb::concurrent_bounded_queue< T, A ></a>
+</li>
+<li>concurrent_hash_map()
+: <a class="el" href="a00035.html#aa3a9767b525144a2afb69ed125714c53">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a>
+</li>
+<li>concurrent_priority_queue()
+: <a class="el" href="a00037.html#a405be01bac4048f214797c287e2571a1">tbb::interface5::concurrent_priority_queue< T, Compare, A ></a>
+</li>
+<li>concurrent_queue()
+: <a class="el" href="a00038.html#a43ac953152e60815c09fe4a4d4a623a9">tbb::strict_ppl::concurrent_queue< T, A ></a>
+, <a class="el" href="a00039.html#adc192aba16ef123aebbc4ada0fb53708">tbb::deprecated::concurrent_queue< T, A ></a>
+, <a class="el" href="a00038.html#a49b2e16902577cd3174355be0fa684e5">tbb::strict_ppl::concurrent_queue< T, A ></a>
+</li>
+<li>concurrent_unordered_map()
+: <a class="el" href="a00040.html#aa45010d834cc5e082321b49fec06f73d">tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator ></a>
+</li>
+<li>concurrent_unordered_multimap()
+: <a class="el" href="a00042.html#a169314a424d47679e4aa343b70f75f00">tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator ></a>
+</li>
+<li>concurrent_unordered_multiset()
+: <a class="el" href="a00043.html#ab2fa28924f52578bb59200b9ffa976c8">tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator ></a>
+</li>
+<li>concurrent_unordered_set()
+: <a class="el" href="a00044.html#ae0570fa46456245509cc789e17bd0c21">tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator ></a>
+</li>
+<li>concurrent_vector()
+: <a class="el" href="a00046.html#a03b5a0e9069b30dc4e2e5fc2f191ccb6">tbb::concurrent_vector< T, A ></a>
+</li>
+<li>const_accessor()
+: <a class="el" href="a00047.html#a7b26d22d228cf0d8678c9b346c63752c">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::const_accessor</a>
+</li>
+<li>const_iterator
+: <a class="el" href="a00021.html#ad56ca70af46acf8870b4970d8a809791">tbb::blocked_range< Value ></a>
+</li>
+<li>const_reference
+: <a class="el" href="a00037.html#a0bd617fe8e4657777e86f0ae15d8094f">tbb::interface5::concurrent_priority_queue< T, Compare, A ></a>
+, <a class="el" href="a00034.html#af838e520ce0db2c22369748c019b11cb">tbb::concurrent_bounded_queue< T, A ></a>
+, <a class="el" href="a00038.html#a478c2b7f763b2e821e01cc14e13baf4c">tbb::strict_ppl::concurrent_queue< T, A ></a>
+</li>
+<li>construct()
+: <a class="el" href="a00144.html#af54fa3029e33cebe5ba64a8538306fdf">tbb::tbb_allocator< T ></a>
+, <a class="el" href="a00074.html#ac51b34ef90ecabdd2e0483e25603a15b">tbb::interface6::memory_pool_allocator< T, P ></a>
+, <a class="el" href="a00029.html#ab316f80a66b991801b4ec4ea88b852d9">tbb::cache_aligned_allocator< T ></a>
+</li>
+<li>continue_node()
+: <a class="el" href="a00049.html#a7b96b9eb41772ff1d7a52329ac56b8f0">tbb::flow::interface7::continue_node< Output ></a>
+</li>
+<li>continue_receiver()
+: <a class="el" href="a00050.html#a3055f8a570f7558b6eb9e210feb91b90">tbb::flow::interface7::continue_receiver</a>
+</li>
+<li>count()
+: <a class="el" href="a00035.html#ac375d3884bf9c80efe56117757c822e7">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a>
+</li>
+<li>crbegin()
+: <a class="el" href="a00046.html#a2627db4a7949522ea4727320b23a6348">tbb::concurrent_vector< T, A ></a>
+</li>
+<li>crend()
+: <a class="el" href="a00046.html#ad097225c529dbb24cc0e13a444ab4752">tbb::concurrent_vector< T, A ></a>
+</li>
+<li>current_slot()
+: <a class="el" href="a00135.html#a4c107b6a4cc79183923fe2433d25644f">tbb::interface7::task_arena</a>
+</li>
+</ul>
+</div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/functions_0x64.html b/doc/html/functions_0x64.html
index a9a660e..1a93670 100644
--- a/doc/html/functions_0x64.html
+++ b/doc/html/functions_0x64.html
@@ -1,79 +1,126 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
 <title>Class Members</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
-  <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li id="current"><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li id="current"><a href="functions.html"><span>All</span></a></li>
-    <li><a href="functions_func.html"><span>Functions</span></a></li>
-    <li><a href="functions_vars.html"><span>Variables</span></a></li>
-    <li><a href="functions_type.html"><span>Typedefs</span></a></li>
-    <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
-    <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
-    <li><a href="functions_rela.html"><span>Related Functions</span></a></li>
-  </ul>
-</div>
-<div class="tabs">
-  <ul>
-    <li><a href="functions.html#index__"><span>_</span></a></li>
-    <li><a href="functions_0x61.html#index_a"><span>a</span></a></li>
-    <li><a href="functions_0x62.html#index_b"><span>b</span></a></li>
-    <li><a href="functions_0x63.html#index_c"><span>c</span></a></li>
-    <li id="current"><a href="functions_0x64.html#index_d"><span>d</span></a></li>
-    <li><a href="functions_0x65.html#index_e"><span>e</span></a></li>
-    <li><a href="functions_0x66.html#index_f"><span>f</span></a></li>
-    <li><a href="functions_0x67.html#index_g"><span>g</span></a></li>
-    <li><a href="functions_0x69.html#index_i"><span>i</span></a></li>
-    <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li>
-    <li><a href="functions_0x6d.html#index_m"><span>m</span></a></li>
-    <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li>
-    <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li>
-    <li><a href="functions_0x70.html#index_p"><span>p</span></a></li>
-    <li><a href="functions_0x71.html#index_q"><span>q</span></a></li>
-    <li><a href="functions_0x72.html#index_r"><span>r</span></a></li>
-    <li><a href="functions_0x73.html#index_s"><span>s</span></a></li>
-    <li><a href="functions_0x74.html#index_t"><span>t</span></a></li>
-    <li><a href="functions_0x75.html#index_u"><span>u</span></a></li>
-    <li><a href="functions_0x76.html#index_v"><span>v</span></a></li>
-    <li><a href="functions_0x77.html#index_w"><span>w</span></a></li>
-    <li><a href="functions_0x7e.html#index_~"><span>~</span></a></li>
-  </ul>
-</div>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li class="current"><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow3" class="tabs2">
+    <ul class="tablist">
+      <li class="current"><a href="functions.html"><span>All</span></a></li>
+      <li><a href="functions_func.html"><span>Functions</span></a></li>
+      <li><a href="functions_vars.html"><span>Variables</span></a></li>
+      <li><a href="functions_type.html"><span>Typedefs</span></a></li>
+      <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
+      <li><a href="functions_rela.html"><span>Related Functions</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow4" class="tabs3">
+    <ul class="tablist">
+      <li><a href="functions.html#index_a"><span>a</span></a></li>
+      <li><a href="functions_0x62.html#index_b"><span>b</span></a></li>
+      <li><a href="functions_0x63.html#index_c"><span>c</span></a></li>
+      <li class="current"><a href="functions_0x64.html#index_d"><span>d</span></a></li>
+      <li><a href="functions_0x65.html#index_e"><span>e</span></a></li>
+      <li><a href="functions_0x66.html#index_f"><span>f</span></a></li>
+      <li><a href="functions_0x67.html#index_g"><span>g</span></a></li>
+      <li><a href="functions_0x68.html#index_h"><span>h</span></a></li>
+      <li><a href="functions_0x69.html#index_i"><span>i</span></a></li>
+      <li><a href="functions_0x6a.html#index_j"><span>j</span></a></li>
+      <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li>
+      <li><a href="functions_0x6d.html#index_m"><span>m</span></a></li>
+      <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li>
+      <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li>
+      <li><a href="functions_0x70.html#index_p"><span>p</span></a></li>
+      <li><a href="functions_0x71.html#index_q"><span>q</span></a></li>
+      <li><a href="functions_0x72.html#index_r"><span>r</span></a></li>
+      <li><a href="functions_0x73.html#index_s"><span>s</span></a></li>
+      <li><a href="functions_0x74.html#index_t"><span>t</span></a></li>
+      <li><a href="functions_0x75.html#index_u"><span>u</span></a></li>
+      <li><a href="functions_0x76.html#index_v"><span>v</span></a></li>
+      <li><a href="functions_0x77.html#index_w"><span>w</span></a></li>
+      <li><a href="functions_0x7e.html#index_0x7e"><span>~</span></a></li>
+    </ul>
+  </div>
+</div><!-- top -->
+<div class="contents">
+<div class="textblock">Here is a list of all documented class members with links to the class documentation for each member:</div>
 
-<p>
-Here is a list of all documented class members with links to the class documentation for each member:
-<p>
-<h3><a class="anchor" name="index_d">- d -</a></h3><ul>
+<h3><a class="anchor" id="index_d"></a>- d -</h3><ul>
 <li>deallocate()
-: <a class="el" href="a00356.html#fdd011fdf2f9ad07006dc7c0a7ec1da2">tbb::tbb_allocator< T ></a>, <a class="el" href="a00337.html#f806a238c18cbcfb531e1e0a0d2ec59d">tbb::scalable_allocator< T ></a>, <a class="el" href="a00308.html#4e24a03de38638af07548383024c54ab">tbb::interface6::memory_pool_allocator< T, P ></a>, <a class="el" href="a00276.html#3d4eadf188f7d85d3805ae534e0b8e1c">tbb::cache_aligned_allocator< T ></a><li>decrement
-: <a class="el" href="a00304.html#a3344b2461966631b6ee34b79fb105c7">tbb::flow::interface6::limiter_node< T ></a><li>decrement_ref_count()
-: <a class="el" href="a00349.html#ef4680f5c148020c5e7e43ddef44cd5d">tbb::task</a><li>decrement_wait_count()
-: <a class="el" href="a00300.html#29b85506870f13a884a21655aec2a65d">tbb::flow::interface6::graph</a><li>deferred
-: <a class="el" href="a00355.html#e6c860f1e559026ff3ef4599c0d6c514">tbb::task_scheduler_init</a><li>destroy()
-: <a class="el" href="a00359.html#921875bbacd2c8a5f324c7da7a415262">tbb::internal::tbb_exception_ptr</a>, <a class="el" href="a00311.html#7a46873119d9f85a7b0009c13e41a258">tbb::movable_exception< ExceptionData ></a>, <a class="el" href="a00278.html#93d875d3555502ff6f18513525de204c">tbb::captured_exception</a>, <a class="el" href="a00358.html#66c94938eca8bf88b76f3eccaaf215d8">tbb::tbb_exception</a>, <a class="el" href="a00349.html#dfaacf92685e5f86393bf657b2853bf8">tbb::task</a><li>d [...]
-: <a class="el" href="a00280.html#4b45c91297e69515d83d5eef85ae1f49">tbb::concurrent_bounded_queue< T, A ></a>, <a class="el" href="a00286.html#068576d16c7e4e05d52f9db7a45b5b65">tbb::strict_ppl::concurrent_queue< T, A ></a>, <a class="el" href="a00285.html#77399bc76b3ecd60e33f7e35a5becd87">tbb::interface5::concurrent_priority_queue< T, Compare, A ></a><li>downgrade_to_reader()
-: <a class="el" href="a00346.html#c2c2c38a08cb9080e87099fac3e5bc94">tbb::spin_rw_mutex_v3::scoped_lock</a>, <a class="el" href="a00329.html#0d2f93edf7b15ec4bcee138823220c52">tbb::queuing_rw_mutex::scoped_lock</a></ul>
+: <a class="el" href="a00029.html#a7f7310e046c4b6b8618864de8e27a471">tbb::cache_aligned_allocator< T ></a>
+, <a class="el" href="a00074.html#a9fcf288f2d653972d1bdc0c65abebed4">tbb::interface6::memory_pool_allocator< T, P ></a>
+, <a class="el" href="a00144.html#a28e333e0fff56dd53c20b82cfee430ab">tbb::tbb_allocator< T ></a>
+, <a class="el" href="a00111.html#a0632b19f25e5d5f86f18b3101925f488">tbb::scalable_allocator< T ></a>
+</li>
+<li>debug_wait_until_empty()
+: <a class="el" href="a00135.html#a07d87dff8c6116ee349684e10f754aeb">tbb::interface7::task_arena</a>
+</li>
+<li>decrement
+: <a class="el" href="a00072.html#ac313b6586bf183a33c3196037964547d">tbb::flow::interface7::limiter_node< T ></a>
+</li>
+<li>decrement_wait_count()
+: <a class="el" href="a00061.html#af16d14eaed1355ae376bb78dde7762c3">tbb::flow::interface7::graph</a>
+</li>
+<li>default_num_threads()
+: <a class="el" href="a00141.html#aa0c0d46ec09bedc1ee876aa8aa87c3d1">tbb::task_scheduler_init</a>
+</li>
+<li>deferred
+: <a class="el" href="a00141.html#af0e49ff2f59a4e53c9c07897b57f084d">tbb::task_scheduler_init</a>
+</li>
+<li>destroy()
+: <a class="el" href="a00078.html#a02f0401b465690de797face2432d9421">tbb::movable_exception< ExceptionData ></a>
+, <a class="el" href="a00147.html#a38d3ca480e2758a67bcd7427b156daae">tbb::internal::tbb_exception_ptr</a>
+, <a class="el" href="a00029.html#af2fd054d055403d4ea669fd3af661cc8">tbb::cache_aligned_allocator< T ></a>
+, <a class="el" href="a00074.html#a2223b6469f88aadc432a4b3f88728d0f">tbb::interface6::memory_pool_allocator< T, P ></a>
+, <a class="el" href="a00144.html#ac7b1b393a8ff3399079328c0971c1996">tbb::tbb_allocator< T ></a>
+, <a class="el" href="a00146.html#ad3bc09bf78c33f19a0bcdf882fdf9d41">tbb::tbb_exception</a>
+, <a class="el" href="a00031.html#a3006b6825dda6c746d28fb748f5675de">tbb::captured_exception</a>
+</li>
+<li>detach()
+: <a class="el" href="a00149.html#a80a31a41708872af5557b907f129b19b">tbb::internal::tbb_thread_v3</a>
+</li>
+<li>difference_type
+: <a class="el" href="a00037.html#ae010b1fa9c0942504737228474b51a0b">tbb::interface5::concurrent_priority_queue< T, Compare, A ></a>
+, <a class="el" href="a00034.html#a72725361e050c5a981035a20ef1b773e">tbb::concurrent_bounded_queue< T, A ></a>
+, <a class="el" href="a00038.html#a63b42d83a9ed13fc6741e0b4388b0e96">tbb::strict_ppl::concurrent_queue< T, A ></a>
+</li>
+<li>downgrade_to_reader()
+: <a class="el" href="a00114.html#aa693c05221d977856a98270a255fe5df">tbb::spin_rw_mutex_v3::scoped_lock</a>
+, <a class="el" href="a00119.html#af0af63035147a3d8422f8c8d7b8d2629">tbb::queuing_rw_mutex::scoped_lock</a>
+</li>
+</ul>
+</div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/functions_0x65.html b/doc/html/functions_0x65.html
index 37e872b..0e72ba2 100644
--- a/doc/html/functions_0x65.html
+++ b/doc/html/functions_0x65.html
@@ -1,92 +1,161 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
 <title>Class Members</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
-  <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li id="current"><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li id="current"><a href="functions.html"><span>All</span></a></li>
-    <li><a href="functions_func.html"><span>Functions</span></a></li>
-    <li><a href="functions_vars.html"><span>Variables</span></a></li>
-    <li><a href="functions_type.html"><span>Typedefs</span></a></li>
-    <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
-    <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
-    <li><a href="functions_rela.html"><span>Related Functions</span></a></li>
-  </ul>
-</div>
-<div class="tabs">
-  <ul>
-    <li><a href="functions.html#index__"><span>_</span></a></li>
-    <li><a href="functions_0x61.html#index_a"><span>a</span></a></li>
-    <li><a href="functions_0x62.html#index_b"><span>b</span></a></li>
-    <li><a href="functions_0x63.html#index_c"><span>c</span></a></li>
-    <li><a href="functions_0x64.html#index_d"><span>d</span></a></li>
-    <li id="current"><a href="functions_0x65.html#index_e"><span>e</span></a></li>
-    <li><a href="functions_0x66.html#index_f"><span>f</span></a></li>
-    <li><a href="functions_0x67.html#index_g"><span>g</span></a></li>
-    <li><a href="functions_0x69.html#index_i"><span>i</span></a></li>
-    <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li>
-    <li><a href="functions_0x6d.html#index_m"><span>m</span></a></li>
-    <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li>
-    <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li>
-    <li><a href="functions_0x70.html#index_p"><span>p</span></a></li>
-    <li><a href="functions_0x71.html#index_q"><span>q</span></a></li>
-    <li><a href="functions_0x72.html#index_r"><span>r</span></a></li>
-    <li><a href="functions_0x73.html#index_s"><span>s</span></a></li>
-    <li><a href="functions_0x74.html#index_t"><span>t</span></a></li>
-    <li><a href="functions_0x75.html#index_u"><span>u</span></a></li>
-    <li><a href="functions_0x76.html#index_v"><span>v</span></a></li>
-    <li><a href="functions_0x77.html#index_w"><span>w</span></a></li>
-    <li><a href="functions_0x7e.html#index_~"><span>~</span></a></li>
-  </ul>
-</div>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li class="current"><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow3" class="tabs2">
+    <ul class="tablist">
+      <li class="current"><a href="functions.html"><span>All</span></a></li>
+      <li><a href="functions_func.html"><span>Functions</span></a></li>
+      <li><a href="functions_vars.html"><span>Variables</span></a></li>
+      <li><a href="functions_type.html"><span>Typedefs</span></a></li>
+      <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
+      <li><a href="functions_rela.html"><span>Related Functions</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow4" class="tabs3">
+    <ul class="tablist">
+      <li><a href="functions.html#index_a"><span>a</span></a></li>
+      <li><a href="functions_0x62.html#index_b"><span>b</span></a></li>
+      <li><a href="functions_0x63.html#index_c"><span>c</span></a></li>
+      <li><a href="functions_0x64.html#index_d"><span>d</span></a></li>
+      <li class="current"><a href="functions_0x65.html#index_e"><span>e</span></a></li>
+      <li><a href="functions_0x66.html#index_f"><span>f</span></a></li>
+      <li><a href="functions_0x67.html#index_g"><span>g</span></a></li>
+      <li><a href="functions_0x68.html#index_h"><span>h</span></a></li>
+      <li><a href="functions_0x69.html#index_i"><span>i</span></a></li>
+      <li><a href="functions_0x6a.html#index_j"><span>j</span></a></li>
+      <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li>
+      <li><a href="functions_0x6d.html#index_m"><span>m</span></a></li>
+      <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li>
+      <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li>
+      <li><a href="functions_0x70.html#index_p"><span>p</span></a></li>
+      <li><a href="functions_0x71.html#index_q"><span>q</span></a></li>
+      <li><a href="functions_0x72.html#index_r"><span>r</span></a></li>
+      <li><a href="functions_0x73.html#index_s"><span>s</span></a></li>
+      <li><a href="functions_0x74.html#index_t"><span>t</span></a></li>
+      <li><a href="functions_0x75.html#index_u"><span>u</span></a></li>
+      <li><a href="functions_0x76.html#index_v"><span>v</span></a></li>
+      <li><a href="functions_0x77.html#index_w"><span>w</span></a></li>
+      <li><a href="functions_0x7e.html#index_0x7e"><span>~</span></a></li>
+    </ul>
+  </div>
+</div><!-- top -->
+<div class="contents">
+<div class="textblock">Here is a list of all documented class members with links to the class documentation for each member:</div>
 
-<p>
-Here is a list of all documented class members with links to the class documentation for each member:
-<p>
-<h3><a class="anchor" name="index_e">- e -</a></h3><ul>
+<h3><a class="anchor" id="index_e"></a>- e -</h3><ul>
 <li>ec_bad_arg
-: <a class="el" href="a00336.html#6831be91cdc64e57e565ce0dde01878927e94a7b173bb8d0623bf48aad8fc703">tbb::interface6::runtime_loader</a><li>ec_bad_call
-: <a class="el" href="a00336.html#6831be91cdc64e57e565ce0dde018789e6ce2b091083b80878cbb70cd00782a1">tbb::interface6::runtime_loader</a><li>ec_bad_lib
-: <a class="el" href="a00336.html#6831be91cdc64e57e565ce0dde01878903ee81d8c05966bc1125666713dee5f6">tbb::interface6::runtime_loader</a><li>ec_bad_ver
-: <a class="el" href="a00336.html#6831be91cdc64e57e565ce0dde01878907790f32918e60d670a96c1f0349e8d6">tbb::interface6::runtime_loader</a><li>ec_no_lib
-: <a class="el" href="a00336.html#6831be91cdc64e57e565ce0dde01878902acc03ebfcdb16e3e26b24f64da2bdb">tbb::interface6::runtime_loader</a><li>ec_ok
-: <a class="el" href="a00336.html#6831be91cdc64e57e565ce0dde0187891e3a364f63f419e5ea2f1d1e52289b27">tbb::interface6::runtime_loader</a><li>em_abort
-: <a class="el" href="a00336.html#bb0130fe0f596399707e61431231ebcb630dd30c9ba61d5ab187e80313bbad94">tbb::interface6::runtime_loader</a><li>em_status
-: <a class="el" href="a00336.html#bb0130fe0f596399707e61431231ebcbdb47fe5ffbd2eaf47e6de0af433ada38">tbb::interface6::runtime_loader</a><li>em_throw
-: <a class="el" href="a00336.html#bb0130fe0f596399707e61431231ebcbdeb59ca2912432b47fd3ec831574653b">tbb::interface6::runtime_loader</a><li>empty()
-: <a class="el" href="a00354.html#f3ac31e092814b90929f81bb30441959">tbb::task_list</a>, <a class="el" href="a00293.html#72595886d0ac8fd0543f90038570510d">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a>, <a class="el" href="a00288.html#c6426cb93cf20d3af40f3c90f1f0481a">tbb::concurrent_vector< T, A ></a>, <a class="el" href="a00280.html#f64924f2ee9225c368a270fc3c394db9">tbb::concurrent_bounded_queue< T, A ></a>, <a class="el" href="a00286.htm [...]
-: <a class="el" href="a00300.html#907bd06606818c36f52420fe8d469d35">tbb::flow::interface6::graph</a>, <a class="el" href="a00293.html#cb448bb4977ce366ceb7344085cc7050">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a>, <a class="el" href="a00288.html#1e6aa764ce5a1cbd24526f68bc0a2f6b">tbb::concurrent_vector< T, A ></a>, <a class="el" href="a00271.html#8b929d93ddc13f148b11bceef3a3bdf8">tbb::blocked_range< Value ></a>, <a class="el" href="a00265 [...]
-: <a class="el" href="a00350.html#780277a89e35868abdec843fecaa2237">tbb::interface6::task_arena</a>, <a class="el" href="a00349.html#fe6bf6aaf84e664134fabb6c4f409ea9">tbb::task</a><li>enumerable_thread_specific()
-: <a class="el" href="a00293.html#7bce6829981c9efe3f59cae2355e383e">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a><li>erase()
-: <a class="el" href="a00281.html#5f12d150d421420965db07368666a84f">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a><li>error_code
-: <a class="el" href="a00336.html#6831be91cdc64e57e565ce0dde018789">tbb::interface6::runtime_loader</a><li>error_mode
-: <a class="el" href="a00336.html#bb0130fe0f596399707e61431231ebcb">tbb::interface6::runtime_loader</a><li>exact_exception_propagation
-: <a class="el" href="a00294.html#f17200974c33be21f42a5f00893de028">tbb::filter</a><li>exclude()
-: <a class="el" href="a00281.html#0c964214eb38f54603aa75fdff6d2709">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a><li>execute()
-: <a class="el" href="a00350.html#082803bb20347e64fed2c11db8e9670e">tbb::interface6::task_arena</a>, <a class="el" href="a00349.html#22c298cd40937a431a06777423f002f6">tbb::task</a>, <a class="el" href="a00291.html#2165b726212975be532cff7b2f001834">tbb::flow::interface6::continue_receiver</a>, <a class="el" href="a00263.html#641c8dc43652589d12eefaef130c094d">tbb::interface6::aggregator</a><li>execute_impl()
-: <a class="el" href="a00264.html#fdd0a9ce522246b9e14ae5e44bc72d31">tbb::interface6::aggregator_ext< handler_type ></a><li>executing
-: <a class="el" href="a00349.html#4a3c415562d17905390ea5b49d12293ead0fe2302ccc360923f738c2ed7ec1b9">tbb::task</a></ul>
+: <a class="el" href="a00110.html#a264674772d9f4240d89aa9d939c1eef7afd928f63eb3da0980e746d58374b07c3">tbb::interface6::runtime_loader</a>
+</li>
+<li>ec_bad_call
+: <a class="el" href="a00110.html#a264674772d9f4240d89aa9d939c1eef7a670e4d0a5a3c1bbcdff9e5ee16dc9c01">tbb::interface6::runtime_loader</a>
+</li>
+<li>ec_bad_lib
+: <a class="el" href="a00110.html#a264674772d9f4240d89aa9d939c1eef7a71f874957c0322f499ba764dd0bb8732">tbb::interface6::runtime_loader</a>
+</li>
+<li>ec_bad_ver
+: <a class="el" href="a00110.html#a264674772d9f4240d89aa9d939c1eef7aae7497a49ceae69d06d6ab9fef636064">tbb::interface6::runtime_loader</a>
+</li>
+<li>ec_no_lib
+: <a class="el" href="a00110.html#a264674772d9f4240d89aa9d939c1eef7a5e694560f3ada80d2cc25881b5ae43dd">tbb::interface6::runtime_loader</a>
+</li>
+<li>ec_ok
+: <a class="el" href="a00110.html#a264674772d9f4240d89aa9d939c1eef7afc7eba28f2fc936312f041cf85276434">tbb::interface6::runtime_loader</a>
+</li>
+<li>em_abort
+: <a class="el" href="a00110.html#ab85c82f9c0ccd91905f2795a79ac1295ac41f8e03c7e8bfc6a420be035d59cc35">tbb::interface6::runtime_loader</a>
+</li>
+<li>em_status
+: <a class="el" href="a00110.html#ab85c82f9c0ccd91905f2795a79ac1295af9c9137d6acdb0fd37f1a92b5cdaeb36">tbb::interface6::runtime_loader</a>
+</li>
+<li>em_throw
+: <a class="el" href="a00110.html#ab85c82f9c0ccd91905f2795a79ac1295a17ec1019cffa635146eaefb042e28a2c">tbb::interface6::runtime_loader</a>
+</li>
+<li>empty()
+: <a class="el" href="a00038.html#aeda3156929d0c250faed7b807ca6ab0e">tbb::strict_ppl::concurrent_queue< T, A ></a>
+, <a class="el" href="a00034.html#a8c59578f28c5fb4718b0eff43776e879">tbb::concurrent_bounded_queue< T, A ></a>
+, <a class="el" href="a00046.html#aa3f6774107e65642f73c0dcc9a962fe7">tbb::concurrent_vector< T, A ></a>
+, <a class="el" href="a00052.html#adfa4b2e13e47ab825dc40c4f195d2bc5">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a>
+, <a class="el" href="a00021.html#a59dec03416b3fefbf69600f798177710">tbb::blocked_range< Value ></a>
+, <a class="el" href="a00022.html#a5805972c8c41b2681d286f9c9771cf52">tbb::blocked_range2d< RowValue, ColValue ></a>
+, <a class="el" href="a00023.html#aea992e0cd3d105f964a633b1a0a1a05f">tbb::blocked_range3d< PageValue, RowValue, ColValue ></a>
+, <a class="el" href="a00047.html#a6299b523d2ae8e2613f1bc160ca99b85">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::const_accessor</a>
+, <a class="el" href="a00035.html#a5e05f2a1ca3accfb4252d7ee82d1e990">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a>
+, <a class="el" href="a00037.html#a8dec2dd0e8b22af14f1753eaef1bf5eb">tbb::interface5::concurrent_priority_queue< T, Compare, A ></a>
+</li>
+<li>end()
+: <a class="el" href="a00014.html#ae95620e1159984a2670bd418ed4748d0">tbb::aligned_space< T, N ></a>
+, <a class="el" href="a00021.html#a99f829599d3e51b181a30b4cd57b06c6">tbb::blocked_range< Value ></a>
+, <a class="el" href="a00046.html#aad2c07653375e4a5f89c33b375eda610">tbb::concurrent_vector< T, A ></a>
+, <a class="el" href="a00061.html#a599e6a885a76db84928b039063c299e4">tbb::flow::interface7::graph</a>
+, <a class="el" href="a00052.html#ad225e2e8a968b131bf05d72f5686b924">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a>
+, <a class="el" href="a00061.html#a221a7ee0a1f0e69a01add5c1dda43be7">tbb::flow::interface7::graph</a>
+</li>
+<li>enqueue()
+: <a class="el" href="a00135.html#a8034275ed2fffa68f70484043b90d406">tbb::interface7::task_arena</a>
+</li>
+<li>enumerable_thread_specific()
+: <a class="el" href="a00052.html#a6f0249ee95fa56665da4b6984f3a685a">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a>
+</li>
+<li>erase()
+: <a class="el" href="a00035.html#a5144122dbb946d933b94a92117543b33">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a>
+</li>
+<li>error_code
+: <a class="el" href="a00110.html#a264674772d9f4240d89aa9d939c1eef7">tbb::interface6::runtime_loader</a>
+</li>
+<li>error_mode
+: <a class="el" href="a00110.html#ab85c82f9c0ccd91905f2795a79ac1295">tbb::interface6::runtime_loader</a>
+</li>
+<li>exact_exception_propagation
+: <a class="el" href="a00053.html#aab9689e23a96c6c9bf1c8caae74d92ee">tbb::filter</a>
+</li>
+<li>exclude()
+: <a class="el" href="a00035.html#a6fec452b31b8f0e185dc2de64b7128b2">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a>
+</li>
+<li>execute()
+: <a class="el" href="a00135.html#af0c96f325b59d567b4c720f2830adde8">tbb::interface7::task_arena</a>
+, <a class="el" href="a00050.html#adf70ce80d67a565d04e029da461bbe72">tbb::flow::interface7::continue_receiver</a>
+, <a class="el" href="a00011.html#aa7cc924b6f0d17578d61fd9002f59f84">tbb::interface6::aggregator</a>
+, <a class="el" href="a00135.html#ab8442c8e9e3e678349409e08cabc7ae2">tbb::interface7::task_arena</a>
+</li>
+<li>execute_impl()
+: <a class="el" href="a00012.html#ad376e5c31d10e885f33964592aa629d4">tbb::interface6::aggregator_ext< handler_type ></a>
+</li>
+</ul>
+</div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/functions_0x66.html b/doc/html/functions_0x66.html
index c1e7534..4322169 100644
--- a/doc/html/functions_0x66.html
+++ b/doc/html/functions_0x66.html
@@ -1,81 +1,117 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
 <title>Class Members</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
-  <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li id="current"><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li id="current"><a href="functions.html"><span>All</span></a></li>
-    <li><a href="functions_func.html"><span>Functions</span></a></li>
-    <li><a href="functions_vars.html"><span>Variables</span></a></li>
-    <li><a href="functions_type.html"><span>Typedefs</span></a></li>
-    <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
-    <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
-    <li><a href="functions_rela.html"><span>Related Functions</span></a></li>
-  </ul>
-</div>
-<div class="tabs">
-  <ul>
-    <li><a href="functions.html#index__"><span>_</span></a></li>
-    <li><a href="functions_0x61.html#index_a"><span>a</span></a></li>
-    <li><a href="functions_0x62.html#index_b"><span>b</span></a></li>
-    <li><a href="functions_0x63.html#index_c"><span>c</span></a></li>
-    <li><a href="functions_0x64.html#index_d"><span>d</span></a></li>
-    <li><a href="functions_0x65.html#index_e"><span>e</span></a></li>
-    <li id="current"><a href="functions_0x66.html#index_f"><span>f</span></a></li>
-    <li><a href="functions_0x67.html#index_g"><span>g</span></a></li>
-    <li><a href="functions_0x69.html#index_i"><span>i</span></a></li>
-    <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li>
-    <li><a href="functions_0x6d.html#index_m"><span>m</span></a></li>
-    <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li>
-    <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li>
-    <li><a href="functions_0x70.html#index_p"><span>p</span></a></li>
-    <li><a href="functions_0x71.html#index_q"><span>q</span></a></li>
-    <li><a href="functions_0x72.html#index_r"><span>r</span></a></li>
-    <li><a href="functions_0x73.html#index_s"><span>s</span></a></li>
-    <li><a href="functions_0x74.html#index_t"><span>t</span></a></li>
-    <li><a href="functions_0x75.html#index_u"><span>u</span></a></li>
-    <li><a href="functions_0x76.html#index_v"><span>v</span></a></li>
-    <li><a href="functions_0x77.html#index_w"><span>w</span></a></li>
-    <li><a href="functions_0x7e.html#index_~"><span>~</span></a></li>
-  </ul>
-</div>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li class="current"><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow3" class="tabs2">
+    <ul class="tablist">
+      <li class="current"><a href="functions.html"><span>All</span></a></li>
+      <li><a href="functions_func.html"><span>Functions</span></a></li>
+      <li><a href="functions_vars.html"><span>Variables</span></a></li>
+      <li><a href="functions_type.html"><span>Typedefs</span></a></li>
+      <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
+      <li><a href="functions_rela.html"><span>Related Functions</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow4" class="tabs3">
+    <ul class="tablist">
+      <li><a href="functions.html#index_a"><span>a</span></a></li>
+      <li><a href="functions_0x62.html#index_b"><span>b</span></a></li>
+      <li><a href="functions_0x63.html#index_c"><span>c</span></a></li>
+      <li><a href="functions_0x64.html#index_d"><span>d</span></a></li>
+      <li><a href="functions_0x65.html#index_e"><span>e</span></a></li>
+      <li class="current"><a href="functions_0x66.html#index_f"><span>f</span></a></li>
+      <li><a href="functions_0x67.html#index_g"><span>g</span></a></li>
+      <li><a href="functions_0x68.html#index_h"><span>h</span></a></li>
+      <li><a href="functions_0x69.html#index_i"><span>i</span></a></li>
+      <li><a href="functions_0x6a.html#index_j"><span>j</span></a></li>
+      <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li>
+      <li><a href="functions_0x6d.html#index_m"><span>m</span></a></li>
+      <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li>
+      <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li>
+      <li><a href="functions_0x70.html#index_p"><span>p</span></a></li>
+      <li><a href="functions_0x71.html#index_q"><span>q</span></a></li>
+      <li><a href="functions_0x72.html#index_r"><span>r</span></a></li>
+      <li><a href="functions_0x73.html#index_s"><span>s</span></a></li>
+      <li><a href="functions_0x74.html#index_t"><span>t</span></a></li>
+      <li><a href="functions_0x75.html#index_u"><span>u</span></a></li>
+      <li><a href="functions_0x76.html#index_v"><span>v</span></a></li>
+      <li><a href="functions_0x77.html#index_w"><span>w</span></a></li>
+      <li><a href="functions_0x7e.html#index_0x7e"><span>~</span></a></li>
+    </ul>
+  </div>
+</div><!-- top -->
+<div class="contents">
+<div class="textblock">Here is a list of all documented class members with links to the class documentation for each member:</div>
 
-<p>
-Here is a list of all documented class members with links to the class documentation for each member:
-<p>
-<h3><a class="anchor" name="index_f">- f -</a></h3><ul>
+<h3><a class="anchor" id="index_f"></a>- f -</h3><ul>
 <li>filter_is_bound
-: <a class="el" href="a00294.html#dd6a6e7210efc9bcaf2c5e08767d92b5">tbb::filter</a><li>filter_is_out_of_order
-: <a class="el" href="a00294.html#2e5eb65f95d8050186278077e433c5b1">tbb::filter</a><li>filter_is_serial
-: <a class="el" href="a00294.html#4b7de3a76e744f3d9c1bc5d437ea851d">tbb::filter</a><li>filter_may_emit_null
-: <a class="el" href="a00294.html#bdd02a434a6e7499dd1e8f43aae96793">tbb::filter</a><li>finalize()
-: <a class="el" href="a00294.html#56275eb889c77c4807967133e21401bd">tbb::filter</a><li>find()
-: <a class="el" href="a00281.html#7bc475d1968f7f0af3d736d7e8a0d7df">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a><li>forward_task()
-: <a class="el" href="a00275.html#8954338d1a7740f9be80455ba27e8eed">tbb::flow::interface6::buffer_node< T, A ></a><li>freed
-: <a class="el" href="a00349.html#4a3c415562d17905390ea5b49d12293ecc67ca92bd6f1ce9738a1e9e7206b735">tbb::task</a><li>front()
-: <a class="el" href="a00288.html#502615a858eb9fa0390ee59169065e90">tbb::concurrent_vector< T, A ></a><li>function_node()
-: <a class="el" href="a00299.html#01055081ed477714503820035db3a965">tbb::flow::interface6::function_node< Input, Output, queueing, Allocator ></a>, <a class="el" href="a00298.html#d5132323fd2ac6a00ea0c78beda78723">tbb::flow::interface6::function_node< Input, Output,, Allocator ></a></ul>
+: <a class="el" href="a00053.html#a1382f216bd094064a18eb48ecc43c86b">tbb::filter</a>
+</li>
+<li>filter_is_out_of_order
+: <a class="el" href="a00053.html#a091fcf6abc79edfa5c8bf01f742e2392">tbb::filter</a>
+</li>
+<li>filter_is_serial
+: <a class="el" href="a00053.html#ae9dab2e01b0963b341ab04b59eec1475">tbb::filter</a>
+</li>
+<li>filter_may_emit_null
+: <a class="el" href="a00053.html#a6645ec56872b6ba2056dcaa467e292f7">tbb::filter</a>
+</li>
+<li>find()
+: <a class="el" href="a00035.html#a27a3f296dc170ae25f8e3fd9efa93cff">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a>
+</li>
+<li>finish()
+: <a class="el" href="a00013.html#ac7edadfe74f475783f3b429904e7010a">tbb::interface6::aggregator_operation</a>
+</li>
+<li>fixed_pool()
+: <a class="el" href="a00056.html#aa3811fe3d437ba2eefa926d52732491a">tbb::interface6::fixed_pool</a>
+</li>
+<li>forward_task()
+: <a class="el" href="a00027.html#a8910a497040a4c6f1a6a1fb7a33a8888">tbb::flow::interface7::buffer_node< T, A ></a>
+</li>
+<li>front()
+: <a class="el" href="a00046.html#a9bfc6d733cf543280b691ed8d7b7908a">tbb::concurrent_vector< T, A ></a>
+</li>
+<li>function_node()
+: <a class="el" href="a00060.html#ad1cb832fe1edee0b0d75e569b62c9c1c">tbb::flow::interface7::function_node< Input, Output, queueing, Allocator ></a>
+, <a class="el" href="a00059.html#aea86b14a72337b597c80d706ca257402">tbb::flow::interface7::function_node< Input, Output, graph_buffer_policy, Allocator ></a>
+, <a class="el" href="a00060.html#a1b0413b2ec13a9d2ee22dfeb6555a616">tbb::flow::interface7::function_node< Input, Output, queueing, Allocator ></a>
+, <a class="el" href="a00059.html#aecf13ece7b2106f4630e46d6c5327997">tbb::flow::interface7::function_node< Input, Output, graph_buffer_policy, Allocator ></a>
+</li>
+</ul>
+</div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/functions_0x67.html b/doc/html/functions_0x67.html
index b4a0b61..1754dc3 100644
--- a/doc/html/functions_0x67.html
+++ b/doc/html/functions_0x67.html
@@ -1,78 +1,106 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
 <title>Class Members</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
-  <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li id="current"><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li id="current"><a href="functions.html"><span>All</span></a></li>
-    <li><a href="functions_func.html"><span>Functions</span></a></li>
-    <li><a href="functions_vars.html"><span>Variables</span></a></li>
-    <li><a href="functions_type.html"><span>Typedefs</span></a></li>
-    <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
-    <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
-    <li><a href="functions_rela.html"><span>Related Functions</span></a></li>
-  </ul>
-</div>
-<div class="tabs">
-  <ul>
-    <li><a href="functions.html#index__"><span>_</span></a></li>
-    <li><a href="functions_0x61.html#index_a"><span>a</span></a></li>
-    <li><a href="functions_0x62.html#index_b"><span>b</span></a></li>
-    <li><a href="functions_0x63.html#index_c"><span>c</span></a></li>
-    <li><a href="functions_0x64.html#index_d"><span>d</span></a></li>
-    <li><a href="functions_0x65.html#index_e"><span>e</span></a></li>
-    <li><a href="functions_0x66.html#index_f"><span>f</span></a></li>
-    <li id="current"><a href="functions_0x67.html#index_g"><span>g</span></a></li>
-    <li><a href="functions_0x69.html#index_i"><span>i</span></a></li>
-    <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li>
-    <li><a href="functions_0x6d.html#index_m"><span>m</span></a></li>
-    <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li>
-    <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li>
-    <li><a href="functions_0x70.html#index_p"><span>p</span></a></li>
-    <li><a href="functions_0x71.html#index_q"><span>q</span></a></li>
-    <li><a href="functions_0x72.html#index_r"><span>r</span></a></li>
-    <li><a href="functions_0x73.html#index_s"><span>s</span></a></li>
-    <li><a href="functions_0x74.html#index_t"><span>t</span></a></li>
-    <li><a href="functions_0x75.html#index_u"><span>u</span></a></li>
-    <li><a href="functions_0x76.html#index_v"><span>v</span></a></li>
-    <li><a href="functions_0x77.html#index_w"><span>w</span></a></li>
-    <li><a href="functions_0x7e.html#index_~"><span>~</span></a></li>
-  </ul>
-</div>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li class="current"><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow3" class="tabs2">
+    <ul class="tablist">
+      <li class="current"><a href="functions.html"><span>All</span></a></li>
+      <li><a href="functions_func.html"><span>Functions</span></a></li>
+      <li><a href="functions_vars.html"><span>Variables</span></a></li>
+      <li><a href="functions_type.html"><span>Typedefs</span></a></li>
+      <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
+      <li><a href="functions_rela.html"><span>Related Functions</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow4" class="tabs3">
+    <ul class="tablist">
+      <li><a href="functions.html#index_a"><span>a</span></a></li>
+      <li><a href="functions_0x62.html#index_b"><span>b</span></a></li>
+      <li><a href="functions_0x63.html#index_c"><span>c</span></a></li>
+      <li><a href="functions_0x64.html#index_d"><span>d</span></a></li>
+      <li><a href="functions_0x65.html#index_e"><span>e</span></a></li>
+      <li><a href="functions_0x66.html#index_f"><span>f</span></a></li>
+      <li class="current"><a href="functions_0x67.html#index_g"><span>g</span></a></li>
+      <li><a href="functions_0x68.html#index_h"><span>h</span></a></li>
+      <li><a href="functions_0x69.html#index_i"><span>i</span></a></li>
+      <li><a href="functions_0x6a.html#index_j"><span>j</span></a></li>
+      <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li>
+      <li><a href="functions_0x6d.html#index_m"><span>m</span></a></li>
+      <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li>
+      <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li>
+      <li><a href="functions_0x70.html#index_p"><span>p</span></a></li>
+      <li><a href="functions_0x71.html#index_q"><span>q</span></a></li>
+      <li><a href="functions_0x72.html#index_r"><span>r</span></a></li>
+      <li><a href="functions_0x73.html#index_s"><span>s</span></a></li>
+      <li><a href="functions_0x74.html#index_t"><span>t</span></a></li>
+      <li><a href="functions_0x75.html#index_u"><span>u</span></a></li>
+      <li><a href="functions_0x76.html#index_v"><span>v</span></a></li>
+      <li><a href="functions_0x77.html#index_w"><span>w</span></a></li>
+      <li><a href="functions_0x7e.html#index_0x7e"><span>~</span></a></li>
+    </ul>
+  </div>
+</div><!-- top -->
+<div class="contents">
+<div class="textblock">Here is a list of all documented class members with links to the class documentation for each member:</div>
 
-<p>
-Here is a list of all documented class members with links to the class documentation for each member:
-<p>
-<h3><a class="anchor" name="index_g">- g -</a></h3><ul>
+<h3><a class="anchor" id="index_g"></a>- g -</h3><ul>
 <li>get_allocator()
-: <a class="el" href="a00288.html#2fdba8e90de6a4d2300222236d46758e">tbb::concurrent_vector< T, A ></a>, <a class="el" href="a00280.html#415eb87e53b1c6a266de06ecbc490d16">tbb::concurrent_bounded_queue< T, A ></a>, <a class="el" href="a00286.html#f034f70caef445fe8abc9113ec926a8d">tbb::strict_ppl::concurrent_queue< T, A ></a>, <a class="el" href="a00285.html#d545d444fb0d16148f9b61fd89f9a337">tbb::interface5::concurrent_priority_queue< T, Compare, A ></a>, <a class="e [...]
-: <a class="el" href="a00271.html#fcd2e5b8b6c11fd3f20fc0aa9f11bbc2">tbb::blocked_range< Value ></a><li>graph()
-: <a class="el" href="a00300.html#104d4f3775f596b43177c29e6b7b7656">tbb::flow::interface6::graph</a><li>group()
-: <a class="el" href="a00349.html#5987123486afca36ddebb9e2a8b7779a">tbb::task</a><li>group_priority()
-: <a class="el" href="a00349.html#e1d969a1ccab6796e3b8b2c1a5be33d2">tbb::task</a><li>grow_by()
-: <a class="el" href="a00288.html#473a59a4c9308b93411b898b3110d26c">tbb::concurrent_vector< T, A ></a><li>grow_to_at_least()
-: <a class="el" href="a00288.html#a7e3b67c8ccab16d0aecc80899ae799d">tbb::concurrent_vector< T, A ></a></ul>
+: <a class="el" href="a00035.html#a121865c574f8ae5cae69ed3d6b7e0511">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a>
+, <a class="el" href="a00037.html#a312e88e51246da4c516d35abbb30721a">tbb::interface5::concurrent_priority_queue< T, Compare, A ></a>
+, <a class="el" href="a00034.html#aaeba11bbcd368a7a3a6e6e2dd3082c9c">tbb::concurrent_bounded_queue< T, A ></a>
+, <a class="el" href="a00046.html#a88b62a9614d3f2b59c9c7c1a2143fb1e">tbb::concurrent_vector< T, A ></a>
+, <a class="el" href="a00038.html#a7f2b39f350281590b86db906eca6c480">tbb::strict_ppl::concurrent_queue< T, A ></a>
+</li>
+<li>grainsize()
+: <a class="el" href="a00021.html#ab408f3cf90c85fa9203df5641a2f9bb1">tbb::blocked_range< Value ></a>
+</li>
+<li>graph()
+: <a class="el" href="a00061.html#a656cee3d0240a3f142a450800e6b17c7">tbb::flow::interface7::graph</a>
+</li>
+<li>graph_iterator()
+: <a class="el" href="a00062.html#a5082b1f425ffbd4a93533230d6ff99c0">tbb::flow::interface7::graph_iterator< GraphContainerType, GraphNodeType ></a>
+</li>
+<li>grow_by()
+: <a class="el" href="a00046.html#ab89c2db5358048debdc282ff995caffb">tbb::concurrent_vector< T, A ></a>
+</li>
+<li>grow_to_at_least()
+: <a class="el" href="a00046.html#ae9ef9895e88f9bf036b379035c18f035">tbb::concurrent_vector< T, A ></a>
+</li>
+</ul>
+</div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/functions_0x68.html b/doc/html/functions_0x68.html
new file mode 100644
index 0000000..40a0ac6
--- /dev/null
+++ b/doc/html/functions_0x68.html
@@ -0,0 +1,90 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Class Members</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li class="current"><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow3" class="tabs2">
+    <ul class="tablist">
+      <li class="current"><a href="functions.html"><span>All</span></a></li>
+      <li><a href="functions_func.html"><span>Functions</span></a></li>
+      <li><a href="functions_vars.html"><span>Variables</span></a></li>
+      <li><a href="functions_type.html"><span>Typedefs</span></a></li>
+      <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
+      <li><a href="functions_rela.html"><span>Related Functions</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow4" class="tabs3">
+    <ul class="tablist">
+      <li><a href="functions.html#index_a"><span>a</span></a></li>
+      <li><a href="functions_0x62.html#index_b"><span>b</span></a></li>
+      <li><a href="functions_0x63.html#index_c"><span>c</span></a></li>
+      <li><a href="functions_0x64.html#index_d"><span>d</span></a></li>
+      <li><a href="functions_0x65.html#index_e"><span>e</span></a></li>
+      <li><a href="functions_0x66.html#index_f"><span>f</span></a></li>
+      <li><a href="functions_0x67.html#index_g"><span>g</span></a></li>
+      <li class="current"><a href="functions_0x68.html#index_h"><span>h</span></a></li>
+      <li><a href="functions_0x69.html#index_i"><span>i</span></a></li>
+      <li><a href="functions_0x6a.html#index_j"><span>j</span></a></li>
+      <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li>
+      <li><a href="functions_0x6d.html#index_m"><span>m</span></a></li>
+      <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li>
+      <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li>
+      <li><a href="functions_0x70.html#index_p"><span>p</span></a></li>
+      <li><a href="functions_0x71.html#index_q"><span>q</span></a></li>
+      <li><a href="functions_0x72.html#index_r"><span>r</span></a></li>
+      <li><a href="functions_0x73.html#index_s"><span>s</span></a></li>
+      <li><a href="functions_0x74.html#index_t"><span>t</span></a></li>
+      <li><a href="functions_0x75.html#index_u"><span>u</span></a></li>
+      <li><a href="functions_0x76.html#index_v"><span>v</span></a></li>
+      <li><a href="functions_0x77.html#index_w"><span>w</span></a></li>
+      <li><a href="functions_0x7e.html#index_0x7e"><span>~</span></a></li>
+    </ul>
+  </div>
+</div><!-- top -->
+<div class="contents">
+<div class="textblock">Here is a list of all documented class members with links to the class documentation for each member:</div>
+
+<h3><a class="anchor" id="index_h"></a>- h -</h3><ul>
+<li>hardware_concurrency()
+: <a class="el" href="a00149.html#a2b761b3d80a7397c645402865e06b1a8">tbb::internal::tbb_thread_v3</a>
+</li>
+</ul>
+</div><!-- contents -->
+<hr>
+<p></p>
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
+<p></p>
+Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
+registered trademarks or trademarks of Intel Corporation or its
+subsidiaries in the United States and other countries.
+<p></p>
+* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/functions_0x69.html b/doc/html/functions_0x69.html
index 5e8c6f5..f9efc98 100644
--- a/doc/html/functions_0x69.html
+++ b/doc/html/functions_0x69.html
@@ -1,95 +1,144 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
 <title>Class Members</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
-  <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li id="current"><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li id="current"><a href="functions.html"><span>All</span></a></li>
-    <li><a href="functions_func.html"><span>Functions</span></a></li>
-    <li><a href="functions_vars.html"><span>Variables</span></a></li>
-    <li><a href="functions_type.html"><span>Typedefs</span></a></li>
-    <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
-    <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
-    <li><a href="functions_rela.html"><span>Related Functions</span></a></li>
-  </ul>
-</div>
-<div class="tabs">
-  <ul>
-    <li><a href="functions.html#index__"><span>_</span></a></li>
-    <li><a href="functions_0x61.html#index_a"><span>a</span></a></li>
-    <li><a href="functions_0x62.html#index_b"><span>b</span></a></li>
-    <li><a href="functions_0x63.html#index_c"><span>c</span></a></li>
-    <li><a href="functions_0x64.html#index_d"><span>d</span></a></li>
-    <li><a href="functions_0x65.html#index_e"><span>e</span></a></li>
-    <li><a href="functions_0x66.html#index_f"><span>f</span></a></li>
-    <li><a href="functions_0x67.html#index_g"><span>g</span></a></li>
-    <li id="current"><a href="functions_0x69.html#index_i"><span>i</span></a></li>
-    <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li>
-    <li><a href="functions_0x6d.html#index_m"><span>m</span></a></li>
-    <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li>
-    <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li>
-    <li><a href="functions_0x70.html#index_p"><span>p</span></a></li>
-    <li><a href="functions_0x71.html#index_q"><span>q</span></a></li>
-    <li><a href="functions_0x72.html#index_r"><span>r</span></a></li>
-    <li><a href="functions_0x73.html#index_s"><span>s</span></a></li>
-    <li><a href="functions_0x74.html#index_t"><span>t</span></a></li>
-    <li><a href="functions_0x75.html#index_u"><span>u</span></a></li>
-    <li><a href="functions_0x76.html#index_v"><span>v</span></a></li>
-    <li><a href="functions_0x77.html#index_w"><span>w</span></a></li>
-    <li><a href="functions_0x7e.html#index_~"><span>~</span></a></li>
-  </ul>
-</div>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li class="current"><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow3" class="tabs2">
+    <ul class="tablist">
+      <li class="current"><a href="functions.html"><span>All</span></a></li>
+      <li><a href="functions_func.html"><span>Functions</span></a></li>
+      <li><a href="functions_vars.html"><span>Variables</span></a></li>
+      <li><a href="functions_type.html"><span>Typedefs</span></a></li>
+      <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
+      <li><a href="functions_rela.html"><span>Related Functions</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow4" class="tabs3">
+    <ul class="tablist">
+      <li><a href="functions.html#index_a"><span>a</span></a></li>
+      <li><a href="functions_0x62.html#index_b"><span>b</span></a></li>
+      <li><a href="functions_0x63.html#index_c"><span>c</span></a></li>
+      <li><a href="functions_0x64.html#index_d"><span>d</span></a></li>
+      <li><a href="functions_0x65.html#index_e"><span>e</span></a></li>
+      <li><a href="functions_0x66.html#index_f"><span>f</span></a></li>
+      <li><a href="functions_0x67.html#index_g"><span>g</span></a></li>
+      <li><a href="functions_0x68.html#index_h"><span>h</span></a></li>
+      <li class="current"><a href="functions_0x69.html#index_i"><span>i</span></a></li>
+      <li><a href="functions_0x6a.html#index_j"><span>j</span></a></li>
+      <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li>
+      <li><a href="functions_0x6d.html#index_m"><span>m</span></a></li>
+      <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li>
+      <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li>
+      <li><a href="functions_0x70.html#index_p"><span>p</span></a></li>
+      <li><a href="functions_0x71.html#index_q"><span>q</span></a></li>
+      <li><a href="functions_0x72.html#index_r"><span>r</span></a></li>
+      <li><a href="functions_0x73.html#index_s"><span>s</span></a></li>
+      <li><a href="functions_0x74.html#index_t"><span>t</span></a></li>
+      <li><a href="functions_0x75.html#index_u"><span>u</span></a></li>
+      <li><a href="functions_0x76.html#index_v"><span>v</span></a></li>
+      <li><a href="functions_0x77.html#index_w"><span>w</span></a></li>
+      <li><a href="functions_0x7e.html#index_0x7e"><span>~</span></a></li>
+    </ul>
+  </div>
+</div><!-- top -->
+<div class="contents">
+<div class="textblock">Here is a list of all documented class members with links to the class documentation for each member:</div>
 
-<p>
-Here is a list of all documented class members with links to the class documentation for each member:
-<p>
-<h3><a class="anchor" name="index_i">- i -</a></h3><ul>
-<li>increment_ref_count()
-: <a class="el" href="a00349.html#f5fb43c7ad0de5a4b95703cebc39e345">tbb::task</a><li>increment_wait_count()
-: <a class="el" href="a00300.html#a993b789d1e488e0c3929135beae560e">tbb::flow::interface6::graph</a><li>init()
-: <a class="el" href="a00352.html#49a55352084fd44b8863d182e839e6dc">tbb::task_group_context</a><li>initialize()
-: <a class="el" href="a00355.html#d5ed214a8bb53b0466ed91ff4734b9a3">tbb::task_scheduler_init</a>, <a class="el" href="a00350.html#ff36aa5ec1305ca9931396fa608981da">tbb::interface6::task_arena</a><li>input_type
-: <a class="el" href="a00304.html#035196d3c9240ef041f528ebcde8baa7">tbb::flow::interface6::limiter_node< T ></a>, <a class="el" href="a00324.html#b2829b518979874ad3d2a939e14ae7bd">tbb::flow::interface6::priority_queue_node< T, Compare, A ></a>, <a class="el" href="a00340.html#af629f26832ff4e476e240637a78bc0c">tbb::flow::interface6::sequencer_node< T, A ></a>, <a class="el" href="a00325.html#1e71030845210b6c4c7380eb9e11a2ac">tbb::flow::interface6::queue_node< T, A &gt [...]
-: <a class="el" href="a00281.html#1dd37fad87e561151ba1e242ca94bcc1">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a><li>internal_construct()
-: <a class="el" href="a00343.html#4b3fa21632815f8fab2fd6c67ec0d48c">tbb::spin_mutex</a><li>internal_copy()
-: <a class="el" href="a00281.html#72c9c9e9655fcf096f5f0ed9c8ba6669">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a><li>internal_equal_range()
-: <a class="el" href="a00281.html#8f5373b8e1864619d1ffcf3bf3f1f13d">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a><li>internal_fast_find()
-: <a class="el" href="a00281.html#2f76ed101a0ccc8875b846c2f747897e">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a><li>internal_forward_task()
-: <a class="el" href="a00324.html#9249c25621a6ee7a741a6b7eac710ba4">tbb::flow::interface6::priority_queue_node< T, Compare, A ></a>, <a class="el" href="a00325.html#8eecd6591d7565cbb5b7f1e37bf97979">tbb::flow::interface6::queue_node< T, A ></a>, <a class="el" href="a00275.html#bc6ef82fe9c28ace2ef6b78abb43ffb8">tbb::flow::interface6::buffer_node< T, A ></a><li>internal_reg_succ()
-: <a class="el" href="a00275.html#df21388252b8963e839dca29d2c67ea5">tbb::flow::interface6::buffer_node< T, A ></a><li>internal_rem_succ()
-: <a class="el" href="a00275.html#6b6cf76dff80fd679251da93351c1291">tbb::flow::interface6::buffer_node< T, A ></a><li>interval_t()
-: <a class="el" href="a00363.html#1a21a428e00cced2e6a49e0f5f2258bf">tbb::tick_count::interval_t</a><li>is_active()
-: <a class="el" href="a00355.html#12752282977029f23416642bc03e8b74">tbb::task_scheduler_init</a>, <a class="el" href="a00350.html#11e35391bf67e96f877183659106583d">tbb::interface6::task_arena</a><li>is_bound()
-: <a class="el" href="a00294.html#15c29cae5d237e6d63dbfe5c94af89d5">tbb::filter</a><li>is_cancelled()
-: <a class="el" href="a00349.html#025f18118c057c4c8db87ff2ce8df975">tbb::task</a>, <a class="el" href="a00300.html#227ea140dc2c68f79a4e5a34a8367b58">tbb::flow::interface6::graph</a><li>is_divisible()
-: <a class="el" href="a00273.html#39d69191721c488e737ae5d9c5336b9c">tbb::blocked_range3d< PageValue, RowValue, ColValue ></a>, <a class="el" href="a00272.html#ad36a9b38e4fef26d376f99552ce2d92">tbb::blocked_range2d< RowValue, ColValue ></a>, <a class="el" href="a00271.html#41a58b703d574b6e1ca155df3576f578">tbb::blocked_range< Value ></a><li>is_group_execution_cancelled()
-: <a class="el" href="a00352.html#4db72f16210b0a991b2c134d6763a4cc">tbb::task_group_context</a><li>is_ordered()
-: <a class="el" href="a00294.html#cd53206c4795ef2df5df26b795caf692">tbb::filter</a><li>is_owned_by_current_thread()
-: <a class="el" href="a00349.html#c26718b3b247cd13deb1a741902e7105">tbb::task</a><li>is_serial()
-: <a class="el" href="a00294.html#fcfec27656a69ff2072802ac001e936f">tbb::filter</a><li>is_stolen_task()
-: <a class="el" href="a00349.html#f9169402702f56bf519448aaf34450aa">tbb::task</a><li>is_writer
-: <a class="el" href="a00283.html#07d958f151a0eaa92f50fd56ad6440e2">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator >::bucket_accessor</a>, <a class="el" href="a00346.html#6b5a7c3c67a36b05c4df8410d32627d8">tbb::spin_rw_mutex_v3::scoped_lock</a></ul>
+<h3><a class="anchor" id="index_i"></a>- i -</h3><ul>
+<li>increment_wait_count()
+: <a class="el" href="a00061.html#ad96c910ae45e6c5d2433bb1d9e910891">tbb::flow::interface7::graph</a>
+</li>
+<li>initialize()
+: <a class="el" href="a00135.html#a955131a79f8dc5a0a5c9ffa66a7e7140">tbb::interface7::task_arena</a>
+, <a class="el" href="a00141.html#a485028b867bffef5829209330e79e64c">tbb::task_scheduler_init</a>
+, <a class="el" href="a00135.html#a754d60ba6981461eb7c86afd14d3da2a">tbb::interface7::task_arena</a>
+</li>
+<li>input_type
+: <a class="el" href="a00106.html#a16eccc851b858604344bb8f1bb9eedc8">tbb::flow::interface7::receiver< T ></a>
+, <a class="el" href="a00050.html#a7474ed0edad2bb26d9f86065ecf2c93d">tbb::flow::interface7::continue_receiver</a>
+</li>
+<li>insert()
+: <a class="el" href="a00035.html#aaebb10a9e9dcb24e63860caa745a281d">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a>
+</li>
+<li>internal_construct()
+: <a class="el" href="a00127.html#a4ec484f4df6ec5595ec821ef20bd6cd7">tbb::spin_mutex</a>
+</li>
+<li>internal_copy()
+: <a class="el" href="a00035.html#a0bc3593f82b3b4f9839fc051780212ab">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a>
+</li>
+<li>internal_equal_range()
+: <a class="el" href="a00035.html#a8603f5288db63ec35a16844427e97e42">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a>
+</li>
+<li>internal_fast_find()
+: <a class="el" href="a00035.html#acbb5b18c097fb32f264b7b5fe8d9fdd4">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a>
+</li>
+<li>internal_forward_task()
+: <a class="el" href="a00092.html#a1ab7e37f537acb75175844bd34132b99">tbb::flow::interface7::queue_node< T, A ></a>
+, <a class="el" href="a00027.html#a3aa7578ccbd3d5f986869ab8698c037c">tbb::flow::interface7::buffer_node< T, A ></a>
+, <a class="el" href="a00091.html#a4e6d43ca8748046098fd27ca97e58f3d">tbb::flow::interface7::priority_queue_node< T, Compare, A ></a>
+</li>
+<li>internal_reg_succ()
+: <a class="el" href="a00027.html#afa2dd93a1b42e77ccf7e1de0fddf3158">tbb::flow::interface7::buffer_node< T, A ></a>
+</li>
+<li>internal_rem_succ()
+: <a class="el" href="a00027.html#a46c7f9cd9130036244d4ea8efd74bf22">tbb::flow::interface7::buffer_node< T, A ></a>
+</li>
+<li>interval_t()
+: <a class="el" href="a00066.html#a95e3e14750bebafe719856176e2737db">tbb::tick_count::interval_t</a>
+</li>
+<li>is_active()
+: <a class="el" href="a00141.html#aed5505d7fed9d5493676aa15c176512c">tbb::task_scheduler_init</a>
+, <a class="el" href="a00135.html#ad85856cefa30d42155a2b122b03efd8c">tbb::interface7::task_arena</a>
+</li>
+<li>is_cancelled()
+: <a class="el" href="a00061.html#a9e26f4f5d608e39c8adc9dc6d06a7a01">tbb::flow::interface7::graph</a>
+</li>
+<li>is_divisible()
+: <a class="el" href="a00023.html#a0fce6bcae6269c37623c3a2cdbb8bcf0">tbb::blocked_range3d< PageValue, RowValue, ColValue ></a>
+, <a class="el" href="a00022.html#ac84c6cc2ff8b0974ffa719fed804f586">tbb::blocked_range2d< RowValue, ColValue ></a>
+, <a class="el" href="a00021.html#ad90ad1db0d4d9a301ef1c9e17712e8a0">tbb::blocked_range< Value ></a>
+</li>
+<li>is_observing()
+: <a class="el" href="a00143.html#a31abaf256f7172f010cfb2259c7787bb">tbb::internal::task_scheduler_observer_v3</a>
+</li>
+<li>is_writer
+: <a class="el" href="a00114.html#acfd129dc5106ad1129ba803e67311050">tbb::spin_rw_mutex_v3::scoped_lock</a>
+, <a class="el" href="a00026.html#aaa8167e2961330435fd23eb92127805c">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::bucket_accessor</a>
+</li>
+</ul>
+</div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/functions_0x6a.html b/doc/html/functions_0x6a.html
new file mode 100644
index 0000000..d55b423
--- /dev/null
+++ b/doc/html/functions_0x6a.html
@@ -0,0 +1,90 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Class Members</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li class="current"><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow3" class="tabs2">
+    <ul class="tablist">
+      <li class="current"><a href="functions.html"><span>All</span></a></li>
+      <li><a href="functions_func.html"><span>Functions</span></a></li>
+      <li><a href="functions_vars.html"><span>Variables</span></a></li>
+      <li><a href="functions_type.html"><span>Typedefs</span></a></li>
+      <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
+      <li><a href="functions_rela.html"><span>Related Functions</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow4" class="tabs3">
+    <ul class="tablist">
+      <li><a href="functions.html#index_a"><span>a</span></a></li>
+      <li><a href="functions_0x62.html#index_b"><span>b</span></a></li>
+      <li><a href="functions_0x63.html#index_c"><span>c</span></a></li>
+      <li><a href="functions_0x64.html#index_d"><span>d</span></a></li>
+      <li><a href="functions_0x65.html#index_e"><span>e</span></a></li>
+      <li><a href="functions_0x66.html#index_f"><span>f</span></a></li>
+      <li><a href="functions_0x67.html#index_g"><span>g</span></a></li>
+      <li><a href="functions_0x68.html#index_h"><span>h</span></a></li>
+      <li><a href="functions_0x69.html#index_i"><span>i</span></a></li>
+      <li class="current"><a href="functions_0x6a.html#index_j"><span>j</span></a></li>
+      <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li>
+      <li><a href="functions_0x6d.html#index_m"><span>m</span></a></li>
+      <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li>
+      <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li>
+      <li><a href="functions_0x70.html#index_p"><span>p</span></a></li>
+      <li><a href="functions_0x71.html#index_q"><span>q</span></a></li>
+      <li><a href="functions_0x72.html#index_r"><span>r</span></a></li>
+      <li><a href="functions_0x73.html#index_s"><span>s</span></a></li>
+      <li><a href="functions_0x74.html#index_t"><span>t</span></a></li>
+      <li><a href="functions_0x75.html#index_u"><span>u</span></a></li>
+      <li><a href="functions_0x76.html#index_v"><span>v</span></a></li>
+      <li><a href="functions_0x77.html#index_w"><span>w</span></a></li>
+      <li><a href="functions_0x7e.html#index_0x7e"><span>~</span></a></li>
+    </ul>
+  </div>
+</div><!-- top -->
+<div class="contents">
+<div class="textblock">Here is a list of all documented class members with links to the class documentation for each member:</div>
+
+<h3><a class="anchor" id="index_j"></a>- j -</h3><ul>
+<li>join()
+: <a class="el" href="a00149.html#a044c8727c51e921b0cc43a6b057eb559">tbb::internal::tbb_thread_v3</a>
+</li>
+</ul>
+</div><!-- contents -->
+<hr>
+<p></p>
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
+<p></p>
+Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
+registered trademarks or trademarks of Intel Corporation or its
+subsidiaries in the United States and other countries.
+<p></p>
+* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/functions_0x6c.html b/doc/html/functions_0x6c.html
index 45696d4..e835690 100644
--- a/doc/html/functions_0x6c.html
+++ b/doc/html/functions_0x6c.html
@@ -1,77 +1,108 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
 <title>Class Members</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
-  <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li id="current"><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li id="current"><a href="functions.html"><span>All</span></a></li>
-    <li><a href="functions_func.html"><span>Functions</span></a></li>
-    <li><a href="functions_vars.html"><span>Variables</span></a></li>
-    <li><a href="functions_type.html"><span>Typedefs</span></a></li>
-    <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
-    <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
-    <li><a href="functions_rela.html"><span>Related Functions</span></a></li>
-  </ul>
-</div>
-<div class="tabs">
-  <ul>
-    <li><a href="functions.html#index__"><span>_</span></a></li>
-    <li><a href="functions_0x61.html#index_a"><span>a</span></a></li>
-    <li><a href="functions_0x62.html#index_b"><span>b</span></a></li>
-    <li><a href="functions_0x63.html#index_c"><span>c</span></a></li>
-    <li><a href="functions_0x64.html#index_d"><span>d</span></a></li>
-    <li><a href="functions_0x65.html#index_e"><span>e</span></a></li>
-    <li><a href="functions_0x66.html#index_f"><span>f</span></a></li>
-    <li><a href="functions_0x67.html#index_g"><span>g</span></a></li>
-    <li><a href="functions_0x69.html#index_i"><span>i</span></a></li>
-    <li id="current"><a href="functions_0x6c.html#index_l"><span>l</span></a></li>
-    <li><a href="functions_0x6d.html#index_m"><span>m</span></a></li>
-    <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li>
-    <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li>
-    <li><a href="functions_0x70.html#index_p"><span>p</span></a></li>
-    <li><a href="functions_0x71.html#index_q"><span>q</span></a></li>
-    <li><a href="functions_0x72.html#index_r"><span>r</span></a></li>
-    <li><a href="functions_0x73.html#index_s"><span>s</span></a></li>
-    <li><a href="functions_0x74.html#index_t"><span>t</span></a></li>
-    <li><a href="functions_0x75.html#index_u"><span>u</span></a></li>
-    <li><a href="functions_0x76.html#index_v"><span>v</span></a></li>
-    <li><a href="functions_0x77.html#index_w"><span>w</span></a></li>
-    <li><a href="functions_0x7e.html#index_~"><span>~</span></a></li>
-  </ul>
-</div>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li class="current"><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow3" class="tabs2">
+    <ul class="tablist">
+      <li class="current"><a href="functions.html"><span>All</span></a></li>
+      <li><a href="functions_func.html"><span>Functions</span></a></li>
+      <li><a href="functions_vars.html"><span>Variables</span></a></li>
+      <li><a href="functions_type.html"><span>Typedefs</span></a></li>
+      <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
+      <li><a href="functions_rela.html"><span>Related Functions</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow4" class="tabs3">
+    <ul class="tablist">
+      <li><a href="functions.html#index_a"><span>a</span></a></li>
+      <li><a href="functions_0x62.html#index_b"><span>b</span></a></li>
+      <li><a href="functions_0x63.html#index_c"><span>c</span></a></li>
+      <li><a href="functions_0x64.html#index_d"><span>d</span></a></li>
+      <li><a href="functions_0x65.html#index_e"><span>e</span></a></li>
+      <li><a href="functions_0x66.html#index_f"><span>f</span></a></li>
+      <li><a href="functions_0x67.html#index_g"><span>g</span></a></li>
+      <li><a href="functions_0x68.html#index_h"><span>h</span></a></li>
+      <li><a href="functions_0x69.html#index_i"><span>i</span></a></li>
+      <li><a href="functions_0x6a.html#index_j"><span>j</span></a></li>
+      <li class="current"><a href="functions_0x6c.html#index_l"><span>l</span></a></li>
+      <li><a href="functions_0x6d.html#index_m"><span>m</span></a></li>
+      <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li>
+      <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li>
+      <li><a href="functions_0x70.html#index_p"><span>p</span></a></li>
+      <li><a href="functions_0x71.html#index_q"><span>q</span></a></li>
+      <li><a href="functions_0x72.html#index_r"><span>r</span></a></li>
+      <li><a href="functions_0x73.html#index_s"><span>s</span></a></li>
+      <li><a href="functions_0x74.html#index_t"><span>t</span></a></li>
+      <li><a href="functions_0x75.html#index_u"><span>u</span></a></li>
+      <li><a href="functions_0x76.html#index_v"><span>v</span></a></li>
+      <li><a href="functions_0x77.html#index_w"><span>w</span></a></li>
+      <li><a href="functions_0x7e.html#index_0x7e"><span>~</span></a></li>
+    </ul>
+  </div>
+</div><!-- top -->
+<div class="contents">
+<div class="textblock">Here is a list of all documented class members with links to the class documentation for each member:</div>
 
-<p>
-Here is a list of all documented class members with links to the class documentation for each member:
-<p>
-<h3><a class="anchor" name="index_l">- l -</a></h3><ul>
+<h3><a class="anchor" id="index_l"></a>- l -</h3><ul>
 <li>limiter_node
-: <a class="el" href="a00304.html#83d3ab884543b070ee5b345a87f241fa">tbb::flow::interface6::limiter_node< T ></a>, <a class="el" href="a00291.html#3b6d13039c2a8c1e369e5790895b0088">tbb::flow::interface6::continue_receiver</a>, <a class="el" href="a00333.html#3b6d13039c2a8c1e369e5790895b0088">tbb::flow::interface6::receiver< T ></a><li>load()
-: <a class="el" href="a00336.html#5f3f6f1683386705a6931acae45f0862">tbb::interface6::runtime_loader</a><li>local()
-: <a class="el" href="a00293.html#7dc79058d2832f7447de8e691c3455ea">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a><li>lock()
-: <a class="el" href="a00345.html#4007d6e1523dbc3c2bb7f889ab789a8a">tbb::spin_rw_mutex_v3</a>, <a class="el" href="a00343.html#4f748989e19b6045e3a2d2ee73626a28">tbb::spin_mutex</a>, <a class="el" href="a00334.html#4c342c69d47f4bb0b393535dee4015d6">tbb::recursive_mutex</a>, <a class="el" href="a00330.html#2653d1a2d560059a51219a8ceab3ade9">tbb::interface5::reader_writer_lock</a>, <a class="el" href="a00313.html#4470e61c24c129a0299ca6c17240adbb">tbb::mutex</a><li>lock_read()
-: <a class="el" href="a00345.html#13f799708ac4ca437a16be202e263e18">tbb::spin_rw_mutex_v3</a>, <a class="el" href="a00330.html#d9d16a24d9f6c3dada73c6b9ff214f5b">tbb::interface5::reader_writer_lock</a><li>lookup()
-: <a class="el" href="a00281.html#3f3413264a99174a224ef96f6c4ea769">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a></ul>
+: <a class="el" href="a00106.html#a05ec930a348f7eed564236d00edbda24">tbb::flow::interface7::receiver< T ></a>
+, <a class="el" href="a00072.html#af1c8daee8d1fd31e63f78dbb8d0ec87d">tbb::flow::interface7::limiter_node< T ></a>
+</li>
+<li>load()
+: <a class="el" href="a00110.html#ae2949e9adcac56a2cb9864437be8e22e">tbb::interface6::runtime_loader</a>
+</li>
+<li>local()
+: <a class="el" href="a00052.html#aea846c6cbafbe2ff6bde6e8c2a2ee97e">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a>
+</li>
+<li>lock()
+: <a class="el" href="a00107.html#adea997b45dc4a360f38d14bde9c991f2">tbb::recursive_mutex</a>
+, <a class="el" href="a00128.html#a51e207646300a4c242bb4aaa4e04e9b8">tbb::spin_rw_mutex_v3</a>
+, <a class="el" href="a00095.html#af92eb949fc491af8f7e350869ea0a0d1">tbb::interface5::reader_writer_lock</a>
+, <a class="el" href="a00127.html#a8957e40b0781192419d01d28e5205ec4">tbb::spin_mutex</a>
+, <a class="el" href="a00081.html#a95ff02ee699b34696001db4003c11a3a">tbb::mutex</a>
+</li>
+<li>lock_read()
+: <a class="el" href="a00128.html#aa0e3bb644e9021d0f80ee36b03f228e4">tbb::spin_rw_mutex_v3</a>
+, <a class="el" href="a00095.html#a6fd4fcdf0e5c0425d1cc736d644f234f">tbb::interface5::reader_writer_lock</a>
+</li>
+<li>lookup()
+: <a class="el" href="a00035.html#a0435730c6b9dbbe2937fb38b9403147c">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a>
+</li>
+</ul>
+</div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/functions_0x6d.html b/doc/html/functions_0x6d.html
index d972246..fd0a4e8 100644
--- a/doc/html/functions_0x6d.html
+++ b/doc/html/functions_0x6d.html
@@ -1,78 +1,113 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
 <title>Class Members</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
-  <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li id="current"><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li id="current"><a href="functions.html"><span>All</span></a></li>
-    <li><a href="functions_func.html"><span>Functions</span></a></li>
-    <li><a href="functions_vars.html"><span>Variables</span></a></li>
-    <li><a href="functions_type.html"><span>Typedefs</span></a></li>
-    <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
-    <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
-    <li><a href="functions_rela.html"><span>Related Functions</span></a></li>
-  </ul>
-</div>
-<div class="tabs">
-  <ul>
-    <li><a href="functions.html#index__"><span>_</span></a></li>
-    <li><a href="functions_0x61.html#index_a"><span>a</span></a></li>
-    <li><a href="functions_0x62.html#index_b"><span>b</span></a></li>
-    <li><a href="functions_0x63.html#index_c"><span>c</span></a></li>
-    <li><a href="functions_0x64.html#index_d"><span>d</span></a></li>
-    <li><a href="functions_0x65.html#index_e"><span>e</span></a></li>
-    <li><a href="functions_0x66.html#index_f"><span>f</span></a></li>
-    <li><a href="functions_0x67.html#index_g"><span>g</span></a></li>
-    <li><a href="functions_0x69.html#index_i"><span>i</span></a></li>
-    <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li>
-    <li id="current"><a href="functions_0x6d.html#index_m"><span>m</span></a></li>
-    <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li>
-    <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li>
-    <li><a href="functions_0x70.html#index_p"><span>p</span></a></li>
-    <li><a href="functions_0x71.html#index_q"><span>q</span></a></li>
-    <li><a href="functions_0x72.html#index_r"><span>r</span></a></li>
-    <li><a href="functions_0x73.html#index_s"><span>s</span></a></li>
-    <li><a href="functions_0x74.html#index_t"><span>t</span></a></li>
-    <li><a href="functions_0x75.html#index_u"><span>u</span></a></li>
-    <li><a href="functions_0x76.html#index_v"><span>v</span></a></li>
-    <li><a href="functions_0x77.html#index_w"><span>w</span></a></li>
-    <li><a href="functions_0x7e.html#index_~"><span>~</span></a></li>
-  </ul>
-</div>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li class="current"><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow3" class="tabs2">
+    <ul class="tablist">
+      <li class="current"><a href="functions.html"><span>All</span></a></li>
+      <li><a href="functions_func.html"><span>Functions</span></a></li>
+      <li><a href="functions_vars.html"><span>Variables</span></a></li>
+      <li><a href="functions_type.html"><span>Typedefs</span></a></li>
+      <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
+      <li><a href="functions_rela.html"><span>Related Functions</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow4" class="tabs3">
+    <ul class="tablist">
+      <li><a href="functions.html#index_a"><span>a</span></a></li>
+      <li><a href="functions_0x62.html#index_b"><span>b</span></a></li>
+      <li><a href="functions_0x63.html#index_c"><span>c</span></a></li>
+      <li><a href="functions_0x64.html#index_d"><span>d</span></a></li>
+      <li><a href="functions_0x65.html#index_e"><span>e</span></a></li>
+      <li><a href="functions_0x66.html#index_f"><span>f</span></a></li>
+      <li><a href="functions_0x67.html#index_g"><span>g</span></a></li>
+      <li><a href="functions_0x68.html#index_h"><span>h</span></a></li>
+      <li><a href="functions_0x69.html#index_i"><span>i</span></a></li>
+      <li><a href="functions_0x6a.html#index_j"><span>j</span></a></li>
+      <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li>
+      <li class="current"><a href="functions_0x6d.html#index_m"><span>m</span></a></li>
+      <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li>
+      <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li>
+      <li><a href="functions_0x70.html#index_p"><span>p</span></a></li>
+      <li><a href="functions_0x71.html#index_q"><span>q</span></a></li>
+      <li><a href="functions_0x72.html#index_r"><span>r</span></a></li>
+      <li><a href="functions_0x73.html#index_s"><span>s</span></a></li>
+      <li><a href="functions_0x74.html#index_t"><span>t</span></a></li>
+      <li><a href="functions_0x75.html#index_u"><span>u</span></a></li>
+      <li><a href="functions_0x76.html#index_v"><span>v</span></a></li>
+      <li><a href="functions_0x77.html#index_w"><span>w</span></a></li>
+      <li><a href="functions_0x7e.html#index_0x7e"><span>~</span></a></li>
+    </ul>
+  </div>
+</div><!-- top -->
+<div class="contents">
+<div class="textblock">Here is a list of all documented class members with links to the class documentation for each member:</div>
 
-<p>
-Here is a list of all documented class members with links to the class documentation for each member:
-<p>
-<h3><a class="anchor" name="index_m">- m -</a></h3><ul>
+<h3><a class="anchor" id="index_m"></a>- m -</h3><ul>
 <li>make_filter
-: <a class="el" href="a00295.html#85c2892eff1fddcd06e28911e75838bd">tbb::interface6::filter_t< T, U ></a><li>malloc_type
-: <a class="el" href="a00356.html#09a7f81fb2c3055aaecf058b11538544">tbb::tbb_allocator< T ></a><li>max_size()
-: <a class="el" href="a00356.html#f059ca2c96243024f0d562ee3a87a3a5">tbb::tbb_allocator< T ></a>, <a class="el" href="a00337.html#880e766f1d913988c21973dbdd874fd5">tbb::scalable_allocator< T ></a>, <a class="el" href="a00308.html#beebdb6144df8ba219fadfad4de866ea">tbb::interface6::memory_pool_allocator< T, P ></a>, <a class="el" href="a00288.html#2c248a017f0576df3e7cd99627836fd6">tbb::concurrent_vector< T, A ></a>, <a class="el" href="a00281.html#2bce57fe9b594abe1e6 [...]
-: <a class="el" href="a00307.html#2822528265718a4c779591fc37c02ca8">tbb::interface6::memory_pool< Alloc ></a><li>move()
-: <a class="el" href="a00311.html#1aea0ad179d6f0481fe7f3495f66adf9">tbb::movable_exception< ExceptionData ></a>, <a class="el" href="a00278.html#837a50b8f6a800bda225c39d1699643f">tbb::captured_exception</a>, <a class="el" href="a00358.html#3e3482bf264d4ca4dde046cd9c02c766">tbb::tbb_exception</a><li>mutex
-: <a class="el" href="a00313.html#05313cb77d4f85213103d4dab74ed454">tbb::mutex</a>, <a class="el" href="a00346.html#d96d1a1fcc3d79ef3e5c06a53b8ffeaa">tbb::spin_rw_mutex_v3::scoped_lock</a><li>my_exception_data
-: <a class="el" href="a00311.html#a8c0ae2089ae784b28907cf748b89416">tbb::movable_exception< ExceptionData ></a></ul>
+: <a class="el" href="a00054.html#a21460fde704da22caa222778f5abb140">tbb::interface6::filter_t< T, U ></a>
+</li>
+<li>malloc_type
+: <a class="el" href="a00144.html#a60463a571d5c20f7762112367261ad94">tbb::tbb_allocator< T ></a>
+</li>
+<li>max_size()
+: <a class="el" href="a00035.html#aea0a0e5220a0dcb67da57d0280d36005">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a>
+, <a class="el" href="a00144.html#a0a2676fb8a2f931961d373b88848c93e">tbb::tbb_allocator< T ></a>
+, <a class="el" href="a00046.html#a0ec9c3ab3360e04bdaa5174956a3206d">tbb::concurrent_vector< T, A ></a>
+, <a class="el" href="a00029.html#a4b945b3180ea3dfe16dfa048f4591c6d">tbb::cache_aligned_allocator< T ></a>
+, <a class="el" href="a00074.html#a2bded8e3fb2cec32b48771e7a1bbb838">tbb::interface6::memory_pool_allocator< T, P ></a>
+, <a class="el" href="a00111.html#afaa85d739b466699cf669116fd10d175">tbb::scalable_allocator< T ></a>
+</li>
+<li>memory_pool()
+: <a class="el" href="a00073.html#af4c36829a159eac04d630ac5a99b9354">tbb::interface6::memory_pool< Alloc ></a>
+</li>
+<li>move()
+: <a class="el" href="a00078.html#aeb47d3ac90a1f01fe642b572f6ac519d">tbb::movable_exception< ExceptionData ></a>
+, <a class="el" href="a00146.html#a4bd4ba0d501021013d1473d21b020b69">tbb::tbb_exception</a>
+, <a class="el" href="a00031.html#abb221485cd260349efdef681f633a6a4">tbb::captured_exception</a>
+</li>
+<li>mutex()
+: <a class="el" href="a00081.html#ad1b280c954ffc8b8b3e63e4ee4144035">tbb::mutex</a>
+, <a class="el" href="a00114.html#a8d70c5a2348e30a6979bfbf677328dc4">tbb::spin_rw_mutex_v3::scoped_lock</a>
+</li>
+<li>my_exception_data
+: <a class="el" href="a00078.html#adba063da80054afe64d5268711084d9b">tbb::movable_exception< ExceptionData ></a>
+</li>
+</ul>
+</div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/functions_0x6e.html b/doc/html/functions_0x6e.html
index a8e400e..c0e6cd5 100644
--- a/doc/html/functions_0x6e.html
+++ b/doc/html/functions_0x6e.html
@@ -1,75 +1,96 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
 <title>Class Members</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
-  <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li id="current"><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li id="current"><a href="functions.html"><span>All</span></a></li>
-    <li><a href="functions_func.html"><span>Functions</span></a></li>
-    <li><a href="functions_vars.html"><span>Variables</span></a></li>
-    <li><a href="functions_type.html"><span>Typedefs</span></a></li>
-    <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
-    <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
-    <li><a href="functions_rela.html"><span>Related Functions</span></a></li>
-  </ul>
-</div>
-<div class="tabs">
-  <ul>
-    <li><a href="functions.html#index__"><span>_</span></a></li>
-    <li><a href="functions_0x61.html#index_a"><span>a</span></a></li>
-    <li><a href="functions_0x62.html#index_b"><span>b</span></a></li>
-    <li><a href="functions_0x63.html#index_c"><span>c</span></a></li>
-    <li><a href="functions_0x64.html#index_d"><span>d</span></a></li>
-    <li><a href="functions_0x65.html#index_e"><span>e</span></a></li>
-    <li><a href="functions_0x66.html#index_f"><span>f</span></a></li>
-    <li><a href="functions_0x67.html#index_g"><span>g</span></a></li>
-    <li><a href="functions_0x69.html#index_i"><span>i</span></a></li>
-    <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li>
-    <li><a href="functions_0x6d.html#index_m"><span>m</span></a></li>
-    <li id="current"><a href="functions_0x6e.html#index_n"><span>n</span></a></li>
-    <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li>
-    <li><a href="functions_0x70.html#index_p"><span>p</span></a></li>
-    <li><a href="functions_0x71.html#index_q"><span>q</span></a></li>
-    <li><a href="functions_0x72.html#index_r"><span>r</span></a></li>
-    <li><a href="functions_0x73.html#index_s"><span>s</span></a></li>
-    <li><a href="functions_0x74.html#index_t"><span>t</span></a></li>
-    <li><a href="functions_0x75.html#index_u"><span>u</span></a></li>
-    <li><a href="functions_0x76.html#index_v"><span>v</span></a></li>
-    <li><a href="functions_0x77.html#index_w"><span>w</span></a></li>
-    <li><a href="functions_0x7e.html#index_~"><span>~</span></a></li>
-  </ul>
-</div>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li class="current"><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow3" class="tabs2">
+    <ul class="tablist">
+      <li class="current"><a href="functions.html"><span>All</span></a></li>
+      <li><a href="functions_func.html"><span>Functions</span></a></li>
+      <li><a href="functions_vars.html"><span>Variables</span></a></li>
+      <li><a href="functions_type.html"><span>Typedefs</span></a></li>
+      <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
+      <li><a href="functions_rela.html"><span>Related Functions</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow4" class="tabs3">
+    <ul class="tablist">
+      <li><a href="functions.html#index_a"><span>a</span></a></li>
+      <li><a href="functions_0x62.html#index_b"><span>b</span></a></li>
+      <li><a href="functions_0x63.html#index_c"><span>c</span></a></li>
+      <li><a href="functions_0x64.html#index_d"><span>d</span></a></li>
+      <li><a href="functions_0x65.html#index_e"><span>e</span></a></li>
+      <li><a href="functions_0x66.html#index_f"><span>f</span></a></li>
+      <li><a href="functions_0x67.html#index_g"><span>g</span></a></li>
+      <li><a href="functions_0x68.html#index_h"><span>h</span></a></li>
+      <li><a href="functions_0x69.html#index_i"><span>i</span></a></li>
+      <li><a href="functions_0x6a.html#index_j"><span>j</span></a></li>
+      <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li>
+      <li><a href="functions_0x6d.html#index_m"><span>m</span></a></li>
+      <li class="current"><a href="functions_0x6e.html#index_n"><span>n</span></a></li>
+      <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li>
+      <li><a href="functions_0x70.html#index_p"><span>p</span></a></li>
+      <li><a href="functions_0x71.html#index_q"><span>q</span></a></li>
+      <li><a href="functions_0x72.html#index_r"><span>r</span></a></li>
+      <li><a href="functions_0x73.html#index_s"><span>s</span></a></li>
+      <li><a href="functions_0x74.html#index_t"><span>t</span></a></li>
+      <li><a href="functions_0x75.html#index_u"><span>u</span></a></li>
+      <li><a href="functions_0x76.html#index_v"><span>v</span></a></li>
+      <li><a href="functions_0x77.html#index_w"><span>w</span></a></li>
+      <li><a href="functions_0x7e.html#index_0x7e"><span>~</span></a></li>
+    </ul>
+  </div>
+</div><!-- top -->
+<div class="contents">
+<div class="textblock">Here is a list of all documented class members with links to the class documentation for each member:</div>
 
-<p>
-Here is a list of all documented class members with links to the class documentation for each member:
-<p>
-<h3><a class="anchor" name="index_n">- n -</a></h3><ul>
+<h3><a class="anchor" id="index_n"></a>- n -</h3><ul>
 <li>name()
-: <a class="el" href="a00311.html#bc5f5c4739b17ac5211ac58226c2f5a5">tbb::movable_exception< ExceptionData ></a>, <a class="el" href="a00278.html#5af82fd677449c5ca727fa1d7e16f9f5">tbb::captured_exception</a>, <a class="el" href="a00358.html#d00f6497e552fee978a02bfcbebf46e2">tbb::tbb_exception</a><li>native_handle_type
-: <a class="el" href="a00334.html#889fa8cc32dd707eef7c0f52dda09c0d">tbb::recursive_mutex</a>, <a class="el" href="a00313.html#9f1ec84d5815263ceae853f06ddb4cac">tbb::mutex</a><li>note_affinity()
-: <a class="el" href="a00349.html#713c338c8eeaebdc5a6b10a69c039b06">tbb::task</a><li>now()
-: <a class="el" href="a00362.html#fb7f78ca61cf28398645ace66e284473">tbb::tick_count</a></ul>
+: <a class="el" href="a00146.html#a282bb7dce5f157d044d14d50cd6ff35c">tbb::tbb_exception</a>
+, <a class="el" href="a00031.html#a23426113851b78d3f0069956afd21976">tbb::captured_exception</a>
+, <a class="el" href="a00078.html#a65dd805ed2424f1d2d0998f5567a9690">tbb::movable_exception< ExceptionData ></a>
+</li>
+<li>native_handle_type
+: <a class="el" href="a00081.html#abbe0cd12246121753ace00a5a12a90b0">tbb::mutex</a>
+, <a class="el" href="a00107.html#a3d40334b0e26d5addfde5596e7f9aaec">tbb::recursive_mutex</a>
+</li>
+<li>now()
+: <a class="el" href="a00155.html#a74dcecde7431ff4591d7c46fc1d50d7e">tbb::tick_count</a>
+</li>
+</ul>
+</div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/functions_0x6f.html b/doc/html/functions_0x6f.html
index 4d26b0b..49c8f69 100644
--- a/doc/html/functions_0x6f.html
+++ b/doc/html/functions_0x6f.html
@@ -1,83 +1,155 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
 <title>Class Members</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
-  <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li id="current"><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li id="current"><a href="functions.html"><span>All</span></a></li>
-    <li><a href="functions_func.html"><span>Functions</span></a></li>
-    <li><a href="functions_vars.html"><span>Variables</span></a></li>
-    <li><a href="functions_type.html"><span>Typedefs</span></a></li>
-    <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
-    <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
-    <li><a href="functions_rela.html"><span>Related Functions</span></a></li>
-  </ul>
-</div>
-<div class="tabs">
-  <ul>
-    <li><a href="functions.html#index__"><span>_</span></a></li>
-    <li><a href="functions_0x61.html#index_a"><span>a</span></a></li>
-    <li><a href="functions_0x62.html#index_b"><span>b</span></a></li>
-    <li><a href="functions_0x63.html#index_c"><span>c</span></a></li>
-    <li><a href="functions_0x64.html#index_d"><span>d</span></a></li>
-    <li><a href="functions_0x65.html#index_e"><span>e</span></a></li>
-    <li><a href="functions_0x66.html#index_f"><span>f</span></a></li>
-    <li><a href="functions_0x67.html#index_g"><span>g</span></a></li>
-    <li><a href="functions_0x69.html#index_i"><span>i</span></a></li>
-    <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li>
-    <li><a href="functions_0x6d.html#index_m"><span>m</span></a></li>
-    <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li>
-    <li id="current"><a href="functions_0x6f.html#index_o"><span>o</span></a></li>
-    <li><a href="functions_0x70.html#index_p"><span>p</span></a></li>
-    <li><a href="functions_0x71.html#index_q"><span>q</span></a></li>
-    <li><a href="functions_0x72.html#index_r"><span>r</span></a></li>
-    <li><a href="functions_0x73.html#index_s"><span>s</span></a></li>
-    <li><a href="functions_0x74.html#index_t"><span>t</span></a></li>
-    <li><a href="functions_0x75.html#index_u"><span>u</span></a></li>
-    <li><a href="functions_0x76.html#index_v"><span>v</span></a></li>
-    <li><a href="functions_0x77.html#index_w"><span>w</span></a></li>
-    <li><a href="functions_0x7e.html#index_~"><span>~</span></a></li>
-  </ul>
-</div>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li class="current"><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow3" class="tabs2">
+    <ul class="tablist">
+      <li class="current"><a href="functions.html"><span>All</span></a></li>
+      <li><a href="functions_func.html"><span>Functions</span></a></li>
+      <li><a href="functions_vars.html"><span>Variables</span></a></li>
+      <li><a href="functions_type.html"><span>Typedefs</span></a></li>
+      <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
+      <li><a href="functions_rela.html"><span>Related Functions</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow4" class="tabs3">
+    <ul class="tablist">
+      <li><a href="functions.html#index_a"><span>a</span></a></li>
+      <li><a href="functions_0x62.html#index_b"><span>b</span></a></li>
+      <li><a href="functions_0x63.html#index_c"><span>c</span></a></li>
+      <li><a href="functions_0x64.html#index_d"><span>d</span></a></li>
+      <li><a href="functions_0x65.html#index_e"><span>e</span></a></li>
+      <li><a href="functions_0x66.html#index_f"><span>f</span></a></li>
+      <li><a href="functions_0x67.html#index_g"><span>g</span></a></li>
+      <li><a href="functions_0x68.html#index_h"><span>h</span></a></li>
+      <li><a href="functions_0x69.html#index_i"><span>i</span></a></li>
+      <li><a href="functions_0x6a.html#index_j"><span>j</span></a></li>
+      <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li>
+      <li><a href="functions_0x6d.html#index_m"><span>m</span></a></li>
+      <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li>
+      <li class="current"><a href="functions_0x6f.html#index_o"><span>o</span></a></li>
+      <li><a href="functions_0x70.html#index_p"><span>p</span></a></li>
+      <li><a href="functions_0x71.html#index_q"><span>q</span></a></li>
+      <li><a href="functions_0x72.html#index_r"><span>r</span></a></li>
+      <li><a href="functions_0x73.html#index_s"><span>s</span></a></li>
+      <li><a href="functions_0x74.html#index_t"><span>t</span></a></li>
+      <li><a href="functions_0x75.html#index_u"><span>u</span></a></li>
+      <li><a href="functions_0x76.html#index_v"><span>v</span></a></li>
+      <li><a href="functions_0x77.html#index_w"><span>w</span></a></li>
+      <li><a href="functions_0x7e.html#index_0x7e"><span>~</span></a></li>
+    </ul>
+  </div>
+</div><!-- top -->
+<div class="contents">
+<div class="textblock">Here is a list of all documented class members with links to the class documentation for each member:</div>
 
-<p>
-Here is a list of all documented class members with links to the class documentation for each member:
-<p>
-<h3><a class="anchor" name="index_o">- o -</a></h3><ul>
-<li>object_may_be_null()
-: <a class="el" href="a00294.html#8ec4dfe053e94a2349d56781ddea8477">tbb::filter</a><li>operator *()
-: <a class="el" href="a00282.html#170280ea807a22e742095de3e8c5ea38">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator >::accessor</a>, <a class="el" href="a00284.html#9411df8197ceb4881ec4c7368a0a7f88">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator >::const_accessor</a><li>operator delete()
-: <a class="el" href="a00358.html#3f2da7f3d8a6e4c1df522af1213afb5a">tbb::tbb_exception</a><li>operator()()
-: <a class="el" href="a00294.html#fa1b3dc1f4f47563ccab7f4d92f5b543">tbb::filter</a>, <a class="el" href="a00283.html#fa6314b861c574f86ed189b124cf5853">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator >::bucket_accessor</a><li>operator+
-: <a class="el" href="a00363.html#5871ead1ca230efbe52a5008470e6428">tbb::tick_count::interval_t</a><li>operator+=()
-: <a class="el" href="a00363.html#cd9814947902e26463a69a111530f81b">tbb::tick_count::interval_t</a><li>operator-
-: <a class="el" href="a00362.html#09dde78a4100800c11bb883d6204b586">tbb::tick_count</a>, <a class="el" href="a00363.html#fa509691e1d689830931e36edd274f76">tbb::tick_count::interval_t</a><li>operator-=()
-: <a class="el" href="a00363.html#35ff7eaf7c2031b4a991402ac9ecb940">tbb::tick_count::interval_t</a><li>operator->()
-: <a class="el" href="a00282.html#a807920cdffe3ec5c5e282b4d1ff92a2">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator >::accessor</a>, <a class="el" href="a00284.html#3d03a48ecb8cd9549bd8be64b09c9b0d">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator >::const_accessor</a><li>operator=()
-: <a class="el" href="a00288.html#85cc876b1dec457b831b4745be274be1">tbb::concurrent_vector< T, A ></a>, <a class="el" href="a00285.html#9296c2eaeeae24cb7019659c2fdf0f62">tbb::interface5::concurrent_priority_queue< T, Compare, A ></a>, <a class="el" href="a00281.html#f765500afa7f55480f3991cfbe826b28">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a><li>operator[]()
-: <a class="el" href="a00288.html#c6fade5c732cc95274d1d8277ea619d1">tbb::concurrent_vector< T, A ></a><li>output_type
-: <a class="el" href="a00304.html#6e67fc480147c0b88a483b85db6457b0">tbb::flow::interface6::limiter_node< T ></a>, <a class="el" href="a00324.html#2cb099b590246b6bc93cc15e78c6ee5c">tbb::flow::interface6::priority_queue_node< T, Compare, A ></a>, <a class="el" href="a00340.html#ca026eaef70e35791c407323199031a7">tbb::flow::interface6::sequencer_node< T, A ></a>, <a class="el" href="a00325.html#25b5a53ab1f9a342644fa3759bc0b1ad">tbb::flow::interface6::queue_node< T, A &gt [...]
+<h3><a class="anchor" id="index_o"></a>- o -</h3><ul>
+<li>observe()
+: <a class="el" href="a00143.html#a40209b347e3c82bb5bfda05941304309">tbb::internal::task_scheduler_observer_v3</a>
+</li>
+<li>on_scheduler_entry()
+: <a class="el" href="a00143.html#af4282a27725fbe86052bb785bdd9c5d3">tbb::internal::task_scheduler_observer_v3</a>
+</li>
+<li>on_scheduler_exit()
+: <a class="el" href="a00143.html#a657e90f833568e217b807d0122fa7668">tbb::internal::task_scheduler_observer_v3</a>
+</li>
+<li>on_scheduler_leaving()
+: <a class="el" href="a00142.html#afd3842518d9a37efb3c8455b22950bb8">tbb::interface6::task_scheduler_observer</a>
+</li>
+<li>operator delete()
+: <a class="el" href="a00146.html#a6a973c37078afedf7d457ff4704bf8cd">tbb::tbb_exception</a>
+</li>
+<li>operator!=()
+: <a class="el" href="a00062.html#af3f6d2cc6cbec2dc1194f7d5f4091a73">tbb::flow::interface7::graph_iterator< GraphContainerType, GraphNodeType ></a>
+</li>
+<li>operator()()
+: <a class="el" href="a00026.html#a16e714a5e77dbf8daf81973df30722d4">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::bucket_accessor</a>
+</li>
+<li>operator*()
+: <a class="el" href="a00047.html#a8adf04e33e7c8c876ba849f26807713a">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::const_accessor</a>
+, <a class="el" href="a00010.html#a4e03905a33fbdafdb99113cc68d2bd4b">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::accessor</a>
+, <a class="el" href="a00062.html#a1daffd203bebae367ed0f32917048f22">tbb::flow::interface7::graph_iterator< GraphContainerType, GraphNodeType ></a>
+</li>
+<li>operator+
+: <a class="el" href="a00066.html#ac8910ee3b69f68eb905af787c273e9a8">tbb::tick_count::interval_t</a>
+</li>
+<li>operator++()
+: <a class="el" href="a00062.html#ab84587ed134f01886f6a0d64d5a6ccef">tbb::flow::interface7::graph_iterator< GraphContainerType, GraphNodeType ></a>
+</li>
+<li>operator+=()
+: <a class="el" href="a00066.html#a19bf32f4541252daaa6b09fd33fa9177">tbb::tick_count::interval_t</a>
+</li>
+<li>operator-
+: <a class="el" href="a00066.html#a3d11133daa9a7d3c903d070293278f8f">tbb::tick_count::interval_t</a>
+, <a class="el" href="a00155.html#ab5ceaed3ebf5a0d41088a5bc7c8dc653">tbb::tick_count</a>
+, <a class="el" href="a00066.html#ab5ceaed3ebf5a0d41088a5bc7c8dc653">tbb::tick_count::interval_t</a>
+</li>
+<li>operator-=()
+: <a class="el" href="a00066.html#a3394d9f3678e6a4c3d6e1be840fe2ff2">tbb::tick_count::interval_t</a>
+</li>
+<li>operator->()
+: <a class="el" href="a00047.html#a28fa9b9e6c35d7e80217e69a7afe1ee5">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::const_accessor</a>
+, <a class="el" href="a00010.html#ab04f73bd4a4ca7df0dc91a7b4d66f987">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::accessor</a>
+, <a class="el" href="a00062.html#abfb28c989f76822e26b47211febe3d72">tbb::flow::interface7::graph_iterator< GraphContainerType, GraphNodeType ></a>
+</li>
+<li>operator=()
+: <a class="el" href="a00035.html#a63e01b1f79c287ae0257ccfd483fd90a">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a>
+, <a class="el" href="a00043.html#a01e685fab9a39cbd69c53bb3b8befce6">tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator ></a>
+, <a class="el" href="a00046.html#a6e57d73b199ccd03922898e9da4888fb">tbb::concurrent_vector< T, A ></a>
+, <a class="el" href="a00042.html#adac1da59fdf8b536f95ea5be3134785f">tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator ></a>
+, <a class="el" href="a00044.html#ab8bc097b955ce129641eb3cf9f4cd4d5">tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator ></a>
+, <a class="el" href="a00062.html#ada73cea77a417f0df629eeaf4c1e2002">tbb::flow::interface7::graph_iterator< GraphContainerType, GraphNodeType ></a>
+, <a class="el" href="a00037.html#a32eb9c65caf399b62fac7c13e65af05f">tbb::interface5::concurrent_priority_queue< T, Compare, A ></a>
+, <a class="el" href="a00046.html#a920384aece0eb8beea3049956320ec91">tbb::concurrent_vector< T, A ></a>
+, <a class="el" href="a00035.html#a49e4e3979b46669a4712e7d3208e75f2">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a>
+, <a class="el" href="a00037.html#ac0c3f41b10f04547f3438517c40cf8a5">tbb::interface5::concurrent_priority_queue< T, Compare, A ></a>
+, <a class="el" href="a00040.html#ad641e7a34077b6a490625da4858b509a">tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator ></a>
+</li>
+<li>operator==()
+: <a class="el" href="a00062.html#a3b0d834dffd2a99a596e9541b7a96d2a">tbb::flow::interface7::graph_iterator< GraphContainerType, GraphNodeType ></a>
+</li>
+<li>operator[]()
+: <a class="el" href="a00046.html#abd6ca67f2f97fafca48395af2e693e73">tbb::concurrent_vector< T, A ></a>
+</li>
+<li>output_type
+: <a class="el" href="a00124.html#add86fddf72758d8e5b05b07650c6eeed">tbb::flow::interface7::sender< T ></a>
+, <a class="el" href="a00126.html#a0308ffc2e5c24739cd85e769ec8a8f5f">tbb::flow::interface7::source_node< Output ></a>
+</li>
+</ul>
+</div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/functions_0x70.html b/doc/html/functions_0x70.html
index 937e4e4..194569a 100644
--- a/doc/html/functions_0x70.html
+++ b/doc/html/functions_0x70.html
@@ -1,88 +1,126 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
 <title>Class Members</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
-  <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li id="current"><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li id="current"><a href="functions.html"><span>All</span></a></li>
-    <li><a href="functions_func.html"><span>Functions</span></a></li>
-    <li><a href="functions_vars.html"><span>Variables</span></a></li>
-    <li><a href="functions_type.html"><span>Typedefs</span></a></li>
-    <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
-    <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
-    <li><a href="functions_rela.html"><span>Related Functions</span></a></li>
-  </ul>
-</div>
-<div class="tabs">
-  <ul>
-    <li><a href="functions.html#index__"><span>_</span></a></li>
-    <li><a href="functions_0x61.html#index_a"><span>a</span></a></li>
-    <li><a href="functions_0x62.html#index_b"><span>b</span></a></li>
-    <li><a href="functions_0x63.html#index_c"><span>c</span></a></li>
-    <li><a href="functions_0x64.html#index_d"><span>d</span></a></li>
-    <li><a href="functions_0x65.html#index_e"><span>e</span></a></li>
-    <li><a href="functions_0x66.html#index_f"><span>f</span></a></li>
-    <li><a href="functions_0x67.html#index_g"><span>g</span></a></li>
-    <li><a href="functions_0x69.html#index_i"><span>i</span></a></li>
-    <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li>
-    <li><a href="functions_0x6d.html#index_m"><span>m</span></a></li>
-    <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li>
-    <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li>
-    <li id="current"><a href="functions_0x70.html#index_p"><span>p</span></a></li>
-    <li><a href="functions_0x71.html#index_q"><span>q</span></a></li>
-    <li><a href="functions_0x72.html#index_r"><span>r</span></a></li>
-    <li><a href="functions_0x73.html#index_s"><span>s</span></a></li>
-    <li><a href="functions_0x74.html#index_t"><span>t</span></a></li>
-    <li><a href="functions_0x75.html#index_u"><span>u</span></a></li>
-    <li><a href="functions_0x76.html#index_v"><span>v</span></a></li>
-    <li><a href="functions_0x77.html#index_w"><span>w</span></a></li>
-    <li><a href="functions_0x7e.html#index_~"><span>~</span></a></li>
-  </ul>
-</div>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li class="current"><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow3" class="tabs2">
+    <ul class="tablist">
+      <li class="current"><a href="functions.html"><span>All</span></a></li>
+      <li><a href="functions_func.html"><span>Functions</span></a></li>
+      <li><a href="functions_vars.html"><span>Variables</span></a></li>
+      <li><a href="functions_type.html"><span>Typedefs</span></a></li>
+      <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
+      <li><a href="functions_rela.html"><span>Related Functions</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow4" class="tabs3">
+    <ul class="tablist">
+      <li><a href="functions.html#index_a"><span>a</span></a></li>
+      <li><a href="functions_0x62.html#index_b"><span>b</span></a></li>
+      <li><a href="functions_0x63.html#index_c"><span>c</span></a></li>
+      <li><a href="functions_0x64.html#index_d"><span>d</span></a></li>
+      <li><a href="functions_0x65.html#index_e"><span>e</span></a></li>
+      <li><a href="functions_0x66.html#index_f"><span>f</span></a></li>
+      <li><a href="functions_0x67.html#index_g"><span>g</span></a></li>
+      <li><a href="functions_0x68.html#index_h"><span>h</span></a></li>
+      <li><a href="functions_0x69.html#index_i"><span>i</span></a></li>
+      <li><a href="functions_0x6a.html#index_j"><span>j</span></a></li>
+      <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li>
+      <li><a href="functions_0x6d.html#index_m"><span>m</span></a></li>
+      <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li>
+      <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li>
+      <li class="current"><a href="functions_0x70.html#index_p"><span>p</span></a></li>
+      <li><a href="functions_0x71.html#index_q"><span>q</span></a></li>
+      <li><a href="functions_0x72.html#index_r"><span>r</span></a></li>
+      <li><a href="functions_0x73.html#index_s"><span>s</span></a></li>
+      <li><a href="functions_0x74.html#index_t"><span>t</span></a></li>
+      <li><a href="functions_0x75.html#index_u"><span>u</span></a></li>
+      <li><a href="functions_0x76.html#index_v"><span>v</span></a></li>
+      <li><a href="functions_0x77.html#index_w"><span>w</span></a></li>
+      <li><a href="functions_0x7e.html#index_0x7e"><span>~</span></a></li>
+    </ul>
+  </div>
+</div><!-- top -->
+<div class="contents">
+<div class="textblock">Here is a list of all documented class members with links to the class documentation for each member:</div>
 
-<p>
-Here is a list of all documented class members with links to the class documentation for each member:
-<p>
-<h3><a class="anchor" name="index_p">- p -</a></h3><ul>
+<h3><a class="anchor" id="index_p"></a>- p -</h3><ul>
 <li>page_range_type
-: <a class="el" href="a00273.html#b8ebf17a552ba47825e9b3887855b719">tbb::blocked_range3d< PageValue, RowValue, ColValue ></a><li>pages()
-: <a class="el" href="a00273.html#cf971430aa12361d3ed245344b7c6764">tbb::blocked_range3d< PageValue, RowValue, ColValue ></a><li>parallel_while()
-: <a class="el" href="a00320.html#36e26ba3880c7bcf804a97ba0cbe133f">tbb::parallel_while< Body ></a><li>parent()
-: <a class="el" href="a00349.html#314e98ee4347ccec83efcb9ee22e8596">tbb::task</a><li>pause()
-: <a class="el" href="a00268.html#a174ea93e3bd3d5cce82389c2f28d037">tbb::internal::atomic_backoff</a><li>pipeline()
-: <a class="el" href="a00322.html#596dc3beba27099c4c8581cb419e1a59">tbb::pipeline</a><li>pop()
-: <a class="el" href="a00280.html#41f4c6bd7a82ab070e840bbf81b0b123">tbb::concurrent_bounded_queue< T, A ></a><li>pop_front()
-: <a class="el" href="a00354.html#5fe85df5ed524418389d34051750347d">tbb::task_list</a><li>pop_if_present()
-: <a class="el" href="a00287.html#48da3536245318af6cb5fd58bac78039">tbb::deprecated::concurrent_queue< T, A ></a><li>predecessor_type
-: <a class="el" href="a00304.html#f89fcf44f38eb33f965ee5362d3e68e9">tbb::flow::interface6::limiter_node< T ></a>, <a class="el" href="a00324.html#fdea783bf9d5a4c98e794ac7e0f84ccf">tbb::flow::interface6::priority_queue_node< T, Compare, A ></a>, <a class="el" href="a00340.html#8127e36811832563fe1e9bc3ba391f79">tbb::flow::interface6::sequencer_node< T, A ></a>, <a class="el" href="a00325.html#5e2fdd33c45d44549dee9c1638e19898">tbb::flow::interface6::queue_node< T, A &gt [...]
-: <a class="el" href="a00352.html#2f2342b9e6c9c03703248ac13ad0271d">tbb::task_group_context</a><li>priority_queue_node()
-: <a class="el" href="a00324.html#17a4f66e23d54100b64805405e905d62">tbb::flow::interface6::priority_queue_node< T, Compare, A ></a><li>process()
-: <a class="el" href="a00264.html#ccd88bf4333dc100ba97da8e2170277d">tbb::interface6::aggregator_ext< handler_type ></a><li>process_item()
-: <a class="el" href="a00361.html#5e726bdc7fbd924c0b07bd558b1d4d5d">tbb::thread_bound_filter</a><li>push()
-: <a class="el" href="a00280.html#ceb08c743b11ba88c878e73fff8af20b">tbb::concurrent_bounded_queue< T, A ></a>, <a class="el" href="a00286.html#73c47563ffcc4c2f6452f25a04ebe2e2">tbb::strict_ppl::concurrent_queue< T, A ></a>, <a class="el" href="a00285.html#d905af7b8f6defff562f5ae9c3275763">tbb::interface5::concurrent_priority_queue< T, Compare, A ></a><li>push_back()
-: <a class="el" href="a00354.html#4cd34756bc4763dafb8c84838a0124ff">tbb::task_list</a>, <a class="el" href="a00288.html#e94e038f915c0268fdf2d3d7f87d81b8">tbb::concurrent_vector< T, A ></a><li>push_if_not_full()
-: <a class="el" href="a00287.html#7c45561bafe71107d09b2bc1b8f4e681">tbb::deprecated::concurrent_queue< T, A ></a></ul>
+: <a class="el" href="a00023.html#a8cdc866378a12ce198da870d0439676f">tbb::blocked_range3d< PageValue, RowValue, ColValue ></a>
+</li>
+<li>pages()
+: <a class="el" href="a00023.html#a5b794fd53ba92106aeafa4eed85731d4">tbb::blocked_range3d< PageValue, RowValue, ColValue ></a>
+</li>
+<li>parallel_while()
+: <a class="el" href="a00088.html#a220a7307358aa36802c8754ea45ca385">tbb::parallel_while< Body ></a>
+</li>
+<li>pipeline()
+: <a class="el" href="a00089.html#afe7b7bd9b2617c2b69170675a478b2bd">tbb::pipeline</a>
+</li>
+<li>pop()
+: <a class="el" href="a00034.html#a87926c31967a918ce80690a9ed5d6fa8">tbb::concurrent_bounded_queue< T, A ></a>
+</li>
+<li>pop_if_present()
+: <a class="el" href="a00039.html#a8d6825341ca673ea316202474a021174">tbb::deprecated::concurrent_queue< T, A ></a>
+</li>
+<li>predecessor_type
+: <a class="el" href="a00050.html#a86d210b5614d47aaa43731b7e303751f">tbb::flow::interface7::continue_receiver</a>
+, <a class="el" href="a00106.html#afbadf5511bd568d283040cd88bd4e81e">tbb::flow::interface7::receiver< T ></a>
+</li>
+<li>priority_queue_node()
+: <a class="el" href="a00091.html#ab295c7b50ff804f7276609a25016e7ca">tbb::flow::interface7::priority_queue_node< T, Compare, A ></a>
+</li>
+<li>process()
+: <a class="el" href="a00012.html#ae55b16ec6af204aa00d6a716fccec9f7">tbb::interface6::aggregator_ext< handler_type ></a>
+</li>
+<li>process_item()
+: <a class="el" href="a00150.html#ac99258407f382d84568a510075074fc7">tbb::thread_bound_filter</a>
+</li>
+<li>push()
+: <a class="el" href="a00038.html#a9330ca6590980d80ef7b1ea3613a699a">tbb::strict_ppl::concurrent_queue< T, A ></a>
+, <a class="el" href="a00034.html#ae5e9051772bbc93b2ccb8fd0a98a21f5">tbb::concurrent_bounded_queue< T, A ></a>
+, <a class="el" href="a00037.html#a1bfa0e7269b3407d6bb5c706264d2406">tbb::interface5::concurrent_priority_queue< T, Compare, A ></a>
+</li>
+<li>push_back()
+: <a class="el" href="a00046.html#a4a5c85a9e6ff82e15c18da47a95b518f">tbb::concurrent_vector< T, A ></a>
+</li>
+<li>push_if_not_full()
+: <a class="el" href="a00039.html#a129cde9f5f101ddd623619c838be07f3">tbb::deprecated::concurrent_queue< T, A ></a>
+</li>
+</ul>
+</div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/functions_0x71.html b/doc/html/functions_0x71.html
index e49ac8d..597059d 100644
--- a/doc/html/functions_0x71.html
+++ b/doc/html/functions_0x71.html
@@ -1,74 +1,93 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
 <title>Class Members</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
-  <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li id="current"><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li id="current"><a href="functions.html"><span>All</span></a></li>
-    <li><a href="functions_func.html"><span>Functions</span></a></li>
-    <li><a href="functions_vars.html"><span>Variables</span></a></li>
-    <li><a href="functions_type.html"><span>Typedefs</span></a></li>
-    <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
-    <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
-    <li><a href="functions_rela.html"><span>Related Functions</span></a></li>
-  </ul>
-</div>
-<div class="tabs">
-  <ul>
-    <li><a href="functions.html#index__"><span>_</span></a></li>
-    <li><a href="functions_0x61.html#index_a"><span>a</span></a></li>
-    <li><a href="functions_0x62.html#index_b"><span>b</span></a></li>
-    <li><a href="functions_0x63.html#index_c"><span>c</span></a></li>
-    <li><a href="functions_0x64.html#index_d"><span>d</span></a></li>
-    <li><a href="functions_0x65.html#index_e"><span>e</span></a></li>
-    <li><a href="functions_0x66.html#index_f"><span>f</span></a></li>
-    <li><a href="functions_0x67.html#index_g"><span>g</span></a></li>
-    <li><a href="functions_0x69.html#index_i"><span>i</span></a></li>
-    <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li>
-    <li><a href="functions_0x6d.html#index_m"><span>m</span></a></li>
-    <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li>
-    <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li>
-    <li><a href="functions_0x70.html#index_p"><span>p</span></a></li>
-    <li id="current"><a href="functions_0x71.html#index_q"><span>q</span></a></li>
-    <li><a href="functions_0x72.html#index_r"><span>r</span></a></li>
-    <li><a href="functions_0x73.html#index_s"><span>s</span></a></li>
-    <li><a href="functions_0x74.html#index_t"><span>t</span></a></li>
-    <li><a href="functions_0x75.html#index_u"><span>u</span></a></li>
-    <li><a href="functions_0x76.html#index_v"><span>v</span></a></li>
-    <li><a href="functions_0x77.html#index_w"><span>w</span></a></li>
-    <li><a href="functions_0x7e.html#index_~"><span>~</span></a></li>
-  </ul>
-</div>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li class="current"><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow3" class="tabs2">
+    <ul class="tablist">
+      <li class="current"><a href="functions.html"><span>All</span></a></li>
+      <li><a href="functions_func.html"><span>Functions</span></a></li>
+      <li><a href="functions_vars.html"><span>Variables</span></a></li>
+      <li><a href="functions_type.html"><span>Typedefs</span></a></li>
+      <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
+      <li><a href="functions_rela.html"><span>Related Functions</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow4" class="tabs3">
+    <ul class="tablist">
+      <li><a href="functions.html#index_a"><span>a</span></a></li>
+      <li><a href="functions_0x62.html#index_b"><span>b</span></a></li>
+      <li><a href="functions_0x63.html#index_c"><span>c</span></a></li>
+      <li><a href="functions_0x64.html#index_d"><span>d</span></a></li>
+      <li><a href="functions_0x65.html#index_e"><span>e</span></a></li>
+      <li><a href="functions_0x66.html#index_f"><span>f</span></a></li>
+      <li><a href="functions_0x67.html#index_g"><span>g</span></a></li>
+      <li><a href="functions_0x68.html#index_h"><span>h</span></a></li>
+      <li><a href="functions_0x69.html#index_i"><span>i</span></a></li>
+      <li><a href="functions_0x6a.html#index_j"><span>j</span></a></li>
+      <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li>
+      <li><a href="functions_0x6d.html#index_m"><span>m</span></a></li>
+      <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li>
+      <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li>
+      <li><a href="functions_0x70.html#index_p"><span>p</span></a></li>
+      <li class="current"><a href="functions_0x71.html#index_q"><span>q</span></a></li>
+      <li><a href="functions_0x72.html#index_r"><span>r</span></a></li>
+      <li><a href="functions_0x73.html#index_s"><span>s</span></a></li>
+      <li><a href="functions_0x74.html#index_t"><span>t</span></a></li>
+      <li><a href="functions_0x75.html#index_u"><span>u</span></a></li>
+      <li><a href="functions_0x76.html#index_v"><span>v</span></a></li>
+      <li><a href="functions_0x77.html#index_w"><span>w</span></a></li>
+      <li><a href="functions_0x7e.html#index_0x7e"><span>~</span></a></li>
+    </ul>
+  </div>
+</div><!-- top -->
+<div class="contents">
+<div class="textblock">Here is a list of all documented class members with links to the class documentation for each member:</div>
 
-<p>
-Here is a list of all documented class members with links to the class documentation for each member:
-<p>
-<h3><a class="anchor" name="index_q">- q -</a></h3><ul>
+<h3><a class="anchor" id="index_q"></a>- q -</h3><ul>
 <li>queue_node()
-: <a class="el" href="a00325.html#0226762d9ebba28311b7b1518d948ab1">tbb::flow::interface6::queue_node< T, A ></a><li>queuing_mutex()
-: <a class="el" href="a00326.html#b389ad9c4db7293e4bdb5b8cda69ec04">tbb::queuing_mutex</a><li>queuing_rw_mutex()
-: <a class="el" href="a00328.html#85c90877c3447690ac4e2ac4ff8dea5e">tbb::queuing_rw_mutex</a></ul>
+: <a class="el" href="a00092.html#a503d3fe4f98302549e36f74633de5716">tbb::flow::interface7::queue_node< T, A ></a>
+</li>
+<li>queuing_mutex()
+: <a class="el" href="a00093.html#a0e58fce2062ae349a30b320b7fdc9155">tbb::queuing_mutex</a>
+</li>
+<li>queuing_rw_mutex()
+: <a class="el" href="a00094.html#a23de1ac415b6f54b778c8fd6ec6073e0">tbb::queuing_rw_mutex</a>
+</li>
+</ul>
+</div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/functions_0x72.html b/doc/html/functions_0x72.html
index 905a162..6d53c2e 100644
--- a/doc/html/functions_0x72.html
+++ b/doc/html/functions_0x72.html
@@ -1,102 +1,178 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
 <title>Class Members</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
-  <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li id="current"><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li id="current"><a href="functions.html"><span>All</span></a></li>
-    <li><a href="functions_func.html"><span>Functions</span></a></li>
-    <li><a href="functions_vars.html"><span>Variables</span></a></li>
-    <li><a href="functions_type.html"><span>Typedefs</span></a></li>
-    <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
-    <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
-    <li><a href="functions_rela.html"><span>Related Functions</span></a></li>
-  </ul>
-</div>
-<div class="tabs">
-  <ul>
-    <li><a href="functions.html#index__"><span>_</span></a></li>
-    <li><a href="functions_0x61.html#index_a"><span>a</span></a></li>
-    <li><a href="functions_0x62.html#index_b"><span>b</span></a></li>
-    <li><a href="functions_0x63.html#index_c"><span>c</span></a></li>
-    <li><a href="functions_0x64.html#index_d"><span>d</span></a></li>
-    <li><a href="functions_0x65.html#index_e"><span>e</span></a></li>
-    <li><a href="functions_0x66.html#index_f"><span>f</span></a></li>
-    <li><a href="functions_0x67.html#index_g"><span>g</span></a></li>
-    <li><a href="functions_0x69.html#index_i"><span>i</span></a></li>
-    <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li>
-    <li><a href="functions_0x6d.html#index_m"><span>m</span></a></li>
-    <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li>
-    <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li>
-    <li><a href="functions_0x70.html#index_p"><span>p</span></a></li>
-    <li><a href="functions_0x71.html#index_q"><span>q</span></a></li>
-    <li id="current"><a href="functions_0x72.html#index_r"><span>r</span></a></li>
-    <li><a href="functions_0x73.html#index_s"><span>s</span></a></li>
-    <li><a href="functions_0x74.html#index_t"><span>t</span></a></li>
-    <li><a href="functions_0x75.html#index_u"><span>u</span></a></li>
-    <li><a href="functions_0x76.html#index_v"><span>v</span></a></li>
-    <li><a href="functions_0x77.html#index_w"><span>w</span></a></li>
-    <li><a href="functions_0x7e.html#index_~"><span>~</span></a></li>
-  </ul>
-</div>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li class="current"><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow3" class="tabs2">
+    <ul class="tablist">
+      <li class="current"><a href="functions.html"><span>All</span></a></li>
+      <li><a href="functions_func.html"><span>Functions</span></a></li>
+      <li><a href="functions_vars.html"><span>Variables</span></a></li>
+      <li><a href="functions_type.html"><span>Typedefs</span></a></li>
+      <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
+      <li><a href="functions_rela.html"><span>Related Functions</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow4" class="tabs3">
+    <ul class="tablist">
+      <li><a href="functions.html#index_a"><span>a</span></a></li>
+      <li><a href="functions_0x62.html#index_b"><span>b</span></a></li>
+      <li><a href="functions_0x63.html#index_c"><span>c</span></a></li>
+      <li><a href="functions_0x64.html#index_d"><span>d</span></a></li>
+      <li><a href="functions_0x65.html#index_e"><span>e</span></a></li>
+      <li><a href="functions_0x66.html#index_f"><span>f</span></a></li>
+      <li><a href="functions_0x67.html#index_g"><span>g</span></a></li>
+      <li><a href="functions_0x68.html#index_h"><span>h</span></a></li>
+      <li><a href="functions_0x69.html#index_i"><span>i</span></a></li>
+      <li><a href="functions_0x6a.html#index_j"><span>j</span></a></li>
+      <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li>
+      <li><a href="functions_0x6d.html#index_m"><span>m</span></a></li>
+      <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li>
+      <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li>
+      <li><a href="functions_0x70.html#index_p"><span>p</span></a></li>
+      <li><a href="functions_0x71.html#index_q"><span>q</span></a></li>
+      <li class="current"><a href="functions_0x72.html#index_r"><span>r</span></a></li>
+      <li><a href="functions_0x73.html#index_s"><span>s</span></a></li>
+      <li><a href="functions_0x74.html#index_t"><span>t</span></a></li>
+      <li><a href="functions_0x75.html#index_u"><span>u</span></a></li>
+      <li><a href="functions_0x76.html#index_v"><span>v</span></a></li>
+      <li><a href="functions_0x77.html#index_w"><span>w</span></a></li>
+      <li><a href="functions_0x7e.html#index_0x7e"><span>~</span></a></li>
+    </ul>
+  </div>
+</div><!-- top -->
+<div class="contents">
+<div class="textblock">Here is a list of all documented class members with links to the class documentation for each member:</div>
 
-<p>
-Here is a list of all documented class members with links to the class documentation for each member:
-<p>
-<h3><a class="anchor" name="index_r">- r -</a></h3><ul>
+<h3><a class="anchor" id="index_r"></a>- r -</h3><ul>
 <li>range()
-: <a class="el" href="a00293.html#3b068000cf4dbf9b40f8bb7e3fc53e0b">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a>, <a class="el" href="a00288.html#3d09ccfb581b879ae64203741035e193">tbb::concurrent_vector< T, A ></a><li>rbegin()
-: <a class="el" href="a00288.html#9f9c103e18d5f212703805354074ad44">tbb::concurrent_vector< T, A ></a><li>reader_writer_lock()
-: <a class="el" href="a00330.html#c1431c4293e777efd9aab9a95c2a46e1">tbb::interface5::reader_writer_lock</a><li>ready
-: <a class="el" href="a00349.html#4a3c415562d17905390ea5b49d12293e0841dcf1c2a96dee9aa7b69f636cb81a">tbb::task</a><li>recursive_mutex()
-: <a class="el" href="a00334.html#d2fceb7f95c24a8cd1457d4527e4b8c6">tbb::recursive_mutex</a><li>recycle_as_child_of()
-: <a class="el" href="a00349.html#db399855177438bbc9cc61d508dae8d2">tbb::task</a><li>recycle_as_continuation()
-: <a class="el" href="a00349.html#a67a79e18f62b43a623a00cfbd76db4c">tbb::task</a><li>recycle_as_safe_continuation()
-: <a class="el" href="a00349.html#3b290d14109704e2b69dc1ac980a7a76">tbb::task</a><li>recycle_to_enqueue()
-: <a class="el" href="a00349.html#076120a15237d1ee63060c992e878b29">tbb::task</a><li>recycle_to_reexecute()
-: <a class="el" href="a00349.html#4f1be9bbcdb487830dbe298b68d85144">tbb::task</a><li>reexecute
-: <a class="el" href="a00349.html#4a3c415562d17905390ea5b49d12293e3bf499aa6e6487cd1ace883a63100513">tbb::task</a><li>ref_count()
-: <a class="el" href="a00349.html#ad774f55eaec008ae02b236423209ced">tbb::task</a><li>reference
-: <a class="el" href="a00280.html#dcd44ca6a88c0dc7a847a47a10811f0c">tbb::concurrent_bounded_queue< T, A ></a>, <a class="el" href="a00286.html#a8d725c50a9834bb7af5b67c0aff92b8">tbb::strict_ppl::concurrent_queue< T, A ></a>, <a class="el" href="a00285.html#5804b3c708ef4e50d603f918ef2b9e58">tbb::interface5::concurrent_priority_queue< T, Compare, A ></a><li>register_pending_exception()
-: <a class="el" href="a00352.html#d97c8a03615594b71b4ef06ff75cf561">tbb::task_group_context</a><li>register_predecessor()
-: <a class="el" href="a00304.html#de70a0e88ce7655d8c14b6af57f7496f">tbb::flow::interface6::limiter_node< T ></a>, <a class="el" href="a00291.html#2fcfa4990a42417bbeb1f3c8b9ac8a22">tbb::flow::interface6::continue_receiver</a>, <a class="el" href="a00333.html#30e3316466efe3a713c23062b6e806f3">tbb::flow::interface6::receiver< T ></a><li>register_successor()
-: <a class="el" href="a00304.html#c76561d8d871b4769876988a4de12a9b">tbb::flow::interface6::limiter_node< T ></a>, <a class="el" href="a00275.html#f8bf4944ede4fc106423d67715beb695">tbb::flow::interface6::buffer_node< T, A ></a>, <a class="el" href="a00274.html#fd0324c9ddb51fe6f95b3d015d338941">tbb::flow::interface6::broadcast_node< T ></a>, <a class="el" href="a00342.html#22960d499df9f1569a9d8a544e35afe3">tbb::flow::interface6::source_node< Output ></a>, <a class=" [...]
-: <a class="el" href="a00281.html#94758113d8993cfe5afdf2d63a728869">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a><li>release()
-: <a class="el" href="a00346.html#61b14d00a78185c9b2d206ebfc379124">tbb::spin_rw_mutex_v3::scoped_lock</a>, <a class="el" href="a00344.html#eeb615e68e963e6bf8d9c11402d0ce8e">tbb::spin_mutex::scoped_lock</a>, <a class="el" href="a00335.html#ac480ea0e9d5ea0345a67d57008b6263">tbb::recursive_mutex::scoped_lock</a>, <a class="el" href="a00329.html#67ae221109ddc69510ab593874e435d4">tbb::queuing_rw_mutex::scoped_lock</a>, <a class="el" href="a00327.html#3bf2b8c87ff22115be9b2eac179f2d30">tbb::qu [...]
-: <a class="el" href="a00304.html#c530e7b469454e2340460795f2da3317">tbb::flow::interface6::limiter_node< T ></a>, <a class="el" href="a00291.html#cb691b18416d4742265aed84d496ebbd">tbb::flow::interface6::continue_receiver</a>, <a class="el" href="a00333.html#3bc76547b51d3c9b633e3987d22dce95">tbb::flow::interface6::receiver< T ></a><li>remove_successor()
-: <a class="el" href="a00304.html#275e328063c121b3e506ccef2a825d28">tbb::flow::interface6::limiter_node< T ></a>, <a class="el" href="a00275.html#2074da0e39b9477c32897d6e5786196f">tbb::flow::interface6::buffer_node< T, A ></a>, <a class="el" href="a00274.html#366efcc046ec08a104281109801ae629">tbb::flow::interface6::broadcast_node< T ></a>, <a class="el" href="a00342.html#222484bf295f39df36415a29e508e5c9">tbb::flow::interface6::source_node< Output ></a>, <a class=" [...]
-: <a class="el" href="a00288.html#d438b9b32ea3a8ffb703015b6dce055b">tbb::concurrent_vector< T, A ></a><li>reserve()
-: <a class="el" href="a00288.html#5a0ce05026994b010018f72cfdeb72c1">tbb::concurrent_vector< T, A ></a><li>reset()
-: <a class="el" href="a00352.html#6d30d16bf1cd22f86c6afaf29c2b430c">tbb::task_group_context</a>, <a class="el" href="a00342.html#d751cdda02bdaa1dc90c4d9609c05df2">tbb::flow::interface6::source_node< Output ></a><li>resize()
-: <a class="el" href="a00288.html#98ce6b2c6d2622f0c030b46dfac3880c">tbb::concurrent_vector< T, A ></a><li>resolution()
-: <a class="el" href="a00362.html#8aaa5ac47975a1b0fa3e95752281159e">tbb::tick_count</a><li>root_task()
-: <a class="el" href="a00300.html#7f4e3ae90811a5d8b597146b5b586d10">tbb::flow::interface6::graph</a><li>row_range_type
-: <a class="el" href="a00272.html#a807a22fe658ec38b8edfd69521d0383">tbb::blocked_range2d< RowValue, ColValue ></a><li>rows()
-: <a class="el" href="a00273.html#1584623e59ff32a8aa82006827508be4">tbb::blocked_range3d< PageValue, RowValue, ColValue ></a>, <a class="el" href="a00272.html#f496e7348a82652fba581203477cc07c">tbb::blocked_range2d< RowValue, ColValue ></a><li>run()
-: <a class="el" href="a00322.html#93d7fec8cd607b803dd2d79fb46bd260">tbb::pipeline</a>, <a class="el" href="a00320.html#b32a0a6e5e09ebb7fad3e6652c19afe5">tbb::parallel_while< Body ></a>, <a class="el" href="a00300.html#c1145b00e063793a7e7bf994d202c7a0">tbb::flow::interface6::graph</a><li>run_and_put_task
-: <a class="el" href="a00304.html#621bab40a858d214db69ef08d88b67c1">tbb::flow::interface6::limiter_node< T ></a>, <a class="el" href="a00275.html#621bab40a858d214db69ef08d88b67c1">tbb::flow::interface6::buffer_node< T, A ></a>, <a class="el" href="a00274.html#621bab40a858d214db69ef08d88b67c1">tbb::flow::interface6::broadcast_node< T ></a>, <a class="el" href="a00291.html#621bab40a858d214db69ef08d88b67c1">tbb::flow::interface6::continue_receiver</a>, <a class="el" href=" [...]
-: <a class="el" href="a00336.html#7ae5330beb48fce0c702c32a5df0094a">tbb::interface6::runtime_loader</a></ul>
+: <a class="el" href="a00046.html#a8201f65735edcc28aeec95b6e73d75b6">tbb::concurrent_vector< T, A ></a>
+, <a class="el" href="a00052.html#a25b9153dfe994c8122a7f0227cffe793">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a>
+</li>
+<li>rbegin()
+: <a class="el" href="a00046.html#a9a2f8dce0adcbef8e29273c23723a78e">tbb::concurrent_vector< T, A ></a>
+</li>
+<li>reader_writer_lock()
+: <a class="el" href="a00095.html#abceda6c50b0c36eacbef51f4682742f3">tbb::interface5::reader_writer_lock</a>
+</li>
+<li>recursive_mutex()
+: <a class="el" href="a00107.html#a47eb6e7e7ffa5d35341125792b17236b">tbb::recursive_mutex</a>
+</li>
+<li>reference
+: <a class="el" href="a00037.html#ae4b7ed2ddc8ec6cc910f935c9d299c7a">tbb::interface5::concurrent_priority_queue< T, Compare, A ></a>
+, <a class="el" href="a00038.html#ab26ddf11b15d61ac87e6c1ae67af92a2">tbb::strict_ppl::concurrent_queue< T, A ></a>
+, <a class="el" href="a00034.html#a5fa4002bcd265d9d3ed305e3b686f1da">tbb::concurrent_bounded_queue< T, A ></a>
+</li>
+<li>register_predecessor()
+: <a class="el" href="a00106.html#a16427aa709505de93ffe0d79136e4251">tbb::flow::interface7::receiver< T ></a>
+, <a class="el" href="a00050.html#a9ff043995b7b4d39ab0ec41c9e3628bf">tbb::flow::interface7::continue_receiver</a>
+, <a class="el" href="a00072.html#aca5ef5cec3b26227d71686d99ee04f7e">tbb::flow::interface7::limiter_node< T ></a>
+</li>
+<li>register_successor()
+: <a class="el" href="a00126.html#abf1627cf40dc62fa456fbf23bbcd2efa">tbb::flow::interface7::source_node< Output ></a>
+, <a class="el" href="a00086.html#aed811ce5f59a555396c7bcd56316b4da">tbb::flow::interface7::overwrite_node< T ></a>
+, <a class="el" href="a00025.html#a36b5c86faa58a264d899b7c26286c80e">tbb::flow::interface7::broadcast_node< T ></a>
+, <a class="el" href="a00027.html#ab458d9fa2c7d6f39ec62d4027c9da376">tbb::flow::interface7::buffer_node< T, A ></a>
+, <a class="el" href="a00072.html#ad2cfd954eb06732f7bae8f2c8fe28735">tbb::flow::interface7::limiter_node< T ></a>
+, <a class="el" href="a00124.html#a4dac8f53a1f8373c1f3a874b9617e4ec">tbb::flow::interface7::sender< T ></a>
+</li>
+<li>rehash()
+: <a class="el" href="a00035.html#adf1fa9470c605731063e5949f0418eb7">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a>
+</li>
+<li>release()
+: <a class="el" href="a00047.html#a18390cb369369d72bdf7c867755b5190">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::const_accessor</a>
+, <a class="el" href="a00116.html#a1a1590281ccca912229a689d920fd78a">tbb::mutex::scoped_lock</a>
+, <a class="el" href="a00121.html#aaa065e48b428b8d43e9bb931ba9e6f6c">tbb::queuing_mutex::scoped_lock</a>
+, <a class="el" href="a00119.html#a50fb02b77f02a01c74754d163157ec77">tbb::queuing_rw_mutex::scoped_lock</a>
+, <a class="el" href="a00120.html#a2fe3246ffc26bdb5a58f33ca513b6c0f">tbb::recursive_mutex::scoped_lock</a>
+, <a class="el" href="a00113.html#a7e801b0c28fd8395fec400b96acc5c34">tbb::spin_mutex::scoped_lock</a>
+, <a class="el" href="a00114.html#a99e279a995a51abfb87b865e886949f8">tbb::spin_rw_mutex_v3::scoped_lock</a>
+</li>
+<li>remove_predecessor()
+: <a class="el" href="a00072.html#a8aca7b4bd4ee13faf713021eb0d86735">tbb::flow::interface7::limiter_node< T ></a>
+, <a class="el" href="a00106.html#a55adae6228bbdc1539695e1ec20e9762">tbb::flow::interface7::receiver< T ></a>
+, <a class="el" href="a00050.html#aea58a2200f20acd9cda829ba6958b22a">tbb::flow::interface7::continue_receiver</a>
+</li>
+<li>remove_successor()
+: <a class="el" href="a00025.html#a22d463b071df6e0b7ca11df27bb2637e">tbb::flow::interface7::broadcast_node< T ></a>
+, <a class="el" href="a00124.html#ac1ae19f49e31c6ca94dcf14732eb7a64">tbb::flow::interface7::sender< T ></a>
+, <a class="el" href="a00126.html#a97c80882ddbdfdcf50761e606f231123">tbb::flow::interface7::source_node< Output ></a>
+, <a class="el" href="a00086.html#ab5ff89d56e2e3c3848d84a09c88b1d52">tbb::flow::interface7::overwrite_node< T ></a>
+, <a class="el" href="a00027.html#a70d3c1fb1af11deb9b92fa753fa8604c">tbb::flow::interface7::buffer_node< T, A ></a>
+, <a class="el" href="a00072.html#ac7b092dcc2808abf02816d4ac9c86e66">tbb::flow::interface7::limiter_node< T ></a>
+</li>
+<li>rend()
+: <a class="el" href="a00046.html#a618f38279a370c18f73ea2c29ded9cb9">tbb::concurrent_vector< T, A ></a>
+</li>
+<li>reserve()
+: <a class="el" href="a00046.html#a0b3284684328c58c0228c9a697ef3594">tbb::concurrent_vector< T, A ></a>
+</li>
+<li>reset()
+: <a class="el" href="a00126.html#a1874ab9048214245bff7b26c0d9e814b">tbb::flow::interface7::source_node< Output ></a>
+</li>
+<li>resize()
+: <a class="el" href="a00046.html#a65e53a98a1e1fdb515fdc2b84e2314e8">tbb::concurrent_vector< T, A ></a>
+</li>
+<li>resolution()
+: <a class="el" href="a00155.html#aaf6a0d91e7d40f7d68e0ad6b79350e58">tbb::tick_count</a>
+</li>
+<li>root_task()
+: <a class="el" href="a00061.html#ae5f59627a7d130cf289f105a849ad3f0">tbb::flow::interface7::graph</a>
+</li>
+<li>row_range_type
+: <a class="el" href="a00022.html#ada609b296a9af0591cc34761b8538100">tbb::blocked_range2d< RowValue, ColValue ></a>
+</li>
+<li>rows()
+: <a class="el" href="a00023.html#aeac1def585af81467573f30ebb42cb4f">tbb::blocked_range3d< PageValue, RowValue, ColValue ></a>
+, <a class="el" href="a00022.html#a4f7299e74c40df57dee2433c07ce65ae">tbb::blocked_range2d< RowValue, ColValue ></a>
+</li>
+<li>run()
+: <a class="el" href="a00089.html#a270dba81f7dd9935be7f3d69db907ff4">tbb::pipeline</a>
+, <a class="el" href="a00061.html#a6e428c2d7c8780f3c2587a71c4d92466">tbb::flow::interface7::graph</a>
+, <a class="el" href="a00089.html#ac9ee9080cfc080c40a7ee7cb03a62637">tbb::pipeline</a>
+, <a class="el" href="a00088.html#a20607ba5faa958144787d980aa850c16">tbb::parallel_while< Body ></a>
+, <a class="el" href="a00061.html#ac0a03f1d59dc2ccb9526995599c2c83c">tbb::flow::interface7::graph</a>
+</li>
+<li>run_and_put_task
+: <a class="el" href="a00106.html#abaf9bf74ca5f2854d09f5f07337280eb">tbb::flow::interface7::receiver< T ></a>
+</li>
+<li>runtime_loader()
+: <a class="el" href="a00110.html#a3e0932074d2f3ad04605e7e5da88c561">tbb::interface6::runtime_loader</a>
+</li>
+</ul>
+</div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/functions_0x73.html b/doc/html/functions_0x73.html
index d4516be..d650850 100644
--- a/doc/html/functions_0x73.html
+++ b/doc/html/functions_0x73.html
@@ -1,97 +1,162 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
 <title>Class Members</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
-  <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li id="current"><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li id="current"><a href="functions.html"><span>All</span></a></li>
-    <li><a href="functions_func.html"><span>Functions</span></a></li>
-    <li><a href="functions_vars.html"><span>Variables</span></a></li>
-    <li><a href="functions_type.html"><span>Typedefs</span></a></li>
-    <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
-    <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
-    <li><a href="functions_rela.html"><span>Related Functions</span></a></li>
-  </ul>
-</div>
-<div class="tabs">
-  <ul>
-    <li><a href="functions.html#index__"><span>_</span></a></li>
-    <li><a href="functions_0x61.html#index_a"><span>a</span></a></li>
-    <li><a href="functions_0x62.html#index_b"><span>b</span></a></li>
-    <li><a href="functions_0x63.html#index_c"><span>c</span></a></li>
-    <li><a href="functions_0x64.html#index_d"><span>d</span></a></li>
-    <li><a href="functions_0x65.html#index_e"><span>e</span></a></li>
-    <li><a href="functions_0x66.html#index_f"><span>f</span></a></li>
-    <li><a href="functions_0x67.html#index_g"><span>g</span></a></li>
-    <li><a href="functions_0x69.html#index_i"><span>i</span></a></li>
-    <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li>
-    <li><a href="functions_0x6d.html#index_m"><span>m</span></a></li>
-    <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li>
-    <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li>
-    <li><a href="functions_0x70.html#index_p"><span>p</span></a></li>
-    <li><a href="functions_0x71.html#index_q"><span>q</span></a></li>
-    <li><a href="functions_0x72.html#index_r"><span>r</span></a></li>
-    <li id="current"><a href="functions_0x73.html#index_s"><span>s</span></a></li>
-    <li><a href="functions_0x74.html#index_t"><span>t</span></a></li>
-    <li><a href="functions_0x75.html#index_u"><span>u</span></a></li>
-    <li><a href="functions_0x76.html#index_v"><span>v</span></a></li>
-    <li><a href="functions_0x77.html#index_w"><span>w</span></a></li>
-    <li><a href="functions_0x7e.html#index_~"><span>~</span></a></li>
-  </ul>
-</div>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li class="current"><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow3" class="tabs2">
+    <ul class="tablist">
+      <li class="current"><a href="functions.html"><span>All</span></a></li>
+      <li><a href="functions_func.html"><span>Functions</span></a></li>
+      <li><a href="functions_vars.html"><span>Variables</span></a></li>
+      <li><a href="functions_type.html"><span>Typedefs</span></a></li>
+      <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
+      <li><a href="functions_rela.html"><span>Related Functions</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow4" class="tabs3">
+    <ul class="tablist">
+      <li><a href="functions.html#index_a"><span>a</span></a></li>
+      <li><a href="functions_0x62.html#index_b"><span>b</span></a></li>
+      <li><a href="functions_0x63.html#index_c"><span>c</span></a></li>
+      <li><a href="functions_0x64.html#index_d"><span>d</span></a></li>
+      <li><a href="functions_0x65.html#index_e"><span>e</span></a></li>
+      <li><a href="functions_0x66.html#index_f"><span>f</span></a></li>
+      <li><a href="functions_0x67.html#index_g"><span>g</span></a></li>
+      <li><a href="functions_0x68.html#index_h"><span>h</span></a></li>
+      <li><a href="functions_0x69.html#index_i"><span>i</span></a></li>
+      <li><a href="functions_0x6a.html#index_j"><span>j</span></a></li>
+      <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li>
+      <li><a href="functions_0x6d.html#index_m"><span>m</span></a></li>
+      <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li>
+      <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li>
+      <li><a href="functions_0x70.html#index_p"><span>p</span></a></li>
+      <li><a href="functions_0x71.html#index_q"><span>q</span></a></li>
+      <li><a href="functions_0x72.html#index_r"><span>r</span></a></li>
+      <li class="current"><a href="functions_0x73.html#index_s"><span>s</span></a></li>
+      <li><a href="functions_0x74.html#index_t"><span>t</span></a></li>
+      <li><a href="functions_0x75.html#index_u"><span>u</span></a></li>
+      <li><a href="functions_0x76.html#index_v"><span>v</span></a></li>
+      <li><a href="functions_0x77.html#index_w"><span>w</span></a></li>
+      <li><a href="functions_0x7e.html#index_0x7e"><span>~</span></a></li>
+    </ul>
+  </div>
+</div><!-- top -->
+<div class="contents">
+<div class="textblock">Here is a list of all documented class members with links to the class documentation for each member:</div>
 
-<p>
-Here is a list of all documented class members with links to the class documentation for each member:
-<p>
-<h3><a class="anchor" name="index_s">- s -</a></h3><ul>
+<h3><a class="anchor" id="index_s"></a>- s -</h3><ul>
 <li>scoped_lock()
-: <a class="el" href="a00346.html#42a92d4f8fdde425b111cfa8a9228071">tbb::spin_rw_mutex_v3::scoped_lock</a>, <a class="el" href="a00344.html#5ce6807050a9e8f87bcb4a65dccb12ef">tbb::spin_mutex::scoped_lock</a>, <a class="el" href="a00335.html#dec17713c4c1321ac8fec66816d0c602">tbb::recursive_mutex::scoped_lock</a>, <a class="el" href="a00331.html#cf19f20e082887c1bb0ba6b0911c3583">tbb::interface5::reader_writer_lock::scoped_lock</a>, <a class="el" href="a00329.html#fbb8798792d3aebb136c46fc63d [...]
-: <a class="el" href="a00332.html#87ab0dc8f7216e6ba0f7acd6aec33064">tbb::interface5::reader_writer_lock::scoped_lock_read</a><li>seconds()
-: <a class="el" href="a00363.html#d5d8429c0bc59cf6131b2abc7929fa59">tbb::tick_count::interval_t</a><li>self()
-: <a class="el" href="a00349.html#bd43e8d6249738efafd12d6a4c72c5e3">tbb::task</a><li>sequencer_node()
-: <a class="el" href="a00340.html#b38e7a070552960384bcc1d91af13a5c">tbb::flow::interface6::sequencer_node< T, A ></a><li>set_affinity()
-: <a class="el" href="a00349.html#dca19d7a45487a7d67a0db517e2b57c9">tbb::task</a><li>set_capacity()
-: <a class="el" href="a00280.html#f3c6c934f85fd02aedbc83a16943193b">tbb::concurrent_bounded_queue< T, A ></a><li>set_group_priority()
-: <a class="el" href="a00349.html#9ac8d1542d67d9d80121ff986801ac26">tbb::task</a><li>set_parent()
-: <a class="el" href="a00349.html#d2eaf79fcaa3ae473e3bd3f44bd8a464">tbb::task</a><li>set_priority()
-: <a class="el" href="a00352.html#c4272d4d9ab65d600ca70fc2c8c4b039">tbb::task_group_context</a><li>set_ref_count()
-: <a class="el" href="a00349.html#06a4206a57e8e12a439b14d6d41cfd92">tbb::task</a><li>set_state()
-: <a class="el" href="a00313.html#795649a185b0d6af6dc81c5f378616dd">tbb::mutex</a><li>shrink_to_fit()
-: <a class="el" href="a00288.html#03c6f4cf66532bf4cc907ee738a9a186">tbb::concurrent_vector< T, A ></a><li>size()
-: <a class="el" href="a00293.html#33fd6593da1ed14340f10f67d5a69130">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a>, <a class="el" href="a00288.html#715fe313c4a9c22731cc404dd80c9ec9">tbb::concurrent_vector< T, A ></a>, <a class="el" href="a00280.html#7dc14d1a579a4cccda9f857585e1768d">tbb::concurrent_bounded_queue< T, A ></a>, <a class="el" href="a00285.html#8b2ae25c61338c6fd59e94fe09822ba5">tbb::interface5::concurrent_priority_queue< T,  [...]
-: <a class="el" href="a00280.html#a80e4c11dbb324e4b92a24a77bbcde68">tbb::concurrent_bounded_queue< T, A ></a>, <a class="el" href="a00286.html#8fc30e93f8342a1960357f71e4fe8a2b">tbb::strict_ppl::concurrent_queue< T, A ></a>, <a class="el" href="a00285.html#b679eea8d01d041625a39f719ca2b7ed">tbb::interface5::concurrent_priority_queue< T, Compare, A ></a>, <a class="el" href="a00271.html#f5707bffea38eee5c9680f37358afb8e">tbb::blocked_range< Value ></a><li>source_node()
-: <a class="el" href="a00342.html#adaac111fbcace95804219a5f2929304">tbb::flow::interface6::source_node< Output ></a><li>spawn_and_wait_for_all()
-: <a class="el" href="a00349.html#894ab68378e502776d8220eea7ce9fa1">tbb::task</a><li>spawn_root_and_wait()
-: <a class="el" href="a00349.html#c33c7edbaec67aa8a56f48986a9dc69f">tbb::task</a><li>spin_mutex()
-: <a class="el" href="a00343.html#3d8fb44644fd8d41ada1fbeba7409be3">tbb::spin_mutex</a><li>spin_rw_mutex_v3()
-: <a class="el" href="a00345.html#61332b2756de89f3f5f69310cbb6e70c">tbb::spin_rw_mutex_v3</a><li>state()
-: <a class="el" href="a00349.html#0af7b2d7e6e8b4333b2accfce3dfb374">tbb::task</a><li>state_type
-: <a class="el" href="a00349.html#4a3c415562d17905390ea5b49d12293e">tbb::task</a><li>status()
-: <a class="el" href="a00336.html#78d938ed2e54d38dd38d6609e6c60389">tbb::interface6::runtime_loader</a><li>status_t
-: <a class="el" href="a00330.html#6f921f0d7c1812ceb5674418c8b6ccaf">tbb::interface5::reader_writer_lock</a><li>successor_type
-: <a class="el" href="a00304.html#e8945e4dd6ea759ff9e4735da13f12ef">tbb::flow::interface6::limiter_node< T ></a>, <a class="el" href="a00324.html#09ab5064ca8192e68c03da47603e68eb">tbb::flow::interface6::priority_queue_node< T, Compare, A ></a>, <a class="el" href="a00340.html#795f3ee75f133b9d3b159172fc4a197f">tbb::flow::interface6::sequencer_node< T, A ></a>, <a class="el" href="a00325.html#f35076a19f256f9e7a61bed77ca1ccc5">tbb::flow::interface6::queue_node< T, A &gt [...]
-: <a class="el" href="a00288.html#96c9c4bd968ed3edb8dd276854d2dae0">tbb::concurrent_vector< T, A ></a>, <a class="el" href="a00285.html#0ecdc6a04aa259374425d424ca2a6082">tbb::interface5::concurrent_priority_queue< T, Compare, A ></a>, <a class="el" href="a00281.html#076f8d9e16110aac5f558777aa744eb6">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a></ul>
+: <a class="el" href="a00116.html#a23122745ccd5fc2498fcbbd5ced09e06">tbb::mutex::scoped_lock</a>
+, <a class="el" href="a00121.html#aa82d9da0dcfe5b21f1c08473f8223105">tbb::queuing_mutex::scoped_lock</a>
+, <a class="el" href="a00120.html#a0a9962a3932cfbd0d12cb197494f951b">tbb::recursive_mutex::scoped_lock</a>
+, <a class="el" href="a00119.html#a1ae3792726dcff8da1f2c5366fb2b754">tbb::queuing_rw_mutex::scoped_lock</a>
+, <a class="el" href="a00113.html#a4287be975cf2448c95f068b065c45107">tbb::spin_mutex::scoped_lock</a>
+, <a class="el" href="a00121.html#a0afe0107eb0aae613e726f67624d2fca">tbb::queuing_mutex::scoped_lock</a>
+, <a class="el" href="a00119.html#af1b55ca1839c9c7c2cd779cd2dd9c474">tbb::queuing_rw_mutex::scoped_lock</a>
+, <a class="el" href="a00114.html#a285b355121772c874a7ecaaf4d347224">tbb::spin_rw_mutex_v3::scoped_lock</a>
+, <a class="el" href="a00118.html#aaed982d8c3f1e84298f9842063694f3c">tbb::interface5::reader_writer_lock::scoped_lock</a>
+</li>
+<li>scoped_lock_read()
+: <a class="el" href="a00123.html#a9d3120a23016dabd4cc2683fa561ee5a">tbb::interface5::reader_writer_lock::scoped_lock_read</a>
+</li>
+<li>seconds()
+: <a class="el" href="a00066.html#abe81446bbbb6b6e98d854b91acf47809">tbb::tick_count::interval_t</a>
+</li>
+<li>sequencer_node()
+: <a class="el" href="a00125.html#a0e8d3d486edc7f70c81b36ce9421c11a">tbb::flow::interface7::sequencer_node< T, A ></a>
+</li>
+<li>set_capacity()
+: <a class="el" href="a00034.html#a768699675813575eec08c1f43afda395">tbb::concurrent_bounded_queue< T, A ></a>
+</li>
+<li>set_state()
+: <a class="el" href="a00081.html#a0857c4596d7d5de09fe402ccd41d3e42">tbb::mutex</a>
+</li>
+<li>shrink_to_fit()
+: <a class="el" href="a00046.html#aba805b5225ad3399550f78ea15e51e93">tbb::concurrent_vector< T, A ></a>
+</li>
+<li>size()
+: <a class="el" href="a00021.html#a347ef8caa40edca3b7f475f182281140">tbb::blocked_range< Value ></a>
+, <a class="el" href="a00035.html#ad2ce6da7cd62bc7425f0a29498332ab4">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a>
+, <a class="el" href="a00037.html#a7d86ba200474b51ec99a6b917429c6bb">tbb::interface5::concurrent_priority_queue< T, Compare, A ></a>
+, <a class="el" href="a00034.html#a9d6c20fd8c193c12b6a7b0c3101fd966">tbb::concurrent_bounded_queue< T, A ></a>
+, <a class="el" href="a00046.html#a803268c16e3688ff4681251947d257c7">tbb::concurrent_vector< T, A ></a>
+, <a class="el" href="a00052.html#a4c33c5390783e17daf2b25d53ae919fb">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a>
+</li>
+<li>size_type
+: <a class="el" href="a00057.html#a8b84f8f2cc4499f49d17141eaedc99c0">tbb::interface6::flattened2d< Container ></a>
+, <a class="el" href="a00021.html#a89b300cecd9d617e4ee801c786756e55">tbb::blocked_range< Value ></a>
+, <a class="el" href="a00037.html#a7d3da9b47ec58e1c09e3550f702edcfc">tbb::interface5::concurrent_priority_queue< T, Compare, A ></a>
+, <a class="el" href="a00038.html#a9f883e49afea16293ba92da779981bb8">tbb::strict_ppl::concurrent_queue< T, A ></a>
+, <a class="el" href="a00034.html#ae73fa352d781bdb9d01bfb77f2a8bc28">tbb::concurrent_bounded_queue< T, A ></a>
+</li>
+<li>source_node()
+: <a class="el" href="a00126.html#a5730a4677f5bfdf6ff6e45e31a249d37">tbb::flow::interface7::source_node< Output ></a>
+</li>
+<li>spin_mutex()
+: <a class="el" href="a00127.html#a6c96196965bf7df426311d282ad3c378">tbb::spin_mutex</a>
+</li>
+<li>spin_rw_mutex_v3()
+: <a class="el" href="a00128.html#ad30fc1ffa0a2b8134e177e02c5821d7f">tbb::spin_rw_mutex_v3</a>
+</li>
+<li>start()
+: <a class="el" href="a00013.html#adc0e032aa604f1da85ffc7ec269b157f">tbb::interface6::aggregator_operation</a>
+</li>
+<li>start_routine()
+: <a class="el" href="a00153.html#a29003179f98d768622c72b9ab5cfe8f6">tbb::internal::thread_closure_2< F, X, Y ></a>
+, <a class="el" href="a00152.html#a33d533b3301c45708c6252d040f855a6">tbb::internal::thread_closure_1< F, X ></a>
+</li>
+<li>state
+: <a class="el" href="a00128.html#aa28625051072472ccd8a2b19405d6fb3">tbb::spin_rw_mutex_v3</a>
+</li>
+<li>status()
+: <a class="el" href="a00110.html#a85bf9ee021a2076a3ac7cfd70aae7345">tbb::interface6::runtime_loader</a>
+</li>
+<li>status_t
+: <a class="el" href="a00095.html#a29bbf9ca21c12b313d9fa5326feaf3ed">tbb::interface5::reader_writer_lock</a>
+</li>
+<li>successor_type
+: <a class="el" href="a00126.html#ae354d135ba9aceb6ca41464fff027666">tbb::flow::interface7::source_node< Output ></a>
+, <a class="el" href="a00124.html#a7779627063a29d4d2a1fc905a5cae8db">tbb::flow::interface7::sender< T ></a>
+</li>
+<li>swap()
+: <a class="el" href="a00035.html#a4c8edf603bc776a6c84c007702c1808e">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a>
+, <a class="el" href="a00046.html#a8603bd57324fb6b60ba006884c95279d">tbb::concurrent_vector< T, A ></a>
+, <a class="el" href="a00037.html#aa6ee6d356e538b67a7cb4e242e6e36c9">tbb::interface5::concurrent_priority_queue< T, Compare, A ></a>
+</li>
+</ul>
+</div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/functions_0x74.html b/doc/html/functions_0x74.html
index f866e03..b677819 100644
--- a/doc/html/functions_0x74.html
+++ b/doc/html/functions_0x74.html
@@ -1,91 +1,171 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
 <title>Class Members</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
-  <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li id="current"><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li id="current"><a href="functions.html"><span>All</span></a></li>
-    <li><a href="functions_func.html"><span>Functions</span></a></li>
-    <li><a href="functions_vars.html"><span>Variables</span></a></li>
-    <li><a href="functions_type.html"><span>Typedefs</span></a></li>
-    <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
-    <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
-    <li><a href="functions_rela.html"><span>Related Functions</span></a></li>
-  </ul>
-</div>
-<div class="tabs">
-  <ul>
-    <li><a href="functions.html#index__"><span>_</span></a></li>
-    <li><a href="functions_0x61.html#index_a"><span>a</span></a></li>
-    <li><a href="functions_0x62.html#index_b"><span>b</span></a></li>
-    <li><a href="functions_0x63.html#index_c"><span>c</span></a></li>
-    <li><a href="functions_0x64.html#index_d"><span>d</span></a></li>
-    <li><a href="functions_0x65.html#index_e"><span>e</span></a></li>
-    <li><a href="functions_0x66.html#index_f"><span>f</span></a></li>
-    <li><a href="functions_0x67.html#index_g"><span>g</span></a></li>
-    <li><a href="functions_0x69.html#index_i"><span>i</span></a></li>
-    <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li>
-    <li><a href="functions_0x6d.html#index_m"><span>m</span></a></li>
-    <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li>
-    <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li>
-    <li><a href="functions_0x70.html#index_p"><span>p</span></a></li>
-    <li><a href="functions_0x71.html#index_q"><span>q</span></a></li>
-    <li><a href="functions_0x72.html#index_r"><span>r</span></a></li>
-    <li><a href="functions_0x73.html#index_s"><span>s</span></a></li>
-    <li id="current"><a href="functions_0x74.html#index_t"><span>t</span></a></li>
-    <li><a href="functions_0x75.html#index_u"><span>u</span></a></li>
-    <li><a href="functions_0x76.html#index_v"><span>v</span></a></li>
-    <li><a href="functions_0x77.html#index_w"><span>w</span></a></li>
-    <li><a href="functions_0x7e.html#index_~"><span>~</span></a></li>
-  </ul>
-</div>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li class="current"><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow3" class="tabs2">
+    <ul class="tablist">
+      <li class="current"><a href="functions.html"><span>All</span></a></li>
+      <li><a href="functions_func.html"><span>Functions</span></a></li>
+      <li><a href="functions_vars.html"><span>Variables</span></a></li>
+      <li><a href="functions_type.html"><span>Typedefs</span></a></li>
+      <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
+      <li><a href="functions_rela.html"><span>Related Functions</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow4" class="tabs3">
+    <ul class="tablist">
+      <li><a href="functions.html#index_a"><span>a</span></a></li>
+      <li><a href="functions_0x62.html#index_b"><span>b</span></a></li>
+      <li><a href="functions_0x63.html#index_c"><span>c</span></a></li>
+      <li><a href="functions_0x64.html#index_d"><span>d</span></a></li>
+      <li><a href="functions_0x65.html#index_e"><span>e</span></a></li>
+      <li><a href="functions_0x66.html#index_f"><span>f</span></a></li>
+      <li><a href="functions_0x67.html#index_g"><span>g</span></a></li>
+      <li><a href="functions_0x68.html#index_h"><span>h</span></a></li>
+      <li><a href="functions_0x69.html#index_i"><span>i</span></a></li>
+      <li><a href="functions_0x6a.html#index_j"><span>j</span></a></li>
+      <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li>
+      <li><a href="functions_0x6d.html#index_m"><span>m</span></a></li>
+      <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li>
+      <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li>
+      <li><a href="functions_0x70.html#index_p"><span>p</span></a></li>
+      <li><a href="functions_0x71.html#index_q"><span>q</span></a></li>
+      <li><a href="functions_0x72.html#index_r"><span>r</span></a></li>
+      <li><a href="functions_0x73.html#index_s"><span>s</span></a></li>
+      <li class="current"><a href="functions_0x74.html#index_t"><span>t</span></a></li>
+      <li><a href="functions_0x75.html#index_u"><span>u</span></a></li>
+      <li><a href="functions_0x76.html#index_v"><span>v</span></a></li>
+      <li><a href="functions_0x77.html#index_w"><span>w</span></a></li>
+      <li><a href="functions_0x7e.html#index_0x7e"><span>~</span></a></li>
+    </ul>
+  </div>
+</div><!-- top -->
+<div class="contents">
+<div class="textblock">Here is a list of all documented class members with links to the class documentation for each member:</div>
 
-<p>
-Here is a list of all documented class members with links to the class documentation for each member:
-<p>
-<h3><a class="anchor" name="index_t">- t -</a></h3><ul>
-<li>task()
-: <a class="el" href="a00349.html#2bce8ec6e44706e70128f5cf91b76e67">tbb::task</a><li>task_arena()
-: <a class="el" href="a00350.html#27ac2706e3f2a989487ba7944b07cb94">tbb::interface6::task_arena</a><li>task_group_context()
-: <a class="el" href="a00352.html#19fee08fb8ac98adccfe69c1aa63c491">tbb::task_group_context</a><li>task_list()
-: <a class="el" href="a00354.html#416341c2047eaef50417b41eaf7e9de6">tbb::task_list</a><li>task_scheduler_init()
-: <a class="el" href="a00355.html#5dbd23c83603b3b09dffa7982112cc95">tbb::task_scheduler_init</a><li>terminate()
-: <a class="el" href="a00355.html#f73257e04cb7fb9bd5be2b635d9016f1">tbb::task_scheduler_init</a>, <a class="el" href="a00350.html#ee3f3f736da03bfe8b82acfa822624a6">tbb::interface6::task_arena</a><li>throw_self()
-: <a class="el" href="a00359.html#292832fd5c523e3d8081a22247840a1d">tbb::internal::tbb_exception_ptr</a>, <a class="el" href="a00311.html#17cffba35811c92b7e65d63506b69602">tbb::movable_exception< ExceptionData ></a>, <a class="el" href="a00278.html#2dd1be66ab32fa27e0ddef5707fa67ef">tbb::captured_exception</a>, <a class="el" href="a00358.html#8588e07fa49692f4d734e4f2e4f048f4">tbb::tbb_exception</a><li>tick_count()
-: <a class="el" href="a00362.html#34593326ae4191e02a13c7cbdab9de4c">tbb::tick_count</a><li>try_acquire()
-: <a class="el" href="a00346.html#9879626968d9b9a04cd2ec0fb2e84ae1">tbb::spin_rw_mutex_v3::scoped_lock</a>, <a class="el" href="a00344.html#9297ec188534b45dc0ca48f2f39a0501">tbb::spin_mutex::scoped_lock</a>, <a class="el" href="a00335.html#36bfc3e93e3ef6340abef4901444d340">tbb::recursive_mutex::scoped_lock</a>, <a class="el" href="a00329.html#2e4ff6c9ec2fee6682f95290d1f42baa">tbb::queuing_rw_mutex::scoped_lock</a>, <a class="el" href="a00327.html#e5a014fb817599386a87170cf2cf51a9">tbb::qu [...]
-: <a class="el" href="a00275.html#8ef07c434eb763d947a7b4e80c086a49">tbb::flow::interface6::buffer_node< T, A ></a>, <a class="el" href="a00342.html#2c7fcc29e2894b29138be3c1edce9bc9">tbb::flow::interface6::source_node< Output ></a>, <a class="el" href="a00339.html#7b840f50da117a0d6848707c1857ea2e">tbb::flow::interface6::sender< T ></a><li>try_get()
-: <a class="el" href="a00275.html#aeb8aec46ca99ca022356a792c46735e">tbb::flow::interface6::buffer_node< T, A ></a>, <a class="el" href="a00342.html#41073ad4d3510ed5a8b6bda9c0f58636">tbb::flow::interface6::source_node< Output ></a>, <a class="el" href="a00339.html#922fb56b0aad090b90a98b7d56b76a59">tbb::flow::interface6::sender< T ></a><li>try_lock()
-: <a class="el" href="a00345.html#088bb256be794cc47d3b83791632fdfc">tbb::spin_rw_mutex_v3</a>, <a class="el" href="a00343.html#8f9a58fb56a2b4c5efe1a7f7c1ae2074">tbb::spin_mutex</a>, <a class="el" href="a00334.html#86e719b0afee25704af11ab97694d240">tbb::recursive_mutex</a>, <a class="el" href="a00330.html#721eb173e154ab38292273e9266a9b07">tbb::interface5::reader_writer_lock</a>, <a class="el" href="a00313.html#4331652c79dea1c1131bd59ab161b234">tbb::mutex</a><li>try_lock_read()
-: <a class="el" href="a00345.html#b8667415869013f840d976aa406d385a">tbb::spin_rw_mutex_v3</a>, <a class="el" href="a00330.html#595fb23952e3b89426b1f7938dea9b11">tbb::interface5::reader_writer_lock</a><li>try_pop()
-: <a class="el" href="a00280.html#0ca487019bbb00a196442aff78a1e4f7">tbb::concurrent_bounded_queue< T, A ></a>, <a class="el" href="a00286.html#ae31ca0db34ef96ef1e74aa0d28c95f8">tbb::strict_ppl::concurrent_queue< T, A ></a>, <a class="el" href="a00285.html#e036461a29cc40902a2bb79abf9f5146">tbb::interface5::concurrent_priority_queue< T, Compare, A ></a><li>try_process_item()
-: <a class="el" href="a00361.html#c4f90f2c771bce748beb9be734fa286c">tbb::thread_bound_filter</a><li>try_push()
-: <a class="el" href="a00280.html#2bd6232531279fb3ccbd296bea23066b">tbb::concurrent_bounded_queue< T, A ></a><li>try_put()
-: <a class="el" href="a00333.html#e1adb4060a7cbac837cd24da57c5a846">tbb::flow::interface6::receiver< T ></a><li>try_put_task()
-: <a class="el" href="a00304.html#ca2ff9f3379b8b5a3de2ababbca4a476">tbb::flow::interface6::limiter_node< T ></a>, <a class="el" href="a00275.html#84d939049fa8c3205aec91ced0980e03">tbb::flow::interface6::buffer_node< T, A ></a>, <a class="el" href="a00274.html#b4804d99e0fb0576f1061ab7269e5939">tbb::flow::interface6::broadcast_node< T ></a><li>try_release()
-: <a class="el" href="a00275.html#2c8e8f2f5f4ff5be27136cc1184a3c3e">tbb::flow::interface6::buffer_node< T, A ></a>, <a class="el" href="a00342.html#494678baf9096835268736b800824460">tbb::flow::interface6::source_node< Output ></a>, <a class="el" href="a00339.html#27036b06d6a91e97007e14f400529199">tbb::flow::interface6::sender< T ></a><li>try_reserve()
-: <a class="el" href="a00275.html#1cc889bb6c38bcb81757d0ebbc3a5e64">tbb::flow::interface6::buffer_node< T, A ></a>, <a class="el" href="a00342.html#ad459713ff3c1c9ad0f4826daa141f65">tbb::flow::interface6::source_node< Output ></a>, <a class="el" href="a00339.html#02c05b472271db1b68a48ea2618fa72f">tbb::flow::interface6::sender< T ></a></ul>
+<h3><a class="anchor" id="index_t"></a>- t -</h3><ul>
+<li>task_arena()
+: <a class="el" href="a00135.html#a6035737ce1a8db376d06880dae9d0c40">tbb::interface7::task_arena</a>
+</li>
+<li>task_scheduler_observer()
+: <a class="el" href="a00142.html#a36e7e0c466320029d5a3e50a573e04c1">tbb::interface6::task_scheduler_observer</a>
+</li>
+<li>task_scheduler_observer_v3()
+: <a class="el" href="a00143.html#a25bffb05efaaab36bc58590969e29745">tbb::internal::task_scheduler_observer_v3</a>
+</li>
+<li>tbb_thread_v3()
+: <a class="el" href="a00149.html#a672a5367e687635c869926bf8a986296">tbb::internal::tbb_thread_v3</a>
+</li>
+<li>terminate()
+: <a class="el" href="a00135.html#aecb3eedeacfe8469a91c17525dae7fc9">tbb::interface7::task_arena</a>
+, <a class="el" href="a00141.html#a15d5dca7f79c5769bb96f674e4da0c04">tbb::task_scheduler_init</a>
+</li>
+<li>thread_stack_size
+: <a class="el" href="a00141.html#a8310e807e1199d0f23b3a57aeb4fde51">tbb::task_scheduler_init</a>
+</li>
+<li>throw_self()
+: <a class="el" href="a00147.html#a1713aa9a6a3850049d34358397a8ed81">tbb::internal::tbb_exception_ptr</a>
+, <a class="el" href="a00146.html#ae45c08d36c7ec7ae91785da3515a8828">tbb::tbb_exception</a>
+, <a class="el" href="a00031.html#ac9ae925678fcc0cc02a74df7d06b8d63">tbb::captured_exception</a>
+, <a class="el" href="a00078.html#a3d1570b53220fbcb45eb81552b57827a">tbb::movable_exception< ExceptionData ></a>
+</li>
+<li>tick_count()
+: <a class="el" href="a00155.html#a9f1daa0b7a4feb800f802b4be1f1e497">tbb::tick_count</a>
+</li>
+<li>try_acquire()
+: <a class="el" href="a00116.html#a46f983371aa852d2427ce69f9a571f78">tbb::mutex::scoped_lock</a>
+, <a class="el" href="a00121.html#ab4800ba9e743cd91f152036a6689b0e9">tbb::queuing_mutex::scoped_lock</a>
+, <a class="el" href="a00119.html#a4843d40dddc37c1aa3444e27d35d2433">tbb::queuing_rw_mutex::scoped_lock</a>
+, <a class="el" href="a00120.html#a160bba506f4033980ddb69ab7a02c4fb">tbb::recursive_mutex::scoped_lock</a>
+, <a class="el" href="a00113.html#a76acbd67c74906f6ea33a1de6fd443ce">tbb::spin_mutex::scoped_lock</a>
+, <a class="el" href="a00114.html#abf17ada91882fd70f139c503c0220f16">tbb::spin_rw_mutex_v3::scoped_lock</a>
+</li>
+<li>try_consume()
+: <a class="el" href="a00124.html#ad404d5218c7ae2556261ffa880cdf804">tbb::flow::interface7::sender< T ></a>
+, <a class="el" href="a00126.html#ad38a58c2f8f74f4c5cf72a2625ac26bf">tbb::flow::interface7::source_node< Output ></a>
+, <a class="el" href="a00027.html#a335072bc547c5e9b40f58dfeab525953">tbb::flow::interface7::buffer_node< T, A ></a>
+</li>
+<li>try_get()
+: <a class="el" href="a00124.html#ad50b8ac93e79cbdcd2bba11d35432f2c">tbb::flow::interface7::sender< T ></a>
+, <a class="el" href="a00126.html#a038c6b2b406d496244617a2d6dc01581">tbb::flow::interface7::source_node< Output ></a>
+, <a class="el" href="a00086.html#a575642eb611ca4e2012df5604634d341">tbb::flow::interface7::overwrite_node< T ></a>
+, <a class="el" href="a00027.html#a175cb77dfbdd0e322097a833a2271c1e">tbb::flow::interface7::buffer_node< T, A ></a>
+</li>
+<li>try_lock()
+: <a class="el" href="a00081.html#a480283933106941125717499f9c5ad42">tbb::mutex</a>
+, <a class="el" href="a00095.html#a1739e842af52925a2d4a7e821b9b3b8d">tbb::interface5::reader_writer_lock</a>
+, <a class="el" href="a00107.html#a8b181d9aaa95444145222cfe206e8094">tbb::recursive_mutex</a>
+, <a class="el" href="a00127.html#a003ffb196d22bf22ca22142338b7eeab">tbb::spin_mutex</a>
+, <a class="el" href="a00128.html#ab6ec20b1ec43a49c8c2908984e35b5e8">tbb::spin_rw_mutex_v3</a>
+</li>
+<li>try_lock_read()
+: <a class="el" href="a00128.html#ac932f65b0b66320688e7957ce9c3e2c1">tbb::spin_rw_mutex_v3</a>
+, <a class="el" href="a00095.html#a9c7aa04e00202c9a1197cb6d870cabb4">tbb::interface5::reader_writer_lock</a>
+</li>
+<li>try_pop()
+: <a class="el" href="a00037.html#a954177b09e184cf3db47f1b180a7ef5e">tbb::interface5::concurrent_priority_queue< T, Compare, A ></a>
+, <a class="el" href="a00034.html#a3086cb4dcdeee245ef5cf34f72fb3e10">tbb::concurrent_bounded_queue< T, A ></a>
+, <a class="el" href="a00038.html#aabb1acef18196fa11ed7db8e046c3943">tbb::strict_ppl::concurrent_queue< T, A ></a>
+</li>
+<li>try_process_item()
+: <a class="el" href="a00150.html#a12cfa43c620066a8783529cc8519c6f9">tbb::thread_bound_filter</a>
+</li>
+<li>try_push()
+: <a class="el" href="a00034.html#a03d93a240841a21788396bebd71c51bd">tbb::concurrent_bounded_queue< T, A ></a>
+</li>
+<li>try_put()
+: <a class="el" href="a00106.html#aee5067bb4f4b71ffa786c1b33cb9aa6a">tbb::flow::interface7::receiver< T ></a>
+</li>
+<li>try_put_task()
+: <a class="el" href="a00025.html#a07d030b43c6e2d9169a7e58db30a547b">tbb::flow::interface7::broadcast_node< T ></a>
+, <a class="el" href="a00072.html#a0551cf104b35669b5f5153c1d03d5d2d">tbb::flow::interface7::limiter_node< T ></a>
+, <a class="el" href="a00027.html#aa4517c0a58649ea5eb140ab4b786e1ec">tbb::flow::interface7::buffer_node< T, A ></a>
+</li>
+<li>try_release()
+: <a class="el" href="a00124.html#a97ac316ddfb6bd7c7f2f56e3e819a30a">tbb::flow::interface7::sender< T ></a>
+, <a class="el" href="a00027.html#aaa3745fd4705345df16fb33954d93e30">tbb::flow::interface7::buffer_node< T, A ></a>
+, <a class="el" href="a00126.html#a309c65a2d0208a1072f7e852198d461d">tbb::flow::interface7::source_node< Output ></a>
+</li>
+<li>try_reserve()
+: <a class="el" href="a00027.html#a3b12cdebf8cef15b90e3c9cd9e51019f">tbb::flow::interface7::buffer_node< T, A ></a>
+, <a class="el" href="a00124.html#aa1b9dcf77ab558530ff93a706b4c4b5d">tbb::flow::interface7::sender< T ></a>
+, <a class="el" href="a00126.html#aabb0d505d684d173b1a2c976bf0781a6">tbb::flow::interface7::source_node< Output ></a>
+</li>
+</ul>
+</div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/functions_0x75.html b/doc/html/functions_0x75.html
index 21f2dc2..e48ab91 100644
--- a/doc/html/functions_0x75.html
+++ b/doc/html/functions_0x75.html
@@ -1,74 +1,98 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
 <title>Class Members</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
-  <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li id="current"><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li id="current"><a href="functions.html"><span>All</span></a></li>
-    <li><a href="functions_func.html"><span>Functions</span></a></li>
-    <li><a href="functions_vars.html"><span>Variables</span></a></li>
-    <li><a href="functions_type.html"><span>Typedefs</span></a></li>
-    <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
-    <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
-    <li><a href="functions_rela.html"><span>Related Functions</span></a></li>
-  </ul>
-</div>
-<div class="tabs">
-  <ul>
-    <li><a href="functions.html#index__"><span>_</span></a></li>
-    <li><a href="functions_0x61.html#index_a"><span>a</span></a></li>
-    <li><a href="functions_0x62.html#index_b"><span>b</span></a></li>
-    <li><a href="functions_0x63.html#index_c"><span>c</span></a></li>
-    <li><a href="functions_0x64.html#index_d"><span>d</span></a></li>
-    <li><a href="functions_0x65.html#index_e"><span>e</span></a></li>
-    <li><a href="functions_0x66.html#index_f"><span>f</span></a></li>
-    <li><a href="functions_0x67.html#index_g"><span>g</span></a></li>
-    <li><a href="functions_0x69.html#index_i"><span>i</span></a></li>
-    <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li>
-    <li><a href="functions_0x6d.html#index_m"><span>m</span></a></li>
-    <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li>
-    <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li>
-    <li><a href="functions_0x70.html#index_p"><span>p</span></a></li>
-    <li><a href="functions_0x71.html#index_q"><span>q</span></a></li>
-    <li><a href="functions_0x72.html#index_r"><span>r</span></a></li>
-    <li><a href="functions_0x73.html#index_s"><span>s</span></a></li>
-    <li><a href="functions_0x74.html#index_t"><span>t</span></a></li>
-    <li id="current"><a href="functions_0x75.html#index_u"><span>u</span></a></li>
-    <li><a href="functions_0x76.html#index_v"><span>v</span></a></li>
-    <li><a href="functions_0x77.html#index_w"><span>w</span></a></li>
-    <li><a href="functions_0x7e.html#index_~"><span>~</span></a></li>
-  </ul>
-</div>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li class="current"><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow3" class="tabs2">
+    <ul class="tablist">
+      <li class="current"><a href="functions.html"><span>All</span></a></li>
+      <li><a href="functions_func.html"><span>Functions</span></a></li>
+      <li><a href="functions_vars.html"><span>Variables</span></a></li>
+      <li><a href="functions_type.html"><span>Typedefs</span></a></li>
+      <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
+      <li><a href="functions_rela.html"><span>Related Functions</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow4" class="tabs3">
+    <ul class="tablist">
+      <li><a href="functions.html#index_a"><span>a</span></a></li>
+      <li><a href="functions_0x62.html#index_b"><span>b</span></a></li>
+      <li><a href="functions_0x63.html#index_c"><span>c</span></a></li>
+      <li><a href="functions_0x64.html#index_d"><span>d</span></a></li>
+      <li><a href="functions_0x65.html#index_e"><span>e</span></a></li>
+      <li><a href="functions_0x66.html#index_f"><span>f</span></a></li>
+      <li><a href="functions_0x67.html#index_g"><span>g</span></a></li>
+      <li><a href="functions_0x68.html#index_h"><span>h</span></a></li>
+      <li><a href="functions_0x69.html#index_i"><span>i</span></a></li>
+      <li><a href="functions_0x6a.html#index_j"><span>j</span></a></li>
+      <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li>
+      <li><a href="functions_0x6d.html#index_m"><span>m</span></a></li>
+      <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li>
+      <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li>
+      <li><a href="functions_0x70.html#index_p"><span>p</span></a></li>
+      <li><a href="functions_0x71.html#index_q"><span>q</span></a></li>
+      <li><a href="functions_0x72.html#index_r"><span>r</span></a></li>
+      <li><a href="functions_0x73.html#index_s"><span>s</span></a></li>
+      <li><a href="functions_0x74.html#index_t"><span>t</span></a></li>
+      <li class="current"><a href="functions_0x75.html#index_u"><span>u</span></a></li>
+      <li><a href="functions_0x76.html#index_v"><span>v</span></a></li>
+      <li><a href="functions_0x77.html#index_w"><span>w</span></a></li>
+      <li><a href="functions_0x7e.html#index_0x7e"><span>~</span></a></li>
+    </ul>
+  </div>
+</div><!-- top -->
+<div class="contents">
+<div class="textblock">Here is a list of all documented class members with links to the class documentation for each member:</div>
 
-<p>
-Here is a list of all documented class members with links to the class documentation for each member:
-<p>
-<h3><a class="anchor" name="index_u">- u -</a></h3><ul>
+<h3><a class="anchor" id="index_u"></a>- u -</h3><ul>
 <li>unlock()
-: <a class="el" href="a00345.html#f9f52ead2098eb5fb12da59d5ae53b55">tbb::spin_rw_mutex_v3</a>, <a class="el" href="a00343.html#0e843ee6265f57f27d228ba91e7308ef">tbb::spin_mutex</a>, <a class="el" href="a00334.html#f0a96e26b7f074588dc31e32524856ae">tbb::recursive_mutex</a>, <a class="el" href="a00330.html#5113b32689305599b2c36b5831547704">tbb::interface5::reader_writer_lock</a>, <a class="el" href="a00313.html#5fc9ef443ae75d966695546be399cc6b">tbb::mutex</a><li>unsafe_size()
-: <a class="el" href="a00286.html#eaa35a5274606779802e9a669a706260">tbb::strict_ppl::concurrent_queue< T, A ></a><li>upgrade_to_writer()
-: <a class="el" href="a00346.html#3f0b1e3f2efab63336400348bd070226">tbb::spin_rw_mutex_v3::scoped_lock</a>, <a class="el" href="a00329.html#11ba1da4a722c9e6f73339a52c487e82">tbb::queuing_rw_mutex::scoped_lock</a></ul>
+: <a class="el" href="a00081.html#a721eeae7ba16f8b92535f4534b583874">tbb::mutex</a>
+, <a class="el" href="a00095.html#a4c55c4dbde63e950fdc843c9b01a174f">tbb::interface5::reader_writer_lock</a>
+, <a class="el" href="a00127.html#adfcf8fe840aa73c08c2cadd570fd48fd">tbb::spin_mutex</a>
+, <a class="el" href="a00128.html#ab04321ed2cdf12ac5825c54591028fc0">tbb::spin_rw_mutex_v3</a>
+, <a class="el" href="a00107.html#af57e8d25e0e7614e98bcfa50bc9416c8">tbb::recursive_mutex</a>
+</li>
+<li>unsafe_size()
+: <a class="el" href="a00038.html#aad4b253ba595637b0b146eb6565556f2">tbb::strict_ppl::concurrent_queue< T, A ></a>
+</li>
+<li>upgrade_to_writer()
+: <a class="el" href="a00119.html#ae0f28ecfbbc5f8b3024cd47048b72b5b">tbb::queuing_rw_mutex::scoped_lock</a>
+, <a class="el" href="a00114.html#afbe5de57eadc457518df7a1bb0d30c00">tbb::spin_rw_mutex_v3::scoped_lock</a>
+</li>
+</ul>
+</div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/functions_0x76.html b/doc/html/functions_0x76.html
index a5812d2..55906fa 100644
--- a/doc/html/functions_0x76.html
+++ b/doc/html/functions_0x76.html
@@ -1,72 +1,92 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
 <title>Class Members</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
-  <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li id="current"><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li id="current"><a href="functions.html"><span>All</span></a></li>
-    <li><a href="functions_func.html"><span>Functions</span></a></li>
-    <li><a href="functions_vars.html"><span>Variables</span></a></li>
-    <li><a href="functions_type.html"><span>Typedefs</span></a></li>
-    <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
-    <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
-    <li><a href="functions_rela.html"><span>Related Functions</span></a></li>
-  </ul>
-</div>
-<div class="tabs">
-  <ul>
-    <li><a href="functions.html#index__"><span>_</span></a></li>
-    <li><a href="functions_0x61.html#index_a"><span>a</span></a></li>
-    <li><a href="functions_0x62.html#index_b"><span>b</span></a></li>
-    <li><a href="functions_0x63.html#index_c"><span>c</span></a></li>
-    <li><a href="functions_0x64.html#index_d"><span>d</span></a></li>
-    <li><a href="functions_0x65.html#index_e"><span>e</span></a></li>
-    <li><a href="functions_0x66.html#index_f"><span>f</span></a></li>
-    <li><a href="functions_0x67.html#index_g"><span>g</span></a></li>
-    <li><a href="functions_0x69.html#index_i"><span>i</span></a></li>
-    <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li>
-    <li><a href="functions_0x6d.html#index_m"><span>m</span></a></li>
-    <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li>
-    <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li>
-    <li><a href="functions_0x70.html#index_p"><span>p</span></a></li>
-    <li><a href="functions_0x71.html#index_q"><span>q</span></a></li>
-    <li><a href="functions_0x72.html#index_r"><span>r</span></a></li>
-    <li><a href="functions_0x73.html#index_s"><span>s</span></a></li>
-    <li><a href="functions_0x74.html#index_t"><span>t</span></a></li>
-    <li><a href="functions_0x75.html#index_u"><span>u</span></a></li>
-    <li id="current"><a href="functions_0x76.html#index_v"><span>v</span></a></li>
-    <li><a href="functions_0x77.html#index_w"><span>w</span></a></li>
-    <li><a href="functions_0x7e.html#index_~"><span>~</span></a></li>
-  </ul>
-</div>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li class="current"><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow3" class="tabs2">
+    <ul class="tablist">
+      <li class="current"><a href="functions.html"><span>All</span></a></li>
+      <li><a href="functions_func.html"><span>Functions</span></a></li>
+      <li><a href="functions_vars.html"><span>Variables</span></a></li>
+      <li><a href="functions_type.html"><span>Typedefs</span></a></li>
+      <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
+      <li><a href="functions_rela.html"><span>Related Functions</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow4" class="tabs3">
+    <ul class="tablist">
+      <li><a href="functions.html#index_a"><span>a</span></a></li>
+      <li><a href="functions_0x62.html#index_b"><span>b</span></a></li>
+      <li><a href="functions_0x63.html#index_c"><span>c</span></a></li>
+      <li><a href="functions_0x64.html#index_d"><span>d</span></a></li>
+      <li><a href="functions_0x65.html#index_e"><span>e</span></a></li>
+      <li><a href="functions_0x66.html#index_f"><span>f</span></a></li>
+      <li><a href="functions_0x67.html#index_g"><span>g</span></a></li>
+      <li><a href="functions_0x68.html#index_h"><span>h</span></a></li>
+      <li><a href="functions_0x69.html#index_i"><span>i</span></a></li>
+      <li><a href="functions_0x6a.html#index_j"><span>j</span></a></li>
+      <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li>
+      <li><a href="functions_0x6d.html#index_m"><span>m</span></a></li>
+      <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li>
+      <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li>
+      <li><a href="functions_0x70.html#index_p"><span>p</span></a></li>
+      <li><a href="functions_0x71.html#index_q"><span>q</span></a></li>
+      <li><a href="functions_0x72.html#index_r"><span>r</span></a></li>
+      <li><a href="functions_0x73.html#index_s"><span>s</span></a></li>
+      <li><a href="functions_0x74.html#index_t"><span>t</span></a></li>
+      <li><a href="functions_0x75.html#index_u"><span>u</span></a></li>
+      <li class="current"><a href="functions_0x76.html#index_v"><span>v</span></a></li>
+      <li><a href="functions_0x77.html#index_w"><span>w</span></a></li>
+      <li><a href="functions_0x7e.html#index_0x7e"><span>~</span></a></li>
+    </ul>
+  </div>
+</div><!-- top -->
+<div class="contents">
+<div class="textblock">Here is a list of all documented class members with links to the class documentation for each member:</div>
 
-<p>
-Here is a list of all documented class members with links to the class documentation for each member:
-<p>
-<h3><a class="anchor" name="index_v">- v -</a></h3><ul>
+<h3><a class="anchor" id="index_v"></a>- v -</h3><ul>
 <li>value_type
-: <a class="el" href="a00320.html#fa297e53d3af2a101e712bc200233e9c">tbb::parallel_while< Body ></a>, <a class="el" href="a00280.html#98245517a931e5893f6601e66c51fc75">tbb::concurrent_bounded_queue< T, A ></a>, <a class="el" href="a00286.html#682c3978d5cb0620000994f11c44a476">tbb::strict_ppl::concurrent_queue< T, A ></a>, <a class="el" href="a00285.html#7c611a6b5b8f94b0e7f2afc97e31efb1">tbb::interface5::concurrent_priority_queue< T, Compare, A ></a>, <a class="el"  [...]
+: <a class="el" href="a00047.html#aa8ca5aef4ee14b7eddb64767b8cd5fda">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::const_accessor</a>
+, <a class="el" href="a00088.html#a2442f019427e608d46801376267e44a8">tbb::parallel_while< Body ></a>
+, <a class="el" href="a00034.html#a6eb564625fef03dd9a5881d5d4e52f9f">tbb::concurrent_bounded_queue< T, A ></a>
+, <a class="el" href="a00038.html#aeeee93a7ac2eecc80bbf3e857e900538">tbb::strict_ppl::concurrent_queue< T, A ></a>
+, <a class="el" href="a00037.html#a2c75d97ae429019363ab6fd1a872512e">tbb::interface5::concurrent_priority_queue< T, Compare, A ></a>
+, <a class="el" href="a00010.html#a850178bbdcdbc4cf5955cab37eb8c42c">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::accessor</a>
+</li>
+</ul>
+</div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/functions_0x77.html b/doc/html/functions_0x77.html
index b0d8b44..98ecf24 100644
--- a/doc/html/functions_0x77.html
+++ b/doc/html/functions_0x77.html
@@ -1,74 +1,95 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
 <title>Class Members</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
-  <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li id="current"><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li id="current"><a href="functions.html"><span>All</span></a></li>
-    <li><a href="functions_func.html"><span>Functions</span></a></li>
-    <li><a href="functions_vars.html"><span>Variables</span></a></li>
-    <li><a href="functions_type.html"><span>Typedefs</span></a></li>
-    <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
-    <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
-    <li><a href="functions_rela.html"><span>Related Functions</span></a></li>
-  </ul>
-</div>
-<div class="tabs">
-  <ul>
-    <li><a href="functions.html#index__"><span>_</span></a></li>
-    <li><a href="functions_0x61.html#index_a"><span>a</span></a></li>
-    <li><a href="functions_0x62.html#index_b"><span>b</span></a></li>
-    <li><a href="functions_0x63.html#index_c"><span>c</span></a></li>
-    <li><a href="functions_0x64.html#index_d"><span>d</span></a></li>
-    <li><a href="functions_0x65.html#index_e"><span>e</span></a></li>
-    <li><a href="functions_0x66.html#index_f"><span>f</span></a></li>
-    <li><a href="functions_0x67.html#index_g"><span>g</span></a></li>
-    <li><a href="functions_0x69.html#index_i"><span>i</span></a></li>
-    <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li>
-    <li><a href="functions_0x6d.html#index_m"><span>m</span></a></li>
-    <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li>
-    <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li>
-    <li><a href="functions_0x70.html#index_p"><span>p</span></a></li>
-    <li><a href="functions_0x71.html#index_q"><span>q</span></a></li>
-    <li><a href="functions_0x72.html#index_r"><span>r</span></a></li>
-    <li><a href="functions_0x73.html#index_s"><span>s</span></a></li>
-    <li><a href="functions_0x74.html#index_t"><span>t</span></a></li>
-    <li><a href="functions_0x75.html#index_u"><span>u</span></a></li>
-    <li><a href="functions_0x76.html#index_v"><span>v</span></a></li>
-    <li id="current"><a href="functions_0x77.html#index_w"><span>w</span></a></li>
-    <li><a href="functions_0x7e.html#index_~"><span>~</span></a></li>
-  </ul>
-</div>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li class="current"><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow3" class="tabs2">
+    <ul class="tablist">
+      <li class="current"><a href="functions.html"><span>All</span></a></li>
+      <li><a href="functions_func.html"><span>Functions</span></a></li>
+      <li><a href="functions_vars.html"><span>Variables</span></a></li>
+      <li><a href="functions_type.html"><span>Typedefs</span></a></li>
+      <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
+      <li><a href="functions_rela.html"><span>Related Functions</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow4" class="tabs3">
+    <ul class="tablist">
+      <li><a href="functions.html#index_a"><span>a</span></a></li>
+      <li><a href="functions_0x62.html#index_b"><span>b</span></a></li>
+      <li><a href="functions_0x63.html#index_c"><span>c</span></a></li>
+      <li><a href="functions_0x64.html#index_d"><span>d</span></a></li>
+      <li><a href="functions_0x65.html#index_e"><span>e</span></a></li>
+      <li><a href="functions_0x66.html#index_f"><span>f</span></a></li>
+      <li><a href="functions_0x67.html#index_g"><span>g</span></a></li>
+      <li><a href="functions_0x68.html#index_h"><span>h</span></a></li>
+      <li><a href="functions_0x69.html#index_i"><span>i</span></a></li>
+      <li><a href="functions_0x6a.html#index_j"><span>j</span></a></li>
+      <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li>
+      <li><a href="functions_0x6d.html#index_m"><span>m</span></a></li>
+      <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li>
+      <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li>
+      <li><a href="functions_0x70.html#index_p"><span>p</span></a></li>
+      <li><a href="functions_0x71.html#index_q"><span>q</span></a></li>
+      <li><a href="functions_0x72.html#index_r"><span>r</span></a></li>
+      <li><a href="functions_0x73.html#index_s"><span>s</span></a></li>
+      <li><a href="functions_0x74.html#index_t"><span>t</span></a></li>
+      <li><a href="functions_0x75.html#index_u"><span>u</span></a></li>
+      <li><a href="functions_0x76.html#index_v"><span>v</span></a></li>
+      <li class="current"><a href="functions_0x77.html#index_w"><span>w</span></a></li>
+      <li><a href="functions_0x7e.html#index_0x7e"><span>~</span></a></li>
+    </ul>
+  </div>
+</div><!-- top -->
+<div class="contents">
+<div class="textblock">Here is a list of all documented class members with links to the class documentation for each member:</div>
 
-<p>
-Here is a list of all documented class members with links to the class documentation for each member:
-<p>
-<h3><a class="anchor" name="index_w">- w -</a></h3><ul>
+<h3><a class="anchor" id="index_w"></a>- w -</h3><ul>
 <li>wait_for_all()
-: <a class="el" href="a00349.html#53d2615ad9c38859b4c8080936600283">tbb::task</a>, <a class="el" href="a00300.html#a66b0020f7514b86d030fa8aea073d37">tbb::flow::interface6::graph</a><li>wait_until_empty()
-: <a class="el" href="a00350.html#776e73ba196e5bbb8b8ed489fc2b77d3">tbb::interface6::task_arena</a><li>what()
-: <a class="el" href="a00311.html#b33a89bccf0c63106f1270c7bfaaf54f">tbb::movable_exception< ExceptionData ></a>, <a class="el" href="a00278.html#6b5988ef74a1fe2a58998d110b3633e0">tbb::captured_exception</a>, <a class="el" href="a00358.html#e8157689ecb66bc6c72d3618bf3cc371">tbb::tbb_exception</a></ul>
+: <a class="el" href="a00061.html#a397208ce3b432c83cd24f416b082e8db">tbb::flow::interface7::graph</a>
+</li>
+<li>what()
+: <a class="el" href="a00146.html#ae0ad81121d4b722ecc466b5d3cc4e919">tbb::tbb_exception</a>
+, <a class="el" href="a00078.html#a41a2a7b61537ecd684bae760366f611c">tbb::movable_exception< ExceptionData ></a>
+, <a class="el" href="a00031.html#ac97ee315d8613c803dae2f6d3e0b91a7">tbb::captured_exception</a>
+</li>
+<li>write_once_node()
+: <a class="el" href="a00159.html#a68b94bb09b608522462080fe99125e07">tbb::flow::interface7::write_once_node< T ></a>
+</li>
+</ul>
+</div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/functions_0x7e.html b/doc/html/functions_0x7e.html
index a95cf04..ffa1ba0 100644
--- a/doc/html/functions_0x7e.html
+++ b/doc/html/functions_0x7e.html
@@ -1,96 +1,168 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
 <title>Class Members</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
-  <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li id="current"><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li id="current"><a href="functions.html"><span>All</span></a></li>
-    <li><a href="functions_func.html"><span>Functions</span></a></li>
-    <li><a href="functions_vars.html"><span>Variables</span></a></li>
-    <li><a href="functions_type.html"><span>Typedefs</span></a></li>
-    <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
-    <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
-    <li><a href="functions_rela.html"><span>Related Functions</span></a></li>
-  </ul>
-</div>
-<div class="tabs">
-  <ul>
-    <li><a href="functions.html#index__"><span>_</span></a></li>
-    <li><a href="functions_0x61.html#index_a"><span>a</span></a></li>
-    <li><a href="functions_0x62.html#index_b"><span>b</span></a></li>
-    <li><a href="functions_0x63.html#index_c"><span>c</span></a></li>
-    <li><a href="functions_0x64.html#index_d"><span>d</span></a></li>
-    <li><a href="functions_0x65.html#index_e"><span>e</span></a></li>
-    <li><a href="functions_0x66.html#index_f"><span>f</span></a></li>
-    <li><a href="functions_0x67.html#index_g"><span>g</span></a></li>
-    <li><a href="functions_0x69.html#index_i"><span>i</span></a></li>
-    <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li>
-    <li><a href="functions_0x6d.html#index_m"><span>m</span></a></li>
-    <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li>
-    <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li>
-    <li><a href="functions_0x70.html#index_p"><span>p</span></a></li>
-    <li><a href="functions_0x71.html#index_q"><span>q</span></a></li>
-    <li><a href="functions_0x72.html#index_r"><span>r</span></a></li>
-    <li><a href="functions_0x73.html#index_s"><span>s</span></a></li>
-    <li><a href="functions_0x74.html#index_t"><span>t</span></a></li>
-    <li><a href="functions_0x75.html#index_u"><span>u</span></a></li>
-    <li><a href="functions_0x76.html#index_v"><span>v</span></a></li>
-    <li><a href="functions_0x77.html#index_w"><span>w</span></a></li>
-    <li id="current"><a href="functions_0x7e.html#index_~"><span>~</span></a></li>
-  </ul>
-</div>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li class="current"><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow3" class="tabs2">
+    <ul class="tablist">
+      <li class="current"><a href="functions.html"><span>All</span></a></li>
+      <li><a href="functions_func.html"><span>Functions</span></a></li>
+      <li><a href="functions_vars.html"><span>Variables</span></a></li>
+      <li><a href="functions_type.html"><span>Typedefs</span></a></li>
+      <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
+      <li><a href="functions_rela.html"><span>Related Functions</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow4" class="tabs3">
+    <ul class="tablist">
+      <li><a href="functions.html#index_a"><span>a</span></a></li>
+      <li><a href="functions_0x62.html#index_b"><span>b</span></a></li>
+      <li><a href="functions_0x63.html#index_c"><span>c</span></a></li>
+      <li><a href="functions_0x64.html#index_d"><span>d</span></a></li>
+      <li><a href="functions_0x65.html#index_e"><span>e</span></a></li>
+      <li><a href="functions_0x66.html#index_f"><span>f</span></a></li>
+      <li><a href="functions_0x67.html#index_g"><span>g</span></a></li>
+      <li><a href="functions_0x68.html#index_h"><span>h</span></a></li>
+      <li><a href="functions_0x69.html#index_i"><span>i</span></a></li>
+      <li><a href="functions_0x6a.html#index_j"><span>j</span></a></li>
+      <li><a href="functions_0x6c.html#index_l"><span>l</span></a></li>
+      <li><a href="functions_0x6d.html#index_m"><span>m</span></a></li>
+      <li><a href="functions_0x6e.html#index_n"><span>n</span></a></li>
+      <li><a href="functions_0x6f.html#index_o"><span>o</span></a></li>
+      <li><a href="functions_0x70.html#index_p"><span>p</span></a></li>
+      <li><a href="functions_0x71.html#index_q"><span>q</span></a></li>
+      <li><a href="functions_0x72.html#index_r"><span>r</span></a></li>
+      <li><a href="functions_0x73.html#index_s"><span>s</span></a></li>
+      <li><a href="functions_0x74.html#index_t"><span>t</span></a></li>
+      <li><a href="functions_0x75.html#index_u"><span>u</span></a></li>
+      <li><a href="functions_0x76.html#index_v"><span>v</span></a></li>
+      <li><a href="functions_0x77.html#index_w"><span>w</span></a></li>
+      <li class="current"><a href="functions_0x7e.html#index_0x7e"><span>~</span></a></li>
+    </ul>
+  </div>
+</div><!-- top -->
+<div class="contents">
+<div class="textblock">Here is a list of all documented class members with links to the class documentation for each member:</div>
 
-<p>
-Here is a list of all documented class members with links to the class documentation for each member:
-<p>
-<h3><a class="anchor" name="index_~">- ~ -</a></h3><ul>
+<h3><a class="anchor" id="index_0x7e"></a>- ~ -</h3><ul>
 <li>~combinable()
-: <a class="el" href="a00279.html#2c87e79ae98588a5780f708773388843">tbb::combinable< T ></a><li>~concurrent_bounded_queue()
-: <a class="el" href="a00280.html#acaf5b510dc0dfc7780b8c956cf773cf">tbb::concurrent_bounded_queue< T, A ></a><li>~concurrent_hash_map()
-: <a class="el" href="a00281.html#2aa8e2d28d5af1284cf78d20a9c22731">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a><li>~concurrent_queue()
-: <a class="el" href="a00286.html#830b33753d6b149c366344e29b2edd8c">tbb::strict_ppl::concurrent_queue< T, A ></a><li>~concurrent_vector()
-: <a class="el" href="a00288.html#da2444b28bb840d38f60d0030333a5fc">tbb::concurrent_vector< T, A ></a><li>~const_accessor()
-: <a class="el" href="a00284.html#928769b139d53427e7075c1f86148e4c">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator >::const_accessor</a><li>~continue_receiver()
-: <a class="el" href="a00291.html#1e14828fa079b9835ff7267df5ee45d7">tbb::flow::interface6::continue_receiver</a><li>~enumerable_thread_specific()
-: <a class="el" href="a00293.html#5a7907d9e3e5b18e7a7b55211ef3213f">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a><li>~filter()
-: <a class="el" href="a00294.html#66d159f362293e3964ba3da8bc1d2604">tbb::filter</a><li>~graph()
-: <a class="el" href="a00300.html#8a7d424c0616a1c37a908ead182e2fe5">tbb::flow::interface6::graph</a><li>~memory_pool()
-: <a class="el" href="a00307.html#fdad7c4ed08332ec384491a71b721957">tbb::interface6::memory_pool< Alloc ></a><li>~parallel_while()
-: <a class="el" href="a00320.html#6fcfc973cc56b79c6d0fbb8a31be7e84">tbb::parallel_while< Body ></a><li>~pipeline()
-: <a class="el" href="a00322.html#49513c6c24f9d5bbbb27edca5efe01c9">tbb::pipeline</a><li>~queuing_rw_mutex()
-: <a class="el" href="a00328.html#1ba73e3d95cfdf8323880bc623af9099">tbb::queuing_rw_mutex</a><li>~reader_writer_lock()
-: <a class="el" href="a00330.html#5135f64f7b7339017f33d956445edbee">tbb::interface5::reader_writer_lock</a><li>~receiver()
-: <a class="el" href="a00333.html#b00699b235435f7b65b663d5063624a1">tbb::flow::interface6::receiver< T ></a><li>~runtime_loader()
-: <a class="el" href="a00336.html#c25fec923a751a3e03f5cbe969f1f0c5">tbb::interface6::runtime_loader</a><li>~scoped_lock()
-: <a class="el" href="a00346.html#d7eaaa3f2e2c5dc11e7005811b1bdd04">tbb::spin_rw_mutex_v3::scoped_lock</a>, <a class="el" href="a00344.html#ac6fa425d1f06c56d8b70abc51aac844">tbb::spin_mutex::scoped_lock</a>, <a class="el" href="a00335.html#c1197ffb8f3cd9d4fed71d7e06265b7c">tbb::recursive_mutex::scoped_lock</a>, <a class="el" href="a00331.html#70246e0260493625ff956fa5926fc71f">tbb::interface5::reader_writer_lock::scoped_lock</a>, <a class="el" href="a00329.html#32c7d67a660d23ebbaab1a1d282 [...]
-: <a class="el" href="a00332.html#bd21c5f3d555d64d1de8658e15bf4966">tbb::interface5::reader_writer_lock::scoped_lock_read</a><li>~sequencer_node()
-: <a class="el" href="a00340.html#93d3d8f6a72b3e1387047282116ed6ee">tbb::flow::interface6::sequencer_node< T, A ></a><li>~source_node()
-: <a class="el" href="a00342.html#61700b0865fc17188b0abe26bbde65b6">tbb::flow::interface6::source_node< Output ></a><li>~spin_rw_mutex_v3()
-: <a class="el" href="a00345.html#9a815fb2759e55072ed413f1b6970cf3">tbb::spin_rw_mutex_v3</a><li>~task()
-: <a class="el" href="a00349.html#98245ee0473f84cb19dbbf8c81134908">tbb::task</a><li>~task_arena()
-: <a class="el" href="a00350.html#fec24e9b3fa07a6e7b20add7c7e0a660">tbb::interface6::task_arena</a><li>~task_list()
-: <a class="el" href="a00354.html#6d438f1499a02db1e59c24ab6043e5ba">tbb::task_list</a></ul>
+: <a class="el" href="a00032.html#a52f00cf262d768048db72ab73c8f3ca4">tbb::combinable< T ></a>
+</li>
+<li>~concurrent_bounded_queue()
+: <a class="el" href="a00034.html#ab1291bf6837ecfb8836c24dde5dd80b5">tbb::concurrent_bounded_queue< T, A ></a>
+</li>
+<li>~concurrent_hash_map()
+: <a class="el" href="a00035.html#a9ce9ab8c954bf6979c2c57d10fd8a8ed">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a>
+</li>
+<li>~concurrent_queue()
+: <a class="el" href="a00038.html#aa0056b242f280f5e25332ce998f9f670">tbb::strict_ppl::concurrent_queue< T, A ></a>
+</li>
+<li>~concurrent_vector()
+: <a class="el" href="a00046.html#ab5bcaededc9a00e7aaecd6c262fd0b38">tbb::concurrent_vector< T, A ></a>
+</li>
+<li>~const_accessor()
+: <a class="el" href="a00047.html#afbc0c85a146c912b9a0f94a7695957c7">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::const_accessor</a>
+</li>
+<li>~continue_receiver()
+: <a class="el" href="a00050.html#a2ca2de23e1e1eeb7071a838a457a50b2">tbb::flow::interface7::continue_receiver</a>
+</li>
+<li>~enumerable_thread_specific()
+: <a class="el" href="a00052.html#a6ea8d717f770acb63efc406df52d4585">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a>
+</li>
+<li>~fixed_pool()
+: <a class="el" href="a00056.html#ab854a85575e5c1e9c9f4d3eafcc28044">tbb::interface6::fixed_pool</a>
+</li>
+<li>~graph()
+: <a class="el" href="a00061.html#a3412df4d4bf0113aed93c958bbb49ec4">tbb::flow::interface7::graph</a>
+</li>
+<li>~memory_pool()
+: <a class="el" href="a00073.html#ad2c7645b39b7280b1b3cf393d05fbaf7">tbb::interface6::memory_pool< Alloc ></a>
+</li>
+<li>~parallel_while()
+: <a class="el" href="a00088.html#ac2fd559c8a38639fa1ba97a0d5639ca8">tbb::parallel_while< Body ></a>
+</li>
+<li>~pipeline()
+: <a class="el" href="a00089.html#ac3a7b33217b3f3bb0682ec3a40fd2c39">tbb::pipeline</a>
+</li>
+<li>~queuing_rw_mutex()
+: <a class="el" href="a00094.html#ae67fe828d7e07222e7876ef9fd780fcc">tbb::queuing_rw_mutex</a>
+</li>
+<li>~reader_writer_lock()
+: <a class="el" href="a00095.html#aeee96b648c7b5ff6126c8a2e13ec7241">tbb::interface5::reader_writer_lock</a>
+</li>
+<li>~receiver()
+: <a class="el" href="a00106.html#a733889a9053478ef2fb2528e2205bf07">tbb::flow::interface7::receiver< T ></a>
+</li>
+<li>~runtime_loader()
+: <a class="el" href="a00110.html#aa3b96f53e165e3d692c3c36292ba0737">tbb::interface6::runtime_loader</a>
+</li>
+<li>~scoped_lock()
+: <a class="el" href="a00113.html#a9940d6e494466d9c53846ed347d79d83">tbb::spin_mutex::scoped_lock</a>
+, <a class="el" href="a00116.html#a08c399ee0bb9762039b29e570ec46fe9">tbb::mutex::scoped_lock</a>
+, <a class="el" href="a00119.html#a6cb16cc55f884bbbd5a69430c47b288f">tbb::queuing_rw_mutex::scoped_lock</a>
+, <a class="el" href="a00118.html#a41e77cf094ed30b0a9a39ee217c3653b">tbb::interface5::reader_writer_lock::scoped_lock</a>
+, <a class="el" href="a00120.html#a90a966e19120aac99b36a3d6d04af1a2">tbb::recursive_mutex::scoped_lock</a>
+, <a class="el" href="a00121.html#a469ec43836a8dd250ce0a22b02945630">tbb::queuing_mutex::scoped_lock</a>
+, <a class="el" href="a00114.html#a5c27ca2e0c9db960a9a7430082ff7edd">tbb::spin_rw_mutex_v3::scoped_lock</a>
+</li>
+<li>~scoped_lock_read()
+: <a class="el" href="a00123.html#acf0e23fb4d3aeb6bde18d5d1236bd9d5">tbb::interface5::reader_writer_lock::scoped_lock_read</a>
+</li>
+<li>~sequencer_node()
+: <a class="el" href="a00125.html#a01fd0321c7bd0f2112458cec2a636d7d">tbb::flow::interface7::sequencer_node< T, A ></a>
+</li>
+<li>~source_node()
+: <a class="el" href="a00126.html#a5ce12e348e121b9f4dffda9d1035c490">tbb::flow::interface7::source_node< Output ></a>
+</li>
+<li>~spin_rw_mutex_v3()
+: <a class="el" href="a00128.html#acc7cf2e4b14d3a2a591a3552d74ba99d">tbb::spin_rw_mutex_v3</a>
+</li>
+<li>~task_arena()
+: <a class="el" href="a00135.html#a9ff5a35a219953a4f3d99b833fa5f683">tbb::interface7::task_arena</a>
+</li>
+<li>~task_scheduler_init()
+: <a class="el" href="a00141.html#a20b121334ec39c1d91bd4fe9a51892b0">tbb::task_scheduler_init</a>
+</li>
+<li>~task_scheduler_observer()
+: <a class="el" href="a00142.html#a9ef3f1853439b46e5a9db7fd1c0f9116">tbb::interface6::task_scheduler_observer</a>
+</li>
+<li>~task_scheduler_observer_v3()
+: <a class="el" href="a00143.html#a151e475ebba39172fcc13f43bed426cc">tbb::internal::task_scheduler_observer_v3</a>
+</li>
+</ul>
+</div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/functions_enum.html b/doc/html/functions_enum.html
index a5180a5..eb8dcb3 100644
--- a/doc/html/functions_enum.html
+++ b/doc/html/functions_enum.html
@@ -1,48 +1,67 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
 <title>Class Members - Enumerations</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
-  <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li id="current"><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="functions.html"><span>All</span></a></li>
-    <li><a href="functions_func.html"><span>Functions</span></a></li>
-    <li><a href="functions_vars.html"><span>Variables</span></a></li>
-    <li><a href="functions_type.html"><span>Typedefs</span></a></li>
-    <li id="current"><a href="functions_enum.html"><span>Enumerations</span></a></li>
-    <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
-    <li><a href="functions_rela.html"><span>Related Functions</span></a></li>
-  </ul>
-</div>
- 
-<p>
-<ul>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li class="current"><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow3" class="tabs2">
+    <ul class="tablist">
+      <li><a href="functions.html"><span>All</span></a></li>
+      <li><a href="functions_func.html"><span>Functions</span></a></li>
+      <li><a href="functions_vars.html"><span>Variables</span></a></li>
+      <li><a href="functions_type.html"><span>Typedefs</span></a></li>
+      <li class="current"><a href="functions_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
+      <li><a href="functions_rela.html"><span>Related Functions</span></a></li>
+    </ul>
+  </div>
+</div><!-- top -->
+<div class="contents">
+ <ul>
 <li>error_code
-: <a class="el" href="a00336.html#6831be91cdc64e57e565ce0dde018789">tbb::interface6::runtime_loader</a><li>error_mode
-: <a class="el" href="a00336.html#bb0130fe0f596399707e61431231ebcb">tbb::interface6::runtime_loader</a><li>malloc_type
-: <a class="el" href="a00356.html#09a7f81fb2c3055aaecf058b11538544">tbb::tbb_allocator< T ></a><li>state_type
-: <a class="el" href="a00349.html#4a3c415562d17905390ea5b49d12293e">tbb::task</a><li>status_t
-: <a class="el" href="a00330.html#6f921f0d7c1812ceb5674418c8b6ccaf">tbb::interface5::reader_writer_lock</a></ul>
+: <a class="el" href="a00110.html#a264674772d9f4240d89aa9d939c1eef7">tbb::interface6::runtime_loader</a>
+</li>
+<li>error_mode
+: <a class="el" href="a00110.html#ab85c82f9c0ccd91905f2795a79ac1295">tbb::interface6::runtime_loader</a>
+</li>
+<li>malloc_type
+: <a class="el" href="a00144.html#a60463a571d5c20f7762112367261ad94">tbb::tbb_allocator< T ></a>
+</li>
+<li>status_t
+: <a class="el" href="a00095.html#a29bbf9ca21c12b313d9fa5326feaf3ed">tbb::interface5::reader_writer_lock</a>
+</li>
+</ul>
+</div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/functions_eval.html b/doc/html/functions_eval.html
index 75195f9..c47db98 100644
--- a/doc/html/functions_eval.html
+++ b/doc/html/functions_eval.html
@@ -1,58 +1,82 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
 <title>Class Members - Enumerator</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
-  <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li id="current"><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="functions.html"><span>All</span></a></li>
-    <li><a href="functions_func.html"><span>Functions</span></a></li>
-    <li><a href="functions_vars.html"><span>Variables</span></a></li>
-    <li><a href="functions_type.html"><span>Typedefs</span></a></li>
-    <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
-    <li id="current"><a href="functions_eval.html"><span>Enumerator</span></a></li>
-    <li><a href="functions_rela.html"><span>Related Functions</span></a></li>
-  </ul>
-</div>
- 
-<p>
-<ul>
-<li>__TBB_RECYCLE_TO_ENQUEUE
-: <a class="el" href="a00349.html#4a3c415562d17905390ea5b49d12293e2a3f84c7721f6c0b859a91a5ecc660c4">tbb::task</a><li>allocated
-: <a class="el" href="a00349.html#4a3c415562d17905390ea5b49d12293ebe94d3348dd038e41107819f00c1884c">tbb::task</a><li>ec_bad_arg
-: <a class="el" href="a00336.html#6831be91cdc64e57e565ce0dde01878927e94a7b173bb8d0623bf48aad8fc703">tbb::interface6::runtime_loader</a><li>ec_bad_call
-: <a class="el" href="a00336.html#6831be91cdc64e57e565ce0dde018789e6ce2b091083b80878cbb70cd00782a1">tbb::interface6::runtime_loader</a><li>ec_bad_lib
-: <a class="el" href="a00336.html#6831be91cdc64e57e565ce0dde01878903ee81d8c05966bc1125666713dee5f6">tbb::interface6::runtime_loader</a><li>ec_bad_ver
-: <a class="el" href="a00336.html#6831be91cdc64e57e565ce0dde01878907790f32918e60d670a96c1f0349e8d6">tbb::interface6::runtime_loader</a><li>ec_no_lib
-: <a class="el" href="a00336.html#6831be91cdc64e57e565ce0dde01878902acc03ebfcdb16e3e26b24f64da2bdb">tbb::interface6::runtime_loader</a><li>ec_ok
-: <a class="el" href="a00336.html#6831be91cdc64e57e565ce0dde0187891e3a364f63f419e5ea2f1d1e52289b27">tbb::interface6::runtime_loader</a><li>em_abort
-: <a class="el" href="a00336.html#bb0130fe0f596399707e61431231ebcb630dd30c9ba61d5ab187e80313bbad94">tbb::interface6::runtime_loader</a><li>em_status
-: <a class="el" href="a00336.html#bb0130fe0f596399707e61431231ebcbdb47fe5ffbd2eaf47e6de0af433ada38">tbb::interface6::runtime_loader</a><li>em_throw
-: <a class="el" href="a00336.html#bb0130fe0f596399707e61431231ebcbdeb59ca2912432b47fd3ec831574653b">tbb::interface6::runtime_loader</a><li>executing
-: <a class="el" href="a00349.html#4a3c415562d17905390ea5b49d12293ead0fe2302ccc360923f738c2ed7ec1b9">tbb::task</a><li>freed
-: <a class="el" href="a00349.html#4a3c415562d17905390ea5b49d12293ecc67ca92bd6f1ce9738a1e9e7206b735">tbb::task</a><li>ready
-: <a class="el" href="a00349.html#4a3c415562d17905390ea5b49d12293e0841dcf1c2a96dee9aa7b69f636cb81a">tbb::task</a><li>reexecute
-: <a class="el" href="a00349.html#4a3c415562d17905390ea5b49d12293e3bf499aa6e6487cd1ace883a63100513">tbb::task</a></ul>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li class="current"><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow3" class="tabs2">
+    <ul class="tablist">
+      <li><a href="functions.html"><span>All</span></a></li>
+      <li><a href="functions_func.html"><span>Functions</span></a></li>
+      <li><a href="functions_vars.html"><span>Variables</span></a></li>
+      <li><a href="functions_type.html"><span>Typedefs</span></a></li>
+      <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+      <li class="current"><a href="functions_eval.html"><span>Enumerator</span></a></li>
+      <li><a href="functions_rela.html"><span>Related Functions</span></a></li>
+    </ul>
+  </div>
+</div><!-- top -->
+<div class="contents">
+ <ul>
+<li>ec_bad_arg
+: <a class="el" href="a00110.html#a264674772d9f4240d89aa9d939c1eef7afd928f63eb3da0980e746d58374b07c3">tbb::interface6::runtime_loader</a>
+</li>
+<li>ec_bad_call
+: <a class="el" href="a00110.html#a264674772d9f4240d89aa9d939c1eef7a670e4d0a5a3c1bbcdff9e5ee16dc9c01">tbb::interface6::runtime_loader</a>
+</li>
+<li>ec_bad_lib
+: <a class="el" href="a00110.html#a264674772d9f4240d89aa9d939c1eef7a71f874957c0322f499ba764dd0bb8732">tbb::interface6::runtime_loader</a>
+</li>
+<li>ec_bad_ver
+: <a class="el" href="a00110.html#a264674772d9f4240d89aa9d939c1eef7aae7497a49ceae69d06d6ab9fef636064">tbb::interface6::runtime_loader</a>
+</li>
+<li>ec_no_lib
+: <a class="el" href="a00110.html#a264674772d9f4240d89aa9d939c1eef7a5e694560f3ada80d2cc25881b5ae43dd">tbb::interface6::runtime_loader</a>
+</li>
+<li>ec_ok
+: <a class="el" href="a00110.html#a264674772d9f4240d89aa9d939c1eef7afc7eba28f2fc936312f041cf85276434">tbb::interface6::runtime_loader</a>
+</li>
+<li>em_abort
+: <a class="el" href="a00110.html#ab85c82f9c0ccd91905f2795a79ac1295ac41f8e03c7e8bfc6a420be035d59cc35">tbb::interface6::runtime_loader</a>
+</li>
+<li>em_status
+: <a class="el" href="a00110.html#ab85c82f9c0ccd91905f2795a79ac1295af9c9137d6acdb0fd37f1a92b5cdaeb36">tbb::interface6::runtime_loader</a>
+</li>
+<li>em_throw
+: <a class="el" href="a00110.html#ab85c82f9c0ccd91905f2795a79ac1295a17ec1019cffa635146eaefb042e28a2c">tbb::interface6::runtime_loader</a>
+</li>
+</ul>
+</div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/functions_func.html b/doc/html/functions_func.html
index 728ccd0..7610e8f 100644
--- a/doc/html/functions_func.html
+++ b/doc/html/functions_func.html
@@ -1,81 +1,122 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
 <title>Class Members - Functions</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
-  <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li id="current"><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="functions.html"><span>All</span></a></li>
-    <li id="current"><a href="functions_func.html"><span>Functions</span></a></li>
-    <li><a href="functions_vars.html"><span>Variables</span></a></li>
-    <li><a href="functions_type.html"><span>Typedefs</span></a></li>
-    <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
-    <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
-    <li><a href="functions_rela.html"><span>Related Functions</span></a></li>
-  </ul>
-</div>
-<div class="tabs">
-  <ul>
-    <li id="current"><a href="functions_func.html#index_a"><span>a</span></a></li>
-    <li><a href="functions_func_0x62.html#index_b"><span>b</span></a></li>
-    <li><a href="functions_func_0x63.html#index_c"><span>c</span></a></li>
-    <li><a href="functions_func_0x64.html#index_d"><span>d</span></a></li>
-    <li><a href="functions_func_0x65.html#index_e"><span>e</span></a></li>
-    <li><a href="functions_func_0x66.html#index_f"><span>f</span></a></li>
-    <li><a href="functions_func_0x67.html#index_g"><span>g</span></a></li>
-    <li><a href="functions_func_0x69.html#index_i"><span>i</span></a></li>
-    <li><a href="functions_func_0x6c.html#index_l"><span>l</span></a></li>
-    <li><a href="functions_func_0x6d.html#index_m"><span>m</span></a></li>
-    <li><a href="functions_func_0x6e.html#index_n"><span>n</span></a></li>
-    <li><a href="functions_func_0x6f.html#index_o"><span>o</span></a></li>
-    <li><a href="functions_func_0x70.html#index_p"><span>p</span></a></li>
-    <li><a href="functions_func_0x71.html#index_q"><span>q</span></a></li>
-    <li><a href="functions_func_0x72.html#index_r"><span>r</span></a></li>
-    <li><a href="functions_func_0x73.html#index_s"><span>s</span></a></li>
-    <li><a href="functions_func_0x74.html#index_t"><span>t</span></a></li>
-    <li><a href="functions_func_0x75.html#index_u"><span>u</span></a></li>
-    <li><a href="functions_func_0x77.html#index_w"><span>w</span></a></li>
-    <li><a href="functions_func_0x7e.html#index_~"><span>~</span></a></li>
-  </ul>
-</div>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li class="current"><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow3" class="tabs2">
+    <ul class="tablist">
+      <li><a href="functions.html"><span>All</span></a></li>
+      <li class="current"><a href="functions_func.html"><span>Functions</span></a></li>
+      <li><a href="functions_vars.html"><span>Variables</span></a></li>
+      <li><a href="functions_type.html"><span>Typedefs</span></a></li>
+      <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
+      <li><a href="functions_rela.html"><span>Related Functions</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow4" class="tabs3">
+    <ul class="tablist">
+      <li class="current"><a href="functions_func.html#index_a"><span>a</span></a></li>
+      <li><a href="functions_func_0x62.html#index_b"><span>b</span></a></li>
+      <li><a href="functions_func_0x63.html#index_c"><span>c</span></a></li>
+      <li><a href="functions_func_0x64.html#index_d"><span>d</span></a></li>
+      <li><a href="functions_func_0x65.html#index_e"><span>e</span></a></li>
+      <li><a href="functions_func_0x66.html#index_f"><span>f</span></a></li>
+      <li><a href="functions_func_0x67.html#index_g"><span>g</span></a></li>
+      <li><a href="functions_func_0x68.html#index_h"><span>h</span></a></li>
+      <li><a href="functions_func_0x69.html#index_i"><span>i</span></a></li>
+      <li><a href="functions_func_0x6a.html#index_j"><span>j</span></a></li>
+      <li><a href="functions_func_0x6c.html#index_l"><span>l</span></a></li>
+      <li><a href="functions_func_0x6d.html#index_m"><span>m</span></a></li>
+      <li><a href="functions_func_0x6e.html#index_n"><span>n</span></a></li>
+      <li><a href="functions_func_0x6f.html#index_o"><span>o</span></a></li>
+      <li><a href="functions_func_0x70.html#index_p"><span>p</span></a></li>
+      <li><a href="functions_func_0x71.html#index_q"><span>q</span></a></li>
+      <li><a href="functions_func_0x72.html#index_r"><span>r</span></a></li>
+      <li><a href="functions_func_0x73.html#index_s"><span>s</span></a></li>
+      <li><a href="functions_func_0x74.html#index_t"><span>t</span></a></li>
+      <li><a href="functions_func_0x75.html#index_u"><span>u</span></a></li>
+      <li><a href="functions_func_0x77.html#index_w"><span>w</span></a></li>
+      <li><a href="functions_func_0x7e.html#index_0x7e"><span>~</span></a></li>
+    </ul>
+  </div>
+</div><!-- top -->
+<div class="contents">
+ 
 
-<p>
- 
-<p>
-<h3><a class="anchor" name="index_a">- a -</a></h3><ul>
+<h3><a class="anchor" id="index_a"></a>- a -</h3><ul>
 <li>abort()
-: <a class="el" href="a00280.html#86c77a6c1317239405968f5afc7b10d3">tbb::concurrent_bounded_queue< T, A ></a><li>acquire()
-: <a class="el" href="a00346.html#b0b646ec5be02a127d159bbb7ca65353">tbb::spin_rw_mutex_v3::scoped_lock</a>, <a class="el" href="a00344.html#3ee3c338732b1f64b0b32a757807a30d">tbb::spin_mutex::scoped_lock</a>, <a class="el" href="a00335.html#7fb04da37cccf8c99b1f9102d9074f9a">tbb::recursive_mutex::scoped_lock</a>, <a class="el" href="a00329.html#a8dd5ab8686e76de21587544dbb681e0">tbb::queuing_rw_mutex::scoped_lock</a>, <a class="el" href="a00327.html#533e4fc8355ee321206a0609c42d909d">tbb::qu [...]
-: <a class="el" href="a00342.html#4b647e4a93d08ccdd8d323279e4eaaa6">tbb::flow::interface6::source_node< Output ></a><li>add()
-: <a class="el" href="a00320.html#e131c560057a58229992b61eb8dba4c6">tbb::parallel_while< Body ></a>, <a class="el" href="a00319.html#40baaf0f6856f4491dd0adf896c93516">tbb::parallel_do_feeder< Item ></a><li>add_filter()
-: <a class="el" href="a00322.html#38fb5c9c8395dd6f89a4ae2011a83e0d">tbb::pipeline</a><li>affinity()
-: <a class="el" href="a00349.html#3a920a56b0bcf2801518fb45b2c9d2be">tbb::task</a><li>allocate()
-: <a class="el" href="a00359.html#c35e5db8e9cdff5d1387db5b0bad2e4a">tbb::internal::tbb_exception_ptr</a>, <a class="el" href="a00356.html#f6cb487b1bdce0b581f265a77dca6d53">tbb::tbb_allocator< T ></a>, <a class="el" href="a00337.html#726b1586d05d44665a36e1c7b2699bfd">tbb::scalable_allocator< T ></a>, <a class="el" href="a00308.html#365bd64d284c80d85bb2149a12681526">tbb::interface6::memory_pool_allocator< T, P ></a>, <a class="el" href="a00276.html#4cdeea67af6c1fcd8f1d5e9 [...]
-: <a class="el" href="a00349.html#1ff794f7053cd9148d5f280fbf07377f">tbb::task</a><li>allocate_continuation()
-: <a class="el" href="a00349.html#1434c79a5138993269d034008bff7329">tbb::task</a><li>allocate_root()
-: <a class="el" href="a00349.html#8ccc518caf31075a3e073996d2d240a4">tbb::task</a><li>assign()
-: <a class="el" href="a00288.html#c04d64fe86696a084afa117d34384b5f">tbb::concurrent_vector< T, A ></a>, <a class="el" href="a00285.html#38dc06a3143eefe5697b8cd157e0d00a">tbb::interface5::concurrent_priority_queue< T, Compare, A ></a><li>at()
-: <a class="el" href="a00288.html#23e14a38af748edff96a7adc3a0f1c58">tbb::concurrent_vector< T, A ></a></ul>
+: <a class="el" href="a00034.html#a77a755d94cabf5208905d10d5b57419c">tbb::concurrent_bounded_queue< T, A ></a>
+</li>
+<li>acquire()
+: <a class="el" href="a00026.html#a0d7d8f3d101bb18056b8e5d4d2c8b079">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::bucket_accessor</a>
+, <a class="el" href="a00121.html#abf8aa7ccd48d54dcb53665700a17d02a">tbb::queuing_mutex::scoped_lock</a>
+, <a class="el" href="a00114.html#a6d49df365396ab314e78ba07c6b96433">tbb::spin_rw_mutex_v3::scoped_lock</a>
+, <a class="el" href="a00119.html#ab4bf2fb86d6a418f9ea36474eb8893f9">tbb::queuing_rw_mutex::scoped_lock</a>
+, <a class="el" href="a00116.html#a9fce3e2e9f592315dc9c1ada72ae5e3c">tbb::mutex::scoped_lock</a>
+, <a class="el" href="a00120.html#ac5450ce6a5813f395afaa434384c6539">tbb::recursive_mutex::scoped_lock</a>
+, <a class="el" href="a00113.html#a7c702117f08ae82d034a98b3d5510ffc">tbb::spin_mutex::scoped_lock</a>
+</li>
+<li>activate()
+: <a class="el" href="a00126.html#a67264c4564abefbf14c0d587c6fe2857">tbb::flow::interface7::source_node< Output ></a>
+</li>
+<li>add()
+: <a class="el" href="a00087.html#ac095c6b1a32e9c0be010aa32875d7a63">tbb::parallel_do_feeder< Item ></a>
+, <a class="el" href="a00088.html#a4861989d7f5e3111d264d4d6013e8fe1">tbb::parallel_while< Body ></a>
+</li>
+<li>add_filter()
+: <a class="el" href="a00089.html#a8eb83014bd53b184e0ed50f120ca310b">tbb::pipeline</a>
+</li>
+<li>allocate()
+: <a class="el" href="a00144.html#afedd8a64eed9692083c708f419338e0c">tbb::tbb_allocator< T ></a>
+, <a class="el" href="a00147.html#abfbea91401d2594deb04ea331734171c">tbb::internal::tbb_exception_ptr</a>
+, <a class="el" href="a00111.html#acf24945c12dc0586dfb1f8638daf7838">tbb::scalable_allocator< T ></a>
+, <a class="el" href="a00029.html#a99d05096f80877849cb31d80247e0f85">tbb::cache_aligned_allocator< T ></a>
+, <a class="el" href="a00074.html#a10b9888883a3dbd66e87c4a7f874ef28">tbb::interface6::memory_pool_allocator< T, P ></a>
+</li>
+<li>allocator_type()
+: <a class="el" href="a00144.html#aa4606cff0156ec4237c1571204851bfb">tbb::tbb_allocator< T ></a>
+</li>
+<li>assign()
+: <a class="el" href="a00037.html#ada4a58867572d9ff340c6692a226d457">tbb::interface5::concurrent_priority_queue< T, Compare, A ></a>
+, <a class="el" href="a00046.html#a87355dce93d0882aa73333a35c9b367c">tbb::concurrent_vector< T, A ></a>
+</li>
+<li>at()
+: <a class="el" href="a00046.html#ae4dc6c1b55c0e0b73f0a8675ef2b60a4">tbb::concurrent_vector< T, A ></a>
+</li>
+</ul>
+</div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/functions_func_0x62.html b/doc/html/functions_func_0x62.html
index 9c20c3f..55db088 100644
--- a/doc/html/functions_func_0x62.html
+++ b/doc/html/functions_func_0x62.html
@@ -1,74 +1,105 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
 <title>Class Members - Functions</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
-  <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li id="current"><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="functions.html"><span>All</span></a></li>
-    <li id="current"><a href="functions_func.html"><span>Functions</span></a></li>
-    <li><a href="functions_vars.html"><span>Variables</span></a></li>
-    <li><a href="functions_type.html"><span>Typedefs</span></a></li>
-    <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
-    <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
-    <li><a href="functions_rela.html"><span>Related Functions</span></a></li>
-  </ul>
-</div>
-<div class="tabs">
-  <ul>
-    <li><a href="functions_func.html#index_a"><span>a</span></a></li>
-    <li id="current"><a href="functions_func_0x62.html#index_b"><span>b</span></a></li>
-    <li><a href="functions_func_0x63.html#index_c"><span>c</span></a></li>
-    <li><a href="functions_func_0x64.html#index_d"><span>d</span></a></li>
-    <li><a href="functions_func_0x65.html#index_e"><span>e</span></a></li>
-    <li><a href="functions_func_0x66.html#index_f"><span>f</span></a></li>
-    <li><a href="functions_func_0x67.html#index_g"><span>g</span></a></li>
-    <li><a href="functions_func_0x69.html#index_i"><span>i</span></a></li>
-    <li><a href="functions_func_0x6c.html#index_l"><span>l</span></a></li>
-    <li><a href="functions_func_0x6d.html#index_m"><span>m</span></a></li>
-    <li><a href="functions_func_0x6e.html#index_n"><span>n</span></a></li>
-    <li><a href="functions_func_0x6f.html#index_o"><span>o</span></a></li>
-    <li><a href="functions_func_0x70.html#index_p"><span>p</span></a></li>
-    <li><a href="functions_func_0x71.html#index_q"><span>q</span></a></li>
-    <li><a href="functions_func_0x72.html#index_r"><span>r</span></a></li>
-    <li><a href="functions_func_0x73.html#index_s"><span>s</span></a></li>
-    <li><a href="functions_func_0x74.html#index_t"><span>t</span></a></li>
-    <li><a href="functions_func_0x75.html#index_u"><span>u</span></a></li>
-    <li><a href="functions_func_0x77.html#index_w"><span>w</span></a></li>
-    <li><a href="functions_func_0x7e.html#index_~"><span>~</span></a></li>
-  </ul>
-</div>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li class="current"><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow3" class="tabs2">
+    <ul class="tablist">
+      <li><a href="functions.html"><span>All</span></a></li>
+      <li class="current"><a href="functions_func.html"><span>Functions</span></a></li>
+      <li><a href="functions_vars.html"><span>Variables</span></a></li>
+      <li><a href="functions_type.html"><span>Typedefs</span></a></li>
+      <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
+      <li><a href="functions_rela.html"><span>Related Functions</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow4" class="tabs3">
+    <ul class="tablist">
+      <li><a href="functions_func.html#index_a"><span>a</span></a></li>
+      <li class="current"><a href="functions_func_0x62.html#index_b"><span>b</span></a></li>
+      <li><a href="functions_func_0x63.html#index_c"><span>c</span></a></li>
+      <li><a href="functions_func_0x64.html#index_d"><span>d</span></a></li>
+      <li><a href="functions_func_0x65.html#index_e"><span>e</span></a></li>
+      <li><a href="functions_func_0x66.html#index_f"><span>f</span></a></li>
+      <li><a href="functions_func_0x67.html#index_g"><span>g</span></a></li>
+      <li><a href="functions_func_0x68.html#index_h"><span>h</span></a></li>
+      <li><a href="functions_func_0x69.html#index_i"><span>i</span></a></li>
+      <li><a href="functions_func_0x6a.html#index_j"><span>j</span></a></li>
+      <li><a href="functions_func_0x6c.html#index_l"><span>l</span></a></li>
+      <li><a href="functions_func_0x6d.html#index_m"><span>m</span></a></li>
+      <li><a href="functions_func_0x6e.html#index_n"><span>n</span></a></li>
+      <li><a href="functions_func_0x6f.html#index_o"><span>o</span></a></li>
+      <li><a href="functions_func_0x70.html#index_p"><span>p</span></a></li>
+      <li><a href="functions_func_0x71.html#index_q"><span>q</span></a></li>
+      <li><a href="functions_func_0x72.html#index_r"><span>r</span></a></li>
+      <li><a href="functions_func_0x73.html#index_s"><span>s</span></a></li>
+      <li><a href="functions_func_0x74.html#index_t"><span>t</span></a></li>
+      <li><a href="functions_func_0x75.html#index_u"><span>u</span></a></li>
+      <li><a href="functions_func_0x77.html#index_w"><span>w</span></a></li>
+      <li><a href="functions_func_0x7e.html#index_0x7e"><span>~</span></a></li>
+    </ul>
+  </div>
+</div><!-- top -->
+<div class="contents">
+ 
 
-<p>
- 
-<p>
-<h3><a class="anchor" name="index_b">- b -</a></h3><ul>
+<h3><a class="anchor" id="index_b"></a>- b -</h3><ul>
 <li>back()
-: <a class="el" href="a00288.html#bd518e204107d07fd08d0ec5bdfd383d">tbb::concurrent_vector< T, A ></a><li>begin()
-: <a class="el" href="a00300.html#f63c3b7d03098b57fc16b71c57b303e5">tbb::flow::interface6::graph</a>, <a class="el" href="a00293.html#84afb3906a39e399cde1c950d6351300">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a>, <a class="el" href="a00288.html#78a06182276ff758788d4c0623ae0d71">tbb::concurrent_vector< T, A ></a>, <a class="el" href="a00271.html#18d2258400756ac1446dac7676b18df3">tbb::blocked_range< Value ></a>, <a class="el" href="a00265 [...]
-: <a class="el" href="a00271.html#4c0efd2be3f96a0ab3ba5085e8b3fcc7">tbb::blocked_range< Value ></a><li>bucket_count()
-: <a class="el" href="a00281.html#af34cb91b1d0f36a885a1a3432dd9af1">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a><li>buffer_node()
-: <a class="el" href="a00275.html#03ad7b85a8341437f584af06ad050cdc">tbb::flow::interface6::buffer_node< T, A ></a></ul>
+: <a class="el" href="a00046.html#aaee3ddf1d05238a8a6887f6d824b76f8">tbb::concurrent_vector< T, A ></a>
+</li>
+<li>begin()
+: <a class="el" href="a00021.html#ae225fa10454b0fa33533dfb56f5060a2">tbb::blocked_range< Value ></a>
+, <a class="el" href="a00052.html#aa097383eb6f90e4a551830fc00b60b3a">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a>
+, <a class="el" href="a00061.html#a91d2f9921342a504668b2cdc3064a846">tbb::flow::interface7::graph</a>
+, <a class="el" href="a00046.html#ab55636c80368ad7d400f3200313fcf5f">tbb::concurrent_vector< T, A ></a>
+, <a class="el" href="a00061.html#ac404d2e08620aca079532124551a646a">tbb::flow::interface7::graph</a>
+, <a class="el" href="a00014.html#a3525dbbac0d4eaedfe18bc57b7760857">tbb::aligned_space< T, N ></a>
+, <a class="el" href="a00046.html#ad3eb33d1b10a988a87cc708ceb08f3a9">tbb::concurrent_vector< T, A ></a>
+, <a class="el" href="a00052.html#a070d26debf1f65c83de13f64f91aefdc">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a>
+</li>
+<li>blocked_range()
+: <a class="el" href="a00021.html#aad176ab2cbd0bd73c3c2065761af3ccc">tbb::blocked_range< Value ></a>
+</li>
+<li>bucket_count()
+: <a class="el" href="a00035.html#aa067a2a4db1d96f38555369a89deee64">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a>
+</li>
+<li>buffer_node()
+: <a class="el" href="a00027.html#a152f7bb9ab1f033ec56caa451327634c">tbb::flow::interface7::buffer_node< T, A ></a>
+</li>
+</ul>
+</div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/functions_func_0x63.html b/doc/html/functions_func_0x63.html
index a45f8fd..453554f 100644
--- a/doc/html/functions_func_0x63.html
+++ b/doc/html/functions_func_0x63.html
@@ -1,91 +1,166 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
 <title>Class Members - Functions</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
-  <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li id="current"><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="functions.html"><span>All</span></a></li>
-    <li id="current"><a href="functions_func.html"><span>Functions</span></a></li>
-    <li><a href="functions_vars.html"><span>Variables</span></a></li>
-    <li><a href="functions_type.html"><span>Typedefs</span></a></li>
-    <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
-    <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
-    <li><a href="functions_rela.html"><span>Related Functions</span></a></li>
-  </ul>
-</div>
-<div class="tabs">
-  <ul>
-    <li><a href="functions_func.html#index_a"><span>a</span></a></li>
-    <li><a href="functions_func_0x62.html#index_b"><span>b</span></a></li>
-    <li id="current"><a href="functions_func_0x63.html#index_c"><span>c</span></a></li>
-    <li><a href="functions_func_0x64.html#index_d"><span>d</span></a></li>
-    <li><a href="functions_func_0x65.html#index_e"><span>e</span></a></li>
-    <li><a href="functions_func_0x66.html#index_f"><span>f</span></a></li>
-    <li><a href="functions_func_0x67.html#index_g"><span>g</span></a></li>
-    <li><a href="functions_func_0x69.html#index_i"><span>i</span></a></li>
-    <li><a href="functions_func_0x6c.html#index_l"><span>l</span></a></li>
-    <li><a href="functions_func_0x6d.html#index_m"><span>m</span></a></li>
-    <li><a href="functions_func_0x6e.html#index_n"><span>n</span></a></li>
-    <li><a href="functions_func_0x6f.html#index_o"><span>o</span></a></li>
-    <li><a href="functions_func_0x70.html#index_p"><span>p</span></a></li>
-    <li><a href="functions_func_0x71.html#index_q"><span>q</span></a></li>
-    <li><a href="functions_func_0x72.html#index_r"><span>r</span></a></li>
-    <li><a href="functions_func_0x73.html#index_s"><span>s</span></a></li>
-    <li><a href="functions_func_0x74.html#index_t"><span>t</span></a></li>
-    <li><a href="functions_func_0x75.html#index_u"><span>u</span></a></li>
-    <li><a href="functions_func_0x77.html#index_w"><span>w</span></a></li>
-    <li><a href="functions_func_0x7e.html#index_~"><span>~</span></a></li>
-  </ul>
-</div>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li class="current"><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow3" class="tabs2">
+    <ul class="tablist">
+      <li><a href="functions.html"><span>All</span></a></li>
+      <li class="current"><a href="functions_func.html"><span>Functions</span></a></li>
+      <li><a href="functions_vars.html"><span>Variables</span></a></li>
+      <li><a href="functions_type.html"><span>Typedefs</span></a></li>
+      <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
+      <li><a href="functions_rela.html"><span>Related Functions</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow4" class="tabs3">
+    <ul class="tablist">
+      <li><a href="functions_func.html#index_a"><span>a</span></a></li>
+      <li><a href="functions_func_0x62.html#index_b"><span>b</span></a></li>
+      <li class="current"><a href="functions_func_0x63.html#index_c"><span>c</span></a></li>
+      <li><a href="functions_func_0x64.html#index_d"><span>d</span></a></li>
+      <li><a href="functions_func_0x65.html#index_e"><span>e</span></a></li>
+      <li><a href="functions_func_0x66.html#index_f"><span>f</span></a></li>
+      <li><a href="functions_func_0x67.html#index_g"><span>g</span></a></li>
+      <li><a href="functions_func_0x68.html#index_h"><span>h</span></a></li>
+      <li><a href="functions_func_0x69.html#index_i"><span>i</span></a></li>
+      <li><a href="functions_func_0x6a.html#index_j"><span>j</span></a></li>
+      <li><a href="functions_func_0x6c.html#index_l"><span>l</span></a></li>
+      <li><a href="functions_func_0x6d.html#index_m"><span>m</span></a></li>
+      <li><a href="functions_func_0x6e.html#index_n"><span>n</span></a></li>
+      <li><a href="functions_func_0x6f.html#index_o"><span>o</span></a></li>
+      <li><a href="functions_func_0x70.html#index_p"><span>p</span></a></li>
+      <li><a href="functions_func_0x71.html#index_q"><span>q</span></a></li>
+      <li><a href="functions_func_0x72.html#index_r"><span>r</span></a></li>
+      <li><a href="functions_func_0x73.html#index_s"><span>s</span></a></li>
+      <li><a href="functions_func_0x74.html#index_t"><span>t</span></a></li>
+      <li><a href="functions_func_0x75.html#index_u"><span>u</span></a></li>
+      <li><a href="functions_func_0x77.html#index_w"><span>w</span></a></li>
+      <li><a href="functions_func_0x7e.html#index_0x7e"><span>~</span></a></li>
+    </ul>
+  </div>
+</div><!-- top -->
+<div class="contents">
+ 
 
-<p>
- 
-<p>
-<h3><a class="anchor" name="index_c">- c -</a></h3><ul>
-<li>cancel_group_execution()
-: <a class="el" href="a00349.html#0f3fb4aac549ab642022450a4bd13326">tbb::task</a>, <a class="el" href="a00352.html#8bcdfdf4e6bfb76125b6de15c00b571d">tbb::task_group_context</a><li>capacity()
-: <a class="el" href="a00288.html#3ed6b9ae7217af5103d974045b6f5cd5">tbb::concurrent_vector< T, A ></a>, <a class="el" href="a00280.html#b2888b3e4e837d7e03f2c731963a402b">tbb::concurrent_bounded_queue< T, A ></a><li>cbegin()
-: <a class="el" href="a00300.html#e183dfc3f89dc8f57c06ba165fb89f66">tbb::flow::interface6::graph</a>, <a class="el" href="a00288.html#f88fcf1c920693c39bd9709db33c199f">tbb::concurrent_vector< T, A ></a><li>cend()
-: <a class="el" href="a00300.html#4866156e6a31d0399b61c6eb82ee81fd">tbb::flow::interface6::graph</a>, <a class="el" href="a00288.html#0c15a5d0f1cf75d687dabba07da1d46b">tbb::concurrent_vector< T, A ></a><li>change_group()
-: <a class="el" href="a00349.html#62247be9a637a814c8e8f4bcfb3a1908">tbb::task</a><li>clear()
-: <a class="el" href="a00354.html#fce446ee13e025969945328f3ff59b95">tbb::task_list</a>, <a class="el" href="a00322.html#2c84aef5b834b555ee220b176e25931e">tbb::pipeline</a>, <a class="el" href="a00293.html#a8764176d4b6014c5d65f1051851abc8">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a>, <a class="el" href="a00288.html#26f937a359a66b6aae904c3cd9a3c444">tbb::concurrent_vector< T, A ></a>, <a class="el" href="a00280.html#90b31e2954c6e4596c7900435a5f [...]
-: <a class="el" href="a00273.html#3336ba9480fd6c43e158f9beb024c050">tbb::blocked_range3d< PageValue, RowValue, ColValue ></a>, <a class="el" href="a00272.html#392a46759af2c884957115771affa7f4">tbb::blocked_range2d< RowValue, ColValue ></a><li>compact()
-: <a class="el" href="a00288.html#1693d1da41b1a8235871be9c6633be35">tbb::concurrent_vector< T, A ></a><li>concurrent_bounded_queue()
-: <a class="el" href="a00280.html#a5e04dcd7db9fd9b583b4e7df832246a">tbb::concurrent_bounded_queue< T, A ></a><li>concurrent_hash_map()
-: <a class="el" href="a00281.html#3bb2e3526ed741f0689c00d6cd022431">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a><li>concurrent_priority_queue()
-: <a class="el" href="a00285.html#c8b20e7430c5302936030bef59a562be">tbb::interface5::concurrent_priority_queue< T, Compare, A ></a><li>concurrent_queue()
-: <a class="el" href="a00287.html#9102b897776bd2d9e908e6604ff16b5f">tbb::deprecated::concurrent_queue< T, A ></a>, <a class="el" href="a00286.html#8a6b98ea11a867db8ac868f0113ca429">tbb::strict_ppl::concurrent_queue< T, A ></a><li>concurrent_vector()
-: <a class="el" href="a00288.html#4450de83c5862ea4bcd9443fd7e67419">tbb::concurrent_vector< T, A ></a><li>const_accessor()
-: <a class="el" href="a00284.html#27399c613eb1aecd4660803955dda09d">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator >::const_accessor</a><li>construct()
-: <a class="el" href="a00356.html#3999cb92a8b6a995b65ee9ae5c31751f">tbb::tbb_allocator< T ></a>, <a class="el" href="a00308.html#c6d3fa3032bf5d4be841729d7893e26d">tbb::interface6::memory_pool_allocator< T, P ></a>, <a class="el" href="a00276.html#273d07524d386efc1366bf37af5f91f4">tbb::cache_aligned_allocator< T ></a><li>context()
-: <a class="el" href="a00349.html#d8c36a93f3972590fbb65ff1cef3173b">tbb::task</a><li>continue_node()
-: <a class="el" href="a00290.html#869562787fcb5c57a90aea120f26d492">tbb::flow::interface6::continue_node< Output ></a><li>continue_receiver()
-: <a class="el" href="a00291.html#a0b292ed7fa6556b2a735f6d1e82dc74">tbb::flow::interface6::continue_receiver</a><li>count()
-: <a class="el" href="a00281.html#6968eb6feed2df36be421df0464297af">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a><li>crbegin()
-: <a class="el" href="a00288.html#db78a1d28c9c966050e8a2926d834a33">tbb::concurrent_vector< T, A ></a><li>crend()
-: <a class="el" href="a00288.html#fff9cece89438587997ebedf93c5e962">tbb::concurrent_vector< T, A ></a><li>current_slot()
-: <a class="el" href="a00350.html#e734de6a5f4a0bd4461c0cbdaa29b6ce">tbb::interface6::task_arena</a></ul>
+<h3><a class="anchor" id="index_c"></a>- c -</h3><ul>
+<li>capacity()
+: <a class="el" href="a00034.html#a526487063242569685af8c8d778d39e0">tbb::concurrent_bounded_queue< T, A ></a>
+, <a class="el" href="a00046.html#a96c2ae9dfedc24d62554feb627df76c3">tbb::concurrent_vector< T, A ></a>
+</li>
+<li>cbegin()
+: <a class="el" href="a00061.html#a2af8f195917817ce2b77ff7b6463c344">tbb::flow::interface7::graph</a>
+, <a class="el" href="a00046.html#a7a1c5441fa480c07ef37d9206b6260cc">tbb::concurrent_vector< T, A ></a>
+</li>
+<li>cend()
+: <a class="el" href="a00046.html#a9ea80faf139feb54d6576c036e4ba898">tbb::concurrent_vector< T, A ></a>
+, <a class="el" href="a00061.html#acf6d3f610c2675eaf8bf2a40853081aa">tbb::flow::interface7::graph</a>
+</li>
+<li>clear()
+: <a class="el" href="a00037.html#a2459166998a4103880d603b237c429e6">tbb::interface5::concurrent_priority_queue< T, Compare, A ></a>
+, <a class="el" href="a00038.html#ad3384818fb6350a494d5ec62445e59ee">tbb::strict_ppl::concurrent_queue< T, A ></a>
+, <a class="el" href="a00034.html#a246be3920e079ea4847933f106baa98f">tbb::concurrent_bounded_queue< T, A ></a>
+, <a class="el" href="a00046.html#a526ba408fb3064ef846940d633b8f365">tbb::concurrent_vector< T, A ></a>
+, <a class="el" href="a00052.html#a85a0d8f088ef1ee07aeb2c0e944a4a5e">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a>
+, <a class="el" href="a00089.html#ae53edbda1771eeaa254d78ae6100a762">tbb::pipeline</a>
+, <a class="el" href="a00035.html#ab8295bc260b5e4df883fef11574b84c6">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a>
+</li>
+<li>cols()
+: <a class="el" href="a00022.html#af3bccfaf90126b285491096f78ca9473">tbb::blocked_range2d< RowValue, ColValue ></a>
+, <a class="el" href="a00023.html#a308d7089a1d53ff26770a7040ed817cd">tbb::blocked_range3d< PageValue, RowValue, ColValue ></a>
+</li>
+<li>compact()
+: <a class="el" href="a00046.html#af2101247808fd0e81b992724e317a7f3">tbb::concurrent_vector< T, A ></a>
+</li>
+<li>concurrent_bounded_queue()
+: <a class="el" href="a00034.html#a85f8a800cae02b601f36ad7a655a0126">tbb::concurrent_bounded_queue< T, A ></a>
+</li>
+<li>concurrent_hash_map()
+: <a class="el" href="a00035.html#aa3a9767b525144a2afb69ed125714c53">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a>
+</li>
+<li>concurrent_priority_queue()
+: <a class="el" href="a00037.html#a405be01bac4048f214797c287e2571a1">tbb::interface5::concurrent_priority_queue< T, Compare, A ></a>
+</li>
+<li>concurrent_queue()
+: <a class="el" href="a00038.html#a43ac953152e60815c09fe4a4d4a623a9">tbb::strict_ppl::concurrent_queue< T, A ></a>
+, <a class="el" href="a00039.html#adc192aba16ef123aebbc4ada0fb53708">tbb::deprecated::concurrent_queue< T, A ></a>
+, <a class="el" href="a00038.html#a49b2e16902577cd3174355be0fa684e5">tbb::strict_ppl::concurrent_queue< T, A ></a>
+</li>
+<li>concurrent_unordered_map()
+: <a class="el" href="a00040.html#aa45010d834cc5e082321b49fec06f73d">tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator ></a>
+</li>
+<li>concurrent_unordered_multimap()
+: <a class="el" href="a00042.html#a169314a424d47679e4aa343b70f75f00">tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator ></a>
+</li>
+<li>concurrent_unordered_multiset()
+: <a class="el" href="a00043.html#ab2fa28924f52578bb59200b9ffa976c8">tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator ></a>
+</li>
+<li>concurrent_unordered_set()
+: <a class="el" href="a00044.html#ae0570fa46456245509cc789e17bd0c21">tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator ></a>
+</li>
+<li>concurrent_vector()
+: <a class="el" href="a00046.html#abb0e376a31c3fdb91beaaa98441735f5">tbb::concurrent_vector< T, A ></a>
+</li>
+<li>const_accessor()
+: <a class="el" href="a00047.html#a7b26d22d228cf0d8678c9b346c63752c">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::const_accessor</a>
+</li>
+<li>construct()
+: <a class="el" href="a00144.html#af54fa3029e33cebe5ba64a8538306fdf">tbb::tbb_allocator< T ></a>
+, <a class="el" href="a00029.html#ab316f80a66b991801b4ec4ea88b852d9">tbb::cache_aligned_allocator< T ></a>
+, <a class="el" href="a00074.html#ac51b34ef90ecabdd2e0483e25603a15b">tbb::interface6::memory_pool_allocator< T, P ></a>
+</li>
+<li>continue_node()
+: <a class="el" href="a00049.html#a05e8957de1cb5a940d2ed3f9fc7637ed">tbb::flow::interface7::continue_node< Output ></a>
+</li>
+<li>continue_receiver()
+: <a class="el" href="a00050.html#a1ac173b0a739731b0b1db5a1e91d9326">tbb::flow::interface7::continue_receiver</a>
+</li>
+<li>count()
+: <a class="el" href="a00035.html#ac375d3884bf9c80efe56117757c822e7">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a>
+</li>
+<li>crbegin()
+: <a class="el" href="a00046.html#a2627db4a7949522ea4727320b23a6348">tbb::concurrent_vector< T, A ></a>
+</li>
+<li>crend()
+: <a class="el" href="a00046.html#ad097225c529dbb24cc0e13a444ab4752">tbb::concurrent_vector< T, A ></a>
+</li>
+<li>current_slot()
+: <a class="el" href="a00135.html#a4c107b6a4cc79183923fe2433d25644f">tbb::interface7::task_arena</a>
+</li>
+</ul>
+</div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/functions_func_0x64.html b/doc/html/functions_func_0x64.html
index 5948b5b..b8bc8b5 100644
--- a/doc/html/functions_func_0x64.html
+++ b/doc/html/functions_func_0x64.html
@@ -1,74 +1,114 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
 <title>Class Members - Functions</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
-  <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li id="current"><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="functions.html"><span>All</span></a></li>
-    <li id="current"><a href="functions_func.html"><span>Functions</span></a></li>
-    <li><a href="functions_vars.html"><span>Variables</span></a></li>
-    <li><a href="functions_type.html"><span>Typedefs</span></a></li>
-    <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
-    <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
-    <li><a href="functions_rela.html"><span>Related Functions</span></a></li>
-  </ul>
-</div>
-<div class="tabs">
-  <ul>
-    <li><a href="functions_func.html#index_a"><span>a</span></a></li>
-    <li><a href="functions_func_0x62.html#index_b"><span>b</span></a></li>
-    <li><a href="functions_func_0x63.html#index_c"><span>c</span></a></li>
-    <li id="current"><a href="functions_func_0x64.html#index_d"><span>d</span></a></li>
-    <li><a href="functions_func_0x65.html#index_e"><span>e</span></a></li>
-    <li><a href="functions_func_0x66.html#index_f"><span>f</span></a></li>
-    <li><a href="functions_func_0x67.html#index_g"><span>g</span></a></li>
-    <li><a href="functions_func_0x69.html#index_i"><span>i</span></a></li>
-    <li><a href="functions_func_0x6c.html#index_l"><span>l</span></a></li>
-    <li><a href="functions_func_0x6d.html#index_m"><span>m</span></a></li>
-    <li><a href="functions_func_0x6e.html#index_n"><span>n</span></a></li>
-    <li><a href="functions_func_0x6f.html#index_o"><span>o</span></a></li>
-    <li><a href="functions_func_0x70.html#index_p"><span>p</span></a></li>
-    <li><a href="functions_func_0x71.html#index_q"><span>q</span></a></li>
-    <li><a href="functions_func_0x72.html#index_r"><span>r</span></a></li>
-    <li><a href="functions_func_0x73.html#index_s"><span>s</span></a></li>
-    <li><a href="functions_func_0x74.html#index_t"><span>t</span></a></li>
-    <li><a href="functions_func_0x75.html#index_u"><span>u</span></a></li>
-    <li><a href="functions_func_0x77.html#index_w"><span>w</span></a></li>
-    <li><a href="functions_func_0x7e.html#index_~"><span>~</span></a></li>
-  </ul>
-</div>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li class="current"><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow3" class="tabs2">
+    <ul class="tablist">
+      <li><a href="functions.html"><span>All</span></a></li>
+      <li class="current"><a href="functions_func.html"><span>Functions</span></a></li>
+      <li><a href="functions_vars.html"><span>Variables</span></a></li>
+      <li><a href="functions_type.html"><span>Typedefs</span></a></li>
+      <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
+      <li><a href="functions_rela.html"><span>Related Functions</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow4" class="tabs3">
+    <ul class="tablist">
+      <li><a href="functions_func.html#index_a"><span>a</span></a></li>
+      <li><a href="functions_func_0x62.html#index_b"><span>b</span></a></li>
+      <li><a href="functions_func_0x63.html#index_c"><span>c</span></a></li>
+      <li class="current"><a href="functions_func_0x64.html#index_d"><span>d</span></a></li>
+      <li><a href="functions_func_0x65.html#index_e"><span>e</span></a></li>
+      <li><a href="functions_func_0x66.html#index_f"><span>f</span></a></li>
+      <li><a href="functions_func_0x67.html#index_g"><span>g</span></a></li>
+      <li><a href="functions_func_0x68.html#index_h"><span>h</span></a></li>
+      <li><a href="functions_func_0x69.html#index_i"><span>i</span></a></li>
+      <li><a href="functions_func_0x6a.html#index_j"><span>j</span></a></li>
+      <li><a href="functions_func_0x6c.html#index_l"><span>l</span></a></li>
+      <li><a href="functions_func_0x6d.html#index_m"><span>m</span></a></li>
+      <li><a href="functions_func_0x6e.html#index_n"><span>n</span></a></li>
+      <li><a href="functions_func_0x6f.html#index_o"><span>o</span></a></li>
+      <li><a href="functions_func_0x70.html#index_p"><span>p</span></a></li>
+      <li><a href="functions_func_0x71.html#index_q"><span>q</span></a></li>
+      <li><a href="functions_func_0x72.html#index_r"><span>r</span></a></li>
+      <li><a href="functions_func_0x73.html#index_s"><span>s</span></a></li>
+      <li><a href="functions_func_0x74.html#index_t"><span>t</span></a></li>
+      <li><a href="functions_func_0x75.html#index_u"><span>u</span></a></li>
+      <li><a href="functions_func_0x77.html#index_w"><span>w</span></a></li>
+      <li><a href="functions_func_0x7e.html#index_0x7e"><span>~</span></a></li>
+    </ul>
+  </div>
+</div><!-- top -->
+<div class="contents">
+ 
 
-<p>
- 
-<p>
-<h3><a class="anchor" name="index_d">- d -</a></h3><ul>
+<h3><a class="anchor" id="index_d"></a>- d -</h3><ul>
 <li>deallocate()
-: <a class="el" href="a00356.html#fdd011fdf2f9ad07006dc7c0a7ec1da2">tbb::tbb_allocator< T ></a>, <a class="el" href="a00337.html#f806a238c18cbcfb531e1e0a0d2ec59d">tbb::scalable_allocator< T ></a>, <a class="el" href="a00308.html#4e24a03de38638af07548383024c54ab">tbb::interface6::memory_pool_allocator< T, P ></a>, <a class="el" href="a00276.html#3d4eadf188f7d85d3805ae534e0b8e1c">tbb::cache_aligned_allocator< T ></a><li>decrement_ref_count()
-: <a class="el" href="a00349.html#ef4680f5c148020c5e7e43ddef44cd5d">tbb::task</a><li>decrement_wait_count()
-: <a class="el" href="a00300.html#29b85506870f13a884a21655aec2a65d">tbb::flow::interface6::graph</a><li>destroy()
-: <a class="el" href="a00359.html#921875bbacd2c8a5f324c7da7a415262">tbb::internal::tbb_exception_ptr</a>, <a class="el" href="a00311.html#7a46873119d9f85a7b0009c13e41a258">tbb::movable_exception< ExceptionData ></a>, <a class="el" href="a00278.html#93d875d3555502ff6f18513525de204c">tbb::captured_exception</a>, <a class="el" href="a00358.html#66c94938eca8bf88b76f3eccaaf215d8">tbb::tbb_exception</a>, <a class="el" href="a00349.html#dfaacf92685e5f86393bf657b2853bf8">tbb::task</a><li>d [...]
-: <a class="el" href="a00346.html#c2c2c38a08cb9080e87099fac3e5bc94">tbb::spin_rw_mutex_v3::scoped_lock</a>, <a class="el" href="a00329.html#0d2f93edf7b15ec4bcee138823220c52">tbb::queuing_rw_mutex::scoped_lock</a></ul>
+: <a class="el" href="a00029.html#a7f7310e046c4b6b8618864de8e27a471">tbb::cache_aligned_allocator< T ></a>
+, <a class="el" href="a00074.html#a9fcf288f2d653972d1bdc0c65abebed4">tbb::interface6::memory_pool_allocator< T, P ></a>
+, <a class="el" href="a00144.html#a28e333e0fff56dd53c20b82cfee430ab">tbb::tbb_allocator< T ></a>
+, <a class="el" href="a00111.html#a0632b19f25e5d5f86f18b3101925f488">tbb::scalable_allocator< T ></a>
+</li>
+<li>debug_wait_until_empty()
+: <a class="el" href="a00135.html#a07d87dff8c6116ee349684e10f754aeb">tbb::interface7::task_arena</a>
+</li>
+<li>decrement_wait_count()
+: <a class="el" href="a00061.html#af16d14eaed1355ae376bb78dde7762c3">tbb::flow::interface7::graph</a>
+</li>
+<li>default_num_threads()
+: <a class="el" href="a00141.html#aa0c0d46ec09bedc1ee876aa8aa87c3d1">tbb::task_scheduler_init</a>
+</li>
+<li>destroy()
+: <a class="el" href="a00146.html#ad3bc09bf78c33f19a0bcdf882fdf9d41">tbb::tbb_exception</a>
+, <a class="el" href="a00147.html#a38d3ca480e2758a67bcd7427b156daae">tbb::internal::tbb_exception_ptr</a>
+, <a class="el" href="a00029.html#af2fd054d055403d4ea669fd3af661cc8">tbb::cache_aligned_allocator< T ></a>
+, <a class="el" href="a00074.html#a2223b6469f88aadc432a4b3f88728d0f">tbb::interface6::memory_pool_allocator< T, P ></a>
+, <a class="el" href="a00078.html#a02f0401b465690de797face2432d9421">tbb::movable_exception< ExceptionData ></a>
+, <a class="el" href="a00144.html#ac7b1b393a8ff3399079328c0971c1996">tbb::tbb_allocator< T ></a>
+, <a class="el" href="a00031.html#a3006b6825dda6c746d28fb748f5675de">tbb::captured_exception</a>
+</li>
+<li>detach()
+: <a class="el" href="a00149.html#a80a31a41708872af5557b907f129b19b">tbb::internal::tbb_thread_v3</a>
+</li>
+<li>downgrade_to_reader()
+: <a class="el" href="a00114.html#aa693c05221d977856a98270a255fe5df">tbb::spin_rw_mutex_v3::scoped_lock</a>
+, <a class="el" href="a00119.html#af0af63035147a3d8422f8c8d7b8d2629">tbb::queuing_rw_mutex::scoped_lock</a>
+</li>
+</ul>
+</div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/functions_func_0x65.html b/doc/html/functions_func_0x65.html
index 1faa242..9f908fc 100644
--- a/doc/html/functions_func_0x65.html
+++ b/doc/html/functions_func_0x65.html
@@ -1,77 +1,123 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
 <title>Class Members - Functions</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
-  <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li id="current"><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="functions.html"><span>All</span></a></li>
-    <li id="current"><a href="functions_func.html"><span>Functions</span></a></li>
-    <li><a href="functions_vars.html"><span>Variables</span></a></li>
-    <li><a href="functions_type.html"><span>Typedefs</span></a></li>
-    <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
-    <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
-    <li><a href="functions_rela.html"><span>Related Functions</span></a></li>
-  </ul>
-</div>
-<div class="tabs">
-  <ul>
-    <li><a href="functions_func.html#index_a"><span>a</span></a></li>
-    <li><a href="functions_func_0x62.html#index_b"><span>b</span></a></li>
-    <li><a href="functions_func_0x63.html#index_c"><span>c</span></a></li>
-    <li><a href="functions_func_0x64.html#index_d"><span>d</span></a></li>
-    <li id="current"><a href="functions_func_0x65.html#index_e"><span>e</span></a></li>
-    <li><a href="functions_func_0x66.html#index_f"><span>f</span></a></li>
-    <li><a href="functions_func_0x67.html#index_g"><span>g</span></a></li>
-    <li><a href="functions_func_0x69.html#index_i"><span>i</span></a></li>
-    <li><a href="functions_func_0x6c.html#index_l"><span>l</span></a></li>
-    <li><a href="functions_func_0x6d.html#index_m"><span>m</span></a></li>
-    <li><a href="functions_func_0x6e.html#index_n"><span>n</span></a></li>
-    <li><a href="functions_func_0x6f.html#index_o"><span>o</span></a></li>
-    <li><a href="functions_func_0x70.html#index_p"><span>p</span></a></li>
-    <li><a href="functions_func_0x71.html#index_q"><span>q</span></a></li>
-    <li><a href="functions_func_0x72.html#index_r"><span>r</span></a></li>
-    <li><a href="functions_func_0x73.html#index_s"><span>s</span></a></li>
-    <li><a href="functions_func_0x74.html#index_t"><span>t</span></a></li>
-    <li><a href="functions_func_0x75.html#index_u"><span>u</span></a></li>
-    <li><a href="functions_func_0x77.html#index_w"><span>w</span></a></li>
-    <li><a href="functions_func_0x7e.html#index_~"><span>~</span></a></li>
-  </ul>
-</div>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li class="current"><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow3" class="tabs2">
+    <ul class="tablist">
+      <li><a href="functions.html"><span>All</span></a></li>
+      <li class="current"><a href="functions_func.html"><span>Functions</span></a></li>
+      <li><a href="functions_vars.html"><span>Variables</span></a></li>
+      <li><a href="functions_type.html"><span>Typedefs</span></a></li>
+      <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
+      <li><a href="functions_rela.html"><span>Related Functions</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow4" class="tabs3">
+    <ul class="tablist">
+      <li><a href="functions_func.html#index_a"><span>a</span></a></li>
+      <li><a href="functions_func_0x62.html#index_b"><span>b</span></a></li>
+      <li><a href="functions_func_0x63.html#index_c"><span>c</span></a></li>
+      <li><a href="functions_func_0x64.html#index_d"><span>d</span></a></li>
+      <li class="current"><a href="functions_func_0x65.html#index_e"><span>e</span></a></li>
+      <li><a href="functions_func_0x66.html#index_f"><span>f</span></a></li>
+      <li><a href="functions_func_0x67.html#index_g"><span>g</span></a></li>
+      <li><a href="functions_func_0x68.html#index_h"><span>h</span></a></li>
+      <li><a href="functions_func_0x69.html#index_i"><span>i</span></a></li>
+      <li><a href="functions_func_0x6a.html#index_j"><span>j</span></a></li>
+      <li><a href="functions_func_0x6c.html#index_l"><span>l</span></a></li>
+      <li><a href="functions_func_0x6d.html#index_m"><span>m</span></a></li>
+      <li><a href="functions_func_0x6e.html#index_n"><span>n</span></a></li>
+      <li><a href="functions_func_0x6f.html#index_o"><span>o</span></a></li>
+      <li><a href="functions_func_0x70.html#index_p"><span>p</span></a></li>
+      <li><a href="functions_func_0x71.html#index_q"><span>q</span></a></li>
+      <li><a href="functions_func_0x72.html#index_r"><span>r</span></a></li>
+      <li><a href="functions_func_0x73.html#index_s"><span>s</span></a></li>
+      <li><a href="functions_func_0x74.html#index_t"><span>t</span></a></li>
+      <li><a href="functions_func_0x75.html#index_u"><span>u</span></a></li>
+      <li><a href="functions_func_0x77.html#index_w"><span>w</span></a></li>
+      <li><a href="functions_func_0x7e.html#index_0x7e"><span>~</span></a></li>
+    </ul>
+  </div>
+</div><!-- top -->
+<div class="contents">
+ 
 
-<p>
- 
-<p>
-<h3><a class="anchor" name="index_e">- e -</a></h3><ul>
+<h3><a class="anchor" id="index_e"></a>- e -</h3><ul>
 <li>empty()
-: <a class="el" href="a00354.html#f3ac31e092814b90929f81bb30441959">tbb::task_list</a>, <a class="el" href="a00293.html#72595886d0ac8fd0543f90038570510d">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a>, <a class="el" href="a00288.html#c6426cb93cf20d3af40f3c90f1f0481a">tbb::concurrent_vector< T, A ></a>, <a class="el" href="a00280.html#f64924f2ee9225c368a270fc3c394db9">tbb::concurrent_bounded_queue< T, A ></a>, <a class="el" href="a00286.htm [...]
-: <a class="el" href="a00300.html#907bd06606818c36f52420fe8d469d35">tbb::flow::interface6::graph</a>, <a class="el" href="a00293.html#cb448bb4977ce366ceb7344085cc7050">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a>, <a class="el" href="a00288.html#1e6aa764ce5a1cbd24526f68bc0a2f6b">tbb::concurrent_vector< T, A ></a>, <a class="el" href="a00271.html#8b929d93ddc13f148b11bceef3a3bdf8">tbb::blocked_range< Value ></a>, <a class="el" href="a00265 [...]
-: <a class="el" href="a00350.html#780277a89e35868abdec843fecaa2237">tbb::interface6::task_arena</a>, <a class="el" href="a00349.html#fe6bf6aaf84e664134fabb6c4f409ea9">tbb::task</a><li>enumerable_thread_specific()
-: <a class="el" href="a00293.html#7bce6829981c9efe3f59cae2355e383e">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a><li>erase()
-: <a class="el" href="a00281.html#5f12d150d421420965db07368666a84f">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a><li>exclude()
-: <a class="el" href="a00281.html#0c964214eb38f54603aa75fdff6d2709">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a><li>execute()
-: <a class="el" href="a00350.html#082803bb20347e64fed2c11db8e9670e">tbb::interface6::task_arena</a>, <a class="el" href="a00349.html#22c298cd40937a431a06777423f002f6">tbb::task</a>, <a class="el" href="a00291.html#2165b726212975be532cff7b2f001834">tbb::flow::interface6::continue_receiver</a>, <a class="el" href="a00263.html#641c8dc43652589d12eefaef130c094d">tbb::interface6::aggregator</a><li>execute_impl()
-: <a class="el" href="a00264.html#fdd0a9ce522246b9e14ae5e44bc72d31">tbb::interface6::aggregator_ext< handler_type ></a></ul>
+: <a class="el" href="a00021.html#a59dec03416b3fefbf69600f798177710">tbb::blocked_range< Value ></a>
+, <a class="el" href="a00022.html#a5805972c8c41b2681d286f9c9771cf52">tbb::blocked_range2d< RowValue, ColValue ></a>
+, <a class="el" href="a00047.html#a6299b523d2ae8e2613f1bc160ca99b85">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::const_accessor</a>
+, <a class="el" href="a00034.html#a8c59578f28c5fb4718b0eff43776e879">tbb::concurrent_bounded_queue< T, A ></a>
+, <a class="el" href="a00046.html#aa3f6774107e65642f73c0dcc9a962fe7">tbb::concurrent_vector< T, A ></a>
+, <a class="el" href="a00035.html#a5e05f2a1ca3accfb4252d7ee82d1e990">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a>
+, <a class="el" href="a00052.html#adfa4b2e13e47ab825dc40c4f195d2bc5">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a>
+, <a class="el" href="a00023.html#aea992e0cd3d105f964a633b1a0a1a05f">tbb::blocked_range3d< PageValue, RowValue, ColValue ></a>
+, <a class="el" href="a00037.html#a8dec2dd0e8b22af14f1753eaef1bf5eb">tbb::interface5::concurrent_priority_queue< T, Compare, A ></a>
+, <a class="el" href="a00038.html#aeda3156929d0c250faed7b807ca6ab0e">tbb::strict_ppl::concurrent_queue< T, A ></a>
+</li>
+<li>end()
+: <a class="el" href="a00052.html#a5ed0248f10a7aa5045d2cda77dad9588">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a>
+, <a class="el" href="a00061.html#a221a7ee0a1f0e69a01add5c1dda43be7">tbb::flow::interface7::graph</a>
+, <a class="el" href="a00014.html#ae95620e1159984a2670bd418ed4748d0">tbb::aligned_space< T, N ></a>
+, <a class="el" href="a00021.html#a99f829599d3e51b181a30b4cd57b06c6">tbb::blocked_range< Value ></a>
+, <a class="el" href="a00046.html#aad2c07653375e4a5f89c33b375eda610">tbb::concurrent_vector< T, A ></a>
+, <a class="el" href="a00052.html#ad225e2e8a968b131bf05d72f5686b924">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a>
+</li>
+<li>enqueue()
+: <a class="el" href="a00135.html#a8034275ed2fffa68f70484043b90d406">tbb::interface7::task_arena</a>
+</li>
+<li>enumerable_thread_specific()
+: <a class="el" href="a00052.html#a6f0249ee95fa56665da4b6984f3a685a">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a>
+</li>
+<li>erase()
+: <a class="el" href="a00035.html#a3ed0fbcc6cfd4db8242e100355ac1fa5">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a>
+</li>
+<li>exclude()
+: <a class="el" href="a00035.html#a6fec452b31b8f0e185dc2de64b7128b2">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a>
+</li>
+<li>execute()
+: <a class="el" href="a00050.html#adf70ce80d67a565d04e029da461bbe72">tbb::flow::interface7::continue_receiver</a>
+, <a class="el" href="a00011.html#aa7cc924b6f0d17578d61fd9002f59f84">tbb::interface6::aggregator</a>
+, <a class="el" href="a00135.html#af0c96f325b59d567b4c720f2830adde8">tbb::interface7::task_arena</a>
+</li>
+<li>execute_impl()
+: <a class="el" href="a00012.html#ad376e5c31d10e885f33964592aa629d4">tbb::interface6::aggregator_ext< handler_type ></a>
+</li>
+</ul>
+</div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/functions_func_0x66.html b/doc/html/functions_func_0x66.html
index ce669c8..2e49763 100644
--- a/doc/html/functions_func_0x66.html
+++ b/doc/html/functions_func_0x66.html
@@ -1,74 +1,103 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
 <title>Class Members - Functions</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
-  <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li id="current"><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="functions.html"><span>All</span></a></li>
-    <li id="current"><a href="functions_func.html"><span>Functions</span></a></li>
-    <li><a href="functions_vars.html"><span>Variables</span></a></li>
-    <li><a href="functions_type.html"><span>Typedefs</span></a></li>
-    <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
-    <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
-    <li><a href="functions_rela.html"><span>Related Functions</span></a></li>
-  </ul>
-</div>
-<div class="tabs">
-  <ul>
-    <li><a href="functions_func.html#index_a"><span>a</span></a></li>
-    <li><a href="functions_func_0x62.html#index_b"><span>b</span></a></li>
-    <li><a href="functions_func_0x63.html#index_c"><span>c</span></a></li>
-    <li><a href="functions_func_0x64.html#index_d"><span>d</span></a></li>
-    <li><a href="functions_func_0x65.html#index_e"><span>e</span></a></li>
-    <li id="current"><a href="functions_func_0x66.html#index_f"><span>f</span></a></li>
-    <li><a href="functions_func_0x67.html#index_g"><span>g</span></a></li>
-    <li><a href="functions_func_0x69.html#index_i"><span>i</span></a></li>
-    <li><a href="functions_func_0x6c.html#index_l"><span>l</span></a></li>
-    <li><a href="functions_func_0x6d.html#index_m"><span>m</span></a></li>
-    <li><a href="functions_func_0x6e.html#index_n"><span>n</span></a></li>
-    <li><a href="functions_func_0x6f.html#index_o"><span>o</span></a></li>
-    <li><a href="functions_func_0x70.html#index_p"><span>p</span></a></li>
-    <li><a href="functions_func_0x71.html#index_q"><span>q</span></a></li>
-    <li><a href="functions_func_0x72.html#index_r"><span>r</span></a></li>
-    <li><a href="functions_func_0x73.html#index_s"><span>s</span></a></li>
-    <li><a href="functions_func_0x74.html#index_t"><span>t</span></a></li>
-    <li><a href="functions_func_0x75.html#index_u"><span>u</span></a></li>
-    <li><a href="functions_func_0x77.html#index_w"><span>w</span></a></li>
-    <li><a href="functions_func_0x7e.html#index_~"><span>~</span></a></li>
-  </ul>
-</div>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li class="current"><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow3" class="tabs2">
+    <ul class="tablist">
+      <li><a href="functions.html"><span>All</span></a></li>
+      <li class="current"><a href="functions_func.html"><span>Functions</span></a></li>
+      <li><a href="functions_vars.html"><span>Variables</span></a></li>
+      <li><a href="functions_type.html"><span>Typedefs</span></a></li>
+      <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
+      <li><a href="functions_rela.html"><span>Related Functions</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow4" class="tabs3">
+    <ul class="tablist">
+      <li><a href="functions_func.html#index_a"><span>a</span></a></li>
+      <li><a href="functions_func_0x62.html#index_b"><span>b</span></a></li>
+      <li><a href="functions_func_0x63.html#index_c"><span>c</span></a></li>
+      <li><a href="functions_func_0x64.html#index_d"><span>d</span></a></li>
+      <li><a href="functions_func_0x65.html#index_e"><span>e</span></a></li>
+      <li class="current"><a href="functions_func_0x66.html#index_f"><span>f</span></a></li>
+      <li><a href="functions_func_0x67.html#index_g"><span>g</span></a></li>
+      <li><a href="functions_func_0x68.html#index_h"><span>h</span></a></li>
+      <li><a href="functions_func_0x69.html#index_i"><span>i</span></a></li>
+      <li><a href="functions_func_0x6a.html#index_j"><span>j</span></a></li>
+      <li><a href="functions_func_0x6c.html#index_l"><span>l</span></a></li>
+      <li><a href="functions_func_0x6d.html#index_m"><span>m</span></a></li>
+      <li><a href="functions_func_0x6e.html#index_n"><span>n</span></a></li>
+      <li><a href="functions_func_0x6f.html#index_o"><span>o</span></a></li>
+      <li><a href="functions_func_0x70.html#index_p"><span>p</span></a></li>
+      <li><a href="functions_func_0x71.html#index_q"><span>q</span></a></li>
+      <li><a href="functions_func_0x72.html#index_r"><span>r</span></a></li>
+      <li><a href="functions_func_0x73.html#index_s"><span>s</span></a></li>
+      <li><a href="functions_func_0x74.html#index_t"><span>t</span></a></li>
+      <li><a href="functions_func_0x75.html#index_u"><span>u</span></a></li>
+      <li><a href="functions_func_0x77.html#index_w"><span>w</span></a></li>
+      <li><a href="functions_func_0x7e.html#index_0x7e"><span>~</span></a></li>
+    </ul>
+  </div>
+</div><!-- top -->
+<div class="contents">
+ 
 
-<p>
- 
-<p>
-<h3><a class="anchor" name="index_f">- f -</a></h3><ul>
-<li>finalize()
-: <a class="el" href="a00294.html#56275eb889c77c4807967133e21401bd">tbb::filter</a><li>find()
-: <a class="el" href="a00281.html#7bc475d1968f7f0af3d736d7e8a0d7df">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a><li>forward_task()
-: <a class="el" href="a00275.html#8954338d1a7740f9be80455ba27e8eed">tbb::flow::interface6::buffer_node< T, A ></a><li>front()
-: <a class="el" href="a00288.html#502615a858eb9fa0390ee59169065e90">tbb::concurrent_vector< T, A ></a><li>function_node()
-: <a class="el" href="a00299.html#01055081ed477714503820035db3a965">tbb::flow::interface6::function_node< Input, Output, queueing, Allocator ></a>, <a class="el" href="a00298.html#d5132323fd2ac6a00ea0c78beda78723">tbb::flow::interface6::function_node< Input, Output,, Allocator ></a></ul>
+<h3><a class="anchor" id="index_f"></a>- f -</h3><ul>
+<li>find()
+: <a class="el" href="a00035.html#a27a3f296dc170ae25f8e3fd9efa93cff">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a>
+</li>
+<li>finish()
+: <a class="el" href="a00013.html#ac7edadfe74f475783f3b429904e7010a">tbb::interface6::aggregator_operation</a>
+</li>
+<li>fixed_pool()
+: <a class="el" href="a00056.html#aa3811fe3d437ba2eefa926d52732491a">tbb::interface6::fixed_pool</a>
+</li>
+<li>forward_task()
+: <a class="el" href="a00027.html#a8910a497040a4c6f1a6a1fb7a33a8888">tbb::flow::interface7::buffer_node< T, A ></a>
+</li>
+<li>front()
+: <a class="el" href="a00046.html#a9067259572c2c41d014840d0f9d3cdce">tbb::concurrent_vector< T, A ></a>
+</li>
+<li>function_node()
+: <a class="el" href="a00059.html#aecf13ece7b2106f4630e46d6c5327997">tbb::flow::interface7::function_node< Input, Output, graph_buffer_policy, Allocator ></a>
+, <a class="el" href="a00060.html#ad1cb832fe1edee0b0d75e569b62c9c1c">tbb::flow::interface7::function_node< Input, Output, queueing, Allocator ></a>
+, <a class="el" href="a00059.html#aea86b14a72337b597c80d706ca257402">tbb::flow::interface7::function_node< Input, Output, graph_buffer_policy, Allocator ></a>
+</li>
+</ul>
+</div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/functions_func_0x67.html b/doc/html/functions_func_0x67.html
index f5798b4..f47595d 100644
--- a/doc/html/functions_func_0x67.html
+++ b/doc/html/functions_func_0x67.html
@@ -1,76 +1,105 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
 <title>Class Members - Functions</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
-  <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li id="current"><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="functions.html"><span>All</span></a></li>
-    <li id="current"><a href="functions_func.html"><span>Functions</span></a></li>
-    <li><a href="functions_vars.html"><span>Variables</span></a></li>
-    <li><a href="functions_type.html"><span>Typedefs</span></a></li>
-    <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
-    <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
-    <li><a href="functions_rela.html"><span>Related Functions</span></a></li>
-  </ul>
-</div>
-<div class="tabs">
-  <ul>
-    <li><a href="functions_func.html#index_a"><span>a</span></a></li>
-    <li><a href="functions_func_0x62.html#index_b"><span>b</span></a></li>
-    <li><a href="functions_func_0x63.html#index_c"><span>c</span></a></li>
-    <li><a href="functions_func_0x64.html#index_d"><span>d</span></a></li>
-    <li><a href="functions_func_0x65.html#index_e"><span>e</span></a></li>
-    <li><a href="functions_func_0x66.html#index_f"><span>f</span></a></li>
-    <li id="current"><a href="functions_func_0x67.html#index_g"><span>g</span></a></li>
-    <li><a href="functions_func_0x69.html#index_i"><span>i</span></a></li>
-    <li><a href="functions_func_0x6c.html#index_l"><span>l</span></a></li>
-    <li><a href="functions_func_0x6d.html#index_m"><span>m</span></a></li>
-    <li><a href="functions_func_0x6e.html#index_n"><span>n</span></a></li>
-    <li><a href="functions_func_0x6f.html#index_o"><span>o</span></a></li>
-    <li><a href="functions_func_0x70.html#index_p"><span>p</span></a></li>
-    <li><a href="functions_func_0x71.html#index_q"><span>q</span></a></li>
-    <li><a href="functions_func_0x72.html#index_r"><span>r</span></a></li>
-    <li><a href="functions_func_0x73.html#index_s"><span>s</span></a></li>
-    <li><a href="functions_func_0x74.html#index_t"><span>t</span></a></li>
-    <li><a href="functions_func_0x75.html#index_u"><span>u</span></a></li>
-    <li><a href="functions_func_0x77.html#index_w"><span>w</span></a></li>
-    <li><a href="functions_func_0x7e.html#index_~"><span>~</span></a></li>
-  </ul>
-</div>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li class="current"><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow3" class="tabs2">
+    <ul class="tablist">
+      <li><a href="functions.html"><span>All</span></a></li>
+      <li class="current"><a href="functions_func.html"><span>Functions</span></a></li>
+      <li><a href="functions_vars.html"><span>Variables</span></a></li>
+      <li><a href="functions_type.html"><span>Typedefs</span></a></li>
+      <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
+      <li><a href="functions_rela.html"><span>Related Functions</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow4" class="tabs3">
+    <ul class="tablist">
+      <li><a href="functions_func.html#index_a"><span>a</span></a></li>
+      <li><a href="functions_func_0x62.html#index_b"><span>b</span></a></li>
+      <li><a href="functions_func_0x63.html#index_c"><span>c</span></a></li>
+      <li><a href="functions_func_0x64.html#index_d"><span>d</span></a></li>
+      <li><a href="functions_func_0x65.html#index_e"><span>e</span></a></li>
+      <li><a href="functions_func_0x66.html#index_f"><span>f</span></a></li>
+      <li class="current"><a href="functions_func_0x67.html#index_g"><span>g</span></a></li>
+      <li><a href="functions_func_0x68.html#index_h"><span>h</span></a></li>
+      <li><a href="functions_func_0x69.html#index_i"><span>i</span></a></li>
+      <li><a href="functions_func_0x6a.html#index_j"><span>j</span></a></li>
+      <li><a href="functions_func_0x6c.html#index_l"><span>l</span></a></li>
+      <li><a href="functions_func_0x6d.html#index_m"><span>m</span></a></li>
+      <li><a href="functions_func_0x6e.html#index_n"><span>n</span></a></li>
+      <li><a href="functions_func_0x6f.html#index_o"><span>o</span></a></li>
+      <li><a href="functions_func_0x70.html#index_p"><span>p</span></a></li>
+      <li><a href="functions_func_0x71.html#index_q"><span>q</span></a></li>
+      <li><a href="functions_func_0x72.html#index_r"><span>r</span></a></li>
+      <li><a href="functions_func_0x73.html#index_s"><span>s</span></a></li>
+      <li><a href="functions_func_0x74.html#index_t"><span>t</span></a></li>
+      <li><a href="functions_func_0x75.html#index_u"><span>u</span></a></li>
+      <li><a href="functions_func_0x77.html#index_w"><span>w</span></a></li>
+      <li><a href="functions_func_0x7e.html#index_0x7e"><span>~</span></a></li>
+    </ul>
+  </div>
+</div><!-- top -->
+<div class="contents">
+ 
 
-<p>
- 
-<p>
-<h3><a class="anchor" name="index_g">- g -</a></h3><ul>
+<h3><a class="anchor" id="index_g"></a>- g -</h3><ul>
 <li>get_allocator()
-: <a class="el" href="a00288.html#2fdba8e90de6a4d2300222236d46758e">tbb::concurrent_vector< T, A ></a>, <a class="el" href="a00280.html#415eb87e53b1c6a266de06ecbc490d16">tbb::concurrent_bounded_queue< T, A ></a>, <a class="el" href="a00286.html#f034f70caef445fe8abc9113ec926a8d">tbb::strict_ppl::concurrent_queue< T, A ></a>, <a class="el" href="a00285.html#d545d444fb0d16148f9b61fd89f9a337">tbb::interface5::concurrent_priority_queue< T, Compare, A ></a>, <a class="e [...]
-: <a class="el" href="a00271.html#fcd2e5b8b6c11fd3f20fc0aa9f11bbc2">tbb::blocked_range< Value ></a><li>graph()
-: <a class="el" href="a00300.html#104d4f3775f596b43177c29e6b7b7656">tbb::flow::interface6::graph</a><li>group()
-: <a class="el" href="a00349.html#5987123486afca36ddebb9e2a8b7779a">tbb::task</a><li>group_priority()
-: <a class="el" href="a00349.html#e1d969a1ccab6796e3b8b2c1a5be33d2">tbb::task</a><li>grow_by()
-: <a class="el" href="a00288.html#473a59a4c9308b93411b898b3110d26c">tbb::concurrent_vector< T, A ></a><li>grow_to_at_least()
-: <a class="el" href="a00288.html#a7e3b67c8ccab16d0aecc80899ae799d">tbb::concurrent_vector< T, A ></a></ul>
+: <a class="el" href="a00035.html#a121865c574f8ae5cae69ed3d6b7e0511">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a>
+, <a class="el" href="a00037.html#a312e88e51246da4c516d35abbb30721a">tbb::interface5::concurrent_priority_queue< T, Compare, A ></a>
+, <a class="el" href="a00034.html#aaeba11bbcd368a7a3a6e6e2dd3082c9c">tbb::concurrent_bounded_queue< T, A ></a>
+, <a class="el" href="a00046.html#a88b62a9614d3f2b59c9c7c1a2143fb1e">tbb::concurrent_vector< T, A ></a>
+, <a class="el" href="a00038.html#a7f2b39f350281590b86db906eca6c480">tbb::strict_ppl::concurrent_queue< T, A ></a>
+</li>
+<li>grainsize()
+: <a class="el" href="a00021.html#ab408f3cf90c85fa9203df5641a2f9bb1">tbb::blocked_range< Value ></a>
+</li>
+<li>graph()
+: <a class="el" href="a00061.html#a656cee3d0240a3f142a450800e6b17c7">tbb::flow::interface7::graph</a>
+</li>
+<li>graph_iterator()
+: <a class="el" href="a00062.html#a5082b1f425ffbd4a93533230d6ff99c0">tbb::flow::interface7::graph_iterator< GraphContainerType, GraphNodeType ></a>
+</li>
+<li>grow_by()
+: <a class="el" href="a00046.html#ab89c2db5358048debdc282ff995caffb">tbb::concurrent_vector< T, A ></a>
+</li>
+<li>grow_to_at_least()
+: <a class="el" href="a00046.html#ae9ef9895e88f9bf036b379035c18f035">tbb::concurrent_vector< T, A ></a>
+</li>
+</ul>
+</div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/functions_func_0x68.html b/doc/html/functions_func_0x68.html
new file mode 100644
index 0000000..7e66c80
--- /dev/null
+++ b/doc/html/functions_func_0x68.html
@@ -0,0 +1,89 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Class Members - Functions</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li class="current"><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow3" class="tabs2">
+    <ul class="tablist">
+      <li><a href="functions.html"><span>All</span></a></li>
+      <li class="current"><a href="functions_func.html"><span>Functions</span></a></li>
+      <li><a href="functions_vars.html"><span>Variables</span></a></li>
+      <li><a href="functions_type.html"><span>Typedefs</span></a></li>
+      <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
+      <li><a href="functions_rela.html"><span>Related Functions</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow4" class="tabs3">
+    <ul class="tablist">
+      <li><a href="functions_func.html#index_a"><span>a</span></a></li>
+      <li><a href="functions_func_0x62.html#index_b"><span>b</span></a></li>
+      <li><a href="functions_func_0x63.html#index_c"><span>c</span></a></li>
+      <li><a href="functions_func_0x64.html#index_d"><span>d</span></a></li>
+      <li><a href="functions_func_0x65.html#index_e"><span>e</span></a></li>
+      <li><a href="functions_func_0x66.html#index_f"><span>f</span></a></li>
+      <li><a href="functions_func_0x67.html#index_g"><span>g</span></a></li>
+      <li class="current"><a href="functions_func_0x68.html#index_h"><span>h</span></a></li>
+      <li><a href="functions_func_0x69.html#index_i"><span>i</span></a></li>
+      <li><a href="functions_func_0x6a.html#index_j"><span>j</span></a></li>
+      <li><a href="functions_func_0x6c.html#index_l"><span>l</span></a></li>
+      <li><a href="functions_func_0x6d.html#index_m"><span>m</span></a></li>
+      <li><a href="functions_func_0x6e.html#index_n"><span>n</span></a></li>
+      <li><a href="functions_func_0x6f.html#index_o"><span>o</span></a></li>
+      <li><a href="functions_func_0x70.html#index_p"><span>p</span></a></li>
+      <li><a href="functions_func_0x71.html#index_q"><span>q</span></a></li>
+      <li><a href="functions_func_0x72.html#index_r"><span>r</span></a></li>
+      <li><a href="functions_func_0x73.html#index_s"><span>s</span></a></li>
+      <li><a href="functions_func_0x74.html#index_t"><span>t</span></a></li>
+      <li><a href="functions_func_0x75.html#index_u"><span>u</span></a></li>
+      <li><a href="functions_func_0x77.html#index_w"><span>w</span></a></li>
+      <li><a href="functions_func_0x7e.html#index_0x7e"><span>~</span></a></li>
+    </ul>
+  </div>
+</div><!-- top -->
+<div class="contents">
+ 
+
+<h3><a class="anchor" id="index_h"></a>- h -</h3><ul>
+<li>hardware_concurrency()
+: <a class="el" href="a00149.html#a2b761b3d80a7397c645402865e06b1a8">tbb::internal::tbb_thread_v3</a>
+</li>
+</ul>
+</div><!-- contents -->
+<hr>
+<p></p>
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
+<p></p>
+Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
+registered trademarks or trademarks of Intel Corporation or its
+subsidiaries in the United States and other countries.
+<p></p>
+* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/functions_func_0x69.html b/doc/html/functions_func_0x69.html
index 3fdff27..cf6f5c8 100644
--- a/doc/html/functions_func_0x69.html
+++ b/doc/html/functions_func_0x69.html
@@ -1,92 +1,138 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
 <title>Class Members - Functions</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
-  <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li id="current"><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="functions.html"><span>All</span></a></li>
-    <li id="current"><a href="functions_func.html"><span>Functions</span></a></li>
-    <li><a href="functions_vars.html"><span>Variables</span></a></li>
-    <li><a href="functions_type.html"><span>Typedefs</span></a></li>
-    <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
-    <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
-    <li><a href="functions_rela.html"><span>Related Functions</span></a></li>
-  </ul>
-</div>
-<div class="tabs">
-  <ul>
-    <li><a href="functions_func.html#index_a"><span>a</span></a></li>
-    <li><a href="functions_func_0x62.html#index_b"><span>b</span></a></li>
-    <li><a href="functions_func_0x63.html#index_c"><span>c</span></a></li>
-    <li><a href="functions_func_0x64.html#index_d"><span>d</span></a></li>
-    <li><a href="functions_func_0x65.html#index_e"><span>e</span></a></li>
-    <li><a href="functions_func_0x66.html#index_f"><span>f</span></a></li>
-    <li><a href="functions_func_0x67.html#index_g"><span>g</span></a></li>
-    <li id="current"><a href="functions_func_0x69.html#index_i"><span>i</span></a></li>
-    <li><a href="functions_func_0x6c.html#index_l"><span>l</span></a></li>
-    <li><a href="functions_func_0x6d.html#index_m"><span>m</span></a></li>
-    <li><a href="functions_func_0x6e.html#index_n"><span>n</span></a></li>
-    <li><a href="functions_func_0x6f.html#index_o"><span>o</span></a></li>
-    <li><a href="functions_func_0x70.html#index_p"><span>p</span></a></li>
-    <li><a href="functions_func_0x71.html#index_q"><span>q</span></a></li>
-    <li><a href="functions_func_0x72.html#index_r"><span>r</span></a></li>
-    <li><a href="functions_func_0x73.html#index_s"><span>s</span></a></li>
-    <li><a href="functions_func_0x74.html#index_t"><span>t</span></a></li>
-    <li><a href="functions_func_0x75.html#index_u"><span>u</span></a></li>
-    <li><a href="functions_func_0x77.html#index_w"><span>w</span></a></li>
-    <li><a href="functions_func_0x7e.html#index_~"><span>~</span></a></li>
-  </ul>
-</div>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li class="current"><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow3" class="tabs2">
+    <ul class="tablist">
+      <li><a href="functions.html"><span>All</span></a></li>
+      <li class="current"><a href="functions_func.html"><span>Functions</span></a></li>
+      <li><a href="functions_vars.html"><span>Variables</span></a></li>
+      <li><a href="functions_type.html"><span>Typedefs</span></a></li>
+      <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
+      <li><a href="functions_rela.html"><span>Related Functions</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow4" class="tabs3">
+    <ul class="tablist">
+      <li><a href="functions_func.html#index_a"><span>a</span></a></li>
+      <li><a href="functions_func_0x62.html#index_b"><span>b</span></a></li>
+      <li><a href="functions_func_0x63.html#index_c"><span>c</span></a></li>
+      <li><a href="functions_func_0x64.html#index_d"><span>d</span></a></li>
+      <li><a href="functions_func_0x65.html#index_e"><span>e</span></a></li>
+      <li><a href="functions_func_0x66.html#index_f"><span>f</span></a></li>
+      <li><a href="functions_func_0x67.html#index_g"><span>g</span></a></li>
+      <li><a href="functions_func_0x68.html#index_h"><span>h</span></a></li>
+      <li class="current"><a href="functions_func_0x69.html#index_i"><span>i</span></a></li>
+      <li><a href="functions_func_0x6a.html#index_j"><span>j</span></a></li>
+      <li><a href="functions_func_0x6c.html#index_l"><span>l</span></a></li>
+      <li><a href="functions_func_0x6d.html#index_m"><span>m</span></a></li>
+      <li><a href="functions_func_0x6e.html#index_n"><span>n</span></a></li>
+      <li><a href="functions_func_0x6f.html#index_o"><span>o</span></a></li>
+      <li><a href="functions_func_0x70.html#index_p"><span>p</span></a></li>
+      <li><a href="functions_func_0x71.html#index_q"><span>q</span></a></li>
+      <li><a href="functions_func_0x72.html#index_r"><span>r</span></a></li>
+      <li><a href="functions_func_0x73.html#index_s"><span>s</span></a></li>
+      <li><a href="functions_func_0x74.html#index_t"><span>t</span></a></li>
+      <li><a href="functions_func_0x75.html#index_u"><span>u</span></a></li>
+      <li><a href="functions_func_0x77.html#index_w"><span>w</span></a></li>
+      <li><a href="functions_func_0x7e.html#index_0x7e"><span>~</span></a></li>
+    </ul>
+  </div>
+</div><!-- top -->
+<div class="contents">
+ 
 
-<p>
- 
-<p>
-<h3><a class="anchor" name="index_i">- i -</a></h3><ul>
-<li>increment_ref_count()
-: <a class="el" href="a00349.html#f5fb43c7ad0de5a4b95703cebc39e345">tbb::task</a><li>increment_wait_count()
-: <a class="el" href="a00300.html#a993b789d1e488e0c3929135beae560e">tbb::flow::interface6::graph</a><li>init()
-: <a class="el" href="a00352.html#49a55352084fd44b8863d182e839e6dc">tbb::task_group_context</a><li>initialize()
-: <a class="el" href="a00355.html#d5ed214a8bb53b0466ed91ff4734b9a3">tbb::task_scheduler_init</a>, <a class="el" href="a00350.html#ff36aa5ec1305ca9931396fa608981da">tbb::interface6::task_arena</a><li>insert()
-: <a class="el" href="a00281.html#1dd37fad87e561151ba1e242ca94bcc1">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a><li>internal_construct()
-: <a class="el" href="a00343.html#4b3fa21632815f8fab2fd6c67ec0d48c">tbb::spin_mutex</a><li>internal_copy()
-: <a class="el" href="a00281.html#72c9c9e9655fcf096f5f0ed9c8ba6669">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a><li>internal_equal_range()
-: <a class="el" href="a00281.html#8f5373b8e1864619d1ffcf3bf3f1f13d">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a><li>internal_fast_find()
-: <a class="el" href="a00281.html#2f76ed101a0ccc8875b846c2f747897e">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a><li>internal_forward_task()
-: <a class="el" href="a00324.html#9249c25621a6ee7a741a6b7eac710ba4">tbb::flow::interface6::priority_queue_node< T, Compare, A ></a>, <a class="el" href="a00325.html#8eecd6591d7565cbb5b7f1e37bf97979">tbb::flow::interface6::queue_node< T, A ></a>, <a class="el" href="a00275.html#bc6ef82fe9c28ace2ef6b78abb43ffb8">tbb::flow::interface6::buffer_node< T, A ></a><li>internal_reg_succ()
-: <a class="el" href="a00275.html#df21388252b8963e839dca29d2c67ea5">tbb::flow::interface6::buffer_node< T, A ></a><li>internal_rem_succ()
-: <a class="el" href="a00275.html#6b6cf76dff80fd679251da93351c1291">tbb::flow::interface6::buffer_node< T, A ></a><li>interval_t()
-: <a class="el" href="a00363.html#1a21a428e00cced2e6a49e0f5f2258bf">tbb::tick_count::interval_t</a><li>is_active()
-: <a class="el" href="a00355.html#12752282977029f23416642bc03e8b74">tbb::task_scheduler_init</a>, <a class="el" href="a00350.html#11e35391bf67e96f877183659106583d">tbb::interface6::task_arena</a><li>is_bound()
-: <a class="el" href="a00294.html#15c29cae5d237e6d63dbfe5c94af89d5">tbb::filter</a><li>is_cancelled()
-: <a class="el" href="a00349.html#025f18118c057c4c8db87ff2ce8df975">tbb::task</a>, <a class="el" href="a00300.html#227ea140dc2c68f79a4e5a34a8367b58">tbb::flow::interface6::graph</a><li>is_divisible()
-: <a class="el" href="a00273.html#39d69191721c488e737ae5d9c5336b9c">tbb::blocked_range3d< PageValue, RowValue, ColValue ></a>, <a class="el" href="a00272.html#ad36a9b38e4fef26d376f99552ce2d92">tbb::blocked_range2d< RowValue, ColValue ></a>, <a class="el" href="a00271.html#41a58b703d574b6e1ca155df3576f578">tbb::blocked_range< Value ></a><li>is_group_execution_cancelled()
-: <a class="el" href="a00352.html#4db72f16210b0a991b2c134d6763a4cc">tbb::task_group_context</a><li>is_ordered()
-: <a class="el" href="a00294.html#cd53206c4795ef2df5df26b795caf692">tbb::filter</a><li>is_owned_by_current_thread()
-: <a class="el" href="a00349.html#c26718b3b247cd13deb1a741902e7105">tbb::task</a><li>is_serial()
-: <a class="el" href="a00294.html#fcfec27656a69ff2072802ac001e936f">tbb::filter</a><li>is_stolen_task()
-: <a class="el" href="a00349.html#f9169402702f56bf519448aaf34450aa">tbb::task</a><li>is_writer()
-: <a class="el" href="a00283.html#07d958f151a0eaa92f50fd56ad6440e2">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator >::bucket_accessor</a>, <a class="el" href="a00346.html#6b5a7c3c67a36b05c4df8410d32627d8">tbb::spin_rw_mutex_v3::scoped_lock</a></ul>
+<h3><a class="anchor" id="index_i"></a>- i -</h3><ul>
+<li>increment_wait_count()
+: <a class="el" href="a00061.html#ad96c910ae45e6c5d2433bb1d9e910891">tbb::flow::interface7::graph</a>
+</li>
+<li>initialize()
+: <a class="el" href="a00135.html#a955131a79f8dc5a0a5c9ffa66a7e7140">tbb::interface7::task_arena</a>
+, <a class="el" href="a00141.html#a485028b867bffef5829209330e79e64c">tbb::task_scheduler_init</a>
+, <a class="el" href="a00135.html#a754d60ba6981461eb7c86afd14d3da2a">tbb::interface7::task_arena</a>
+</li>
+<li>insert()
+: <a class="el" href="a00035.html#ae0b420cdb752e749790c8a7daa15c3c2">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a>
+</li>
+<li>internal_construct()
+: <a class="el" href="a00127.html#a4ec484f4df6ec5595ec821ef20bd6cd7">tbb::spin_mutex</a>
+</li>
+<li>internal_copy()
+: <a class="el" href="a00035.html#a0bc3593f82b3b4f9839fc051780212ab">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a>
+</li>
+<li>internal_equal_range()
+: <a class="el" href="a00035.html#a8603f5288db63ec35a16844427e97e42">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a>
+</li>
+<li>internal_fast_find()
+: <a class="el" href="a00035.html#acbb5b18c097fb32f264b7b5fe8d9fdd4">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a>
+</li>
+<li>internal_forward_task()
+: <a class="el" href="a00027.html#a3aa7578ccbd3d5f986869ab8698c037c">tbb::flow::interface7::buffer_node< T, A ></a>
+, <a class="el" href="a00092.html#a1ab7e37f537acb75175844bd34132b99">tbb::flow::interface7::queue_node< T, A ></a>
+, <a class="el" href="a00091.html#a4e6d43ca8748046098fd27ca97e58f3d">tbb::flow::interface7::priority_queue_node< T, Compare, A ></a>
+</li>
+<li>internal_reg_succ()
+: <a class="el" href="a00027.html#afa2dd93a1b42e77ccf7e1de0fddf3158">tbb::flow::interface7::buffer_node< T, A ></a>
+</li>
+<li>internal_rem_succ()
+: <a class="el" href="a00027.html#a46c7f9cd9130036244d4ea8efd74bf22">tbb::flow::interface7::buffer_node< T, A ></a>
+</li>
+<li>interval_t()
+: <a class="el" href="a00066.html#a95e3e14750bebafe719856176e2737db">tbb::tick_count::interval_t</a>
+</li>
+<li>is_active()
+: <a class="el" href="a00135.html#ad85856cefa30d42155a2b122b03efd8c">tbb::interface7::task_arena</a>
+, <a class="el" href="a00141.html#aed5505d7fed9d5493676aa15c176512c">tbb::task_scheduler_init</a>
+</li>
+<li>is_cancelled()
+: <a class="el" href="a00061.html#a9e26f4f5d608e39c8adc9dc6d06a7a01">tbb::flow::interface7::graph</a>
+</li>
+<li>is_divisible()
+: <a class="el" href="a00023.html#a0fce6bcae6269c37623c3a2cdbb8bcf0">tbb::blocked_range3d< PageValue, RowValue, ColValue ></a>
+, <a class="el" href="a00021.html#ad90ad1db0d4d9a301ef1c9e17712e8a0">tbb::blocked_range< Value ></a>
+, <a class="el" href="a00022.html#ac84c6cc2ff8b0974ffa719fed804f586">tbb::blocked_range2d< RowValue, ColValue ></a>
+</li>
+<li>is_observing()
+: <a class="el" href="a00143.html#a31abaf256f7172f010cfb2259c7787bb">tbb::internal::task_scheduler_observer_v3</a>
+</li>
+<li>is_writer()
+: <a class="el" href="a00026.html#aaa8167e2961330435fd23eb92127805c">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::bucket_accessor</a>
+</li>
+</ul>
+</div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/functions_func_0x6a.html b/doc/html/functions_func_0x6a.html
new file mode 100644
index 0000000..f365701
--- /dev/null
+++ b/doc/html/functions_func_0x6a.html
@@ -0,0 +1,89 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Class Members - Functions</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li class="current"><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow3" class="tabs2">
+    <ul class="tablist">
+      <li><a href="functions.html"><span>All</span></a></li>
+      <li class="current"><a href="functions_func.html"><span>Functions</span></a></li>
+      <li><a href="functions_vars.html"><span>Variables</span></a></li>
+      <li><a href="functions_type.html"><span>Typedefs</span></a></li>
+      <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
+      <li><a href="functions_rela.html"><span>Related Functions</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow4" class="tabs3">
+    <ul class="tablist">
+      <li><a href="functions_func.html#index_a"><span>a</span></a></li>
+      <li><a href="functions_func_0x62.html#index_b"><span>b</span></a></li>
+      <li><a href="functions_func_0x63.html#index_c"><span>c</span></a></li>
+      <li><a href="functions_func_0x64.html#index_d"><span>d</span></a></li>
+      <li><a href="functions_func_0x65.html#index_e"><span>e</span></a></li>
+      <li><a href="functions_func_0x66.html#index_f"><span>f</span></a></li>
+      <li><a href="functions_func_0x67.html#index_g"><span>g</span></a></li>
+      <li><a href="functions_func_0x68.html#index_h"><span>h</span></a></li>
+      <li><a href="functions_func_0x69.html#index_i"><span>i</span></a></li>
+      <li class="current"><a href="functions_func_0x6a.html#index_j"><span>j</span></a></li>
+      <li><a href="functions_func_0x6c.html#index_l"><span>l</span></a></li>
+      <li><a href="functions_func_0x6d.html#index_m"><span>m</span></a></li>
+      <li><a href="functions_func_0x6e.html#index_n"><span>n</span></a></li>
+      <li><a href="functions_func_0x6f.html#index_o"><span>o</span></a></li>
+      <li><a href="functions_func_0x70.html#index_p"><span>p</span></a></li>
+      <li><a href="functions_func_0x71.html#index_q"><span>q</span></a></li>
+      <li><a href="functions_func_0x72.html#index_r"><span>r</span></a></li>
+      <li><a href="functions_func_0x73.html#index_s"><span>s</span></a></li>
+      <li><a href="functions_func_0x74.html#index_t"><span>t</span></a></li>
+      <li><a href="functions_func_0x75.html#index_u"><span>u</span></a></li>
+      <li><a href="functions_func_0x77.html#index_w"><span>w</span></a></li>
+      <li><a href="functions_func_0x7e.html#index_0x7e"><span>~</span></a></li>
+    </ul>
+  </div>
+</div><!-- top -->
+<div class="contents">
+ 
+
+<h3><a class="anchor" id="index_j"></a>- j -</h3><ul>
+<li>join()
+: <a class="el" href="a00149.html#a044c8727c51e921b0cc43a6b057eb559">tbb::internal::tbb_thread_v3</a>
+</li>
+</ul>
+</div><!-- contents -->
+<hr>
+<p></p>
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
+<p></p>
+Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
+registered trademarks or trademarks of Intel Corporation or its
+subsidiaries in the United States and other countries.
+<p></p>
+* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/functions_func_0x6c.html b/doc/html/functions_func_0x6c.html
index 716fb78..13493f6 100644
--- a/doc/html/functions_func_0x6c.html
+++ b/doc/html/functions_func_0x6c.html
@@ -1,75 +1,106 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
 <title>Class Members - Functions</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
-  <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li id="current"><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="functions.html"><span>All</span></a></li>
-    <li id="current"><a href="functions_func.html"><span>Functions</span></a></li>
-    <li><a href="functions_vars.html"><span>Variables</span></a></li>
-    <li><a href="functions_type.html"><span>Typedefs</span></a></li>
-    <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
-    <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
-    <li><a href="functions_rela.html"><span>Related Functions</span></a></li>
-  </ul>
-</div>
-<div class="tabs">
-  <ul>
-    <li><a href="functions_func.html#index_a"><span>a</span></a></li>
-    <li><a href="functions_func_0x62.html#index_b"><span>b</span></a></li>
-    <li><a href="functions_func_0x63.html#index_c"><span>c</span></a></li>
-    <li><a href="functions_func_0x64.html#index_d"><span>d</span></a></li>
-    <li><a href="functions_func_0x65.html#index_e"><span>e</span></a></li>
-    <li><a href="functions_func_0x66.html#index_f"><span>f</span></a></li>
-    <li><a href="functions_func_0x67.html#index_g"><span>g</span></a></li>
-    <li><a href="functions_func_0x69.html#index_i"><span>i</span></a></li>
-    <li id="current"><a href="functions_func_0x6c.html#index_l"><span>l</span></a></li>
-    <li><a href="functions_func_0x6d.html#index_m"><span>m</span></a></li>
-    <li><a href="functions_func_0x6e.html#index_n"><span>n</span></a></li>
-    <li><a href="functions_func_0x6f.html#index_o"><span>o</span></a></li>
-    <li><a href="functions_func_0x70.html#index_p"><span>p</span></a></li>
-    <li><a href="functions_func_0x71.html#index_q"><span>q</span></a></li>
-    <li><a href="functions_func_0x72.html#index_r"><span>r</span></a></li>
-    <li><a href="functions_func_0x73.html#index_s"><span>s</span></a></li>
-    <li><a href="functions_func_0x74.html#index_t"><span>t</span></a></li>
-    <li><a href="functions_func_0x75.html#index_u"><span>u</span></a></li>
-    <li><a href="functions_func_0x77.html#index_w"><span>w</span></a></li>
-    <li><a href="functions_func_0x7e.html#index_~"><span>~</span></a></li>
-  </ul>
-</div>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li class="current"><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow3" class="tabs2">
+    <ul class="tablist">
+      <li><a href="functions.html"><span>All</span></a></li>
+      <li class="current"><a href="functions_func.html"><span>Functions</span></a></li>
+      <li><a href="functions_vars.html"><span>Variables</span></a></li>
+      <li><a href="functions_type.html"><span>Typedefs</span></a></li>
+      <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
+      <li><a href="functions_rela.html"><span>Related Functions</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow4" class="tabs3">
+    <ul class="tablist">
+      <li><a href="functions_func.html#index_a"><span>a</span></a></li>
+      <li><a href="functions_func_0x62.html#index_b"><span>b</span></a></li>
+      <li><a href="functions_func_0x63.html#index_c"><span>c</span></a></li>
+      <li><a href="functions_func_0x64.html#index_d"><span>d</span></a></li>
+      <li><a href="functions_func_0x65.html#index_e"><span>e</span></a></li>
+      <li><a href="functions_func_0x66.html#index_f"><span>f</span></a></li>
+      <li><a href="functions_func_0x67.html#index_g"><span>g</span></a></li>
+      <li><a href="functions_func_0x68.html#index_h"><span>h</span></a></li>
+      <li><a href="functions_func_0x69.html#index_i"><span>i</span></a></li>
+      <li><a href="functions_func_0x6a.html#index_j"><span>j</span></a></li>
+      <li class="current"><a href="functions_func_0x6c.html#index_l"><span>l</span></a></li>
+      <li><a href="functions_func_0x6d.html#index_m"><span>m</span></a></li>
+      <li><a href="functions_func_0x6e.html#index_n"><span>n</span></a></li>
+      <li><a href="functions_func_0x6f.html#index_o"><span>o</span></a></li>
+      <li><a href="functions_func_0x70.html#index_p"><span>p</span></a></li>
+      <li><a href="functions_func_0x71.html#index_q"><span>q</span></a></li>
+      <li><a href="functions_func_0x72.html#index_r"><span>r</span></a></li>
+      <li><a href="functions_func_0x73.html#index_s"><span>s</span></a></li>
+      <li><a href="functions_func_0x74.html#index_t"><span>t</span></a></li>
+      <li><a href="functions_func_0x75.html#index_u"><span>u</span></a></li>
+      <li><a href="functions_func_0x77.html#index_w"><span>w</span></a></li>
+      <li><a href="functions_func_0x7e.html#index_0x7e"><span>~</span></a></li>
+    </ul>
+  </div>
+</div><!-- top -->
+<div class="contents">
+ 
 
-<p>
- 
-<p>
-<h3><a class="anchor" name="index_l">- l -</a></h3><ul>
+<h3><a class="anchor" id="index_l"></a>- l -</h3><ul>
 <li>limiter_node()
-: <a class="el" href="a00304.html#83d3ab884543b070ee5b345a87f241fa">tbb::flow::interface6::limiter_node< T ></a>, <a class="el" href="a00291.html#3b6d13039c2a8c1e369e5790895b0088">tbb::flow::interface6::continue_receiver</a>, <a class="el" href="a00333.html#3b6d13039c2a8c1e369e5790895b0088">tbb::flow::interface6::receiver< T ></a><li>load()
-: <a class="el" href="a00336.html#5f3f6f1683386705a6931acae45f0862">tbb::interface6::runtime_loader</a><li>local()
-: <a class="el" href="a00293.html#7dc79058d2832f7447de8e691c3455ea">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a><li>lock()
-: <a class="el" href="a00345.html#4007d6e1523dbc3c2bb7f889ab789a8a">tbb::spin_rw_mutex_v3</a>, <a class="el" href="a00343.html#4f748989e19b6045e3a2d2ee73626a28">tbb::spin_mutex</a>, <a class="el" href="a00334.html#4c342c69d47f4bb0b393535dee4015d6">tbb::recursive_mutex</a>, <a class="el" href="a00330.html#2653d1a2d560059a51219a8ceab3ade9">tbb::interface5::reader_writer_lock</a>, <a class="el" href="a00313.html#4470e61c24c129a0299ca6c17240adbb">tbb::mutex</a><li>lock_read()
-: <a class="el" href="a00345.html#13f799708ac4ca437a16be202e263e18">tbb::spin_rw_mutex_v3</a>, <a class="el" href="a00330.html#d9d16a24d9f6c3dada73c6b9ff214f5b">tbb::interface5::reader_writer_lock</a><li>lookup()
-: <a class="el" href="a00281.html#3f3413264a99174a224ef96f6c4ea769">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a></ul>
+: <a class="el" href="a00072.html#af1c8daee8d1fd31e63f78dbb8d0ec87d">tbb::flow::interface7::limiter_node< T ></a>
+</li>
+<li>load()
+: <a class="el" href="a00110.html#ae2949e9adcac56a2cb9864437be8e22e">tbb::interface6::runtime_loader</a>
+</li>
+<li>local()
+: <a class="el" href="a00052.html#aea846c6cbafbe2ff6bde6e8c2a2ee97e">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a>
+</li>
+<li>lock()
+: <a class="el" href="a00107.html#adea997b45dc4a360f38d14bde9c991f2">tbb::recursive_mutex</a>
+, <a class="el" href="a00127.html#a8957e40b0781192419d01d28e5205ec4">tbb::spin_mutex</a>
+, <a class="el" href="a00095.html#af92eb949fc491af8f7e350869ea0a0d1">tbb::interface5::reader_writer_lock</a>
+, <a class="el" href="a00128.html#a51e207646300a4c242bb4aaa4e04e9b8">tbb::spin_rw_mutex_v3</a>
+, <a class="el" href="a00081.html#a95ff02ee699b34696001db4003c11a3a">tbb::mutex</a>
+</li>
+<li>lock_read()
+: <a class="el" href="a00095.html#a6fd4fcdf0e5c0425d1cc736d644f234f">tbb::interface5::reader_writer_lock</a>
+, <a class="el" href="a00128.html#aa0e3bb644e9021d0f80ee36b03f228e4">tbb::spin_rw_mutex_v3</a>
+</li>
+<li>lookup()
+: <a class="el" href="a00035.html#a0435730c6b9dbbe2937fb38b9403147c">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a>
+</li>
+</ul>
+</div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/functions_func_0x6d.html b/doc/html/functions_func_0x6d.html
index 6a7dbeb..19aba00 100644
--- a/doc/html/functions_func_0x6d.html
+++ b/doc/html/functions_func_0x6d.html
@@ -1,73 +1,102 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
 <title>Class Members - Functions</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
-  <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li id="current"><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="functions.html"><span>All</span></a></li>
-    <li id="current"><a href="functions_func.html"><span>Functions</span></a></li>
-    <li><a href="functions_vars.html"><span>Variables</span></a></li>
-    <li><a href="functions_type.html"><span>Typedefs</span></a></li>
-    <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
-    <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
-    <li><a href="functions_rela.html"><span>Related Functions</span></a></li>
-  </ul>
-</div>
-<div class="tabs">
-  <ul>
-    <li><a href="functions_func.html#index_a"><span>a</span></a></li>
-    <li><a href="functions_func_0x62.html#index_b"><span>b</span></a></li>
-    <li><a href="functions_func_0x63.html#index_c"><span>c</span></a></li>
-    <li><a href="functions_func_0x64.html#index_d"><span>d</span></a></li>
-    <li><a href="functions_func_0x65.html#index_e"><span>e</span></a></li>
-    <li><a href="functions_func_0x66.html#index_f"><span>f</span></a></li>
-    <li><a href="functions_func_0x67.html#index_g"><span>g</span></a></li>
-    <li><a href="functions_func_0x69.html#index_i"><span>i</span></a></li>
-    <li><a href="functions_func_0x6c.html#index_l"><span>l</span></a></li>
-    <li id="current"><a href="functions_func_0x6d.html#index_m"><span>m</span></a></li>
-    <li><a href="functions_func_0x6e.html#index_n"><span>n</span></a></li>
-    <li><a href="functions_func_0x6f.html#index_o"><span>o</span></a></li>
-    <li><a href="functions_func_0x70.html#index_p"><span>p</span></a></li>
-    <li><a href="functions_func_0x71.html#index_q"><span>q</span></a></li>
-    <li><a href="functions_func_0x72.html#index_r"><span>r</span></a></li>
-    <li><a href="functions_func_0x73.html#index_s"><span>s</span></a></li>
-    <li><a href="functions_func_0x74.html#index_t"><span>t</span></a></li>
-    <li><a href="functions_func_0x75.html#index_u"><span>u</span></a></li>
-    <li><a href="functions_func_0x77.html#index_w"><span>w</span></a></li>
-    <li><a href="functions_func_0x7e.html#index_~"><span>~</span></a></li>
-  </ul>
-</div>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li class="current"><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow3" class="tabs2">
+    <ul class="tablist">
+      <li><a href="functions.html"><span>All</span></a></li>
+      <li class="current"><a href="functions_func.html"><span>Functions</span></a></li>
+      <li><a href="functions_vars.html"><span>Variables</span></a></li>
+      <li><a href="functions_type.html"><span>Typedefs</span></a></li>
+      <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
+      <li><a href="functions_rela.html"><span>Related Functions</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow4" class="tabs3">
+    <ul class="tablist">
+      <li><a href="functions_func.html#index_a"><span>a</span></a></li>
+      <li><a href="functions_func_0x62.html#index_b"><span>b</span></a></li>
+      <li><a href="functions_func_0x63.html#index_c"><span>c</span></a></li>
+      <li><a href="functions_func_0x64.html#index_d"><span>d</span></a></li>
+      <li><a href="functions_func_0x65.html#index_e"><span>e</span></a></li>
+      <li><a href="functions_func_0x66.html#index_f"><span>f</span></a></li>
+      <li><a href="functions_func_0x67.html#index_g"><span>g</span></a></li>
+      <li><a href="functions_func_0x68.html#index_h"><span>h</span></a></li>
+      <li><a href="functions_func_0x69.html#index_i"><span>i</span></a></li>
+      <li><a href="functions_func_0x6a.html#index_j"><span>j</span></a></li>
+      <li><a href="functions_func_0x6c.html#index_l"><span>l</span></a></li>
+      <li class="current"><a href="functions_func_0x6d.html#index_m"><span>m</span></a></li>
+      <li><a href="functions_func_0x6e.html#index_n"><span>n</span></a></li>
+      <li><a href="functions_func_0x6f.html#index_o"><span>o</span></a></li>
+      <li><a href="functions_func_0x70.html#index_p"><span>p</span></a></li>
+      <li><a href="functions_func_0x71.html#index_q"><span>q</span></a></li>
+      <li><a href="functions_func_0x72.html#index_r"><span>r</span></a></li>
+      <li><a href="functions_func_0x73.html#index_s"><span>s</span></a></li>
+      <li><a href="functions_func_0x74.html#index_t"><span>t</span></a></li>
+      <li><a href="functions_func_0x75.html#index_u"><span>u</span></a></li>
+      <li><a href="functions_func_0x77.html#index_w"><span>w</span></a></li>
+      <li><a href="functions_func_0x7e.html#index_0x7e"><span>~</span></a></li>
+    </ul>
+  </div>
+</div><!-- top -->
+<div class="contents">
+ 
 
-<p>
- 
-<p>
-<h3><a class="anchor" name="index_m">- m -</a></h3><ul>
+<h3><a class="anchor" id="index_m"></a>- m -</h3><ul>
 <li>max_size()
-: <a class="el" href="a00356.html#f059ca2c96243024f0d562ee3a87a3a5">tbb::tbb_allocator< T ></a>, <a class="el" href="a00337.html#880e766f1d913988c21973dbdd874fd5">tbb::scalable_allocator< T ></a>, <a class="el" href="a00308.html#beebdb6144df8ba219fadfad4de866ea">tbb::interface6::memory_pool_allocator< T, P ></a>, <a class="el" href="a00288.html#2c248a017f0576df3e7cd99627836fd6">tbb::concurrent_vector< T, A ></a>, <a class="el" href="a00281.html#2bce57fe9b594abe1e6 [...]
-: <a class="el" href="a00307.html#2822528265718a4c779591fc37c02ca8">tbb::interface6::memory_pool< Alloc ></a><li>move()
-: <a class="el" href="a00311.html#1aea0ad179d6f0481fe7f3495f66adf9">tbb::movable_exception< ExceptionData ></a>, <a class="el" href="a00278.html#837a50b8f6a800bda225c39d1699643f">tbb::captured_exception</a>, <a class="el" href="a00358.html#3e3482bf264d4ca4dde046cd9c02c766">tbb::tbb_exception</a><li>mutex()
-: <a class="el" href="a00313.html#05313cb77d4f85213103d4dab74ed454">tbb::mutex</a>, <a class="el" href="a00346.html#d96d1a1fcc3d79ef3e5c06a53b8ffeaa">tbb::spin_rw_mutex_v3::scoped_lock</a></ul>
+: <a class="el" href="a00029.html#a4b945b3180ea3dfe16dfa048f4591c6d">tbb::cache_aligned_allocator< T ></a>
+, <a class="el" href="a00035.html#aea0a0e5220a0dcb67da57d0280d36005">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a>
+, <a class="el" href="a00074.html#a2bded8e3fb2cec32b48771e7a1bbb838">tbb::interface6::memory_pool_allocator< T, P ></a>
+, <a class="el" href="a00111.html#afaa85d739b466699cf669116fd10d175">tbb::scalable_allocator< T ></a>
+, <a class="el" href="a00046.html#a0ec9c3ab3360e04bdaa5174956a3206d">tbb::concurrent_vector< T, A ></a>
+, <a class="el" href="a00144.html#a0a2676fb8a2f931961d373b88848c93e">tbb::tbb_allocator< T ></a>
+</li>
+<li>memory_pool()
+: <a class="el" href="a00073.html#af4c36829a159eac04d630ac5a99b9354">tbb::interface6::memory_pool< Alloc ></a>
+</li>
+<li>move()
+: <a class="el" href="a00078.html#aeb47d3ac90a1f01fe642b572f6ac519d">tbb::movable_exception< ExceptionData ></a>
+, <a class="el" href="a00146.html#a4bd4ba0d501021013d1473d21b020b69">tbb::tbb_exception</a>
+, <a class="el" href="a00031.html#abb221485cd260349efdef681f633a6a4">tbb::captured_exception</a>
+</li>
+<li>mutex()
+: <a class="el" href="a00081.html#ad1b280c954ffc8b8b3e63e4ee4144035">tbb::mutex</a>
+</li>
+</ul>
+</div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/functions_func_0x6e.html b/doc/html/functions_func_0x6e.html
index ec28eee..8242622 100644
--- a/doc/html/functions_func_0x6e.html
+++ b/doc/html/functions_func_0x6e.html
@@ -1,72 +1,91 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
 <title>Class Members - Functions</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
-  <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li id="current"><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="functions.html"><span>All</span></a></li>
-    <li id="current"><a href="functions_func.html"><span>Functions</span></a></li>
-    <li><a href="functions_vars.html"><span>Variables</span></a></li>
-    <li><a href="functions_type.html"><span>Typedefs</span></a></li>
-    <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
-    <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
-    <li><a href="functions_rela.html"><span>Related Functions</span></a></li>
-  </ul>
-</div>
-<div class="tabs">
-  <ul>
-    <li><a href="functions_func.html#index_a"><span>a</span></a></li>
-    <li><a href="functions_func_0x62.html#index_b"><span>b</span></a></li>
-    <li><a href="functions_func_0x63.html#index_c"><span>c</span></a></li>
-    <li><a href="functions_func_0x64.html#index_d"><span>d</span></a></li>
-    <li><a href="functions_func_0x65.html#index_e"><span>e</span></a></li>
-    <li><a href="functions_func_0x66.html#index_f"><span>f</span></a></li>
-    <li><a href="functions_func_0x67.html#index_g"><span>g</span></a></li>
-    <li><a href="functions_func_0x69.html#index_i"><span>i</span></a></li>
-    <li><a href="functions_func_0x6c.html#index_l"><span>l</span></a></li>
-    <li><a href="functions_func_0x6d.html#index_m"><span>m</span></a></li>
-    <li id="current"><a href="functions_func_0x6e.html#index_n"><span>n</span></a></li>
-    <li><a href="functions_func_0x6f.html#index_o"><span>o</span></a></li>
-    <li><a href="functions_func_0x70.html#index_p"><span>p</span></a></li>
-    <li><a href="functions_func_0x71.html#index_q"><span>q</span></a></li>
-    <li><a href="functions_func_0x72.html#index_r"><span>r</span></a></li>
-    <li><a href="functions_func_0x73.html#index_s"><span>s</span></a></li>
-    <li><a href="functions_func_0x74.html#index_t"><span>t</span></a></li>
-    <li><a href="functions_func_0x75.html#index_u"><span>u</span></a></li>
-    <li><a href="functions_func_0x77.html#index_w"><span>w</span></a></li>
-    <li><a href="functions_func_0x7e.html#index_~"><span>~</span></a></li>
-  </ul>
-</div>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li class="current"><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow3" class="tabs2">
+    <ul class="tablist">
+      <li><a href="functions.html"><span>All</span></a></li>
+      <li class="current"><a href="functions_func.html"><span>Functions</span></a></li>
+      <li><a href="functions_vars.html"><span>Variables</span></a></li>
+      <li><a href="functions_type.html"><span>Typedefs</span></a></li>
+      <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
+      <li><a href="functions_rela.html"><span>Related Functions</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow4" class="tabs3">
+    <ul class="tablist">
+      <li><a href="functions_func.html#index_a"><span>a</span></a></li>
+      <li><a href="functions_func_0x62.html#index_b"><span>b</span></a></li>
+      <li><a href="functions_func_0x63.html#index_c"><span>c</span></a></li>
+      <li><a href="functions_func_0x64.html#index_d"><span>d</span></a></li>
+      <li><a href="functions_func_0x65.html#index_e"><span>e</span></a></li>
+      <li><a href="functions_func_0x66.html#index_f"><span>f</span></a></li>
+      <li><a href="functions_func_0x67.html#index_g"><span>g</span></a></li>
+      <li><a href="functions_func_0x68.html#index_h"><span>h</span></a></li>
+      <li><a href="functions_func_0x69.html#index_i"><span>i</span></a></li>
+      <li><a href="functions_func_0x6a.html#index_j"><span>j</span></a></li>
+      <li><a href="functions_func_0x6c.html#index_l"><span>l</span></a></li>
+      <li><a href="functions_func_0x6d.html#index_m"><span>m</span></a></li>
+      <li class="current"><a href="functions_func_0x6e.html#index_n"><span>n</span></a></li>
+      <li><a href="functions_func_0x6f.html#index_o"><span>o</span></a></li>
+      <li><a href="functions_func_0x70.html#index_p"><span>p</span></a></li>
+      <li><a href="functions_func_0x71.html#index_q"><span>q</span></a></li>
+      <li><a href="functions_func_0x72.html#index_r"><span>r</span></a></li>
+      <li><a href="functions_func_0x73.html#index_s"><span>s</span></a></li>
+      <li><a href="functions_func_0x74.html#index_t"><span>t</span></a></li>
+      <li><a href="functions_func_0x75.html#index_u"><span>u</span></a></li>
+      <li><a href="functions_func_0x77.html#index_w"><span>w</span></a></li>
+      <li><a href="functions_func_0x7e.html#index_0x7e"><span>~</span></a></li>
+    </ul>
+  </div>
+</div><!-- top -->
+<div class="contents">
+ 
 
-<p>
- 
-<p>
-<h3><a class="anchor" name="index_n">- n -</a></h3><ul>
+<h3><a class="anchor" id="index_n"></a>- n -</h3><ul>
 <li>name()
-: <a class="el" href="a00311.html#bc5f5c4739b17ac5211ac58226c2f5a5">tbb::movable_exception< ExceptionData ></a>, <a class="el" href="a00278.html#5af82fd677449c5ca727fa1d7e16f9f5">tbb::captured_exception</a>, <a class="el" href="a00358.html#d00f6497e552fee978a02bfcbebf46e2">tbb::tbb_exception</a><li>note_affinity()
-: <a class="el" href="a00349.html#713c338c8eeaebdc5a6b10a69c039b06">tbb::task</a><li>now()
-: <a class="el" href="a00362.html#fb7f78ca61cf28398645ace66e284473">tbb::tick_count</a></ul>
+: <a class="el" href="a00146.html#a282bb7dce5f157d044d14d50cd6ff35c">tbb::tbb_exception</a>
+, <a class="el" href="a00031.html#a23426113851b78d3f0069956afd21976">tbb::captured_exception</a>
+, <a class="el" href="a00078.html#a65dd805ed2424f1d2d0998f5567a9690">tbb::movable_exception< ExceptionData ></a>
+</li>
+<li>now()
+: <a class="el" href="a00155.html#a74dcecde7431ff4591d7c46fc1d50d7e">tbb::tick_count</a>
+</li>
+</ul>
+</div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/functions_func_0x6f.html b/doc/html/functions_func_0x6f.html
index 9bd06cc..952aa95 100644
--- a/doc/html/functions_func_0x6f.html
+++ b/doc/html/functions_func_0x6f.html
@@ -1,78 +1,142 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
 <title>Class Members - Functions</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
-  <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li id="current"><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="functions.html"><span>All</span></a></li>
-    <li id="current"><a href="functions_func.html"><span>Functions</span></a></li>
-    <li><a href="functions_vars.html"><span>Variables</span></a></li>
-    <li><a href="functions_type.html"><span>Typedefs</span></a></li>
-    <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
-    <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
-    <li><a href="functions_rela.html"><span>Related Functions</span></a></li>
-  </ul>
-</div>
-<div class="tabs">
-  <ul>
-    <li><a href="functions_func.html#index_a"><span>a</span></a></li>
-    <li><a href="functions_func_0x62.html#index_b"><span>b</span></a></li>
-    <li><a href="functions_func_0x63.html#index_c"><span>c</span></a></li>
-    <li><a href="functions_func_0x64.html#index_d"><span>d</span></a></li>
-    <li><a href="functions_func_0x65.html#index_e"><span>e</span></a></li>
-    <li><a href="functions_func_0x66.html#index_f"><span>f</span></a></li>
-    <li><a href="functions_func_0x67.html#index_g"><span>g</span></a></li>
-    <li><a href="functions_func_0x69.html#index_i"><span>i</span></a></li>
-    <li><a href="functions_func_0x6c.html#index_l"><span>l</span></a></li>
-    <li><a href="functions_func_0x6d.html#index_m"><span>m</span></a></li>
-    <li><a href="functions_func_0x6e.html#index_n"><span>n</span></a></li>
-    <li id="current"><a href="functions_func_0x6f.html#index_o"><span>o</span></a></li>
-    <li><a href="functions_func_0x70.html#index_p"><span>p</span></a></li>
-    <li><a href="functions_func_0x71.html#index_q"><span>q</span></a></li>
-    <li><a href="functions_func_0x72.html#index_r"><span>r</span></a></li>
-    <li><a href="functions_func_0x73.html#index_s"><span>s</span></a></li>
-    <li><a href="functions_func_0x74.html#index_t"><span>t</span></a></li>
-    <li><a href="functions_func_0x75.html#index_u"><span>u</span></a></li>
-    <li><a href="functions_func_0x77.html#index_w"><span>w</span></a></li>
-    <li><a href="functions_func_0x7e.html#index_~"><span>~</span></a></li>
-  </ul>
-</div>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li class="current"><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow3" class="tabs2">
+    <ul class="tablist">
+      <li><a href="functions.html"><span>All</span></a></li>
+      <li class="current"><a href="functions_func.html"><span>Functions</span></a></li>
+      <li><a href="functions_vars.html"><span>Variables</span></a></li>
+      <li><a href="functions_type.html"><span>Typedefs</span></a></li>
+      <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
+      <li><a href="functions_rela.html"><span>Related Functions</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow4" class="tabs3">
+    <ul class="tablist">
+      <li><a href="functions_func.html#index_a"><span>a</span></a></li>
+      <li><a href="functions_func_0x62.html#index_b"><span>b</span></a></li>
+      <li><a href="functions_func_0x63.html#index_c"><span>c</span></a></li>
+      <li><a href="functions_func_0x64.html#index_d"><span>d</span></a></li>
+      <li><a href="functions_func_0x65.html#index_e"><span>e</span></a></li>
+      <li><a href="functions_func_0x66.html#index_f"><span>f</span></a></li>
+      <li><a href="functions_func_0x67.html#index_g"><span>g</span></a></li>
+      <li><a href="functions_func_0x68.html#index_h"><span>h</span></a></li>
+      <li><a href="functions_func_0x69.html#index_i"><span>i</span></a></li>
+      <li><a href="functions_func_0x6a.html#index_j"><span>j</span></a></li>
+      <li><a href="functions_func_0x6c.html#index_l"><span>l</span></a></li>
+      <li><a href="functions_func_0x6d.html#index_m"><span>m</span></a></li>
+      <li><a href="functions_func_0x6e.html#index_n"><span>n</span></a></li>
+      <li class="current"><a href="functions_func_0x6f.html#index_o"><span>o</span></a></li>
+      <li><a href="functions_func_0x70.html#index_p"><span>p</span></a></li>
+      <li><a href="functions_func_0x71.html#index_q"><span>q</span></a></li>
+      <li><a href="functions_func_0x72.html#index_r"><span>r</span></a></li>
+      <li><a href="functions_func_0x73.html#index_s"><span>s</span></a></li>
+      <li><a href="functions_func_0x74.html#index_t"><span>t</span></a></li>
+      <li><a href="functions_func_0x75.html#index_u"><span>u</span></a></li>
+      <li><a href="functions_func_0x77.html#index_w"><span>w</span></a></li>
+      <li><a href="functions_func_0x7e.html#index_0x7e"><span>~</span></a></li>
+    </ul>
+  </div>
+</div><!-- top -->
+<div class="contents">
+ 
 
-<p>
- 
-<p>
-<h3><a class="anchor" name="index_o">- o -</a></h3><ul>
-<li>object_may_be_null()
-: <a class="el" href="a00294.html#8ec4dfe053e94a2349d56781ddea8477">tbb::filter</a><li>operator *()
-: <a class="el" href="a00282.html#170280ea807a22e742095de3e8c5ea38">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator >::accessor</a>, <a class="el" href="a00284.html#9411df8197ceb4881ec4c7368a0a7f88">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator >::const_accessor</a><li>operator delete()
-: <a class="el" href="a00358.html#3f2da7f3d8a6e4c1df522af1213afb5a">tbb::tbb_exception</a><li>operator()()
-: <a class="el" href="a00294.html#fa1b3dc1f4f47563ccab7f4d92f5b543">tbb::filter</a>, <a class="el" href="a00283.html#fa6314b861c574f86ed189b124cf5853">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator >::bucket_accessor</a><li>operator+=()
-: <a class="el" href="a00363.html#cd9814947902e26463a69a111530f81b">tbb::tick_count::interval_t</a><li>operator-=()
-: <a class="el" href="a00363.html#35ff7eaf7c2031b4a991402ac9ecb940">tbb::tick_count::interval_t</a><li>operator->()
-: <a class="el" href="a00282.html#a807920cdffe3ec5c5e282b4d1ff92a2">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator >::accessor</a>, <a class="el" href="a00284.html#3d03a48ecb8cd9549bd8be64b09c9b0d">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator >::const_accessor</a><li>operator=()
-: <a class="el" href="a00288.html#85cc876b1dec457b831b4745be274be1">tbb::concurrent_vector< T, A ></a>, <a class="el" href="a00285.html#9296c2eaeeae24cb7019659c2fdf0f62">tbb::interface5::concurrent_priority_queue< T, Compare, A ></a>, <a class="el" href="a00281.html#f765500afa7f55480f3991cfbe826b28">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a><li>operator[]()
-: <a class="el" href="a00288.html#c6fade5c732cc95274d1d8277ea619d1">tbb::concurrent_vector< T, A ></a></ul>
+<h3><a class="anchor" id="index_o"></a>- o -</h3><ul>
+<li>observe()
+: <a class="el" href="a00143.html#a40209b347e3c82bb5bfda05941304309">tbb::internal::task_scheduler_observer_v3</a>
+</li>
+<li>on_scheduler_entry()
+: <a class="el" href="a00143.html#af4282a27725fbe86052bb785bdd9c5d3">tbb::internal::task_scheduler_observer_v3</a>
+</li>
+<li>on_scheduler_exit()
+: <a class="el" href="a00143.html#a657e90f833568e217b807d0122fa7668">tbb::internal::task_scheduler_observer_v3</a>
+</li>
+<li>on_scheduler_leaving()
+: <a class="el" href="a00142.html#afd3842518d9a37efb3c8455b22950bb8">tbb::interface6::task_scheduler_observer</a>
+</li>
+<li>operator delete()
+: <a class="el" href="a00146.html#a6a973c37078afedf7d457ff4704bf8cd">tbb::tbb_exception</a>
+</li>
+<li>operator!=()
+: <a class="el" href="a00062.html#af3f6d2cc6cbec2dc1194f7d5f4091a73">tbb::flow::interface7::graph_iterator< GraphContainerType, GraphNodeType ></a>
+</li>
+<li>operator()()
+: <a class="el" href="a00026.html#a16e714a5e77dbf8daf81973df30722d4">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::bucket_accessor</a>
+</li>
+<li>operator*()
+: <a class="el" href="a00047.html#a8adf04e33e7c8c876ba849f26807713a">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::const_accessor</a>
+, <a class="el" href="a00010.html#a4e03905a33fbdafdb99113cc68d2bd4b">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::accessor</a>
+, <a class="el" href="a00062.html#a1daffd203bebae367ed0f32917048f22">tbb::flow::interface7::graph_iterator< GraphContainerType, GraphNodeType ></a>
+</li>
+<li>operator++()
+: <a class="el" href="a00062.html#ab84587ed134f01886f6a0d64d5a6ccef">tbb::flow::interface7::graph_iterator< GraphContainerType, GraphNodeType ></a>
+</li>
+<li>operator+=()
+: <a class="el" href="a00066.html#a19bf32f4541252daaa6b09fd33fa9177">tbb::tick_count::interval_t</a>
+</li>
+<li>operator-=()
+: <a class="el" href="a00066.html#a3394d9f3678e6a4c3d6e1be840fe2ff2">tbb::tick_count::interval_t</a>
+</li>
+<li>operator->()
+: <a class="el" href="a00010.html#ab04f73bd4a4ca7df0dc91a7b4d66f987">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::accessor</a>
+, <a class="el" href="a00062.html#abfb28c989f76822e26b47211febe3d72">tbb::flow::interface7::graph_iterator< GraphContainerType, GraphNodeType ></a>
+, <a class="el" href="a00047.html#a28fa9b9e6c35d7e80217e69a7afe1ee5">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::const_accessor</a>
+</li>
+<li>operator=()
+: <a class="el" href="a00035.html#a63e01b1f79c287ae0257ccfd483fd90a">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a>
+, <a class="el" href="a00042.html#adac1da59fdf8b536f95ea5be3134785f">tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator ></a>
+, <a class="el" href="a00046.html#a1fe7f0b60bbf304890a9293a35e6819d">tbb::concurrent_vector< T, A ></a>
+, <a class="el" href="a00044.html#ab8bc097b955ce129641eb3cf9f4cd4d5">tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator ></a>
+, <a class="el" href="a00043.html#a01e685fab9a39cbd69c53bb3b8befce6">tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator ></a>
+, <a class="el" href="a00037.html#a32eb9c65caf399b62fac7c13e65af05f">tbb::interface5::concurrent_priority_queue< T, Compare, A ></a>
+, <a class="el" href="a00062.html#ada73cea77a417f0df629eeaf4c1e2002">tbb::flow::interface7::graph_iterator< GraphContainerType, GraphNodeType ></a>
+, <a class="el" href="a00037.html#ac0c3f41b10f04547f3438517c40cf8a5">tbb::interface5::concurrent_priority_queue< T, Compare, A ></a>
+, <a class="el" href="a00046.html#a6e57d73b199ccd03922898e9da4888fb">tbb::concurrent_vector< T, A ></a>
+, <a class="el" href="a00040.html#ad641e7a34077b6a490625da4858b509a">tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator ></a>
+, <a class="el" href="a00046.html#a920384aece0eb8beea3049956320ec91">tbb::concurrent_vector< T, A ></a>
+</li>
+<li>operator==()
+: <a class="el" href="a00062.html#a3b0d834dffd2a99a596e9541b7a96d2a">tbb::flow::interface7::graph_iterator< GraphContainerType, GraphNodeType ></a>
+</li>
+<li>operator[]()
+: <a class="el" href="a00046.html#a3097cb46511504acfc9de7da5235f4a6">tbb::concurrent_vector< T, A ></a>
+</li>
+</ul>
+</div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/functions_func_0x70.html b/doc/html/functions_func_0x70.html
index 1a9251c..6e9eef1 100644
--- a/doc/html/functions_func_0x70.html
+++ b/doc/html/functions_func_0x70.html
@@ -1,84 +1,118 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
 <title>Class Members - Functions</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
-  <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li id="current"><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="functions.html"><span>All</span></a></li>
-    <li id="current"><a href="functions_func.html"><span>Functions</span></a></li>
-    <li><a href="functions_vars.html"><span>Variables</span></a></li>
-    <li><a href="functions_type.html"><span>Typedefs</span></a></li>
-    <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
-    <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
-    <li><a href="functions_rela.html"><span>Related Functions</span></a></li>
-  </ul>
-</div>
-<div class="tabs">
-  <ul>
-    <li><a href="functions_func.html#index_a"><span>a</span></a></li>
-    <li><a href="functions_func_0x62.html#index_b"><span>b</span></a></li>
-    <li><a href="functions_func_0x63.html#index_c"><span>c</span></a></li>
-    <li><a href="functions_func_0x64.html#index_d"><span>d</span></a></li>
-    <li><a href="functions_func_0x65.html#index_e"><span>e</span></a></li>
-    <li><a href="functions_func_0x66.html#index_f"><span>f</span></a></li>
-    <li><a href="functions_func_0x67.html#index_g"><span>g</span></a></li>
-    <li><a href="functions_func_0x69.html#index_i"><span>i</span></a></li>
-    <li><a href="functions_func_0x6c.html#index_l"><span>l</span></a></li>
-    <li><a href="functions_func_0x6d.html#index_m"><span>m</span></a></li>
-    <li><a href="functions_func_0x6e.html#index_n"><span>n</span></a></li>
-    <li><a href="functions_func_0x6f.html#index_o"><span>o</span></a></li>
-    <li id="current"><a href="functions_func_0x70.html#index_p"><span>p</span></a></li>
-    <li><a href="functions_func_0x71.html#index_q"><span>q</span></a></li>
-    <li><a href="functions_func_0x72.html#index_r"><span>r</span></a></li>
-    <li><a href="functions_func_0x73.html#index_s"><span>s</span></a></li>
-    <li><a href="functions_func_0x74.html#index_t"><span>t</span></a></li>
-    <li><a href="functions_func_0x75.html#index_u"><span>u</span></a></li>
-    <li><a href="functions_func_0x77.html#index_w"><span>w</span></a></li>
-    <li><a href="functions_func_0x7e.html#index_~"><span>~</span></a></li>
-  </ul>
-</div>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li class="current"><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow3" class="tabs2">
+    <ul class="tablist">
+      <li><a href="functions.html"><span>All</span></a></li>
+      <li class="current"><a href="functions_func.html"><span>Functions</span></a></li>
+      <li><a href="functions_vars.html"><span>Variables</span></a></li>
+      <li><a href="functions_type.html"><span>Typedefs</span></a></li>
+      <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
+      <li><a href="functions_rela.html"><span>Related Functions</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow4" class="tabs3">
+    <ul class="tablist">
+      <li><a href="functions_func.html#index_a"><span>a</span></a></li>
+      <li><a href="functions_func_0x62.html#index_b"><span>b</span></a></li>
+      <li><a href="functions_func_0x63.html#index_c"><span>c</span></a></li>
+      <li><a href="functions_func_0x64.html#index_d"><span>d</span></a></li>
+      <li><a href="functions_func_0x65.html#index_e"><span>e</span></a></li>
+      <li><a href="functions_func_0x66.html#index_f"><span>f</span></a></li>
+      <li><a href="functions_func_0x67.html#index_g"><span>g</span></a></li>
+      <li><a href="functions_func_0x68.html#index_h"><span>h</span></a></li>
+      <li><a href="functions_func_0x69.html#index_i"><span>i</span></a></li>
+      <li><a href="functions_func_0x6a.html#index_j"><span>j</span></a></li>
+      <li><a href="functions_func_0x6c.html#index_l"><span>l</span></a></li>
+      <li><a href="functions_func_0x6d.html#index_m"><span>m</span></a></li>
+      <li><a href="functions_func_0x6e.html#index_n"><span>n</span></a></li>
+      <li><a href="functions_func_0x6f.html#index_o"><span>o</span></a></li>
+      <li class="current"><a href="functions_func_0x70.html#index_p"><span>p</span></a></li>
+      <li><a href="functions_func_0x71.html#index_q"><span>q</span></a></li>
+      <li><a href="functions_func_0x72.html#index_r"><span>r</span></a></li>
+      <li><a href="functions_func_0x73.html#index_s"><span>s</span></a></li>
+      <li><a href="functions_func_0x74.html#index_t"><span>t</span></a></li>
+      <li><a href="functions_func_0x75.html#index_u"><span>u</span></a></li>
+      <li><a href="functions_func_0x77.html#index_w"><span>w</span></a></li>
+      <li><a href="functions_func_0x7e.html#index_0x7e"><span>~</span></a></li>
+    </ul>
+  </div>
+</div><!-- top -->
+<div class="contents">
+ 
 
-<p>
- 
-<p>
-<h3><a class="anchor" name="index_p">- p -</a></h3><ul>
+<h3><a class="anchor" id="index_p"></a>- p -</h3><ul>
 <li>pages()
-: <a class="el" href="a00273.html#cf971430aa12361d3ed245344b7c6764">tbb::blocked_range3d< PageValue, RowValue, ColValue ></a><li>parallel_while()
-: <a class="el" href="a00320.html#36e26ba3880c7bcf804a97ba0cbe133f">tbb::parallel_while< Body ></a><li>parent()
-: <a class="el" href="a00349.html#314e98ee4347ccec83efcb9ee22e8596">tbb::task</a><li>pause()
-: <a class="el" href="a00268.html#a174ea93e3bd3d5cce82389c2f28d037">tbb::internal::atomic_backoff</a><li>pipeline()
-: <a class="el" href="a00322.html#596dc3beba27099c4c8581cb419e1a59">tbb::pipeline</a><li>pop()
-: <a class="el" href="a00280.html#41f4c6bd7a82ab070e840bbf81b0b123">tbb::concurrent_bounded_queue< T, A ></a><li>pop_front()
-: <a class="el" href="a00354.html#5fe85df5ed524418389d34051750347d">tbb::task_list</a><li>pop_if_present()
-: <a class="el" href="a00287.html#48da3536245318af6cb5fd58bac78039">tbb::deprecated::concurrent_queue< T, A ></a><li>priority()
-: <a class="el" href="a00352.html#2f2342b9e6c9c03703248ac13ad0271d">tbb::task_group_context</a><li>priority_queue_node()
-: <a class="el" href="a00324.html#17a4f66e23d54100b64805405e905d62">tbb::flow::interface6::priority_queue_node< T, Compare, A ></a><li>process()
-: <a class="el" href="a00264.html#ccd88bf4333dc100ba97da8e2170277d">tbb::interface6::aggregator_ext< handler_type ></a><li>process_item()
-: <a class="el" href="a00361.html#5e726bdc7fbd924c0b07bd558b1d4d5d">tbb::thread_bound_filter</a><li>push()
-: <a class="el" href="a00280.html#ceb08c743b11ba88c878e73fff8af20b">tbb::concurrent_bounded_queue< T, A ></a>, <a class="el" href="a00286.html#73c47563ffcc4c2f6452f25a04ebe2e2">tbb::strict_ppl::concurrent_queue< T, A ></a>, <a class="el" href="a00285.html#d905af7b8f6defff562f5ae9c3275763">tbb::interface5::concurrent_priority_queue< T, Compare, A ></a><li>push_back()
-: <a class="el" href="a00354.html#4cd34756bc4763dafb8c84838a0124ff">tbb::task_list</a>, <a class="el" href="a00288.html#e94e038f915c0268fdf2d3d7f87d81b8">tbb::concurrent_vector< T, A ></a><li>push_if_not_full()
-: <a class="el" href="a00287.html#7c45561bafe71107d09b2bc1b8f4e681">tbb::deprecated::concurrent_queue< T, A ></a></ul>
+: <a class="el" href="a00023.html#a5b794fd53ba92106aeafa4eed85731d4">tbb::blocked_range3d< PageValue, RowValue, ColValue ></a>
+</li>
+<li>parallel_while()
+: <a class="el" href="a00088.html#a220a7307358aa36802c8754ea45ca385">tbb::parallel_while< Body ></a>
+</li>
+<li>pipeline()
+: <a class="el" href="a00089.html#afe7b7bd9b2617c2b69170675a478b2bd">tbb::pipeline</a>
+</li>
+<li>pop()
+: <a class="el" href="a00034.html#a87926c31967a918ce80690a9ed5d6fa8">tbb::concurrent_bounded_queue< T, A ></a>
+</li>
+<li>pop_if_present()
+: <a class="el" href="a00039.html#a8d6825341ca673ea316202474a021174">tbb::deprecated::concurrent_queue< T, A ></a>
+</li>
+<li>priority_queue_node()
+: <a class="el" href="a00091.html#ab295c7b50ff804f7276609a25016e7ca">tbb::flow::interface7::priority_queue_node< T, Compare, A ></a>
+</li>
+<li>process()
+: <a class="el" href="a00012.html#ae55b16ec6af204aa00d6a716fccec9f7">tbb::interface6::aggregator_ext< handler_type ></a>
+</li>
+<li>process_item()
+: <a class="el" href="a00150.html#ac99258407f382d84568a510075074fc7">tbb::thread_bound_filter</a>
+</li>
+<li>push()
+: <a class="el" href="a00034.html#ae5e9051772bbc93b2ccb8fd0a98a21f5">tbb::concurrent_bounded_queue< T, A ></a>
+, <a class="el" href="a00037.html#a1bfa0e7269b3407d6bb5c706264d2406">tbb::interface5::concurrent_priority_queue< T, Compare, A ></a>
+, <a class="el" href="a00038.html#a9330ca6590980d80ef7b1ea3613a699a">tbb::strict_ppl::concurrent_queue< T, A ></a>
+</li>
+<li>push_back()
+: <a class="el" href="a00046.html#a4a5c85a9e6ff82e15c18da47a95b518f">tbb::concurrent_vector< T, A ></a>
+</li>
+<li>push_if_not_full()
+: <a class="el" href="a00039.html#a129cde9f5f101ddd623619c838be07f3">tbb::deprecated::concurrent_queue< T, A ></a>
+</li>
+</ul>
+</div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/functions_func_0x71.html b/doc/html/functions_func_0x71.html
index 6a5af9a..1769964 100644
--- a/doc/html/functions_func_0x71.html
+++ b/doc/html/functions_func_0x71.html
@@ -1,72 +1,92 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
 <title>Class Members - Functions</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
-  <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li id="current"><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="functions.html"><span>All</span></a></li>
-    <li id="current"><a href="functions_func.html"><span>Functions</span></a></li>
-    <li><a href="functions_vars.html"><span>Variables</span></a></li>
-    <li><a href="functions_type.html"><span>Typedefs</span></a></li>
-    <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
-    <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
-    <li><a href="functions_rela.html"><span>Related Functions</span></a></li>
-  </ul>
-</div>
-<div class="tabs">
-  <ul>
-    <li><a href="functions_func.html#index_a"><span>a</span></a></li>
-    <li><a href="functions_func_0x62.html#index_b"><span>b</span></a></li>
-    <li><a href="functions_func_0x63.html#index_c"><span>c</span></a></li>
-    <li><a href="functions_func_0x64.html#index_d"><span>d</span></a></li>
-    <li><a href="functions_func_0x65.html#index_e"><span>e</span></a></li>
-    <li><a href="functions_func_0x66.html#index_f"><span>f</span></a></li>
-    <li><a href="functions_func_0x67.html#index_g"><span>g</span></a></li>
-    <li><a href="functions_func_0x69.html#index_i"><span>i</span></a></li>
-    <li><a href="functions_func_0x6c.html#index_l"><span>l</span></a></li>
-    <li><a href="functions_func_0x6d.html#index_m"><span>m</span></a></li>
-    <li><a href="functions_func_0x6e.html#index_n"><span>n</span></a></li>
-    <li><a href="functions_func_0x6f.html#index_o"><span>o</span></a></li>
-    <li><a href="functions_func_0x70.html#index_p"><span>p</span></a></li>
-    <li id="current"><a href="functions_func_0x71.html#index_q"><span>q</span></a></li>
-    <li><a href="functions_func_0x72.html#index_r"><span>r</span></a></li>
-    <li><a href="functions_func_0x73.html#index_s"><span>s</span></a></li>
-    <li><a href="functions_func_0x74.html#index_t"><span>t</span></a></li>
-    <li><a href="functions_func_0x75.html#index_u"><span>u</span></a></li>
-    <li><a href="functions_func_0x77.html#index_w"><span>w</span></a></li>
-    <li><a href="functions_func_0x7e.html#index_~"><span>~</span></a></li>
-  </ul>
-</div>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li class="current"><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow3" class="tabs2">
+    <ul class="tablist">
+      <li><a href="functions.html"><span>All</span></a></li>
+      <li class="current"><a href="functions_func.html"><span>Functions</span></a></li>
+      <li><a href="functions_vars.html"><span>Variables</span></a></li>
+      <li><a href="functions_type.html"><span>Typedefs</span></a></li>
+      <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
+      <li><a href="functions_rela.html"><span>Related Functions</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow4" class="tabs3">
+    <ul class="tablist">
+      <li><a href="functions_func.html#index_a"><span>a</span></a></li>
+      <li><a href="functions_func_0x62.html#index_b"><span>b</span></a></li>
+      <li><a href="functions_func_0x63.html#index_c"><span>c</span></a></li>
+      <li><a href="functions_func_0x64.html#index_d"><span>d</span></a></li>
+      <li><a href="functions_func_0x65.html#index_e"><span>e</span></a></li>
+      <li><a href="functions_func_0x66.html#index_f"><span>f</span></a></li>
+      <li><a href="functions_func_0x67.html#index_g"><span>g</span></a></li>
+      <li><a href="functions_func_0x68.html#index_h"><span>h</span></a></li>
+      <li><a href="functions_func_0x69.html#index_i"><span>i</span></a></li>
+      <li><a href="functions_func_0x6a.html#index_j"><span>j</span></a></li>
+      <li><a href="functions_func_0x6c.html#index_l"><span>l</span></a></li>
+      <li><a href="functions_func_0x6d.html#index_m"><span>m</span></a></li>
+      <li><a href="functions_func_0x6e.html#index_n"><span>n</span></a></li>
+      <li><a href="functions_func_0x6f.html#index_o"><span>o</span></a></li>
+      <li><a href="functions_func_0x70.html#index_p"><span>p</span></a></li>
+      <li class="current"><a href="functions_func_0x71.html#index_q"><span>q</span></a></li>
+      <li><a href="functions_func_0x72.html#index_r"><span>r</span></a></li>
+      <li><a href="functions_func_0x73.html#index_s"><span>s</span></a></li>
+      <li><a href="functions_func_0x74.html#index_t"><span>t</span></a></li>
+      <li><a href="functions_func_0x75.html#index_u"><span>u</span></a></li>
+      <li><a href="functions_func_0x77.html#index_w"><span>w</span></a></li>
+      <li><a href="functions_func_0x7e.html#index_0x7e"><span>~</span></a></li>
+    </ul>
+  </div>
+</div><!-- top -->
+<div class="contents">
+ 
 
-<p>
- 
-<p>
-<h3><a class="anchor" name="index_q">- q -</a></h3><ul>
+<h3><a class="anchor" id="index_q"></a>- q -</h3><ul>
 <li>queue_node()
-: <a class="el" href="a00325.html#0226762d9ebba28311b7b1518d948ab1">tbb::flow::interface6::queue_node< T, A ></a><li>queuing_mutex()
-: <a class="el" href="a00326.html#b389ad9c4db7293e4bdb5b8cda69ec04">tbb::queuing_mutex</a><li>queuing_rw_mutex()
-: <a class="el" href="a00328.html#85c90877c3447690ac4e2ac4ff8dea5e">tbb::queuing_rw_mutex</a></ul>
+: <a class="el" href="a00092.html#a503d3fe4f98302549e36f74633de5716">tbb::flow::interface7::queue_node< T, A ></a>
+</li>
+<li>queuing_mutex()
+: <a class="el" href="a00093.html#a0e58fce2062ae349a30b320b7fdc9155">tbb::queuing_mutex</a>
+</li>
+<li>queuing_rw_mutex()
+: <a class="el" href="a00094.html#a23de1ac415b6f54b778c8fd6ec6073e0">tbb::queuing_rw_mutex</a>
+</li>
+</ul>
+</div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/functions_func_0x72.html b/doc/html/functions_func_0x72.html
index 55de147..8f5cf37 100644
--- a/doc/html/functions_func_0x72.html
+++ b/doc/html/functions_func_0x72.html
@@ -1,95 +1,166 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
 <title>Class Members - Functions</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
-  <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li id="current"><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="functions.html"><span>All</span></a></li>
-    <li id="current"><a href="functions_func.html"><span>Functions</span></a></li>
-    <li><a href="functions_vars.html"><span>Variables</span></a></li>
-    <li><a href="functions_type.html"><span>Typedefs</span></a></li>
-    <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
-    <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
-    <li><a href="functions_rela.html"><span>Related Functions</span></a></li>
-  </ul>
-</div>
-<div class="tabs">
-  <ul>
-    <li><a href="functions_func.html#index_a"><span>a</span></a></li>
-    <li><a href="functions_func_0x62.html#index_b"><span>b</span></a></li>
-    <li><a href="functions_func_0x63.html#index_c"><span>c</span></a></li>
-    <li><a href="functions_func_0x64.html#index_d"><span>d</span></a></li>
-    <li><a href="functions_func_0x65.html#index_e"><span>e</span></a></li>
-    <li><a href="functions_func_0x66.html#index_f"><span>f</span></a></li>
-    <li><a href="functions_func_0x67.html#index_g"><span>g</span></a></li>
-    <li><a href="functions_func_0x69.html#index_i"><span>i</span></a></li>
-    <li><a href="functions_func_0x6c.html#index_l"><span>l</span></a></li>
-    <li><a href="functions_func_0x6d.html#index_m"><span>m</span></a></li>
-    <li><a href="functions_func_0x6e.html#index_n"><span>n</span></a></li>
-    <li><a href="functions_func_0x6f.html#index_o"><span>o</span></a></li>
-    <li><a href="functions_func_0x70.html#index_p"><span>p</span></a></li>
-    <li><a href="functions_func_0x71.html#index_q"><span>q</span></a></li>
-    <li id="current"><a href="functions_func_0x72.html#index_r"><span>r</span></a></li>
-    <li><a href="functions_func_0x73.html#index_s"><span>s</span></a></li>
-    <li><a href="functions_func_0x74.html#index_t"><span>t</span></a></li>
-    <li><a href="functions_func_0x75.html#index_u"><span>u</span></a></li>
-    <li><a href="functions_func_0x77.html#index_w"><span>w</span></a></li>
-    <li><a href="functions_func_0x7e.html#index_~"><span>~</span></a></li>
-  </ul>
-</div>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li class="current"><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow3" class="tabs2">
+    <ul class="tablist">
+      <li><a href="functions.html"><span>All</span></a></li>
+      <li class="current"><a href="functions_func.html"><span>Functions</span></a></li>
+      <li><a href="functions_vars.html"><span>Variables</span></a></li>
+      <li><a href="functions_type.html"><span>Typedefs</span></a></li>
+      <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
+      <li><a href="functions_rela.html"><span>Related Functions</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow4" class="tabs3">
+    <ul class="tablist">
+      <li><a href="functions_func.html#index_a"><span>a</span></a></li>
+      <li><a href="functions_func_0x62.html#index_b"><span>b</span></a></li>
+      <li><a href="functions_func_0x63.html#index_c"><span>c</span></a></li>
+      <li><a href="functions_func_0x64.html#index_d"><span>d</span></a></li>
+      <li><a href="functions_func_0x65.html#index_e"><span>e</span></a></li>
+      <li><a href="functions_func_0x66.html#index_f"><span>f</span></a></li>
+      <li><a href="functions_func_0x67.html#index_g"><span>g</span></a></li>
+      <li><a href="functions_func_0x68.html#index_h"><span>h</span></a></li>
+      <li><a href="functions_func_0x69.html#index_i"><span>i</span></a></li>
+      <li><a href="functions_func_0x6a.html#index_j"><span>j</span></a></li>
+      <li><a href="functions_func_0x6c.html#index_l"><span>l</span></a></li>
+      <li><a href="functions_func_0x6d.html#index_m"><span>m</span></a></li>
+      <li><a href="functions_func_0x6e.html#index_n"><span>n</span></a></li>
+      <li><a href="functions_func_0x6f.html#index_o"><span>o</span></a></li>
+      <li><a href="functions_func_0x70.html#index_p"><span>p</span></a></li>
+      <li><a href="functions_func_0x71.html#index_q"><span>q</span></a></li>
+      <li class="current"><a href="functions_func_0x72.html#index_r"><span>r</span></a></li>
+      <li><a href="functions_func_0x73.html#index_s"><span>s</span></a></li>
+      <li><a href="functions_func_0x74.html#index_t"><span>t</span></a></li>
+      <li><a href="functions_func_0x75.html#index_u"><span>u</span></a></li>
+      <li><a href="functions_func_0x77.html#index_w"><span>w</span></a></li>
+      <li><a href="functions_func_0x7e.html#index_0x7e"><span>~</span></a></li>
+    </ul>
+  </div>
+</div><!-- top -->
+<div class="contents">
+ 
 
-<p>
- 
-<p>
-<h3><a class="anchor" name="index_r">- r -</a></h3><ul>
+<h3><a class="anchor" id="index_r"></a>- r -</h3><ul>
 <li>range()
-: <a class="el" href="a00293.html#3b068000cf4dbf9b40f8bb7e3fc53e0b">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a>, <a class="el" href="a00288.html#3d09ccfb581b879ae64203741035e193">tbb::concurrent_vector< T, A ></a><li>rbegin()
-: <a class="el" href="a00288.html#9f9c103e18d5f212703805354074ad44">tbb::concurrent_vector< T, A ></a><li>reader_writer_lock()
-: <a class="el" href="a00330.html#c1431c4293e777efd9aab9a95c2a46e1">tbb::interface5::reader_writer_lock</a><li>recursive_mutex()
-: <a class="el" href="a00334.html#d2fceb7f95c24a8cd1457d4527e4b8c6">tbb::recursive_mutex</a><li>recycle_as_child_of()
-: <a class="el" href="a00349.html#db399855177438bbc9cc61d508dae8d2">tbb::task</a><li>recycle_as_continuation()
-: <a class="el" href="a00349.html#a67a79e18f62b43a623a00cfbd76db4c">tbb::task</a><li>recycle_as_safe_continuation()
-: <a class="el" href="a00349.html#3b290d14109704e2b69dc1ac980a7a76">tbb::task</a><li>recycle_to_enqueue()
-: <a class="el" href="a00349.html#076120a15237d1ee63060c992e878b29">tbb::task</a><li>recycle_to_reexecute()
-: <a class="el" href="a00349.html#4f1be9bbcdb487830dbe298b68d85144">tbb::task</a><li>ref_count()
-: <a class="el" href="a00349.html#ad774f55eaec008ae02b236423209ced">tbb::task</a><li>register_pending_exception()
-: <a class="el" href="a00352.html#d97c8a03615594b71b4ef06ff75cf561">tbb::task_group_context</a><li>register_predecessor()
-: <a class="el" href="a00304.html#de70a0e88ce7655d8c14b6af57f7496f">tbb::flow::interface6::limiter_node< T ></a>, <a class="el" href="a00291.html#2fcfa4990a42417bbeb1f3c8b9ac8a22">tbb::flow::interface6::continue_receiver</a>, <a class="el" href="a00333.html#30e3316466efe3a713c23062b6e806f3">tbb::flow::interface6::receiver< T ></a><li>register_successor()
-: <a class="el" href="a00304.html#c76561d8d871b4769876988a4de12a9b">tbb::flow::interface6::limiter_node< T ></a>, <a class="el" href="a00275.html#f8bf4944ede4fc106423d67715beb695">tbb::flow::interface6::buffer_node< T, A ></a>, <a class="el" href="a00274.html#fd0324c9ddb51fe6f95b3d015d338941">tbb::flow::interface6::broadcast_node< T ></a>, <a class="el" href="a00342.html#22960d499df9f1569a9d8a544e35afe3">tbb::flow::interface6::source_node< Output ></a>, <a class=" [...]
-: <a class="el" href="a00281.html#94758113d8993cfe5afdf2d63a728869">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a><li>release()
-: <a class="el" href="a00346.html#61b14d00a78185c9b2d206ebfc379124">tbb::spin_rw_mutex_v3::scoped_lock</a>, <a class="el" href="a00344.html#eeb615e68e963e6bf8d9c11402d0ce8e">tbb::spin_mutex::scoped_lock</a>, <a class="el" href="a00335.html#ac480ea0e9d5ea0345a67d57008b6263">tbb::recursive_mutex::scoped_lock</a>, <a class="el" href="a00329.html#67ae221109ddc69510ab593874e435d4">tbb::queuing_rw_mutex::scoped_lock</a>, <a class="el" href="a00327.html#3bf2b8c87ff22115be9b2eac179f2d30">tbb::qu [...]
-: <a class="el" href="a00304.html#c530e7b469454e2340460795f2da3317">tbb::flow::interface6::limiter_node< T ></a>, <a class="el" href="a00291.html#cb691b18416d4742265aed84d496ebbd">tbb::flow::interface6::continue_receiver</a>, <a class="el" href="a00333.html#3bc76547b51d3c9b633e3987d22dce95">tbb::flow::interface6::receiver< T ></a><li>remove_successor()
-: <a class="el" href="a00304.html#275e328063c121b3e506ccef2a825d28">tbb::flow::interface6::limiter_node< T ></a>, <a class="el" href="a00275.html#2074da0e39b9477c32897d6e5786196f">tbb::flow::interface6::buffer_node< T, A ></a>, <a class="el" href="a00274.html#366efcc046ec08a104281109801ae629">tbb::flow::interface6::broadcast_node< T ></a>, <a class="el" href="a00342.html#222484bf295f39df36415a29e508e5c9">tbb::flow::interface6::source_node< Output ></a>, <a class=" [...]
-: <a class="el" href="a00288.html#d438b9b32ea3a8ffb703015b6dce055b">tbb::concurrent_vector< T, A ></a><li>reserve()
-: <a class="el" href="a00288.html#5a0ce05026994b010018f72cfdeb72c1">tbb::concurrent_vector< T, A ></a><li>reset()
-: <a class="el" href="a00352.html#6d30d16bf1cd22f86c6afaf29c2b430c">tbb::task_group_context</a>, <a class="el" href="a00342.html#d751cdda02bdaa1dc90c4d9609c05df2">tbb::flow::interface6::source_node< Output ></a><li>resize()
-: <a class="el" href="a00288.html#98ce6b2c6d2622f0c030b46dfac3880c">tbb::concurrent_vector< T, A ></a><li>resolution()
-: <a class="el" href="a00362.html#8aaa5ac47975a1b0fa3e95752281159e">tbb::tick_count</a><li>root_task()
-: <a class="el" href="a00300.html#7f4e3ae90811a5d8b597146b5b586d10">tbb::flow::interface6::graph</a><li>rows()
-: <a class="el" href="a00273.html#1584623e59ff32a8aa82006827508be4">tbb::blocked_range3d< PageValue, RowValue, ColValue ></a>, <a class="el" href="a00272.html#f496e7348a82652fba581203477cc07c">tbb::blocked_range2d< RowValue, ColValue ></a><li>run()
-: <a class="el" href="a00322.html#93d7fec8cd607b803dd2d79fb46bd260">tbb::pipeline</a>, <a class="el" href="a00320.html#b32a0a6e5e09ebb7fad3e6652c19afe5">tbb::parallel_while< Body ></a>, <a class="el" href="a00300.html#c1145b00e063793a7e7bf994d202c7a0">tbb::flow::interface6::graph</a><li>runtime_loader()
-: <a class="el" href="a00336.html#7ae5330beb48fce0c702c32a5df0094a">tbb::interface6::runtime_loader</a></ul>
+: <a class="el" href="a00046.html#a8201f65735edcc28aeec95b6e73d75b6">tbb::concurrent_vector< T, A ></a>
+, <a class="el" href="a00052.html#a25b9153dfe994c8122a7f0227cffe793">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a>
+</li>
+<li>rbegin()
+: <a class="el" href="a00046.html#a9a2f8dce0adcbef8e29273c23723a78e">tbb::concurrent_vector< T, A ></a>
+</li>
+<li>reader_writer_lock()
+: <a class="el" href="a00095.html#abceda6c50b0c36eacbef51f4682742f3">tbb::interface5::reader_writer_lock</a>
+</li>
+<li>recursive_mutex()
+: <a class="el" href="a00107.html#a47eb6e7e7ffa5d35341125792b17236b">tbb::recursive_mutex</a>
+</li>
+<li>register_predecessor()
+: <a class="el" href="a00106.html#a16427aa709505de93ffe0d79136e4251">tbb::flow::interface7::receiver< T ></a>
+, <a class="el" href="a00050.html#a9ff043995b7b4d39ab0ec41c9e3628bf">tbb::flow::interface7::continue_receiver</a>
+, <a class="el" href="a00072.html#aca5ef5cec3b26227d71686d99ee04f7e">tbb::flow::interface7::limiter_node< T ></a>
+</li>
+<li>register_successor()
+: <a class="el" href="a00027.html#ab458d9fa2c7d6f39ec62d4027c9da376">tbb::flow::interface7::buffer_node< T, A ></a>
+, <a class="el" href="a00072.html#ad2cfd954eb06732f7bae8f2c8fe28735">tbb::flow::interface7::limiter_node< T ></a>
+, <a class="el" href="a00124.html#a4dac8f53a1f8373c1f3a874b9617e4ec">tbb::flow::interface7::sender< T ></a>
+, <a class="el" href="a00126.html#abf1627cf40dc62fa456fbf23bbcd2efa">tbb::flow::interface7::source_node< Output ></a>
+, <a class="el" href="a00086.html#aed811ce5f59a555396c7bcd56316b4da">tbb::flow::interface7::overwrite_node< T ></a>
+, <a class="el" href="a00025.html#a36b5c86faa58a264d899b7c26286c80e">tbb::flow::interface7::broadcast_node< T ></a>
+</li>
+<li>rehash()
+: <a class="el" href="a00035.html#adf1fa9470c605731063e5949f0418eb7">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a>
+</li>
+<li>release()
+: <a class="el" href="a00047.html#a18390cb369369d72bdf7c867755b5190">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::const_accessor</a>
+, <a class="el" href="a00116.html#a1a1590281ccca912229a689d920fd78a">tbb::mutex::scoped_lock</a>
+, <a class="el" href="a00121.html#aaa065e48b428b8d43e9bb931ba9e6f6c">tbb::queuing_mutex::scoped_lock</a>
+, <a class="el" href="a00119.html#a50fb02b77f02a01c74754d163157ec77">tbb::queuing_rw_mutex::scoped_lock</a>
+, <a class="el" href="a00120.html#a2fe3246ffc26bdb5a58f33ca513b6c0f">tbb::recursive_mutex::scoped_lock</a>
+, <a class="el" href="a00113.html#a7e801b0c28fd8395fec400b96acc5c34">tbb::spin_mutex::scoped_lock</a>
+, <a class="el" href="a00114.html#a99e279a995a51abfb87b865e886949f8">tbb::spin_rw_mutex_v3::scoped_lock</a>
+</li>
+<li>remove_predecessor()
+: <a class="el" href="a00106.html#a55adae6228bbdc1539695e1ec20e9762">tbb::flow::interface7::receiver< T ></a>
+, <a class="el" href="a00050.html#aea58a2200f20acd9cda829ba6958b22a">tbb::flow::interface7::continue_receiver</a>
+, <a class="el" href="a00072.html#a8aca7b4bd4ee13faf713021eb0d86735">tbb::flow::interface7::limiter_node< T ></a>
+</li>
+<li>remove_successor()
+: <a class="el" href="a00025.html#a22d463b071df6e0b7ca11df27bb2637e">tbb::flow::interface7::broadcast_node< T ></a>
+, <a class="el" href="a00027.html#a70d3c1fb1af11deb9b92fa753fa8604c">tbb::flow::interface7::buffer_node< T, A ></a>
+, <a class="el" href="a00072.html#ac7b092dcc2808abf02816d4ac9c86e66">tbb::flow::interface7::limiter_node< T ></a>
+, <a class="el" href="a00086.html#ab5ff89d56e2e3c3848d84a09c88b1d52">tbb::flow::interface7::overwrite_node< T ></a>
+, <a class="el" href="a00124.html#ac1ae19f49e31c6ca94dcf14732eb7a64">tbb::flow::interface7::sender< T ></a>
+, <a class="el" href="a00126.html#a97c80882ddbdfdcf50761e606f231123">tbb::flow::interface7::source_node< Output ></a>
+</li>
+<li>rend()
+: <a class="el" href="a00046.html#a618f38279a370c18f73ea2c29ded9cb9">tbb::concurrent_vector< T, A ></a>
+</li>
+<li>reserve()
+: <a class="el" href="a00046.html#a0b3284684328c58c0228c9a697ef3594">tbb::concurrent_vector< T, A ></a>
+</li>
+<li>reset()
+: <a class="el" href="a00126.html#a1874ab9048214245bff7b26c0d9e814b">tbb::flow::interface7::source_node< Output ></a>
+</li>
+<li>resize()
+: <a class="el" href="a00046.html#a941917a8a840ff08ce8810ca9476ff46">tbb::concurrent_vector< T, A ></a>
+</li>
+<li>resolution()
+: <a class="el" href="a00155.html#aaf6a0d91e7d40f7d68e0ad6b79350e58">tbb::tick_count</a>
+</li>
+<li>root_task()
+: <a class="el" href="a00061.html#ae5f59627a7d130cf289f105a849ad3f0">tbb::flow::interface7::graph</a>
+</li>
+<li>rows()
+: <a class="el" href="a00022.html#a4f7299e74c40df57dee2433c07ce65ae">tbb::blocked_range2d< RowValue, ColValue ></a>
+, <a class="el" href="a00023.html#aeac1def585af81467573f30ebb42cb4f">tbb::blocked_range3d< PageValue, RowValue, ColValue ></a>
+</li>
+<li>run()
+: <a class="el" href="a00089.html#a270dba81f7dd9935be7f3d69db907ff4">tbb::pipeline</a>
+, <a class="el" href="a00061.html#ac0a03f1d59dc2ccb9526995599c2c83c">tbb::flow::interface7::graph</a>
+, <a class="el" href="a00089.html#ac9ee9080cfc080c40a7ee7cb03a62637">tbb::pipeline</a>
+, <a class="el" href="a00061.html#a6e428c2d7c8780f3c2587a71c4d92466">tbb::flow::interface7::graph</a>
+, <a class="el" href="a00088.html#a20607ba5faa958144787d980aa850c16">tbb::parallel_while< Body ></a>
+</li>
+<li>runtime_loader()
+: <a class="el" href="a00110.html#a3e0932074d2f3ad04605e7e5da88c561">tbb::interface6::runtime_loader</a>
+</li>
+</ul>
+</div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/functions_func_0x73.html b/doc/html/functions_func_0x73.html
index 0403c35..2f27402 100644
--- a/doc/html/functions_func_0x73.html
+++ b/doc/html/functions_func_0x73.html
@@ -1,91 +1,144 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
 <title>Class Members - Functions</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
-  <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li id="current"><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="functions.html"><span>All</span></a></li>
-    <li id="current"><a href="functions_func.html"><span>Functions</span></a></li>
-    <li><a href="functions_vars.html"><span>Variables</span></a></li>
-    <li><a href="functions_type.html"><span>Typedefs</span></a></li>
-    <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
-    <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
-    <li><a href="functions_rela.html"><span>Related Functions</span></a></li>
-  </ul>
-</div>
-<div class="tabs">
-  <ul>
-    <li><a href="functions_func.html#index_a"><span>a</span></a></li>
-    <li><a href="functions_func_0x62.html#index_b"><span>b</span></a></li>
-    <li><a href="functions_func_0x63.html#index_c"><span>c</span></a></li>
-    <li><a href="functions_func_0x64.html#index_d"><span>d</span></a></li>
-    <li><a href="functions_func_0x65.html#index_e"><span>e</span></a></li>
-    <li><a href="functions_func_0x66.html#index_f"><span>f</span></a></li>
-    <li><a href="functions_func_0x67.html#index_g"><span>g</span></a></li>
-    <li><a href="functions_func_0x69.html#index_i"><span>i</span></a></li>
-    <li><a href="functions_func_0x6c.html#index_l"><span>l</span></a></li>
-    <li><a href="functions_func_0x6d.html#index_m"><span>m</span></a></li>
-    <li><a href="functions_func_0x6e.html#index_n"><span>n</span></a></li>
-    <li><a href="functions_func_0x6f.html#index_o"><span>o</span></a></li>
-    <li><a href="functions_func_0x70.html#index_p"><span>p</span></a></li>
-    <li><a href="functions_func_0x71.html#index_q"><span>q</span></a></li>
-    <li><a href="functions_func_0x72.html#index_r"><span>r</span></a></li>
-    <li id="current"><a href="functions_func_0x73.html#index_s"><span>s</span></a></li>
-    <li><a href="functions_func_0x74.html#index_t"><span>t</span></a></li>
-    <li><a href="functions_func_0x75.html#index_u"><span>u</span></a></li>
-    <li><a href="functions_func_0x77.html#index_w"><span>w</span></a></li>
-    <li><a href="functions_func_0x7e.html#index_~"><span>~</span></a></li>
-  </ul>
-</div>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li class="current"><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow3" class="tabs2">
+    <ul class="tablist">
+      <li><a href="functions.html"><span>All</span></a></li>
+      <li class="current"><a href="functions_func.html"><span>Functions</span></a></li>
+      <li><a href="functions_vars.html"><span>Variables</span></a></li>
+      <li><a href="functions_type.html"><span>Typedefs</span></a></li>
+      <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
+      <li><a href="functions_rela.html"><span>Related Functions</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow4" class="tabs3">
+    <ul class="tablist">
+      <li><a href="functions_func.html#index_a"><span>a</span></a></li>
+      <li><a href="functions_func_0x62.html#index_b"><span>b</span></a></li>
+      <li><a href="functions_func_0x63.html#index_c"><span>c</span></a></li>
+      <li><a href="functions_func_0x64.html#index_d"><span>d</span></a></li>
+      <li><a href="functions_func_0x65.html#index_e"><span>e</span></a></li>
+      <li><a href="functions_func_0x66.html#index_f"><span>f</span></a></li>
+      <li><a href="functions_func_0x67.html#index_g"><span>g</span></a></li>
+      <li><a href="functions_func_0x68.html#index_h"><span>h</span></a></li>
+      <li><a href="functions_func_0x69.html#index_i"><span>i</span></a></li>
+      <li><a href="functions_func_0x6a.html#index_j"><span>j</span></a></li>
+      <li><a href="functions_func_0x6c.html#index_l"><span>l</span></a></li>
+      <li><a href="functions_func_0x6d.html#index_m"><span>m</span></a></li>
+      <li><a href="functions_func_0x6e.html#index_n"><span>n</span></a></li>
+      <li><a href="functions_func_0x6f.html#index_o"><span>o</span></a></li>
+      <li><a href="functions_func_0x70.html#index_p"><span>p</span></a></li>
+      <li><a href="functions_func_0x71.html#index_q"><span>q</span></a></li>
+      <li><a href="functions_func_0x72.html#index_r"><span>r</span></a></li>
+      <li class="current"><a href="functions_func_0x73.html#index_s"><span>s</span></a></li>
+      <li><a href="functions_func_0x74.html#index_t"><span>t</span></a></li>
+      <li><a href="functions_func_0x75.html#index_u"><span>u</span></a></li>
+      <li><a href="functions_func_0x77.html#index_w"><span>w</span></a></li>
+      <li><a href="functions_func_0x7e.html#index_0x7e"><span>~</span></a></li>
+    </ul>
+  </div>
+</div><!-- top -->
+<div class="contents">
+ 
 
-<p>
- 
-<p>
-<h3><a class="anchor" name="index_s">- s -</a></h3><ul>
+<h3><a class="anchor" id="index_s"></a>- s -</h3><ul>
 <li>scoped_lock()
-: <a class="el" href="a00346.html#42a92d4f8fdde425b111cfa8a9228071">tbb::spin_rw_mutex_v3::scoped_lock</a>, <a class="el" href="a00344.html#5ce6807050a9e8f87bcb4a65dccb12ef">tbb::spin_mutex::scoped_lock</a>, <a class="el" href="a00335.html#dec17713c4c1321ac8fec66816d0c602">tbb::recursive_mutex::scoped_lock</a>, <a class="el" href="a00331.html#cf19f20e082887c1bb0ba6b0911c3583">tbb::interface5::reader_writer_lock::scoped_lock</a>, <a class="el" href="a00329.html#fbb8798792d3aebb136c46fc63d [...]
-: <a class="el" href="a00332.html#87ab0dc8f7216e6ba0f7acd6aec33064">tbb::interface5::reader_writer_lock::scoped_lock_read</a><li>seconds()
-: <a class="el" href="a00363.html#d5d8429c0bc59cf6131b2abc7929fa59">tbb::tick_count::interval_t</a><li>self()
-: <a class="el" href="a00349.html#bd43e8d6249738efafd12d6a4c72c5e3">tbb::task</a><li>sequencer_node()
-: <a class="el" href="a00340.html#b38e7a070552960384bcc1d91af13a5c">tbb::flow::interface6::sequencer_node< T, A ></a><li>set_affinity()
-: <a class="el" href="a00349.html#dca19d7a45487a7d67a0db517e2b57c9">tbb::task</a><li>set_capacity()
-: <a class="el" href="a00280.html#f3c6c934f85fd02aedbc83a16943193b">tbb::concurrent_bounded_queue< T, A ></a><li>set_group_priority()
-: <a class="el" href="a00349.html#9ac8d1542d67d9d80121ff986801ac26">tbb::task</a><li>set_parent()
-: <a class="el" href="a00349.html#d2eaf79fcaa3ae473e3bd3f44bd8a464">tbb::task</a><li>set_priority()
-: <a class="el" href="a00352.html#c4272d4d9ab65d600ca70fc2c8c4b039">tbb::task_group_context</a><li>set_ref_count()
-: <a class="el" href="a00349.html#06a4206a57e8e12a439b14d6d41cfd92">tbb::task</a><li>set_state()
-: <a class="el" href="a00313.html#795649a185b0d6af6dc81c5f378616dd">tbb::mutex</a><li>shrink_to_fit()
-: <a class="el" href="a00288.html#03c6f4cf66532bf4cc907ee738a9a186">tbb::concurrent_vector< T, A ></a><li>size()
-: <a class="el" href="a00293.html#33fd6593da1ed14340f10f67d5a69130">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a>, <a class="el" href="a00288.html#715fe313c4a9c22731cc404dd80c9ec9">tbb::concurrent_vector< T, A ></a>, <a class="el" href="a00280.html#7dc14d1a579a4cccda9f857585e1768d">tbb::concurrent_bounded_queue< T, A ></a>, <a class="el" href="a00285.html#8b2ae25c61338c6fd59e94fe09822ba5">tbb::interface5::concurrent_priority_queue< T,  [...]
-: <a class="el" href="a00342.html#adaac111fbcace95804219a5f2929304">tbb::flow::interface6::source_node< Output ></a><li>spawn_and_wait_for_all()
-: <a class="el" href="a00349.html#894ab68378e502776d8220eea7ce9fa1">tbb::task</a><li>spawn_root_and_wait()
-: <a class="el" href="a00349.html#c33c7edbaec67aa8a56f48986a9dc69f">tbb::task</a><li>spin_mutex()
-: <a class="el" href="a00343.html#3d8fb44644fd8d41ada1fbeba7409be3">tbb::spin_mutex</a><li>spin_rw_mutex_v3()
-: <a class="el" href="a00345.html#61332b2756de89f3f5f69310cbb6e70c">tbb::spin_rw_mutex_v3</a><li>state()
-: <a class="el" href="a00349.html#0af7b2d7e6e8b4333b2accfce3dfb374">tbb::task</a><li>status()
-: <a class="el" href="a00336.html#78d938ed2e54d38dd38d6609e6c60389">tbb::interface6::runtime_loader</a><li>swap()
-: <a class="el" href="a00288.html#96c9c4bd968ed3edb8dd276854d2dae0">tbb::concurrent_vector< T, A ></a>, <a class="el" href="a00285.html#0ecdc6a04aa259374425d424ca2a6082">tbb::interface5::concurrent_priority_queue< T, Compare, A ></a>, <a class="el" href="a00281.html#076f8d9e16110aac5f558777aa744eb6">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a></ul>
+: <a class="el" href="a00116.html#a23122745ccd5fc2498fcbbd5ced09e06">tbb::mutex::scoped_lock</a>
+, <a class="el" href="a00121.html#aa82d9da0dcfe5b21f1c08473f8223105">tbb::queuing_mutex::scoped_lock</a>
+, <a class="el" href="a00120.html#a0a9962a3932cfbd0d12cb197494f951b">tbb::recursive_mutex::scoped_lock</a>
+, <a class="el" href="a00119.html#a1ae3792726dcff8da1f2c5366fb2b754">tbb::queuing_rw_mutex::scoped_lock</a>
+, <a class="el" href="a00113.html#a4287be975cf2448c95f068b065c45107">tbb::spin_mutex::scoped_lock</a>
+, <a class="el" href="a00121.html#a0afe0107eb0aae613e726f67624d2fca">tbb::queuing_mutex::scoped_lock</a>
+, <a class="el" href="a00119.html#af1b55ca1839c9c7c2cd779cd2dd9c474">tbb::queuing_rw_mutex::scoped_lock</a>
+, <a class="el" href="a00114.html#a285b355121772c874a7ecaaf4d347224">tbb::spin_rw_mutex_v3::scoped_lock</a>
+, <a class="el" href="a00118.html#aaed982d8c3f1e84298f9842063694f3c">tbb::interface5::reader_writer_lock::scoped_lock</a>
+</li>
+<li>scoped_lock_read()
+: <a class="el" href="a00123.html#a9d3120a23016dabd4cc2683fa561ee5a">tbb::interface5::reader_writer_lock::scoped_lock_read</a>
+</li>
+<li>seconds()
+: <a class="el" href="a00066.html#abe81446bbbb6b6e98d854b91acf47809">tbb::tick_count::interval_t</a>
+</li>
+<li>sequencer_node()
+: <a class="el" href="a00125.html#a0e8d3d486edc7f70c81b36ce9421c11a">tbb::flow::interface7::sequencer_node< T, A ></a>
+</li>
+<li>set_capacity()
+: <a class="el" href="a00034.html#a768699675813575eec08c1f43afda395">tbb::concurrent_bounded_queue< T, A ></a>
+</li>
+<li>set_state()
+: <a class="el" href="a00081.html#a0857c4596d7d5de09fe402ccd41d3e42">tbb::mutex</a>
+</li>
+<li>shrink_to_fit()
+: <a class="el" href="a00046.html#aba805b5225ad3399550f78ea15e51e93">tbb::concurrent_vector< T, A ></a>
+</li>
+<li>size()
+: <a class="el" href="a00037.html#a7d86ba200474b51ec99a6b917429c6bb">tbb::interface5::concurrent_priority_queue< T, Compare, A ></a>
+, <a class="el" href="a00021.html#a347ef8caa40edca3b7f475f182281140">tbb::blocked_range< Value ></a>
+, <a class="el" href="a00035.html#ad2ce6da7cd62bc7425f0a29498332ab4">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a>
+, <a class="el" href="a00034.html#a9d6c20fd8c193c12b6a7b0c3101fd966">tbb::concurrent_bounded_queue< T, A ></a>
+, <a class="el" href="a00046.html#a803268c16e3688ff4681251947d257c7">tbb::concurrent_vector< T, A ></a>
+, <a class="el" href="a00052.html#a4c33c5390783e17daf2b25d53ae919fb">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a>
+</li>
+<li>source_node()
+: <a class="el" href="a00126.html#a5730a4677f5bfdf6ff6e45e31a249d37">tbb::flow::interface7::source_node< Output ></a>
+</li>
+<li>spin_mutex()
+: <a class="el" href="a00127.html#a6c96196965bf7df426311d282ad3c378">tbb::spin_mutex</a>
+</li>
+<li>spin_rw_mutex_v3()
+: <a class="el" href="a00128.html#ad30fc1ffa0a2b8134e177e02c5821d7f">tbb::spin_rw_mutex_v3</a>
+</li>
+<li>start()
+: <a class="el" href="a00013.html#adc0e032aa604f1da85ffc7ec269b157f">tbb::interface6::aggregator_operation</a>
+</li>
+<li>start_routine()
+: <a class="el" href="a00152.html#a33d533b3301c45708c6252d040f855a6">tbb::internal::thread_closure_1< F, X ></a>
+, <a class="el" href="a00153.html#a29003179f98d768622c72b9ab5cfe8f6">tbb::internal::thread_closure_2< F, X, Y ></a>
+</li>
+<li>status()
+: <a class="el" href="a00110.html#a85bf9ee021a2076a3ac7cfd70aae7345">tbb::interface6::runtime_loader</a>
+</li>
+<li>swap()
+: <a class="el" href="a00046.html#a8603bd57324fb6b60ba006884c95279d">tbb::concurrent_vector< T, A ></a>
+, <a class="el" href="a00037.html#aa6ee6d356e538b67a7cb4e242e6e36c9">tbb::interface5::concurrent_priority_queue< T, Compare, A ></a>
+, <a class="el" href="a00035.html#a4c8edf603bc776a6c84c007702c1808e">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a>
+</li>
+</ul>
+</div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/functions_func_0x74.html b/doc/html/functions_func_0x74.html
index 7db5c91..5875a17 100644
--- a/doc/html/functions_func_0x74.html
+++ b/doc/html/functions_func_0x74.html
@@ -1,89 +1,167 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
 <title>Class Members - Functions</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
-  <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li id="current"><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="functions.html"><span>All</span></a></li>
-    <li id="current"><a href="functions_func.html"><span>Functions</span></a></li>
-    <li><a href="functions_vars.html"><span>Variables</span></a></li>
-    <li><a href="functions_type.html"><span>Typedefs</span></a></li>
-    <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
-    <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
-    <li><a href="functions_rela.html"><span>Related Functions</span></a></li>
-  </ul>
-</div>
-<div class="tabs">
-  <ul>
-    <li><a href="functions_func.html#index_a"><span>a</span></a></li>
-    <li><a href="functions_func_0x62.html#index_b"><span>b</span></a></li>
-    <li><a href="functions_func_0x63.html#index_c"><span>c</span></a></li>
-    <li><a href="functions_func_0x64.html#index_d"><span>d</span></a></li>
-    <li><a href="functions_func_0x65.html#index_e"><span>e</span></a></li>
-    <li><a href="functions_func_0x66.html#index_f"><span>f</span></a></li>
-    <li><a href="functions_func_0x67.html#index_g"><span>g</span></a></li>
-    <li><a href="functions_func_0x69.html#index_i"><span>i</span></a></li>
-    <li><a href="functions_func_0x6c.html#index_l"><span>l</span></a></li>
-    <li><a href="functions_func_0x6d.html#index_m"><span>m</span></a></li>
-    <li><a href="functions_func_0x6e.html#index_n"><span>n</span></a></li>
-    <li><a href="functions_func_0x6f.html#index_o"><span>o</span></a></li>
-    <li><a href="functions_func_0x70.html#index_p"><span>p</span></a></li>
-    <li><a href="functions_func_0x71.html#index_q"><span>q</span></a></li>
-    <li><a href="functions_func_0x72.html#index_r"><span>r</span></a></li>
-    <li><a href="functions_func_0x73.html#index_s"><span>s</span></a></li>
-    <li id="current"><a href="functions_func_0x74.html#index_t"><span>t</span></a></li>
-    <li><a href="functions_func_0x75.html#index_u"><span>u</span></a></li>
-    <li><a href="functions_func_0x77.html#index_w"><span>w</span></a></li>
-    <li><a href="functions_func_0x7e.html#index_~"><span>~</span></a></li>
-  </ul>
-</div>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li class="current"><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow3" class="tabs2">
+    <ul class="tablist">
+      <li><a href="functions.html"><span>All</span></a></li>
+      <li class="current"><a href="functions_func.html"><span>Functions</span></a></li>
+      <li><a href="functions_vars.html"><span>Variables</span></a></li>
+      <li><a href="functions_type.html"><span>Typedefs</span></a></li>
+      <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
+      <li><a href="functions_rela.html"><span>Related Functions</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow4" class="tabs3">
+    <ul class="tablist">
+      <li><a href="functions_func.html#index_a"><span>a</span></a></li>
+      <li><a href="functions_func_0x62.html#index_b"><span>b</span></a></li>
+      <li><a href="functions_func_0x63.html#index_c"><span>c</span></a></li>
+      <li><a href="functions_func_0x64.html#index_d"><span>d</span></a></li>
+      <li><a href="functions_func_0x65.html#index_e"><span>e</span></a></li>
+      <li><a href="functions_func_0x66.html#index_f"><span>f</span></a></li>
+      <li><a href="functions_func_0x67.html#index_g"><span>g</span></a></li>
+      <li><a href="functions_func_0x68.html#index_h"><span>h</span></a></li>
+      <li><a href="functions_func_0x69.html#index_i"><span>i</span></a></li>
+      <li><a href="functions_func_0x6a.html#index_j"><span>j</span></a></li>
+      <li><a href="functions_func_0x6c.html#index_l"><span>l</span></a></li>
+      <li><a href="functions_func_0x6d.html#index_m"><span>m</span></a></li>
+      <li><a href="functions_func_0x6e.html#index_n"><span>n</span></a></li>
+      <li><a href="functions_func_0x6f.html#index_o"><span>o</span></a></li>
+      <li><a href="functions_func_0x70.html#index_p"><span>p</span></a></li>
+      <li><a href="functions_func_0x71.html#index_q"><span>q</span></a></li>
+      <li><a href="functions_func_0x72.html#index_r"><span>r</span></a></li>
+      <li><a href="functions_func_0x73.html#index_s"><span>s</span></a></li>
+      <li class="current"><a href="functions_func_0x74.html#index_t"><span>t</span></a></li>
+      <li><a href="functions_func_0x75.html#index_u"><span>u</span></a></li>
+      <li><a href="functions_func_0x77.html#index_w"><span>w</span></a></li>
+      <li><a href="functions_func_0x7e.html#index_0x7e"><span>~</span></a></li>
+    </ul>
+  </div>
+</div><!-- top -->
+<div class="contents">
+ 
 
-<p>
- 
-<p>
-<h3><a class="anchor" name="index_t">- t -</a></h3><ul>
-<li>task()
-: <a class="el" href="a00349.html#2bce8ec6e44706e70128f5cf91b76e67">tbb::task</a><li>task_arena()
-: <a class="el" href="a00350.html#27ac2706e3f2a989487ba7944b07cb94">tbb::interface6::task_arena</a><li>task_group_context()
-: <a class="el" href="a00352.html#19fee08fb8ac98adccfe69c1aa63c491">tbb::task_group_context</a><li>task_list()
-: <a class="el" href="a00354.html#416341c2047eaef50417b41eaf7e9de6">tbb::task_list</a><li>task_scheduler_init()
-: <a class="el" href="a00355.html#5dbd23c83603b3b09dffa7982112cc95">tbb::task_scheduler_init</a><li>terminate()
-: <a class="el" href="a00355.html#f73257e04cb7fb9bd5be2b635d9016f1">tbb::task_scheduler_init</a>, <a class="el" href="a00350.html#ee3f3f736da03bfe8b82acfa822624a6">tbb::interface6::task_arena</a><li>throw_self()
-: <a class="el" href="a00359.html#292832fd5c523e3d8081a22247840a1d">tbb::internal::tbb_exception_ptr</a>, <a class="el" href="a00311.html#17cffba35811c92b7e65d63506b69602">tbb::movable_exception< ExceptionData ></a>, <a class="el" href="a00278.html#2dd1be66ab32fa27e0ddef5707fa67ef">tbb::captured_exception</a>, <a class="el" href="a00358.html#8588e07fa49692f4d734e4f2e4f048f4">tbb::tbb_exception</a><li>tick_count()
-: <a class="el" href="a00362.html#34593326ae4191e02a13c7cbdab9de4c">tbb::tick_count</a><li>try_acquire()
-: <a class="el" href="a00346.html#9879626968d9b9a04cd2ec0fb2e84ae1">tbb::spin_rw_mutex_v3::scoped_lock</a>, <a class="el" href="a00344.html#9297ec188534b45dc0ca48f2f39a0501">tbb::spin_mutex::scoped_lock</a>, <a class="el" href="a00335.html#36bfc3e93e3ef6340abef4901444d340">tbb::recursive_mutex::scoped_lock</a>, <a class="el" href="a00329.html#2e4ff6c9ec2fee6682f95290d1f42baa">tbb::queuing_rw_mutex::scoped_lock</a>, <a class="el" href="a00327.html#e5a014fb817599386a87170cf2cf51a9">tbb::qu [...]
-: <a class="el" href="a00275.html#8ef07c434eb763d947a7b4e80c086a49">tbb::flow::interface6::buffer_node< T, A ></a>, <a class="el" href="a00342.html#2c7fcc29e2894b29138be3c1edce9bc9">tbb::flow::interface6::source_node< Output ></a>, <a class="el" href="a00339.html#7b840f50da117a0d6848707c1857ea2e">tbb::flow::interface6::sender< T ></a><li>try_get()
-: <a class="el" href="a00275.html#aeb8aec46ca99ca022356a792c46735e">tbb::flow::interface6::buffer_node< T, A ></a>, <a class="el" href="a00342.html#41073ad4d3510ed5a8b6bda9c0f58636">tbb::flow::interface6::source_node< Output ></a>, <a class="el" href="a00339.html#922fb56b0aad090b90a98b7d56b76a59">tbb::flow::interface6::sender< T ></a><li>try_lock()
-: <a class="el" href="a00345.html#088bb256be794cc47d3b83791632fdfc">tbb::spin_rw_mutex_v3</a>, <a class="el" href="a00343.html#8f9a58fb56a2b4c5efe1a7f7c1ae2074">tbb::spin_mutex</a>, <a class="el" href="a00334.html#86e719b0afee25704af11ab97694d240">tbb::recursive_mutex</a>, <a class="el" href="a00330.html#721eb173e154ab38292273e9266a9b07">tbb::interface5::reader_writer_lock</a>, <a class="el" href="a00313.html#4331652c79dea1c1131bd59ab161b234">tbb::mutex</a><li>try_lock_read()
-: <a class="el" href="a00345.html#b8667415869013f840d976aa406d385a">tbb::spin_rw_mutex_v3</a>, <a class="el" href="a00330.html#595fb23952e3b89426b1f7938dea9b11">tbb::interface5::reader_writer_lock</a><li>try_pop()
-: <a class="el" href="a00280.html#0ca487019bbb00a196442aff78a1e4f7">tbb::concurrent_bounded_queue< T, A ></a>, <a class="el" href="a00286.html#ae31ca0db34ef96ef1e74aa0d28c95f8">tbb::strict_ppl::concurrent_queue< T, A ></a>, <a class="el" href="a00285.html#e036461a29cc40902a2bb79abf9f5146">tbb::interface5::concurrent_priority_queue< T, Compare, A ></a><li>try_process_item()
-: <a class="el" href="a00361.html#c4f90f2c771bce748beb9be734fa286c">tbb::thread_bound_filter</a><li>try_push()
-: <a class="el" href="a00280.html#2bd6232531279fb3ccbd296bea23066b">tbb::concurrent_bounded_queue< T, A ></a><li>try_put()
-: <a class="el" href="a00333.html#e1adb4060a7cbac837cd24da57c5a846">tbb::flow::interface6::receiver< T ></a><li>try_put_task()
-: <a class="el" href="a00304.html#ca2ff9f3379b8b5a3de2ababbca4a476">tbb::flow::interface6::limiter_node< T ></a>, <a class="el" href="a00275.html#84d939049fa8c3205aec91ced0980e03">tbb::flow::interface6::buffer_node< T, A ></a>, <a class="el" href="a00274.html#b4804d99e0fb0576f1061ab7269e5939">tbb::flow::interface6::broadcast_node< T ></a><li>try_release()
-: <a class="el" href="a00275.html#2c8e8f2f5f4ff5be27136cc1184a3c3e">tbb::flow::interface6::buffer_node< T, A ></a>, <a class="el" href="a00342.html#494678baf9096835268736b800824460">tbb::flow::interface6::source_node< Output ></a>, <a class="el" href="a00339.html#27036b06d6a91e97007e14f400529199">tbb::flow::interface6::sender< T ></a><li>try_reserve()
-: <a class="el" href="a00275.html#1cc889bb6c38bcb81757d0ebbc3a5e64">tbb::flow::interface6::buffer_node< T, A ></a>, <a class="el" href="a00342.html#ad459713ff3c1c9ad0f4826daa141f65">tbb::flow::interface6::source_node< Output ></a>, <a class="el" href="a00339.html#02c05b472271db1b68a48ea2618fa72f">tbb::flow::interface6::sender< T ></a></ul>
+<h3><a class="anchor" id="index_t"></a>- t -</h3><ul>
+<li>task_arena()
+: <a class="el" href="a00135.html#a6035737ce1a8db376d06880dae9d0c40">tbb::interface7::task_arena</a>
+</li>
+<li>task_scheduler_observer()
+: <a class="el" href="a00142.html#a36e7e0c466320029d5a3e50a573e04c1">tbb::interface6::task_scheduler_observer</a>
+</li>
+<li>task_scheduler_observer_v3()
+: <a class="el" href="a00143.html#a25bffb05efaaab36bc58590969e29745">tbb::internal::task_scheduler_observer_v3</a>
+</li>
+<li>tbb_thread_v3()
+: <a class="el" href="a00149.html#a672a5367e687635c869926bf8a986296">tbb::internal::tbb_thread_v3</a>
+</li>
+<li>terminate()
+: <a class="el" href="a00135.html#aecb3eedeacfe8469a91c17525dae7fc9">tbb::interface7::task_arena</a>
+, <a class="el" href="a00141.html#a15d5dca7f79c5769bb96f674e4da0c04">tbb::task_scheduler_init</a>
+</li>
+<li>throw_self()
+: <a class="el" href="a00146.html#ae45c08d36c7ec7ae91785da3515a8828">tbb::tbb_exception</a>
+, <a class="el" href="a00031.html#ac9ae925678fcc0cc02a74df7d06b8d63">tbb::captured_exception</a>
+, <a class="el" href="a00078.html#a3d1570b53220fbcb45eb81552b57827a">tbb::movable_exception< ExceptionData ></a>
+, <a class="el" href="a00147.html#a1713aa9a6a3850049d34358397a8ed81">tbb::internal::tbb_exception_ptr</a>
+</li>
+<li>tick_count()
+: <a class="el" href="a00155.html#a9f1daa0b7a4feb800f802b4be1f1e497">tbb::tick_count</a>
+</li>
+<li>try_acquire()
+: <a class="el" href="a00116.html#a46f983371aa852d2427ce69f9a571f78">tbb::mutex::scoped_lock</a>
+, <a class="el" href="a00121.html#ab4800ba9e743cd91f152036a6689b0e9">tbb::queuing_mutex::scoped_lock</a>
+, <a class="el" href="a00119.html#a4843d40dddc37c1aa3444e27d35d2433">tbb::queuing_rw_mutex::scoped_lock</a>
+, <a class="el" href="a00120.html#a160bba506f4033980ddb69ab7a02c4fb">tbb::recursive_mutex::scoped_lock</a>
+, <a class="el" href="a00113.html#a76acbd67c74906f6ea33a1de6fd443ce">tbb::spin_mutex::scoped_lock</a>
+, <a class="el" href="a00114.html#abf17ada91882fd70f139c503c0220f16">tbb::spin_rw_mutex_v3::scoped_lock</a>
+</li>
+<li>try_consume()
+: <a class="el" href="a00124.html#ad404d5218c7ae2556261ffa880cdf804">tbb::flow::interface7::sender< T ></a>
+, <a class="el" href="a00126.html#ad38a58c2f8f74f4c5cf72a2625ac26bf">tbb::flow::interface7::source_node< Output ></a>
+, <a class="el" href="a00027.html#a335072bc547c5e9b40f58dfeab525953">tbb::flow::interface7::buffer_node< T, A ></a>
+</li>
+<li>try_get()
+: <a class="el" href="a00124.html#ad50b8ac93e79cbdcd2bba11d35432f2c">tbb::flow::interface7::sender< T ></a>
+, <a class="el" href="a00126.html#a038c6b2b406d496244617a2d6dc01581">tbb::flow::interface7::source_node< Output ></a>
+, <a class="el" href="a00086.html#a575642eb611ca4e2012df5604634d341">tbb::flow::interface7::overwrite_node< T ></a>
+, <a class="el" href="a00027.html#a175cb77dfbdd0e322097a833a2271c1e">tbb::flow::interface7::buffer_node< T, A ></a>
+</li>
+<li>try_lock()
+: <a class="el" href="a00107.html#a8b181d9aaa95444145222cfe206e8094">tbb::recursive_mutex</a>
+, <a class="el" href="a00127.html#a003ffb196d22bf22ca22142338b7eeab">tbb::spin_mutex</a>
+, <a class="el" href="a00128.html#ab6ec20b1ec43a49c8c2908984e35b5e8">tbb::spin_rw_mutex_v3</a>
+, <a class="el" href="a00095.html#a1739e842af52925a2d4a7e821b9b3b8d">tbb::interface5::reader_writer_lock</a>
+, <a class="el" href="a00081.html#a480283933106941125717499f9c5ad42">tbb::mutex</a>
+</li>
+<li>try_lock_read()
+: <a class="el" href="a00095.html#a9c7aa04e00202c9a1197cb6d870cabb4">tbb::interface5::reader_writer_lock</a>
+, <a class="el" href="a00128.html#ac932f65b0b66320688e7957ce9c3e2c1">tbb::spin_rw_mutex_v3</a>
+</li>
+<li>try_pop()
+: <a class="el" href="a00037.html#a954177b09e184cf3db47f1b180a7ef5e">tbb::interface5::concurrent_priority_queue< T, Compare, A ></a>
+, <a class="el" href="a00038.html#aabb1acef18196fa11ed7db8e046c3943">tbb::strict_ppl::concurrent_queue< T, A ></a>
+, <a class="el" href="a00034.html#a3086cb4dcdeee245ef5cf34f72fb3e10">tbb::concurrent_bounded_queue< T, A ></a>
+</li>
+<li>try_process_item()
+: <a class="el" href="a00150.html#a12cfa43c620066a8783529cc8519c6f9">tbb::thread_bound_filter</a>
+</li>
+<li>try_push()
+: <a class="el" href="a00034.html#a03d93a240841a21788396bebd71c51bd">tbb::concurrent_bounded_queue< T, A ></a>
+</li>
+<li>try_put()
+: <a class="el" href="a00106.html#aee5067bb4f4b71ffa786c1b33cb9aa6a">tbb::flow::interface7::receiver< T ></a>
+</li>
+<li>try_put_task()
+: <a class="el" href="a00025.html#a07d030b43c6e2d9169a7e58db30a547b">tbb::flow::interface7::broadcast_node< T ></a>
+, <a class="el" href="a00027.html#aa4517c0a58649ea5eb140ab4b786e1ec">tbb::flow::interface7::buffer_node< T, A ></a>
+, <a class="el" href="a00072.html#a0551cf104b35669b5f5153c1d03d5d2d">tbb::flow::interface7::limiter_node< T ></a>
+</li>
+<li>try_release()
+: <a class="el" href="a00027.html#aaa3745fd4705345df16fb33954d93e30">tbb::flow::interface7::buffer_node< T, A ></a>
+, <a class="el" href="a00126.html#a309c65a2d0208a1072f7e852198d461d">tbb::flow::interface7::source_node< Output ></a>
+, <a class="el" href="a00124.html#a97ac316ddfb6bd7c7f2f56e3e819a30a">tbb::flow::interface7::sender< T ></a>
+</li>
+<li>try_reserve()
+: <a class="el" href="a00124.html#aa1b9dcf77ab558530ff93a706b4c4b5d">tbb::flow::interface7::sender< T ></a>
+, <a class="el" href="a00027.html#a3b12cdebf8cef15b90e3c9cd9e51019f">tbb::flow::interface7::buffer_node< T, A ></a>
+, <a class="el" href="a00126.html#aabb0d505d684d173b1a2c976bf0781a6">tbb::flow::interface7::source_node< Output ></a>
+</li>
+</ul>
+</div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/functions_func_0x75.html b/doc/html/functions_func_0x75.html
index 2693d34..d348db6 100644
--- a/doc/html/functions_func_0x75.html
+++ b/doc/html/functions_func_0x75.html
@@ -1,72 +1,97 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
 <title>Class Members - Functions</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
-  <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li id="current"><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="functions.html"><span>All</span></a></li>
-    <li id="current"><a href="functions_func.html"><span>Functions</span></a></li>
-    <li><a href="functions_vars.html"><span>Variables</span></a></li>
-    <li><a href="functions_type.html"><span>Typedefs</span></a></li>
-    <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
-    <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
-    <li><a href="functions_rela.html"><span>Related Functions</span></a></li>
-  </ul>
-</div>
-<div class="tabs">
-  <ul>
-    <li><a href="functions_func.html#index_a"><span>a</span></a></li>
-    <li><a href="functions_func_0x62.html#index_b"><span>b</span></a></li>
-    <li><a href="functions_func_0x63.html#index_c"><span>c</span></a></li>
-    <li><a href="functions_func_0x64.html#index_d"><span>d</span></a></li>
-    <li><a href="functions_func_0x65.html#index_e"><span>e</span></a></li>
-    <li><a href="functions_func_0x66.html#index_f"><span>f</span></a></li>
-    <li><a href="functions_func_0x67.html#index_g"><span>g</span></a></li>
-    <li><a href="functions_func_0x69.html#index_i"><span>i</span></a></li>
-    <li><a href="functions_func_0x6c.html#index_l"><span>l</span></a></li>
-    <li><a href="functions_func_0x6d.html#index_m"><span>m</span></a></li>
-    <li><a href="functions_func_0x6e.html#index_n"><span>n</span></a></li>
-    <li><a href="functions_func_0x6f.html#index_o"><span>o</span></a></li>
-    <li><a href="functions_func_0x70.html#index_p"><span>p</span></a></li>
-    <li><a href="functions_func_0x71.html#index_q"><span>q</span></a></li>
-    <li><a href="functions_func_0x72.html#index_r"><span>r</span></a></li>
-    <li><a href="functions_func_0x73.html#index_s"><span>s</span></a></li>
-    <li><a href="functions_func_0x74.html#index_t"><span>t</span></a></li>
-    <li id="current"><a href="functions_func_0x75.html#index_u"><span>u</span></a></li>
-    <li><a href="functions_func_0x77.html#index_w"><span>w</span></a></li>
-    <li><a href="functions_func_0x7e.html#index_~"><span>~</span></a></li>
-  </ul>
-</div>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li class="current"><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow3" class="tabs2">
+    <ul class="tablist">
+      <li><a href="functions.html"><span>All</span></a></li>
+      <li class="current"><a href="functions_func.html"><span>Functions</span></a></li>
+      <li><a href="functions_vars.html"><span>Variables</span></a></li>
+      <li><a href="functions_type.html"><span>Typedefs</span></a></li>
+      <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
+      <li><a href="functions_rela.html"><span>Related Functions</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow4" class="tabs3">
+    <ul class="tablist">
+      <li><a href="functions_func.html#index_a"><span>a</span></a></li>
+      <li><a href="functions_func_0x62.html#index_b"><span>b</span></a></li>
+      <li><a href="functions_func_0x63.html#index_c"><span>c</span></a></li>
+      <li><a href="functions_func_0x64.html#index_d"><span>d</span></a></li>
+      <li><a href="functions_func_0x65.html#index_e"><span>e</span></a></li>
+      <li><a href="functions_func_0x66.html#index_f"><span>f</span></a></li>
+      <li><a href="functions_func_0x67.html#index_g"><span>g</span></a></li>
+      <li><a href="functions_func_0x68.html#index_h"><span>h</span></a></li>
+      <li><a href="functions_func_0x69.html#index_i"><span>i</span></a></li>
+      <li><a href="functions_func_0x6a.html#index_j"><span>j</span></a></li>
+      <li><a href="functions_func_0x6c.html#index_l"><span>l</span></a></li>
+      <li><a href="functions_func_0x6d.html#index_m"><span>m</span></a></li>
+      <li><a href="functions_func_0x6e.html#index_n"><span>n</span></a></li>
+      <li><a href="functions_func_0x6f.html#index_o"><span>o</span></a></li>
+      <li><a href="functions_func_0x70.html#index_p"><span>p</span></a></li>
+      <li><a href="functions_func_0x71.html#index_q"><span>q</span></a></li>
+      <li><a href="functions_func_0x72.html#index_r"><span>r</span></a></li>
+      <li><a href="functions_func_0x73.html#index_s"><span>s</span></a></li>
+      <li><a href="functions_func_0x74.html#index_t"><span>t</span></a></li>
+      <li class="current"><a href="functions_func_0x75.html#index_u"><span>u</span></a></li>
+      <li><a href="functions_func_0x77.html#index_w"><span>w</span></a></li>
+      <li><a href="functions_func_0x7e.html#index_0x7e"><span>~</span></a></li>
+    </ul>
+  </div>
+</div><!-- top -->
+<div class="contents">
+ 
 
-<p>
- 
-<p>
-<h3><a class="anchor" name="index_u">- u -</a></h3><ul>
+<h3><a class="anchor" id="index_u"></a>- u -</h3><ul>
 <li>unlock()
-: <a class="el" href="a00345.html#f9f52ead2098eb5fb12da59d5ae53b55">tbb::spin_rw_mutex_v3</a>, <a class="el" href="a00343.html#0e843ee6265f57f27d228ba91e7308ef">tbb::spin_mutex</a>, <a class="el" href="a00334.html#f0a96e26b7f074588dc31e32524856ae">tbb::recursive_mutex</a>, <a class="el" href="a00330.html#5113b32689305599b2c36b5831547704">tbb::interface5::reader_writer_lock</a>, <a class="el" href="a00313.html#5fc9ef443ae75d966695546be399cc6b">tbb::mutex</a><li>unsafe_size()
-: <a class="el" href="a00286.html#eaa35a5274606779802e9a669a706260">tbb::strict_ppl::concurrent_queue< T, A ></a><li>upgrade_to_writer()
-: <a class="el" href="a00346.html#3f0b1e3f2efab63336400348bd070226">tbb::spin_rw_mutex_v3::scoped_lock</a>, <a class="el" href="a00329.html#11ba1da4a722c9e6f73339a52c487e82">tbb::queuing_rw_mutex::scoped_lock</a></ul>
+: <a class="el" href="a00081.html#a721eeae7ba16f8b92535f4534b583874">tbb::mutex</a>
+, <a class="el" href="a00095.html#a4c55c4dbde63e950fdc843c9b01a174f">tbb::interface5::reader_writer_lock</a>
+, <a class="el" href="a00127.html#adfcf8fe840aa73c08c2cadd570fd48fd">tbb::spin_mutex</a>
+, <a class="el" href="a00128.html#ab04321ed2cdf12ac5825c54591028fc0">tbb::spin_rw_mutex_v3</a>
+, <a class="el" href="a00107.html#af57e8d25e0e7614e98bcfa50bc9416c8">tbb::recursive_mutex</a>
+</li>
+<li>unsafe_size()
+: <a class="el" href="a00038.html#aad4b253ba595637b0b146eb6565556f2">tbb::strict_ppl::concurrent_queue< T, A ></a>
+</li>
+<li>upgrade_to_writer()
+: <a class="el" href="a00119.html#ae0f28ecfbbc5f8b3024cd47048b72b5b">tbb::queuing_rw_mutex::scoped_lock</a>
+, <a class="el" href="a00114.html#afbe5de57eadc457518df7a1bb0d30c00">tbb::spin_rw_mutex_v3::scoped_lock</a>
+</li>
+</ul>
+</div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/functions_func_0x77.html b/doc/html/functions_func_0x77.html
index 77801e8..82b29d8 100644
--- a/doc/html/functions_func_0x77.html
+++ b/doc/html/functions_func_0x77.html
@@ -1,72 +1,94 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
 <title>Class Members - Functions</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
-  <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li id="current"><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="functions.html"><span>All</span></a></li>
-    <li id="current"><a href="functions_func.html"><span>Functions</span></a></li>
-    <li><a href="functions_vars.html"><span>Variables</span></a></li>
-    <li><a href="functions_type.html"><span>Typedefs</span></a></li>
-    <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
-    <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
-    <li><a href="functions_rela.html"><span>Related Functions</span></a></li>
-  </ul>
-</div>
-<div class="tabs">
-  <ul>
-    <li><a href="functions_func.html#index_a"><span>a</span></a></li>
-    <li><a href="functions_func_0x62.html#index_b"><span>b</span></a></li>
-    <li><a href="functions_func_0x63.html#index_c"><span>c</span></a></li>
-    <li><a href="functions_func_0x64.html#index_d"><span>d</span></a></li>
-    <li><a href="functions_func_0x65.html#index_e"><span>e</span></a></li>
-    <li><a href="functions_func_0x66.html#index_f"><span>f</span></a></li>
-    <li><a href="functions_func_0x67.html#index_g"><span>g</span></a></li>
-    <li><a href="functions_func_0x69.html#index_i"><span>i</span></a></li>
-    <li><a href="functions_func_0x6c.html#index_l"><span>l</span></a></li>
-    <li><a href="functions_func_0x6d.html#index_m"><span>m</span></a></li>
-    <li><a href="functions_func_0x6e.html#index_n"><span>n</span></a></li>
-    <li><a href="functions_func_0x6f.html#index_o"><span>o</span></a></li>
-    <li><a href="functions_func_0x70.html#index_p"><span>p</span></a></li>
-    <li><a href="functions_func_0x71.html#index_q"><span>q</span></a></li>
-    <li><a href="functions_func_0x72.html#index_r"><span>r</span></a></li>
-    <li><a href="functions_func_0x73.html#index_s"><span>s</span></a></li>
-    <li><a href="functions_func_0x74.html#index_t"><span>t</span></a></li>
-    <li><a href="functions_func_0x75.html#index_u"><span>u</span></a></li>
-    <li id="current"><a href="functions_func_0x77.html#index_w"><span>w</span></a></li>
-    <li><a href="functions_func_0x7e.html#index_~"><span>~</span></a></li>
-  </ul>
-</div>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li class="current"><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow3" class="tabs2">
+    <ul class="tablist">
+      <li><a href="functions.html"><span>All</span></a></li>
+      <li class="current"><a href="functions_func.html"><span>Functions</span></a></li>
+      <li><a href="functions_vars.html"><span>Variables</span></a></li>
+      <li><a href="functions_type.html"><span>Typedefs</span></a></li>
+      <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
+      <li><a href="functions_rela.html"><span>Related Functions</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow4" class="tabs3">
+    <ul class="tablist">
+      <li><a href="functions_func.html#index_a"><span>a</span></a></li>
+      <li><a href="functions_func_0x62.html#index_b"><span>b</span></a></li>
+      <li><a href="functions_func_0x63.html#index_c"><span>c</span></a></li>
+      <li><a href="functions_func_0x64.html#index_d"><span>d</span></a></li>
+      <li><a href="functions_func_0x65.html#index_e"><span>e</span></a></li>
+      <li><a href="functions_func_0x66.html#index_f"><span>f</span></a></li>
+      <li><a href="functions_func_0x67.html#index_g"><span>g</span></a></li>
+      <li><a href="functions_func_0x68.html#index_h"><span>h</span></a></li>
+      <li><a href="functions_func_0x69.html#index_i"><span>i</span></a></li>
+      <li><a href="functions_func_0x6a.html#index_j"><span>j</span></a></li>
+      <li><a href="functions_func_0x6c.html#index_l"><span>l</span></a></li>
+      <li><a href="functions_func_0x6d.html#index_m"><span>m</span></a></li>
+      <li><a href="functions_func_0x6e.html#index_n"><span>n</span></a></li>
+      <li><a href="functions_func_0x6f.html#index_o"><span>o</span></a></li>
+      <li><a href="functions_func_0x70.html#index_p"><span>p</span></a></li>
+      <li><a href="functions_func_0x71.html#index_q"><span>q</span></a></li>
+      <li><a href="functions_func_0x72.html#index_r"><span>r</span></a></li>
+      <li><a href="functions_func_0x73.html#index_s"><span>s</span></a></li>
+      <li><a href="functions_func_0x74.html#index_t"><span>t</span></a></li>
+      <li><a href="functions_func_0x75.html#index_u"><span>u</span></a></li>
+      <li class="current"><a href="functions_func_0x77.html#index_w"><span>w</span></a></li>
+      <li><a href="functions_func_0x7e.html#index_0x7e"><span>~</span></a></li>
+    </ul>
+  </div>
+</div><!-- top -->
+<div class="contents">
+ 
 
-<p>
- 
-<p>
-<h3><a class="anchor" name="index_w">- w -</a></h3><ul>
+<h3><a class="anchor" id="index_w"></a>- w -</h3><ul>
 <li>wait_for_all()
-: <a class="el" href="a00349.html#53d2615ad9c38859b4c8080936600283">tbb::task</a>, <a class="el" href="a00300.html#a66b0020f7514b86d030fa8aea073d37">tbb::flow::interface6::graph</a><li>wait_until_empty()
-: <a class="el" href="a00350.html#776e73ba196e5bbb8b8ed489fc2b77d3">tbb::interface6::task_arena</a><li>what()
-: <a class="el" href="a00311.html#b33a89bccf0c63106f1270c7bfaaf54f">tbb::movable_exception< ExceptionData ></a>, <a class="el" href="a00278.html#6b5988ef74a1fe2a58998d110b3633e0">tbb::captured_exception</a>, <a class="el" href="a00358.html#e8157689ecb66bc6c72d3618bf3cc371">tbb::tbb_exception</a></ul>
+: <a class="el" href="a00061.html#a397208ce3b432c83cd24f416b082e8db">tbb::flow::interface7::graph</a>
+</li>
+<li>what()
+: <a class="el" href="a00146.html#ae0ad81121d4b722ecc466b5d3cc4e919">tbb::tbb_exception</a>
+, <a class="el" href="a00078.html#a41a2a7b61537ecd684bae760366f611c">tbb::movable_exception< ExceptionData ></a>
+, <a class="el" href="a00031.html#ac97ee315d8613c803dae2f6d3e0b91a7">tbb::captured_exception</a>
+</li>
+<li>write_once_node()
+: <a class="el" href="a00159.html#a68b94bb09b608522462080fe99125e07">tbb::flow::interface7::write_once_node< T ></a>
+</li>
+</ul>
+</div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/functions_func_0x7e.html b/doc/html/functions_func_0x7e.html
index 5b42dd8..9efbbaa 100644
--- a/doc/html/functions_func_0x7e.html
+++ b/doc/html/functions_func_0x7e.html
@@ -1,94 +1,167 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
 <title>Class Members - Functions</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
-  <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li id="current"><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="functions.html"><span>All</span></a></li>
-    <li id="current"><a href="functions_func.html"><span>Functions</span></a></li>
-    <li><a href="functions_vars.html"><span>Variables</span></a></li>
-    <li><a href="functions_type.html"><span>Typedefs</span></a></li>
-    <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
-    <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
-    <li><a href="functions_rela.html"><span>Related Functions</span></a></li>
-  </ul>
-</div>
-<div class="tabs">
-  <ul>
-    <li><a href="functions_func.html#index_a"><span>a</span></a></li>
-    <li><a href="functions_func_0x62.html#index_b"><span>b</span></a></li>
-    <li><a href="functions_func_0x63.html#index_c"><span>c</span></a></li>
-    <li><a href="functions_func_0x64.html#index_d"><span>d</span></a></li>
-    <li><a href="functions_func_0x65.html#index_e"><span>e</span></a></li>
-    <li><a href="functions_func_0x66.html#index_f"><span>f</span></a></li>
-    <li><a href="functions_func_0x67.html#index_g"><span>g</span></a></li>
-    <li><a href="functions_func_0x69.html#index_i"><span>i</span></a></li>
-    <li><a href="functions_func_0x6c.html#index_l"><span>l</span></a></li>
-    <li><a href="functions_func_0x6d.html#index_m"><span>m</span></a></li>
-    <li><a href="functions_func_0x6e.html#index_n"><span>n</span></a></li>
-    <li><a href="functions_func_0x6f.html#index_o"><span>o</span></a></li>
-    <li><a href="functions_func_0x70.html#index_p"><span>p</span></a></li>
-    <li><a href="functions_func_0x71.html#index_q"><span>q</span></a></li>
-    <li><a href="functions_func_0x72.html#index_r"><span>r</span></a></li>
-    <li><a href="functions_func_0x73.html#index_s"><span>s</span></a></li>
-    <li><a href="functions_func_0x74.html#index_t"><span>t</span></a></li>
-    <li><a href="functions_func_0x75.html#index_u"><span>u</span></a></li>
-    <li><a href="functions_func_0x77.html#index_w"><span>w</span></a></li>
-    <li id="current"><a href="functions_func_0x7e.html#index_~"><span>~</span></a></li>
-  </ul>
-</div>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li class="current"><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow3" class="tabs2">
+    <ul class="tablist">
+      <li><a href="functions.html"><span>All</span></a></li>
+      <li class="current"><a href="functions_func.html"><span>Functions</span></a></li>
+      <li><a href="functions_vars.html"><span>Variables</span></a></li>
+      <li><a href="functions_type.html"><span>Typedefs</span></a></li>
+      <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
+      <li><a href="functions_rela.html"><span>Related Functions</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow4" class="tabs3">
+    <ul class="tablist">
+      <li><a href="functions_func.html#index_a"><span>a</span></a></li>
+      <li><a href="functions_func_0x62.html#index_b"><span>b</span></a></li>
+      <li><a href="functions_func_0x63.html#index_c"><span>c</span></a></li>
+      <li><a href="functions_func_0x64.html#index_d"><span>d</span></a></li>
+      <li><a href="functions_func_0x65.html#index_e"><span>e</span></a></li>
+      <li><a href="functions_func_0x66.html#index_f"><span>f</span></a></li>
+      <li><a href="functions_func_0x67.html#index_g"><span>g</span></a></li>
+      <li><a href="functions_func_0x68.html#index_h"><span>h</span></a></li>
+      <li><a href="functions_func_0x69.html#index_i"><span>i</span></a></li>
+      <li><a href="functions_func_0x6a.html#index_j"><span>j</span></a></li>
+      <li><a href="functions_func_0x6c.html#index_l"><span>l</span></a></li>
+      <li><a href="functions_func_0x6d.html#index_m"><span>m</span></a></li>
+      <li><a href="functions_func_0x6e.html#index_n"><span>n</span></a></li>
+      <li><a href="functions_func_0x6f.html#index_o"><span>o</span></a></li>
+      <li><a href="functions_func_0x70.html#index_p"><span>p</span></a></li>
+      <li><a href="functions_func_0x71.html#index_q"><span>q</span></a></li>
+      <li><a href="functions_func_0x72.html#index_r"><span>r</span></a></li>
+      <li><a href="functions_func_0x73.html#index_s"><span>s</span></a></li>
+      <li><a href="functions_func_0x74.html#index_t"><span>t</span></a></li>
+      <li><a href="functions_func_0x75.html#index_u"><span>u</span></a></li>
+      <li><a href="functions_func_0x77.html#index_w"><span>w</span></a></li>
+      <li class="current"><a href="functions_func_0x7e.html#index_0x7e"><span>~</span></a></li>
+    </ul>
+  </div>
+</div><!-- top -->
+<div class="contents">
+ 
 
-<p>
- 
-<p>
-<h3><a class="anchor" name="index_~">- ~ -</a></h3><ul>
+<h3><a class="anchor" id="index_0x7e"></a>- ~ -</h3><ul>
 <li>~combinable()
-: <a class="el" href="a00279.html#2c87e79ae98588a5780f708773388843">tbb::combinable< T ></a><li>~concurrent_bounded_queue()
-: <a class="el" href="a00280.html#acaf5b510dc0dfc7780b8c956cf773cf">tbb::concurrent_bounded_queue< T, A ></a><li>~concurrent_hash_map()
-: <a class="el" href="a00281.html#2aa8e2d28d5af1284cf78d20a9c22731">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a><li>~concurrent_queue()
-: <a class="el" href="a00286.html#830b33753d6b149c366344e29b2edd8c">tbb::strict_ppl::concurrent_queue< T, A ></a><li>~concurrent_vector()
-: <a class="el" href="a00288.html#da2444b28bb840d38f60d0030333a5fc">tbb::concurrent_vector< T, A ></a><li>~const_accessor()
-: <a class="el" href="a00284.html#928769b139d53427e7075c1f86148e4c">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator >::const_accessor</a><li>~continue_receiver()
-: <a class="el" href="a00291.html#1e14828fa079b9835ff7267df5ee45d7">tbb::flow::interface6::continue_receiver</a><li>~enumerable_thread_specific()
-: <a class="el" href="a00293.html#5a7907d9e3e5b18e7a7b55211ef3213f">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a><li>~filter()
-: <a class="el" href="a00294.html#66d159f362293e3964ba3da8bc1d2604">tbb::filter</a><li>~graph()
-: <a class="el" href="a00300.html#8a7d424c0616a1c37a908ead182e2fe5">tbb::flow::interface6::graph</a><li>~memory_pool()
-: <a class="el" href="a00307.html#fdad7c4ed08332ec384491a71b721957">tbb::interface6::memory_pool< Alloc ></a><li>~parallel_while()
-: <a class="el" href="a00320.html#6fcfc973cc56b79c6d0fbb8a31be7e84">tbb::parallel_while< Body ></a><li>~pipeline()
-: <a class="el" href="a00322.html#49513c6c24f9d5bbbb27edca5efe01c9">tbb::pipeline</a><li>~queuing_rw_mutex()
-: <a class="el" href="a00328.html#1ba73e3d95cfdf8323880bc623af9099">tbb::queuing_rw_mutex</a><li>~reader_writer_lock()
-: <a class="el" href="a00330.html#5135f64f7b7339017f33d956445edbee">tbb::interface5::reader_writer_lock</a><li>~receiver()
-: <a class="el" href="a00333.html#b00699b235435f7b65b663d5063624a1">tbb::flow::interface6::receiver< T ></a><li>~runtime_loader()
-: <a class="el" href="a00336.html#c25fec923a751a3e03f5cbe969f1f0c5">tbb::interface6::runtime_loader</a><li>~scoped_lock()
-: <a class="el" href="a00346.html#d7eaaa3f2e2c5dc11e7005811b1bdd04">tbb::spin_rw_mutex_v3::scoped_lock</a>, <a class="el" href="a00344.html#ac6fa425d1f06c56d8b70abc51aac844">tbb::spin_mutex::scoped_lock</a>, <a class="el" href="a00335.html#c1197ffb8f3cd9d4fed71d7e06265b7c">tbb::recursive_mutex::scoped_lock</a>, <a class="el" href="a00331.html#70246e0260493625ff956fa5926fc71f">tbb::interface5::reader_writer_lock::scoped_lock</a>, <a class="el" href="a00329.html#32c7d67a660d23ebbaab1a1d282 [...]
-: <a class="el" href="a00332.html#bd21c5f3d555d64d1de8658e15bf4966">tbb::interface5::reader_writer_lock::scoped_lock_read</a><li>~sequencer_node()
-: <a class="el" href="a00340.html#93d3d8f6a72b3e1387047282116ed6ee">tbb::flow::interface6::sequencer_node< T, A ></a><li>~source_node()
-: <a class="el" href="a00342.html#61700b0865fc17188b0abe26bbde65b6">tbb::flow::interface6::source_node< Output ></a><li>~spin_rw_mutex_v3()
-: <a class="el" href="a00345.html#9a815fb2759e55072ed413f1b6970cf3">tbb::spin_rw_mutex_v3</a><li>~task()
-: <a class="el" href="a00349.html#98245ee0473f84cb19dbbf8c81134908">tbb::task</a><li>~task_arena()
-: <a class="el" href="a00350.html#fec24e9b3fa07a6e7b20add7c7e0a660">tbb::interface6::task_arena</a><li>~task_list()
-: <a class="el" href="a00354.html#6d438f1499a02db1e59c24ab6043e5ba">tbb::task_list</a></ul>
+: <a class="el" href="a00032.html#a52f00cf262d768048db72ab73c8f3ca4">tbb::combinable< T ></a>
+</li>
+<li>~concurrent_bounded_queue()
+: <a class="el" href="a00034.html#ab1291bf6837ecfb8836c24dde5dd80b5">tbb::concurrent_bounded_queue< T, A ></a>
+</li>
+<li>~concurrent_hash_map()
+: <a class="el" href="a00035.html#a9ce9ab8c954bf6979c2c57d10fd8a8ed">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a>
+</li>
+<li>~concurrent_queue()
+: <a class="el" href="a00038.html#aa0056b242f280f5e25332ce998f9f670">tbb::strict_ppl::concurrent_queue< T, A ></a>
+</li>
+<li>~concurrent_vector()
+: <a class="el" href="a00046.html#ab5bcaededc9a00e7aaecd6c262fd0b38">tbb::concurrent_vector< T, A ></a>
+</li>
+<li>~const_accessor()
+: <a class="el" href="a00047.html#afbc0c85a146c912b9a0f94a7695957c7">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::const_accessor</a>
+</li>
+<li>~continue_receiver()
+: <a class="el" href="a00050.html#a2ca2de23e1e1eeb7071a838a457a50b2">tbb::flow::interface7::continue_receiver</a>
+</li>
+<li>~enumerable_thread_specific()
+: <a class="el" href="a00052.html#a6ea8d717f770acb63efc406df52d4585">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a>
+</li>
+<li>~fixed_pool()
+: <a class="el" href="a00056.html#ab854a85575e5c1e9c9f4d3eafcc28044">tbb::interface6::fixed_pool</a>
+</li>
+<li>~graph()
+: <a class="el" href="a00061.html#a3412df4d4bf0113aed93c958bbb49ec4">tbb::flow::interface7::graph</a>
+</li>
+<li>~memory_pool()
+: <a class="el" href="a00073.html#ad2c7645b39b7280b1b3cf393d05fbaf7">tbb::interface6::memory_pool< Alloc ></a>
+</li>
+<li>~parallel_while()
+: <a class="el" href="a00088.html#ac2fd559c8a38639fa1ba97a0d5639ca8">tbb::parallel_while< Body ></a>
+</li>
+<li>~pipeline()
+: <a class="el" href="a00089.html#ac3a7b33217b3f3bb0682ec3a40fd2c39">tbb::pipeline</a>
+</li>
+<li>~queuing_rw_mutex()
+: <a class="el" href="a00094.html#ae67fe828d7e07222e7876ef9fd780fcc">tbb::queuing_rw_mutex</a>
+</li>
+<li>~reader_writer_lock()
+: <a class="el" href="a00095.html#aeee96b648c7b5ff6126c8a2e13ec7241">tbb::interface5::reader_writer_lock</a>
+</li>
+<li>~receiver()
+: <a class="el" href="a00106.html#a733889a9053478ef2fb2528e2205bf07">tbb::flow::interface7::receiver< T ></a>
+</li>
+<li>~runtime_loader()
+: <a class="el" href="a00110.html#aa3b96f53e165e3d692c3c36292ba0737">tbb::interface6::runtime_loader</a>
+</li>
+<li>~scoped_lock()
+: <a class="el" href="a00113.html#a9940d6e494466d9c53846ed347d79d83">tbb::spin_mutex::scoped_lock</a>
+, <a class="el" href="a00116.html#a08c399ee0bb9762039b29e570ec46fe9">tbb::mutex::scoped_lock</a>
+, <a class="el" href="a00119.html#a6cb16cc55f884bbbd5a69430c47b288f">tbb::queuing_rw_mutex::scoped_lock</a>
+, <a class="el" href="a00118.html#a41e77cf094ed30b0a9a39ee217c3653b">tbb::interface5::reader_writer_lock::scoped_lock</a>
+, <a class="el" href="a00120.html#a90a966e19120aac99b36a3d6d04af1a2">tbb::recursive_mutex::scoped_lock</a>
+, <a class="el" href="a00121.html#a469ec43836a8dd250ce0a22b02945630">tbb::queuing_mutex::scoped_lock</a>
+, <a class="el" href="a00114.html#a5c27ca2e0c9db960a9a7430082ff7edd">tbb::spin_rw_mutex_v3::scoped_lock</a>
+</li>
+<li>~scoped_lock_read()
+: <a class="el" href="a00123.html#acf0e23fb4d3aeb6bde18d5d1236bd9d5">tbb::interface5::reader_writer_lock::scoped_lock_read</a>
+</li>
+<li>~sequencer_node()
+: <a class="el" href="a00125.html#a01fd0321c7bd0f2112458cec2a636d7d">tbb::flow::interface7::sequencer_node< T, A ></a>
+</li>
+<li>~source_node()
+: <a class="el" href="a00126.html#a5ce12e348e121b9f4dffda9d1035c490">tbb::flow::interface7::source_node< Output ></a>
+</li>
+<li>~spin_rw_mutex_v3()
+: <a class="el" href="a00128.html#acc7cf2e4b14d3a2a591a3552d74ba99d">tbb::spin_rw_mutex_v3</a>
+</li>
+<li>~task_arena()
+: <a class="el" href="a00135.html#a9ff5a35a219953a4f3d99b833fa5f683">tbb::interface7::task_arena</a>
+</li>
+<li>~task_scheduler_init()
+: <a class="el" href="a00141.html#a20b121334ec39c1d91bd4fe9a51892b0">tbb::task_scheduler_init</a>
+</li>
+<li>~task_scheduler_observer()
+: <a class="el" href="a00142.html#a9ef3f1853439b46e5a9db7fd1c0f9116">tbb::interface6::task_scheduler_observer</a>
+</li>
+<li>~task_scheduler_observer_v3()
+: <a class="el" href="a00143.html#a151e475ebba39172fcc13f43bed426cc">tbb::internal::task_scheduler_observer_v3</a>
+</li>
+</ul>
+</div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/functions_rela.html b/doc/html/functions_rela.html
index 5266452..17184d5 100644
--- a/doc/html/functions_rela.html
+++ b/doc/html/functions_rela.html
@@ -1,48 +1,71 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
 <title>Class Members - Related Functions</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
-  <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li id="current"><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="functions.html"><span>All</span></a></li>
-    <li><a href="functions_func.html"><span>Functions</span></a></li>
-    <li><a href="functions_vars.html"><span>Variables</span></a></li>
-    <li><a href="functions_type.html"><span>Typedefs</span></a></li>
-    <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
-    <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
-    <li id="current"><a href="functions_rela.html"><span>Related Functions</span></a></li>
-  </ul>
-</div>
- 
-<p>
-<ul>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li class="current"><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow3" class="tabs2">
+    <ul class="tablist">
+      <li><a href="functions.html"><span>All</span></a></li>
+      <li><a href="functions_func.html"><span>Functions</span></a></li>
+      <li><a href="functions_vars.html"><span>Variables</span></a></li>
+      <li><a href="functions_type.html"><span>Typedefs</span></a></li>
+      <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
+      <li class="current"><a href="functions_rela.html"><span>Related Functions</span></a></li>
+    </ul>
+  </div>
+</div><!-- top -->
+<div class="contents">
+ <ul>
 <li>limiter_node
-: <a class="el" href="a00304.html#83d3ab884543b070ee5b345a87f241fa">tbb::flow::interface6::limiter_node< T ></a>, <a class="el" href="a00291.html#3b6d13039c2a8c1e369e5790895b0088">tbb::flow::interface6::continue_receiver</a>, <a class="el" href="a00333.html#3b6d13039c2a8c1e369e5790895b0088">tbb::flow::interface6::receiver< T ></a><li>make_filter
-: <a class="el" href="a00295.html#85c2892eff1fddcd06e28911e75838bd">tbb::interface6::filter_t< T, U ></a><li>operator+
-: <a class="el" href="a00363.html#5871ead1ca230efbe52a5008470e6428">tbb::tick_count::interval_t</a><li>operator-
-: <a class="el" href="a00362.html#09dde78a4100800c11bb883d6204b586">tbb::tick_count</a>, <a class="el" href="a00363.html#fa509691e1d689830931e36edd274f76">tbb::tick_count::interval_t</a><li>run_and_put_task
-: <a class="el" href="a00304.html#621bab40a858d214db69ef08d88b67c1">tbb::flow::interface6::limiter_node< T ></a>, <a class="el" href="a00275.html#621bab40a858d214db69ef08d88b67c1">tbb::flow::interface6::buffer_node< T, A ></a>, <a class="el" href="a00274.html#621bab40a858d214db69ef08d88b67c1">tbb::flow::interface6::broadcast_node< T ></a>, <a class="el" href="a00291.html#621bab40a858d214db69ef08d88b67c1">tbb::flow::interface6::continue_receiver</a>, <a class="el" href=" [...]
+: <a class="el" href="a00106.html#a05ec930a348f7eed564236d00edbda24">tbb::flow::interface7::receiver< T ></a>
+</li>
+<li>make_filter
+: <a class="el" href="a00054.html#a21460fde704da22caa222778f5abb140">tbb::interface6::filter_t< T, U ></a>
+</li>
+<li>operator+
+: <a class="el" href="a00066.html#ac8910ee3b69f68eb905af787c273e9a8">tbb::tick_count::interval_t</a>
+</li>
+<li>operator-
+: <a class="el" href="a00155.html#ab5ceaed3ebf5a0d41088a5bc7c8dc653">tbb::tick_count</a>
+, <a class="el" href="a00066.html#a3d11133daa9a7d3c903d070293278f8f">tbb::tick_count::interval_t</a>
+</li>
+<li>run_and_put_task
+: <a class="el" href="a00106.html#abaf9bf74ca5f2854d09f5f07337280eb">tbb::flow::interface7::receiver< T ></a>
+</li>
+</ul>
+</div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/functions_type.html b/doc/html/functions_type.html
index dc17e74..0b88ecb 100644
--- a/doc/html/functions_type.html
+++ b/doc/html/functions_type.html
@@ -1,58 +1,172 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
 <title>Class Members - Typedefs</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
-  <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li id="current"><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="functions.html"><span>All</span></a></li>
-    <li><a href="functions_func.html"><span>Functions</span></a></li>
-    <li><a href="functions_vars.html"><span>Variables</span></a></li>
-    <li id="current"><a href="functions_type.html"><span>Typedefs</span></a></li>
-    <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
-    <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
-    <li><a href="functions_rela.html"><span>Related Functions</span></a></li>
-  </ul>
-</div>
- 
-<p>
-<ul>
-<li>affinity_id
-: <a class="el" href="a00349.html#d61bb32389d3857bf7511d69beaafb76">tbb::task</a><li>allocator_type
-: <a class="el" href="a00293.html#3c03eb40955b933b01987222722ac4bd">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a>, <a class="el" href="a00280.html#2e2726fccf6d975dc1071608cc0bbf90">tbb::concurrent_bounded_queue< T, A ></a>, <a class="el" href="a00286.html#5a3956341728eaa558d8827063718cac">tbb::strict_ppl::concurrent_queue< T, A ></a>, <a class="el" href="a00285.html#1712cb3a46bc1821fccc5e2cd83d5cd7">tbb::interface5::concurrent_priority_qu [...]
-: <a class="el" href="a00271.html#1a8d05842c2b3dfc177bc4d347e4cef7">tbb::blocked_range< Value ></a><li>const_reference
-: <a class="el" href="a00280.html#796713d0b9ba93a4721cbe13e4474068">tbb::concurrent_bounded_queue< T, A ></a>, <a class="el" href="a00286.html#4d48e7ff93f81636bca2c74f7da34750">tbb::strict_ppl::concurrent_queue< T, A ></a>, <a class="el" href="a00285.html#a4ded8601a434098605be0dcc4febc60">tbb::interface5::concurrent_priority_queue< T, Compare, A ></a><li>difference_type
-: <a class="el" href="a00280.html#4b45c91297e69515d83d5eef85ae1f49">tbb::concurrent_bounded_queue< T, A ></a>, <a class="el" href="a00286.html#068576d16c7e4e05d52f9db7a45b5b65">tbb::strict_ppl::concurrent_queue< T, A ></a>, <a class="el" href="a00285.html#77399bc76b3ecd60e33f7e35a5becd87">tbb::interface5::concurrent_priority_queue< T, Compare, A ></a><li>input_type
-: <a class="el" href="a00304.html#035196d3c9240ef041f528ebcde8baa7">tbb::flow::interface6::limiter_node< T ></a>, <a class="el" href="a00324.html#b2829b518979874ad3d2a939e14ae7bd">tbb::flow::interface6::priority_queue_node< T, Compare, A ></a>, <a class="el" href="a00340.html#af629f26832ff4e476e240637a78bc0c">tbb::flow::interface6::sequencer_node< T, A ></a>, <a class="el" href="a00325.html#1e71030845210b6c4c7380eb9e11a2ac">tbb::flow::interface6::queue_node< T, A &gt [...]
-: <a class="el" href="a00334.html#889fa8cc32dd707eef7c0f52dda09c0d">tbb::recursive_mutex</a>, <a class="el" href="a00313.html#9f1ec84d5815263ceae853f06ddb4cac">tbb::mutex</a><li>output_type
-: <a class="el" href="a00304.html#6e67fc480147c0b88a483b85db6457b0">tbb::flow::interface6::limiter_node< T ></a>, <a class="el" href="a00324.html#2cb099b590246b6bc93cc15e78c6ee5c">tbb::flow::interface6::priority_queue_node< T, Compare, A ></a>, <a class="el" href="a00340.html#ca026eaef70e35791c407323199031a7">tbb::flow::interface6::sequencer_node< T, A ></a>, <a class="el" href="a00325.html#25b5a53ab1f9a342644fa3759bc0b1ad">tbb::flow::interface6::queue_node< T, A &gt [...]
-: <a class="el" href="a00273.html#b8ebf17a552ba47825e9b3887855b719">tbb::blocked_range3d< PageValue, RowValue, ColValue ></a><li>predecessor_type
-: <a class="el" href="a00304.html#f89fcf44f38eb33f965ee5362d3e68e9">tbb::flow::interface6::limiter_node< T ></a>, <a class="el" href="a00324.html#fdea783bf9d5a4c98e794ac7e0f84ccf">tbb::flow::interface6::priority_queue_node< T, Compare, A ></a>, <a class="el" href="a00340.html#8127e36811832563fe1e9bc3ba391f79">tbb::flow::interface6::sequencer_node< T, A ></a>, <a class="el" href="a00325.html#5e2fdd33c45d44549dee9c1638e19898">tbb::flow::interface6::queue_node< T, A &gt [...]
-: <a class="el" href="a00280.html#dcd44ca6a88c0dc7a847a47a10811f0c">tbb::concurrent_bounded_queue< T, A ></a>, <a class="el" href="a00286.html#a8d725c50a9834bb7af5b67c0aff92b8">tbb::strict_ppl::concurrent_queue< T, A ></a>, <a class="el" href="a00285.html#5804b3c708ef4e50d603f918ef2b9e58">tbb::interface5::concurrent_priority_queue< T, Compare, A ></a><li>row_range_type
-: <a class="el" href="a00272.html#a807a22fe658ec38b8edfd69521d0383">tbb::blocked_range2d< RowValue, ColValue ></a><li>size_type
-: <a class="el" href="a00280.html#a80e4c11dbb324e4b92a24a77bbcde68">tbb::concurrent_bounded_queue< T, A ></a>, <a class="el" href="a00286.html#8fc30e93f8342a1960357f71e4fe8a2b">tbb::strict_ppl::concurrent_queue< T, A ></a>, <a class="el" href="a00285.html#b679eea8d01d041625a39f719ca2b7ed">tbb::interface5::concurrent_priority_queue< T, Compare, A ></a>, <a class="el" href="a00271.html#f5707bffea38eee5c9680f37358afb8e">tbb::blocked_range< Value ></a><li>successor_type
-: <a class="el" href="a00304.html#e8945e4dd6ea759ff9e4735da13f12ef">tbb::flow::interface6::limiter_node< T ></a>, <a class="el" href="a00324.html#09ab5064ca8192e68c03da47603e68eb">tbb::flow::interface6::priority_queue_node< T, Compare, A ></a>, <a class="el" href="a00340.html#795f3ee75f133b9d3b159172fc4a197f">tbb::flow::interface6::sequencer_node< T, A ></a>, <a class="el" href="a00325.html#f35076a19f256f9e7a61bed77ca1ccc5">tbb::flow::interface6::queue_node< T, A &gt [...]
-: <a class="el" href="a00320.html#fa297e53d3af2a101e712bc200233e9c">tbb::parallel_while< Body ></a>, <a class="el" href="a00280.html#98245517a931e5893f6601e66c51fc75">tbb::concurrent_bounded_queue< T, A ></a>, <a class="el" href="a00286.html#682c3978d5cb0620000994f11c44a476">tbb::strict_ppl::concurrent_queue< T, A ></a>, <a class="el" href="a00285.html#7c611a6b5b8f94b0e7f2afc97e31efb1">tbb::interface5::concurrent_priority_queue< T, Compare, A ></a>, <a class="el"  [...]
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li class="current"><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow3" class="tabs2">
+    <ul class="tablist">
+      <li><a href="functions.html"><span>All</span></a></li>
+      <li><a href="functions_func.html"><span>Functions</span></a></li>
+      <li><a href="functions_vars.html"><span>Variables</span></a></li>
+      <li class="current"><a href="functions_type.html"><span>Typedefs</span></a></li>
+      <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
+      <li><a href="functions_rela.html"><span>Related Functions</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow4" class="tabs3">
+    <ul class="tablist">
+      <li><a href="#index_a"><span>a</span></a></li>
+      <li><a href="#index_c"><span>c</span></a></li>
+      <li><a href="#index_d"><span>d</span></a></li>
+      <li><a href="#index_i"><span>i</span></a></li>
+      <li><a href="#index_n"><span>n</span></a></li>
+      <li><a href="#index_o"><span>o</span></a></li>
+      <li><a href="#index_p"><span>p</span></a></li>
+      <li><a href="#index_r"><span>r</span></a></li>
+      <li><a href="#index_s"><span>s</span></a></li>
+      <li><a href="#index_v"><span>v</span></a></li>
+    </ul>
+  </div>
+</div><!-- top -->
+<div class="contents">
+ 
+
+<h3><a class="anchor" id="index_a"></a>- a -</h3><ul>
+<li>allocator_type
+: <a class="el" href="a00037.html#a1d2cebf242fa83d88eebdc3ad6891fb1">tbb::interface5::concurrent_priority_queue< T, Compare, A ></a>
+, <a class="el" href="a00052.html#ad50ceae1b0e91d0fd31fe506e690692b">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a>
+, <a class="el" href="a00034.html#acbfceb845de1c770e2b56409f09b0364">tbb::concurrent_bounded_queue< T, A ></a>
+, <a class="el" href="a00038.html#acbdd1a5bd034358fb0774b322a66b1ed">tbb::strict_ppl::concurrent_queue< T, A ></a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_c"></a>- c -</h3><ul>
+<li>const_iterator
+: <a class="el" href="a00021.html#ad56ca70af46acf8870b4970d8a809791">tbb::blocked_range< Value ></a>
+</li>
+<li>const_reference
+: <a class="el" href="a00034.html#af838e520ce0db2c22369748c019b11cb">tbb::concurrent_bounded_queue< T, A ></a>
+, <a class="el" href="a00038.html#a478c2b7f763b2e821e01cc14e13baf4c">tbb::strict_ppl::concurrent_queue< T, A ></a>
+, <a class="el" href="a00037.html#a0bd617fe8e4657777e86f0ae15d8094f">tbb::interface5::concurrent_priority_queue< T, Compare, A ></a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_d"></a>- d -</h3><ul>
+<li>difference_type
+: <a class="el" href="a00037.html#ae010b1fa9c0942504737228474b51a0b">tbb::interface5::concurrent_priority_queue< T, Compare, A ></a>
+, <a class="el" href="a00034.html#a72725361e050c5a981035a20ef1b773e">tbb::concurrent_bounded_queue< T, A ></a>
+, <a class="el" href="a00038.html#a63b42d83a9ed13fc6741e0b4388b0e96">tbb::strict_ppl::concurrent_queue< T, A ></a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_i"></a>- i -</h3><ul>
+<li>input_type
+: <a class="el" href="a00106.html#a16eccc851b858604344bb8f1bb9eedc8">tbb::flow::interface7::receiver< T ></a>
+, <a class="el" href="a00050.html#a7474ed0edad2bb26d9f86065ecf2c93d">tbb::flow::interface7::continue_receiver</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_n"></a>- n -</h3><ul>
+<li>native_handle_type
+: <a class="el" href="a00081.html#abbe0cd12246121753ace00a5a12a90b0">tbb::mutex</a>
+, <a class="el" href="a00107.html#a3d40334b0e26d5addfde5596e7f9aaec">tbb::recursive_mutex</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_o"></a>- o -</h3><ul>
+<li>output_type
+: <a class="el" href="a00124.html#add86fddf72758d8e5b05b07650c6eeed">tbb::flow::interface7::sender< T ></a>
+, <a class="el" href="a00126.html#a0308ffc2e5c24739cd85e769ec8a8f5f">tbb::flow::interface7::source_node< Output ></a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_p"></a>- p -</h3><ul>
+<li>page_range_type
+: <a class="el" href="a00023.html#a8cdc866378a12ce198da870d0439676f">tbb::blocked_range3d< PageValue, RowValue, ColValue ></a>
+</li>
+<li>predecessor_type
+: <a class="el" href="a00050.html#a86d210b5614d47aaa43731b7e303751f">tbb::flow::interface7::continue_receiver</a>
+, <a class="el" href="a00106.html#afbadf5511bd568d283040cd88bd4e81e">tbb::flow::interface7::receiver< T ></a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_r"></a>- r -</h3><ul>
+<li>reference
+: <a class="el" href="a00037.html#ae4b7ed2ddc8ec6cc910f935c9d299c7a">tbb::interface5::concurrent_priority_queue< T, Compare, A ></a>
+, <a class="el" href="a00038.html#ab26ddf11b15d61ac87e6c1ae67af92a2">tbb::strict_ppl::concurrent_queue< T, A ></a>
+, <a class="el" href="a00034.html#a5fa4002bcd265d9d3ed305e3b686f1da">tbb::concurrent_bounded_queue< T, A ></a>
+</li>
+<li>row_range_type
+: <a class="el" href="a00022.html#ada609b296a9af0591cc34761b8538100">tbb::blocked_range2d< RowValue, ColValue ></a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_s"></a>- s -</h3><ul>
+<li>size_type
+: <a class="el" href="a00021.html#a89b300cecd9d617e4ee801c786756e55">tbb::blocked_range< Value ></a>
+, <a class="el" href="a00037.html#a7d3da9b47ec58e1c09e3550f702edcfc">tbb::interface5::concurrent_priority_queue< T, Compare, A ></a>
+, <a class="el" href="a00034.html#ae73fa352d781bdb9d01bfb77f2a8bc28">tbb::concurrent_bounded_queue< T, A ></a>
+, <a class="el" href="a00057.html#a8b84f8f2cc4499f49d17141eaedc99c0">tbb::interface6::flattened2d< Container ></a>
+, <a class="el" href="a00038.html#a9f883e49afea16293ba92da779981bb8">tbb::strict_ppl::concurrent_queue< T, A ></a>
+</li>
+<li>successor_type
+: <a class="el" href="a00126.html#ae354d135ba9aceb6ca41464fff027666">tbb::flow::interface7::source_node< Output ></a>
+, <a class="el" href="a00124.html#a7779627063a29d4d2a1fc905a5cae8db">tbb::flow::interface7::sender< T ></a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_v"></a>- v -</h3><ul>
+<li>value_type
+: <a class="el" href="a00047.html#aa8ca5aef4ee14b7eddb64767b8cd5fda">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::const_accessor</a>
+, <a class="el" href="a00088.html#a2442f019427e608d46801376267e44a8">tbb::parallel_while< Body ></a>
+, <a class="el" href="a00034.html#a6eb564625fef03dd9a5881d5d4e52f9f">tbb::concurrent_bounded_queue< T, A ></a>
+, <a class="el" href="a00038.html#aeeee93a7ac2eecc80bbf3e857e900538">tbb::strict_ppl::concurrent_queue< T, A ></a>
+, <a class="el" href="a00037.html#a2c75d97ae429019363ab6fd1a872512e">tbb::interface5::concurrent_priority_queue< T, Compare, A ></a>
+, <a class="el" href="a00010.html#a850178bbdcdbc4cf5955cab37eb8c42c">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::accessor</a>
+</li>
+</ul>
+</div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/functions_vars.html b/doc/html/functions_vars.html
index 877ef51..24488b7 100644
--- a/doc/html/functions_vars.html
+++ b/doc/html/functions_vars.html
@@ -1,54 +1,94 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
 <title>Class Members - Variables</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
-  <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li id="current"><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="functions.html"><span>All</span></a></li>
-    <li><a href="functions_func.html"><span>Functions</span></a></li>
-    <li id="current"><a href="functions_vars.html"><span>Variables</span></a></li>
-    <li><a href="functions_type.html"><span>Typedefs</span></a></li>
-    <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
-    <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
-    <li><a href="functions_rela.html"><span>Related Functions</span></a></li>
-  </ul>
-</div>
- 
-<p>
-<ul>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li class="current"><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow3" class="tabs2">
+    <ul class="tablist">
+      <li><a href="functions.html"><span>All</span></a></li>
+      <li><a href="functions_func.html"><span>Functions</span></a></li>
+      <li class="current"><a href="functions_vars.html"><span>Variables</span></a></li>
+      <li><a href="functions_type.html"><span>Typedefs</span></a></li>
+      <li><a href="functions_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="functions_eval.html"><span>Enumerator</span></a></li>
+      <li><a href="functions_rela.html"><span>Related Functions</span></a></li>
+    </ul>
+  </div>
+</div><!-- top -->
+<div class="contents">
+ <ul>
 <li>automatic
-: <a class="el" href="a00355.html#8f5988e2b0fbb2d533fcbb7f2583743f">tbb::task_scheduler_init</a>, <a class="el" href="a00350.html#fa26370c094032900c1ed69d8e92f4e8">tbb::interface6::task_arena</a><li>decrement
-: <a class="el" href="a00304.html#a3344b2461966631b6ee34b79fb105c7">tbb::flow::interface6::limiter_node< T ></a><li>deferred
-: <a class="el" href="a00355.html#e6c860f1e559026ff3ef4599c0d6c514">tbb::task_scheduler_init</a><li>exact_exception_propagation
-: <a class="el" href="a00294.html#f17200974c33be21f42a5f00893de028">tbb::filter</a><li>filter_is_bound
-: <a class="el" href="a00294.html#dd6a6e7210efc9bcaf2c5e08767d92b5">tbb::filter</a><li>filter_is_out_of_order
-: <a class="el" href="a00294.html#2e5eb65f95d8050186278077e433c5b1">tbb::filter</a><li>filter_is_serial
-: <a class="el" href="a00294.html#4b7de3a76e744f3d9c1bc5d437ea851d">tbb::filter</a><li>filter_may_emit_null
-: <a class="el" href="a00294.html#bdd02a434a6e7499dd1e8f43aae96793">tbb::filter</a><li>is_writer
-: <a class="el" href="a00283.html#07d958f151a0eaa92f50fd56ad6440e2">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator >::bucket_accessor</a>, <a class="el" href="a00346.html#6b5a7c3c67a36b05c4df8410d32627d8">tbb::spin_rw_mutex_v3::scoped_lock</a><li>mutex
-: <a class="el" href="a00313.html#05313cb77d4f85213103d4dab74ed454">tbb::mutex</a>, <a class="el" href="a00346.html#d96d1a1fcc3d79ef3e5c06a53b8ffeaa">tbb::spin_rw_mutex_v3::scoped_lock</a><li>my_exception_data
-: <a class="el" href="a00311.html#a8c0ae2089ae784b28907cf748b89416">tbb::movable_exception< ExceptionData ></a></ul>
+: <a class="el" href="a00141.html#a945886f5ef48300a8ebff2d077c166b1">tbb::task_scheduler_init</a>
+</li>
+<li>decrement
+: <a class="el" href="a00072.html#ac313b6586bf183a33c3196037964547d">tbb::flow::interface7::limiter_node< T ></a>
+</li>
+<li>deferred
+: <a class="el" href="a00141.html#af0e49ff2f59a4e53c9c07897b57f084d">tbb::task_scheduler_init</a>
+</li>
+<li>exact_exception_propagation
+: <a class="el" href="a00053.html#aab9689e23a96c6c9bf1c8caae74d92ee">tbb::filter</a>
+</li>
+<li>filter_is_bound
+: <a class="el" href="a00053.html#a1382f216bd094064a18eb48ecc43c86b">tbb::filter</a>
+</li>
+<li>filter_is_out_of_order
+: <a class="el" href="a00053.html#a091fcf6abc79edfa5c8bf01f742e2392">tbb::filter</a>
+</li>
+<li>filter_is_serial
+: <a class="el" href="a00053.html#ae9dab2e01b0963b341ab04b59eec1475">tbb::filter</a>
+</li>
+<li>filter_may_emit_null
+: <a class="el" href="a00053.html#a6645ec56872b6ba2056dcaa467e292f7">tbb::filter</a>
+</li>
+<li>is_writer
+: <a class="el" href="a00114.html#acfd129dc5106ad1129ba803e67311050">tbb::spin_rw_mutex_v3::scoped_lock</a>
+</li>
+<li>mutex
+: <a class="el" href="a00114.html#a8d70c5a2348e30a6979bfbf677328dc4">tbb::spin_rw_mutex_v3::scoped_lock</a>
+</li>
+<li>my_exception_data
+: <a class="el" href="a00078.html#adba063da80054afe64d5268711084d9b">tbb::movable_exception< ExceptionData ></a>
+</li>
+<li>state
+: <a class="el" href="a00128.html#aa28625051072472ccd8a2b19405d6fb3">tbb::spin_rw_mutex_v3</a>
+</li>
+<li>thread_stack_size
+: <a class="el" href="a00141.html#a8310e807e1199d0f23b3a57aeb4fde51">tbb::task_scheduler_init</a>
+</li>
+</ul>
+</div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/globals.html b/doc/html/globals.html
index 5f7ed0c..960b695 100644
--- a/doc/html/globals.html
+++ b/doc/html/globals.html
@@ -1,48 +1,82 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Class Members</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
-  <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li><a href="annotated.html"><span>Classes</span></a></li>
-    <li id="current"><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="files.html"><span>File List</span></a></li>
-    <li id="current"><a href="globals.html"><span>File Members</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li id="current"><a href="globals.html"><span>All</span></a></li>
-    <li><a href="globals_func.html"><span>Functions</span></a></li>
-  </ul>
-</div>
-Here is a list of all documented file members with links to the documentation:
-<p>
-<ul>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>File Members</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File List</span></a></li>
+      <li class="current"><a href="globals.html"><span>File Members</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow3" class="tabs2">
+    <ul class="tablist">
+      <li class="current"><a href="globals.html"><span>All</span></a></li>
+      <li><a href="globals_func.html"><span>Functions</span></a></li>
+    </ul>
+  </div>
+</div><!-- top -->
+<div class="contents">
+<div class="textblock">Here is a list of all documented file members with links to the documentation:</div><ul>
 <li>scalable_aligned_free()
-: <a class="el" href="a00443.html#g65a20e812012f15ec7442d5b45d0cba5">scalable_allocator.h</a><li>scalable_aligned_malloc()
-: <a class="el" href="a00443.html#gc1c7aaa1fe85c17ba5a3a96f7e8d89e7">scalable_allocator.h</a><li>scalable_aligned_realloc()
-: <a class="el" href="a00443.html#gbaea91376be80dfabd7c93eaffd9abaa">scalable_allocator.h</a><li>scalable_allocation_command()
-: <a class="el" href="a00443.html#gcdbd064aec22571ec84e906166a831a2">scalable_allocator.h</a><li>scalable_allocation_mode()
-: <a class="el" href="a00443.html#gb9ee52ffc5400f15c3d8af8c7613c05a">scalable_allocator.h</a><li>scalable_calloc()
-: <a class="el" href="a00443.html#g3f5a2fde0bcaa3eda35be32c8658f444">scalable_allocator.h</a><li>scalable_free()
-: <a class="el" href="a00443.html#gca3579c21244dba9f0c351e5984d4565">scalable_allocator.h</a><li>scalable_malloc()
-: <a class="el" href="a00443.html#gc25b8e6c76db0b346a8249796a7a2475">scalable_allocator.h</a><li>scalable_msize()
-: <a class="el" href="a00443.html#g0965ce1b4b7835f92869c7fd867265f7">scalable_allocator.h</a><li>scalable_posix_memalign()
-: <a class="el" href="a00443.html#g05dcec987480bb2c82ecdead6a085899">scalable_allocator.h</a><li>scalable_realloc()
-: <a class="el" href="a00443.html#g951bbbbd2d041acb59ba5fa910b52543">scalable_allocator.h</a></ul>
+: <a class="el" href="a00236.html#gad9aa7595581a7bc5be193d7e034c8f61">scalable_allocator.h</a>
+</li>
+<li>scalable_aligned_malloc()
+: <a class="el" href="a00236.html#ga903307de17bc1611515f8e6ae782a3d6">scalable_allocator.h</a>
+</li>
+<li>scalable_aligned_realloc()
+: <a class="el" href="a00236.html#gaa07391c54330b2e4dd1743ae9c9c4f2d">scalable_allocator.h</a>
+</li>
+<li>scalable_allocation_command()
+: <a class="el" href="a00236.html#gabe5acd876b4d89bf89787c4e779c2518">scalable_allocator.h</a>
+</li>
+<li>scalable_allocation_mode()
+: <a class="el" href="a00236.html#ga7f5029970f72ebbffee896c46a23958e">scalable_allocator.h</a>
+</li>
+<li>scalable_calloc()
+: <a class="el" href="a00236.html#ga3b4ff39555cd9e929fce2958325cd8ea">scalable_allocator.h</a>
+</li>
+<li>scalable_free()
+: <a class="el" href="a00236.html#ga2ad3952b8c4dd7d293e02ae18fc37b84">scalable_allocator.h</a>
+</li>
+<li>scalable_malloc()
+: <a class="el" href="a00236.html#ga2a5bdc71439a70b20f2eadf6e1a489e1">scalable_allocator.h</a>
+</li>
+<li>scalable_msize()
+: <a class="el" href="a00236.html#ga2b718206e50acb6392b86e4877d98213">scalable_allocator.h</a>
+</li>
+<li>scalable_posix_memalign()
+: <a class="el" href="a00236.html#gaf117b4994f719d539804da8dd115e28c">scalable_allocator.h</a>
+</li>
+<li>scalable_realloc()
+: <a class="el" href="a00236.html#ga40d6e0bc19cdfa3005b2b935c62077a1">scalable_allocator.h</a>
+</li>
+</ul>
+</div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/globals_func.html b/doc/html/globals_func.html
index 2984574..89d5fea 100644
--- a/doc/html/globals_func.html
+++ b/doc/html/globals_func.html
@@ -1,48 +1,82 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Class Members</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
-  <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li><a href="annotated.html"><span>Classes</span></a></li>
-    <li id="current"><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="files.html"><span>File List</span></a></li>
-    <li id="current"><a href="globals.html"><span>File Members</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="globals.html"><span>All</span></a></li>
-    <li id="current"><a href="globals_func.html"><span>Functions</span></a></li>
-  </ul>
-</div>
- 
-<p>
-<ul>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>File Members</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File List</span></a></li>
+      <li class="current"><a href="globals.html"><span>File Members</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow3" class="tabs2">
+    <ul class="tablist">
+      <li><a href="globals.html"><span>All</span></a></li>
+      <li class="current"><a href="globals_func.html"><span>Functions</span></a></li>
+    </ul>
+  </div>
+</div><!-- top -->
+<div class="contents">
+ <ul>
 <li>scalable_aligned_free()
-: <a class="el" href="a00443.html#g65a20e812012f15ec7442d5b45d0cba5">scalable_allocator.h</a><li>scalable_aligned_malloc()
-: <a class="el" href="a00443.html#gc1c7aaa1fe85c17ba5a3a96f7e8d89e7">scalable_allocator.h</a><li>scalable_aligned_realloc()
-: <a class="el" href="a00443.html#gbaea91376be80dfabd7c93eaffd9abaa">scalable_allocator.h</a><li>scalable_allocation_command()
-: <a class="el" href="a00443.html#gcdbd064aec22571ec84e906166a831a2">scalable_allocator.h</a><li>scalable_allocation_mode()
-: <a class="el" href="a00443.html#gb9ee52ffc5400f15c3d8af8c7613c05a">scalable_allocator.h</a><li>scalable_calloc()
-: <a class="el" href="a00443.html#g3f5a2fde0bcaa3eda35be32c8658f444">scalable_allocator.h</a><li>scalable_free()
-: <a class="el" href="a00443.html#gca3579c21244dba9f0c351e5984d4565">scalable_allocator.h</a><li>scalable_malloc()
-: <a class="el" href="a00443.html#gc25b8e6c76db0b346a8249796a7a2475">scalable_allocator.h</a><li>scalable_msize()
-: <a class="el" href="a00443.html#g0965ce1b4b7835f92869c7fd867265f7">scalable_allocator.h</a><li>scalable_posix_memalign()
-: <a class="el" href="a00443.html#g05dcec987480bb2c82ecdead6a085899">scalable_allocator.h</a><li>scalable_realloc()
-: <a class="el" href="a00443.html#g951bbbbd2d041acb59ba5fa910b52543">scalable_allocator.h</a></ul>
+: <a class="el" href="a00236.html#gad9aa7595581a7bc5be193d7e034c8f61">scalable_allocator.h</a>
+</li>
+<li>scalable_aligned_malloc()
+: <a class="el" href="a00236.html#ga903307de17bc1611515f8e6ae782a3d6">scalable_allocator.h</a>
+</li>
+<li>scalable_aligned_realloc()
+: <a class="el" href="a00236.html#gaa07391c54330b2e4dd1743ae9c9c4f2d">scalable_allocator.h</a>
+</li>
+<li>scalable_allocation_command()
+: <a class="el" href="a00236.html#gabe5acd876b4d89bf89787c4e779c2518">scalable_allocator.h</a>
+</li>
+<li>scalable_allocation_mode()
+: <a class="el" href="a00236.html#ga7f5029970f72ebbffee896c46a23958e">scalable_allocator.h</a>
+</li>
+<li>scalable_calloc()
+: <a class="el" href="a00236.html#ga3b4ff39555cd9e929fce2958325cd8ea">scalable_allocator.h</a>
+</li>
+<li>scalable_free()
+: <a class="el" href="a00236.html#ga2ad3952b8c4dd7d293e02ae18fc37b84">scalable_allocator.h</a>
+</li>
+<li>scalable_malloc()
+: <a class="el" href="a00236.html#ga2a5bdc71439a70b20f2eadf6e1a489e1">scalable_allocator.h</a>
+</li>
+<li>scalable_msize()
+: <a class="el" href="a00236.html#ga2b718206e50acb6392b86e4877d98213">scalable_allocator.h</a>
+</li>
+<li>scalable_posix_memalign()
+: <a class="el" href="a00236.html#gaf117b4994f719d539804da8dd115e28c">scalable_allocator.h</a>
+</li>
+<li>scalable_realloc()
+: <a class="el" href="a00236.html#ga40d6e0bc19cdfa3005b2b935c62077a1">scalable_allocator.h</a>
+</li>
+</ul>
+</div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/hierarchy.html b/doc/html/hierarchy.html
index e6280d5..dbaf3c4 100644
--- a/doc/html/hierarchy.html
+++ b/doc/html/hierarchy.html
@@ -1,179 +1,276 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Hierarchical Index</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
-  <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="annotated.html"><span>Class List</span></a></li>
-    <li id="current"><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
-    <li><a href="functions.html"><span>Class Members</span></a></li>
-  </ul></div>
-<h1>Class Hierarchy</h1>This inheritance list is sorted roughly, but not completely, alphabetically:<ul>
-<li><a class="el" href="a00262.html">tbb::internal::affinity_partitioner_base_v3</a>
-<ul>
-<li><a class="el" href="a00261.html">tbb::affinity_partitioner</a>
-</ul>
-<li><a class="el" href="a00264.html">tbb::interface6::aggregator_ext< handler_type ></a>
-<ul>
-<li><a class="el" href="a00263.html">tbb::interface6::aggregator</a>
-</ul>
-<li><a class="el" href="a00265.html">tbb::aligned_space< T, N ></a>
-<li><a class="el" href="a00266.html">tbb::atomic< T ></a>
-<li><a class="el" href="a00267.html">tbb::atomic< void * ></a>
-<li><a class="el" href="a00268.html">tbb::internal::atomic_backoff</a>
-<li><a class="el" href="a00269.html">tbb::auto_partitioner</a>
-<li><a class="el" href="a00270.html">tbb::bad_last_alloc</a>
-<li><a class="el" href="a00271.html">tbb::blocked_range< Value ></a>
-<li><a class="el" href="a00272.html">tbb::blocked_range2d< RowValue, ColValue ></a>
-<li><a class="el" href="a00273.html">tbb::blocked_range3d< PageValue, RowValue, ColValue ></a>
-<li><a class="el" href="a00271.html">tbb::blocked_range< I ></a>
-<li><a class="el" href="a00276.html">tbb::cache_aligned_allocator< T ></a>
-<li><a class="el" href="a00277.html">tbb::cache_aligned_allocator< void ></a>
-<li><a class="el" href="a00279.html">tbb::combinable< T ></a>
-<li><a class="el" href="a00280.html">tbb::concurrent_bounded_queue< T, A ></a>
-<ul>
-<li><a class="el" href="a00287.html">tbb::deprecated::concurrent_queue< T, A ></a>
-</ul>
-<li><a class="el" href="a00281.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator ></a>
-<li><a class="el" href="a00283.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator >::bucket_accessor</a>
-<li><a class="el" href="a00284.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator >::const_accessor</a>
-<ul>
-<li><a class="el" href="a00282.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, Allocator >::accessor</a>
-</ul>
-<li><a class="el" href="a00285.html">tbb::interface5::concurrent_priority_queue< T, Compare, A ></a>
-<li><a class="el" href="a00286.html">tbb::strict_ppl::concurrent_queue< T, A ></a>
-<li><a class="el" href="a00288.html">tbb::concurrent_vector< T, A ></a>
-<li><a class="el" href="a00289.html">tbb::flow::interface6::continue_msg</a>
-<li><a class="el" href="a00293.html">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a>
-<li><a class="el" href="a00294.html">tbb::filter</a>
-<ul>
-<li><a class="el" href="a00361.html">tbb::thread_bound_filter</a>
-</ul>
-<li><a class="el" href="a00295.html">tbb::interface6::filter_t< T, U ></a>
-<li><a class="el" href="a00296.html">tbb::final_scan_tag</a>
-<li><a class="el" href="a00297.html">tbb::interface6::flow_control</a>
-<li><a class="el" href="a00300.html">tbb::flow::interface6::graph</a>
-<li><a class="el" href="a00301.html">tbb::flow::interface6::graph_node</a>
-<ul>
-<li><a class="el" href="a00274.html">tbb::flow::interface6::broadcast_node< T ></a>
-<li><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a>
-<ul>
-<li><a class="el" href="a00324.html">tbb::flow::interface6::priority_queue_node< T, Compare, A ></a>
-<li><a class="el" href="a00325.html">tbb::flow::interface6::queue_node< T, A ></a>
-<ul>
-<li><a class="el" href="a00340.html">tbb::flow::interface6::sequencer_node< T, A ></a>
-</ul>
-</ul>
-<li><a class="el" href="a00290.html">tbb::flow::interface6::continue_node< Output ></a>
-<li><a class="el" href="a00298.html">tbb::flow::interface6::function_node< Input, Output,, Allocator ></a>
-<li><a class="el" href="a00299.html">tbb::flow::interface6::function_node< Input, Output, queueing, Allocator ></a>
-<li><a class="el" href="a00304.html">tbb::flow::interface6::limiter_node< T ></a>
-<li><a class="el" href="a00312.html">tbb::flow::interface6::multifunction_node< Input, Output,, Allocator ></a>
-<li><a class="el" href="a00312.html">tbb::flow::interface6::multifunction_node< TupleType, TupleType, rejecting, Allocator ></a>
-<ul>
-<li><a class="el" href="a00348.html">tbb::flow::interface6::split_node< TupleType, Allocator ></a>
-</ul>
-<li><a class="el" href="a00342.html">tbb::flow::interface6::source_node< Output ></a>
-</ul>
-<li><a class="el" href="a00302.html">tbb::improper_lock</a>
-<li><b>atomic_impl</b><li><b>multifunction_input</b><ul>
-<li><a class="el" href="a00312.html">tbb::flow::interface6::multifunction_node< TupleType, TupleType, rejecting, Allocator ></a>
-</ul>
-<li><a class="el" href="a00303.html">tbb::invalid_multiple_scheduling</a>
-<li><a class="el" href="a00305.html">tbb::internal::machine_load_store_relaxed< T, S ></a>
-<li><a class="el" href="a00306.html">tbb::internal::machine_load_store_seq_cst< T, 8 ></a>
-<li><a class="el" href="a00307.html">tbb::interface6::memory_pool< Alloc ></a>
-<li><a class="el" href="a00308.html">tbb::interface6::memory_pool_allocator< T, P ></a>
-<li><a class="el" href="a00309.html">tbb::interface6::memory_pool_allocator< void, P ></a>
-<li><a class="el" href="a00310.html">tbb::missing_wait</a>
-<li><a class="el" href="a00313.html">tbb::mutex</a>
-<li><a class="el" href="a00314.html">tbb::mutex::scoped_lock</a>
-<li><b>no_copy</b><li><a class="el" href="a00315.html">tbb::null_mutex</a>
-<li><a class="el" href="a00316.html">tbb::null_mutex::scoped_lock</a>
-<li><a class="el" href="a00317.html">tbb::null_rw_mutex</a>
-<li><a class="el" href="a00318.html">tbb::null_rw_mutex::scoped_lock</a>
-<li><a class="el" href="a00319.html">tbb::parallel_do_feeder< Item ></a>
-<li><a class="el" href="a00320.html">tbb::parallel_while< Body ></a>
-<li><a class="el" href="a00321.html">tbb::internal::partition_type_base</a>
-<li><a class="el" href="a00322.html">tbb::pipeline</a>
-<li><a class="el" href="a00323.html">tbb::pre_scan_tag</a>
-<li><a class="el" href="a00326.html">tbb::queuing_mutex</a>
-<li><a class="el" href="a00327.html">tbb::queuing_mutex::scoped_lock</a>
-<li><a class="el" href="a00328.html">tbb::queuing_rw_mutex</a>
-<li><a class="el" href="a00329.html">tbb::queuing_rw_mutex::scoped_lock</a>
-<li><a class="el" href="a00330.html">tbb::interface5::reader_writer_lock</a>
-<li><a class="el" href="a00331.html">tbb::interface5::reader_writer_lock::scoped_lock</a>
-<li><a class="el" href="a00332.html">tbb::interface5::reader_writer_lock::scoped_lock_read</a>
-<li><a class="el" href="a00333.html">tbb::flow::interface6::receiver< T ></a>
-<ul>
-<li><a class="el" href="a00274.html">tbb::flow::interface6::broadcast_node< T ></a>
-<li><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a>
-<li><a class="el" href="a00291.html">tbb::flow::interface6::continue_receiver</a>
-<li><a class="el" href="a00304.html">tbb::flow::interface6::limiter_node< T ></a>
-</ul>
-<li><a class="el" href="a00333.html">tbb::flow::interface6::receiver< tbb::flow::interface6::continue_msg ></a>
-<li><a class="el" href="a00334.html">tbb::recursive_mutex</a>
-<li><a class="el" href="a00335.html">tbb::recursive_mutex::scoped_lock</a>
-<li><a class="el" href="a00336.html">tbb::interface6::runtime_loader</a>
-<li><a class="el" href="a00337.html">tbb::scalable_allocator< T ></a>
-<li><a class="el" href="a00338.html">tbb::scalable_allocator< void ></a>
-<li><a class="el" href="a00339.html">tbb::flow::interface6::sender< T ></a>
-<ul>
-<li><a class="el" href="a00274.html">tbb::flow::interface6::broadcast_node< T ></a>
-<li><a class="el" href="a00275.html">tbb::flow::interface6::buffer_node< T, A ></a>
-<li><a class="el" href="a00304.html">tbb::flow::interface6::limiter_node< T ></a>
-</ul>
-<li><a class="el" href="a00339.html">tbb::flow::interface6::sender< Output ></a>
-<ul>
-<li><a class="el" href="a00342.html">tbb::flow::interface6::source_node< Output ></a>
-</ul>
-<li><a class="el" href="a00341.html">tbb::simple_partitioner</a>
-<li><a class="el" href="a00343.html">tbb::spin_mutex</a>
-<li><a class="el" href="a00344.html">tbb::spin_mutex::scoped_lock</a>
-<li><a class="el" href="a00345.html">tbb::spin_rw_mutex_v3</a>
-<li><a class="el" href="a00346.html">tbb::spin_rw_mutex_v3::scoped_lock</a>
-<li><a class="el" href="a00347.html">tbb::split</a>
-<li><a class="el" href="a00349.html">tbb::task</a>
-<ul>
-<li><a class="el" href="a00292.html">tbb::empty_task</a>
-</ul>
-<li><a class="el" href="a00350.html">tbb::interface6::task_arena</a>
-<li><a class="el" href="a00351.html">tbb::interface5::internal::task_base</a>
-<li><a class="el" href="a00352.html">tbb::task_group_context</a>
-<li><a class="el" href="a00353.html">tbb::task_group_context</a>
-<li><a class="el" href="a00354.html">tbb::task_list</a>
-<li><a class="el" href="a00355.html">tbb::task_scheduler_init</a>
-<li><a class="el" href="a00356.html">tbb::tbb_allocator< T ></a>
-<li><a class="el" href="a00357.html">tbb::tbb_allocator< void ></a>
-<li><a class="el" href="a00358.html">tbb::tbb_exception</a>
-<ul>
-<li><a class="el" href="a00278.html">tbb::captured_exception</a>
-<li><a class="el" href="a00311.html">tbb::movable_exception< ExceptionData ></a>
-</ul>
-<li><a class="el" href="a00359.html">tbb::internal::tbb_exception_ptr</a>
-<li><a class="el" href="a00360.html">tbb::tbb_hash_compare< Key ></a>
-<li><a class="el" href="a00362.html">tbb::tick_count</a>
-<li><a class="el" href="a00363.html">tbb::tick_count::interval_t</a>
-<li><a class="el" href="a00364.html">tbb::user_abort</a>
-<li><a class="el" href="a00365.html">tbb::internal::work_around_alignment_bug< Size, T ></a>
-<li><a class="el" href="a00366.html">tbb::zero_allocator< T, Allocator ></a>
-<li><a class="el" href="a00367.html">tbb::zero_allocator< void, Allocator ></a>
-</ul>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Class Hierarchy</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="annotated.html"><span>Class List</span></a></li>
+      <li class="current"><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
+      <li><a href="functions.html"><span>Class Members</span></a></li>
+    </ul>
+  </div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">Class Hierarchy</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock">This inheritance list is sorted roughly, but not completely, alphabetically:</div><div class="directory">
+<div class="levels">[detail level <span onclick="javascript:toggleLevel(1);">1</span><span onclick="javascript:toggleLevel(2);">2</span><span onclick="javascript:toggleLevel(3);">3</span><span onclick="javascript:toggleLevel(4);">4</span><span onclick="javascript:toggleLevel(5);">5</span>]</div><table class="directory">
+<tr id="row_0_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00009.html" target="_self">__TBB_malloc_proxy_caller</a></td><td class="desc"></td></tr>
+<tr id="row_1_"><td class="entry"><img id="arr_1_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('1_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><b>aggregated_operation</b></td><td class="desc"></td></tr>
+<tr id="row_1_0_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00028.html" target="_self">tbb::flow::interface7::buffer_node< T, A >::buffer_operation</a></td><td class="desc"></td></tr>
+<tr id="row_2_" class="even"><td class="entry"><img id="arr_2_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('2_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00013.html" target="_self">tbb::interface6::aggregator_operation</a></td><td class="desc"></td></tr>
+<tr id="row_2_0_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img id="arr_2_0_" src="ftv2plastnode.png" alt="\" width="16" height="22" onclick="toggleFolder('2_0_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00020.html" target="_self">tbb::interface6::internal::basic_operation_base</a></td><td class="desc"></td></tr>
+<tr id="row_2_0_0_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt=" " width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00019.html" target="_self">tbb::interface6::internal::basic_operation< Body ></a></td><td class="desc"></td></tr>
+<tr id="row_3_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00014.html" target="_self">tbb::aligned_space< T, N ></a></td><td class="desc">Block of space aligned sufficiently to construct an array T with N elements </td></tr>
+<tr id="row_4_" class="even"><td class="entry"><img id="arr_4_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('4_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><b>Allocator</b></td><td class="desc"></td></tr>
+<tr id="row_4_0_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00160.html" target="_self">tbb::zero_allocator< T, Allocator ></a></td><td class="desc">Meets "allocator" requirements of ISO C++ Standard, Section 20.1.5 </td></tr>
+<tr id="row_4_1_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00161.html" target="_self">tbb::zero_allocator< void, Allocator ></a></td><td class="desc">Analogous to std::allocator<void>, as defined in ISO C++ Standard, Section 20.4.1 </td></tr>
+<tr id="row_5_"><td class="entry"><img id="arr_5_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('5_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><b>allocator_base</b></td><td class="desc"></td></tr>
+<tr id="row_5_0_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00046.html" target="_self">tbb::concurrent_vector< padded_element, padded_allocator_type ></a></td><td class="desc"></td></tr>
+<tr id="row_5_1_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00046.html" target="_self">tbb::concurrent_vector< T, A ></a></td><td class="desc">Concurrent vector container </td></tr>
+<tr id="row_6_" class="even"><td class="entry"><img id="arr_6_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('6_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><b>atomic_impl</b></td><td class="desc"></td></tr>
+<tr id="row_6_0_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00015.html" target="_self">tbb::atomic< internal::Token ></a></td><td class="desc"></td></tr>
+<tr id="row_6_1_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00015.html" target="_self">tbb::atomic< intptr_t ></a></td><td class="desc"></td></tr>
+<tr id="row_6_2_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00015.html" target="_self">tbb::atomic< state_t ></a></td><td class="desc"></td></tr>
+<tr id="row_6_3_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00015.html" target="_self">tbb::atomic< status_t ></a></td><td class="desc"></td></tr>
+<tr id="row_6_4_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00015.html" target="_self">tbb::atomic< tbb::interface5::reader_writer_lock::scoped_lock * ></a></td><td class="desc"></td></tr>
+<tr id="row_6_5_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00015.html" target="_self">tbb::atomic< tbb::interface5::reader_writer_lock::scoped_lock_read * ></a></td><td class="desc"></td></tr>
+<tr id="row_6_6_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00015.html" target="_self">tbb::atomic< tbb::interface6::aggregator_operation * ></a></td><td class="desc"></td></tr>
+<tr id="row_6_7_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00015.html" target="_self">tbb::atomic< tbb::queuing_mutex::scoped_lock * ></a></td><td class="desc"></td></tr>
+<tr id="row_6_8_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00015.html" target="_self">tbb::atomic< tbb::queuing_rw_mutex::scoped_lock * ></a></td><td class="desc"></td></tr>
+<tr id="row_6_9_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00015.html" target="_self">tbb::atomic< uintptr_t ></a></td><td class="desc"></td></tr>
+<tr id="row_6_10_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00015.html" target="_self">tbb::atomic< T ></a></td><td class="desc">Primary template for atomic </td></tr>
+<tr id="row_6_11_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00016.html" target="_self">tbb::atomic< void * ></a></td><td class="desc">Specialization for <a class="el" href="a00016.html" title="Specialization for atomic<void*>, for sake of not allowing arithmetic or operator->. "> [...]
+<tr id="row_7_"><td class="entry"><img id="arr_7_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('7_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><b>bad_alloc</b></td><td class="desc"></td></tr>
+<tr id="row_7_0_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00017.html" target="_self">tbb::bad_last_alloc</a></td><td class="desc">Exception for concurrent containers </td></tr>
+<tr id="row_8_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00018.html" target="_self">tbb::interface6::internal::basic_handler</a></td><td class="desc"></td></tr>
+<tr id="row_9_"><td class="entry"><img id="arr_9_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('9_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><b>binary_function</b></td><td class="desc"></td></tr>
+<tr id="row_9_0_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00157.html" target="_self">tbb::interface5::concurrent_unordered_map_traits< Key, T, Hash_compare, Allocator, Allow_multimapping >::value_compare</a></td><td class="desc"></td></tr>
+<tr id="row_10_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00021.html" target="_self">tbb::blocked_range< Value ></a></td><td class="desc">A range over which to iterate </td></tr>
+<tr id="row_11_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00022.html" target="_self">tbb::blocked_range2d< RowValue, ColValue ></a></td><td class="desc">A 2-dimensional range that models the Range concept </td></tr>
+<tr id="row_12_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00023.html" target="_self">tbb::blocked_range3d< PageValue, RowValue, ColValue ></a></td><td class="desc">A 3-dimensional range that models the Range concept </td></tr>
+<tr id="row_13_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00021.html" target="_self">tbb::blocked_range< ColValue ></a></td><td class="desc"></td></tr>
+<tr id="row_14_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00021.html" target="_self">tbb::blocked_range< I ></a></td><td class="desc"></td></tr>
+<tr id="row_15_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00021.html" target="_self">tbb::blocked_range< PageValue ></a></td><td class="desc"></td></tr>
+<tr id="row_16_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00021.html" target="_self">tbb::blocked_range< RowValue ></a></td><td class="desc"></td></tr>
+<tr id="row_17_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00024.html" target="_self">tbb::flow::interface7::internal::broadcast_cache< T, M ></a></td><td class="desc"></td></tr>
+<tr id="row_18_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00024.html" target="_self">tbb::flow::interface7::internal::broadcast_cache< output_type ></a></td><td class="desc"></td></tr>
+<tr id="row_19_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00024.html" target="_self">tbb::flow::interface7::internal::broadcast_cache< T ></a></td><td class="desc"></td></tr>
+<tr id="row_20_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00024.html" target="_self">tbb::flow::interface7::internal::broadcast_cache< T, tbb::null_rw_mutex ></a></td><td class="desc"></td></tr>
+<tr id="row_21_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00029.html" target="_self">tbb::cache_aligned_allocator< T ></a></td><td class="desc">Meets "allocator" requirements of ISO C++ Standard, Section 20.1.5 </td></tr>
+<tr id="row_22_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00030.html" target="_self">tbb::cache_aligned_allocator< void ></a></td><td class="desc">Analogous to std::allocator<void>, as defined in ISO C++ Standard, Section 20.4.1 </td></tr>
+<tr id="row_23_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00032.html" target="_self">tbb::combinable< T ></a></td><td class="desc">Thread-local storage with optional reduction </td></tr>
+<tr id="row_24_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00033.html" target="_self">tbb::interface6::internal::concrete_filter< T, U, Body ></a></td><td class="desc"></td></tr>
+<tr id="row_25_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00037.html" target="_self">tbb::interface5::concurrent_priority_queue< T, Compare, A ></a></td><td class="desc">Concurrent priority queue </td></tr>
+<tr id="row_26_" class="even"><td class="entry"><img id="arr_26_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('26_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><b>concurrent_queue_base_v3</b></td><td class="desc"></td></tr>
+<tr id="row_26_0_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img id="arr_26_0_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('26_0_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00034.html" target="_self">tbb::concurrent_bounded_queue< T, A ></a></td><td class="desc">A high-performance thread-safe blocking concurrent bounded queue </td></tr>
+<tr id="row_26_0_0_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00039.html" target="_self">tbb::deprecated::concurrent_queue< T, A ></a></td><td class="desc">A high-performance thread-safe blocking concurrent bounded queue </td></tr>
+<tr id="row_26_1_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00038.html" target="_self">tbb::strict_ppl::concurrent_queue< T, A ></a></td><td class="desc">A high-performance thread-safe non-blocking concurrent queue </td></tr>
+<tr id="row_27_"><td class="entry"><img id="arr_27_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('27_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><b>concurrent_unordered_base</b></td><td class="desc"></td></tr>
+<tr id="row_27_0_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00040.html" target="_self">tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator ></a></td><td class="desc"></td></tr>
+<tr id="row_27_1_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00042.html" target="_self">tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator ></a></td><td class="desc"></td></tr>
+<tr id="row_27_2_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00043.html" target="_self">tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator ></a></td><td class="desc"></td></tr>
+<tr id="row_27_3_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00044.html" target="_self">tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator ></a></td><td class="desc"></td></tr>
+<tr id="row_28_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00041.html" target="_self">tbb::interface5::concurrent_unordered_map_traits< Key, T, Hash_compare, Allocator, Allow_multimapping ></a></td><td class="desc"></td></tr>
+<tr id="row_29_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00045.html" target="_self">tbb::interface5::concurrent_unordered_set_traits< Key, Hash_compare, Allocator, Allow_multimapping ></a></td><td class="desc"></td></tr>
+<tr id="row_30_" class="even"><td class="entry"><img id="arr_30_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('30_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><b>concurrent_vector_base</b></td><td class="desc"></td></tr>
+<tr id="row_30_0_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00046.html" target="_self">tbb::concurrent_vector< padded_element, padded_allocator_type ></a></td><td class="desc"></td></tr>
+<tr id="row_30_1_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00046.html" target="_self">tbb::concurrent_vector< T, A ></a></td><td class="desc">Concurrent vector container </td></tr>
+<tr id="row_31_"><td class="entry"><img id="arr_31_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('31_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><b>continue_input</b></td><td class="desc"></td></tr>
+<tr id="row_31_0_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00049.html" target="_self">tbb::flow::interface7::continue_node< Output ></a></td><td class="desc">Implements an executable node that supports <a class="el" href="a00048.html" title="An empty class used for messages  [...]
+<tr id="row_32_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00048.html" target="_self">tbb::flow::interface7::continue_msg</a></td><td class="desc">An empty class used for messages that mean "I'm done" </td></tr>
+<tr id="row_33_"><td class="entry"><img id="arr_33_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('33_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><b>ets_base</b></td><td class="desc"></td></tr>
+<tr id="row_33_0_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00052.html" target="_self">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></a></td><td class="desc">The <a class="el" href="a00052.html" title="The enumerable_thread_specific container. ">en [...]
+<tr id="row_34_" class="even"><td class="entry"><img id="arr_34_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('34_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><b>exception</b></td><td class="desc"></td></tr>
+<tr id="row_34_0_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00065.html" target="_self">tbb::improper_lock</a></td><td class="desc">Exception for PPL locks </td></tr>
+<tr id="row_34_1_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00067.html" target="_self">tbb::invalid_multiple_scheduling</a></td><td class="desc">Exception for repeated scheduling of the same <a class="el" href="a00139.html">task_handle</a> </td></tr>
+<tr id="row_34_2_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00077.html" target="_self">tbb::missing_wait</a></td><td class="desc">Exception for missing wait on <a class="el" href="a00133.html">structured_task_group</a> </td></tr>
+<tr id="row_34_3_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img id="arr_34_3_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('34_3_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00146.html" target="_self">tbb::tbb_exception</a></td><td class="desc">Interface to be implemented by all exceptions TBB recognizes and propagates across the threads </td></tr>
+<tr id="row_34_3_0_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00031.html" target="_self">tbb::captured_exception</a></td><td class="desc">This class is used by TBB to propagate information about unhandled exceptions into the root thread < [...]
+<tr id="row_34_3_1_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00078.html" target="_self">tbb::movable_exception< ExceptionData ></a></td><td class="desc">Template that can be used to implement exception that transfers arbitrary  [...]
+<tr id="row_34_4_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00156.html" target="_self">tbb::user_abort</a></td><td class="desc">Exception for user-initiated abort </td></tr>
+<tr id="row_35_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00054.html" target="_self">tbb::interface6::filter_t< T, U ></a></td><td class="desc">Class representing a chain of type-safe pipeline filters </td></tr>
+<tr id="row_36_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00055.html" target="_self">tbb::final_scan_tag</a></td><td class="desc">Used to indicate that the final scan is being performed </td></tr>
+<tr id="row_37_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00057.html" target="_self">tbb::interface6::flattened2d< Container ></a></td><td class="desc"></td></tr>
+<tr id="row_38_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00058.html" target="_self">tbb::interface6::flow_control</a></td><td class="desc">Input_filter control to signal end-of-input for parallel_pipeline </td></tr>
+<tr id="row_39_"><td class="entry"><img id="arr_39_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('39_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><b>function_input</b></td><td class="desc"></td></tr>
+<tr id="row_39_0_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00059.html" target="_self">tbb::flow::interface7::function_node< Input, Output, graph_buffer_policy, Allocator ></a></td><td class="desc">Implements a function node that supports Input -> Output </td></tr>
+<tr id="row_39_1_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00060.html" target="_self">tbb::flow::interface7::function_node< Input, Output, queueing, Allocator ></a></td><td class="desc">Implements a function node that supports Input -> Output </td></tr>
+<tr id="row_40_" class="even"><td class="entry"><img id="arr_40_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('40_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><b>function_output</b></td><td class="desc"></td></tr>
+<tr id="row_40_0_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00049.html" target="_self">tbb::flow::interface7::continue_node< Output ></a></td><td class="desc">Implements an executable node that supports <a class="el" href="a00048.html" title="An empty class used for messages that mean "I [...]
+<tr id="row_40_1_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00059.html" target="_self">tbb::flow::interface7::function_node< Input, Output, graph_buffer_policy, Allocator ></a></td><td class="desc">Implements a function node that supports Input -> Output </td></tr>
+<tr id="row_40_2_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00060.html" target="_self">tbb::flow::interface7::function_node< Input, Output, queueing, Allocator ></a></td><td class="desc">Implements a function node that supports Input -> Output </td></tr>
+<tr id="row_41_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00062.html" target="_self">tbb::flow::interface7::graph_iterator< GraphContainerType, GraphNodeType ></a></td><td class="desc"></td></tr>
+<tr id="row_42_" class="even"><td class="entry"><img id="arr_42_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('42_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><b>hash_map_base</b></td><td class="desc"></td></tr>
+<tr id="row_42_0_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00035.html" target="_self">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A ></a></td><td class="desc">Unordered map from Key to T </td></tr>
+<tr id="row_43_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00064.html" target="_self">tbb::internal::tbb_thread_v3::id</a></td><td class="desc"></td></tr>
+<tr id="row_44_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00066.html" target="_self">tbb::tick_count::interval_t</a></td><td class="desc">Relative time interval </td></tr>
+<tr id="row_45_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00068.html" target="_self">tbb::flow::interface7::join_node< OutputTuple, JP ></a></td><td class="desc"></td></tr>
+<tr id="row_46_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00074.html" target="_self">tbb::interface6::memory_pool_allocator< T, P ></a></td><td class="desc">Meets "allocator" requirements of ISO C++ Standard, Section 20.1.5 </td></tr>
+<tr id="row_47_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00075.html" target="_self">tbb::interface6::memory_pool_allocator< void, P ></a></td><td class="desc">Analogous to std::allocator<void>, as defined in ISO C++ Standard, Section 20.4.1 </td></tr>
+<tr id="row_48_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00076.html" target="_self">rml::MemPoolPolicy</a></td><td class="desc"></td></tr>
+<tr id="row_49_"><td class="entry"><img id="arr_49_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('49_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><b>multifunction_input</b></td><td class="desc"></td></tr>
+<tr id="row_49_0_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img id="arr_49_0_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('49_0_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00079.html" target="_self">tbb::flow::interface7::multifunction_node< TupleType, TupleType, rejecting, Allocator ></a></td><td class="desc"></td></tr>
+<tr id="row_49_0_0_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00130.html" target="_self">tbb::flow::interface7::split_node< TupleType, Allocator ></a></td><td class="desc">Split_node: accepts a tuple as input, forwa [...]
+<tr id="row_49_1_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00079.html" target="_self">tbb::flow::interface7::multifunction_node< Input, Output, graph_buffer_policy, Allocator ></a></td><td class="desc">Implements a function node that supports Input -> (set of outputs) </td></tr>
+<tr id="row_49_2_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00080.html" target="_self">tbb::flow::interface7::multifunction_node< Input, Output, queueing, Allocator ></a></td><td class="desc"></td></tr>
+<tr id="row_50_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00081.html" target="_self">tbb::mutex</a></td><td class="desc">Wrapper around the platform's native reader-writer lock </td></tr>
+<tr id="row_51_"><td class="entry"><img id="arr_51_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('51_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><b>no_assign</b></td><td class="desc"></td></tr>
+<tr id="row_51_0_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img id="arr_51_0_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('51_0_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00063.html" target="_self">tbb::flow::interface7::graph_node</a></td><td class="desc">The base of all graph nodes </td></tr>
+<tr id="row_51_0_0_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00079.html" target="_self">tbb::flow::interface7::multifunction_node< TupleType, TupleType, rejecting, Allocator ></a></td><td class="desc"></td></tr>
+<tr id="row_51_0_1_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00025.html" target="_self">tbb::flow::interface7::broadcast_node< T ></a></td><td class="desc">Forwards messages of type T to all successors </td></tr>
+<tr id="row_51_0_2_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img id="arr_51_0_2_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('51_0_2_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00027.html" target="_self">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="desc">Forwards me [...]
+<tr id="row_51_0_2_0_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00091.html" target="_self">tbb::flow::interface7::priority_queue_node< T, Compare, A ></a></td [...]
+<tr id="row_51_0_2_1_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img id="arr_51_0_2_1_" src="ftv2plastnode.png" alt="\" width="16" height="22" onclick="toggleFolder('51_0_2_1_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00092.html" target="_self">tbb::flow::int [...]
+<tr id="row_51_0_2_1_0_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt=" " width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00125.html" target="_self">tbb: [...]
+<tr id="row_51_0_3_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00049.html" target="_self">tbb::flow::interface7::continue_node< Output ></a></td><td class="desc">Implements an executable node that supports <a class="el"  [...]
+<tr id="row_51_0_4_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00059.html" target="_self">tbb::flow::interface7::function_node< Input, Output, graph_buffer_policy, Allocator ></a></td><td class="desc">Implements a functi [...]
+<tr id="row_51_0_5_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00060.html" target="_self">tbb::flow::interface7::function_node< Input, Output, queueing, Allocator ></a></td><td class="desc">Implements a function node tha [...]
+<tr id="row_51_0_6_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00072.html" target="_self">tbb::flow::interface7::limiter_node< T ></a></td><td class="desc">Forwards messages only if the threshold has not been reached </td></tr>
+<tr id="row_51_0_7_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00079.html" target="_self">tbb::flow::interface7::multifunction_node< Input, Output, graph_buffer_policy, Allocator ></a></td><td class="desc">Implements a f [...]
+<tr id="row_51_0_8_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00080.html" target="_self">tbb::flow::interface7::multifunction_node< Input, Output, queueing, Allocator ></a></td><td class="desc"></td></tr>
+<tr id="row_51_0_9_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img id="arr_51_0_9_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('51_0_9_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00086.html" target="_self">tbb::flow::interface7::overwrite_node< T ></a></td><td class="desc"></td></tr>
+<tr id="row_51_0_9_0_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00159.html" target="_self">tbb::flow::interface7::write_once_node< T ></a></td><td class=" [...]
+<tr id="row_51_0_10_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00126.html" target="_self">tbb::flow::interface7::source_node< Output ></a></td><td class="desc">An executable node that acts as a source, i.e. it has n [...]
+<tr id="row_51_1_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00036.html" target="_self">tbb::interface6::concurrent_lru_cache< key_type, value_type, value_functor_type ></a></td><td class="desc"></td></tr>
+<tr id="row_51_2_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00139.html" target="_self">tbb::task_handle< F ></a></td><td class="desc"></td></tr>
+<tr id="row_52_" class="even"><td class="entry"><img id="arr_52_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('52_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><b>no_assign</b></td><td class="desc"></td></tr>
+<tr id="row_52_0_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00019.html" target="_self">tbb::interface6::internal::basic_operation< Body ></a></td><td class="desc"></td></tr>
+<tr id="row_53_"><td class="entry"><img id="arr_53_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('53_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><b>no_copy</b></td><td class="desc"></td></tr>
+<tr id="row_53_0_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img id="arr_53_0_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('53_0_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00012.html" target="_self">tbb::interface6::aggregator_ext< internal::basic_handler ></a></td><td class="desc"></td></tr>
+<tr id="row_53_0_0_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00011.html" target="_self">tbb::interface6::aggregator</a></td><td class="desc">Basic aggregator interface </td></tr>
+<tr id="row_53_1_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img id="arr_53_1_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('53_1_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00053.html" target="_self">tbb::filter</a></td><td class="desc">A stage in a pipeline </td></tr>
+<tr id="row_53_1_0_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00150.html" target="_self">tbb::thread_bound_filter</a></td><td class="desc">A stage in a pipeline served by a user thread </td></tr>
+<tr id="row_53_2_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00061.html" target="_self">tbb::flow::interface7::graph</a></td><td class="desc">The graph class </td></tr>
+<tr id="row_53_3_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00095.html" target="_self">tbb::interface5::reader_writer_lock</a></td><td class="desc">Writer-preference reader-writer lock with local-only spinning on readers </td></tr>
+<tr id="row_53_4_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00118.html" target="_self">tbb::interface5::reader_writer_lock::scoped_lock</a></td><td class="desc">The scoped lock pattern for write locks </td></tr>
+<tr id="row_53_5_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00123.html" target="_self">tbb::interface5::reader_writer_lock::scoped_lock_read</a></td><td class="desc">The scoped lock pattern for read locks </td></tr>
+<tr id="row_53_6_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00012.html" target="_self">tbb::interface6::aggregator_ext< handler_type ></a></td><td class="desc">Aggregator base class and expert interface </td></tr>
+<tr id="row_53_7_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00110.html" target="_self">tbb::interface6::runtime_loader</a></td><td class="desc">Load TBB at runtime </td></tr>
+<tr id="row_53_8_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00051.html" target="_self">tbb::internal::critical_section_v4</a></td><td class="desc"></td></tr>
+<tr id="row_53_9_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00122.html" target="_self">tbb::internal::critical_section_v4::scoped_lock</a></td><td class="desc"></td></tr>
+<tr id="row_53_10_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img id="arr_53_10_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('53_10_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00137.html" target="_self">tbb::internal::task_group_base</a></td><td class="desc"></td></tr>
+<tr id="row_53_10_0_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00133.html" target="_self">tbb::structured_task_group</a></td><td class="desc"></td></tr>
+<tr id="row_53_10_1_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00136.html" target="_self">tbb::task_group</a></td><td class="desc"></td></tr>
+<tr id="row_53_11_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00116.html" target="_self">tbb::mutex::scoped_lock</a></td><td class="desc">The scoped locking pattern </td></tr>
+<tr id="row_53_12_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00087.html" target="_self">tbb::parallel_do_feeder< Item ></a></td><td class="desc">Class the user supplied algorithm body uses to add new tasks </td></tr>
+<tr id="row_53_13_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00088.html" target="_self">tbb::parallel_while< Body ></a></td><td class="desc">Parallel iteration over a stream, with optional addition of more work </td></tr>
+<tr id="row_53_14_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00121.html" target="_self">tbb::queuing_mutex::scoped_lock</a></td><td class="desc">The scoped locking pattern </td></tr>
+<tr id="row_53_15_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00119.html" target="_self">tbb::queuing_rw_mutex::scoped_lock</a></td><td class="desc">The scoped locking pattern </td></tr>
+<tr id="row_53_16_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00120.html" target="_self">tbb::recursive_mutex::scoped_lock</a></td><td class="desc">The scoped locking pattern </td></tr>
+<tr id="row_53_17_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00113.html" target="_self">tbb::spin_mutex::scoped_lock</a></td><td class="desc">Represents acquisition of a mutex </td></tr>
+<tr id="row_53_18_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00114.html" target="_self">tbb::spin_rw_mutex_v3::scoped_lock</a></td><td class="desc">The scoped locking pattern </td></tr>
+<tr id="row_53_19_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00141.html" target="_self">tbb::task_scheduler_init</a></td><td class="desc">Class delimiting the scope of task scheduler activity </td></tr>
+<tr id="row_54_" class="even"><td class="entry"><img id="arr_54_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('54_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><b>node_base</b></td><td class="desc"></td></tr>
+<tr id="row_54_0_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00082.html" target="_self">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::node</a></td><td class="desc"></td></tr>
+<tr id="row_55_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00083.html" target="_self">tbb::null_mutex</a></td><td class="desc">A mutex which does nothing </td></tr>
+<tr id="row_56_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00084.html" target="_self">tbb::null_rw_mutex</a></td><td class="desc">A rw mutex which does nothing </td></tr>
+<tr id="row_57_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00089.html" target="_self">tbb::pipeline</a></td><td class="desc">A processing pipeline that applies filters to items </td></tr>
+<tr id="row_58_" class="even"><td class="entry"><img id="arr_58_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('58_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><b>pool_base</b></td><td class="desc"></td></tr>
+<tr id="row_58_0_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00056.html" target="_self">tbb::interface6::fixed_pool</a></td><td class="desc"></td></tr>
+<tr id="row_58_1_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00073.html" target="_self">tbb::interface6::memory_pool< Alloc ></a></td><td class="desc">Thread-safe growable pool allocator for variable-size requests </td></tr>
+<tr id="row_59_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00090.html" target="_self">tbb::pre_scan_tag</a></td><td class="desc">Used to indicate that the initial scan is being performed </td></tr>
+<tr id="row_60_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00093.html" target="_self">tbb::queuing_mutex</a></td><td class="desc">Queuing mutex with local-only spinning </td></tr>
+<tr id="row_61_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00094.html" target="_self">tbb::queuing_rw_mutex</a></td><td class="desc">Queuing reader-writer mutex with local-only spinning </td></tr>
+<tr id="row_62_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00096.html" target="_self">tbb::cache_aligned_allocator< void >::rebind< U ></a></td><td class="desc"></td></tr>
+<tr id="row_63_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00097.html" target="_self">tbb::scalable_allocator< void >::rebind< U ></a></td><td class="desc"></td></tr>
+<tr id="row_64_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00098.html" target="_self">tbb::tbb_allocator< T >::rebind< U ></a></td><td class="desc"></td></tr>
+<tr id="row_65_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00099.html" target="_self">tbb::tbb_allocator< void >::rebind< U ></a></td><td class="desc"></td></tr>
+<tr id="row_66_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00100.html" target="_self">tbb::zero_allocator< T, Allocator >::rebind< U ></a></td><td class="desc"></td></tr>
+<tr id="row_67_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00101.html" target="_self">tbb::interface6::memory_pool_allocator< T, P >::rebind< U ></a></td><td class="desc"></td></tr>
+<tr id="row_68_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00102.html" target="_self">tbb::interface6::memory_pool_allocator< void, P >::rebind< U ></a></td><td class="desc"></td></tr>
+<tr id="row_69_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00103.html" target="_self">tbb::zero_allocator< void, Allocator >::rebind< U ></a></td><td class="desc"></td></tr>
+<tr id="row_70_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00104.html" target="_self">tbb::cache_aligned_allocator< T >::rebind< U ></a></td><td class="desc"></td></tr>
+<tr id="row_71_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00105.html" target="_self">tbb::scalable_allocator< T >::rebind< U ></a></td><td class="desc"></td></tr>
+<tr id="row_72_" class="even"><td class="entry"><img id="arr_72_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('72_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00106.html" target="_self">tbb::flow::interface7::receiver< T ></a></td><td class="desc">Pure virtual template class that defines a receiver of messages of type T </td></tr>
+<tr id="row_72_0_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00025.html" target="_self">tbb::flow::interface7::broadcast_node< T ></a></td><td class="desc">Forwards messages of type T to all successors </td></tr>
+<tr id="row_72_1_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00027.html" target="_self">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="desc">Forwards messages in arbitrary order </td></tr>
+<tr id="row_72_2_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00072.html" target="_self">tbb::flow::interface7::limiter_node< T ></a></td><td class="desc">Forwards messages only if the threshold has not been reached </td></tr>
+<tr id="row_72_3_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00086.html" target="_self">tbb::flow::interface7::overwrite_node< T ></a></td><td class="desc"></td></tr>
+<tr id="row_73_"><td class="entry"><img id="arr_73_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('73_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00106.html" target="_self">tbb::flow::interface7::receiver< continue_msg ></a></td><td class="desc"></td></tr>
+<tr id="row_73_0_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00050.html" target="_self">tbb::flow::interface7::continue_receiver</a></td><td class="desc">Base class for receivers of completion messages </td></tr>
+<tr id="row_74_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00107.html" target="_self">tbb::recursive_mutex</a></td><td class="desc"></td></tr>
+<tr id="row_75_"><td class="entry"><img id="arr_75_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('75_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><b>reservable_item_buffer</b></td><td class="desc"></td></tr>
+<tr id="row_75_0_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00027.html" target="_self">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="desc">Forwards messages in arbitrary order </td></tr>
+<tr id="row_76_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00108.html" target="_self">tbb::flow::interface7::internal::round_robin_cache< T, M ></a></td><td class="desc"></td></tr>
+<tr id="row_77_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00108.html" target="_self">tbb::flow::interface7::internal::round_robin_cache< T, tbb::null_rw_mutex ></a></td><td class="desc"></td></tr>
+<tr id="row_78_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00109.html" target="_self">tbb::flow::interface7::run_and_put_task< R, B ></a></td><td class="desc"></td></tr>
+<tr id="row_79_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00111.html" target="_self">tbb::scalable_allocator< T ></a></td><td class="desc">Meets "allocator" requirements of ISO C++ Standard, Section 20.1.5 </td></tr>
+<tr id="row_80_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00112.html" target="_self">tbb::scalable_allocator< void ></a></td><td class="desc">Analogous to std::allocator<void>, as defined in ISO C++ Standard, Section 20.4.1 </td></tr>
+<tr id="row_81_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00115.html" target="_self">tbb::null_mutex::scoped_lock</a></td><td class="desc">Represents acquisition of a mutex </td></tr>
+<tr id="row_82_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00117.html" target="_self">tbb::null_rw_mutex::scoped_lock</a></td><td class="desc">Represents acquisition of a mutex </td></tr>
+<tr id="row_83_"><td class="entry"><img id="arr_83_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('83_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><b>scoped_t</b></td><td class="desc"></td></tr>
+<tr id="row_83_0_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img id="arr_83_0_" src="ftv2plastnode.png" alt="\" width="16" height="22" onclick="toggleFolder('83_0_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00047.html" target="_self">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::const_accessor</a></td><td class="desc">Combines data access, locking, and gar [...]
+<tr id="row_83_0_0_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt=" " width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00010.html" target="_self">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::accessor</a></td><td class="desc">Allows write access to ele [...]
+<tr id="row_84_" class="even"><td class="entry"><img id="arr_84_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('84_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><b>scoped_t</b></td><td class="desc"></td></tr>
+<tr id="row_84_0_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00026.html" target="_self">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::bucket_accessor</a></td><td class="desc">Bucket accessor is to find, rehash, acquire a lock, and access a bucket </td></tr>
+<tr id="row_85_"><td class="entry"><img id="arr_85_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('85_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00124.html" target="_self">tbb::flow::interface7::sender< T ></a></td><td class="desc">Pure virtual template class that defines a sender of messages of type T </td></tr>
+<tr id="row_85_0_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00025.html" target="_self">tbb::flow::interface7::broadcast_node< T ></a></td><td class="desc">Forwards messages of type T to all successors </td></tr>
+<tr id="row_85_1_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00027.html" target="_self">tbb::flow::interface7::buffer_node< T, A ></a></td><td class="desc">Forwards messages in arbitrary order </td></tr>
+<tr id="row_85_2_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00072.html" target="_self">tbb::flow::interface7::limiter_node< T ></a></td><td class="desc">Forwards messages only if the threshold has not been reached </td></tr>
+<tr id="row_85_3_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00086.html" target="_self">tbb::flow::interface7::overwrite_node< T ></a></td><td class="desc"></td></tr>
+<tr id="row_86_" class="even"><td class="entry"><img id="arr_86_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('86_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00124.html" target="_self">tbb::flow::interface7::sender< Output ></a></td><td class="desc"></td></tr>
+<tr id="row_86_0_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00126.html" target="_self">tbb::flow::interface7::source_node< Output ></a></td><td class="desc">An executable node that acts as a source, i.e. it has no predecessors </td></tr>
+<tr id="row_87_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00127.html" target="_self">tbb::spin_mutex</a></td><td class="desc">A lock that occupies a single byte </td></tr>
+<tr id="row_88_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00128.html" target="_self">tbb::spin_rw_mutex_v3</a></td><td class="desc">Fast, unfair, spinning reader-writer lock with backoff and writer-preference </td></tr>
+<tr id="row_89_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00129.html" target="_self">tbb::split</a></td><td class="desc">Dummy type that distinguishes splitting constructor from copy constructor </td></tr>
+<tr id="row_90_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00131.html" target="_self">tbb::internal::STATIC_ASSERTION_FAILED< condition ></a></td><td class="desc"></td></tr>
+<tr id="row_91_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00132.html" target="_self">tbb::internal::STATIC_ASSERTION_FAILED< false ></a></td><td class="desc"></td></tr>
+<tr id="row_92_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00134.html" target="_self">tbb::flow::interface7::internal::successor_cache< T, M ></a></td><td class="desc"></td></tr>
+<tr id="row_93_"><td class="entry"><img id="arr_93_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('93_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><b>task</b></td><td class="desc"></td></tr>
+<tr id="row_93_0_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00140.html" target="_self">tbb::internal::task_handle_task< F ></a></td><td class="desc"></td></tr>
+<tr id="row_94_" class="even"><td class="entry"><img id="arr_94_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('94_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><b>task_arena_base</b></td><td class="desc"></td></tr>
+<tr id="row_94_0_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00135.html" target="_self">tbb::interface7::task_arena</a></td><td class="desc"></td></tr>
+<tr id="row_95_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00138.html" target="_self">tbb::task_group_context</a></td><td class="desc"></td></tr>
+<tr id="row_96_" class="even"><td class="entry"><img id="arr_96_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('96_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00143.html" target="_self">tbb::internal::task_scheduler_observer_v3</a></td><td class="desc"></td></tr>
+<tr id="row_96_0_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00142.html" target="_self">tbb::interface6::task_scheduler_observer</a></td><td class="desc"></td></tr>
+<tr id="row_97_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00144.html" target="_self">tbb::tbb_allocator< T ></a></td><td class="desc">Meets "allocator" requirements of ISO C++ Standard, Section 20.1.5 </td></tr>
+<tr id="row_98_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00145.html" target="_self">tbb::tbb_allocator< void ></a></td><td class="desc">Analogous to std::allocator<void>, as defined in ISO C++ Standard, Section 20.4.1 </td></tr>
+<tr id="row_99_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00147.html" target="_self">tbb::internal::tbb_exception_ptr</a></td><td class="desc">Exception container that preserves the exact copy of the original exception </td></tr>
+<tr id="row_100_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00148.html" target="_self">tbb::tbb_hash_compare< Key ></a></td><td class="desc">Hash_compare that is default argument for concurrent_hash_map </td></tr>
+<tr id="row_101_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00149.html" target="_self">tbb::internal::tbb_thread_v3</a></td><td class="desc">Versioned thread class </td></tr>
+<tr id="row_102_" class="even"><td class="entry"><img id="arr_102_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('102_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00154.html" target="_self">tbb::internal::thread_closure_base</a></td><td class="desc"></td></tr>
+<tr id="row_102_0_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00151.html" target="_self">tbb::internal::thread_closure_0< F ></a></td><td class="desc"></td></tr>
+<tr id="row_102_1_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00152.html" target="_self">tbb::internal::thread_closure_1< F, X ></a></td><td class="desc">Structure used to pass user function with 1 argument to thread </td></tr>
+<tr id="row_102_2_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00153.html" target="_self">tbb::internal::thread_closure_2< F, X, Y ></a></td><td class="desc"></td></tr>
+<tr id="row_103_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00155.html" target="_self">tbb::tick_count</a></td><td class="desc">Absolute timestamp </td></tr>
+<tr id="row_104_" class="even"><td class="entry"><img id="arr_104_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('104_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><b>unfolded_join_node</b></td><td class="desc"></td></tr>
+<tr id="row_104_0_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00069.html" target="_self">tbb::flow::interface7::join_node< OutputTuple, queueing ></a></td><td class="desc"></td></tr>
+<tr id="row_104_1_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00070.html" target="_self">tbb::flow::interface7::join_node< OutputTuple, reserving ></a></td><td class="desc"></td></tr>
+<tr id="row_104_2_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00071.html" target="_self">tbb::flow::interface7::join_node< OutputTuple, tag_matching ></a></td><td class="desc"></td></tr>
+<tr id="row_105_"><td class="entry"><img id="arr_105_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('105_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><b>unfolded_or_node</b></td><td class="desc"></td></tr>
+<tr id="row_105_0_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00085.html" target="_self">tbb::flow::interface7::or_node< InputTuple ></a></td><td class="desc"></td></tr>
+<tr id="row_106_" class="even"><td class="entry"><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="a00158.html" target="_self">tbb::vector_iterator< Container, Value ></a></td><td class="desc"></td></tr>
+</table>
+</div><!-- directory -->
+</div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/index.html b/doc/html/index.html
index 05885c2..9b291e2 100644
--- a/doc/html/index.html
+++ b/doc/html/index.html
@@ -1,29 +1,50 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
 <title>Main Page</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
-  <ul>
-    <li id="current"><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<h1>Main Page</h1>
-<p>
-Click the tabs above for information about the<ul>
-<li><a href="./modules.html">Modules</a> (groups of functionality) implemented by the library</li><li><a href="./annotated.html">Classes</a> provided by the library</li><li><a href="./files.html">Files</a> constituting the library.</li></ul>
-Please note that significant part of TBB functionality is implemented in the form of template functions, descriptions of which are not accessible on the <a href="./annotated.html">Classes</a> tab. Use <a href="./modules.html">Modules</a> or <a href="./namespacemembers.html">Namespace/Namespace Members</a> tabs to find them.<p>
-Additional pieces of information can be found here<ul>
-<li><a class="el" href="concepts.html">TBB concepts</a></li></ul>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li class="current"><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">Main Page </div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><p>Click the tabs above for information about the</p>
+<ul>
+<li><a href="./modules.html">Modules</a> (groups of functionality) implemented by the library</li>
+<li><a href="./annotated.html">Classes</a> provided by the library</li>
+<li><a href="./files.html">Files</a> constituting the library.</li>
+</ul>
+<p>Please note that significant part of TBB functionality is implemented in the form of template functions, descriptions of which are not accessible on the <a href="./annotated.html">Classes</a> tab. Use <a href="./modules.html">Modules</a> or <a href="./namespacemembers.html">Namespace/Namespace Members</a> tabs to find them.</p>
+<p>Additional pieces of information can be found here</p>
+<ul>
+<li><a class="el" href="a00008.html">TBB concepts</a></li>
+</ul>
+</div></div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/jquery.js b/doc/html/jquery.js
new file mode 100644
index 0000000..c197801
--- /dev/null
+++ b/doc/html/jquery.js
@@ -0,0 +1,31 @@
+/*!
+ * jQuery JavaScript Library v1.7.1
+ * http://jquery.com/
+ *
+ * Copyright 2011, John Resig
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * Includes Sizzle.js
+ * http://sizzlejs.com/
+ * Copyright 2011, The Dojo Foundation
+ * Released under the MIT, BSD, and GPL Licenses.
+ *
+ * Date: Mon Nov 21 21:11:03 2011 -0500
+ */
+(function(bb,L){var av=bb.document,bu=bb.navigator,bl=bb.location;var b=(function(){var bF=function(b0,b1){return new bF.fn.init(b0,b1,bD)},bU=bb.jQuery,bH=bb.$,bD,bY=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,bM=/\S/,bI=/^\s+/,bE=/\s+$/,bA=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,bN=/^[\],:{}\s]*$/,bW=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,bP=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,bJ=/(?:^|:|,)(?:\s*\[)+/g,by=/(webkit)[ \/]([\w.]+)/,bR=/(opera)(?:.*version)?[ \/]([\w.]+)/ [...]
+}else{--bw}}if(!bw){bC.resolveWith(bC,bx)}}else{if(bC!==bA){bC.resolveWith(bC,e?[bA]:[])}}return bE}});b.support=(function(){var bJ,bI,bF,bG,bx,bE,bA,bD,bz,bK,bB,by,bw,bv=av.createElement("div"),bH=av.documentElement;bv.setAttribute("className","t");bv.innerHTML="   <link/><table></table><a href='/a' style='top:1px;float:left;opacity:.55;'>a</a><input type='checkbox'/>";bI=bv.getElementsByTagName("*");bF=bv.getElementsByTagName("a")[0];if(!bI||!bI.length||!bF){return{}}bG=av.createElemen [...]
+if(!bA||bv===3||bv===8||bv===2){return}if(bz&&bx in b.attrFn){return b(bA)[bx](bB)}if(typeof bA.getAttribute==="undefined"){return b.prop(bA,bx,bB)}by=bv!==1||!b.isXMLDoc(bA);if(by){bx=bx.toLowerCase();e=b.attrHooks[bx]||(ao.test(bx)?aY:be)}if(bB!==L){if(bB===null){b.removeAttr(bA,bx);return}else{if(e&&"set" in e&&by&&(bw=e.set(bA,bB,bx))!==L){return bw}else{bA.setAttribute(bx,""+bB);return bB}}}else{if(e&&"get" in e&&by&&(bw=e.get(bA,bx))!==null){return bw}else{bw=bA.getAttribute(bx);re [...]
+}b.event.add(this,"click._submit keypress._submit",function(bx){var bw=bx.target,bv=b.nodeName(bw,"input")||b.nodeName(bw,"button")?bw.form:L;if(bv&&!bv._submit_attached){b.event.add(bv,"submit._submit",function(e){if(this.parentNode&&!e.isTrigger){b.event.simulate("submit",this.parentNode,e,true)}});bv._submit_attached=true}})},teardown:function(){if(b.nodeName(this,"form")){return false}b.event.remove(this,"._submit")}}}if(!b.support.changeBubbles){b.event.special.change={setup:functio [...]
+/*!
+ * Sizzle CSS Selector Engine
+ *  Copyright 2011, The Dojo Foundation
+ *  Released under the MIT, BSD, and GPL Licenses.
+ *  More information: http://sizzlejs.com/
+ */
+(function(){var bH=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,bC="sizcache"+(Math.random()+"").replace(".",""),bI=0,bL=Object.prototype.toString,bB=false,bA=true,bK=/\\/g,bO=/\r\n/g,bQ=/\W/;[0,0].sort(function(){bA=false;return 0});var by=function(bV,e,bY,bZ){bY=bY||[];e=e||av;var b1=e;if(e.nodeType!==1&&e.nodeType!==9){return[]}if(!bV||typeof bV!=="string"){return bY}var bS,b3,b6,bR,b2,b5,b4,bX,bU [...]
+},lt:function(bS,bR,e){return bR<e[3]-0},gt:function(bS,bR,e){return bR>e[3]-0},nth:function(bS,bR,e){return e[3]-0===bR},eq:function(bS,bR,e){return e[3]-0===bR}},filter:{PSEUDO:function(bS,bX,bW,bY){var e=bX[1],bR=bE.filters[e];if(bR){return bR(bS,bW,bX,bY)}else{if(e==="contains"){return(bS.textContent||bS.innerText||bw([bS])||"").indexOf(bX[3])>=0}else{if(e==="not"){var bT=bX[3];for(var bV=0,bU=bT.length;bV<bU;bV++){if(bT[bV]===bS){return false}}return true}else{by.error(e)}}}},CHILD: [...]
+ax.optgroup=ax.option;ax.tbody=ax.tfoot=ax.colgroup=ax.caption=ax.thead;ax.th=ax.td;if(!b.support.htmlSerialize){ax._default=[1,"div<div>","</div>"]}b.fn.extend({text:function(e){if(b.isFunction(e)){return this.each(function(bw){var bv=b(this);bv.text(e.call(this,bw,bv.text()))})}if(typeof e!=="object"&&e!==L){return this.empty().append((this[0]&&this[0].ownerDocument||av).createTextNode(e))}return b.text(this)},wrapAll:function(e){if(b.isFunction(e)){return this.each(function(bw){b(this [...]
+if(bA>0){if(bv!=="border"){for(;bx<e;bx++){if(!bv){bA-=parseFloat(b.css(by,"padding"+bz[bx]))||0}if(bv==="margin"){bA+=parseFloat(b.css(by,bv+bz[bx]))||0}else{bA-=parseFloat(b.css(by,"border"+bz[bx]+"Width"))||0}}}return bA+"px"}bA=Z(by,bw,bw);if(bA<0||bA==null){bA=by.style[bw]||0}bA=parseFloat(bA)||0;if(bv){for(;bx<e;bx++){bA+=parseFloat(b.css(by,"padding"+bz[bx]))||0;if(bv!=="padding"){bA+=parseFloat(b.css(by,"border"+bz[bx]+"Width"))||0}if(bv==="margin"){bA+=parseFloat(b.css(by,bv+bz[ [...]
+}}}}})}var Q={},a8,m,aB=/^(?:toggle|show|hide)$/,aT=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,a3,aH=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]],a4;b.fn.extend({show:function(bx,bA,bz){var bw,by;if(bx||bx===0){return this.animate(a0("show",3),bx,bA,bz)}else{for(var bv=0,e=this.length;bv<e;bv++){bw=this[bv];if(bw.style){by=bw.style.display;if(!b._data(bw,"olddisplay")&&by==="none"){by=bw.style.d [...]
+})}})(window);
diff --git a/doc/html/modules.html b/doc/html/modules.html
index 9a0c2b5..5cd5b8f 100644
--- a/doc/html/modules.html
+++ b/doc/html/modules.html
@@ -1,30 +1,49 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Module Index</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
-  <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li id="current"><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<h1>Modules</h1>Here is a list of all modules:<ul>
-<li><a class="el" href="a00441.html">Algorithms</a>
-<li><a class="el" href="a00442.html">Containers</a>
-<li><a class="el" href="a00443.html">Memory Allocation</a>
-<li><a class="el" href="a00444.html">Synchronization</a>
-<li><a class="el" href="a00445.html">Timing</a>
-<li><a class="el" href="a00446.html">Task Scheduling</a>
-</ul>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Modules</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li class="current"><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">Modules</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock">Here is a list of all modules:</div><div class="directory">
+<table class="directory">
+<tr id="row_0_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="a00234.html" target="_self">Algorithms</a></td><td class="desc"></td></tr>
+<tr id="row_1_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="a00235.html" target="_self">Containers</a></td><td class="desc"></td></tr>
+<tr id="row_2_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="a00236.html" target="_self">Memory Allocation</a></td><td class="desc"></td></tr>
+<tr id="row_3_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="a00237.html" target="_self">Synchronization</a></td><td class="desc"></td></tr>
+<tr id="row_4_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="a00238.html" target="_self">Timing</a></td><td class="desc"></td></tr>
+<tr id="row_5_"><td class="entry"><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><a class="el" href="a00239.html" target="_self">Task Scheduling</a></td><td class="desc"></td></tr>
+</table>
+</div><!-- directory -->
+</div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/namespacemembers.html b/doc/html/namespacemembers.html
index 17ced4f..35d906a 100644
--- a/doc/html/namespacemembers.html
+++ b/doc/html/namespacemembers.html
@@ -1,58 +1,153 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Class Members</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
-  <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li id="current"><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="namespaces.html"><span>Namespace List</span></a></li>
-    <li id="current"><a href="namespacemembers.html"><span>Namespace Members</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li id="current"><a href="namespacemembers.html"><span>All</span></a></li>
-    <li><a href="namespacemembers_func.html"><span>Functions</span></a></li>
-    <li><a href="namespacemembers_type.html"><span>Typedefs</span></a></li>
-    <li><a href="namespacemembers_enum.html"><span>Enumerations</span></a></li>
-    <li><a href="namespacemembers_eval.html"><span>Enumerator</span></a></li>
-  </ul>
-</div>
-Here is a list of all documented namespace members with links to the namespaces they belong to:
-<p>
-<ul>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Namespace Members</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="namespaces.html"><span>Namespace List</span></a></li>
+      <li class="current"><a href="namespacemembers.html"><span>Namespace Members</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow3" class="tabs2">
+    <ul class="tablist">
+      <li class="current"><a href="namespacemembers.html"><span>All</span></a></li>
+      <li><a href="namespacemembers_func.html"><span>Functions</span></a></li>
+      <li><a href="namespacemembers_type.html"><span>Typedefs</span></a></li>
+      <li><a href="namespacemembers_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="namespacemembers_eval.html"><span>Enumerator</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow4" class="tabs3">
+    <ul class="tablist">
+      <li><a href="#index__"><span>_</span></a></li>
+      <li><a href="#index_a"><span>a</span></a></li>
+      <li><a href="#index_e"><span>e</span></a></li>
+      <li><a href="#index_f"><span>f</span></a></li>
+      <li><a href="#index_m"><span>m</span></a></li>
+      <li><a href="#index_p"><span>p</span></a></li>
+      <li><a href="#index_r"><span>r</span></a></li>
+      <li><a href="#index_s"><span>s</span></a></li>
+      <li><a href="#index_t"><span>t</span></a></li>
+    </ul>
+  </div>
+</div><!-- top -->
+<div class="contents">
+<div class="textblock">Here is a list of all documented namespace members with links to the namespaces they belong to:</div>
+
+<h3><a class="anchor" id="index__"></a>- _ -</h3><ul>
 <li>__TBB_DECL_ATOMIC_ALT()
-: <a class="el" href="a00428.html#ad165cf61abbe349d413df2589679add">tbb</a><li>acquire
-: <a class="el" href="a00428.html#a8686246bb5d3664bd07563749970fef5f1fafe8d229d348ff91d937f64e79c7">tbb</a><li>atomic_fence()
-: <a class="el" href="a00428.html#250275615f10d5b5de6ad466ae2f54de">tbb</a><li>ets_key_usage_type
-: <a class="el" href="a00428.html#a8622ae61b7e7737dac26542e181178e">tbb</a><li>full_fence
-: <a class="el" href="a00428.html#a8686246bb5d3664bd07563749970fef07b959f69a4f70d821c67b85316803ff">tbb</a><li>memory_semantics
-: <a class="el" href="a00428.html#a8686246bb5d3664bd07563749970fef">tbb</a><li>parallel_deterministic_reduce()
-: <a class="el" href="a00441.html#g0a66bc67567b2d01d709b59b9bddf84a">tbb</a><li>parallel_do()
-: <a class="el" href="a00441.html#g2617dc9b88b3285a7212599d49f74228">tbb</a><li>parallel_for()
-: <a class="el" href="a00441.html#g04b4696b67370c01353ff5974c8f1196">tbb</a><li>parallel_for_each()
-: <a class="el" href="a00441.html#gc2d710ca573f0a9bd94379cba3772def">tbb</a><li>parallel_invoke()
-: <a class="el" href="a00441.html#gd3e2998f171494f94c2103f4eb924084">tbb</a><li>parallel_reduce()
-: <a class="el" href="a00441.html#g496bd7eadb3b97495ccb5655ef90319e">tbb</a><li>parallel_scan()
-: <a class="el" href="a00441.html#g62fde400a37bbca1a2fddc8e3d22f556">tbb</a><li>parallel_sort()
-: <a class="el" href="a00441.html#gc7576f82fdedc8a701a6c17ad9415926">tbb</a><li>relaxed
-: <a class="el" href="a00428.html#a8686246bb5d3664bd07563749970fefaba4b1574646947f1b519188a93c1900">tbb</a><li>release
-: <a class="el" href="a00428.html#a8686246bb5d3664bd07563749970fefaa1fa107db0245c41fb109d976ae8d70">tbb</a><li>speculative_spin_mutex
-: <a class="el" href="a00444.html#g645a9ea2a448def7e529d4ba0c6f39b8">tbb</a><li>TBB_runtime_interface_version()
-: <a class="el" href="a00428.html#a6858b22e90041c9c4669674ff39b056">tbb</a></ul>
+: <a class="el" href="a00222.html#a59425abdcb421136e9f5954cfb975e5f">tbb</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_a"></a>- a -</h3><ul>
+<li>acquire
+: <a class="el" href="a00222.html#adb86d08473679d6fe0eabcdc766ffe3aaa92646b4dc7618530d3a9f51dd10a418">tbb</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_e"></a>- e -</h3><ul>
+<li>ets_key_usage_type
+: <a class="el" href="a00222.html#ac5bcb6154c8307fa9f97806afddf2288">tbb</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_f"></a>- f -</h3><ul>
+<li>full_fence
+: <a class="el" href="a00222.html#adb86d08473679d6fe0eabcdc766ffe3aa6a315190cf4509ec388ecb423432f36a">tbb</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_m"></a>- m -</h3><ul>
+<li>memory_semantics
+: <a class="el" href="a00222.html#adb86d08473679d6fe0eabcdc766ffe3a">tbb</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_p"></a>- p -</h3><ul>
+<li>parallel_deterministic_reduce()
+: <a class="el" href="a00234.html#ga1fd7e3c43592dfe1ae3e3572bd80d4f6">tbb</a>
+</li>
+<li>parallel_do()
+: <a class="el" href="a00234.html#ga533f6732498ade8634a9470cbf89192d">tbb</a>
+</li>
+<li>parallel_for()
+: <a class="el" href="a00234.html#ga9722d2bc7e5edb4fae9f3b55268a1ecc">tbb</a>
+</li>
+<li>parallel_for_each()
+: <a class="el" href="a00234.html#gaef59e9baf9141a19c99a291e4532bd98">tbb</a>
+</li>
+<li>parallel_invoke()
+: <a class="el" href="a00234.html#ga14459dcbcd631194df803b155a7f610b">tbb</a>
+</li>
+<li>parallel_reduce()
+: <a class="el" href="a00234.html#ga6e83e121490df24fa5893b14e68f5e2a">tbb</a>
+</li>
+<li>parallel_scan()
+: <a class="el" href="a00234.html#gae7eaaf124471a6c603b28fc925e8fbbb">tbb</a>
+</li>
+<li>parallel_sort()
+: <a class="el" href="a00234.html#gabdc90813499f91d3e32298cd6dc2fe45">tbb</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_r"></a>- r -</h3><ul>
+<li>relaxed
+: <a class="el" href="a00222.html#adb86d08473679d6fe0eabcdc766ffe3aa73cb2e2bcb94442b8b2b72e93a76f2e5">tbb</a>
+</li>
+<li>release
+: <a class="el" href="a00222.html#adb86d08473679d6fe0eabcdc766ffe3aa412563418e657114a102db610f726632">tbb</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_s"></a>- s -</h3><ul>
+<li>speculative_spin_mutex
+: <a class="el" href="a00237.html#ga69722571e9e4406693c4a1379f0b47eb">tbb</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_t"></a>- t -</h3><ul>
+<li>TBB_runtime_interface_version()
+: <a class="el" href="a00222.html#ade8a8bc300d5ef09d38cbfb8baff5cd2">tbb</a>
+</li>
+<li>tbb_thread
+: <a class="el" href="a00222.html#a7805ca254302ff88b566f7dcde7e56b0">tbb</a>
+</li>
+</ul>
+</div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/namespacemembers_enum.html b/doc/html/namespacemembers_enum.html
index 9c03df7..815a483 100644
--- a/doc/html/namespacemembers_enum.html
+++ b/doc/html/namespacemembers_enum.html
@@ -1,42 +1,58 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Class Members</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
-  <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li id="current"><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="namespaces.html"><span>Namespace List</span></a></li>
-    <li id="current"><a href="namespacemembers.html"><span>Namespace Members</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="namespacemembers.html"><span>All</span></a></li>
-    <li><a href="namespacemembers_func.html"><span>Functions</span></a></li>
-    <li><a href="namespacemembers_type.html"><span>Typedefs</span></a></li>
-    <li id="current"><a href="namespacemembers_enum.html"><span>Enumerations</span></a></li>
-    <li><a href="namespacemembers_eval.html"><span>Enumerator</span></a></li>
-  </ul>
-</div>
- 
-<p>
-<ul>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Namespace Members</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="namespaces.html"><span>Namespace List</span></a></li>
+      <li class="current"><a href="namespacemembers.html"><span>Namespace Members</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow3" class="tabs2">
+    <ul class="tablist">
+      <li><a href="namespacemembers.html"><span>All</span></a></li>
+      <li><a href="namespacemembers_func.html"><span>Functions</span></a></li>
+      <li><a href="namespacemembers_type.html"><span>Typedefs</span></a></li>
+      <li class="current"><a href="namespacemembers_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="namespacemembers_eval.html"><span>Enumerator</span></a></li>
+    </ul>
+  </div>
+</div><!-- top -->
+<div class="contents">
+ <ul>
 <li>ets_key_usage_type
-: <a class="el" href="a00428.html#a8622ae61b7e7737dac26542e181178e">tbb</a><li>memory_semantics
-: <a class="el" href="a00428.html#a8686246bb5d3664bd07563749970fef">tbb</a></ul>
+: <a class="el" href="a00222.html#ac5bcb6154c8307fa9f97806afddf2288">tbb</a>
+</li>
+<li>memory_semantics
+: <a class="el" href="a00222.html#adb86d08473679d6fe0eabcdc766ffe3a">tbb</a>
+</li>
+</ul>
+</div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/namespacemembers_eval.html b/doc/html/namespacemembers_eval.html
index e2a680f..6d25b9b 100644
--- a/doc/html/namespacemembers_eval.html
+++ b/doc/html/namespacemembers_eval.html
@@ -1,44 +1,64 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Class Members</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
-  <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li id="current"><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="namespaces.html"><span>Namespace List</span></a></li>
-    <li id="current"><a href="namespacemembers.html"><span>Namespace Members</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="namespacemembers.html"><span>All</span></a></li>
-    <li><a href="namespacemembers_func.html"><span>Functions</span></a></li>
-    <li><a href="namespacemembers_type.html"><span>Typedefs</span></a></li>
-    <li><a href="namespacemembers_enum.html"><span>Enumerations</span></a></li>
-    <li id="current"><a href="namespacemembers_eval.html"><span>Enumerator</span></a></li>
-  </ul>
-</div>
- 
-<p>
-<ul>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Namespace Members</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="namespaces.html"><span>Namespace List</span></a></li>
+      <li class="current"><a href="namespacemembers.html"><span>Namespace Members</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow3" class="tabs2">
+    <ul class="tablist">
+      <li><a href="namespacemembers.html"><span>All</span></a></li>
+      <li><a href="namespacemembers_func.html"><span>Functions</span></a></li>
+      <li><a href="namespacemembers_type.html"><span>Typedefs</span></a></li>
+      <li><a href="namespacemembers_enum.html"><span>Enumerations</span></a></li>
+      <li class="current"><a href="namespacemembers_eval.html"><span>Enumerator</span></a></li>
+    </ul>
+  </div>
+</div><!-- top -->
+<div class="contents">
+ <ul>
 <li>acquire
-: <a class="el" href="a00428.html#a8686246bb5d3664bd07563749970fef5f1fafe8d229d348ff91d937f64e79c7">tbb</a><li>full_fence
-: <a class="el" href="a00428.html#a8686246bb5d3664bd07563749970fef07b959f69a4f70d821c67b85316803ff">tbb</a><li>relaxed
-: <a class="el" href="a00428.html#a8686246bb5d3664bd07563749970fefaba4b1574646947f1b519188a93c1900">tbb</a><li>release
-: <a class="el" href="a00428.html#a8686246bb5d3664bd07563749970fefaa1fa107db0245c41fb109d976ae8d70">tbb</a></ul>
+: <a class="el" href="a00222.html#adb86d08473679d6fe0eabcdc766ffe3aaa92646b4dc7618530d3a9f51dd10a418">tbb</a>
+</li>
+<li>full_fence
+: <a class="el" href="a00222.html#adb86d08473679d6fe0eabcdc766ffe3aa6a315190cf4509ec388ecb423432f36a">tbb</a>
+</li>
+<li>relaxed
+: <a class="el" href="a00222.html#adb86d08473679d6fe0eabcdc766ffe3aa73cb2e2bcb94442b8b2b72e93a76f2e5">tbb</a>
+</li>
+<li>release
+: <a class="el" href="a00222.html#adb86d08473679d6fe0eabcdc766ffe3aa412563418e657114a102db610f726632">tbb</a>
+</li>
+</ul>
+</div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/namespacemembers_func.html b/doc/html/namespacemembers_func.html
index 4ecc0b8..79c29e2 100644
--- a/doc/html/namespacemembers_func.html
+++ b/doc/html/namespacemembers_func.html
@@ -1,51 +1,99 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Class Members</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
-  <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li id="current"><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="namespaces.html"><span>Namespace List</span></a></li>
-    <li id="current"><a href="namespacemembers.html"><span>Namespace Members</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="namespacemembers.html"><span>All</span></a></li>
-    <li id="current"><a href="namespacemembers_func.html"><span>Functions</span></a></li>
-    <li><a href="namespacemembers_type.html"><span>Typedefs</span></a></li>
-    <li><a href="namespacemembers_enum.html"><span>Enumerations</span></a></li>
-    <li><a href="namespacemembers_eval.html"><span>Enumerator</span></a></li>
-  </ul>
-</div>
- 
-<p>
-<ul>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Namespace Members</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="namespaces.html"><span>Namespace List</span></a></li>
+      <li class="current"><a href="namespacemembers.html"><span>Namespace Members</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow3" class="tabs2">
+    <ul class="tablist">
+      <li><a href="namespacemembers.html"><span>All</span></a></li>
+      <li class="current"><a href="namespacemembers_func.html"><span>Functions</span></a></li>
+      <li><a href="namespacemembers_type.html"><span>Typedefs</span></a></li>
+      <li><a href="namespacemembers_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="namespacemembers_eval.html"><span>Enumerator</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow4" class="tabs3">
+    <ul class="tablist">
+      <li><a href="#index__"><span>_</span></a></li>
+      <li><a href="#index_p"><span>p</span></a></li>
+      <li><a href="#index_t"><span>t</span></a></li>
+    </ul>
+  </div>
+</div><!-- top -->
+<div class="contents">
+ 
+
+<h3><a class="anchor" id="index__"></a>- _ -</h3><ul>
 <li>__TBB_DECL_ATOMIC_ALT()
-: <a class="el" href="a00428.html#ad165cf61abbe349d413df2589679add">tbb</a><li>atomic_fence()
-: <a class="el" href="a00428.html#250275615f10d5b5de6ad466ae2f54de">tbb</a><li>parallel_deterministic_reduce()
-: <a class="el" href="a00441.html#g0a66bc67567b2d01d709b59b9bddf84a">tbb</a><li>parallel_do()
-: <a class="el" href="a00441.html#g2617dc9b88b3285a7212599d49f74228">tbb</a><li>parallel_for()
-: <a class="el" href="a00441.html#g04b4696b67370c01353ff5974c8f1196">tbb</a><li>parallel_for_each()
-: <a class="el" href="a00441.html#gc2d710ca573f0a9bd94379cba3772def">tbb</a><li>parallel_invoke()
-: <a class="el" href="a00441.html#gd3e2998f171494f94c2103f4eb924084">tbb</a><li>parallel_reduce()
-: <a class="el" href="a00441.html#g496bd7eadb3b97495ccb5655ef90319e">tbb</a><li>parallel_scan()
-: <a class="el" href="a00441.html#g62fde400a37bbca1a2fddc8e3d22f556">tbb</a><li>parallel_sort()
-: <a class="el" href="a00441.html#gc7576f82fdedc8a701a6c17ad9415926">tbb</a><li>TBB_runtime_interface_version()
-: <a class="el" href="a00428.html#a6858b22e90041c9c4669674ff39b056">tbb</a></ul>
+: <a class="el" href="a00222.html#a59425abdcb421136e9f5954cfb975e5f">tbb</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_p"></a>- p -</h3><ul>
+<li>parallel_deterministic_reduce()
+: <a class="el" href="a00234.html#ga1fd7e3c43592dfe1ae3e3572bd80d4f6">tbb</a>
+</li>
+<li>parallel_do()
+: <a class="el" href="a00234.html#ga533f6732498ade8634a9470cbf89192d">tbb</a>
+</li>
+<li>parallel_for()
+: <a class="el" href="a00234.html#ga9722d2bc7e5edb4fae9f3b55268a1ecc">tbb</a>
+</li>
+<li>parallel_for_each()
+: <a class="el" href="a00234.html#gaef59e9baf9141a19c99a291e4532bd98">tbb</a>
+</li>
+<li>parallel_invoke()
+: <a class="el" href="a00234.html#ga14459dcbcd631194df803b155a7f610b">tbb</a>
+</li>
+<li>parallel_reduce()
+: <a class="el" href="a00234.html#ga6e83e121490df24fa5893b14e68f5e2a">tbb</a>
+</li>
+<li>parallel_scan()
+: <a class="el" href="a00234.html#gae7eaaf124471a6c603b28fc925e8fbbb">tbb</a>
+</li>
+<li>parallel_sort()
+: <a class="el" href="a00234.html#gabdc90813499f91d3e32298cd6dc2fe45">tbb</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_t"></a>- t -</h3><ul>
+<li>TBB_runtime_interface_version()
+: <a class="el" href="a00222.html#ade8a8bc300d5ef09d38cbfb8baff5cd2">tbb</a>
+</li>
+</ul>
+</div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/namespacemembers_type.html b/doc/html/namespacemembers_type.html
index 4a4248b..3720824 100644
--- a/doc/html/namespacemembers_type.html
+++ b/doc/html/namespacemembers_type.html
@@ -1,41 +1,58 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Class Members</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
-  <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li id="current"><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="namespaces.html"><span>Namespace List</span></a></li>
-    <li id="current"><a href="namespacemembers.html"><span>Namespace Members</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li><a href="namespacemembers.html"><span>All</span></a></li>
-    <li><a href="namespacemembers_func.html"><span>Functions</span></a></li>
-    <li id="current"><a href="namespacemembers_type.html"><span>Typedefs</span></a></li>
-    <li><a href="namespacemembers_enum.html"><span>Enumerations</span></a></li>
-    <li><a href="namespacemembers_eval.html"><span>Enumerator</span></a></li>
-  </ul>
-</div>
- 
-<p>
-<ul>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Namespace Members</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="namespaces.html"><span>Namespace List</span></a></li>
+      <li class="current"><a href="namespacemembers.html"><span>Namespace Members</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow3" class="tabs2">
+    <ul class="tablist">
+      <li><a href="namespacemembers.html"><span>All</span></a></li>
+      <li><a href="namespacemembers_func.html"><span>Functions</span></a></li>
+      <li class="current"><a href="namespacemembers_type.html"><span>Typedefs</span></a></li>
+      <li><a href="namespacemembers_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="namespacemembers_eval.html"><span>Enumerator</span></a></li>
+    </ul>
+  </div>
+</div><!-- top -->
+<div class="contents">
+ <ul>
 <li>speculative_spin_mutex
-: <a class="el" href="a00444.html#g645a9ea2a448def7e529d4ba0c6f39b8">tbb</a></ul>
+: <a class="el" href="a00237.html#ga69722571e9e4406693c4a1379f0b47eb">tbb</a>
+</li>
+<li>tbb_thread
+: <a class="el" href="a00222.html#a7805ca254302ff88b566f7dcde7e56b0">tbb</a>
+</li>
+</ul>
+</div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/namespaces.html b/doc/html/namespaces.html
index 045ffe2..1ee7607 100644
--- a/doc/html/namespaces.html
+++ b/doc/html/namespaces.html
@@ -1,31 +1,51 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Namespace Index</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
-  <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li id="current"><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="tabs">
-  <ul>
-    <li id="current"><a href="namespaces.html"><span>Namespace List</span></a></li>
-    <li><a href="namespacemembers.html"><span>Namespace Members</span></a></li>
-  </ul></div>
-<h1>Namespace List</h1>Here is a list of all documented namespaces with brief descriptions:<table>
-  <tr><td class="indexkey"><a class="el" href="a00425.html">rml</a></td><td class="indexvalue">Assert that x is true </td></tr>
-  <tr><td class="indexkey"><a class="el" href="a00428.html">tbb</a></td><td class="indexvalue">The namespace tbb contains all components of the library </td></tr>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Namespace List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li class="current"><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li class="current"><a href="namespaces.html"><span>Namespace List</span></a></li>
+      <li><a href="namespacemembers.html"><span>Namespace Members</span></a></li>
+    </ul>
+  </div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">Namespace List</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock">Here is a list of all documented namespaces with brief descriptions:</div><div class="directory">
+<table class="directory">
+<tr id="row_0_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2ns.png" alt="N" width="24" height="22" /><a class="el" href="a00219.html" target="_self">rml</a></td><td class="desc">The namespace rml contains components of low-level memory pool interface </td></tr>
+<tr id="row_1_"><td class="entry"><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2ns.png" alt="N" width="24" height="22" /><a class="el" href="a00222.html" target="_self">tbb</a></td><td class="desc">The namespace tbb contains all components of the library </td></tr>
 </table>
+</div><!-- directory -->
+</div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/nav_f.png b/doc/html/nav_f.png
new file mode 100644
index 0000000..72a58a5
Binary files /dev/null and b/doc/html/nav_f.png differ
diff --git a/doc/html/nav_g.png b/doc/html/nav_g.png
new file mode 100644
index 0000000..2093a23
Binary files /dev/null and b/doc/html/nav_g.png differ
diff --git a/doc/html/nav_h.png b/doc/html/nav_h.png
new file mode 100644
index 0000000..33389b1
Binary files /dev/null and b/doc/html/nav_h.png differ
diff --git a/doc/html/open.png b/doc/html/open.png
new file mode 100644
index 0000000..30f75c7
Binary files /dev/null and b/doc/html/open.png differ
diff --git a/doc/html/pages.html b/doc/html/pages.html
index 8cec29b..f59a0ca 100644
--- a/doc/html/pages.html
+++ b/doc/html/pages.html
@@ -1,28 +1,45 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Page Index</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
-  <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li id="current"><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<h1>Related Pages</h1>Here is a list of all related documentation pages:<ul>
-<li><a class="el" href="parallel_reduce_lambda_req.html">Requirements on parallel_reduce anonymous function objects (lambda functions)</a>
-
-<li><a class="el" href="deprecated.html">Deprecated List</a>
-
-</ul>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.4"/>
+<title>Related Pages</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.4 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li class="current"><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li><a href="files.html"><span>Files</span></a></li>
+    </ul>
+  </div>
+</div><!-- top -->
+<div class="header">
+  <div class="headertitle">
+<div class="title">Related Pages</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock">Here is a list of all related documentation pages:</div><div class="directory">
+<table class="directory">
+<tr id="row_0_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="a00005.html" target="_self">Requirements on parallel_reduce anonymous function objects (lambda functions)</a></td><td class="desc"></td></tr>
+<tr id="row_1_"><td class="entry"><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><a class="el" href="a00240.html" target="_self">Deprecated List</a></td><td class="desc"></td></tr>
+</table>
+</div><!-- directory -->
+</div><!-- contents -->
 <hr>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <p></p>
 Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
 registered trademarks or trademarks of Intel Corporation or its
diff --git a/doc/html/parallel_do_body_req.html b/doc/html/parallel_do_body_req.html
deleted file mode 100644
index bebadc2..0000000
--- a/doc/html/parallel_do_body_req.html
+++ /dev/null
@@ -1,38 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Requirements on parallel_do body</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
-  <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="nav">
-<a class="el" href="index.html">Main Page</a> &raquo <a class="el" href="concepts.html">TBB concepts</a></div>
-<h1><a class="anchor" name="parallel_do_body_req">Requirements on parallel_do body</a></h1>Class <code>Body</code> implementing the concept of parallel_do body must define: -<div class="fragment"><pre class="fragment">        B::operator()( 
-                cv_item_type item,
-                parallel_do_feeder<item_type>& feeder
-        ) <span class="keyword">const</span>
-        
-        OR
-
-        B::operator()( cv_item_type& item ) <span class="keyword">const</span>
-</pre></div> Process item. May be invoked concurrently for the same <code>this</code> but different <code>item</code>.<p>
--<div class="fragment"><pre class="fragment"> item_type( <span class="keyword">const</span> item_type& ) 
-</pre></div> Copy a work item. -<div class="fragment"><pre class="fragment"> ~item_type() 
-</pre></div> Destroy a work item <hr>
-<p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
-<p></p>
-Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
-registered trademarks or trademarks of Intel Corporation or its
-subsidiaries in the United States and other countries.
-<p></p>
-* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/parallel_for_body_req.html b/doc/html/parallel_for_body_req.html
deleted file mode 100644
index 27aaabb..0000000
--- a/doc/html/parallel_for_body_req.html
+++ /dev/null
@@ -1,30 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Requirements on parallel_for body</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
-  <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="nav">
-<a class="el" href="index.html">Main Page</a> &raquo <a class="el" href="concepts.html">TBB concepts</a></div>
-<h1><a class="anchor" name="parallel_for_body_req">Requirements on parallel_for body</a></h1>Class <code>Body</code> implementing the concept of parallel_for body must define: -<div class="fragment"><pre class="fragment"> Body::Body( <span class="keyword">const</span> Body& ); 
-</pre></div> Copy constructor -<div class="fragment"><pre class="fragment"> Body::~Body(); 
-</pre></div> Destructor -<div class="fragment"><pre class="fragment"> <span class="keywordtype">void</span> Body::operator()( Range& r ) <span class="keyword">const</span>; 
-</pre></div> Function call operator applying the body to range <code>r</code>. <hr>
-<p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
-<p></p>
-Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
-registered trademarks or trademarks of Intel Corporation or its
-subsidiaries in the United States and other countries.
-<p></p>
-* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/parallel_reduce_body_req.html b/doc/html/parallel_reduce_body_req.html
deleted file mode 100644
index da8e6fb..0000000
--- a/doc/html/parallel_reduce_body_req.html
+++ /dev/null
@@ -1,31 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Requirements on parallel_reduce body</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
-  <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="nav">
-<a class="el" href="index.html">Main Page</a> &raquo <a class="el" href="concepts.html">TBB concepts</a></div>
-<h1><a class="anchor" name="parallel_reduce_body_req">Requirements on parallel_reduce body</a></h1>Class <code>Body</code> implementing the concept of parallel_reduce body must define: -<div class="fragment"><pre class="fragment"> Body::Body( Body&, split ); 
-</pre></div> Splitting constructor. Must be able to run concurrently with operator() and method <code>join</code> -<div class="fragment"><pre class="fragment"> Body::~Body(); 
-</pre></div> Destructor -<div class="fragment"><pre class="fragment"> <span class="keywordtype">void</span> Body::operator()( Range& r ); 
-</pre></div> Function call operator applying body to range <code>r</code> and accumulating the result -<div class="fragment"><pre class="fragment"> <span class="keywordtype">void</span> Body::join( Body& b ); 
-</pre></div> Join results. The result in <code>b</code> should be merged into the result of <code>this</code> <hr>
-<p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
-<p></p>
-Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
-registered trademarks or trademarks of Intel Corporation or its
-subsidiaries in the United States and other countries.
-<p></p>
-* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/parallel_reduce_lambda_req.html b/doc/html/parallel_reduce_lambda_req.html
deleted file mode 100644
index 2652997..0000000
--- a/doc/html/parallel_reduce_lambda_req.html
+++ /dev/null
@@ -1,25 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Requirements on parallel_reduce anonymous function objects (lambda functions)</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
-  <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<h1><a class="anchor" name="parallel_reduce_lambda_req">Requirements on parallel_reduce anonymous function objects (lambda functions)</a></h1>TO BE DOCUMENTED <hr>
-<p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
-<p></p>
-Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
-registered trademarks or trademarks of Intel Corporation or its
-subsidiaries in the United States and other countries.
-<p></p>
-* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/parallel_scan_body_req.html b/doc/html/parallel_scan_body_req.html
deleted file mode 100644
index b1cfa6e..0000000
--- a/doc/html/parallel_scan_body_req.html
+++ /dev/null
@@ -1,32 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Requirements on parallel_scan body</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
-  <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="nav">
-<a class="el" href="index.html">Main Page</a> &raquo <a class="el" href="concepts.html">TBB concepts</a></div>
-<h1><a class="anchor" name="parallel_scan_body_req">Requirements on parallel_scan body</a></h1>Class <code>Body</code> implementing the concept of parallel_scan body must define: -<div class="fragment"><pre class="fragment"> Body::Body( Body&, split ); 
-</pre></div> Splitting constructor. Split <code>b</code> so that <code>this</code> and <code>b</code> can accumulate separately -<div class="fragment"><pre class="fragment"> Body::~Body(); 
-</pre></div> Destructor -<div class="fragment"><pre class="fragment"> <span class="keywordtype">void</span> Body::operator()( <span class="keyword">const</span> Range& r, pre_scan_tag ); 
-</pre></div> Preprocess iterations for range <code>r</code> -<div class="fragment"><pre class="fragment"> <span class="keywordtype">void</span> Body::operator()( <span class="keyword">const</span> Range& r, final_scan_tag ); 
-</pre></div> Do final processing for iterations of range <code>r</code> -<div class="fragment"><pre class="fragment"> <span class="keywordtype">void</span> Body::reverse_join( Body& a ); 
-</pre></div> Merge preprocessing state of <code>a</code> into <code>this</code>, where <code>a</code> was created earlier from <code>b</code> by b's splitting constructor <hr>
-<p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
-<p></p>
-Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
-registered trademarks or trademarks of Intel Corporation or its
-subsidiaries in the United States and other countries.
-<p></p>
-* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/parallel_sort_iter_req.html b/doc/html/parallel_sort_iter_req.html
deleted file mode 100644
index 7d1806a..0000000
--- a/doc/html/parallel_sort_iter_req.html
+++ /dev/null
@@ -1,29 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Requirements on iterators for parallel_sort</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
-  <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="nav">
-<a class="el" href="index.html">Main Page</a> &raquo <a class="el" href="concepts.html">TBB concepts</a></div>
-<h1><a class="anchor" name="parallel_sort_iter_req">Requirements on iterators for parallel_sort</a></h1>Requirements on value type <code>T</code> of <code>RandomAccessIterator</code> for <code>parallel_sort:</code> -<div class="fragment"><pre class="fragment"> <span class="keywordtype">void</span> swap( T& x, T& y ) 
-</pre></div> Swaps <code>x</code> and <code>y</code> -<div class="fragment"><pre class="fragment"> <span class="keywordtype">bool</span> Compare::operator()( <span class="keyword">const</span> T& x, <span class="keyword">const</span> T& y ) 
-</pre></div> True if x comes before y; <hr>
-<p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
-<p></p>
-Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
-registered trademarks or trademarks of Intel Corporation or its
-subsidiaries in the United States and other countries.
-<p></p>
-* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/range_req.html b/doc/html/range_req.html
deleted file mode 100644
index dd46099..0000000
--- a/doc/html/range_req.html
+++ /dev/null
@@ -1,32 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>Requirements on range concept</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.4.7 -->
-<div class="tabs">
-  <ul>
-    <li><a href="index.html"><span>Main Page</span></a></li>
-    <li><a href="modules.html"><span>Modules</span></a></li>
-    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
-    <li><a href="annotated.html"><span>Classes</span></a></li>
-    <li><a href="files.html"><span>Files</span></a></li>
-    <li><a href="pages.html"><span>Related Pages</span></a></li>
-  </ul></div>
-<div class="nav">
-<a class="el" href="index.html">Main Page</a> &raquo <a class="el" href="concepts.html">TBB concepts</a></div>
-<h1><a class="anchor" name="range_req">Requirements on range concept</a></h1>Class <code>R</code> implementing the concept of range must define: -<div class="fragment"><pre class="fragment"> R::R( <span class="keyword">const</span> R& ); 
-</pre></div> Copy constructor -<div class="fragment"><pre class="fragment"> R::~R(); 
-</pre></div> Destructor -<div class="fragment"><pre class="fragment"> <span class="keywordtype">bool</span> R::is_divisible() <span class="keyword">const</span>; 
-</pre></div> True if range can be partitioned into two subranges -<div class="fragment"><pre class="fragment"> <span class="keywordtype">bool</span> R::empty() <span class="keyword">const</span>; 
-</pre></div> True if range is empty -<div class="fragment"><pre class="fragment"> R::R( R& r, split ); 
-</pre></div> Split range <code>r</code> into two subranges. <hr>
-<p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
-<p></p>
-Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
-registered trademarks or trademarks of Intel Corporation or its
-subsidiaries in the United States and other countries.
-<p></p>
-* Other names and brands may be claimed as the property of others.
diff --git a/doc/html/sync_off.png b/doc/html/sync_off.png
new file mode 100644
index 0000000..3b443fc
Binary files /dev/null and b/doc/html/sync_off.png differ
diff --git a/doc/html/sync_on.png b/doc/html/sync_on.png
new file mode 100644
index 0000000..e08320f
Binary files /dev/null and b/doc/html/sync_on.png differ
diff --git a/doc/html/tab_a.png b/doc/html/tab_a.png
new file mode 100644
index 0000000..3b725c4
Binary files /dev/null and b/doc/html/tab_a.png differ
diff --git a/doc/html/tab_b.gif b/doc/html/tab_b.gif
deleted file mode 100644
index 0d62348..0000000
Binary files a/doc/html/tab_b.gif and /dev/null differ
diff --git a/doc/html/tab_b.png b/doc/html/tab_b.png
new file mode 100644
index 0000000..e2b4a86
Binary files /dev/null and b/doc/html/tab_b.png differ
diff --git a/doc/html/tab_h.png b/doc/html/tab_h.png
new file mode 100644
index 0000000..fd5cb70
Binary files /dev/null and b/doc/html/tab_h.png differ
diff --git a/doc/html/tab_l.gif b/doc/html/tab_l.gif
deleted file mode 100644
index 9b1e633..0000000
Binary files a/doc/html/tab_l.gif and /dev/null differ
diff --git a/doc/html/tab_r.gif b/doc/html/tab_r.gif
deleted file mode 100644
index ce9dd9f..0000000
Binary files a/doc/html/tab_r.gif and /dev/null differ
diff --git a/doc/html/tab_s.png b/doc/html/tab_s.png
new file mode 100644
index 0000000..ab478c9
Binary files /dev/null and b/doc/html/tab_s.png differ
diff --git a/doc/html/tabs.css b/doc/html/tabs.css
index a61552a..9cf578f 100644
--- a/doc/html/tabs.css
+++ b/doc/html/tabs.css
@@ -1,102 +1,60 @@
-/* tabs styles, based on http://www.alistapart.com/articles/slidingdoors */
-
-DIV.tabs
-{
-   float            : left;
-   width            : 100%;
-   background       : url("tab_b.gif") repeat-x bottom;
-   margin-bottom    : 4px;
-}
-
-DIV.tabs UL
-{
-   margin           : 0px;
-   padding-left     : 10px;
-   list-style       : none;
-}
-
-DIV.tabs LI, DIV.tabs FORM
-{
-   display          : inline;
-   margin           : 0px;
-   padding          : 0px;
-}
-
-DIV.tabs FORM
-{
-   float            : right;
+.tabs, .tabs2, .tabs3 {
+    background-image: url('tab_b.png');
+    width: 100%;
+    z-index: 101;
+    font-size: 13px;
+    font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif;
 }
 
-DIV.tabs A
-{
-   float            : left;
-   background       : url("tab_r.gif") no-repeat right top;
-   border-bottom    : 1px solid #84B0C7;
-   font-size        : x-small;
-   font-weight      : bold;
-   text-decoration  : none;
+.tabs2 {
+    font-size: 10px;
 }
-
-DIV.tabs A:hover
-{
-   background-position: 100% -150px;
+.tabs3 {
+    font-size: 9px;
 }
 
-DIV.tabs A:link, DIV.tabs A:visited,
-DIV.tabs A:active, DIV.tabs A:hover
-{
-       color: #1A419D;
+.tablist {
+    margin: 0;
+    padding: 0;
+    display: table;
 }
 
-DIV.tabs SPAN
-{
-   float            : left;
-   display          : block;
-   background       : url("tab_l.gif") no-repeat left top;
-   padding          : 5px 9px;
-   white-space      : nowrap;
+.tablist li {
+    float: left;
+    display: table-cell;
+    background-image: url('tab_b.png');
+    line-height: 36px;
+    list-style: none;
 }
 
-DIV.tabs INPUT
-{
-   float            : right;
-   display          : inline;
-   font-size        : 1em;
-}
-
-DIV.tabs TD
-{
-   font-size        : x-small;
-   font-weight      : bold;
-   text-decoration  : none;
-}
-
-
-
-/* Commented Backslash Hack hides rule from IE5-Mac \*/
-DIV.tabs SPAN {float : none;}
-/* End IE5-Mac hack */
-
-DIV.tabs A:hover SPAN
-{
-   background-position: 0% -150px;
+.tablist a {
+    display: block;
+    padding: 0 20px;
+    font-weight: bold;
+    background-image:url('tab_s.png');
+    background-repeat:no-repeat;
+    background-position:right;
+    color: #283A5D;
+    text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);
+    text-decoration: none;
+    outline: none;
 }
 
-DIV.tabs LI#current A
-{
-   background-position: 100% -150px;
-   border-width     : 0px;
+.tabs3 .tablist a {
+    padding: 0 10px;
 }
 
-DIV.tabs LI#current SPAN
-{
-   background-position: 0% -150px;
-   padding-bottom   : 6px;
+.tablist a:hover {
+    background-image: url('tab_h.png');
+    background-repeat:repeat-x;
+    color: #fff;
+    text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0);
+    text-decoration: none;
 }
 
-DIV.nav
-{
-   background       : none;
-   border           : none;
-   border-bottom    : 1px solid #84B0C7;
+.tablist li.current a {
+    background-image: url('tab_a.png');
+    background-repeat:repeat-x;
+    color: #fff;
+    text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0);
 }
diff --git a/examples/GettingStarted/index.html b/examples/GettingStarted/index.html
index 855518a..3cad871 100644
--- a/examples/GettingStarted/index.html
+++ b/examples/GettingStarted/index.html
@@ -13,7 +13,7 @@ This directory contains the examples referenced by the Intel® Threading Buil
 <HR>
 <A HREF="../index.html">Up to parent directory</A>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <P></P>
 Intel is a registered trademark or trademark of Intel Corporation
 or its subsidiaries in the United States and other countries.
diff --git a/examples/GettingStarted/sub_string_finder/Makefile b/examples/GettingStarted/sub_string_finder/Makefile
index bda6e51..c3ecf14 100644
--- a/examples/GettingStarted/sub_string_finder/Makefile
+++ b/examples/GettingStarted/sub_string_finder/Makefile
@@ -1,4 +1,4 @@
-# Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+# Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 #
 # This file is part of Threading Building Blocks.
 #
@@ -77,4 +77,4 @@ test:
 	$(run_cmd) ./$(PROG) $(ARGS)
 
 light_test:
-	./$(LIGHT_PROG) $(ARGS)
+	$(run_cmd) ./$(LIGHT_PROG) $(ARGS)
diff --git a/examples/GettingStarted/sub_string_finder/Makefile.windows b/examples/GettingStarted/sub_string_finder/Makefile.windows
index 39a49ac..d286010 100644
--- a/examples/GettingStarted/sub_string_finder/Makefile.windows
+++ b/examples/GettingStarted/sub_string_finder/Makefile.windows
@@ -1,4 +1,4 @@
-# Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+# Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 #
 # This file is part of Threading Building Blocks.
 #
diff --git a/examples/GettingStarted/sub_string_finder/index.html b/examples/GettingStarted/sub_string_finder/index.html
index 0877dcd..2e4594b 100644
--- a/examples/GettingStarted/sub_string_finder/index.html
+++ b/examples/GettingStarted/sub_string_finder/index.html
@@ -56,7 +56,7 @@ General build directions can be found <A HREF=../../index.html#build>here</A>.
 <HR>
 <A HREF="../index.html">Up to parent directory</A>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <P></P>
 Intel is a registered trademark or trademark of Intel Corporation
 or its subsidiaries in the United States and other countries.
diff --git a/examples/GettingStarted/sub_string_finder/sub_string_finder.cpp b/examples/GettingStarted/sub_string_finder/sub_string_finder.cpp
index 9dc3ccc..37537dc 100644
--- a/examples/GettingStarted/sub_string_finder/sub_string_finder.cpp
+++ b/examples/GettingStarted/sub_string_finder/sub_string_finder.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/GettingStarted/sub_string_finder/sub_string_finder_extended.cpp b/examples/GettingStarted/sub_string_finder/sub_string_finder_extended.cpp
index f7945d8..69c62c3 100644
--- a/examples/GettingStarted/sub_string_finder/sub_string_finder_extended.cpp
+++ b/examples/GettingStarted/sub_string_finder/sub_string_finder_extended.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/GettingStarted/sub_string_finder/sub_string_finder_pretty.cpp b/examples/GettingStarted/sub_string_finder/sub_string_finder_pretty.cpp
index dc5eeb3..f79575a 100644
--- a/examples/GettingStarted/sub_string_finder/sub_string_finder_pretty.cpp
+++ b/examples/GettingStarted/sub_string_finder/sub_string_finder_pretty.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/Makefile b/examples/Makefile
index bfc325e..d81f9b1 100644
--- a/examples/Makefile
+++ b/examples/Makefile
@@ -1,4 +1,4 @@
-# Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+# Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 #
 # This file is part of Threading Building Blocks.
 #
@@ -44,6 +44,10 @@ ifeq ($(filter /% $(SLASH)%, $(subst :, ,$(tbb_root)) ),)
     export TBBROOT := $(tbb_root)
 endif
 
+ifneq (00,$(lambdas)$(cpp0x))
+	override CXXFLAGS += $(CPP11_FLAGS)
+endif
+
 ifeq ($(tbb_os),windows)
     ifeq ($(UNIXMODE),1)
         EXAMPLE_MAKEFILE = Makefile
@@ -113,8 +117,8 @@ else
         export DYLD_LIBRARY_PATH := $(DYLD_LIBRARY_PATH):$(work_dir)_release:$(work_dir)_debug
     else
         export LD_LIBRARY_PATH := $(LD_LIBRARY_PATH):$(work_dir)_release:$(work_dir)_debug
-        ifeq ($(offload),mic)
-            mic_path=$(tbb_build_dir)$(SLASH)$(tbb_mic_build_prefix)
+        ifeq ($(findstring mic,$(offload) $(target)),mic)
+            mic_path=$(tbb_build_dir)$(SLASH)$(mic_tbb_build_prefix)
             export MIC_LIBRARY_PATH := $(mic_path)_release:$(mic_path)_debug:$(MIC_LIBRARY_PATH)
             export MIC_LD_LIBRARY_PATH := $(mic_path)_release:$(mic_path)_debug:$(MIC_LD_LIBRARY_PATH)
         else
@@ -144,7 +148,7 @@ $(COMMON_TARGETS):: % : $(addsuffix %,$(EXAMPLES_DIRS))
 # proxy rule for calling appropriate example
 $(EXAMPLES_TARGETS)::
 	@echo ------------------------ $@ ------------------------
-	-$(MAKE) -C $(@D)  -f $(EXAMPLE_MAKEFILE) $(notdir $@) CXX="$(CPLUS)"
+	-$(MAKE) -C $(@D)  -f $(EXAMPLE_MAKEFILE) $(notdir $@) CXX="$(CPLUS)" $(if $(run_cmd),run_cmd="$(run_cmd)",) $(if $(args),ARGS="$(args)",)
 
 printenv:
 ifeq ($(tbb_os),windows)
diff --git a/examples/common/copy_libraries.bat b/examples/common/copy_libraries.bat
index 8e924d5..bfe3f21 100644
--- a/examples/common/copy_libraries.bat
+++ b/examples/common/copy_libraries.bat
@@ -1,6 +1,6 @@
 @echo off
 REM
-REM Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+REM Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 REM
 REM This file is part of Threading Building Blocks.
 REM
@@ -45,6 +45,7 @@ if ("%TBBROOT%") == ("") set TBBROOT=%~d0%~p0..\..\
 if ("%VS90COMNTOOLS%")  NEQ ("") set vc_dir=vc9
 if ("%VS100COMNTOOLS%") NEQ ("") set vc_dir=vc10
 if ("%VS110COMNTOOLS%") NEQ ("") set vc_dir=vc11
+if ("%VS120COMNTOOLS%") NEQ ("") set vc_dir=vc12
 
 :: Are we standalone/oss or inside compiler?
 if exist "%TBBROOT%\bin\%arch%\%vc_dir%\tbb%postfix%.dll" set interim_path=bin\%arch%
diff --git a/examples/common/gui/Makefile.gmake b/examples/common/gui/Makefile.gmake
index 3b61c98..60e201b 100644
--- a/examples/common/gui/Makefile.gmake
+++ b/examples/common/gui/Makefile.gmake
@@ -1,4 +1,4 @@
-# Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+# Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 #
 # This file is part of Threading Building Blocks.
 #
diff --git a/examples/common/gui/Makefile.win b/examples/common/gui/Makefile.win
index c5b8007..9e2c51e 100644
--- a/examples/common/gui/Makefile.win
+++ b/examples/common/gui/Makefile.win
@@ -1,4 +1,4 @@
-# Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+# Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 #
 # This file is part of Threading Building Blocks.
 #
diff --git a/examples/common/gui/convideo.cpp b/examples/common/gui/convideo.cpp
index 8886a8c..99fcc97 100644
--- a/examples/common/gui/convideo.cpp
+++ b/examples/common/gui/convideo.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/common/gui/d2dvideo.cpp b/examples/common/gui/d2dvideo.cpp
index 109bb73..74befd4 100644
--- a/examples/common/gui/d2dvideo.cpp
+++ b/examples/common/gui/d2dvideo.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/common/gui/ddvideo.cpp b/examples/common/gui/ddvideo.cpp
index 10000f1..7e89cd6 100644
--- a/examples/common/gui/ddvideo.cpp
+++ b/examples/common/gui/ddvideo.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/common/gui/dxcheck.bat b/examples/common/gui/dxcheck.bat
index 231805d..5d17ad1 100644
--- a/examples/common/gui/dxcheck.bat
+++ b/examples/common/gui/dxcheck.bat
@@ -1,6 +1,6 @@
 @echo off
 REM
-REM Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+REM Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 REM
 REM This file is part of Threading Building Blocks.
 REM
diff --git a/examples/common/gui/gdivideo.cpp b/examples/common/gui/gdivideo.cpp
index 9c50595..db96d07 100644
--- a/examples/common/gui/gdivideo.cpp
+++ b/examples/common/gui/gdivideo.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/common/gui/macvideo.cpp b/examples/common/gui/macvideo.cpp
index 3606d0c..06318a7 100644
--- a/examples/common/gui/macvideo.cpp
+++ b/examples/common/gui/macvideo.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/common/gui/video.h b/examples/common/gui/video.h
index f31af90..bf8273f 100644
--- a/examples/common/gui/video.h
+++ b/examples/common/gui/video.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/common/gui/winvideo.h b/examples/common/gui/winvideo.h
index 2c66c66..13bae5a 100644
--- a/examples/common/gui/winvideo.h
+++ b/examples/common/gui/winvideo.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/common/gui/xcode/tbbExample/Info.plist b/examples/common/gui/xcode/tbbExample/Info.plist
index b2b5e04..23d7a2b 100644
--- a/examples/common/gui/xcode/tbbExample/Info.plist
+++ b/examples/common/gui/xcode/tbbExample/Info.plist
@@ -50,7 +50,7 @@
 	<key>LSMinimumSystemVersion</key>
 	<string>10.7</string>
 	<key>NSHumanReadableCopyright</key>
-	<string>Copyright 2005-2013 Intel Corporation.  All Rights Reserved.</string>
+	<string>Copyright 2005-2014 Intel Corporation.  All Rights Reserved.</string>
 	<key>NSMainNibFile</key>
 	<string>MainMenu</string>
 	<key>NSPrincipalClass</key>
diff --git a/examples/common/gui/xcode/tbbExample/OpenGLView.h b/examples/common/gui/xcode/tbbExample/OpenGLView.h
index eddfbb2..093d06c 100644
--- a/examples/common/gui/xcode/tbbExample/OpenGLView.h
+++ b/examples/common/gui/xcode/tbbExample/OpenGLView.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/common/gui/xcode/tbbExample/OpenGLView.m b/examples/common/gui/xcode/tbbExample/OpenGLView.m
index fdd5d0d..2d4c9d4 100644
--- a/examples/common/gui/xcode/tbbExample/OpenGLView.m
+++ b/examples/common/gui/xcode/tbbExample/OpenGLView.m
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/common/gui/xcode/tbbExample/main.m b/examples/common/gui/xcode/tbbExample/main.m
index 303cea4..4ff3c68 100644
--- a/examples/common/gui/xcode/tbbExample/main.m
+++ b/examples/common/gui/xcode/tbbExample/main.m
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/common/gui/xcode/tbbExample/tbbAppDelegate.h b/examples/common/gui/xcode/tbbExample/tbbAppDelegate.h
index 7c8c32e..ab2061f 100644
--- a/examples/common/gui/xcode/tbbExample/tbbAppDelegate.h
+++ b/examples/common/gui/xcode/tbbExample/tbbAppDelegate.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/common/gui/xcode/tbbExample/tbbAppDelegate.m b/examples/common/gui/xcode/tbbExample/tbbAppDelegate.m
index e6e65e9..8321eed 100644
--- a/examples/common/gui/xcode/tbbExample/tbbAppDelegate.m
+++ b/examples/common/gui/xcode/tbbExample/tbbAppDelegate.m
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/common/gui/xcode/tbbExample/tbbExample-Info.plist b/examples/common/gui/xcode/tbbExample/tbbExample-Info.plist
index ed40bbc..962010e 100644
--- a/examples/common/gui/xcode/tbbExample/tbbExample-Info.plist
+++ b/examples/common/gui/xcode/tbbExample/tbbExample-Info.plist
@@ -36,7 +36,7 @@
 	<key>LSMinimumSystemVersion</key>
 	<string>${MACOSX_DEPLOYMENT_TARGET}</string>
 	<key>NSHumanReadableCopyright</key>
-	<string>Copyright 2005-2013 Intel Corporation.  All Rights Reserved.</string>
+	<string>Copyright 2005-2014 Intel Corporation.  All Rights Reserved.</string>
 	<key>NSMainNibFile</key>
 	<string>MainMenu</string>
 	<key>NSPrincipalClass</key>
diff --git a/examples/common/gui/xcode/tbbExample/tbbExample-Prefix.pch b/examples/common/gui/xcode/tbbExample/tbbExample-Prefix.pch
index 0dd49f0..6e713af 100644
--- a/examples/common/gui/xcode/tbbExample/tbbExample-Prefix.pch
+++ b/examples/common/gui/xcode/tbbExample/tbbExample-Prefix.pch
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/common/gui/xvideo.cpp b/examples/common/gui/xvideo.cpp
index 0378b6f..3f13d96 100644
--- a/examples/common/gui/xvideo.cpp
+++ b/examples/common/gui/xvideo.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
@@ -252,6 +252,12 @@ generic:
             goto fail;
         }
     }
+    // Note: It may be more efficient to adopt the server's byte order
+    //       and swap once per get_color() call instead of once per pixel.
+    const uint32_t probe = 0x03020100;
+    const bool big_endian = (((const char*)(&probe))[0]==0x03);
+    ximage->byte_order = big_endian ? MSBFirst : LSBFirst;
+
     printf("Note: using %s with %s visual for %d-bit color depth\n", vidstr, vis==DefaultVisual(dpy, theScreen)?"default":"non-default", dispdepth);
     running = true;
     return true;
diff --git a/examples/common/index.html b/examples/common/index.html
index 86ca8ca..0fe0ab5 100644
--- a/examples/common/index.html
+++ b/examples/common/index.html
@@ -58,7 +58,7 @@ tbb::task_scheduler_init::default_num_threads().
 <HR>
 <A HREF="../index.html">Up to parent directory</A>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <P></P>
 Intel is a registered trademark or trademark of Intel Corporation
 or its subsidiaries in the United States and other countries.
diff --git a/examples/common/utility/fast_random.h b/examples/common/utility/fast_random.h
index b3d2b83..4843f94 100644
--- a/examples/common/utility/fast_random.h
+++ b/examples/common/utility/fast_random.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/common/utility/utility.h b/examples/common/utility/utility.h
index 2f37ff0..6672467 100644
--- a/examples/common/utility/utility.h
+++ b/examples/common/utility/utility.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/concurrent_hash_map/count_strings/Makefile b/examples/concurrent_hash_map/count_strings/Makefile
index 62e9691..1b3787c 100644
--- a/examples/concurrent_hash_map/count_strings/Makefile
+++ b/examples/concurrent_hash_map/count_strings/Makefile
@@ -1,4 +1,4 @@
-# Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+# Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 #
 # This file is part of Threading Building Blocks.
 #
@@ -61,5 +61,5 @@ test:
 perf_build: release
 	
 perf_run:
-	./$(PROG) $(PERF_RUN_ARGS)
+	$(run_cmd) ./$(PROG) $(PERF_RUN_ARGS)
 
diff --git a/examples/concurrent_hash_map/count_strings/Makefile.windows b/examples/concurrent_hash_map/count_strings/Makefile.windows
index 38535a9..87dc268 100644
--- a/examples/concurrent_hash_map/count_strings/Makefile.windows
+++ b/examples/concurrent_hash_map/count_strings/Makefile.windows
@@ -1,4 +1,4 @@
-# Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+# Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 #
 # This file is part of Threading Building Blocks.
 #
diff --git a/examples/concurrent_hash_map/count_strings/count_strings.cpp b/examples/concurrent_hash_map/count_strings/count_strings.cpp
index 58caaa4..39c28a8 100644
--- a/examples/concurrent_hash_map/count_strings/count_strings.cpp
+++ b/examples/concurrent_hash_map/count_strings/count_strings.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/concurrent_hash_map/count_strings/index.html b/examples/concurrent_hash_map/count_strings/index.html
index 478f03d..d5d39ea 100644
--- a/examples/concurrent_hash_map/count_strings/index.html
+++ b/examples/concurrent_hash_map/count_strings/index.html
@@ -44,7 +44,7 @@ General build directions can be found <A HREF=../../index.html#build>here</A>.
 <HR>
 <A HREF="../index.html">Up to parent directory</A>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <P></P>
 Intel is a registered trademark or trademark of Intel Corporation
 or its subsidiaries in the United States and other countries.
diff --git a/examples/concurrent_hash_map/index.html b/examples/concurrent_hash_map/index.html
index 5859cc3..b9a52d2 100644
--- a/examples/concurrent_hash_map/index.html
+++ b/examples/concurrent_hash_map/index.html
@@ -13,7 +13,7 @@ This directory has examples of the template <code>concurrent_hash_map</code>.
 <HR>
 <A HREF="../index.html">Up to parent directory</A>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <P></P>
 Intel is a registered trademark or trademark of Intel Corporation
 or its subsidiaries in the United States and other countries.
diff --git a/examples/concurrent_priority_queue/shortpath/Makefile b/examples/concurrent_priority_queue/shortpath/Makefile
index c3c6884..df79684 100644
--- a/examples/concurrent_priority_queue/shortpath/Makefile
+++ b/examples/concurrent_priority_queue/shortpath/Makefile
@@ -1,4 +1,4 @@
-# Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+# Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 #
 # This file is part of Threading Building Blocks.
 #
@@ -35,7 +35,9 @@ ifneq (,$(shell which icc 2>/dev/null))
 CXX=icc
 endif # which icc
 ifneq (,$(filter icc icpc,$(CXX)))
+ifneq (0,$(cpp0x))
 CXX0XFLAGS?=-std=c++0x -D_TBB_CPP0X
+endif
 endif # icc
 
 ifeq ($(shell uname), Linux)
@@ -64,4 +66,4 @@ test:
 perf_build: release
 
 perf_run:
-	./$(PROG) $(PERF_RUN_ARGS)
+	$(run_cmd) ./$(PROG) $(PERF_RUN_ARGS)
diff --git a/examples/concurrent_priority_queue/shortpath/Makefile.windows b/examples/concurrent_priority_queue/shortpath/Makefile.windows
index 3808123..12bbf25 100644
--- a/examples/concurrent_priority_queue/shortpath/Makefile.windows
+++ b/examples/concurrent_priority_queue/shortpath/Makefile.windows
@@ -1,4 +1,4 @@
-# Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+# Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 #
 # This file is part of Threading Building Blocks.
 #
diff --git a/examples/concurrent_priority_queue/shortpath/index.html b/examples/concurrent_priority_queue/shortpath/index.html
index 9c2e023..8a04077 100644
--- a/examples/concurrent_priority_queue/shortpath/index.html
+++ b/examples/concurrent_priority_queue/shortpath/index.html
@@ -72,7 +72,7 @@ General build directions can be found <A HREF=../../index.html#build>here</A>.
 <HR>
 <A HREF="../index.html">Up to parent directory</A>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <P></P>
 Intel is a registered trademark or trademark of Intel Corporation
 or its subsidiaries in the United States and other countries.
diff --git a/examples/concurrent_priority_queue/shortpath/shortpath.cpp b/examples/concurrent_priority_queue/shortpath/shortpath.cpp
index ef306aa..f8ff58a 100644
--- a/examples/concurrent_priority_queue/shortpath/shortpath.cpp
+++ b/examples/concurrent_priority_queue/shortpath/shortpath.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/graph/binpack/Makefile b/examples/graph/binpack/Makefile
index 09f8716..98dda74 100644
--- a/examples/graph/binpack/Makefile
+++ b/examples/graph/binpack/Makefile
@@ -1,4 +1,4 @@
-# Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+# Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 #
 # This file is part of Threading Building Blocks.
 #
@@ -61,4 +61,4 @@ test:
 perf_build: release
 
 perf_run:
-	./$(PROG) $(PERF_RUN_ARGS)
+	$(run_cmd) ./$(PROG) $(PERF_RUN_ARGS)
diff --git a/examples/graph/binpack/Makefile.windows b/examples/graph/binpack/Makefile.windows
index fe16997..1564f02 100644
--- a/examples/graph/binpack/Makefile.windows
+++ b/examples/graph/binpack/Makefile.windows
@@ -1,4 +1,4 @@
-# Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+# Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 #
 # This file is part of Threading Building Blocks.
 #
diff --git a/examples/graph/binpack/binpack.cpp b/examples/graph/binpack/binpack.cpp
index c0ae73d..2bfb4bb 100644
--- a/examples/graph/binpack/binpack.cpp
+++ b/examples/graph/binpack/binpack.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/graph/binpack/index.html b/examples/graph/binpack/index.html
index 4060c13..eaabbe9 100644
--- a/examples/graph/binpack/index.html
+++ b/examples/graph/binpack/index.html
@@ -62,7 +62,7 @@ General build directions can be found <A HREF=../../index.html#build>here</A>.
 <HR>
 <A HREF="../index.html">Up to parent directory</A>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <P></P>
 Intel is a registered trademark or trademark of Intel Corporation
 or its subsidiaries in the United States and other countries.
diff --git a/examples/graph/dining_philosophers/Makefile b/examples/graph/dining_philosophers/Makefile
index 276b475..caffae9 100644
--- a/examples/graph/dining_philosophers/Makefile
+++ b/examples/graph/dining_philosophers/Makefile
@@ -1,4 +1,4 @@
-# Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+# Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 #
 # This file is part of Threading Building Blocks.
 #
@@ -58,4 +58,4 @@ test:
 	$(run_cmd) ./$(PROG) $(ARGS)
 
 light_test:
-	./$(PROG) $(LIGHT_ARGS)
+	$(run_cmd) ./$(PROG) $(LIGHT_ARGS)
diff --git a/examples/graph/dining_philosophers/Makefile.windows b/examples/graph/dining_philosophers/Makefile.windows
index 9c6c60d..4b45dea 100644
--- a/examples/graph/dining_philosophers/Makefile.windows
+++ b/examples/graph/dining_philosophers/Makefile.windows
@@ -1,4 +1,4 @@
-# Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+# Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 #
 # This file is part of Threading Building Blocks.
 #
diff --git a/examples/graph/dining_philosophers/dining_philosophers.cpp b/examples/graph/dining_philosophers/dining_philosophers.cpp
index f7e0109..39f37d4 100644
--- a/examples/graph/dining_philosophers/dining_philosophers.cpp
+++ b/examples/graph/dining_philosophers/dining_philosophers.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/graph/dining_philosophers/index.html b/examples/graph/dining_philosophers/index.html
index e58f0a7..6a02665 100644
--- a/examples/graph/dining_philosophers/index.html
+++ b/examples/graph/dining_philosophers/index.html
@@ -32,7 +32,7 @@ General build directions can be found <A HREF=../../index.html#build>here</A>.
 <HR>
 <A HREF="../index.html">Up to parent directory</A>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <P></P>
 Intel is a registered trademark or trademark of Intel Corporation
 or its subsidiaries in the United States and other countries.
diff --git a/examples/graph/index.html b/examples/graph/index.html
index decf7f4..5ca004c 100644
--- a/examples/graph/index.html
+++ b/examples/graph/index.html
@@ -12,12 +12,14 @@ This directory has examples of <code>tbb::flow</code>.
 <DD>A solution to the binpacking problem using a queue_node, a buffer_node and function_nodes.
 <DT><A HREF="logic_sim/index.html">logic_sim</A>
 <DD>A simplistic example of a collection of digital logic gates that can be easily composed into larger circuits.
+<DT><A HREF="som/index.html">som</A>
+<DD>A simple example of a Kohonen Self-Organizing Map using cancellation.
 </DL>
 
 <HR>
 <A HREF="../index.html">Up to parent directory</A>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <P></P>
 Intel is a registered trademark or trademark of Intel Corporation
 or its subsidiaries in the United States and other countries.
diff --git a/examples/graph/logic_sim/D_latch.h b/examples/graph/logic_sim/D_latch.h
index 568446e..f2f6da9 100644
--- a/examples/graph/logic_sim/D_latch.h
+++ b/examples/graph/logic_sim/D_latch.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/graph/logic_sim/Makefile b/examples/graph/logic_sim/Makefile
index 735ffda..35d38b5 100644
--- a/examples/graph/logic_sim/Makefile
+++ b/examples/graph/logic_sim/Makefile
@@ -1,4 +1,4 @@
-# Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+# Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 #
 # This file is part of Threading Building Blocks.
 #
@@ -60,4 +60,4 @@ test:
 perf_build: release
 
 perf_run:
-	./$(PROG) $(PERF_RUN_ARGS)
+	$(run_cmd) ./$(PROG) $(PERF_RUN_ARGS)
diff --git a/examples/graph/logic_sim/Makefile.windows b/examples/graph/logic_sim/Makefile.windows
index a8cd0ef..a561cb0 100644
--- a/examples/graph/logic_sim/Makefile.windows
+++ b/examples/graph/logic_sim/Makefile.windows
@@ -1,4 +1,4 @@
-# Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+# Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 #
 # This file is part of Threading Building Blocks.
 #
diff --git a/examples/graph/logic_sim/basics.h b/examples/graph/logic_sim/basics.h
index 085c929..3989277 100644
--- a/examples/graph/logic_sim/basics.h
+++ b/examples/graph/logic_sim/basics.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/graph/logic_sim/four_bit_adder.h b/examples/graph/logic_sim/four_bit_adder.h
index 81fc063..e7e03c5 100644
--- a/examples/graph/logic_sim/four_bit_adder.h
+++ b/examples/graph/logic_sim/four_bit_adder.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/graph/logic_sim/index.html b/examples/graph/logic_sim/index.html
index 29cd8ed..5f6a2d8 100644
--- a/examples/graph/logic_sim/index.html
+++ b/examples/graph/logic_sim/index.html
@@ -57,7 +57,7 @@ General build directions can be found <A HREF=../../index.html#build>here</A>.
 <HR>
 <A HREF="../index.html">Up to parent directory</A>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <P></P>
 Intel is a registered trademark or trademark of Intel Corporation
 or its subsidiaries in the United States and other countries.
diff --git a/examples/graph/logic_sim/one_bit_adder.h b/examples/graph/logic_sim/one_bit_adder.h
index f0abd80..32ebd81 100644
--- a/examples/graph/logic_sim/one_bit_adder.h
+++ b/examples/graph/logic_sim/one_bit_adder.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/graph/logic_sim/test_all.cpp b/examples/graph/logic_sim/test_all.cpp
index 276dde9..28429a0 100644
--- a/examples/graph/logic_sim/test_all.cpp
+++ b/examples/graph/logic_sim/test_all.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/graph/som/Makefile b/examples/graph/som/Makefile
new file mode 100644
index 0000000..16d8ae7
--- /dev/null
+++ b/examples/graph/som/Makefile
@@ -0,0 +1,66 @@
+# Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
+#
+# This file is part of Threading Building Blocks.
+#
+# Threading Building Blocks is free software; you can redistribute it
+# and/or modify it under the terms of the GNU General Public License
+# version 2 as published by the Free Software Foundation.
+#
+# Threading Building Blocks is distributed in the hope that it will be
+# useful, but WITHOUT ANY WARRANTY; without even the implied warranty
+# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Threading Building Blocks; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+#
+# As a special exception, you may use this file as part of a free software
+# library without restriction.  Specifically, if other files instantiate
+# templates or use macros or inline functions from this file, or you compile
+# this file and link it with other files to produce an executable, this
+# file does not by itself cause the resulting executable to be covered by
+# the GNU General Public License.  This exception does not however
+# invalidate any other reasons why the executable file might be covered by
+# the GNU General Public License.
+
+# GNU Makefile that builds and runs example.
+NAME=som
+EXE=$(NAME).exe
+ARGS=
+LIGHT_ARGS=4
+
+# The C++ compiler
+ifneq (,$(shell which icc 2>/dev/null))
+CXX=icc
+endif # icc
+
+override CXXFLAGS += $(UI_CXXFLAGS)
+
+SRCFILES = som_graph.cpp som.cpp
+
+ifeq ($(shell uname), Linux)
+LIBS+= -lrt 
+endif
+
+all:	release test
+
+release: $(SRCFILES)
+ifeq ($(compiler),xl)
+	# Avoiding "1586-346 (U) An error occurred during code generation.  The code generation return code was 40." with -O3.
+	$(CXX) -O2 -DNDEBUG $(CXXFLAGS) -o $(EXE) $(SRCFILES) -ltbb -ltbbmalloc $(LIBS)
+else
+	$(CXX) -O3 -DNDEBUG $(CXXFLAGS) -o $(EXE) $(SRCFILES) -ltbb -ltbbmalloc $(LIBS)
+endif
+
+debug:  $(SRCFILES)
+	$(CXX) -g -O0 -DTBB_USE_DEBUG -D_DEBUG $(CXXFLAGS) -o $(EXE) $(SRCFILES) -ltbb_debug -ltbbmalloc_debug $(LIBS)
+
+clean:
+	$(RM) $(EXE) *.o *.d
+
+test:
+	$(run_cmd) ./$(EXE) $(ARGS)
+
+light_test:
+	$(run_cmd) ./$(EXE) $(LIGHT_ARGS)
diff --git a/examples/graph/som/Makefile.windows.windows b/examples/graph/som/Makefile.windows.windows
new file mode 100644
index 0000000..111a37f
--- /dev/null
+++ b/examples/graph/som/Makefile.windows.windows
@@ -0,0 +1,54 @@
+# Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
+#
+# This file is part of Threading Building Blocks.
+#
+# Threading Building Blocks is free software; you can redistribute it
+# and/or modify it under the terms of the GNU General Public License
+# version 2 as published by the Free Software Foundation.
+#
+# Threading Building Blocks is distributed in the hope that it will be
+# useful, but WITHOUT ANY WARRANTY; without even the implied warranty
+# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Threading Building Blocks; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+#
+# As a special exception, you may use this file as part of a free software
+# library without restriction.  Specifically, if other files instantiate
+# templates or use macros or inline functions from this file, or you compile
+# this file and link it with other files to produce an executable, this
+# file does not by itself cause the resulting executable to be covered by
+# the GNU General Public License.  This exception does not however
+# invalidate any other reasons why the executable file might be covered by
+# the GNU General Public License.
+
+# Common Makefile that builds and runs example.
+
+# Just specify your program basename
+PROG=som
+ARGS=
+LIGHT_ARGS=4
+
+# Trying to find if icl.exe is set
+CXX1 = $(TBB_CXX)-
+CXX2 = $(CXX1:icl.exe-=icl.exe)
+CXX  = $(CXX2:-=cl.exe)
+
+# The C++ compiler options
+MYCXXFLAGS = /TP /EHsc /W3 /nologo /D _CONSOLE /D _MBCS /D WIN32 /D _CRT_SECURE_NO_DEPRECATE $(CXXFLAGS)
+MYLDFLAGS =/INCREMENTAL:NO /NOLOGO /DEBUG /FIXED:NO $(LDFLAGS)
+
+all: release test
+release: 
+	$(CXX) ./som_graph.cpp ./som.cpp /MD /O2 /D NDEBUG $(MYCXXFLAGS) /link tbb.lib $(LIBS) $(MYLDFLAGS) /OUT:$(PROG).exe
+debug: 
+	$(CXX) ./som_graph.cpp ./som.cpp /MDd /Od /Zi /D _DEBUG $(MYCXXFLAGS) /link tbb_debug.lib $(LIBS) $(MYLDFLAGS) /OUT:$(PROG).exe
+clean:
+	@cmd.exe /C del $(PROG).exe *.obj *.?db *.manifest
+test:
+	$(PROG) $(ARGS)
+light_test:
+	$(PROG) $(LIGHT_ARGS)
+
diff --git a/examples/graph/som/index.html b/examples/graph/som/index.html
new file mode 100644
index 0000000..86f7b99
--- /dev/null
+++ b/examples/graph/som/index.html
@@ -0,0 +1,51 @@
+<HTML>
+<BODY>
+
+<H2>Overview</H2>
+The Self-Organizing Map demonstrates tbb::flow and the use of cancellation in scheduling multiple iterations of
+map updates.
+<p>
+For tutorials on Self-organizing Maps, see <a href="http://www.ai-junkie.com/ann/som/som1.html">here</a> and
+<a href="http://davis.wpi.edu/~matt/courses/soms/">here</a>.
+<p>
+The program trains the map with several examples, splitting the map into subsections and looking for best-match
+for multiple examples.  When an example is used to update the map, the graphs examining the sections being
+updated for the next example are cancelled and restarted after the update.
+
+<H2>Source Files</H2>
+<DL>
+<DT><A HREF="som_graph.cpp">som_graph.cpp</A>
+<DD>The main program.
+<DT><A HREF="som.cpp">som.cpp</A>
+<DD>utilities for handling the map.
+<DT><A HREF="som.h">som.h</A>
+<DD>Definitions and utilites.
+<DT><A HREF="Makefile">Makefile</A>, <A HREF=Makefile.windows>Makefile.windows</A>
+<DD>Makefiles for building example.
+</DL>
+
+<H2>Directories</H2>
+<DL>
+<DT><A HREF="msvs">msvs</A>
+<DD>Contains Microsoft* Visual Studio* 2008 workspace for building and running the 
+    example (Windows* systems only).
+<DT><A HREF="xcode">xcode</A>
+<DD>Contains Xcode* IDE workspace for building and running the example (Mac OS* X 
+    systems only).</DL>
+
+<H2>To Build</H2>
+General build directions can be found <A HREF=../../index.html#build>here</A>.
+<P></P>
+
+<HR>
+<A HREF="../index.html">Up to parent directory</A>
+<p></p>
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
+<P></P>
+Intel is a registered trademark or trademark of Intel Corporation
+or its subsidiaries in the United States and other countries.
+<p></p>
+* Other names and brands may be claimed as the property of others.
+</BODY>
+</HTML>
+
diff --git a/examples/graph/som/msvs/som.icproj b/examples/graph/som/msvs/som.icproj
new file mode 100644
index 0000000..f2df6b6
--- /dev/null
+++ b/examples/graph/som/msvs/som.icproj
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="windows-1251"?>
+<VisualStudioProject
+	ProjectType="Intel C++ Project"
+	Version="11.1"
+	Name="som"
+	ProjectGUID="{fdd223e1-7f29-4ad2-91bb-bf6c0284cd5f}"
+	VCNestedProjectGUID="{b2ae2edc-697b-4c85-ac0d-e3e523d20d6d}"
+	VCNestedProjectFileName="som.vcproj">
+	<Configurations/>
+	<Files/>
+</VisualStudioProject>
diff --git a/examples/graph/som/msvs/som.vcproj b/examples/graph/som/msvs/som.vcproj
new file mode 100644
index 0000000..56c5b33
--- /dev/null
+++ b/examples/graph/som/msvs/som.vcproj
@@ -0,0 +1,361 @@
+<?xml version="1.0" encoding="windows-1251"?>
+<VisualStudioProject
+	ProjectType="Visual C++"
+	Version="9.00"
+	Name="som"
+	ProjectGUID="{b2ae2edc-697b-4c85-ac0d-e3e523d20d6d}"
+	RootNamespace="som"
+	Keyword="Win32Proj"
+	TargetFrameworkVersion="131072"
+	>
+	<Platforms>
+		<Platform
+			Name="Win32"
+		/>
+		<Platform
+			Name="x64"
+		/>
+	</Platforms>
+	<ToolFiles>
+	</ToolFiles>
+	<Configurations>
+		<Configuration
+			Name="Debug|Win32"
+			OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
+			IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
+			ConfigurationType="1"
+			CharacterSet="2"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCustomBuildTool"
+			/>
+			<Tool
+				Name="VCXMLDataGeneratorTool"
+			/>
+			<Tool
+				Name="VCWebServiceProxyGeneratorTool"
+			/>
+			<Tool
+				Name="VCMIDLTool"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				Optimization="0"
+				AdditionalIncludeDirectories=""$(TBBROOT)\include";"$(SolutionDir)\..\..\..\..\include";"
+				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;TBB_USE_DEBUG"
+				RuntimeLibrary="3"
+				UsePrecompiledHeader="0"
+				Detect64BitPortabilityProblems="true"
+				DebugInformationFormat="3"
+			/>
+			<Tool
+				Name="VCManagedResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCPreLinkEventTool"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				AdditionalDependencies="tbb_debug.lib"
+				LinkIncremental="1"
+				AdditionalLibraryDirectories="$(TBBROOT)\lib\ia32\vc_mt;$(TBBROOT)\lib\ia32\vc8;$(SolutionDir)\..\..\..\..\lib\ia32\vc_mt;$(SolutionDir)\..\..\..\..\lib\ia32\vc8"
+				GenerateDebugInformation="true"
+				SubSystem="1"
+				RandomizedBaseAddress="1"
+				FixedBaseAddress="1"
+				DataExecutionPrevention="0"
+				TargetMachine="1"
+			/>
+			<Tool
+				Name="VCALinkTool"
+			/>
+			<Tool
+				Name="VCManifestTool"
+			/>
+			<Tool
+				Name="VCXDCMakeTool"
+			/>
+			<Tool
+				Name="VCBscMakeTool"
+			/>
+			<Tool
+				Name="VCFxCopTool"
+			/>
+			<Tool
+				Name="VCAppVerifierTool"
+			/>
+			<Tool
+				Name="VCPostBuildEventTool"
+				Description="Copying DLLs and PDBs"
+				CommandLine="call "$(SolutionDir)\..\..\..\common\copy_libraries.bat"  ia32 debug "$(OutDir)""
+			/>
+		</Configuration>
+		<Configuration
+			Name="Debug|x64"
+			OutputDirectory="$(TEMP)\tbb_examples\$(PlatformName)\$(ConfigurationName)"
+			IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(PlatformName)\$(ConfigurationName)"
+			ConfigurationType="1"
+			CharacterSet="2"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCustomBuildTool"
+			/>
+			<Tool
+				Name="VCXMLDataGeneratorTool"
+			/>
+			<Tool
+				Name="VCWebServiceProxyGeneratorTool"
+			/>
+			<Tool
+				Name="VCMIDLTool"
+				TargetEnvironment="3"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				Optimization="0"
+				AdditionalIncludeDirectories=""$(TBBROOT)\include";"$(SolutionDir)\..\..\..\..\include";"
+				PreprocessorDefinitions="WIN64;_DEBUG;_CONSOLE;TBB_USE_DEBUG"
+				RuntimeLibrary="3"
+				UsePrecompiledHeader="0"
+				DebugInformationFormat="3"
+			/>
+			<Tool
+				Name="VCManagedResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCPreLinkEventTool"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				AdditionalDependencies="tbb_debug.lib"
+				LinkIncremental="1"
+				AdditionalLibraryDirectories="$(TBBROOT)\lib\intel64\vc_mt;$(TBBROOT)\lib\intel64\vc8;$(SolutionDir)\..\..\..\..\lib\intel64\vc_mt;$(SolutionDir)\..\..\..\..\lib\intel64\vc8"
+				GenerateDebugInformation="true"
+				SubSystem="1"
+				RandomizedBaseAddress="1"
+				FixedBaseAddress="1"
+				DataExecutionPrevention="0"
+				TargetMachine="17"
+			/>
+			<Tool
+				Name="VCALinkTool"
+			/>
+			<Tool
+				Name="VCManifestTool"
+			/>
+			<Tool
+				Name="VCXDCMakeTool"
+			/>
+			<Tool
+				Name="VCBscMakeTool"
+			/>
+			<Tool
+				Name="VCFxCopTool"
+			/>
+			<Tool
+				Name="VCAppVerifierTool"
+			/>
+			<Tool
+				Name="VCPostBuildEventTool"
+				Description="Copying DLLs and PDBs"
+				CommandLine="call "$(SolutionDir)\..\..\..\common\copy_libraries.bat"  intel64 debug "$(OutDir)""
+			/>
+		</Configuration>
+		<Configuration
+			Name="Release|Win32"
+			OutputDirectory="$(TEMP)\tbb_examples\$(ConfigurationName)"
+			IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(ConfigurationName)"
+			ConfigurationType="1"
+			CharacterSet="2"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCustomBuildTool"
+			/>
+			<Tool
+				Name="VCXMLDataGeneratorTool"
+			/>
+			<Tool
+				Name="VCWebServiceProxyGeneratorTool"
+			/>
+			<Tool
+				Name="VCMIDLTool"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				AdditionalIncludeDirectories=""$(TBBROOT)\include";"$(SolutionDir)\..\..\..\..\include";"
+				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+				RuntimeLibrary="2"
+				UsePrecompiledHeader="0"
+				Detect64BitPortabilityProblems="true"
+				DebugInformationFormat="3"
+			/>
+			<Tool
+				Name="VCManagedResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCPreLinkEventTool"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				AdditionalDependencies="tbb.lib"
+				LinkIncremental="1"
+				AdditionalLibraryDirectories="$(TBBROOT)\lib\ia32\vc_mt;$(TBBROOT)\lib\ia32\vc8;$(SolutionDir)\..\..\..\..\lib\ia32\vc_mt;$(SolutionDir)\..\..\..\..\lib\ia32\vc8"
+				GenerateDebugInformation="true"
+				SubSystem="1"
+				OptimizeReferences="2"
+				EnableCOMDATFolding="2"
+				RandomizedBaseAddress="1"
+				FixedBaseAddress="1"
+				DataExecutionPrevention="0"
+				TargetMachine="1"
+			/>
+			<Tool
+				Name="VCALinkTool"
+			/>
+			<Tool
+				Name="VCManifestTool"
+			/>
+			<Tool
+				Name="VCXDCMakeTool"
+			/>
+			<Tool
+				Name="VCBscMakeTool"
+			/>
+			<Tool
+				Name="VCFxCopTool"
+			/>
+			<Tool
+				Name="VCAppVerifierTool"
+			/>
+			<Tool
+				Name="VCPostBuildEventTool"
+				Description="Copying DLLs and PDBs"
+				CommandLine="call "$(SolutionDir)\..\..\..\common\copy_libraries.bat"  ia32 release "$(OutDir)""
+			/>
+		</Configuration>
+		<Configuration
+			Name="Release|x64"
+			OutputDirectory="$(TEMP)\tbb_examples\$(PlatformName)\$(ConfigurationName)"
+			IntermediateDirectory="$(TEMP)\tbb_examples\$(SolutionName)\$(PlatformName)\$(ConfigurationName)"
+			ConfigurationType="1"
+			CharacterSet="2"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCustomBuildTool"
+			/>
+			<Tool
+				Name="VCXMLDataGeneratorTool"
+			/>
+			<Tool
+				Name="VCWebServiceProxyGeneratorTool"
+			/>
+			<Tool
+				Name="VCMIDLTool"
+				TargetEnvironment="3"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				AdditionalIncludeDirectories=""$(TBBROOT)\include";"$(SolutionDir)\..\..\..\..\include";"
+				PreprocessorDefinitions="WIN64;NDEBUG;_CONSOLE"
+				RuntimeLibrary="2"
+				UsePrecompiledHeader="0"
+				DebugInformationFormat="3"
+			/>
+			<Tool
+				Name="VCManagedResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCPreLinkEventTool"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				AdditionalDependencies="tbb.lib"
+				LinkIncremental="1"
+				AdditionalLibraryDirectories="$(TBBROOT)\lib\intel64\vc_mt;$(TBBROOT)\lib\intel64\vc8;$(SolutionDir)\..\..\..\..\lib\intel64\vc_mt;$(SolutionDir)\..\..\..\..\lib\intel64\vc8"
+				GenerateDebugInformation="true"
+				SubSystem="1"
+				OptimizeReferences="2"
+				EnableCOMDATFolding="2"
+				RandomizedBaseAddress="1"
+				FixedBaseAddress="1"
+				DataExecutionPrevention="0"
+				TargetMachine="17"
+			/>
+			<Tool
+				Name="VCALinkTool"
+			/>
+			<Tool
+				Name="VCManifestTool"
+			/>
+			<Tool
+				Name="VCXDCMakeTool"
+			/>
+			<Tool
+				Name="VCBscMakeTool"
+			/>
+			<Tool
+				Name="VCFxCopTool"
+			/>
+			<Tool
+				Name="VCAppVerifierTool"
+			/>
+			<Tool
+				Name="VCPostBuildEventTool"
+				Description="Copying DLLs and PDBs"
+				CommandLine="call "$(SolutionDir)\..\..\..\common\copy_libraries.bat"  intel64 release "$(OutDir)""
+			/>
+		</Configuration>
+	</Configurations>
+	<References>
+	</References>
+	<Files>
+		<Filter
+			Name="Source Files"
+			Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
+			UniqueIdentifier="{3b7f0884-fd0b-41cc-baec-12d32e88ace3}"
+			>
+			<File
+				RelativePath="..\som.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\som.h"
+				>
+			</File>
+			<File
+				RelativePath="..\som_graph.cpp"
+				>
+			</File>
+		</Filter>
+		<File
+			RelativePath="..\index.html"
+			>
+		</File>
+	</Files>
+	<Globals>
+	</Globals>
+</VisualStudioProject>
diff --git a/examples/graph/som/msvs/som_cl.sln b/examples/graph/som/msvs/som_cl.sln
new file mode 100644
index 0000000..360dec9
--- /dev/null
+++ b/examples/graph/som/msvs/som_cl.sln
@@ -0,0 +1,22 @@
+Microsoft Visual Studio Solution File, Format Version 10.00
+# Visual Studio 2008
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "som", "som.vcproj", "{B2AE2EDC-697B-4C85-AC0D-E3E523D20D6D}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|Win32 = Debug|Win32
+		Debug|x64 = Debug|x64
+		Release|Win32 = Release|Win32
+		Release|x64 = Release|x64
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{B2AE2EDC-697B-4C85-AC0D-E3E523D20D6D}.Release|x64.ActiveCfg = Release|x64
+		{B2AE2EDC-697B-4C85-AC0D-E3E523D20D6D}.Release|x64.Build.0 = Release|x64
+		{B2AE2EDC-697B-4C85-AC0D-E3E523D20D6D}.Debug|x64.ActiveCfg = Debug|x64
+		{B2AE2EDC-697B-4C85-AC0D-E3E523D20D6D}.Debug|Win32.ActiveCfg = Debug|Win32
+		{B2AE2EDC-697B-4C85-AC0D-E3E523D20D6D}.Release|Win32.ActiveCfg = Release|Win32
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+EndGlobal
diff --git a/examples/graph/som/msvs/som_icl.sln b/examples/graph/som/msvs/som_icl.sln
new file mode 100644
index 0000000..70fdc45
--- /dev/null
+++ b/examples/graph/som/msvs/som_icl.sln
@@ -0,0 +1,33 @@
+Microsoft Visual Studio Solution File, Format Version 9.00
+# Visual Studio 2005
+Project("{b0b51c77-6a57-47e6-b25b-4c5a4af67c6f}") = "som", "som.icproj", "{fdd223e1-7f29-4ad2-91bb-bf6c0284cd5f}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|Win32 = Debug|Win32
+		Debug|x64 = Debug|x64
+		Release|Win32 = Release|Win32
+		Release|x64 = Release|x64
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{fdd223e1-7f29-4ad2-91bb-bf6c0284cd5f}.Debug|Win32.ActiveCfg = Debug|Win32
+		{fdd223e1-7f29-4ad2-91bb-bf6c0284cd5f}.Debug|Win32.Build.0 = Debug|Win32
+		{fdd223e1-7f29-4ad2-91bb-bf6c0284cd5f}.Debug|x64.ActiveCfg = Debug|x64
+		{fdd223e1-7f29-4ad2-91bb-bf6c0284cd5f}.Debug|x64.Build.0 = Debug|x64
+		{fdd223e1-7f29-4ad2-91bb-bf6c0284cd5f}.Release|Win32.ActiveCfg = Release|Win32
+		{fdd223e1-7f29-4ad2-91bb-bf6c0284cd5f}.Release|Win32.Build.0 = Release|Win32
+		{fdd223e1-7f29-4ad2-91bb-bf6c0284cd5f}.Release|x64.ActiveCfg = Release|x64
+		{fdd223e1-7f29-4ad2-91bb-bf6c0284cd5f}.Release|x64.Build.0 = Release|x64
+		{b2ae2edc-697b-4c85-ac0d-e3e523d20d6d}.Release|x64.Build.0 = Release|x64
+		{b2ae2edc-697b-4c85-ac0d-e3e523d20d6d}.Release|x64.ActiveCfg = Release|x64
+		{b2ae2edc-697b-4c85-ac0d-e3e523d20d6d}.Release|Win32.Build.0 = Release|Win32
+		{b2ae2edc-697b-4c85-ac0d-e3e523d20d6d}.Release|Win32.ActiveCfg = Release|Win32
+		{b2ae2edc-697b-4c85-ac0d-e3e523d20d6d}.Debug|x64.Build.0 = Debug|x64
+		{b2ae2edc-697b-4c85-ac0d-e3e523d20d6d}.Debug|x64.ActiveCfg = Debug|x64
+		{b2ae2edc-697b-4c85-ac0d-e3e523d20d6d}.Debug|Win32.Build.0 = Debug|Win32
+		{b2ae2edc-697b-4c85-ac0d-e3e523d20d6d}.Debug|Win32.ActiveCfg = Debug|Win32
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+EndGlobal
diff --git a/examples/graph/som/som.cpp b/examples/graph/som/som.cpp
new file mode 100644
index 0000000..f5d842a
--- /dev/null
+++ b/examples/graph/som/som.cpp
@@ -0,0 +1,225 @@
+/*
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
+
+    This file is part of Threading Building Blocks.
+
+    Threading Building Blocks is free software; you can redistribute it
+    and/or modify it under the terms of the GNU General Public License
+    version 2 as published by the Free Software Foundation.
+
+    Threading Building Blocks is distributed in the hope that it will be
+    useful, but WITHOUT ANY WARRANTY; without even the implied warranty
+    of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with Threading Building Blocks; if not, write to the Free Software
+    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+
+    As a special exception, you may use this file as part of a free software
+    library without restriction.  Specifically, if other files instantiate
+    templates or use macros or inline functions from this file, or you compile
+    this file and link it with other files to produce an executable, this
+    file does not by itself cause the resulting executable to be covered by
+    the GNU General Public License.  This exception does not however
+    invalidate any other reasons why the executable file might be covered by
+    the GNU General Public License.
+*/
+
+//
+// Self-organizing map in TBB flow::graph
+//
+// we will do a color map (the simple example.)
+//
+//  serial algorithm
+//
+//       initialize map with vectors (could be random, gradient, or something else)
+//       for some number of iterations
+//           update radius r, weight of change L 
+//           for each example V
+//               find the best matching unit
+//               for each part of map within radius of BMU W
+//                   update vector:  W(t+1) = W(t) + w(dist)*L*(V - W(t))
+
+#include "som.h"
+#include "tbb/task.h"
+
+std::ostream& operator<<( std::ostream &out, const SOM_element &s) {
+    out << "(";
+    for(int i=0;i<(int)s.w.size();++i) {
+        out << s.w[i];
+        if(i < (int)s.w.size()-1) {
+            out << ",";
+        }
+    }
+    out << ")";
+    return out;
+}
+
+void remark_SOM_element(const SOM_element &s) {
+    printf("(");
+    for(int i=0;i<(int)s.w.size();++i) {
+        printf("%g",s.w[i]);
+        if(i < (int)s.w.size()-1) {
+            printf(",");
+        }
+    }
+    printf(")");
+}
+
+std::ostream& operator<<( std::ostream &out, const search_result_type &s) {
+    out << "<";
+    out << get<RADIUS>(s);
+    out <<  ", " << get<XV>(s);
+    out << ", ";
+    out << get<YV>(s);
+    out << ">";
+    return out;
+}
+
+void remark_search_result_type(const search_result_type &s) {
+    printf("<%g,%d,%d>", get<RADIUS>(s), get<XV>(s), get<YV>(s));
+}
+
+double
+randval( double lowlimit, double highlimit) {
+    return double(rand()) / double(RAND_MAX) * (highlimit - lowlimit) + lowlimit;
+}
+
+void
+find_data_ranges(teaching_vector_type &teaching, SOM_element &max_range, SOM_element &min_range ) {
+    if(teaching.size() == 0) return;
+    max_range = min_range = teaching[0];
+    for(int i = 1; i < (int)teaching.size(); ++i) {
+        max_range.elementwise_max(teaching[i]);
+        min_range.elementwise_min(teaching[i]);
+    }
+} 
+
+void add_fraction_of_difference( SOM_element &to, SOM_element const &from, double frac) {
+    for(int i = 0; i < (int)from.size(); ++i) {
+        to[i] += frac*(from[i] - to[i]);
+    }
+}
+
+double
+distance_squared(SOM_element x, SOM_element y) {
+    double rval = 0.0; for(int i=0;i<(int)x.size();++i) {
+        double diff = x[i] - y[i];
+        rval += diff*diff;
+    }
+    return rval;
+}
+
+void SOMap::initialize(InitializeType it, SOM_element &max_range, SOM_element &min_range) {
+    for(int x = 0; x < xMax; ++x) {
+        for(int y = 0; y < yMax; ++y) {
+            for( int i = 0; i < (int)max_range.size(); ++i) {
+                if(it == InitializeRandom) {
+                    my_map[x][y][i] = (randval(min_range[i], max_range[i]));
+                }
+                else if(it == InitializeGradient) {
+                    my_map[x][y][i] = ((double)(x+y)/(xMax+yMax)*(max_range[i]-min_range[i]) + min_range[i]);
+                }
+            }
+        }
+    }
+}
+
+// subsquare [low,high)
+double
+SOMap::BMU_range( const SOM_element &s, int &xval, int &yval, subsquare_type &r) {
+    double min_distance_squared = DBL_MAX;
+    task &my_task = task::self();
+    int min_x = -1;
+    int min_y = -1;
+    for(int x = r.rows().begin(); x != r.rows().end(); ++x) {
+        for( int y = r.cols().begin(); y != r.cols().end(); ++y) {
+            double dist = distance_squared(s,my_map[x][y]);
+            if(dist < min_distance_squared) {
+                min_distance_squared = dist;
+                min_x = x;
+                min_y = y;
+            }
+            if(cancel_test && my_task.is_cancelled()) {
+                xval = r.rows().begin();
+                yval = r.cols().begin();
+                return DBL_MAX;
+            }
+        }
+    }
+    xval = min_x;
+    yval = min_y;
+    return sqrt(min_distance_squared);
+}
+
+void
+SOMap::epoch_update_range( SOM_element const &s, int epoch, int min_x, int min_y, double radius, double learning_rate, blocked_range<int> &r) {
+    int min_xiter = (int)((double)min_x - radius);
+    if(min_xiter < 0) min_xiter = 0;
+    int max_xiter = (int)((double)min_x + radius);
+    if(max_xiter > (int)my_map.size()-1) max_xiter = (int)my_map.size()-1;
+    for(int xx = r.begin(); xx <= r.end(); ++xx) {
+        double xrsq = (xx-min_x)*(xx-min_x);
+        double ysq = radius*radius - xrsq;  // max extent of y influence
+        double yd;
+        if(ysq > 0) {
+            yd = sqrt(ysq);
+            int lb = (int)(min_y - yd);
+            int ub = (int)(min_y + yd);
+            for(int yy = lb; yy < ub; ++yy) {
+                if(yy >= 0 && yy < (int)my_map[xx].size()) {
+                    // [xx, yy] is in the range of the update.
+                    double my_rsq = xrsq + (yy-min_y)*(yy-min_y);  // distance from BMU squared
+                    double theta = exp(-(radius*radius) /(2.0* my_rsq)); 
+                    add_fraction_of_difference(my_map[xx][yy], s, theta * learning_rate);
+                }
+            }
+        }
+    }
+}
+
+void SOMap::teach(teaching_vector_type &in) {
+    for(int i = 0; i < nPasses; ++i ) {
+        int j = (int)(randval(0, (double)in.size()));  // this won't be reproducible.
+        if(j == in.size()) --j;
+        
+        int min_x = -1;
+        int min_y = -1;
+        subsquare_type br2(0, (int)my_map.size(), 1, 0, (int)my_map[0].size(), 1);
+        (void) BMU_range(in[j],min_x, min_y, br2);  // just need min_x, min_y
+        // radius of interest
+        double radius = max_radius * exp(-(double)i*radius_decay_rate);
+        // update circle is min_xiter to max_xiter inclusive.
+        double learning_rate = max_learning_rate * exp( -(double)i * learning_decay_rate);
+        epoch_update(in[j], i, min_x, min_y, radius, learning_rate);
+    }
+}
+
+void SOMap::debug_output() {
+    printf("SOMap:\n");
+    for(int i = 0; i < (int)(this->my_map.size()); ++i) {
+        for(int j = 0; j < (int)(this->my_map[i].size()); ++j) {
+            printf( "map[%d, %d] == ", i, j );
+            remark_SOM_element( this->my_map[i][j] );
+            printf("\n");
+        }
+    }
+}
+
+#define RED 0
+#define GREEN 1
+#define BLUE 2
+
+void readInputData() {
+    my_teaching.push_back(SOM_element());
+    my_teaching.push_back(SOM_element());
+    my_teaching.push_back(SOM_element());
+    my_teaching.push_back(SOM_element());
+    my_teaching.push_back(SOM_element());
+    my_teaching[0][RED] = 1.0; my_teaching[0][GREEN] = 0.0; my_teaching[0][BLUE] = 0.0;
+    my_teaching[1][RED] = 0.0; my_teaching[1][GREEN] = 1.0; my_teaching[1][BLUE] = 0.0;
+    my_teaching[2][RED] = 0.0; my_teaching[2][GREEN] = 0.0; my_teaching[2][BLUE] = 1.0;
+    my_teaching[3][RED] = 0.3; my_teaching[3][GREEN] = 0.3; my_teaching[3][BLUE] = 0.0;
+    my_teaching[4][RED] = 0.5; my_teaching[4][GREEN] = 0.5; my_teaching[4][BLUE] = 0.9;
+}
diff --git a/examples/graph/som/som.h b/examples/graph/som/som.h
new file mode 100644
index 0000000..2acba1a
--- /dev/null
+++ b/examples/graph/som/som.h
@@ -0,0 +1,169 @@
+/*
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
+
+    This file is part of Threading Building Blocks.
+
+    Threading Building Blocks is free software; you can redistribute it
+    and/or modify it under the terms of the GNU General Public License
+    version 2 as published by the Free Software Foundation.
+
+    Threading Building Blocks is distributed in the hope that it will be
+    useful, but WITHOUT ANY WARRANTY; without even the implied warranty
+    of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with Threading Building Blocks; if not, write to the Free Software
+    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+
+    As a special exception, you may use this file as part of a free software
+    library without restriction.  Specifically, if other files instantiate
+    templates or use macros or inline functions from this file, or you compile
+    this file and link it with other files to produce an executable, this
+    file does not by itself cause the resulting executable to be covered by
+    the GNU General Public License.  This exception does not however
+    invalidate any other reasons why the executable file might be covered by
+    the GNU General Public License.
+*/
+
+//
+// Self-organizing map
+//
+// support for self-ordering maps
+#ifndef __SOM_H__
+#define __SOM_H__
+
+#include <vector>
+#include <cstdlib>
+#include <cmath>
+#include <cfloat>
+#include <iostream>
+#include <cstdio>
+
+#include "tbb/flow_graph.h"
+#include "tbb/blocked_range2d.h"
+
+using namespace tbb;
+using namespace tbb::flow;
+
+typedef blocked_range2d<int> subsquare_type;
+typedef tuple<double,int,int> search_result_type;
+
+std::ostream& operator<<( std::ostream &out, const search_result_type &s);
+
+#define RADIUS 0  // for the std::gets
+#define XV     1
+#define YV     2
+
+// to have single definitions of static variables, define _MAIN_C_ in the main program
+// 
+#ifdef _MAIN_C_
+#define DEFINE // nothing
+#define INIT(n) = n
+#else // not in main file
+#define DEFINE extern
+#define INIT(n) // nothing
+#endif  // _MAIN_C_
+
+DEFINE int nElements INIT(3);  // length of input vectors, matching vector in map
+DEFINE double max_learning_rate INIT(0.8);  // decays exponentially
+DEFINE double radius_decay_rate;
+DEFINE double learning_decay_rate INIT(0.005);
+DEFINE double max_radius;
+DEFINE bool extra_debug INIT(false);
+DEFINE bool cancel_test INIT(false);
+
+DEFINE int xMax INIT(100);
+DEFINE int yMax INIT(100);
+DEFINE int nPasses INIT(100);
+
+enum InitializeType { InitializeRandom, InitializeGradient };
+#define RED 0
+#define GREEN 1
+#define BLUE 2
+class SOM_element;
+void remark_SOM_element(const SOM_element &s);
+
+// all SOM_element vectors are the same length (nElements), so we do not have
+// to range-check the vector accesses.
+class SOM_element {
+    std::vector<double> w;
+public:
+    friend std::ostream& operator<<( std::ostream &out, const SOM_element &s);
+    friend void remark_SOM_element(const SOM_element &s);
+    SOM_element() : w(nElements,0.0) {}
+    double &operator[](int indx) { return w.at(indx); }
+    const double &operator[](int indx) const { return w.at(indx); }
+    bool operator==(SOM_element const &other) const {
+        for(size_t i=0;i<size();++i) {
+            if(w[i] != other.w[i]) {
+                return false;
+            }
+        }
+        return true;
+    }
+    bool operator!=(SOM_element const &other) const { return !operator==(other); }
+    void elementwise_max(SOM_element const &other) {
+        for(size_t i = 0; i < w.size(); ++i) if(w[i] < other.w[i]) w[i] = other.w[i];
+    }
+    void elementwise_min(SOM_element const &other) {
+        for(size_t i = 0; i < w.size(); ++i) if(w[i] > other.w[i]) w[i] = other.w[i];
+    }
+    size_t size() const { return w.size(); }
+};
+
+typedef std::vector<SOM_element> teaching_vector_type;
+
+DEFINE SOM_element max_range;
+DEFINE SOM_element min_range;
+
+extern double randval( double lowlimit, double highlimit);
+
+extern void find_data_ranges(teaching_vector_type &teaching, SOM_element &max_range, SOM_element &min_range );
+
+extern void add_fraction_of_difference( SOM_element &to, SOM_element &from, double frac);
+
+DEFINE teaching_vector_type my_teaching;
+
+class SOMap {
+    std::vector< std::vector< SOM_element > > my_map;
+public:
+    SOMap(int xSize, int ySize) {
+        my_map.reserve(xSize);
+        for(int i = 0; i < xSize; ++i) {
+            my_map.push_back(teaching_vector_type());
+            my_map[i].reserve(ySize);
+            for(int j = 0; j < ySize;++j) {
+                my_map[i].push_back(SOM_element());
+            }
+        }
+    }
+    size_t size() { return my_map.size(); }
+    void initialize(InitializeType it, SOM_element &max_range, SOM_element &min_range);
+    teaching_vector_type &operator[](int indx) { return my_map[indx]; }
+    SOM_element &at(int xVal, int yVal) { return my_map[xVal][yVal]; }
+    SOM_element &at(search_result_type const &s) { return my_map[flow::get<1>(s)][flow::get<2>(s)]; }
+    void epoch_update( SOM_element const &s, int epoch, int min_x, int min_y, double radius, double learning_rate) {
+        int min_xiter = (int)((double)min_x - radius);
+        if(min_xiter < 0) min_xiter = 0;
+        int max_xiter = (int)((double)min_x + radius);
+        if(max_xiter > (int)my_map.size()-1) max_xiter = (int)(my_map.size()-1);
+        blocked_range<int> br1(min_xiter, max_xiter, 1);
+        epoch_update_range(s, epoch, min_x, min_y, radius, learning_rate, br1);
+    }
+    void epoch_update_range( SOM_element const &s, int epoch, int min_x, int min_y, double radius, double learning_rate, blocked_range<int> &r);
+    void teach( teaching_vector_type &id);
+    void debug_output();
+    // find BMU given an input, returns distance
+    double BMU_range(const SOM_element &s, int &xval, int &yval, subsquare_type &r);
+    double BMU(const SOM_element &s, int &xval, int &yval) {
+        subsquare_type br(0,(int)my_map.size(),1,0,(int)my_map[0].size(),1);
+        return BMU_range(s, xval, yval, br);
+    }
+};
+
+extern double distance_squared(SOM_element x, SOM_element y);
+void remark_SOM_element(const SOM_element &s);
+
+extern void readInputData();
+#endif // __SOM_H__
diff --git a/examples/graph/som/som_graph.cpp b/examples/graph/som/som_graph.cpp
new file mode 100644
index 0000000..9955676
--- /dev/null
+++ b/examples/graph/som/som_graph.cpp
@@ -0,0 +1,431 @@
+/*
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
+
+    This file is part of Threading Building Blocks.
+
+    Threading Building Blocks is free software; you can redistribute it
+    and/or modify it under the terms of the GNU General Public License
+    version 2 as published by the Free Software Foundation.
+
+    Threading Building Blocks is distributed in the hope that it will be
+    useful, but WITHOUT ANY WARRANTY; without even the implied warranty
+    of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with Threading Building Blocks; if not, write to the Free Software
+    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+
+    As a special exception, you may use this file as part of a free software
+    library without restriction.  Specifically, if other files instantiate
+    templates or use macros or inline functions from this file, or you compile
+    this file and link it with other files to produce an executable, this
+    file does not by itself cause the resulting executable to be covered by
+    the GNU General Public License.  This exception does not however
+    invalidate any other reasons why the executable file might be covered by
+    the GNU General Public License.
+*/
+
+//
+// Self-organizing map in TBB flow::graph
+//
+//   This is an example of the use of cancellation in a graph.  After a point in searching for
+//   the best match for an example, two examples are looked for simultaneously.  When the
+//   earlier example is found and the update radius is determined, the affected searches
+//   for the subsequent example are cancelled, and after the update they are restarted.
+//   As the update radius shrinks fewer searches are cancelled, and by the last iterations
+//   virtually all the work done for the speculating example is useful.
+//
+// first, a simple implementation with only one example vector
+// at a time.
+//
+// we will do a color map (the simple example.)
+//
+//  graph algorithm
+//
+//       for some number of iterations
+//           update radius r, weight of change L 
+//           for each example V
+//               use graph to find BMU
+//               for each part of map within radius of BMU W
+//                   update vector:  W(t+1) = W(t) + w(dist)*L*(V - W(t))
+
+#define _MAIN_C_ 1
+#include "som.h"
+
+#include "tbb/task_scheduler_init.h"
+#include "tbb/flow_graph.h"
+#include "tbb/blocked_range2d.h"
+#include "tbb/tick_count.h"
+#include "../examples/common/utility/utility.h"
+
+#define RED 0
+#define GREEN 1
+#define BLUE 2
+
+static int xranges = 1;
+static int yranges = 1;
+static int xsize = -1;
+static int ysize = -1;
+
+static int global_i = 0;
+static int speculation_start; 
+std::vector<int> function_node_execs;
+static int xRangeMax = 3;
+static int yRangeMax = 3;
+static bool dont_speculate = false;
+static search_result_type last_update;
+
+class BMU_search_body {
+    SOMap &my_map;
+    subsquare_type my_square;
+    int &fn_tally;
+public:
+    BMU_search_body(SOMap &_m, subsquare_type &_sq, int &fnt) : my_map(_m), my_square(_sq), fn_tally(fnt) { }
+    BMU_search_body( const BMU_search_body &other) : my_map(other.my_map), my_square(other.my_square), fn_tally(other.fn_tally) { }
+    search_result_type operator()(const SOM_element s) {
+        int my_x;
+        int my_y;
+        double min_dist = my_map.BMU_range(s, my_x, my_y, my_square);
+        ++fn_tally;  // count how many times this function_node executed
+        return search_result_type(min_dist, my_x, my_y);
+    }
+};
+
+typedef function_node<SOM_element, search_result_type> search_node;
+typedef broadcast_node<SOM_element> b_node;
+typedef std::vector< search_node *> search_node_vector_type;
+typedef std::vector< search_node_vector_type > search_node_array_type;
+typedef std::vector< graph *> graph_vector_type;
+typedef std::vector< graph_vector_type > graph_array_type;
+
+#define SPECULATION_CNT 2
+
+graph *g[SPECULATION_CNT];  // main graph; there should only be one per epoch
+b_node *send_to[SPECULATION_CNT];      // broadcast node to send exemplar to all function_nodes
+queue_node<search_result_type> *q[SPECULATION_CNT];  // queue for function nodes to put their results in
+// each function_node should have its own graph
+search_node_array_type* s_array[SPECULATION_CNT];  // 2d array of function nodes
+graph_array_type* g_array[SPECULATION_CNT];        // 2d array of graphs
+
+// build a set of SPECULATION_CNT graphs, each of which consists of a broadcast_node,
+//    xranges x yranges function_nodes, and one queue_node for output.
+//    once speculation starts, if i % SPECULATION_CNT is the current graph, (i+1) % SPECULATION_CNT
+//    is the first speculation, and so on.
+void
+build_BMU_graph(SOMap &map1) {
+    // build current graph
+    xsize = ((int)map1.size() + xranges - 1) / xranges;
+    ysize = ((int)map1[0].size() + yranges - 1) / yranges;
+    function_node_execs.clear();
+    function_node_execs.reserve(xranges*yranges+1);
+    for(int ii = 0; ii < xranges*yranges+1;++ii) function_node_execs.push_back(0);
+
+    for(int scnt = 0; scnt < SPECULATION_CNT; ++scnt) {
+        g[scnt] = new graph;
+        send_to[scnt] = new b_node(*(g[scnt]));  // broadcast node to the function_nodes
+        q[scnt] = new queue_node<search_result_type>(*(g[scnt]));  // output queue
+
+        // create the function_nodes, tie to the graph
+        s_array[scnt] = new search_node_array_type;
+        s_array[scnt]->reserve(xranges);
+        g_array[scnt] = new graph_array_type;
+        g_array[scnt]->reserve(xranges);
+        for(int i = 0; i < (int)map1.size(); i += xsize) {
+            int xindex = i / xsize;
+            s_array[scnt]->push_back(search_node_vector_type());
+            (*s_array[scnt])[xindex].reserve(yranges);
+            g_array[scnt]->push_back(graph_vector_type());
+            (*g_array[scnt])[xindex].reserve(yranges);
+            for( int j = 0; j < (int)map1[0].size(); j += ysize) {
+                int offset = (i/xsize)*yranges + (j / ysize);
+                int xmax = (i + xsize) > (int)map1.size() ? (int)map1.size() : i + xsize;
+                int ymax = (j + ysize) > (int)map1[0].size() ? (int)map1[0].size() : j + ysize;
+                subsquare_type sst(i,xmax,1,j,ymax,1);
+                BMU_search_body bb(map1,sst,function_node_execs[offset]);
+                graph *g_local = new graph;
+                search_node *s = new search_node(*g_local, serial, bb); // copies Body
+                (*g_array[scnt])[xindex].push_back(g_local);
+                (*s_array[scnt])[xindex].push_back(s);
+                make_edge(*(send_to[scnt]), *s);  // broadcast_node -> function_node
+                make_edge(*s, *(q[scnt]));   // function_node -> queue_node
+            }
+        }
+    }
+}
+
+// Wait for the 2D array of flow::graphs.
+void wait_for_all_graphs(int cIndex) {  // cIndex ranges over [0 .. SPECULATION_CNT - 1]
+    for(int x = 0; x < xranges; ++x) {
+        for(int y = 0; y < yranges; ++y) {
+            (*g_array[cIndex])[x][y]->wait_for_all();
+        }
+    }
+}
+
+void
+destroy_BMU_graph() {
+    for(int scnt = 0; scnt < SPECULATION_CNT; ++scnt) {
+        for( int i = 0; i < (int)(*s_array[scnt]).size(); ++i ) {
+            for(int j = 0; j < (int)(*s_array[scnt])[i].size(); ++j) {
+                delete (*s_array[scnt])[i][j];
+                delete (*g_array[scnt])[i][j];
+            }
+        }
+        (*s_array[scnt]).clear();
+        delete s_array[scnt];
+        (*g_array[scnt]).clear();
+        delete g_array[scnt];
+        delete q[scnt];
+        delete send_to[scnt];
+        delete g[scnt];
+    }
+}
+
+void find_subrange_overlap(int const &xval, int const &yval, double const &radius, int &xlow, int &xhigh, int &ylow, int &yhigh) {
+    xlow = int((xval-radius)/xsize);
+    xhigh = int((xval+radius)/xsize);
+    ylow = int((yval-radius)/ysize);
+    yhigh = int((yval+radius)/ysize);
+    // circle may fall partly outside map
+    if(xlow < 0) xlow = 0;
+    if(xhigh >= xranges) xhigh = xranges - 1;
+    if(ylow < 0) ylow = 0;
+    if(yhigh >= yranges) yhigh = yranges - 1;
+}
+
+bool overlap( int &xval, int &yval, search_result_type &sr) {
+    int xlow, xhigh, ylow, yhigh;
+    find_subrange_overlap(get<XV>(sr), get<YV>(sr), get<RADIUS>(sr), xlow, xhigh, ylow, yhigh);
+    return xval >= xlow && xval <= xhigh && yval >= ylow && yval <= yhigh;
+}
+
+void
+cancel_submaps(int &xval, int &yval, double &radius, int indx) {
+    int xlow;
+    int xhigh;
+    int ylow;
+    int yhigh;
+    find_subrange_overlap(xval, yval, radius, xlow, xhigh, ylow, yhigh);
+    for(int x = xlow; x <= xhigh; ++x) {
+        for(int y = ylow; y <= yhigh; ++y) {
+            (*g_array[indx])[x][y]->root_task()->cancel_group_execution();
+        }
+    }
+}
+
+void
+restart_submaps(int &xval, int &yval, double &radius, int indx, SOM_element &vector) {
+    int xlow;
+    int xhigh;
+    int ylow;
+    int yhigh;
+    find_subrange_overlap(xval, yval, radius, xlow, xhigh, ylow, yhigh);
+    for(int x = xlow; x <= xhigh; ++x) {
+        for(int y = ylow; y <= yhigh; ++y) {
+            // have to reset the graph
+            (*g_array[indx])[x][y]->root_task()->context()->reset();
+            // and re-submit the exemplar for search.
+            (*s_array[indx])[x][y]->try_put(vector);
+        }
+    }
+}
+
+search_result_type
+graph_BMU( int indx ) {  // indx ranges over [0 .. SPECULATION_CNT -1]
+    wait_for_all_graphs(indx);  // wait for the array of subgraphs
+    (g[indx])->wait_for_all();
+    std::vector<search_result_type> all_srs(xRangeMax*yRangeMax,search_result_type(DBL_MAX,-1,-1));
+    search_result_type sr;
+    search_result_type min_sr;
+    get<RADIUS>(min_sr) = DBL_MAX;
+    int result_count = 0;
+    while((q[indx])->try_get(sr)) {
+        ++result_count;
+        // figure which submap this came from
+        int x = get<XV>(sr) / xsize;
+        int y = get<YV>(sr) / ysize;
+        int offset = x*yranges+y;  // linearized subscript
+        all_srs[offset] = sr;
+        if(get<RADIUS>(sr) < get<RADIUS>(min_sr))
+            min_sr = sr;
+        else if(get<RADIUS>(sr) == get<RADIUS>(min_sr)) {
+            if(get<XV>(sr) < get<XV>(min_sr)) {
+                min_sr = sr;
+            }
+            else if((get<XV>(sr) == get<XV>(min_sr) &&
+                  get<YV>(sr) < get<YV>(min_sr)))
+            {
+                min_sr = sr;
+            }
+        }
+    }
+    return min_sr;
+    // end of one epoch
+}
+
+void graph_teach(SOMap &map1, teaching_vector_type &in) {
+    build_BMU_graph(map1);
+    // normally the training would pick random exemplars to teach the SOM.  We need
+    // the process to be reproducible, so we will pick the exemplars in order, [0, in.size())
+    int next_j = 0;
+    for(int epoch = 0; epoch < nPasses; ++epoch) {
+        global_i = epoch;
+        bool canceled_submaps = false;
+        int j = next_j;  // try to make reproducible
+        next_j = (epoch+1) % in.size();
+        search_result_type min_sr;
+        if(epoch < speculation_start) {
+            (send_to[epoch%SPECULATION_CNT])->try_put(in[j]);
+        }
+        else if(epoch == speculation_start) {
+            (send_to[epoch%SPECULATION_CNT])->try_put(in[j]);
+            if(epoch < nPasses-1) {
+                (send_to[(epoch+1)%SPECULATION_CNT])->try_put(in[next_j]);
+            }
+        }
+        else if(epoch < nPasses - 1) {
+            (send_to[(epoch+1)%SPECULATION_CNT])->try_put(in[next_j]);
+        }
+        min_sr = graph_BMU(epoch % SPECULATION_CNT);  //calls wait_for_all()
+        double min_distance = get<0>(min_sr);
+        double radius = max_radius * exp(-(double)epoch*radius_decay_rate);
+        double learning_rate = max_learning_rate * exp(-(double)epoch * learning_decay_rate);
+        if(epoch >= speculation_start && epoch < (nPasses - 1)) {
+            // have to cancel the affected submaps
+            cancel_submaps(get<XV>(min_sr), get<YV>(min_sr), radius, (epoch+1)%SPECULATION_CNT);
+            canceled_submaps = true;
+        }
+        map1.epoch_update(in[j], epoch, get<1>(min_sr), get<2>(min_sr), radius, learning_rate);
+        ++global_i;
+        if(canceled_submaps) {
+            // do I have to wait for all the non-canceled speculative graph to complete first?
+            // yes, in case a canceled task was already executing.
+            wait_for_all_graphs((epoch+1) % SPECULATION_CNT);  // wait for the array of subgraphs
+            restart_submaps(get<1>(min_sr), get<2>(min_sr), radius, (epoch+1)%SPECULATION_CNT, in[next_j]);
+        }
+
+        last_update = min_sr;
+        get<RADIUS>(last_update) = radius;  // not smallest value, but range of effect
+    }
+    destroy_BMU_graph();
+}
+
+static const double serial_time_adjust = 1.25;
+static double radius_fraction = 3.0;
+
+int
+main(int argc, char** argv) {
+    int l_speculation_start;
+    utility::thread_number_range threads( 
+            task_scheduler_init::default_num_threads,
+            task_scheduler_init::default_num_threads()  // run only the default number of threads if none specified
+    );
+
+    utility::parse_cli_arguments(argc,argv,
+            utility::cli_argument_pack()
+            //"-h" option for for displaying help is present implicitly
+            .positional_arg(threads,"n-of-threads","number of threads to use; a range of the form low[:high], where low and optional high are non-negative integers or 'auto' for the TBB default.")
+            // .positional_arg(InputFileName,"input-file","input file name")
+            // .positional_arg(OutputFileName,"output-file","output file name")
+            .positional_arg(radius_fraction, "radius-fraction","size of radius at which to start speculating")
+            .positional_arg(nPasses, "number-of-epochs","number of examples used in learning phase")
+            .arg(cancel_test, "cancel-test", "test for cancel signal while finding BMU")
+            .arg(extra_debug, "debug", "additional output")
+            .arg(dont_speculate,"nospeculate","don't speculate in SOM map teaching")
+         );
+
+    readInputData();
+    max_radius = (xMax < yMax) ? yMax / 2 : xMax / 2;
+    // need this value for the 1x1 timing below
+    radius_decay_rate = -(log(1.0/(double)max_radius) / (double)nPasses);
+    find_data_ranges(my_teaching, max_range, min_range );
+    if(extra_debug) {
+        printf( "Data range: ");
+        remark_SOM_element(min_range);
+        printf( " to ");
+        remark_SOM_element(max_range);
+        printf( "\n");
+    }
+
+    // find how much time is taken for the single function_node case.
+    // adjust nPasses so the 1x1 time is somewhere around serial_time_adjust seconds.
+   // make sure the example test runs for at least 0.5 second.
+    for(;;) {
+        task_scheduler_init init(1);
+        SOMap map1(xMax,yMax);
+        speculation_start = nPasses + 1;  // Don't speculate
+
+        xranges = 1;
+        yranges = 1;
+        map1.initialize(InitializeGradient, max_range, min_range);
+        tick_count t0 = tick_count::now();
+        graph_teach(map1, my_teaching);
+        tick_count t1 = tick_count::now();
+        double nSeconds = (t1-t0).seconds();
+        if(nSeconds < 0.5) {
+            xMax *= 2;
+            yMax *= 2;
+            continue;
+        }
+        double size_adjust = sqrt(serial_time_adjust / nSeconds);
+        xMax = (int)((double)xMax * size_adjust);
+        yMax = (int)((double)yMax * size_adjust);
+        max_radius = (xMax < yMax) ? yMax / 2 : xMax / 2;
+        radius_decay_rate = log((double)max_radius) / (double)nPasses;
+
+        if(extra_debug) {
+            printf("original 1x1 case ran in %g seconds\n", nSeconds);
+            printf("   Size of table == %d x %d\n", xMax, yMax);
+            printf("   radius_decay_rate == %g\n", radius_decay_rate);
+        }
+        break;
+    }
+
+    // the "max_radius" starts at 1/2*radius_fraction the table size.  To start the speculation when the radius is
+    // 1 / n * the table size, the constant in the log below should be n / 2.  so 2 == 1/4, 3 == 1/6th,
+    // et c.
+    if(dont_speculate) {
+        l_speculation_start = nPasses + 1;
+        if ( extra_debug )printf("speculation will not be done\n");
+    }
+    else {
+        if(radius_fraction < 1.0 ) {
+            if ( extra_debug )printf("Warning: radius_fraction should be >= 1.  Setting to 1.\n");
+            radius_fraction = 1.0;
+        }
+        l_speculation_start = (int)((double)nPasses * log(radius_fraction) / log((double)nPasses)); 
+        if ( extra_debug )printf( "We will start speculation at iteration %d\n", l_speculation_start );
+    }
+    double single_time;  // for speedup calculations
+    for(int p = threads.first; p <= threads.last; ++p) {
+        task_scheduler_init init(p);
+        if ( extra_debug )printf( " -------------- Running with %d threads. ------------\n", p);
+       // run the SOM build for a series of subranges
+        for(xranges = 1; xranges <= xRangeMax; ++xranges) {
+            for(yranges = xranges; yranges <= yRangeMax; ++yranges) {
+                if(xranges == 1 && yranges == 1) {
+                    // don't pointlessly speculate if we're only running one subrange.
+                    speculation_start = nPasses + 1;
+                }
+                else {
+                    speculation_start = l_speculation_start;
+                }
+                SOMap map1(xMax, yMax);
+                map1.initialize(InitializeGradient, max_range, min_range);
+    
+                if(extra_debug) printf( "Start learning for [%d,%d] ----------- \n", xranges,yranges);
+                tick_count t0 = tick_count::now();
+                graph_teach(map1, my_teaching);
+                tick_count t1 = tick_count::now();
+                
+                if ( extra_debug )printf( "Done learning for [%d,%d], which took %g seconds ", xranges,yranges, (t1-t0).seconds());
+                if(xranges == 1 && yranges == 1) single_time = (t1-t0).seconds();
+                if ( extra_debug )printf( ": speedup == %g\n", single_time / (t1-t0).seconds());
+    
+            }  // yranges
+        }  // xranges
+    }  // #threads p
+    printf("done\n");
+    return 0;
+}
diff --git a/examples/graph/som/xcode/som.xcodeproj/project.pbxproj b/examples/graph/som/xcode/som.xcodeproj/project.pbxproj
new file mode 100644
index 0000000..aeb5256
--- /dev/null
+++ b/examples/graph/som/xcode/som.xcodeproj/project.pbxproj
@@ -0,0 +1,313 @@
+// !$*UTF8*$!
+{
+	archiveVersion = 1;
+	classes = {
+	};
+	objectVersion = 46;
+	objects = {
+
+/* Begin PBXBuildFile section */
+		522FF8DD11F573FC00A587B2 /* som_graph.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 522FF8DB11F573FC00A587B2 /* som_graph.cpp */; };
+		522FF8DE11F573FC00A587B2 /* som.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 522FF8DC11F573FC00A587B2 /* som.cpp */; };
+		A1F593B70B8F06F900073279 /* libtbb.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = A1F593B30B8F06F900073279 /* libtbb.dylib */; };
+		A1F593BB0B8F072500073279 /* libtbb.dylib in CopyFiles */ = {isa = PBXBuildFile; fileRef = A1F593B30B8F06F900073279 /* libtbb.dylib */; };
+/* End PBXBuildFile section */
+
+/* Begin PBXCopyFilesBuildPhase section */
+		8DD76F690486A84900D96B5E /* CopyFiles */ = {
+			isa = PBXCopyFilesBuildPhase;
+			buildActionMask = 12;
+			dstPath = "";
+			dstSubfolderSpec = 16;
+			files = (
+				A1F593BB0B8F072500073279 /* libtbb.dylib in CopyFiles */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+/* End PBXCopyFilesBuildPhase section */
+
+/* Begin PBXFileReference section */
+		522FF8DB11F573FC00A587B2 /* som_graph.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = som_graph.cpp; path = ../som_graph.cpp; sourceTree = SOURCE_ROOT; };
+		522FF8DC11F573FC00A587B2 /* som.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = som.cpp; path = ../som.cpp; sourceTree = SOURCE_ROOT; };
+		8DD76F6C0486A84900D96B5E /* som */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = som; sourceTree = BUILT_PRODUCTS_DIR; };
+		A1F593B30B8F06F900073279 /* libtbb.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libtbb.dylib; path = ../../../../lib/libtbb.dylib; sourceTree = SOURCE_ROOT; };
+/* End PBXFileReference section */
+
+/* Begin PBXFrameworksBuildPhase section */
+		8DD76F660486A84900D96B5E /* Frameworks */ = {
+			isa = PBXFrameworksBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				A1F593B70B8F06F900073279 /* libtbb.dylib in Frameworks */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+/* End PBXFrameworksBuildPhase section */
+
+/* Begin PBXGroup section */
+		08FB7794FE84155DC02AAC07 /* som */ = {
+			isa = PBXGroup;
+			children = (
+				08FB7795FE84155DC02AAC07 /* Source */,
+				A1F593B20B8F06F900073279 /* External Frameworks and Libraries */,
+				1AB674ADFE9D54B511CA2CBB /* Products */,
+			);
+			name = som;
+			sourceTree = "<group>";
+		};
+		08FB7795FE84155DC02AAC07 /* Source */ = {
+			isa = PBXGroup;
+			children = (
+				522FF8DB11F573FC00A587B2 /* som_graph.cpp */,
+				522FF8DC11F573FC00A587B2 /* som.cpp */,
+			);
+			name = Source;
+			sourceTree = "<group>";
+		};
+		1AB674ADFE9D54B511CA2CBB /* Products */ = {
+			isa = PBXGroup;
+			children = (
+				8DD76F6C0486A84900D96B5E /* som */,
+			);
+			name = Products;
+			sourceTree = "<group>";
+		};
+		A1F593B20B8F06F900073279 /* External Frameworks and Libraries */ = {
+			isa = PBXGroup;
+			children = (
+				A1F593B30B8F06F900073279 /* libtbb.dylib */,
+			);
+			name = "External Frameworks and Libraries";
+			sourceTree = "<group>";
+		};
+/* End PBXGroup section */
+
+/* Begin PBXNativeTarget section */
+		8DD76F620486A84900D96B5E /* som */ = {
+			isa = PBXNativeTarget;
+			buildConfigurationList = 1DEB923108733DC60010E9CD /* Build configuration list for PBXNativeTarget "som" */;
+			buildPhases = (
+				8DD76F640486A84900D96B5E /* Sources */,
+				8DD76F660486A84900D96B5E /* Frameworks */,
+				8DD76F690486A84900D96B5E /* CopyFiles */,
+			);
+			buildRules = (
+			);
+			dependencies = (
+			);
+			name = som;
+			productInstallPath = "$(HOME)/bin";
+			productName = som;
+			productReference = 8DD76F6C0486A84900D96B5E /* som */;
+			productType = "com.apple.product-type.tool";
+		};
+/* End PBXNativeTarget section */
+
+/* Begin PBXProject section */
+		08FB7793FE84155DC02AAC07 /* Project object */ = {
+			isa = PBXProject;
+			attributes = {
+				LastUpgradeCheck = 0410;
+			};
+			buildConfigurationList = 1DEB923508733DC60010E9CD /* Build configuration list for PBXProject "som" */;
+			compatibilityVersion = "Xcode 3.2";
+			developmentRegion = English;
+			hasScannedForEncodings = 1;
+			knownRegions = (
+				en,
+			);
+			mainGroup = 08FB7794FE84155DC02AAC07 /* som */;
+			projectDirPath = "";
+			projectRoot = "";
+			targets = (
+				8DD76F620486A84900D96B5E /* som */,
+			);
+		};
+/* End PBXProject section */
+
+/* Begin PBXSourcesBuildPhase section */
+		8DD76F640486A84900D96B5E /* Sources */ = {
+			isa = PBXSourcesBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				522FF8DD11F573FC00A587B2 /* som_graph.cpp in Sources */,
+				522FF8DE11F573FC00A587B2 /* som.cpp in Sources */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+/* End PBXSourcesBuildPhase section */
+
+/* Begin XCBuildConfiguration section */
+		1DEB923208733DC60010E9CD /* Debug */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				COPY_PHASE_STRIP = NO;
+				GCC_DYNAMIC_NO_PIC = NO;
+				GCC_OPTIMIZATION_LEVEL = 0;
+				GCC_PREPROCESSOR_DEFINITIONS = _CONSOLE;
+				GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
+				HEADER_SEARCH_PATHS = ../../../../include;
+				INSTALL_PATH = "$(HOME)/bin";
+				LIBRARY_SEARCH_PATHS = (
+					"$(inherited)",
+					../../../../lib,
+				);
+				PRODUCT_NAME = som;
+				ZERO_LINK = NO;
+			};
+			name = Debug;
+		};
+		1DEB923308733DC60010E9CD /* Release */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
+				GCC_PREPROCESSOR_DEFINITIONS = _CONSOLE;
+				GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
+				HEADER_SEARCH_PATHS = ../../../../include;
+				INSTALL_PATH = "$(HOME)/bin";
+				LIBRARY_SEARCH_PATHS = (
+					"$(inherited)",
+					../../../../lib,
+				);
+				PRODUCT_NAME = som;
+				ZERO_LINK = NO;
+			};
+			name = Release;
+		};
+		1DEB923608733DC60010E9CD /* Debug */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				ALWAYS_SEARCH_USER_PATHS = NO;
+				ARCHS = i386;
+				GCC_ENABLE_CPP_RTTI = YES;
+				GCC_MODEL_TUNING = "";
+				GCC_VERSION = 4.0;
+				GCC_WARN_ABOUT_RETURN_TYPE = YES;
+				GCC_WARN_UNUSED_VARIABLE = YES;
+				PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR = NO;
+				SYMROOT = "/tmp/tbb-$(USER)";
+			};
+			name = Debug;
+		};
+		1DEB923708733DC60010E9CD /* Release */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				ALWAYS_SEARCH_USER_PATHS = NO;
+				ARCHS = i386;
+				GCC_ENABLE_CPP_RTTI = YES;
+				GCC_MODEL_TUNING = "";
+				GCC_VERSION = 4.0;
+				GCC_WARN_ABOUT_RETURN_TYPE = YES;
+				GCC_WARN_UNUSED_VARIABLE = YES;
+				PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR = NO;
+				SYMROOT = "/tmp/tbb-$(USER)";
+			};
+			name = Release;
+		};
+		A1F593C60B8F0E6E00073279 /* Debug64 */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				ARCHS = "$(ARCHS_STANDARD_64_BIT)";
+				COPY_PHASE_STRIP = NO;
+				GCC_DYNAMIC_NO_PIC = NO;
+				GCC_OPTIMIZATION_LEVEL = 0;
+				GCC_PREPROCESSOR_DEFINITIONS = _CONSOLE;
+				GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
+				HEADER_SEARCH_PATHS = ../../../../include;
+				INSTALL_PATH = "$(HOME)/bin";
+				LIBRARY_SEARCH_PATHS = (
+					"$(inherited)",
+					../../../../lib,
+				);
+				PRODUCT_NAME = som;
+				ZERO_LINK = NO;
+			};
+			name = Debug64;
+		};
+		A1F593C70B8F0E6E00073279 /* Release64 */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				ARCHS = "$(ARCHS_STANDARD_64_BIT)";
+				GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
+				GCC_PREPROCESSOR_DEFINITIONS = _CONSOLE;
+				GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
+				HEADER_SEARCH_PATHS = ../../../../include;
+				INSTALL_PATH = "$(HOME)/bin";
+				LIBRARY_SEARCH_PATHS = (
+					"$(inherited)",
+					../../../../lib,
+				);
+				PRODUCT_NAME = som;
+				ZERO_LINK = NO;
+			};
+			name = Release64;
+		};
+		A1F593C80B8F0E6E00073279 /* Debug64 */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				ALWAYS_SEARCH_USER_PATHS = NO;
+				ARCHS = i386;
+				GCC_ENABLE_CPP_RTTI = YES;
+				GCC_MODEL_TUNING = "";
+				GCC_VERSION = 4.0;
+				GCC_WARN_ABOUT_RETURN_TYPE = YES;
+				GCC_WARN_UNUSED_VARIABLE = YES;
+				OTHER_CPLUSPLUSFLAGS = (
+					"$(OTHER_CFLAGS)",
+					"-m64",
+				);
+				OTHER_LDFLAGS = "-m64";
+				PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR = NO;
+				SYMROOT = "/tmp/tbb-$(USER)";
+			};
+			name = Debug64;
+		};
+		A1F593C90B8F0E6E00073279 /* Release64 */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				ALWAYS_SEARCH_USER_PATHS = NO;
+				ARCHS = i386;
+				GCC_ENABLE_CPP_RTTI = YES;
+				GCC_MODEL_TUNING = "";
+				GCC_VERSION = 4.0;
+				GCC_WARN_ABOUT_RETURN_TYPE = YES;
+				GCC_WARN_UNUSED_VARIABLE = YES;
+				OTHER_CPLUSPLUSFLAGS = (
+					"$(OTHER_CFLAGS)",
+					"-m64",
+				);
+				OTHER_LDFLAGS = "-m64";
+				PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR = NO;
+				SYMROOT = "/tmp/tbb-$(USER)";
+			};
+			name = Release64;
+		};
+/* End XCBuildConfiguration section */
+
+/* Begin XCConfigurationList section */
+		1DEB923108733DC60010E9CD /* Build configuration list for PBXNativeTarget "som" */ = {
+			isa = XCConfigurationList;
+			buildConfigurations = (
+				1DEB923208733DC60010E9CD /* Debug */,
+				A1F593C60B8F0E6E00073279 /* Debug64 */,
+				1DEB923308733DC60010E9CD /* Release */,
+				A1F593C70B8F0E6E00073279 /* Release64 */,
+			);
+			defaultConfigurationIsVisible = 0;
+			defaultConfigurationName = Release;
+		};
+		1DEB923508733DC60010E9CD /* Build configuration list for PBXProject "som" */ = {
+			isa = XCConfigurationList;
+			buildConfigurations = (
+				1DEB923608733DC60010E9CD /* Debug */,
+				A1F593C80B8F0E6E00073279 /* Debug64 */,
+				1DEB923708733DC60010E9CD /* Release */,
+				A1F593C90B8F0E6E00073279 /* Release64 */,
+			);
+			defaultConfigurationIsVisible = 0;
+			defaultConfigurationName = Release;
+		};
+/* End XCConfigurationList section */
+	};
+	rootObject = 08FB7793FE84155DC02AAC07 /* Project object */;
+}
diff --git a/examples/index.html b/examples/index.html
index b58d084..b66cb30 100644
--- a/examples/index.html
+++ b/examples/index.html
@@ -164,7 +164,7 @@ The environment may be set up, for a given type of shell window, by using one of
 <HR>
 <A href="../index.html">Up to parent directory</A>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <P></P>
 Intel is a registered trademark or trademark of Intel Corporation
 or its subsidiaries in the United States and other countries.
diff --git a/examples/parallel_do/index.html b/examples/parallel_do/index.html
index 9700a1c..7aff198 100644
--- a/examples/parallel_do/index.html
+++ b/examples/parallel_do/index.html
@@ -13,7 +13,7 @@ This directory has examples of the template <code>parallel_do</code>.
 <HR>
 <A HREF="../index.html">Up to parent directory</A>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <P></P>
 Intel is a registered trademark or trademark of Intel Corporation
 or its subsidiaries in the United States and other countries.
diff --git a/examples/parallel_do/parallel_preorder/Graph.cpp b/examples/parallel_do/parallel_preorder/Graph.cpp
index e34120f..a9786e8 100644
--- a/examples/parallel_do/parallel_preorder/Graph.cpp
+++ b/examples/parallel_do/parallel_preorder/Graph.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/parallel_do/parallel_preorder/Graph.h b/examples/parallel_do/parallel_preorder/Graph.h
index eb13011..9ff0431 100644
--- a/examples/parallel_do/parallel_preorder/Graph.h
+++ b/examples/parallel_do/parallel_preorder/Graph.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/parallel_do/parallel_preorder/Makefile b/examples/parallel_do/parallel_preorder/Makefile
index 0acf3c7..12b7dfb 100644
--- a/examples/parallel_do/parallel_preorder/Makefile
+++ b/examples/parallel_do/parallel_preorder/Makefile
@@ -1,4 +1,4 @@
-# Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+# Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 #
 # This file is part of Threading Building Blocks.
 #
@@ -65,5 +65,5 @@ light_test:
 perf_build:	release
 
 perf_run:
-	./$(PROG) $(PERF_RUN_ARGS)
+	$(run_cmd) ./$(PROG) $(PERF_RUN_ARGS)
 
diff --git a/examples/parallel_do/parallel_preorder/Makefile.windows b/examples/parallel_do/parallel_preorder/Makefile.windows
index 2a508db..8388688 100644
--- a/examples/parallel_do/parallel_preorder/Makefile.windows
+++ b/examples/parallel_do/parallel_preorder/Makefile.windows
@@ -1,4 +1,4 @@
-# Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+# Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 #
 # This file is part of Threading Building Blocks.
 #
diff --git a/examples/parallel_do/parallel_preorder/Matrix.h b/examples/parallel_do/parallel_preorder/Matrix.h
index fdf26b8..b32ebfb 100644
--- a/examples/parallel_do/parallel_preorder/Matrix.h
+++ b/examples/parallel_do/parallel_preorder/Matrix.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/parallel_do/parallel_preorder/index.html b/examples/parallel_do/parallel_preorder/index.html
index c27faf7..55e01db 100644
--- a/examples/parallel_do/parallel_preorder/index.html
+++ b/examples/parallel_do/parallel_preorder/index.html
@@ -88,7 +88,7 @@ General build directions can be found <A HREF=../../index.html#build>here</A>.
 <HR>
 <A HREF="../index.html">Up to parent directory</A>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <P></P>
 Intel is a registered trademark or trademark of Intel Corporation
 or its subsidiaries in the United States and other countries.
diff --git a/examples/parallel_do/parallel_preorder/main.cpp b/examples/parallel_do/parallel_preorder/main.cpp
index bab2bd2..98fc580 100644
--- a/examples/parallel_do/parallel_preorder/main.cpp
+++ b/examples/parallel_do/parallel_preorder/main.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/parallel_do/parallel_preorder/parallel_preorder.cpp b/examples/parallel_do/parallel_preorder/parallel_preorder.cpp
index c3fdab0..7202380 100644
--- a/examples/parallel_do/parallel_preorder/parallel_preorder.cpp
+++ b/examples/parallel_do/parallel_preorder/parallel_preorder.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/parallel_for/game_of_life/Makefile b/examples/parallel_for/game_of_life/Makefile
index 38c7293..106bd5f 100644
--- a/examples/parallel_for/game_of_life/Makefile
+++ b/examples/parallel_for/game_of_life/Makefile
@@ -1,4 +1,4 @@
-# Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+# Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 #
 # This file is part of Threading Building Blocks.
 #
@@ -56,4 +56,4 @@ clean:
 test:
 	$(run_cmd) ./$(PROG) $(ARGS)
 light_test:
-	./$(PROG) $(LIGHT_ARGS)
+	$(run_cmd) ./$(PROG) $(LIGHT_ARGS)
diff --git a/examples/parallel_for/game_of_life/Makefile.windows b/examples/parallel_for/game_of_life/Makefile.windows
index 26215a3..9b56f3a 100644
--- a/examples/parallel_for/game_of_life/Makefile.windows
+++ b/examples/parallel_for/game_of_life/Makefile.windows
@@ -1,4 +1,4 @@
-# Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+# Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 #
 # This file is part of Threading Building Blocks.
 #
diff --git a/examples/parallel_for/game_of_life/index.html b/examples/parallel_for/game_of_life/index.html
index 3dc1d9f..5cd33fa 100644
--- a/examples/parallel_for/game_of_life/index.html
+++ b/examples/parallel_for/game_of_life/index.html
@@ -43,7 +43,7 @@ For Windows* systems, Microsoft* Visual Studio* projects are provided for each o
 <HR>
 <A HREF="../index.html">Up to parent directory</A>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <P></P>
 Intel is a registered trademark or trademark of Intel Corporation
 or its subsidiaries in the United States and other countries.
diff --git a/examples/parallel_for/game_of_life/src/AssemblyInfo.cpp b/examples/parallel_for/game_of_life/src/AssemblyInfo.cpp
index b245bb8..559a5c9 100644
--- a/examples/parallel_for/game_of_life/src/AssemblyInfo.cpp
+++ b/examples/parallel_for/game_of_life/src/AssemblyInfo.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/parallel_for/game_of_life/src/Board.h b/examples/parallel_for/game_of_life/src/Board.h
index 6ced568..a10d4ef 100644
--- a/examples/parallel_for/game_of_life/src/Board.h
+++ b/examples/parallel_for/game_of_life/src/Board.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/parallel_for/game_of_life/src/Evolution.cpp b/examples/parallel_for/game_of_life/src/Evolution.cpp
index b57f331..8cc1197 100644
--- a/examples/parallel_for/game_of_life/src/Evolution.cpp
+++ b/examples/parallel_for/game_of_life/src/Evolution.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/parallel_for/game_of_life/src/Evolution.h b/examples/parallel_for/game_of_life/src/Evolution.h
index 1720018..0a7871e 100644
--- a/examples/parallel_for/game_of_life/src/Evolution.h
+++ b/examples/parallel_for/game_of_life/src/Evolution.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/parallel_for/game_of_life/src/Form1.h b/examples/parallel_for/game_of_life/src/Form1.h
index b31e0e1..708928d 100644
--- a/examples/parallel_for/game_of_life/src/Form1.h
+++ b/examples/parallel_for/game_of_life/src/Form1.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/parallel_for/game_of_life/src/Game_of_life.cpp b/examples/parallel_for/game_of_life/src/Game_of_life.cpp
index 46bb31f..0732059 100644
--- a/examples/parallel_for/game_of_life/src/Game_of_life.cpp
+++ b/examples/parallel_for/game_of_life/src/Game_of_life.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/parallel_for/game_of_life/src/Update_state.cpp b/examples/parallel_for/game_of_life/src/Update_state.cpp
index 4f3104f..f578998 100644
--- a/examples/parallel_for/game_of_life/src/Update_state.cpp
+++ b/examples/parallel_for/game_of_life/src/Update_state.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/parallel_for/index.html b/examples/parallel_for/index.html
index 2dc784c..d7afc5d 100644
--- a/examples/parallel_for/index.html
+++ b/examples/parallel_for/index.html
@@ -19,7 +19,7 @@ This directory has examples of the template <code>parallel_for</code>.
 <HR>
 <A HREF="../index.html">Up to parent directory</A>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <P></P>
 Intel is a registered trademark or trademark of Intel Corporation
 or its subsidiaries in the United States and other countries.
diff --git a/examples/parallel_for/polygon_overlay/Makefile b/examples/parallel_for/polygon_overlay/Makefile
index 2333c1f..339c322 100644
--- a/examples/parallel_for/polygon_overlay/Makefile
+++ b/examples/parallel_for/polygon_overlay/Makefile
@@ -1,4 +1,4 @@
-# Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+# Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 #
 # This file is part of Threading Building Blocks.
 #
@@ -83,14 +83,14 @@ endif
 
 test:
 ifeq ($(UI),mac)
-	export DYLD_LIBRARY_PATH="$(DYLD_LIBRARY_PATH):$(TBBLIBSPATH)"; ./$(EXE) $(ARGS)
+	export DYLD_LIBRARY_PATH="$(DYLD_LIBRARY_PATH):$(TBBLIBSPATH)"; $(run_cmd) ./$(EXE) $(ARGS)
 else
-	./$(EXE) $(ARGS)
+	$(run_cmd) ./$(EXE) $(ARGS)
 endif
 
 light_test:
 ifeq ($(UI),mac)
-	export DYLD_LIBRARY_PATH="$(DYLD_LIBRARY_PATH):$(TBBLIBSPATH)"; ./$(EXE) $(LIGHT_ARGS)
+	export DYLD_LIBRARY_PATH="$(DYLD_LIBRARY_PATH):$(TBBLIBSPATH)"; $(run_cmd) ./$(EXE) $(LIGHT_ARGS)
 else
-	./$(EXE) $(LIGHT_ARGS)
+	$(run_cmd) ./$(EXE) $(LIGHT_ARGS)
 endif
diff --git a/examples/parallel_for/polygon_overlay/Makefile.windows b/examples/parallel_for/polygon_overlay/Makefile.windows
index c80c45b..b294621 100644
--- a/examples/parallel_for/polygon_overlay/Makefile.windows
+++ b/examples/parallel_for/polygon_overlay/Makefile.windows
@@ -1,4 +1,4 @@
-# Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+# Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 #
 # This file is part of Threading Building Blocks.
 #
diff --git a/examples/parallel_for/polygon_overlay/index.html b/examples/parallel_for/polygon_overlay/index.html
index b48bda1..62ae291 100644
--- a/examples/parallel_for/polygon_overlay/index.html
+++ b/examples/parallel_for/polygon_overlay/index.html
@@ -111,7 +111,7 @@ named pover.exe.  To run these executables directly, use one or more of the foll
 <HR>
 <A HREF="../index.html">Up to parent directory</A>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <P></P>
 Intel is a registered trademark or trademark of Intel Corporation
 or its subsidiaries in the United States and other countries.
diff --git a/examples/parallel_for/polygon_overlay/polymain.cpp b/examples/parallel_for/polygon_overlay/polymain.cpp
index 4ca700c..daa1e69 100644
--- a/examples/parallel_for/polygon_overlay/polymain.cpp
+++ b/examples/parallel_for/polygon_overlay/polymain.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/parallel_for/polygon_overlay/polymain.h b/examples/parallel_for/polygon_overlay/polymain.h
index ca5938d..0a02a3d 100644
--- a/examples/parallel_for/polygon_overlay/polymain.h
+++ b/examples/parallel_for/polygon_overlay/polymain.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/parallel_for/polygon_overlay/polyover.cpp b/examples/parallel_for/polygon_overlay/polyover.cpp
index c9d74fe..58602a5 100644
--- a/examples/parallel_for/polygon_overlay/polyover.cpp
+++ b/examples/parallel_for/polygon_overlay/polyover.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/parallel_for/polygon_overlay/polyover.h b/examples/parallel_for/polygon_overlay/polyover.h
index 889301f..a3e82c3 100644
--- a/examples/parallel_for/polygon_overlay/polyover.h
+++ b/examples/parallel_for/polygon_overlay/polyover.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/parallel_for/polygon_overlay/pover_global.h b/examples/parallel_for/polygon_overlay/pover_global.h
index a2762e1..ab504de 100644
--- a/examples/parallel_for/polygon_overlay/pover_global.h
+++ b/examples/parallel_for/polygon_overlay/pover_global.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/parallel_for/polygon_overlay/pover_video.cpp b/examples/parallel_for/polygon_overlay/pover_video.cpp
index 87479d2..fbae26d 100644
--- a/examples/parallel_for/polygon_overlay/pover_video.cpp
+++ b/examples/parallel_for/polygon_overlay/pover_video.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/parallel_for/polygon_overlay/pover_video.h b/examples/parallel_for/polygon_overlay/pover_video.h
index 141d286..9303d4b 100644
--- a/examples/parallel_for/polygon_overlay/pover_video.h
+++ b/examples/parallel_for/polygon_overlay/pover_video.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/parallel_for/polygon_overlay/rpolygon.h b/examples/parallel_for/polygon_overlay/rpolygon.h
index d0da0e9..78fe89b 100644
--- a/examples/parallel_for/polygon_overlay/rpolygon.h
+++ b/examples/parallel_for/polygon_overlay/rpolygon.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/parallel_for/seismic/Makefile b/examples/parallel_for/seismic/Makefile
index 1fb701c..6a98ef7 100644
--- a/examples/parallel_for/seismic/Makefile
+++ b/examples/parallel_for/seismic/Makefile
@@ -1,4 +1,4 @@
-# Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+# Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 #
 # This file is part of Threading Building Blocks.
 #
@@ -88,16 +88,16 @@ endif
 
 test:
 ifeq ($(UI),mac)
-	export DYLD_LIBRARY_PATH="$(DYLD_LIBRARY_PATH):$(TBBLIBSPATH)"; ./$(EXE) $(ARGS)
+	export DYLD_LIBRARY_PATH="$(DYLD_LIBRARY_PATH):$(TBBLIBSPATH)"; $(run_cmd) ./$(EXE) $(ARGS)
 else
-	./$(EXE) $(ARGS)
+	$(run_cmd) ./$(EXE) $(ARGS)
 endif
 
 perf_build: override CXXFLAGS+=$(PERFFLAGS)
 perf_build: release
 
 perf_run:
-	./$(EXE) $(PERF_RUN_ARGS)
+	$(run_cmd) ./$(EXE) $(PERF_RUN_ARGS)
 
 light_test:
-	./$(EXE) $(LIGHT_ARGS)
+	$(run_cmd) ./$(EXE) $(LIGHT_ARGS)
diff --git a/examples/parallel_for/seismic/Makefile.windows b/examples/parallel_for/seismic/Makefile.windows
index d5b3e36..e588758 100644
--- a/examples/parallel_for/seismic/Makefile.windows
+++ b/examples/parallel_for/seismic/Makefile.windows
@@ -1,4 +1,4 @@
-# Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+# Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 #
 # This file is part of Threading Building Blocks.
 #
diff --git a/examples/parallel_for/seismic/index.html b/examples/parallel_for/seismic/index.html
index 06b1a07..d652ece 100644
--- a/examples/parallel_for/seismic/index.html
+++ b/examples/parallel_for/seismic/index.html
@@ -103,7 +103,7 @@ user interface:
 <HR>
 <A HREF="../index.html">Up to parent directory</A>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <P></P>
 Intel is a registered trademark or trademark of Intel Corporation
 or its subsidiaries in the United States and other countries.
diff --git a/examples/parallel_for/seismic/main.cpp b/examples/parallel_for/seismic/main.cpp
index d2b1458..f290c2d 100644
--- a/examples/parallel_for/seismic/main.cpp
+++ b/examples/parallel_for/seismic/main.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/parallel_for/seismic/seismic_video.cpp b/examples/parallel_for/seismic/seismic_video.cpp
index df946f1..da6cfd9 100644
--- a/examples/parallel_for/seismic/seismic_video.cpp
+++ b/examples/parallel_for/seismic/seismic_video.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/parallel_for/seismic/seismic_video.h b/examples/parallel_for/seismic/seismic_video.h
index 5c3b79f..f2910e9 100644
--- a/examples/parallel_for/seismic/seismic_video.h
+++ b/examples/parallel_for/seismic/seismic_video.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/parallel_for/seismic/universe.cpp b/examples/parallel_for/seismic/universe.cpp
index 0344deb..816ee9b 100644
--- a/examples/parallel_for/seismic/universe.cpp
+++ b/examples/parallel_for/seismic/universe.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/parallel_for/seismic/universe.h b/examples/parallel_for/seismic/universe.h
index e388fd1..ab1a04e 100644
--- a/examples/parallel_for/seismic/universe.h
+++ b/examples/parallel_for/seismic/universe.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/parallel_for/tachyon/Makefile b/examples/parallel_for/tachyon/Makefile
index 3ed788c..a2deee1 100644
--- a/examples/parallel_for/tachyon/Makefile
+++ b/examples/parallel_for/tachyon/Makefile
@@ -1,4 +1,4 @@
-# Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+# Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 #
 # This file is part of Threading Building Blocks.
 #
@@ -160,16 +160,16 @@ build_one:	$(EXE)
 
 run_one:
 ifeq ($(UI),mac)
-	export DYLD_LIBRARY_PATH="$(DYLD_LIBRARY_PATH):$(TBBLIBSPATH)"; ./$(EXE) $(ARGS)
+	export DYLD_LIBRARY_PATH="$(DYLD_LIBRARY_PATH):$(TBBLIBSPATH)"; $(run_cmd) ./$(EXE) $(ARGS)
 else
-	./$(EXE) $(ARGS)
+	$(run_cmd) ./$(EXE) $(ARGS)
 endif
 
 run_perf_one:
-	./$(EXE) $(PERF_RUN_ARGS)
+	$(run_cmd) ./$(EXE) $(PERF_RUN_ARGS)
 
 light_test_one:
-	./$(EXE) $(LIGHT_ARGS)
+	$(run_cmd) ./$(EXE) $(LIGHT_ARGS)
 
 $(EXE): $(SOURCE)
 ifeq ($(UI),mac)
diff --git a/examples/parallel_for/tachyon/Makefile.windows b/examples/parallel_for/tachyon/Makefile.windows
index 2443586..e52fd49 100644
--- a/examples/parallel_for/tachyon/Makefile.windows
+++ b/examples/parallel_for/tachyon/Makefile.windows
@@ -1,4 +1,4 @@
-# Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+# Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 #
 # This file is part of Threading Building Blocks.
 #
diff --git a/examples/parallel_for/tachyon/android/jni/Android.mk b/examples/parallel_for/tachyon/android/jni/Android.mk
index e01eb66..3a3a5c8 100644
--- a/examples/parallel_for/tachyon/android/jni/Android.mk
+++ b/examples/parallel_for/tachyon/android/jni/Android.mk
@@ -1,4 +1,4 @@
-# Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+# Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 #
 # This file is part of Threading Building Blocks.
 #
diff --git a/examples/parallel_for/tachyon/android/jni/Application.mk b/examples/parallel_for/tachyon/android/jni/Application.mk
index d4c8e17..9c47b3a 100644
--- a/examples/parallel_for/tachyon/android/jni/Application.mk
+++ b/examples/parallel_for/tachyon/android/jni/Application.mk
@@ -1,4 +1,4 @@
-# Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+# Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 #
 # This file is part of Threading Building Blocks.
 #
diff --git a/examples/parallel_for/tachyon/android/jni/jni-engine.cpp b/examples/parallel_for/tachyon/android/jni/jni-engine.cpp
index ec65b02..4816245 100644
--- a/examples/parallel_for/tachyon/android/jni/jni-engine.cpp
+++ b/examples/parallel_for/tachyon/android/jni/jni-engine.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/parallel_for/tachyon/android/src/com/intel/tbb/example/tachyon/tachyon.java b/examples/parallel_for/tachyon/android/src/com/intel/tbb/example/tachyon/tachyon.java
index 520b365..d8be46d 100644
--- a/examples/parallel_for/tachyon/android/src/com/intel/tbb/example/tachyon/tachyon.java
+++ b/examples/parallel_for/tachyon/android/src/com/intel/tbb/example/tachyon/tachyon.java
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/parallel_for/tachyon/index.html b/examples/parallel_for/tachyon/index.html
index 878cf9a..a49483b 100644
--- a/examples/parallel_for/tachyon/index.html
+++ b/examples/parallel_for/tachyon/index.html
@@ -174,7 +174,7 @@ While running with the GUI display turned on the following keyboard keys can be
 <HR>
 <A HREF="../index.html">Up to parent directory</A>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <P></P>
 Intel is a registered trademark or trademark of Intel Corporation
 or its subsidiaries in the United States and other countries.
diff --git a/examples/parallel_for/tachyon/src/api.cpp b/examples/parallel_for/tachyon/src/api.cpp
index 5fcd45d..6c9a1af 100644
--- a/examples/parallel_for/tachyon/src/api.cpp
+++ b/examples/parallel_for/tachyon/src/api.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/parallel_for/tachyon/src/api.h b/examples/parallel_for/tachyon/src/api.h
index 78653dd..5026fda 100644
--- a/examples/parallel_for/tachyon/src/api.h
+++ b/examples/parallel_for/tachyon/src/api.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/parallel_for/tachyon/src/apigeom.cpp b/examples/parallel_for/tachyon/src/apigeom.cpp
index fff2644..07faed7 100644
--- a/examples/parallel_for/tachyon/src/apigeom.cpp
+++ b/examples/parallel_for/tachyon/src/apigeom.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/parallel_for/tachyon/src/apitrigeom.cpp b/examples/parallel_for/tachyon/src/apitrigeom.cpp
index d96abff..367e07e 100644
--- a/examples/parallel_for/tachyon/src/apitrigeom.cpp
+++ b/examples/parallel_for/tachyon/src/apitrigeom.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/parallel_for/tachyon/src/apitrigeom.h b/examples/parallel_for/tachyon/src/apitrigeom.h
index 1c33c79..ea247a9 100644
--- a/examples/parallel_for/tachyon/src/apitrigeom.h
+++ b/examples/parallel_for/tachyon/src/apitrigeom.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/parallel_for/tachyon/src/bndbox.cpp b/examples/parallel_for/tachyon/src/bndbox.cpp
index 9a8611a..c879fa6 100644
--- a/examples/parallel_for/tachyon/src/bndbox.cpp
+++ b/examples/parallel_for/tachyon/src/bndbox.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/parallel_for/tachyon/src/bndbox.h b/examples/parallel_for/tachyon/src/bndbox.h
index 402ac9c..0ef7648 100644
--- a/examples/parallel_for/tachyon/src/bndbox.h
+++ b/examples/parallel_for/tachyon/src/bndbox.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/parallel_for/tachyon/src/box.cpp b/examples/parallel_for/tachyon/src/box.cpp
index 3d2175c..f356286 100644
--- a/examples/parallel_for/tachyon/src/box.cpp
+++ b/examples/parallel_for/tachyon/src/box.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/parallel_for/tachyon/src/box.h b/examples/parallel_for/tachyon/src/box.h
index 997afc6..2628b2c 100644
--- a/examples/parallel_for/tachyon/src/box.h
+++ b/examples/parallel_for/tachyon/src/box.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/parallel_for/tachyon/src/camera.cpp b/examples/parallel_for/tachyon/src/camera.cpp
index ca6bfb5..7bdbebc 100644
--- a/examples/parallel_for/tachyon/src/camera.cpp
+++ b/examples/parallel_for/tachyon/src/camera.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/parallel_for/tachyon/src/camera.h b/examples/parallel_for/tachyon/src/camera.h
index c25cc54..9f94b56 100644
--- a/examples/parallel_for/tachyon/src/camera.h
+++ b/examples/parallel_for/tachyon/src/camera.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/parallel_for/tachyon/src/coordsys.cpp b/examples/parallel_for/tachyon/src/coordsys.cpp
index ac10f00..10d9fc0 100644
--- a/examples/parallel_for/tachyon/src/coordsys.cpp
+++ b/examples/parallel_for/tachyon/src/coordsys.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/parallel_for/tachyon/src/coordsys.h b/examples/parallel_for/tachyon/src/coordsys.h
index 035d8a0..35d0026 100644
--- a/examples/parallel_for/tachyon/src/coordsys.h
+++ b/examples/parallel_for/tachyon/src/coordsys.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/parallel_for/tachyon/src/cylinder.cpp b/examples/parallel_for/tachyon/src/cylinder.cpp
index 1a3329e..c3b9b0a 100644
--- a/examples/parallel_for/tachyon/src/cylinder.cpp
+++ b/examples/parallel_for/tachyon/src/cylinder.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/parallel_for/tachyon/src/cylinder.h b/examples/parallel_for/tachyon/src/cylinder.h
index 96a1dc9..319e60a 100644
--- a/examples/parallel_for/tachyon/src/cylinder.h
+++ b/examples/parallel_for/tachyon/src/cylinder.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/parallel_for/tachyon/src/extvol.cpp b/examples/parallel_for/tachyon/src/extvol.cpp
index 61673ad..62481b6 100644
--- a/examples/parallel_for/tachyon/src/extvol.cpp
+++ b/examples/parallel_for/tachyon/src/extvol.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/parallel_for/tachyon/src/extvol.h b/examples/parallel_for/tachyon/src/extvol.h
index fc2f019..4726580 100644
--- a/examples/parallel_for/tachyon/src/extvol.h
+++ b/examples/parallel_for/tachyon/src/extvol.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/parallel_for/tachyon/src/global.cpp b/examples/parallel_for/tachyon/src/global.cpp
index 9773a32..e1e94f1 100644
--- a/examples/parallel_for/tachyon/src/global.cpp
+++ b/examples/parallel_for/tachyon/src/global.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/parallel_for/tachyon/src/global.h b/examples/parallel_for/tachyon/src/global.h
index 598658e..5b9ff60 100644
--- a/examples/parallel_for/tachyon/src/global.h
+++ b/examples/parallel_for/tachyon/src/global.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/parallel_for/tachyon/src/grid.cpp b/examples/parallel_for/tachyon/src/grid.cpp
index 893d33c..c424c79 100644
--- a/examples/parallel_for/tachyon/src/grid.cpp
+++ b/examples/parallel_for/tachyon/src/grid.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/parallel_for/tachyon/src/grid.h b/examples/parallel_for/tachyon/src/grid.h
index 6b5579f..3866cbc 100644
--- a/examples/parallel_for/tachyon/src/grid.h
+++ b/examples/parallel_for/tachyon/src/grid.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/parallel_for/tachyon/src/imageio.cpp b/examples/parallel_for/tachyon/src/imageio.cpp
index d2e119f..042ab46 100644
--- a/examples/parallel_for/tachyon/src/imageio.cpp
+++ b/examples/parallel_for/tachyon/src/imageio.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/parallel_for/tachyon/src/imageio.h b/examples/parallel_for/tachyon/src/imageio.h
index e7b6921..0f3e424 100644
--- a/examples/parallel_for/tachyon/src/imageio.h
+++ b/examples/parallel_for/tachyon/src/imageio.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/parallel_for/tachyon/src/imap.cpp b/examples/parallel_for/tachyon/src/imap.cpp
index 685e9d0..4df0e62 100644
--- a/examples/parallel_for/tachyon/src/imap.cpp
+++ b/examples/parallel_for/tachyon/src/imap.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/parallel_for/tachyon/src/imap.h b/examples/parallel_for/tachyon/src/imap.h
index 4994a50..c2bfd88 100644
--- a/examples/parallel_for/tachyon/src/imap.h
+++ b/examples/parallel_for/tachyon/src/imap.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/parallel_for/tachyon/src/intersect.cpp b/examples/parallel_for/tachyon/src/intersect.cpp
index 11e8048..cfb39f7 100644
--- a/examples/parallel_for/tachyon/src/intersect.cpp
+++ b/examples/parallel_for/tachyon/src/intersect.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/parallel_for/tachyon/src/intersect.h b/examples/parallel_for/tachyon/src/intersect.h
index fc3ccff..85c7b7c 100644
--- a/examples/parallel_for/tachyon/src/intersect.h
+++ b/examples/parallel_for/tachyon/src/intersect.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/parallel_for/tachyon/src/jpeg.cpp b/examples/parallel_for/tachyon/src/jpeg.cpp
index f9a8a09..afe3833 100644
--- a/examples/parallel_for/tachyon/src/jpeg.cpp
+++ b/examples/parallel_for/tachyon/src/jpeg.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/parallel_for/tachyon/src/jpeg.h b/examples/parallel_for/tachyon/src/jpeg.h
index 6463340..e260ab7 100644
--- a/examples/parallel_for/tachyon/src/jpeg.h
+++ b/examples/parallel_for/tachyon/src/jpeg.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/parallel_for/tachyon/src/light.cpp b/examples/parallel_for/tachyon/src/light.cpp
index 70eed51..11ed339 100644
--- a/examples/parallel_for/tachyon/src/light.cpp
+++ b/examples/parallel_for/tachyon/src/light.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/parallel_for/tachyon/src/light.h b/examples/parallel_for/tachyon/src/light.h
index 9515ad9..75db06f 100644
--- a/examples/parallel_for/tachyon/src/light.h
+++ b/examples/parallel_for/tachyon/src/light.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/parallel_for/tachyon/src/machine.h b/examples/parallel_for/tachyon/src/machine.h
index 764a7ce..cf2db12 100644
--- a/examples/parallel_for/tachyon/src/machine.h
+++ b/examples/parallel_for/tachyon/src/machine.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/parallel_for/tachyon/src/macros.h b/examples/parallel_for/tachyon/src/macros.h
index 0d0e27e..18ccbfb 100644
--- a/examples/parallel_for/tachyon/src/macros.h
+++ b/examples/parallel_for/tachyon/src/macros.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/parallel_for/tachyon/src/main.cpp b/examples/parallel_for/tachyon/src/main.cpp
index 178cba0..abd87d2 100644
--- a/examples/parallel_for/tachyon/src/main.cpp
+++ b/examples/parallel_for/tachyon/src/main.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/parallel_for/tachyon/src/objbound.cpp b/examples/parallel_for/tachyon/src/objbound.cpp
index 27cfda7..157af36 100644
--- a/examples/parallel_for/tachyon/src/objbound.cpp
+++ b/examples/parallel_for/tachyon/src/objbound.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/parallel_for/tachyon/src/objbound.h b/examples/parallel_for/tachyon/src/objbound.h
index fba0742..06f3522 100644
--- a/examples/parallel_for/tachyon/src/objbound.h
+++ b/examples/parallel_for/tachyon/src/objbound.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/parallel_for/tachyon/src/parse.cpp b/examples/parallel_for/tachyon/src/parse.cpp
index fb90f04..4c79f2d 100644
--- a/examples/parallel_for/tachyon/src/parse.cpp
+++ b/examples/parallel_for/tachyon/src/parse.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/parallel_for/tachyon/src/parse.h b/examples/parallel_for/tachyon/src/parse.h
index 7f73150..0611a35 100644
--- a/examples/parallel_for/tachyon/src/parse.h
+++ b/examples/parallel_for/tachyon/src/parse.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/parallel_for/tachyon/src/plane.cpp b/examples/parallel_for/tachyon/src/plane.cpp
index 8568159..08acb01 100644
--- a/examples/parallel_for/tachyon/src/plane.cpp
+++ b/examples/parallel_for/tachyon/src/plane.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/parallel_for/tachyon/src/plane.h b/examples/parallel_for/tachyon/src/plane.h
index e4f8ca9..4426caf 100644
--- a/examples/parallel_for/tachyon/src/plane.h
+++ b/examples/parallel_for/tachyon/src/plane.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/parallel_for/tachyon/src/ppm.cpp b/examples/parallel_for/tachyon/src/ppm.cpp
index 77f307b..73b222f 100644
--- a/examples/parallel_for/tachyon/src/ppm.cpp
+++ b/examples/parallel_for/tachyon/src/ppm.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/parallel_for/tachyon/src/ppm.h b/examples/parallel_for/tachyon/src/ppm.h
index 8f2d8f9..027b89b 100644
--- a/examples/parallel_for/tachyon/src/ppm.h
+++ b/examples/parallel_for/tachyon/src/ppm.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/parallel_for/tachyon/src/pthread.cpp b/examples/parallel_for/tachyon/src/pthread.cpp
index 2b687f6..5a7aa00 100644
--- a/examples/parallel_for/tachyon/src/pthread.cpp
+++ b/examples/parallel_for/tachyon/src/pthread.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/parallel_for/tachyon/src/pthread_w.h b/examples/parallel_for/tachyon/src/pthread_w.h
index 8a754a1..fb56839 100644
--- a/examples/parallel_for/tachyon/src/pthread_w.h
+++ b/examples/parallel_for/tachyon/src/pthread_w.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/parallel_for/tachyon/src/quadric.cpp b/examples/parallel_for/tachyon/src/quadric.cpp
index 4c4bc3e..9bba200 100644
--- a/examples/parallel_for/tachyon/src/quadric.cpp
+++ b/examples/parallel_for/tachyon/src/quadric.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/parallel_for/tachyon/src/quadric.h b/examples/parallel_for/tachyon/src/quadric.h
index adc808b..aad2ff4 100644
--- a/examples/parallel_for/tachyon/src/quadric.h
+++ b/examples/parallel_for/tachyon/src/quadric.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/parallel_for/tachyon/src/render.cpp b/examples/parallel_for/tachyon/src/render.cpp
index b1d46a5..e5826ec 100644
--- a/examples/parallel_for/tachyon/src/render.cpp
+++ b/examples/parallel_for/tachyon/src/render.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/parallel_for/tachyon/src/render.h b/examples/parallel_for/tachyon/src/render.h
index 173de89..a01cf8d 100644
--- a/examples/parallel_for/tachyon/src/render.h
+++ b/examples/parallel_for/tachyon/src/render.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/parallel_for/tachyon/src/ring.cpp b/examples/parallel_for/tachyon/src/ring.cpp
index f420b03..fe6b4e4 100644
--- a/examples/parallel_for/tachyon/src/ring.cpp
+++ b/examples/parallel_for/tachyon/src/ring.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/parallel_for/tachyon/src/ring.h b/examples/parallel_for/tachyon/src/ring.h
index ab4d78d..64fd4c1 100644
--- a/examples/parallel_for/tachyon/src/ring.h
+++ b/examples/parallel_for/tachyon/src/ring.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/parallel_for/tachyon/src/shade.cpp b/examples/parallel_for/tachyon/src/shade.cpp
index e54cb83..c4b3afe 100644
--- a/examples/parallel_for/tachyon/src/shade.cpp
+++ b/examples/parallel_for/tachyon/src/shade.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/parallel_for/tachyon/src/shade.h b/examples/parallel_for/tachyon/src/shade.h
index f892b95..491b0a7 100644
--- a/examples/parallel_for/tachyon/src/shade.h
+++ b/examples/parallel_for/tachyon/src/shade.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/parallel_for/tachyon/src/sphere.cpp b/examples/parallel_for/tachyon/src/sphere.cpp
index 2b8b18a..86d8ff6 100644
--- a/examples/parallel_for/tachyon/src/sphere.cpp
+++ b/examples/parallel_for/tachyon/src/sphere.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/parallel_for/tachyon/src/sphere.h b/examples/parallel_for/tachyon/src/sphere.h
index e2d7fbf..718f7d2 100644
--- a/examples/parallel_for/tachyon/src/sphere.h
+++ b/examples/parallel_for/tachyon/src/sphere.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/parallel_for/tachyon/src/tachyon_video.cpp b/examples/parallel_for/tachyon/src/tachyon_video.cpp
index 641bc16..c992532 100644
--- a/examples/parallel_for/tachyon/src/tachyon_video.cpp
+++ b/examples/parallel_for/tachyon/src/tachyon_video.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/parallel_for/tachyon/src/tachyon_video.h b/examples/parallel_for/tachyon/src/tachyon_video.h
index 8b42375..5421a9b 100644
--- a/examples/parallel_for/tachyon/src/tachyon_video.h
+++ b/examples/parallel_for/tachyon/src/tachyon_video.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/parallel_for/tachyon/src/texture.cpp b/examples/parallel_for/tachyon/src/texture.cpp
index 9429df1..26a4767 100644
--- a/examples/parallel_for/tachyon/src/texture.cpp
+++ b/examples/parallel_for/tachyon/src/texture.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/parallel_for/tachyon/src/texture.h b/examples/parallel_for/tachyon/src/texture.h
index 7b6f691..3552baa 100644
--- a/examples/parallel_for/tachyon/src/texture.h
+++ b/examples/parallel_for/tachyon/src/texture.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/parallel_for/tachyon/src/tgafile.cpp b/examples/parallel_for/tachyon/src/tgafile.cpp
index d32ba16..f5c99d4 100644
--- a/examples/parallel_for/tachyon/src/tgafile.cpp
+++ b/examples/parallel_for/tachyon/src/tgafile.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/parallel_for/tachyon/src/tgafile.h b/examples/parallel_for/tachyon/src/tgafile.h
index 9b7d2b9..bada626 100644
--- a/examples/parallel_for/tachyon/src/tgafile.h
+++ b/examples/parallel_for/tachyon/src/tgafile.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/parallel_for/tachyon/src/trace.h b/examples/parallel_for/tachyon/src/trace.h
index c8ead8a..48f854c 100644
--- a/examples/parallel_for/tachyon/src/trace.h
+++ b/examples/parallel_for/tachyon/src/trace.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/parallel_for/tachyon/src/trace.serial.cpp b/examples/parallel_for/tachyon/src/trace.serial.cpp
index 8a7378e..1173365 100644
--- a/examples/parallel_for/tachyon/src/trace.serial.cpp
+++ b/examples/parallel_for/tachyon/src/trace.serial.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/parallel_for/tachyon/src/trace.tbb.cpp b/examples/parallel_for/tachyon/src/trace.tbb.cpp
index 9c33b0d..43c9f87 100644
--- a/examples/parallel_for/tachyon/src/trace.tbb.cpp
+++ b/examples/parallel_for/tachyon/src/trace.tbb.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/parallel_for/tachyon/src/trace.tbb1d.cpp b/examples/parallel_for/tachyon/src/trace.tbb1d.cpp
index f644b72..405f072 100644
--- a/examples/parallel_for/tachyon/src/trace.tbb1d.cpp
+++ b/examples/parallel_for/tachyon/src/trace.tbb1d.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/parallel_for/tachyon/src/trace_rest.cpp b/examples/parallel_for/tachyon/src/trace_rest.cpp
index 94c18b0..51c00d9 100644
--- a/examples/parallel_for/tachyon/src/trace_rest.cpp
+++ b/examples/parallel_for/tachyon/src/trace_rest.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/parallel_for/tachyon/src/triangle.cpp b/examples/parallel_for/tachyon/src/triangle.cpp
index 8e0bb07..3a1bf99 100644
--- a/examples/parallel_for/tachyon/src/triangle.cpp
+++ b/examples/parallel_for/tachyon/src/triangle.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/parallel_for/tachyon/src/triangle.h b/examples/parallel_for/tachyon/src/triangle.h
index bbeb9a4..ab511e9 100644
--- a/examples/parallel_for/tachyon/src/triangle.h
+++ b/examples/parallel_for/tachyon/src/triangle.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/parallel_for/tachyon/src/types.h b/examples/parallel_for/tachyon/src/types.h
index 9f5ee9c..84e56d2 100644
--- a/examples/parallel_for/tachyon/src/types.h
+++ b/examples/parallel_for/tachyon/src/types.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/parallel_for/tachyon/src/ui.cpp b/examples/parallel_for/tachyon/src/ui.cpp
index bf54d6d..d85416d 100644
--- a/examples/parallel_for/tachyon/src/ui.cpp
+++ b/examples/parallel_for/tachyon/src/ui.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/parallel_for/tachyon/src/ui.h b/examples/parallel_for/tachyon/src/ui.h
index 1fa618d..4770f12 100644
--- a/examples/parallel_for/tachyon/src/ui.h
+++ b/examples/parallel_for/tachyon/src/ui.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/parallel_for/tachyon/src/util.cpp b/examples/parallel_for/tachyon/src/util.cpp
index b40b3e7..6e95897 100644
--- a/examples/parallel_for/tachyon/src/util.cpp
+++ b/examples/parallel_for/tachyon/src/util.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/parallel_for/tachyon/src/util.h b/examples/parallel_for/tachyon/src/util.h
index de03339..9640375 100644
--- a/examples/parallel_for/tachyon/src/util.h
+++ b/examples/parallel_for/tachyon/src/util.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/parallel_for/tachyon/src/vector.cpp b/examples/parallel_for/tachyon/src/vector.cpp
index acd357b..be7f249 100644
--- a/examples/parallel_for/tachyon/src/vector.cpp
+++ b/examples/parallel_for/tachyon/src/vector.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/parallel_for/tachyon/src/vector.h b/examples/parallel_for/tachyon/src/vector.h
index d8a3aa9..b66829d 100644
--- a/examples/parallel_for/tachyon/src/vector.h
+++ b/examples/parallel_for/tachyon/src/vector.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/parallel_for/tachyon/src/vol.cpp b/examples/parallel_for/tachyon/src/vol.cpp
index 3b84860..b3f1f54 100644
--- a/examples/parallel_for/tachyon/src/vol.cpp
+++ b/examples/parallel_for/tachyon/src/vol.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/parallel_for/tachyon/src/vol.h b/examples/parallel_for/tachyon/src/vol.h
index 0529dc1..6980e7c 100644
--- a/examples/parallel_for/tachyon/src/vol.h
+++ b/examples/parallel_for/tachyon/src/vol.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/parallel_reduce/convex_hull/Makefile b/examples/parallel_reduce/convex_hull/Makefile
index 9860bdc..b322c44 100644
--- a/examples/parallel_reduce/convex_hull/Makefile
+++ b/examples/parallel_reduce/convex_hull/Makefile
@@ -1,4 +1,4 @@
-# Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+# Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 #
 # This file is part of Threading Building Blocks.
 #
@@ -61,10 +61,10 @@ clean:
 perf_build: release
 
 perf_run:
-	./convex_hull_sample $(PERF_RUN_ARGS)
+	$(run_cmd) ./convex_hull_sample $(PERF_RUN_ARGS)
 
 test:
 	$(run_cmd) ./$(PROG) $(ARGS)
 
 light_test:
-	./$(PROG) $(LIGHT_ARGS)
+	$(run_cmd) ./$(PROG) $(LIGHT_ARGS)
diff --git a/examples/parallel_reduce/convex_hull/Makefile.windows b/examples/parallel_reduce/convex_hull/Makefile.windows
index 57f2272..0d4111c 100644
--- a/examples/parallel_reduce/convex_hull/Makefile.windows
+++ b/examples/parallel_reduce/convex_hull/Makefile.windows
@@ -1,4 +1,4 @@
-# Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+# Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 #
 # This file is part of Threading Building Blocks.
 #
diff --git a/examples/parallel_reduce/convex_hull/convex_hull.h b/examples/parallel_reduce/convex_hull/convex_hull.h
index cbc6558..65fc449 100644
--- a/examples/parallel_reduce/convex_hull/convex_hull.h
+++ b/examples/parallel_reduce/convex_hull/convex_hull.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/parallel_reduce/convex_hull/convex_hull_bench.cpp b/examples/parallel_reduce/convex_hull/convex_hull_bench.cpp
index fc92ace..c843cff 100644
--- a/examples/parallel_reduce/convex_hull/convex_hull_bench.cpp
+++ b/examples/parallel_reduce/convex_hull/convex_hull_bench.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/parallel_reduce/convex_hull/convex_hull_sample.cpp b/examples/parallel_reduce/convex_hull/convex_hull_sample.cpp
index 41ecb6e..0f888fb 100644
--- a/examples/parallel_reduce/convex_hull/convex_hull_sample.cpp
+++ b/examples/parallel_reduce/convex_hull/convex_hull_sample.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/parallel_reduce/convex_hull/index.html b/examples/parallel_reduce/convex_hull/index.html
index 33e26a5..87494e1 100644
--- a/examples/parallel_reduce/convex_hull/index.html
+++ b/examples/parallel_reduce/convex_hull/index.html
@@ -42,7 +42,7 @@ General build directions can be found <A HREF=../../index.html#build>here</A>.
 <HR>
 <A HREF="../index.html">Up to parent directory</A>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <P></P>
 Intel is a registered trademark or trademark of Intel Corporation
 or its subsidiaries in the United States and other countries.
diff --git a/examples/parallel_reduce/index.html b/examples/parallel_reduce/index.html
index 970b242..bb00b0a 100644
--- a/examples/parallel_reduce/index.html
+++ b/examples/parallel_reduce/index.html
@@ -15,7 +15,7 @@ This directory has examples of the template <code>parallel_reduce</code>.
 <HR>
 <A HREF="../index.html">Up to parent directory</A>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <P></P>
 Intel is a registered trademark or trademark of Intel Corporation
 or its subsidiaries in the United States and other countries.
diff --git a/examples/parallel_reduce/primes/Makefile b/examples/parallel_reduce/primes/Makefile
index 184e230..a311a21 100644
--- a/examples/parallel_reduce/primes/Makefile
+++ b/examples/parallel_reduce/primes/Makefile
@@ -1,4 +1,4 @@
-# Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+# Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 #
 # This file is part of Threading Building Blocks.
 #
@@ -71,3 +71,4 @@ test:
 perf_build: release
 
 perf_run:
+	$(run_cmd) ./$(PROG) $(PERF_RUN_ARGS)
diff --git a/examples/parallel_reduce/primes/Makefile.windows b/examples/parallel_reduce/primes/Makefile.windows
index ce91ee1..16a387c 100644
--- a/examples/parallel_reduce/primes/Makefile.windows
+++ b/examples/parallel_reduce/primes/Makefile.windows
@@ -1,4 +1,4 @@
-# Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+# Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 #
 # This file is part of Threading Building Blocks.
 #
diff --git a/examples/parallel_reduce/primes/index.html b/examples/parallel_reduce/primes/index.html
index deb9b6c..e110b33 100644
--- a/examples/parallel_reduce/primes/index.html
+++ b/examples/parallel_reduce/primes/index.html
@@ -52,7 +52,7 @@ General build directions can be found <A HREF=../../index.html#build>here</A>.
 <HR>
 <A HREF="../index.html">Up to parent directory</A>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <P></P>
 Intel is a registered trademark or trademark of Intel Corporation
 or its subsidiaries in the United States and other countries.
diff --git a/examples/parallel_reduce/primes/main.cpp b/examples/parallel_reduce/primes/main.cpp
index 4f4674d..1bfa1a5 100644
--- a/examples/parallel_reduce/primes/main.cpp
+++ b/examples/parallel_reduce/primes/main.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/parallel_reduce/primes/primes.cpp b/examples/parallel_reduce/primes/primes.cpp
index ee4dded..9db5a89 100644
--- a/examples/parallel_reduce/primes/primes.cpp
+++ b/examples/parallel_reduce/primes/primes.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/parallel_reduce/primes/primes.h b/examples/parallel_reduce/primes/primes.h
index 2d740b1..969feee 100644
--- a/examples/parallel_reduce/primes/primes.h
+++ b/examples/parallel_reduce/primes/primes.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/pipeline/index.html b/examples/pipeline/index.html
index e100c59..8a96b95 100644
--- a/examples/pipeline/index.html
+++ b/examples/pipeline/index.html
@@ -13,7 +13,7 @@ This directory has examples of the template <code>pipeline</code>.
 <HR>
 <A HREF="../index.html">Up to parent directory</A>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <P></P>
 Intel is a registered trademark or trademark of Intel Corporation
 or its subsidiaries in the United States and other countries.
diff --git a/examples/pipeline/square/Makefile b/examples/pipeline/square/Makefile
index 0153cb4..8cd7048 100644
--- a/examples/pipeline/square/Makefile
+++ b/examples/pipeline/square/Makefile
@@ -1,4 +1,4 @@
-# Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+# Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 #
 # This file is part of Threading Building Blocks.
 #
@@ -64,4 +64,4 @@ perf_build: $(SOURCES)
 	$(CXX) -O2 -msse2 -DNDEBUG $(CXXFLAGS) -o $(PROG) $^ -ltbb $(LIBS)
 
 perf_run:
-	./$(PROG) $(PERF_RUN_ARGS)
+	$(run_cmd) ./$(PROG) $(PERF_RUN_ARGS)
diff --git a/examples/pipeline/square/Makefile.windows b/examples/pipeline/square/Makefile.windows
index 87e3ef7..a61ab2b 100644
--- a/examples/pipeline/square/Makefile.windows
+++ b/examples/pipeline/square/Makefile.windows
@@ -1,4 +1,4 @@
-# Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+# Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 #
 # This file is part of Threading Building Blocks.
 #
diff --git a/examples/pipeline/square/gen_input.cpp b/examples/pipeline/square/gen_input.cpp
index d5f9e95..9da29b4 100644
--- a/examples/pipeline/square/gen_input.cpp
+++ b/examples/pipeline/square/gen_input.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/pipeline/square/index.html b/examples/pipeline/square/index.html
index a82c315..2cd8a40 100644
--- a/examples/pipeline/square/index.html
+++ b/examples/pipeline/square/index.html
@@ -61,7 +61,7 @@ Two additional targets for this example:
 <HR>
 <A HREF="../index.html">Up to parent directory</A>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <P></P>
 Intel is a registered trademark or trademark of Intel Corporation
 or its subsidiaries in the United States and other countries.
diff --git a/examples/pipeline/square/square.cpp b/examples/pipeline/square/square.cpp
index 19baa58..566a52c 100644
--- a/examples/pipeline/square/square.cpp
+++ b/examples/pipeline/square/square.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/task/index.html b/examples/task/index.html
index c1a1f60..9a6018d 100644
--- a/examples/task/index.html
+++ b/examples/task/index.html
@@ -13,7 +13,7 @@ This directory has examples of how to use the raw task scheduler.
 <HR>
 <A HREF="../index.html">Up to parent directory</A>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <P></P>
 Intel is a registered trademark or trademark of Intel Corporation
 or its subsidiaries in the United States and other countries.
diff --git a/examples/task/tree_sum/Makefile b/examples/task/tree_sum/Makefile
index 8bbd31c..c572031 100644
--- a/examples/task/tree_sum/Makefile
+++ b/examples/task/tree_sum/Makefile
@@ -1,4 +1,4 @@
-# Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+# Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 #
 # This file is part of Threading Building Blocks.
 #
@@ -62,4 +62,4 @@ test:
 perf_build: release
 
 perf_run:
-	./$(PROG) $(PERF_RUN_ARGS)
+	$(run_cmd) ./$(PROG) $(PERF_RUN_ARGS)
diff --git a/examples/task/tree_sum/Makefile.windows b/examples/task/tree_sum/Makefile.windows
index 0dda1f5..e566547 100644
--- a/examples/task/tree_sum/Makefile.windows
+++ b/examples/task/tree_sum/Makefile.windows
@@ -1,4 +1,4 @@
-# Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+# Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 #
 # This file is part of Threading Building Blocks.
 #
diff --git a/examples/task/tree_sum/OptimizedParallelSumTree.cpp b/examples/task/tree_sum/OptimizedParallelSumTree.cpp
index b3a454a..8388642 100644
--- a/examples/task/tree_sum/OptimizedParallelSumTree.cpp
+++ b/examples/task/tree_sum/OptimizedParallelSumTree.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/task/tree_sum/SerialSumTree.cpp b/examples/task/tree_sum/SerialSumTree.cpp
index 03acf77..83ef786 100644
--- a/examples/task/tree_sum/SerialSumTree.cpp
+++ b/examples/task/tree_sum/SerialSumTree.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/task/tree_sum/SimpleParallelSumTree.cpp b/examples/task/tree_sum/SimpleParallelSumTree.cpp
index 2e9cf93..da6644a 100644
--- a/examples/task/tree_sum/SimpleParallelSumTree.cpp
+++ b/examples/task/tree_sum/SimpleParallelSumTree.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/task/tree_sum/TreeMaker.h b/examples/task/tree_sum/TreeMaker.h
index db8c420..ba56aee 100644
--- a/examples/task/tree_sum/TreeMaker.h
+++ b/examples/task/tree_sum/TreeMaker.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/task/tree_sum/common.h b/examples/task/tree_sum/common.h
index afa63de..6447db1 100644
--- a/examples/task/tree_sum/common.h
+++ b/examples/task/tree_sum/common.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/task/tree_sum/index.html b/examples/task/tree_sum/index.html
index 7d847d3..b692e1a 100644
--- a/examples/task/tree_sum/index.html
+++ b/examples/task/tree_sum/index.html
@@ -65,7 +65,7 @@ General build directions can be found <A HREF=../../index.html#build>here</A>.
 <HR>
 <A HREF="../index.html">Up to parent directory</A>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <P></P>
 Intel is a registered trademark or trademark of Intel Corporation
 or its subsidiaries in the United States and other countries.
diff --git a/examples/task/tree_sum/main.cpp b/examples/task/tree_sum/main.cpp
index defd19f..34aa9ab 100644
--- a/examples/task/tree_sum/main.cpp
+++ b/examples/task/tree_sum/main.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/task_group/index.html b/examples/task_group/index.html
index 6b36cb6..711a0e6 100644
--- a/examples/task_group/index.html
+++ b/examples/task_group/index.html
@@ -13,7 +13,7 @@ This directory has examples of how to use task_groups.
 <HR>
 <A HREF="../index.html">Up to parent directory</A>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <P></P>
 Intel is a registered trademark or trademark of Intel Corporation
 or its subsidiaries in the United States and other countries.
diff --git a/examples/task_group/sudoku/Makefile b/examples/task_group/sudoku/Makefile
index 2ac56de..dbfa530 100644
--- a/examples/task_group/sudoku/Makefile
+++ b/examples/task_group/sudoku/Makefile
@@ -1,4 +1,4 @@
-# Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+# Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 #
 # This file is part of Threading Building Blocks.
 #
@@ -39,7 +39,9 @@ TBBLIB = -ltbb
 TBBLIB_DEBUG = -ltbb_debug
 
 ifneq (,$(filter icc icpc,$(CXX)))
+ifneq (0,$(cpp0x))
 CXX0XFLAGS?=-std=c++0x -D_TBB_CPP0X
+endif
 ifeq ($(offload), mic)
 override CXXFLAGS += -D__TBB_MIC_OFFLOAD=1
 # Replace -ltbb with -tbb in the offload mode
@@ -74,5 +76,5 @@ test:
 perf_build: release
 
 perf_run:
-	./$(PROG) $(PERF_RUN_ARGS)
+	$(run_cmd) ./$(PROG) $(PERF_RUN_ARGS)
 
diff --git a/examples/task_group/sudoku/Makefile.windows b/examples/task_group/sudoku/Makefile.windows
index 79210c3..b60f1af 100644
--- a/examples/task_group/sudoku/Makefile.windows
+++ b/examples/task_group/sudoku/Makefile.windows
@@ -1,4 +1,4 @@
-# Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+# Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 #
 # This file is part of Threading Building Blocks.
 #
diff --git a/examples/task_group/sudoku/index.html b/examples/task_group/sudoku/index.html
index b492b78..539ecae 100644
--- a/examples/task_group/sudoku/index.html
+++ b/examples/task_group/sudoku/index.html
@@ -66,7 +66,7 @@ General build directions can be found <A HREF=../../index.html#build>here</A>.
 <HR>
 <A HREF="../index.html">Up to parent directory</A>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <P></P>
 Intel is a registered trademark or trademark of Intel Corporation
 or its subsidiaries in the United States and other countries.
diff --git a/examples/task_group/sudoku/sudoku.cpp b/examples/task_group/sudoku/sudoku.cpp
index a3c244e..ff9a1a0 100644
--- a/examples/task_group/sudoku/sudoku.cpp
+++ b/examples/task_group/sudoku/sudoku.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/task_priority/fractal/Makefile b/examples/task_priority/fractal/Makefile
index 59bb462..c6bf8b7 100644
--- a/examples/task_priority/fractal/Makefile
+++ b/examples/task_priority/fractal/Makefile
@@ -1,4 +1,4 @@
-# Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+# Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 #
 # This file is part of Threading Building Blocks.
 #
@@ -75,19 +75,19 @@ endif
 
 test:
 ifeq ($(UI),mac)
-	export DYLD_LIBRARY_PATH="$(DYLD_LIBRARY_PATH):$(TBBLIBSPATH)"; ./$(EXE) $(ARGS)
+	export DYLD_LIBRARY_PATH="$(DYLD_LIBRARY_PATH):$(TBBLIBSPATH)"; $(run_cmd) ./$(EXE) $(ARGS)
 else
-	./$(EXE) $(ARGS)
+	$(run_cmd) ./$(EXE) $(ARGS)
 endif
 
 light_test:
 ifeq ($(UI),mac)
-	export DYLD_LIBRARY_PATH="$(DYLD_LIBRARY_PATH):$(TBBLIBSPATH)"; ./$(EXE) $(LIGHT_ARGS)
+	export DYLD_LIBRARY_PATH="$(DYLD_LIBRARY_PATH):$(TBBLIBSPATH)"; $(run_cmd) ./$(EXE) $(LIGHT_ARGS)
 else
-	./$(EXE) $(LIGHT_ARGS)
+	$(run_cmd) ./$(EXE) $(LIGHT_ARGS)
 endif
 
 perf_build: release
 
 perf_run:
-	./$(EXE) $(PERF_RUN_ARGS)
+	$(run_cmd) ./$(EXE) $(PERF_RUN_ARGS)
diff --git a/examples/task_priority/fractal/Makefile.windows b/examples/task_priority/fractal/Makefile.windows
index a3d7c85..2d36d8f 100644
--- a/examples/task_priority/fractal/Makefile.windows
+++ b/examples/task_priority/fractal/Makefile.windows
@@ -1,4 +1,4 @@
-# Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+# Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 #
 # This file is part of Threading Building Blocks.
 #
diff --git a/examples/task_priority/fractal/fractal.cpp b/examples/task_priority/fractal/fractal.cpp
index edfc803..fc88189 100644
--- a/examples/task_priority/fractal/fractal.cpp
+++ b/examples/task_priority/fractal/fractal.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/task_priority/fractal/fractal.h b/examples/task_priority/fractal/fractal.h
index bbee4e9..0b6f385 100644
--- a/examples/task_priority/fractal/fractal.h
+++ b/examples/task_priority/fractal/fractal.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/task_priority/fractal/fractal_video.h b/examples/task_priority/fractal/fractal_video.h
index 0df73d2..ed88ea4 100644
--- a/examples/task_priority/fractal/fractal_video.h
+++ b/examples/task_priority/fractal/fractal_video.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/task_priority/fractal/index.html b/examples/task_priority/fractal/index.html
index ce60c08..d87997c 100644
--- a/examples/task_priority/fractal/index.html
+++ b/examples/task_priority/fractal/index.html
@@ -55,7 +55,7 @@ General build directions can be found <A HREF=../../index.html#build>here</A>.
 <HR>
 <A HREF="../index.html">Up to parent directory</A>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <P></P>
 Intel is a registered trademark or trademark of Intel Corporation
 or its subsidiaries in the United States and other countries.
diff --git a/examples/task_priority/fractal/main.cpp b/examples/task_priority/fractal/main.cpp
index d0cb370..a0f579a 100644
--- a/examples/task_priority/fractal/main.cpp
+++ b/examples/task_priority/fractal/main.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/task_priority/index.html b/examples/task_priority/index.html
index 1612e68..4667edd 100644
--- a/examples/task_priority/index.html
+++ b/examples/task_priority/index.html
@@ -13,7 +13,7 @@ This directory has examples of how to use the task priority feature.
 <HR>
 <A HREF="../index.html">Up to parent directory</A>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <P></P>
 Intel is a registered trademark or trademark of Intel Corporation
 or its subsidiaries in the United States and other countries.
diff --git a/examples/test_all/fibonacci/Fibonacci.cpp b/examples/test_all/fibonacci/Fibonacci.cpp
index 14bf5ba..bbcbdac 100644
--- a/examples/test_all/fibonacci/Fibonacci.cpp
+++ b/examples/test_all/fibonacci/Fibonacci.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/examples/test_all/fibonacci/Makefile b/examples/test_all/fibonacci/Makefile
index 6e9966a..b089a12 100644
--- a/examples/test_all/fibonacci/Makefile
+++ b/examples/test_all/fibonacci/Makefile
@@ -1,4 +1,4 @@
-# Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+# Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 #
 # This file is part of Threading Building Blocks.
 #
diff --git a/examples/test_all/fibonacci/Makefile.windows b/examples/test_all/fibonacci/Makefile.windows
index 756d7b4..8ace2f6 100644
--- a/examples/test_all/fibonacci/Makefile.windows
+++ b/examples/test_all/fibonacci/Makefile.windows
@@ -1,4 +1,4 @@
-# Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+# Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 #
 # This file is part of Threading Building Blocks.
 #
diff --git a/examples/test_all/fibonacci/index.html b/examples/test_all/fibonacci/index.html
index fad590a..fe370ab 100644
--- a/examples/test_all/fibonacci/index.html
+++ b/examples/test_all/fibonacci/index.html
@@ -41,7 +41,7 @@ General build directions can be found <A HREF=../../index.html#build>here</A>.
 <HR>
 <A HREF="../index.html">Up to parent directory</A>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <P></P>
 Intel is a registered trademark or trademark of Intel Corporation
 or its subsidiaries in the United States and other countries.
diff --git a/examples/test_all/index.html b/examples/test_all/index.html
index 2ae10f8..7850f4a 100644
--- a/examples/test_all/index.html
+++ b/examples/test_all/index.html
@@ -13,7 +13,7 @@ This directory contains programs that exercise all the components of Intel®
 <HR>
 <A HREF="../index.html">Up to parent directory</A>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <P></P>
 Intel is a registered trademark or trademark of Intel Corporation
 or its subsidiaries in the United States and other countries.
diff --git a/include/index.html b/include/index.html
index 64c59c3..0c85b47 100644
--- a/include/index.html
+++ b/include/index.html
@@ -13,7 +13,7 @@ Include files for Intel® Threading Building Blocks (Intel® TBB).
 <HR>
 <A HREF="../index.html">Up to parent directory</A>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <P></P>
 Intel is a registered trademark or trademark of Intel Corporation
 or its subsidiaries in the United States and other countries.
diff --git a/include/serial/tbb/parallel_for.h b/include/serial/tbb/parallel_for.h
index 6c689fc..f84f681 100644
--- a/include/serial/tbb/parallel_for.h
+++ b/include/serial/tbb/parallel_for.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
@@ -94,7 +94,7 @@ public:
 
 template< typename Range, typename Body, typename Partitioner >
 void start_for< Range, Body, Partitioner >::execute() {
-    if( !my_range.is_divisible() || !my_partition.divisions_left() ) {
+    if( !my_range.is_divisible() || !my_partition.is_divisible() ) {
         ANNOTATE_TASK_BEGIN( tbb_parallel_for_range );
         {
             my_body( my_range );
diff --git a/include/serial/tbb/tbb_annotate.h b/include/serial/tbb/tbb_annotate.h
index a144e27..e2582a8 100644
--- a/include/serial/tbb/tbb_annotate.h
+++ b/include/serial/tbb/tbb_annotate.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/include/tbb/aggregator.h b/include/tbb/aggregator.h
index 1095af9..f69743d 100644
--- a/include/tbb/aggregator.h
+++ b/include/tbb/aggregator.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/include/tbb/aligned_space.h b/include/tbb/aligned_space.h
index d7397d4..e6107c6 100644
--- a/include/tbb/aligned_space.h
+++ b/include/tbb/aligned_space.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/include/tbb/atomic.h b/include/tbb/atomic.h
index 294a924..014ad00 100644
--- a/include/tbb/atomic.h
+++ b/include/tbb/atomic.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/include/tbb/blocked_range.h b/include/tbb/blocked_range.h
index 43474d2..f2a069d 100644
--- a/include/tbb/blocked_range.h
+++ b/include/tbb/blocked_range.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/include/tbb/blocked_range2d.h b/include/tbb/blocked_range2d.h
index 1919223..0738b7e 100644
--- a/include/tbb/blocked_range2d.h
+++ b/include/tbb/blocked_range2d.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/include/tbb/blocked_range3d.h b/include/tbb/blocked_range3d.h
index 534fc90..e269467 100644
--- a/include/tbb/blocked_range3d.h
+++ b/include/tbb/blocked_range3d.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/include/tbb/cache_aligned_allocator.h b/include/tbb/cache_aligned_allocator.h
index 34da462..b9fa58d 100644
--- a/include/tbb/cache_aligned_allocator.h
+++ b/include/tbb/cache_aligned_allocator.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
@@ -102,7 +102,7 @@ public:
     }
 
     //! Copy-construct value at location pointed to by p.
-#if __TBB_CPP11_VARIADIC_TEMPLATES_PRESENT && __TBB_CPP11_RVALUE_REF_PRESENT
+#if __TBB_ALLOCATOR_CONSTRUCT_VARIADIC
     template<typename U, typename... Args>
     void construct(U *p, Args&&... args)
  #if __TBB_CPP11_STD_FORWARD_BROKEN
@@ -110,9 +110,9 @@ public:
  #else
         { ::new((void *)p) U(std::forward<Args>(args)...); }
  #endif
-#else // __TBB_CPP11_VARIADIC_TEMPLATES_PRESENT && __TBB_CPP11_RVALUE_REF_PRESENT
+#else // __TBB_ALLOCATOR_CONSTRUCT_VARIADIC
     void construct( pointer p, const value_type& value ) {::new((void*)(p)) value_type(value);}
-#endif // __TBB_CPP11_VARIADIC_TEMPLATES_PRESENT && __TBB_CPP11_RVALUE_REF_PRESENT
+#endif // __TBB_ALLOCATOR_CONSTRUCT_VARIADIC
 
     //! Destroy value at location pointed to by p.
     void destroy( pointer p ) {p->~value_type();}
diff --git a/include/tbb/combinable.h b/include/tbb/combinable.h
index a530995..31efa7e 100644
--- a/include/tbb/combinable.h
+++ b/include/tbb/combinable.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/include/tbb/compat/condition_variable b/include/tbb/compat/condition_variable
index 9829cd0..4727c49 100644
--- a/include/tbb/compat/condition_variable
+++ b/include/tbb/compat/condition_variable
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/include/tbb/compat/ppl.h b/include/tbb/compat/ppl.h
index 4d2fc28..d01783c 100644
--- a/include/tbb/compat/ppl.h
+++ b/include/tbb/compat/ppl.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/include/tbb/compat/thread b/include/tbb/compat/thread
index 80e2619..04cfda4 100644
--- a/include/tbb/compat/thread
+++ b/include/tbb/compat/thread
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/include/tbb/compat/tuple b/include/tbb/compat/tuple
index f61e637..30b7085 100644
--- a/include/tbb/compat/tuple
+++ b/include/tbb/compat/tuple
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/include/tbb/concurrent_hash_map.h b/include/tbb/concurrent_hash_map.h
index 4acc9b6..eb45861 100644
--- a/include/tbb/concurrent_hash_map.h
+++ b/include/tbb/concurrent_hash_map.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
@@ -306,12 +306,13 @@ namespace interface5 {
         }
         //! Swap hash_map_bases
         void internal_swap(hash_map_base &table) {
-            std::swap(this->my_mask, table.my_mask);
-            std::swap(this->my_size, table.my_size);
+            using std::swap;
+            swap(this->my_mask, table.my_mask);
+            swap(this->my_size, table.my_size);
             for(size_type i = 0; i < embedded_buckets; i++)
-                std::swap(this->my_embedded_segment[i].node_list, table.my_embedded_segment[i].node_list);
+                swap(this->my_embedded_segment[i].node_list, table.my_embedded_segment[i].node_list);
             for(size_type i = embedded_block; i < pointers_per_table; i++)
-                std::swap(this->my_table[i], table.my_table[i]);
+                swap(this->my_table[i], table.my_table[i]);
         }
     };
 
@@ -950,7 +951,7 @@ protected:
         hashcode_t m = (hashcode_t) itt_load_word_with_acquire( my_mask );
         node *n;
     restart:
-        __TBB_ASSERT((m&(m+1))==0, NULL);
+        __TBB_ASSERT((m&(m+1))==0, "data structure is invalid");
         bucket *b = get_bucket( h & m );
         // TODO: actually, notification is unnecessary here, just hiding double-check
         if( itt_load_word_with_acquire(b->node_list) == internal::rehash_req )
@@ -988,7 +989,7 @@ bool concurrent_hash_map<Key,T,HashCompare,A>::lookup( bool op_insert, const Key
     node *n, *tmp_n = 0;
     restart:
     {//lock scope
-        __TBB_ASSERT((m&(m+1))==0, NULL);
+        __TBB_ASSERT((m&(m+1))==0, "data structure is invalid");
         return_value = false;
         // get bucket
         bucket_accessor b( this, h & m );
@@ -1063,7 +1064,7 @@ template<typename I>
 std::pair<I, I> concurrent_hash_map<Key,T,HashCompare,A>::internal_equal_range( const Key& key, I end_ ) const {
     hashcode_t h = my_hash_compare.hash( key );
     hashcode_t m = my_mask;
-    __TBB_ASSERT((m&(m+1))==0, NULL);
+    __TBB_ASSERT((m&(m+1))==0, "data structure is invalid");
     h &= m;
     bucket *b = get_bucket( h );
     while( b->node_list == internal::rehash_req ) {
@@ -1146,8 +1147,9 @@ restart:
 
 template<typename Key, typename T, typename HashCompare, typename A>
 void concurrent_hash_map<Key,T,HashCompare,A>::swap(concurrent_hash_map<Key,T,HashCompare,A> &table) {
-    std::swap(this->my_allocator, table.my_allocator);
-    std::swap(this->my_hash_compare, table.my_hash_compare);
+    using std::swap;
+    swap(this->my_allocator, table.my_allocator);
+    swap(this->my_hash_compare, table.my_hash_compare);
     internal_swap(table);
 }
 
@@ -1220,7 +1222,7 @@ void concurrent_hash_map<Key,T,HashCompare,A>::rehash(size_type sz) {
 template<typename Key, typename T, typename HashCompare, typename A>
 void concurrent_hash_map<Key,T,HashCompare,A>::clear() {
     hashcode_t m = my_mask;
-    __TBB_ASSERT((m&(m+1))==0, NULL);
+    __TBB_ASSERT((m&(m+1))==0, "data structure is invalid");
 #if TBB_USE_ASSERT || TBB_USE_PERFORMANCE_WARNINGS || __TBB_STATISTICS
 #if TBB_USE_PERFORMANCE_WARNINGS || __TBB_STATISTICS
     int current_size = int(my_size), buckets = int(m)+1, empty_buckets = 0, overpopulated_buckets = 0; // usage statistics
diff --git a/include/tbb/concurrent_lru_cache.h b/include/tbb/concurrent_lru_cache.h
index f6258d1..25d1c11 100644
--- a/include/tbb/concurrent_lru_cache.h
+++ b/include/tbb/concurrent_lru_cache.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/include/tbb/concurrent_priority_queue.h b/include/tbb/concurrent_priority_queue.h
index f368bb9..7961161 100644
--- a/include/tbb/concurrent_priority_queue.h
+++ b/include/tbb/concurrent_priority_queue.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
@@ -197,9 +197,10 @@ class concurrent_priority_queue {
     //! Swap this queue with another; not thread-safe
     /** This operation is unsafe if there are pending concurrent operations on the queue. */
     void swap(concurrent_priority_queue& q) {
+        using std::swap;
         data.swap(q.data);
-        std::swap(mark, q.mark);
-        std::swap(my_size, q.my_size);
+        swap(mark, q.mark);
+        swap(my_size, q.my_size);
     }
 
     //! Return allocator object
diff --git a/include/tbb/concurrent_queue.h b/include/tbb/concurrent_queue.h
index f8dbb80..ebd11c2 100644
--- a/include/tbb/concurrent_queue.h
+++ b/include/tbb/concurrent_queue.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/include/tbb/concurrent_unordered_map.h b/include/tbb/concurrent_unordered_map.h
index 714a5ab..06bfa09 100644
--- a/include/tbb/concurrent_unordered_map.h
+++ b/include/tbb/concurrent_unordered_map.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/include/tbb/concurrent_unordered_set.h b/include/tbb/concurrent_unordered_set.h
index 8ce4163..15ca9fa 100644
--- a/include/tbb/concurrent_unordered_set.h
+++ b/include/tbb/concurrent_unordered_set.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/include/tbb/concurrent_vector.h b/include/tbb/concurrent_vector.h
index 787278a..29dbbfb 100644
--- a/include/tbb/concurrent_vector.h
+++ b/include/tbb/concurrent_vector.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
@@ -870,9 +870,10 @@ public:
 
     //! swap two instances
     void swap(concurrent_vector &vector) {
+        using std::swap;
         if( this != &vector ) {
             concurrent_vector_base_v3::internal_swap(static_cast<concurrent_vector_base_v3&>(vector));
-            std::swap(this->my_allocator, vector.my_allocator);
+            swap(this->my_allocator, vector.my_allocator);
         }
     }
 
diff --git a/include/tbb/critical_section.h b/include/tbb/critical_section.h
index 0522c4c..45b2a5c 100644
--- a/include/tbb/critical_section.h
+++ b/include/tbb/critical_section.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/include/tbb/enumerable_thread_specific.h b/include/tbb/enumerable_thread_specific.h
index 92f306f..bbf7827 100644
--- a/include/tbb/enumerable_thread_specific.h
+++ b/include/tbb/enumerable_thread_specific.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/include/tbb/flow_graph.h b/include/tbb/flow_graph.h
index 75e05a5..cbe2bbc 100644
--- a/include/tbb/flow_graph.h
+++ b/include/tbb/flow_graph.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
@@ -38,8 +38,9 @@
 #include "task.h"
 #include "concurrent_vector.h"
 #include "internal/_aggregator_impl.h"
+#include "tbb_profiling.h"
 
-#if TBB_DEPRECATED_FLOW_ENQUEUE 
+#if TBB_DEPRECATED_FLOW_ENQUEUE
 #define FLOW_SPAWN(a) tbb::task::enqueue((a))
 #else
 #define FLOW_SPAWN(a) tbb::task::spawn((a))
@@ -79,7 +80,7 @@ namespace flow {
 //! An enumeration the provides the two most common concurrency levels: unlimited and serial
 enum concurrency { unlimited = 0, serial = 1 };
 
-namespace interface6 {
+namespace interface7 {
 
 namespace internal {
     template<typename T, typename M> class successor_cache;
@@ -271,6 +272,15 @@ protected:
         friend class internal::successor_cache;
     /*override*/ bool is_continue_receiver() { return true; }
 };
+}  // interface7
+}  // flow
+}  // tbb
+
+#include "internal/_flow_graph_trace_impl.h"
+
+namespace tbb {
+namespace flow {
+namespace interface7 {
 
 #include "internal/_flow_graph_impl.h"
 using namespace internal::graph_policy_namespace;
@@ -377,7 +387,7 @@ class graph : tbb::internal::no_copy {
     };
 
 public:
-    //! Constructs a graph with isolated task_group_context 
+    //! Constructs a graph with isolated task_group_context
     explicit graph() : my_nodes(NULL), my_nodes_last(NULL)
     {
         own_context = true;
@@ -386,6 +396,7 @@ public:
         my_context = new task_group_context();
         my_root_task = ( new ( task::allocate_root(*my_context) ) empty_task );
         my_root_task->set_ref_count(1);
+        tbb::internal::fgt_graph( this );
     }
 
     //! Constructs a graph with use_this_context as context
@@ -395,6 +406,7 @@ public:
         own_context = false;
         my_root_task = ( new ( task::allocate_root(*my_context) ) empty_task );
         my_root_task->set_ref_count(1);
+        tbb::internal::fgt_graph( this );
     }
 
     //! Destroys the graph.
@@ -406,6 +418,12 @@ public:
         if (own_context) delete my_context;
     }
 
+#if TBB_PREVIEW_FLOW_GRAPH_TRACE
+    void set_name( const char *name ) {
+        tbb::internal::fgt_graph_desc( this, name );
+    }
+#endif
+
     //! Used to register that an external entity may still interact with the graph.
     /** The graph will not return from wait_for_all until a matching number of decrement_wait_count calls
         is made. */
@@ -427,7 +445,7 @@ public:
         that need to block a wait_for_all() on the graph.  For example a one-off source. */
     template< typename Receiver, typename Body >
         void run( Receiver &r, Body body ) {
-       FLOW_SPAWN( (* new ( task::allocate_additional_child_of( *my_root_task ) ) 
+       FLOW_SPAWN( (* new ( task::allocate_additional_child_of( *my_root_task ) )
                    run_and_put_task< Receiver, Body >( r, body )) );
     }
 
@@ -509,10 +527,10 @@ private:
     graph_node *my_nodes, *my_nodes_last;
 
     spin_mutex nodelist_mutex;
-    void register_node(graph_node *n); 
+    void register_node(graph_node *n);
     void remove_node(graph_node *n);
 
-};
+};  // class graph
 
 template <typename C, typename N>
 graph_iterator<C,N>::graph_iterator(C *g, bool begin) : my_graph(g), current_node(NULL)
@@ -528,7 +546,7 @@ typename graph_iterator<C,N>::reference graph_iterator<C,N>::operator*() const {
 }
 
 template <typename C, typename N>
-typename graph_iterator<C,N>::pointer graph_iterator<C,N>::operator->() const { 
+typename graph_iterator<C,N>::pointer graph_iterator<C,N>::operator->() const {
     return current_node;
 }
 
@@ -554,6 +572,10 @@ public:
         my_graph.remove_node(this);
     }
 
+#if TBB_PREVIEW_FLOW_GRAPH_TRACE
+    virtual void set_name( const char *name ) = 0;
+#endif
+
 protected:
     virtual void reset() = 0;
 };
@@ -583,6 +605,8 @@ inline void graph::remove_node(graph_node *n) {
 
 inline void graph::reset() {
     // reset context
+    task *saved_my_root_task = my_root_task;
+    my_root_task = NULL;
     if(my_context) my_context->reset();
     cancelled = false;
     caught_exception = false;
@@ -591,6 +615,7 @@ inline void graph::reset() {
         graph_node *my_p = &(*ii);
         my_p->reset();
     }
+    my_root_task = saved_my_root_task;
 }
 
 
@@ -611,26 +636,36 @@ public:
     //! Constructor for a node with a successor
     template< typename Body >
     source_node( graph &g, Body body, bool is_active = true )
-        : graph_node(g), my_root_task(g.root_task()), my_active(is_active), init_my_active(is_active),
+        : graph_node(g), my_active(is_active), init_my_active(is_active),
         my_body( new internal::source_body_leaf< output_type, Body>(body) ),
         my_reserved(false), my_has_cached_item(false)
     {
         my_successors.set_owner(this);
+        tbb::internal::fgt_node_with_body( tbb::internal::FLOW_SOURCE_NODE, &this->my_graph, 
+                                           static_cast<sender<output_type> *>(this), this->my_body );
     }
 
     //! Copy constructor
     source_node( const source_node& src ) :
         graph_node(src.my_graph), sender<Output>(),
-        my_root_task( src.my_root_task), my_active(src.init_my_active),
+        my_active(src.init_my_active),
         init_my_active(src.init_my_active), my_body( src.my_body->clone() ),
         my_reserved(false), my_has_cached_item(false)
     {
         my_successors.set_owner(this);
+        tbb::internal::fgt_node_with_body( tbb::internal::FLOW_SOURCE_NODE, &this->my_graph, 
+                                           static_cast<sender<output_type> *>(this), this->my_body );
     }
 
     //! The destructor
     ~source_node() { delete my_body; }
 
+#if TBB_PREVIEW_FLOW_GRAPH_TRACE
+    /* override */ void set_name( const char *name ) {
+        tbb::internal::fgt_node_desc( this, name );
+    }
+#endif
+
     //! Add a new successor to this node
     /* override */ bool register_successor( receiver<output_type> &r ) {
         spin_mutex::scoped_lock lock(my_mutex);
@@ -712,9 +747,9 @@ public:
     }
 
     template<typename Body>
-    Body copy_function_object() { 
+    Body copy_function_object() {
         internal::source_body<output_type> &body_ref = *this->my_body;
-        return dynamic_cast< internal::source_body_leaf<output_type, Body> & >(body_ref).get_body(); 
+        return dynamic_cast< internal::source_body_leaf<output_type, Body> & >(body_ref).get_body();
     }
 
 protected:
@@ -729,7 +764,6 @@ protected:
     }
 
 private:
-    task *my_root_task;
     spin_mutex my_mutex;
     bool my_active;
     bool init_my_active;
@@ -745,8 +779,14 @@ private:
         if ( my_reserved ) {
             return false;
         }
-        if ( !my_has_cached_item && (*my_body)(my_cached_item) )
-            my_has_cached_item = true;
+        if ( !my_has_cached_item ) {
+            tbb::internal::fgt_begin_body( my_body );
+            bool r = (*my_body)(my_cached_item); 
+            tbb::internal::fgt_end_body( my_body );
+            if (r) {
+                my_has_cached_item = true;
+            }
+        }
         if ( my_has_cached_item ) {
             v = my_cached_item;
             my_reserved = true;
@@ -758,8 +798,11 @@ private:
 
     //! Spawns a task that applies the body
     /* override */ void spawn_put( ) {
-        FLOW_SPAWN( (* new ( task::allocate_additional_child_of( *my_root_task ) ) 
-                    internal:: source_task_bypass < source_node< output_type > >( *this ) ) );
+        task* tp = this->my_graph.root_task();
+        if(tp) {
+            FLOW_SPAWN( (* new ( task::allocate_additional_child_of( *tp ) )
+                        internal:: source_task_bypass < source_node< output_type > >( *this ) ) );
+        }
     }
 
     friend class internal::source_task_bypass< source_node< output_type > >;
@@ -794,14 +837,24 @@ public:
     //! Constructor
     template< typename Body >
     function_node( graph &g, size_t concurrency, Body body ) :
-        graph_node(g), internal::function_input<input_type,output_type,Allocator>(g, concurrency, body)
-    {}
+        graph_node(g), internal::function_input<input_type,output_type,Allocator>(g, concurrency, body) {
+        tbb::internal::fgt_node_with_body( tbb::internal::FLOW_FUNCTION_NODE, &this->graph_node::my_graph, static_cast<receiver<input_type> *>(this), 
+                                           static_cast<sender<output_type> *>(this), this->my_body );
+    }
 
     //! Copy constructor
     function_node( const function_node& src ) :
         graph_node(src.my_graph), internal::function_input<input_type,output_type,Allocator>( src ),
-        fOutput_type()
-    {}
+        fOutput_type() {
+        tbb::internal::fgt_node_with_body( tbb::internal::FLOW_FUNCTION_NODE, &this->my_graph, static_cast<receiver<input_type> *>(this), 
+                                           static_cast<sender<output_type> *>(this), this->my_body );
+    }
+
+#if TBB_PREVIEW_FLOW_GRAPH_TRACE
+    /* override */ void set_name( const char *name ) {
+        tbb::internal::fgt_node_desc( this, name );
+    }
+#endif
 
 protected:
     template< typename R, typename B > friend class run_and_put_task;
@@ -832,13 +885,23 @@ public:
     //! Constructor
     template< typename Body >
     function_node( graph &g, size_t concurrency, Body body ) :
-        graph_node(g), fInput_type( g, concurrency, body, new queue_type() )
-    {}
+        graph_node(g), fInput_type( g, concurrency, body, new queue_type() ) {
+        tbb::internal::fgt_node_with_body( tbb::internal::FLOW_FUNCTION_NODE, &this->graph_node::my_graph, static_cast<receiver<input_type> *>(this),
+                                           static_cast<sender<output_type> *>(this), this->my_body );
+    }
 
     //! Copy constructor
     function_node( const function_node& src ) :
-        graph_node(src.my_graph), fInput_type( src, new queue_type() ), fOutput_type()
-    {}
+        graph_node(src.graph_node::my_graph), fInput_type( src, new queue_type() ), fOutput_type() {
+        tbb::internal::fgt_node_with_body( tbb::internal::FLOW_FUNCTION_NODE, &this->graph_node::my_graph, static_cast<receiver<input_type> *>(this),
+                                           static_cast<sender<output_type> *>(this), this->my_body );
+    }
+
+#if TBB_PREVIEW_FLOW_GRAPH_TRACE
+    /* override */ void set_name( const char *name ) {
+        tbb::internal::fgt_node_desc( this, name );
+    }
+#endif
 
 protected:
     template< typename R, typename B > friend class run_and_put_task;
@@ -881,11 +944,25 @@ private:
 public:
     template<typename Body>
     multifunction_node( graph &g, size_t concurrency, Body body ) :
-        graph_node(g), base_type(g,concurrency, body)
-    {}
+        graph_node(g), base_type(g,concurrency, body) {
+        tbb::internal::fgt_multioutput_node_with_body<Output,N>( tbb::internal::FLOW_MULTIFUNCTION_NODE, 
+                                                                 &this->graph_node::my_graph, static_cast<receiver<input_type> *>(this), 
+                                                                 this->output_ports(), this->my_body );
+    }
+
     multifunction_node( const multifunction_node &other) :
-        graph_node(other.my_graph), base_type(other)
-    {}
+        graph_node(other.graph_node::my_graph), base_type(other) {
+        tbb::internal::fgt_multioutput_node_with_body<Output,N>( tbb::internal::FLOW_MULTIFUNCTION_NODE, 
+                                                                 &this->graph_node::my_graph, static_cast<receiver<input_type> *>(this), 
+                                                                 this->output_ports(), this->my_body );
+    }
+
+#if TBB_PREVIEW_FLOW_GRAPH_TRACE
+    /* override */ void set_name( const char *name ) {
+        tbb::internal::fgt_multioutput_node_desc( this, name );
+    }
+#endif
+
     // all the guts are in multifunction_input...
 protected:
     /*override*/void reset() { base_type::reset(); }
@@ -906,11 +983,25 @@ private:
 public:
     template<typename Body>
     multifunction_node( graph &g, size_t concurrency, Body body) :
-        graph_node(g), base_type(g,concurrency, body, new queue_type())
-    {}
+        graph_node(g), base_type(g,concurrency, body, new queue_type()) {
+        tbb::internal::fgt_multioutput_node_with_body<Output,N>( tbb::internal::FLOW_MULTIFUNCTION_NODE, 
+                                                                 &this->graph_node::my_graph, static_cast<receiver<input_type> *>(this),
+                                                                 this->output_ports(), this->my_body );
+    }
+
     multifunction_node( const multifunction_node &other) :
-        graph_node(other.my_graph), base_type(other, new queue_type())
-    {}
+        graph_node(other.graph_node::my_graph), base_type(other, new queue_type()) {
+        tbb::internal::fgt_multioutput_node_with_body<Output,N>( tbb::internal::FLOW_MULTIFUNCTION_NODE, 
+                                                                 &this->graph_node::my_graph, static_cast<receiver<input_type> *>(this),
+                                                                 this->output_ports(), this->my_body );
+    }
+
+#if TBB_PREVIEW_FLOW_GRAPH_TRACE
+    /* override */ void set_name( const char *name ) {
+        tbb::internal::fgt_multioutput_node_desc( this, name );
+    }
+#endif
+
     // all the guts are in multifunction_input...
 protected:
     /*override*/void reset() { base_type::reset(); }
@@ -934,8 +1025,22 @@ private:
 public:
     typedef TupleType input_type;
     typedef Allocator allocator_type;
-    split_node(graph &g) : base_type(g, unlimited, splitting_body()) {}
-    split_node( const split_node & other) : base_type(other) {}
+    split_node(graph &g) : base_type(g, unlimited, splitting_body()) {
+        tbb::internal::fgt_multioutput_node<TupleType,N>( tbb::internal::FLOW_SPLIT_NODE, &this->graph_node::my_graph, 
+                                                          static_cast<receiver<input_type> *>(this), this->output_ports() );
+    }
+
+    split_node( const split_node & other) : base_type(other) {
+        tbb::internal::fgt_multioutput_node<TupleType,N>( tbb::internal::FLOW_SPLIT_NODE, &this->graph_node::my_graph, 
+                                                          static_cast<receiver<input_type> *>(this), this->output_ports() );
+    }
+
+#if TBB_PREVIEW_FLOW_GRAPH_TRACE
+    /* override */ void set_name( const char *name ) {
+        tbb::internal::fgt_multioutput_node_desc( this, name );
+    }
+#endif
+
 };
 
 //! Implements an executable node that supports continue_msg -> Output
@@ -954,20 +1059,36 @@ public:
     //! Constructor for executable node with continue_msg -> Output
     template <typename Body >
     continue_node( graph &g, Body body ) :
-        graph_node(g), internal::continue_input<output_type>( g, body )
-    {}
+        graph_node(g), internal::continue_input<output_type>( g, body ) {
+        tbb::internal::fgt_node_with_body( tbb::internal::FLOW_CONTINUE_NODE, &this->my_graph, 
+                                           static_cast<receiver<input_type> *>(this),
+                                           static_cast<sender<output_type> *>(this), this->my_body );
+    }
+
 
     //! Constructor for executable node with continue_msg -> Output
     template <typename Body >
     continue_node( graph &g, int number_of_predecessors, Body body ) :
-        graph_node(g), internal::continue_input<output_type>( g, number_of_predecessors, body )
-    {}
+        graph_node(g), internal::continue_input<output_type>( g, number_of_predecessors, body ) {
+        tbb::internal::fgt_node_with_body( tbb::internal::FLOW_CONTINUE_NODE, &this->my_graph, 
+                                           static_cast<receiver<input_type> *>(this),
+                                           static_cast<sender<output_type> *>(this), this->my_body );
+    }
 
     //! Copy constructor
     continue_node( const continue_node& src ) :
-        graph_node(src.my_graph), internal::continue_input<output_type>(src),
-        internal::function_output<Output>()
-    {}
+        graph_node(src.graph_node::my_graph), internal::continue_input<output_type>(src),
+        internal::function_output<Output>() {
+        tbb::internal::fgt_node_with_body( tbb::internal::FLOW_CONTINUE_NODE, &this->my_graph, 
+                                           static_cast<receiver<input_type> *>(this),
+                                           static_cast<sender<output_type> *>(this), this->my_body );
+    }
+
+#if TBB_PREVIEW_FLOW_GRAPH_TRACE
+    /* override */ void set_name( const char *name ) {
+        tbb::internal::fgt_node_desc( this, name );
+    }
+#endif
 
 protected:
     template< typename R, typename B > friend class run_and_put_task;
@@ -978,7 +1099,7 @@ protected:
     /*override*/void reset() { internal::continue_input<Output>::reset_receiver(); }
 
     /* override */ internal::broadcast_cache<output_type> &successors () { return fOutput_type::my_successors; }
-};
+};  // continue_node
 
 template< typename T >
 class overwrite_node : public graph_node, public receiver<T>, public sender<T> {
@@ -992,6 +1113,8 @@ public:
 
     overwrite_node(graph &g) : graph_node(g), my_buffer_is_valid(false) {
         my_successors.set_owner( this );
+        tbb::internal::fgt_node( tbb::internal::FLOW_OVERWRITE_NODE, &this->my_graph, 
+                                 static_cast<receiver<input_type> *>(this), static_cast<sender<output_type> *>(this) );
     }
 
     // Copy constructor; doesn't take anything from src; default won't work
@@ -999,10 +1122,18 @@ public:
         graph_node(src.my_graph), receiver<T>(), sender<T>(), my_buffer_is_valid(false)
     {
         my_successors.set_owner( this );
+        tbb::internal::fgt_node( tbb::internal::FLOW_OVERWRITE_NODE, &this->my_graph, 
+                                 static_cast<receiver<input_type> *>(this), static_cast<sender<output_type> *>(this) );
     }
 
     ~overwrite_node() {}
 
+#if TBB_PREVIEW_FLOW_GRAPH_TRACE
+    /* override */ void set_name( const char *name ) {
+        tbb::internal::fgt_node_desc( this, name );
+    }
+#endif
+
     /* override */ bool register_successor( successor_type &s ) {
         spin_mutex::scoped_lock l( my_mutex );
         if ( my_buffer_is_valid ) {
@@ -1079,10 +1210,24 @@ public:
     typedef receiver< output_type > successor_type;
 
     //! Constructor
-    write_once_node(graph& g) : overwrite_node<T>(g) {}
+    write_once_node(graph& g) : overwrite_node<T>(g) {
+        tbb::internal::fgt_node( tbb::internal::FLOW_WRITE_ONCE_NODE, &(this->my_graph), 
+                                 static_cast<receiver<input_type> *>(this),
+                                 static_cast<sender<output_type> *>(this) );
+    }
 
     //! Copy constructor: call base class copy constructor
-    write_once_node( const write_once_node& src ) : overwrite_node<T>(src) {}
+    write_once_node( const write_once_node& src ) : overwrite_node<T>(src) {
+        tbb::internal::fgt_node( tbb::internal::FLOW_WRITE_ONCE_NODE, &(this->my_graph), 
+                                 static_cast<receiver<input_type> *>(this),
+                                 static_cast<sender<output_type> *>(this) );
+    }
+
+#if TBB_PREVIEW_FLOW_GRAPH_TRACE
+    /* override */ void set_name( const char *name ) {
+        tbb::internal::fgt_node_desc( this, name );
+    }
+#endif
 
 protected:
     template< typename R, typename B > friend class run_and_put_task;
@@ -1117,6 +1262,8 @@ public:
 
     broadcast_node(graph& g) : graph_node(g) {
         my_successors.set_owner( this );
+        tbb::internal::fgt_node( tbb::internal::FLOW_BROADCAST_NODE, &this->my_graph, 
+                                 static_cast<receiver<input_type> *>(this), static_cast<sender<output_type> *>(this) );
     }
 
     // Copy constructor
@@ -1124,8 +1271,16 @@ public:
         graph_node(src.my_graph), receiver<T>(), sender<T>()
     {
         my_successors.set_owner( this );
+        tbb::internal::fgt_node( tbb::internal::FLOW_BROADCAST_NODE, &this->my_graph, 
+                                 static_cast<receiver<input_type> *>(this), static_cast<sender<output_type> *>(this) );
     }
 
+#if TBB_PREVIEW_FLOW_GRAPH_TRACE
+    /* override */ void set_name( const char *name ) {
+        tbb::internal::fgt_node_desc( this, name );
+    }
+#endif
+
     //! Adds a successor
     virtual bool register_successor( receiver<T> &r ) {
         my_successors.register_successor( r );
@@ -1170,8 +1325,6 @@ protected:
     typedef size_t size_type;
     internal::round_robin_cache< T, null_rw_mutex > my_successors;
 
-    task *my_parent;
-
     friend class internal::forward_task_bypass< buffer_node< T, A > >;
 
     enum op_type {reg_succ, rem_succ, req_item, res_item, rel_res, con_res, put_item, try_fwd_task };
@@ -1211,14 +1364,17 @@ protected:
             }
         }
         if (try_forwarding && !forwarder_busy) {
-            forwarder_busy = true;
-            task *new_task = new(task::allocate_additional_child_of(*my_parent)) internal::
-                    forward_task_bypass
-                    < buffer_node<input_type, A> >(*this);
-            // tmp should point to the last item handled by the aggregator.  This is the operation
-            // the handling thread enqueued.  So modifying that record will be okay.
-            tbb::task *z = tmp->ltask;
-            tmp->ltask = combine_tasks(z, new_task);  // in case the op generated a task
+            task* tp = this->my_graph.root_task();
+            if(tp) {
+                forwarder_busy = true;
+                task *new_task = new(task::allocate_additional_child_of(*tp)) internal::
+                        forward_task_bypass
+                        < buffer_node<input_type, A> >(*this);
+                // tmp should point to the last item handled by the aggregator.  This is the operation
+                // the handling thread enqueued.  So modifying that record will be okay.
+                tbb::task *z = tmp->ltask;
+                tmp->ltask = combine_tasks(z, new_task);  // in case the op generated a task
+            }
         }
     }
 
@@ -1328,22 +1484,31 @@ protected:
 public:
     //! Constructor
     buffer_node( graph &g ) : graph_node(g), reservable_item_buffer<T>(),
-        my_parent( g.root_task() ), forwarder_busy(false) {
+        forwarder_busy(false) {
         my_successors.set_owner(this);
         my_aggregator.initialize_handler(my_handler(this));
+        tbb::internal::fgt_node( tbb::internal::FLOW_BUFFER_NODE, &this->my_graph, 
+                                 static_cast<receiver<input_type> *>(this), static_cast<sender<output_type> *>(this) );
     }
 
     //! Copy constructor
     buffer_node( const buffer_node& src ) : graph_node(src.my_graph),
-        reservable_item_buffer<T>(), receiver<T>(), sender<T>(),
-        my_parent( src.my_parent ) {
+        reservable_item_buffer<T>(), receiver<T>(), sender<T>() {
         forwarder_busy = false;
         my_successors.set_owner(this);
         my_aggregator.initialize_handler(my_handler(this));
+        tbb::internal::fgt_node( tbb::internal::FLOW_BUFFER_NODE, &this->my_graph, 
+                                 static_cast<receiver<input_type> *>(this), static_cast<sender<output_type> *>(this) );
     }
 
     virtual ~buffer_node() {}
 
+#if TBB_PREVIEW_FLOW_GRAPH_TRACE
+    /* override */ void set_name( const char *name ) {
+        tbb::internal::fgt_node_desc( this, name );
+    }
+#endif
+
     //
     // message sender implementation
     //
@@ -1510,10 +1675,25 @@ public:
     typedef receiver< output_type > successor_type;
 
     //! Constructor
-    queue_node( graph &g ) : buffer_node<T, A>(g) {}
+    queue_node( graph &g ) : buffer_node<T, A>(g) {
+        tbb::internal::fgt_node( tbb::internal::FLOW_QUEUE_NODE, &(this->my_graph), 
+                                 static_cast<receiver<input_type> *>(this),
+                                 static_cast<sender<output_type> *>(this) );
+    }
 
     //! Copy constructor
-    queue_node( const queue_node& src) : buffer_node<T, A>(src) {}
+    queue_node( const queue_node& src) : buffer_node<T, A>(src) {
+        tbb::internal::fgt_node( tbb::internal::FLOW_QUEUE_NODE, &(this->my_graph), 
+                                 static_cast<receiver<input_type> *>(this),
+                                 static_cast<sender<output_type> *>(this) );
+    }
+
+#if TBB_PREVIEW_FLOW_GRAPH_TRACE
+    /* override */ void set_name( const char *name ) {
+        tbb::internal::fgt_node_desc( this, name );
+    }
+#endif
+
 };
 
 //! Forwards messages in sequence order
@@ -1529,14 +1709,29 @@ public:
     //! Constructor
     template< typename Sequencer >
     sequencer_node( graph &g, const Sequencer& s ) : queue_node<T, A>(g),
-        my_sequencer(new internal::function_body_leaf< T, size_t, Sequencer>(s) ) {}
+        my_sequencer(new internal::function_body_leaf< T, size_t, Sequencer>(s) ) {
+        tbb::internal::fgt_node( tbb::internal::FLOW_SEQUENCER_NODE, &(this->my_graph), 
+                                 static_cast<receiver<input_type> *>(this),
+                                 static_cast<sender<output_type> *>(this) );
+    }
 
     //! Copy constructor
     sequencer_node( const sequencer_node& src ) : queue_node<T, A>(src),
-        my_sequencer( src.my_sequencer->clone() ) {}
+        my_sequencer( src.my_sequencer->clone() ) {
+        tbb::internal::fgt_node( tbb::internal::FLOW_SEQUENCER_NODE, &(this->my_graph), 
+                                 static_cast<receiver<input_type> *>(this),
+                                 static_cast<sender<output_type> *>(this) );
+    }
 
     //! Destructor
     ~sequencer_node() { delete my_sequencer; }
+
+#if TBB_PREVIEW_FLOW_GRAPH_TRACE
+    /* override */ void set_name( const char *name ) {
+        tbb::internal::fgt_node_desc( this, name );
+    }
+#endif
+
 protected:
     typedef typename buffer_node<T, A>::size_type size_type;
     typedef typename buffer_node<T, A>::buffer_operation sequencer_operation;
@@ -1567,10 +1762,25 @@ public:
     typedef receiver< output_type > successor_type;
 
     //! Constructor
-    priority_queue_node( graph &g ) : buffer_node<T, A>(g), mark(0) {}
+    priority_queue_node( graph &g ) : buffer_node<T, A>(g), mark(0) {
+        tbb::internal::fgt_node( tbb::internal::FLOW_PRIORITY_QUEUE_NODE, &(this->my_graph), 
+                                 static_cast<receiver<input_type> *>(this),
+                                 static_cast<sender<output_type> *>(this) );
+    }
 
     //! Copy constructor
-    priority_queue_node( const priority_queue_node &src ) : buffer_node<T, A>(src), mark(0) {}
+    priority_queue_node( const priority_queue_node &src ) : buffer_node<T, A>(src), mark(0) {
+        tbb::internal::fgt_node( tbb::internal::FLOW_PRIORITY_QUEUE_NODE, &(this->my_graph), 
+                                 static_cast<receiver<input_type> *>(this),
+                                 static_cast<sender<output_type> *>(this) );
+    }
+
+#if TBB_PREVIEW_FLOW_GRAPH_TRACE
+    /* override */ void set_name( const char *name ) {
+        tbb::internal::fgt_node_desc( this, name );
+    }
+#endif
+
 
 protected:
 
@@ -1605,14 +1815,17 @@ protected:
         // process pops!  for now, no special pop processing
         if (mark<this->my_tail) heapify();
         if (try_forwarding && !this->forwarder_busy) {
-            this->forwarder_busy = true;
-            task *new_task = new(task::allocate_additional_child_of(*(this->my_parent))) internal::
-                    forward_task_bypass
-                    < buffer_node<input_type, A> >(*this);
-            // tmp should point to the last item handled by the aggregator.  This is the operation
-            // the handling thread enqueued.  So modifying that record will be okay.
-            tbb::task *tmp1 = tmp->ltask;
-            tmp->ltask = combine_tasks(tmp1, new_task);
+            task* tp = this->my_graph.root_task();
+            if(tp) {
+                this->forwarder_busy = true;
+                task *new_task = new(task::allocate_additional_child_of(*tp)) internal::
+                        forward_task_bypass
+                        < buffer_node<input_type, A> >(*this);
+                // tmp should point to the last item handled by the aggregator.  This is the operation
+                // the handling thread enqueued.  So modifying that record will be okay.
+                tbb::task *tmp1 = tmp->ltask;
+                tmp->ltask = combine_tasks(tmp1, new_task);
+            }
         }
     }
 
@@ -1767,10 +1980,10 @@ public:
     typedef receiver< output_type > successor_type;
 
 private:
-    task *my_root_task;
     size_t my_threshold;
-    size_t my_count;
-    internal::predecessor_cache< T > my_predecessors;
+    size_t my_count; //number of successful puts 
+    size_t my_tries; //number of active put attempts
+    internal::reservable_predecessor_cache< T > my_predecessors;
     spin_mutex my_mutex;
     internal::broadcast_cache< T > my_successors;
     int init_decrement_predecessors;
@@ -1780,45 +1993,77 @@ private:
     // Let decrementer call decrement_counter()
     friend class internal::decrementer< limiter_node<T> >;
 
+    bool check_conditions() {    
+        return ( my_count + my_tries < my_threshold && !my_predecessors.empty() && !my_successors.empty() );
+    } 
+    
     // only returns a valid task pointer or NULL, never SUCCESSFULLY_ENQUEUED
-    task * decrement_counter() {
+    task *forward_task() {
         input_type v;
         task *rval = NULL;
+        bool reserved = false;
+            {
+                spin_mutex::scoped_lock lock(my_mutex);
+                if ( check_conditions() )
+                    ++my_tries;  
+                else  
+                    return NULL;
+            }
 
-        // If we can't get / put an item immediately then drop the count
-        if ( my_predecessors.get_item( v ) == false
-             || (rval = my_successors.try_put_task(v)) == NULL ) {
+        //SUCCESS 
+        // if we can reserve and can put, we consume the reservation 
+        // we increment the count and decrement the tries
+        if ( (my_predecessors.try_reserve(v)) == true ){
+            reserved=true;
+            if ( (rval = my_successors.try_put_task(v)) != NULL ){
+                {
+                    spin_mutex::scoped_lock lock(my_mutex);
+                    ++my_count;
+                    --my_tries; 
+                    my_predecessors.try_consume();
+                    if ( check_conditions() ) { 
+                        task* tp = this->my_graph.root_task();
+                        if ( tp ) {
+                            task *rtask = new ( task::allocate_additional_child_of( *tp ) )
+                                internal::forward_task_bypass< limiter_node<T> >( *this );
+                            FLOW_SPAWN (*rtask);
+                        }
+                    }
+                }
+                return rval; 
+            } 
+        }
+        //FAILURE
+        //if we can't reserve, we decrement the tries 
+        //if we can reserve but can't put, we decrement the tries and release the reservation
+        { 
             spin_mutex::scoped_lock lock(my_mutex);
-            --my_count;
-            if ( !my_predecessors.empty() ) {
-                task *rtask = new ( task::allocate_additional_child_of( *my_root_task ) )
-                    internal::forward_task_bypass< limiter_node<T> >( *this );
-                __TBB_ASSERT(!rval, "Have two tasks to handle");
-                return rtask;
+            --my_tries;
+            if (reserved) my_predecessors.try_release();
+            if ( check_conditions() ) { 
+                task* tp = this->my_graph.root_task();
+                if ( tp ) {
+                    task *rtask = new ( task::allocate_additional_child_of( *tp ) )
+                        internal::forward_task_bypass< limiter_node<T> >( *this );
+                    __TBB_ASSERT(!rval, "Have two tasks to handle");
+                    return rtask;
+                }
             }
+            return rval;
         }
-        return rval;
     }
 
     void forward() {
-        {
-            spin_mutex::scoped_lock lock(my_mutex);
-            if ( my_count < my_threshold )
-                ++my_count;
-            else
-                return;
-        }
-        task * rtask = decrement_counter();
-        if(rtask) FLOW_SPAWN(*rtask);
+        __TBB_ASSERT(false, "Should never be called");
+        return;
     }
 
-    task *forward_task() {
-        spin_mutex::scoped_lock lock(my_mutex);
-        if ( my_count >= my_threshold )
-            return NULL;
-        ++my_count;
-        task * rtask = decrement_counter();
-        return rtask;
+    task * decrement_counter() {
+        { 
+            spin_mutex::scoped_lock lock(my_mutex);
+            if(my_count) --my_count;
+        }
+        return forward_task();
     }
 
 public:
@@ -1827,30 +2072,52 @@ public:
 
     //! Constructor
     limiter_node(graph &g, size_t threshold, int num_decrement_predecessors=0) :
-        graph_node(g), my_root_task(g.root_task()), my_threshold(threshold), my_count(0),
+        graph_node(g), my_threshold(threshold), my_count(0), my_tries(0),
         init_decrement_predecessors(num_decrement_predecessors),
         decrement(num_decrement_predecessors)
     {
         my_predecessors.set_owner(this);
         my_successors.set_owner(this);
         decrement.set_owner(this);
+        tbb::internal::fgt_node( tbb::internal::FLOW_LIMITER_NODE, &this->my_graph, 
+                                 static_cast<receiver<input_type> *>(this), static_cast<receiver<continue_msg> *>(&decrement), 
+                                 static_cast<sender<output_type> *>(this) );
     }
 
     //! Copy constructor
     limiter_node( const limiter_node& src ) :
         graph_node(src.my_graph), receiver<T>(), sender<T>(),
-        my_root_task(src.my_root_task), my_threshold(src.my_threshold), my_count(0),
+        my_threshold(src.my_threshold), my_count(0), my_tries(0),
         init_decrement_predecessors(src.init_decrement_predecessors),
         decrement(src.init_decrement_predecessors)
     {
         my_predecessors.set_owner(this);
         my_successors.set_owner(this);
         decrement.set_owner(this);
+        tbb::internal::fgt_node( tbb::internal::FLOW_LIMITER_NODE, &this->my_graph, 
+                                 static_cast<receiver<input_type> *>(this), static_cast<receiver<continue_msg> *>(&decrement), 
+                                 static_cast<sender<output_type> *>(this) );
+    }
+
+#if TBB_PREVIEW_FLOW_GRAPH_TRACE
+    /* override */ void set_name( const char *name ) {
+        tbb::internal::fgt_node_desc( this, name );
     }
+#endif
 
     //! Replace the current successor with this new successor
     /* override */ bool register_successor( receiver<output_type> &r ) {
+        spin_mutex::scoped_lock lock(my_mutex);
+        bool was_empty = my_successors.empty();
         my_successors.register_successor(r);
+        //spawn a forward task if this is the only successor
+        if ( was_empty && !my_predecessors.empty() && my_count + my_tries < my_threshold ) { 
+            task* tp = this->my_graph.root_task();
+            if ( tp ) {
+                FLOW_SPAWN( (* new ( task::allocate_additional_child_of( *tp ) )
+                            internal::forward_task_bypass < limiter_node<T> >( *this ) ) );
+            } 
+        }
         return true;
     }
 
@@ -1862,14 +2129,15 @@ public:
         return true;
     }
 
-    //! Removes src from the list of cached predecessors.
+    //! Adds src to the list of cached predecessors.
     /* override */ bool register_predecessor( predecessor_type &src ) {
         spin_mutex::scoped_lock lock(my_mutex);
         my_predecessors.add( src );
-        if ( my_count < my_threshold && !my_successors.empty() ) {
-            FLOW_SPAWN( (* new ( task::allocate_additional_child_of( *my_root_task ) ) 
+        task* tp = this->my_graph.root_task();
+        if ( my_count + my_tries < my_threshold && !my_successors.empty() && tp ) {
+            FLOW_SPAWN( (* new ( task::allocate_additional_child_of( *tp ) )
                         internal::forward_task_bypass < limiter_node<T> >( *this ) ) );
-        }
+        }    
         return true;
     }
 
@@ -1888,22 +2156,28 @@ protected:
     /* override */ task *try_put_task( const T &t ) {
         {
             spin_mutex::scoped_lock lock(my_mutex);
-            if ( my_count >= my_threshold )
+            if ( my_count + my_tries >= my_threshold )
                 return NULL;
             else
-                ++my_count;
+                ++my_tries;
         }
 
         task * rtask = my_successors.try_put_task(t);
 
         if ( !rtask ) {  // try_put_task failed.
             spin_mutex::scoped_lock lock(my_mutex);
-            --my_count;
-            if ( !my_predecessors.empty() ) {
-                rtask = new ( task::allocate_additional_child_of( *my_root_task ) )
+            --my_tries;  
+            task* tp = this->my_graph.root_task();
+            if ( check_conditions() && tp ) {
+                rtask = new ( task::allocate_additional_child_of( *tp ) )
                     internal::forward_task_bypass< limiter_node<T> >( *this );
             }
         }
+        else {
+            spin_mutex::scoped_lock lock(my_mutex);
+            ++my_count;
+            --my_tries; 
+             }
         return rtask;
     }
 
@@ -1935,8 +2209,21 @@ private:
 public:
     typedef OutputTuple output_type;
     typedef typename unfolded_type::input_ports_type input_ports_type;
-    join_node(graph &g) : unfolded_type(g) { }
-    join_node(const join_node &other) : unfolded_type(other) {}
+    join_node(graph &g) : unfolded_type(g) { 
+        tbb::internal::fgt_multiinput_node<OutputTuple,N>( tbb::internal::FLOW_JOIN_NODE_RESERVING, &this->my_graph,
+                                            this->input_ports(), static_cast< sender< output_type > *>(this) );
+    }
+    join_node(const join_node &other) : unfolded_type(other) {
+        tbb::internal::fgt_multiinput_node<OutputTuple,N>( tbb::internal::FLOW_JOIN_NODE_RESERVING, &this->my_graph,
+                                            this->input_ports(), static_cast< sender< output_type > *>(this) );
+    }
+
+#if TBB_PREVIEW_FLOW_GRAPH_TRACE
+    /* override */ void set_name( const char *name ) {
+        tbb::internal::fgt_node_desc( this, name );
+    }
+#endif
+
 };
 
 template<typename OutputTuple>
@@ -1947,8 +2234,21 @@ private:
 public:
     typedef OutputTuple output_type;
     typedef typename unfolded_type::input_ports_type input_ports_type;
-    join_node(graph &g) : unfolded_type(g) { }
-    join_node(const join_node &other) : unfolded_type(other) {}
+    join_node(graph &g) : unfolded_type(g) { 
+        tbb::internal::fgt_multiinput_node<OutputTuple,N>( tbb::internal::FLOW_JOIN_NODE_QUEUEING, &this->my_graph,
+                                            this->input_ports(), static_cast< sender< output_type > *>(this) );
+    }
+    join_node(const join_node &other) : unfolded_type(other) {
+        tbb::internal::fgt_multiinput_node<OutputTuple,N>( tbb::internal::FLOW_JOIN_NODE_QUEUEING, &this->my_graph,
+                                            this->input_ports(), static_cast< sender< output_type > *>(this) );
+    }
+
+#if TBB_PREVIEW_FLOW_GRAPH_TRACE
+    /* override */ void set_name( const char *name ) {
+        tbb::internal::fgt_node_desc( this, name );
+    }
+#endif
+
 };
 
 // template for tag_matching join_node
@@ -1961,46 +2261,84 @@ private:
 public:
     typedef OutputTuple output_type;
     typedef typename unfolded_type::input_ports_type input_ports_type;
+    
     template<typename __TBB_B0, typename __TBB_B1>
-    join_node(graph &g, __TBB_B0 b0, __TBB_B1 b1) : unfolded_type(g, b0, b1) { }
+    join_node(graph &g, __TBB_B0 b0, __TBB_B1 b1) : unfolded_type(g, b0, b1) { 
+        tbb::internal::fgt_multiinput_node<OutputTuple,N>( tbb::internal::FLOW_JOIN_NODE_TAG_MATCHING, &this->my_graph, 
+                                                           this->input_ports(), static_cast< sender< output_type > *>(this) );
+    }
     template<typename __TBB_B0, typename __TBB_B1, typename __TBB_B2>
-    join_node(graph &g, __TBB_B0 b0, __TBB_B1 b1, __TBB_B2 b2) : unfolded_type(g, b0, b1, b2) { }
+    join_node(graph &g, __TBB_B0 b0, __TBB_B1 b1, __TBB_B2 b2) : unfolded_type(g, b0, b1, b2) { 
+        tbb::internal::fgt_multiinput_node<OutputTuple,N>( tbb::internal::FLOW_JOIN_NODE_TAG_MATCHING, &this->my_graph, 
+                                                           this->input_ports(), static_cast< sender< output_type > *>(this) );
+    }
     template<typename __TBB_B0, typename __TBB_B1, typename __TBB_B2, typename __TBB_B3>
-    join_node(graph &g, __TBB_B0 b0, __TBB_B1 b1, __TBB_B2 b2, __TBB_B3 b3) : unfolded_type(g, b0, b1, b2, b3) { }
+    join_node(graph &g, __TBB_B0 b0, __TBB_B1 b1, __TBB_B2 b2, __TBB_B3 b3) : unfolded_type(g, b0, b1, b2, b3) { 
+        tbb::internal::fgt_multiinput_node<OutputTuple,N>( tbb::internal::FLOW_JOIN_NODE_TAG_MATCHING, &this->my_graph, 
+                                                           this->input_ports(), static_cast< sender< output_type > *>(this) );
+    }
     template<typename __TBB_B0, typename __TBB_B1, typename __TBB_B2, typename __TBB_B3, typename __TBB_B4>
     join_node(graph &g, __TBB_B0 b0, __TBB_B1 b1, __TBB_B2 b2, __TBB_B3 b3, __TBB_B4 b4) :
-            unfolded_type(g, b0, b1, b2, b3, b4) { }
+            unfolded_type(g, b0, b1, b2, b3, b4) { 
+        tbb::internal::fgt_multiinput_node<OutputTuple,N>( tbb::internal::FLOW_JOIN_NODE_TAG_MATCHING, &this->my_graph, 
+                                                           this->input_ports(), static_cast< sender< output_type > *>(this) );
+    }
 #if __TBB_VARIADIC_MAX >= 6
     template<typename __TBB_B0, typename __TBB_B1, typename __TBB_B2, typename __TBB_B3, typename __TBB_B4,
         typename __TBB_B5>
     join_node(graph &g, __TBB_B0 b0, __TBB_B1 b1, __TBB_B2 b2, __TBB_B3 b3, __TBB_B4 b4, __TBB_B5 b5) :
-            unfolded_type(g, b0, b1, b2, b3, b4, b5) { }
+            unfolded_type(g, b0, b1, b2, b3, b4, b5) { 
+        tbb::internal::fgt_multiinput_node<OutputTuple,N>( tbb::internal::FLOW_JOIN_NODE_TAG_MATCHING, &this->my_graph, 
+                                                           this->input_ports(), static_cast< sender< output_type > *>(this) );
+    }
 #endif
 #if __TBB_VARIADIC_MAX >= 7
     template<typename __TBB_B0, typename __TBB_B1, typename __TBB_B2, typename __TBB_B3, typename __TBB_B4,
         typename __TBB_B5, typename __TBB_B6>
     join_node(graph &g, __TBB_B0 b0, __TBB_B1 b1, __TBB_B2 b2, __TBB_B3 b3, __TBB_B4 b4, __TBB_B5 b5, __TBB_B6 b6) :
-            unfolded_type(g, b0, b1, b2, b3, b4, b5, b6) { }
+            unfolded_type(g, b0, b1, b2, b3, b4, b5, b6) { 
+        tbb::internal::fgt_multiinput_node<OutputTuple,N>( tbb::internal::FLOW_JOIN_NODE_TAG_MATCHING, &this->my_graph, 
+                                                           this->input_ports(), static_cast< sender< output_type > *>(this) );
+    }
 #endif
 #if __TBB_VARIADIC_MAX >= 8
     template<typename __TBB_B0, typename __TBB_B1, typename __TBB_B2, typename __TBB_B3, typename __TBB_B4,
         typename __TBB_B5, typename __TBB_B6, typename __TBB_B7>
     join_node(graph &g, __TBB_B0 b0, __TBB_B1 b1, __TBB_B2 b2, __TBB_B3 b3, __TBB_B4 b4, __TBB_B5 b5, __TBB_B6 b6,
-            __TBB_B7 b7) : unfolded_type(g, b0, b1, b2, b3, b4, b5, b6, b7) { }
+            __TBB_B7 b7) : unfolded_type(g, b0, b1, b2, b3, b4, b5, b6, b7) { 
+        tbb::internal::fgt_multiinput_node<OutputTuple,N>( tbb::internal::FLOW_JOIN_NODE_TAG_MATCHING, &this->my_graph, 
+                                                           this->input_ports(), static_cast< sender< output_type > *>(this) );
+    }
 #endif
 #if __TBB_VARIADIC_MAX >= 9
     template<typename __TBB_B0, typename __TBB_B1, typename __TBB_B2, typename __TBB_B3, typename __TBB_B4,
         typename __TBB_B5, typename __TBB_B6, typename __TBB_B7, typename __TBB_B8>
     join_node(graph &g, __TBB_B0 b0, __TBB_B1 b1, __TBB_B2 b2, __TBB_B3 b3, __TBB_B4 b4, __TBB_B5 b5, __TBB_B6 b6,
-            __TBB_B7 b7, __TBB_B8 b8) : unfolded_type(g, b0, b1, b2, b3, b4, b5, b6, b7, b8) { }
+            __TBB_B7 b7, __TBB_B8 b8) : unfolded_type(g, b0, b1, b2, b3, b4, b5, b6, b7, b8) { 
+        tbb::internal::fgt_multiinput_node<OutputTuple,N>( tbb::internal::FLOW_JOIN_NODE_TAG_MATCHING, &this->my_graph, 
+                                                           this->input_ports(), static_cast< sender< output_type > *>(this) );
+    }
 #endif
 #if __TBB_VARIADIC_MAX >= 10
     template<typename __TBB_B0, typename __TBB_B1, typename __TBB_B2, typename __TBB_B3, typename __TBB_B4,
         typename __TBB_B5, typename __TBB_B6, typename __TBB_B7, typename __TBB_B8, typename __TBB_B9>
     join_node(graph &g, __TBB_B0 b0, __TBB_B1 b1, __TBB_B2 b2, __TBB_B3 b3, __TBB_B4 b4, __TBB_B5 b5, __TBB_B6 b6,
-            __TBB_B7 b7, __TBB_B8 b8, __TBB_B9 b9) : unfolded_type(g, b0, b1, b2, b3, b4, b5, b6, b7, b8, b9) { }
+            __TBB_B7 b7, __TBB_B8 b8, __TBB_B9 b9) : unfolded_type(g, b0, b1, b2, b3, b4, b5, b6, b7, b8, b9) { 
+        tbb::internal::fgt_multiinput_node<OutputTuple,N>( tbb::internal::FLOW_JOIN_NODE_TAG_MATCHING, &this->my_graph, 
+                                                           this->input_ports(), static_cast< sender< output_type > *>(this) );
+    }
+#endif
+    join_node(const join_node &other) : unfolded_type(other) {
+        tbb::internal::fgt_multiinput_node<OutputTuple,N>( tbb::internal::FLOW_JOIN_NODE_TAG_MATCHING, &this->my_graph, 
+                                                           this->input_ports(), static_cast< sender< output_type > *>(this) );
+    }
+
+#if TBB_PREVIEW_FLOW_GRAPH_TRACE
+    /* override */ void set_name( const char *name ) {
+        tbb::internal::fgt_node_desc( this, name );
+    }
 #endif
-    join_node(const join_node &other) : unfolded_type(other) {}
+
 };
 
 #if TBB_PREVIEW_GRAPH_NODES
@@ -2014,9 +2352,22 @@ private:
 public:
     typedef typename internal::or_output_type<InputTuple>::type output_type;
     typedef typename internal::unfolded_or_node<InputTuple> unfolded_type;
-    or_node(graph& g) : unfolded_type(g) { }
+    or_node(graph& g) : unfolded_type(g) { 
+        tbb::internal::fgt_multiinput_node<InputTuple,N>( tbb::internal::FLOW_OR_NODE, &this->my_graph,
+                                           this->input_ports(), static_cast< sender< output_type > *>(this) );
+    }
     // Copy constructor
-    or_node( const or_node& other ) : unfolded_type(other) { }
+    or_node( const or_node& other ) : unfolded_type(other) { 
+        tbb::internal::fgt_multiinput_node<InputTuple,N>( tbb::internal::FLOW_OR_NODE, &this->my_graph,
+                                           this->input_ports(), static_cast< sender< output_type > *>(this) );
+    }
+
+#if TBB_PREVIEW_FLOW_GRAPH_TRACE
+    /* override */ void set_name( const char *name ) {
+        tbb::internal::fgt_node_desc( this, name );
+    }
+#endif
+
 };
 #endif  // TBB_PREVIEW_GRAPH_NODES
 
@@ -2024,12 +2375,14 @@ public:
 template< typename T >
 inline void make_edge( sender<T> &p, receiver<T> &s ) {
     p.register_successor( s );
+    tbb::internal::fgt_make_edge( &p, &s );
 }
 
 //! Makes an edge between a single predecessor and a single successor
 template< typename T >
 inline void remove_edge( sender<T> &p, receiver<T> &s ) {
     p.remove_successor( s );
+    tbb::internal::fgt_remove_edge( &p, &s );
 }
 
 //! Returns a copy of the body from a function or continue node
@@ -2038,40 +2391,40 @@ Body copy_body( Node &n ) {
     return n.template copy_function_object<Body>();
 }
 
-} // interface6
+} // interface7
 
-    using interface6::graph;
-    using interface6::graph_node;
-    using interface6::continue_msg;
-    using interface6::sender;
-    using interface6::receiver;
-    using interface6::continue_receiver;
+    using interface7::graph;
+    using interface7::graph_node;
+    using interface7::continue_msg;
+    using interface7::sender;
+    using interface7::receiver;
+    using interface7::continue_receiver;
 
-    using interface6::source_node;
-    using interface6::function_node;
-    using interface6::multifunction_node;
-    using interface6::split_node;
-    using interface6::internal::output_port;
+    using interface7::source_node;
+    using interface7::function_node;
+    using interface7::multifunction_node;
+    using interface7::split_node;
+    using interface7::internal::output_port;
 #if TBB_PREVIEW_GRAPH_NODES
-    using interface6::or_node;
+    using interface7::or_node;
 #endif
-    using interface6::continue_node;
-    using interface6::overwrite_node;
-    using interface6::write_once_node;
-    using interface6::broadcast_node;
-    using interface6::buffer_node;
-    using interface6::queue_node;
-    using interface6::sequencer_node;
-    using interface6::priority_queue_node;
-    using interface6::limiter_node;
-    using namespace interface6::internal::graph_policy_namespace;
-    using interface6::join_node;
-    using interface6::input_port;
-    using interface6::copy_body; 
-    using interface6::make_edge; 
-    using interface6::remove_edge; 
-    using interface6::internal::NO_TAG;
-    using interface6::internal::tag_value;
+    using interface7::continue_node;
+    using interface7::overwrite_node;
+    using interface7::write_once_node;
+    using interface7::broadcast_node;
+    using interface7::buffer_node;
+    using interface7::queue_node;
+    using interface7::sequencer_node;
+    using interface7::priority_queue_node;
+    using interface7::limiter_node;
+    using namespace interface7::internal::graph_policy_namespace;
+    using interface7::join_node;
+    using interface7::input_port;
+    using interface7::copy_body;
+    using interface7::make_edge;
+    using interface7::remove_edge;
+    using interface7::internal::NO_TAG;
+    using interface7::internal::tag_value;
 
 } // flow
 } // tbb
diff --git a/include/tbb/index.html b/include/tbb/index.html
index cc52c04..6ceb5da 100644
--- a/include/tbb/index.html
+++ b/include/tbb/index.html
@@ -19,7 +19,7 @@ Include files for Intel® Threading Building Blocks classes and functions.
 <HR>
 <A HREF="../index.html">Up to parent directory</A>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <P></P>
 Intel is a registered trademark or trademark of Intel Corporation
 or its subsidiaries in the United States and other countries.
diff --git a/include/tbb/internal/_aggregator_impl.h b/include/tbb/internal/_aggregator_impl.h
index a0dcbad..102d625 100644
--- a/include/tbb/internal/_aggregator_impl.h
+++ b/include/tbb/internal/_aggregator_impl.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/include/tbb/internal/_concurrent_queue_impl.h b/include/tbb/internal/_concurrent_queue_impl.h
index a461e62..15d9ab5 100644
--- a/include/tbb/internal/_concurrent_queue_impl.h
+++ b/include/tbb/internal/_concurrent_queue_impl.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/include/tbb/internal/_concurrent_unordered_impl.h b/include/tbb/internal/_concurrent_unordered_impl.h
index 4df875b..08415a1 100644
--- a/include/tbb/internal/_concurrent_unordered_impl.h
+++ b/include/tbb/internal/_concurrent_unordered_impl.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/include/tbb/internal/_flow_graph_impl.h b/include/tbb/internal/_flow_graph_impl.h
index c57ad0d..26bfa30 100644
--- a/include/tbb/internal/_flow_graph_impl.h
+++ b/include/tbb/internal/_flow_graph_impl.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
@@ -526,8 +526,8 @@ namespace internal {
         // as above, but call try_put_task instead, and return the last task we received (if any)
         /*override*/ task * try_put_task( const T &t ) {
             task * last_task = NULL;
-            bool upgraded = false;
-            typename my_mutex_type::scoped_lock l(this->my_mutex, false);
+            bool upgraded = true;
+            typename my_mutex_type::scoped_lock l(this->my_mutex, upgraded);
             typename my_successors_type::iterator i = this->my_successors.begin();
             while ( i != this->my_successors.end() ) {
                 task *new_task = (*i)->try_put_task(t);
@@ -568,8 +568,8 @@ namespace internal {
         }
         
         /*override*/task *try_put_task( const T &t ) {
-            bool upgraded = false;
-            typename my_mutex_type::scoped_lock l(this->my_mutex, false);
+            bool upgraded = true;
+            typename my_mutex_type::scoped_lock l(this->my_mutex, upgraded);
             typename my_successors_type::iterator i = this->my_successors.begin();
             while ( i != this->my_successors.end() ) {
                 task *new_task = (*i)->try_put_task(t);
diff --git a/include/tbb/internal/_flow_graph_item_buffer_impl.h b/include/tbb/internal/_flow_graph_item_buffer_impl.h
index 216dfc9..07621f2 100644
--- a/include/tbb/internal/_flow_graph_item_buffer_impl.h
+++ b/include/tbb/internal/_flow_graph_item_buffer_impl.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/include/tbb/internal/_flow_graph_join_impl.h b/include/tbb/internal/_flow_graph_join_impl.h
index a92f5b8..388cc05 100644
--- a/include/tbb/internal/_flow_graph_join_impl.h
+++ b/include/tbb/internal/_flow_graph_join_impl.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
@@ -41,7 +41,7 @@ namespace internal {
     static const tag_value NO_TAG = tag_value(-1);
 
     struct forwarding_base {
-        forwarding_base(task *rt) : my_root_task(rt), current_tag(NO_TAG) {}
+        forwarding_base(graph &g) : my_graph_ptr(&g), current_tag(NO_TAG) {}
         virtual ~forwarding_base() {}
         // decrement_port_count may create a forwarding task.  If we cannot handle the task
         // ourselves, ask decrement_port_count to deal with it.
@@ -49,7 +49,7 @@ namespace internal {
         virtual void increment_port_count() = 0;
         virtual task * increment_tag_count(tag_value /*t*/, bool /*handle_task*/) {return NULL;}
         // moved here so input ports can queue tasks
-        task* my_root_task;
+        graph* my_graph_ptr;
         tag_value current_tag; // so ports can refer to FE's desired items
     };
 
@@ -223,7 +223,7 @@ namespace internal {
             };
             reserving_port_operation(const T& e, op_type t) :
                 type(char(t)), my_arg(const_cast<T*>(&e)) {}
-            reserving_port_operation(const predecessor_type &s, op_type t) : type(char(t)), 
+            reserving_port_operation(const predecessor_type &s, op_type t) : type(char(t)),
                 my_pred(const_cast<predecessor_type *>(&s)) {}
             reserving_port_operation(op_type t) : type(char(t)) {}
         };
@@ -666,12 +666,12 @@ namespace internal {
         typedef InputTuple input_type;
         typedef join_node_base<reserving, InputTuple, OutputTuple> my_node_type; // for forwarding
 
-        join_node_FE(graph &g) : forwarding_base(g.root_task()), my_node(NULL) {
+        join_node_FE(graph &g) : forwarding_base(g), my_node(NULL) {
             ports_with_no_inputs = N;
             join_helper<N>::set_join_node_pointer(my_inputs, this);
         }
 
-        join_node_FE(const join_node_FE& other) : forwarding_base(other.my_root_task), my_node(NULL) {
+        join_node_FE(const join_node_FE& other) : forwarding_base(*(other.forwarding_base::my_graph_ptr)), my_node(NULL) {
             ports_with_no_inputs = N;
             join_helper<N>::set_join_node_pointer(my_inputs, this);
         }
@@ -685,11 +685,13 @@ namespace internal {
         // if all input_ports have predecessors, spawn forward to try and consume tuples
         task * decrement_port_count(bool handle_task) {
             if(ports_with_no_inputs.fetch_and_decrement() == 1) {
-                task *rtask = new ( task::allocate_additional_child_of( *(this->my_root_task) ) )
-                    forward_task_bypass
-                    <my_node_type>(*my_node);
-                if(!handle_task) return rtask;
-                FLOW_SPAWN(*rtask);
+                task* tp = this->my_graph_ptr->root_task();
+                if(tp) {
+                    task *rtask = new ( task::allocate_additional_child_of( *tp ) )
+                        forward_task_bypass<my_node_type>(*my_node);
+                    if(!handle_task) return rtask;
+                    FLOW_SPAWN(*rtask);
+                }
             }
             return NULL;
         }
@@ -735,12 +737,12 @@ namespace internal {
         typedef InputTuple input_type;
         typedef join_node_base<queueing, InputTuple, OutputTuple> my_node_type; // for forwarding
 
-        join_node_FE(graph &g) : forwarding_base(g.root_task()), my_node(NULL) {
+        join_node_FE(graph &g) : forwarding_base(g), my_node(NULL) {
             ports_with_no_items = N;
             join_helper<N>::set_join_node_pointer(my_inputs, this);
         }
 
-        join_node_FE(const join_node_FE& other) : forwarding_base(other.my_root_task), my_node(NULL) {
+        join_node_FE(const join_node_FE& other) : forwarding_base(*(other.forwarding_base::my_graph_ptr)), my_node(NULL) {
             ports_with_no_items = N;
             join_helper<N>::set_join_node_pointer(my_inputs, this);
         }
@@ -756,11 +758,13 @@ namespace internal {
         task * decrement_port_count(bool handle_task)
         {
             if(ports_with_no_items.fetch_and_decrement() == 1) {
-                task *rtask = new ( task::allocate_additional_child_of( *(this->my_root_task) ) )
-                    forward_task_bypass
-                    <my_node_type>(*my_node);
-                if(!handle_task) return rtask;
-                FLOW_SPAWN( *rtask);
+                task* tp = this->my_graph_ptr->root_task();
+                if(tp) {
+                    task *rtask = new ( task::allocate_additional_child_of( *tp ) )
+                        forward_task_bypass <my_node_type>(*my_node);
+                    if(!handle_task) return rtask;
+                    FLOW_SPAWN( *rtask);
+                }
             }
             return NULL;
         }
@@ -847,30 +851,30 @@ namespace internal {
         // construct as many output objects as possible.
         // returns a task pointer if the a task would have been enqueued but we asked that
         // it be returned.  Otherwise returns NULL.
-        task * fill_output_buffer(bool should_enqueue, bool handle_task) {
+        task * fill_output_buffer(tag_value t, bool should_enqueue, bool handle_task) {
             output_type l_out;
             task *rtask = NULL;
-            bool do_fwd = should_enqueue && this->buffer_empty();
-            while(find_value_tag(this->current_tag,N)) {  // while there are completed items
-                this->tagged_delete(this->current_tag);   // remove the tag
-                if(join_helper<N>::get_items(my_inputs, l_out)) {  //  <== call back
-                    this->push_back(l_out);
-                    if(do_fwd) {  // we enqueue if receiving an item from predecessor, not if successor asks for item
-                        rtask = new ( task::allocate_additional_child_of( *(this->my_root_task) ) )
-                            forward_task_bypass<my_node_type>(*my_node);
-                        if(handle_task) {
-                            FLOW_SPAWN(*rtask);
-                            rtask = NULL;
-                        }
-                        do_fwd = false;
+            task* tp = this->my_graph_ptr->root_task();
+            bool do_fwd = should_enqueue && this->buffer_empty() && tp;
+            this->current_tag = t;
+            this->tagged_delete(this->current_tag);   // remove the tag
+            if(join_helper<N>::get_items(my_inputs, l_out)) {  //  <== call back
+                this->push_back(l_out);
+                if(do_fwd) {  // we enqueue if receiving an item from predecessor, not if successor asks for item
+                    rtask = new ( task::allocate_additional_child_of( *tp ) )
+                        forward_task_bypass<my_node_type>(*my_node);
+                    if(handle_task) {
+                        FLOW_SPAWN(*rtask);
+                        rtask = NULL;
                     }
-                    // retire the input values
-                    join_helper<N>::reset_ports(my_inputs);  //  <== call back
-                    this->current_tag = NO_TAG;    
-                }
-                else {
-                    __TBB_ASSERT(false, "should have had something to push");
+                    do_fwd = false;
                 }
+                // retire the input values
+                join_helper<N>::reset_ports(my_inputs);  //  <== call back
+                this->current_tag = NO_TAG;
+            }
+            else {
+                __TBB_ASSERT(false, "should have had something to push");
             }
             return rtask;
         }
@@ -885,8 +889,6 @@ namespace internal {
                     {
                         output_type l_out;
                         this->pop_front(l_out);  // don't care about returned value.
-                        // buffer as many tuples as we can make
-                        (void)fill_output_buffer(true, true);
                         __TBB_store_with_release(current->status, SUCCEEDED);
                     }
                     break;
@@ -901,7 +903,7 @@ namespace internal {
                             }
                         }
                         if(++(*p) == size_t(N)) {
-                            task *rtask = fill_output_buffer(true, do_enqueue);
+                            task *rtask = fill_output_buffer(t, true, do_enqueue);
                             __TBB_ASSERT(!rtask || !do_enqueue, "task should not be returned");
                             current->bypass_t = rtask;
                         }
@@ -909,7 +911,6 @@ namespace internal {
                     __TBB_store_with_release(current->status, SUCCEEDED);
                     break;
                 case may_succeed:  // called from BE
-                    (void)fill_output_buffer(false, /*handle_task*/true);  // handle_task not used
                     __TBB_store_with_release(current->status, this->buffer_empty() ? FAILED : SUCCEEDED);
                     break;
                 case try_make:  // called from BE
@@ -928,13 +929,13 @@ namespace internal {
 
     public:
         template<typename FunctionTuple>
-        join_node_FE(graph &g, FunctionTuple tag_funcs) : forwarding_base(g.root_task()), my_node(NULL) {
+        join_node_FE(graph &g, FunctionTuple tag_funcs) : forwarding_base(g), my_node(NULL) {
             join_helper<N>::set_join_node_pointer(my_inputs, this);
             join_helper<N>::set_tag_func(my_inputs, tag_funcs);
             my_aggregator.initialize_handler(my_handler(this));
         }
 
-        join_node_FE(const join_node_FE& other) : forwarding_base(other.my_root_task), my_tag_buffer(),
+        join_node_FE(const join_node_FE& other) : forwarding_base(*(other.forwarding_base::my_graph_ptr)), my_tag_buffer(),
         output_buffer_type() {
             my_node = NULL;
             join_helper<N>::set_join_node_pointer(my_inputs, this);
@@ -1034,9 +1035,9 @@ namespace internal {
                 successor_type *my_succ;
             };
             task *bypass_t;
-            join_node_base_operation(const output_type& e, op_type t) : type(char(t)), 
+            join_node_base_operation(const output_type& e, op_type t) : type(char(t)),
                 my_arg(const_cast<output_type*>(&e)), bypass_t(NULL) {}
-            join_node_base_operation(const successor_type &s, op_type t) : type(char(t)), 
+            join_node_base_operation(const successor_type &s, op_type t) : type(char(t)),
                 my_succ(const_cast<successor_type *>(&s)), bypass_t(NULL) {}
             join_node_base_operation(op_type t) : type(char(t)), bypass_t(NULL) {}
         };
@@ -1052,16 +1053,18 @@ namespace internal {
                 current = op_list;
                 op_list = op_list->next;
                 switch(current->type) {
-                case reg_succ:
-                    my_successors.register_successor(*(current->my_succ));
-                    if(tuple_build_may_succeed() && !forwarder_busy) {
-                        task *rtask = new ( task::allocate_additional_child_of(*(this->my_root_task)) )
-                                forward_task_bypass
-                                <join_node_base<JP,InputTuple,OutputTuple> >(*this);
-                        FLOW_SPAWN(*rtask);
-                        forwarder_busy = true;
+                case reg_succ: {
+                        my_successors.register_successor(*(current->my_succ));
+                        task* tp = this->graph_node::my_graph.root_task();
+                        if(tuple_build_may_succeed() && !forwarder_busy && tp) {
+                            task *rtask = new ( task::allocate_additional_child_of(*tp) )
+                                    forward_task_bypass
+                                    <join_node_base<JP,InputTuple,OutputTuple> >(*this);
+                            FLOW_SPAWN(*rtask);
+                            forwarder_busy = true;
+                        }
+                        __TBB_store_with_release(current->status, SUCCEEDED);
                     }
-                    __TBB_store_with_release(current->status, SUCCEEDED);
                     break;
                 case rem_succ:
                     my_successors.remove_successor(*(current->my_succ));
@@ -1114,7 +1117,7 @@ namespace internal {
         }
 
         join_node_base(const join_node_base& other) :
-            graph_node(other.my_graph), input_ports_type(other),
+            graph_node(other.graph_node::my_graph), input_ports_type(other),
             sender<OutputTuple>(), forwarder_busy(false), my_successors() {
             my_successors.set_owner(this);
             input_ports_type::set_my_node(this);
@@ -1190,7 +1193,7 @@ namespace internal {
     // differ.
 
     template<typename OutputTuple>
-    class unfolded_join_node<2,tag_matching_port,OutputTuple,tag_matching> : public 
+    class unfolded_join_node<2,tag_matching_port,OutputTuple,tag_matching> : public
             join_base<2,tag_matching_port,OutputTuple,tag_matching>::type {
         typedef typename tbb::flow::tuple_element<0, OutputTuple>::type T0;
         typedef typename tbb::flow::tuple_element<1, OutputTuple>::type T1;
@@ -1239,7 +1242,7 @@ namespace internal {
     };
 
     template<typename OutputTuple>
-    class unfolded_join_node<4,tag_matching_port,OutputTuple,tag_matching> : public 
+    class unfolded_join_node<4,tag_matching_port,OutputTuple,tag_matching> : public
             join_base<4,tag_matching_port,OutputTuple,tag_matching>::type {
         typedef typename tbb::flow::tuple_element<0, OutputTuple>::type T0;
         typedef typename tbb::flow::tuple_element<1, OutputTuple>::type T1;
@@ -1338,7 +1341,7 @@ namespace internal {
 
 #if __TBB_VARIADIC_MAX >= 7
     template<typename OutputTuple>
-    class unfolded_join_node<7,tag_matching_port,OutputTuple,tag_matching> : public 
+    class unfolded_join_node<7,tag_matching_port,OutputTuple,tag_matching> : public
             join_base<7,tag_matching_port,OutputTuple,tag_matching>::type {
         typedef typename tbb::flow::tuple_element<0, OutputTuple>::type T0;
         typedef typename tbb::flow::tuple_element<1, OutputTuple>::type T1;
@@ -1378,7 +1381,7 @@ namespace internal {
 
 #if __TBB_VARIADIC_MAX >= 8
     template<typename OutputTuple>
-    class unfolded_join_node<8,tag_matching_port,OutputTuple,tag_matching> : public 
+    class unfolded_join_node<8,tag_matching_port,OutputTuple,tag_matching> : public
             join_base<8,tag_matching_port,OutputTuple,tag_matching>::type {
         typedef typename tbb::flow::tuple_element<0, OutputTuple>::type T0;
         typedef typename tbb::flow::tuple_element<1, OutputTuple>::type T1;
@@ -1421,7 +1424,7 @@ namespace internal {
 
 #if __TBB_VARIADIC_MAX >= 9
     template<typename OutputTuple>
-    class unfolded_join_node<9,tag_matching_port,OutputTuple,tag_matching> : public 
+    class unfolded_join_node<9,tag_matching_port,OutputTuple,tag_matching> : public
             join_base<9,tag_matching_port,OutputTuple,tag_matching>::type {
         typedef typename tbb::flow::tuple_element<0, OutputTuple>::type T0;
         typedef typename tbb::flow::tuple_element<1, OutputTuple>::type T1;
@@ -1467,7 +1470,7 @@ namespace internal {
 
 #if __TBB_VARIADIC_MAX >= 10
     template<typename OutputTuple>
-    class unfolded_join_node<10,tag_matching_port,OutputTuple,tag_matching> : public 
+    class unfolded_join_node<10,tag_matching_port,OutputTuple,tag_matching> : public
             join_base<10,tag_matching_port,OutputTuple,tag_matching>::type {
         typedef typename tbb::flow::tuple_element<0, OutputTuple>::type T0;
         typedef typename tbb::flow::tuple_element<1, OutputTuple>::type T1;
@@ -1520,6 +1523,6 @@ namespace internal {
         return tbb::flow::get<N>(jn.input_ports());
     }
 
-} 
+}
 #endif // __TBB__flow_graph_join_impl_H
 
diff --git a/include/tbb/internal/_flow_graph_node_impl.h b/include/tbb/internal/_flow_graph_node_impl.h
index 2874d58..a387648 100644
--- a/include/tbb/internal/_flow_graph_node_impl.h
+++ b/include/tbb/internal/_flow_graph_node_impl.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
@@ -71,7 +71,7 @@ namespace internal {
         
         //! Constructor for function_input_base
         function_input_base( graph &g, size_t max_concurrency, function_input_queue<input_type,A> *q = NULL )
-            : my_root_task(g.root_task()), my_max_concurrency(max_concurrency), my_concurrency(0),
+            : my_graph(g), my_max_concurrency(max_concurrency), my_concurrency(0),
               my_queue(q), forwarder_busy(false) {
             my_predecessors.set_owner(this);
             my_aggregator.initialize_handler(my_handler(this));
@@ -80,7 +80,7 @@ namespace internal {
         //! Copy constructor
         function_input_base( const function_input_base& src, function_input_queue<input_type,A> *q = NULL ) :
             receiver<Input>(), tbb::internal::no_assign(),
-            my_root_task( src.my_root_task), my_max_concurrency(src.my_max_concurrency),
+            my_graph(src.my_graph), my_max_concurrency(src.my_max_concurrency),
             my_concurrency(0), my_queue(q), forwarder_busy(false)
         {
             my_predecessors.set_owner(this);
@@ -133,7 +133,7 @@ namespace internal {
             forwarder_busy = false;
         }
 
-        task *my_root_task;
+        graph& my_graph;
         const size_t my_max_concurrency;
         size_t my_concurrency;
         function_input_queue<input_type, A> *my_queue;
@@ -288,15 +288,23 @@ namespace internal {
             return new_task;
         }
         
-       //! allocates a task to call apply_body( input )
-       inline task * create_body_task( const input_type &input ) {
-           return new(task::allocate_additional_child_of(*my_root_task))
-               apply_body_task_bypass < my_class, input_type >(*this, input);
-       }
+        //! allocates a task to call apply_body( input )
+        inline task * create_body_task( const input_type &input ) {
+            
+            task* tp = my_graph.root_task();
+            return (tp) ?
+                new(task::allocate_additional_child_of(*tp))
+                    apply_body_task_bypass < my_class, input_type >(*this, input) :
+                NULL;
+        }
 
        //! Spawns a task that calls apply_body( input )
        inline void spawn_body_task( const input_type &input ) {
-           FLOW_SPAWN(*create_body_task(input));
+           task* tp = create_body_task(input);
+           // tp == NULL => g.reset(), which shouldn't occur in concurrent context
+           if(tp) {
+               FLOW_SPAWN(*tp);
+           }
        }
         
        //! This is executed by an enqueued task, the "forwarder"
@@ -315,13 +323,18 @@ namespace internal {
        }
         
        inline task *create_forward_task() {
-           task *rval = new(task::allocate_additional_child_of(*my_root_task)) forward_task_bypass< my_class >(*this);
-           return rval;
+           task* tp = my_graph.root_task();
+           return (tp) ?
+               new(task::allocate_additional_child_of(*tp)) forward_task_bypass< my_class >(*this) :
+               NULL;
        }
 
        //! Spawns a task that calls forward()
        inline void spawn_forward_task() {
-           FLOW_SPAWN(*create_forward_task());
+           task* tp = create_forward_task();
+           if(tp) {
+               FLOW_SPAWN(*tp);
+           }
        }
     };  // function_input_base
 
@@ -361,7 +374,16 @@ namespace internal {
         } 
 
         task * apply_body_impl_bypass( const input_type &i) {
+#if TBB_PREVIEW_FLOW_GRAPH_TRACE
+            // There is an extra copied needed to capture the
+            // body execution without the try_put
+            tbb::internal::fgt_begin_body( my_body );
+            output_type v = (*my_body)(i);
+            tbb::internal::fgt_end_body( my_body );
+            task * new_task = successors().try_put_task( v );
+#else       
             task * new_task = successors().try_put_task( (*my_body)(i) );
+#endif
             return new_task;
         }
 
@@ -374,7 +396,7 @@ namespace internal {
         function_body<input_type, output_type> *my_body;
         virtual broadcast_cache<output_type > &successors() = 0;
 
-    };
+    };  // function_input
 
     //! Implements methods for a function node that takes a type Input as input
     //  and has a tuple of output ports specified.  
@@ -418,7 +440,9 @@ namespace internal {
         // for multifunction nodes we do not have a single successor as such.  So we just tell
         // the task we were successful.
         task * apply_body_impl_bypass( const input_type &i) {
+            tbb::internal::fgt_begin_body( my_body );
             (*my_body)(i, my_output_ports);
+            tbb::internal::fgt_end_body( my_body );
             task * new_task = SUCCESSFULLY_ENQUEUED;
             return new_task;
         }
@@ -434,7 +458,7 @@ namespace internal {
         multifunction_body<input_type, output_ports_type> *my_body;
         output_ports_type my_output_ports;
 
-    };
+    };  // multifunction_input
 
     // template to refer to an output port of a multifunction_node
     template<size_t N, typename MOP>
@@ -473,16 +497,16 @@ namespace internal {
         
         template< typename Body >
         continue_input( graph &g, Body& body )
-            : my_root_task(g.root_task()), 
+            : my_graph_ptr(&g), 
              my_body( new internal::function_body_leaf< input_type, output_type, Body>(body) ) { }
         
         template< typename Body >
         continue_input( graph &g, int number_of_predecessors, Body& body )
-            : continue_receiver( number_of_predecessors ), my_root_task(g.root_task()), 
+            : continue_receiver( number_of_predecessors ), my_graph_ptr(&g), 
              my_body( new internal::function_body_leaf< input_type, output_type, Body>(body) ) { }
 
         continue_input( const continue_input& src ) : continue_receiver(src), 
-            my_root_task(src.my_root_task), my_body( src.my_body->clone() ) {}
+            my_graph_ptr(src.my_graph_ptr), my_body( src.my_body->clone() ) {}
 
         ~continue_input() {
             delete my_body;
@@ -496,7 +520,7 @@ namespace internal {
 
     protected:
         
-        task *my_root_task;
+        graph* my_graph_ptr;
         function_body<input_type, output_type> *my_body;
         
         virtual broadcast_cache<output_type > &successors() = 0; 
@@ -505,17 +529,28 @@ namespace internal {
         
         //! Applies the body to the provided input
         /* override */ task *apply_body_bypass( input_type ) {
+#if TBB_PREVIEW_FLOW_GRAPH_TRACE
+            // There is an extra copied needed to capture the
+            // body execution without the try_put
+            tbb::internal::fgt_begin_body( my_body );
+            output_type v = (*my_body)( continue_msg() );
+            tbb::internal::fgt_end_body( my_body );
+            return successors().try_put_task( v );
+#else   
             return successors().try_put_task( (*my_body)( continue_msg() ) );
+#endif
         }
         
         //! Spawns a task that applies the body
         /* override */ task *execute( ) {
-            task *res = new ( task::allocate_additional_child_of( *my_root_task ) ) 
-                apply_body_task_bypass< continue_input< Output >, continue_msg >( *this, continue_msg() ); 
-            return res;
+            task* tp = my_graph_ptr->root_task();
+            return (tp) ?
+                new ( task::allocate_additional_child_of( *tp ) ) 
+                    apply_body_task_bypass< continue_input< Output >, continue_msg >( *this, continue_msg() ) :
+                NULL;
         }
 
-    };
+    };  // continue_input
         
     //! Implements methods for both executable and function nodes that puts Output to its successors
     template< typename Output >
@@ -554,7 +589,7 @@ namespace internal {
         broadcast_cache<output_type> my_successors;
         broadcast_cache<output_type > &successors() { return my_successors; } 
         
-    };
+    };  // function_output
 
     template< typename Output >
     class multifunction_output : public function_output<Output> {
@@ -572,7 +607,7 @@ namespace internal {
             if(res != SUCCESSFULLY_ENQUEUED) FLOW_SPAWN(*res);
             return true;
         }
-    };
+    };  // multifunction_output
 
 }  // internal
 
diff --git a/include/tbb/internal/_flow_graph_or_impl.h b/include/tbb/internal/_flow_graph_or_impl.h
index 37ee950..395c2fc 100644
--- a/include/tbb/internal/_flow_graph_or_impl.h
+++ b/include/tbb/internal/_flow_graph_or_impl.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/include/tbb/internal/_flow_graph_tagged_buffer_impl.h b/include/tbb/internal/_flow_graph_tagged_buffer_impl.h
index bed28f0..748f637 100644
--- a/include/tbb/internal/_flow_graph_tagged_buffer_impl.h
+++ b/include/tbb/internal/_flow_graph_tagged_buffer_impl.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/include/tbb/internal/_flow_graph_trace_impl.h b/include/tbb/internal/_flow_graph_trace_impl.h
new file mode 100644
index 0000000..3453c7a
--- /dev/null
+++ b/include/tbb/internal/_flow_graph_trace_impl.h
@@ -0,0 +1,213 @@
+/*
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
+
+    This file is part of Threading Building Blocks.
+
+    Threading Building Blocks is free software; you can redistribute it
+    and/or modify it under the terms of the GNU General Public License
+    version 2 as published by the Free Software Foundation.
+
+    Threading Building Blocks is distributed in the hope that it will be
+    useful, but WITHOUT ANY WARRANTY; without even the implied warranty
+    of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with Threading Building Blocks; if not, write to the Free Software
+    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+
+    As a special exception, you may use this file as part of a free software
+    library without restriction.  Specifically, if other files instantiate
+    templates or use macros or inline functions from this file, or you compile
+    this file and link it with other files to produce an executable, this
+    file does not by itself cause the resulting executable to be covered by
+    the GNU General Public License.  This exception does not however
+    invalidate any other reasons why the executable file might be covered by
+    the GNU General Public License.
+*/
+
+#ifndef _FGT_GRAPH_TRACE_IMPL_H
+#define _FGT_GRAPH_TRACE_IMPL_H
+
+#include "tbb/tbb_profiling.h"
+
+namespace tbb {
+    namespace internal {
+
+#if TBB_PREVIEW_FLOW_GRAPH_TRACE
+
+static inline void fgt_internal_create_input_port( void *node, void *p, string_index name_index ) {
+    itt_make_task_group( ITT_DOMAIN_FLOW, p, FLOW_INPUT_PORT, node, FLOW_NODE, name_index );
+}
+
+static inline void fgt_internal_create_output_port( void *node, void *p, string_index name_index ) {
+    itt_make_task_group( ITT_DOMAIN_FLOW, p, FLOW_OUTPUT_PORT, node, FLOW_NODE, name_index );
+}
+
+template < typename TypesTuple, typename PortsTuple, int N >
+struct fgt_internal_input_helper {
+    static void register_port( void *node, PortsTuple &ports ) {
+        fgt_internal_create_input_port( node, (void*)static_cast< tbb::flow::interface7::receiver< typename tbb::flow::tuple_element<N-1,TypesTuple>::type > * >(&(tbb::flow::get<N-1>(ports))),
+                                        static_cast<tbb::internal::string_index>(FLOW_INPUT_PORT_0 + N - 1) );
+        fgt_internal_input_helper<TypesTuple, PortsTuple, N-1>::register_port( node, ports );
+    } 
+};
+
+template < typename TypesTuple, typename PortsTuple >
+struct fgt_internal_input_helper<TypesTuple,PortsTuple,1> {
+    static void register_port( void *node, PortsTuple &ports ) {
+        fgt_internal_create_input_port( node, (void*)static_cast< tbb::flow::interface7::receiver< typename tbb::flow::tuple_element<0,TypesTuple>::type > * >(&(tbb::flow::get<0>(ports))),
+                                        FLOW_INPUT_PORT_0 );
+    } 
+};
+
+template < typename TypesTuple, typename PortsTuple, int N >
+struct fgt_internal_output_helper {
+    static void register_port( void *node, PortsTuple &ports ) {
+        fgt_internal_create_output_port( node, (void*)static_cast< tbb::flow::interface7::sender< typename tbb::flow::tuple_element<N-1,TypesTuple>::type > * >(&(tbb::flow::get<N-1>(ports))),
+                                         static_cast<tbb::internal::string_index>(FLOW_OUTPUT_PORT_0 + N - 1) ); 
+        fgt_internal_output_helper<TypesTuple, PortsTuple, N-1>::register_port( node, ports );
+    } 
+};
+
+template < typename TypesTuple, typename PortsTuple >
+struct fgt_internal_output_helper<TypesTuple,PortsTuple,1> {
+    static void register_port( void *node, PortsTuple &ports ) {
+        fgt_internal_create_output_port( node, (void*)static_cast< tbb::flow::interface7::sender< typename tbb::flow::tuple_element<0,TypesTuple>::type > * >(&(tbb::flow::get<0>(ports))),
+                                         FLOW_OUTPUT_PORT_0 ); 
+    } 
+};
+
+template< typename NodeType >
+void fgt_multioutput_node_desc( const NodeType *node, const char *desc ) {
+    void *addr =  (void *)( static_cast< tbb::flow::interface7::receiver< typename NodeType::input_type > * >(const_cast< NodeType *>(node)) ); 
+    itt_metadata_str_add( ITT_DOMAIN_FLOW, addr, FLOW_NODE, FLOW_OBJECT_NAME, desc ); 
+}
+
+template< typename NodeType >
+static inline void fgt_node_desc( const NodeType *node, const char *desc ) {
+    void *addr =  (void *)( static_cast< tbb::flow::interface7::sender< typename NodeType::output_type > * >(const_cast< NodeType *>(node)) ); 
+    itt_metadata_str_add( ITT_DOMAIN_FLOW, addr, FLOW_NODE, FLOW_OBJECT_NAME, desc ); 
+}
+
+static inline void fgt_graph_desc( void *g, const char *desc ) {
+    itt_metadata_str_add( ITT_DOMAIN_FLOW, g, FLOW_GRAPH, FLOW_OBJECT_NAME, desc ); 
+}
+
+static inline void fgt_body( void *node, void *body ) {
+    itt_relation_add( ITT_DOMAIN_FLOW, body, FLOW_BODY, __itt_relation_is_child_of, node, FLOW_NODE );
+}
+
+template< typename OutputTuple, int N, typename PortsTuple >
+static inline void fgt_multioutput_node( string_index t, void *g, void *input_port, PortsTuple &ports ) {
+    itt_make_task_group( ITT_DOMAIN_FLOW, input_port, FLOW_NODE, g, FLOW_GRAPH, t ); 
+    fgt_internal_create_input_port( input_port, input_port, FLOW_INPUT_PORT_0 ); 
+    fgt_internal_output_helper<OutputTuple, PortsTuple, N>::register_port( input_port, ports ); 
+}
+
+template< typename OutputTuple, int N, typename PortsTuple >
+static inline void fgt_multioutput_node_with_body( string_index t, void *g, void *input_port, PortsTuple &ports, void *body ) {
+    itt_make_task_group( ITT_DOMAIN_FLOW, input_port, FLOW_NODE, g, FLOW_GRAPH, t ); 
+    fgt_internal_create_input_port( input_port, input_port, FLOW_INPUT_PORT_0 ); 
+    fgt_internal_output_helper<OutputTuple, PortsTuple, N>::register_port( input_port, ports ); 
+    fgt_body( input_port, body );
+}
+
+
+template< typename InputTuple, int N, typename PortsTuple >
+static inline void fgt_multiinput_node( string_index t, void *g, PortsTuple &ports, void *output_port) {
+    itt_make_task_group( ITT_DOMAIN_FLOW, output_port, FLOW_NODE, g, FLOW_GRAPH, t ); 
+    fgt_internal_create_output_port( output_port, output_port, FLOW_OUTPUT_PORT_0 ); 
+    fgt_internal_input_helper<InputTuple, PortsTuple, N>::register_port( output_port, ports ); 
+}
+
+static inline void fgt_node( string_index t, void *g, void *output_port ) {
+    itt_make_task_group( ITT_DOMAIN_FLOW, output_port, FLOW_NODE, g, FLOW_GRAPH, t ); 
+    fgt_internal_create_output_port( output_port, output_port, FLOW_OUTPUT_PORT_0 ); 
+}
+
+static inline void fgt_node_with_body( string_index t, void *g, void *output_port, void *body ) {
+    itt_make_task_group( ITT_DOMAIN_FLOW, output_port, FLOW_NODE, g, FLOW_GRAPH, t ); 
+    fgt_internal_create_output_port( output_port, output_port, FLOW_OUTPUT_PORT_0 ); 
+    fgt_body( output_port, body );
+}
+
+
+static inline void fgt_node( string_index t, void *g, void *input_port, void *output_port ) {
+    fgt_node( t, g, output_port );
+    fgt_internal_create_input_port( output_port, input_port, FLOW_INPUT_PORT_0 );
+}
+
+static inline void fgt_node_with_body( string_index t, void *g, void *input_port, void *output_port, void *body ) {
+    fgt_node_with_body( t, g, output_port, body );
+    fgt_internal_create_input_port( output_port, input_port, FLOW_INPUT_PORT_0 ); 
+}
+
+
+static inline void  fgt_node( string_index t, void *g, void *input_port, void *decrement_port, void *output_port ) {
+    fgt_node( t, g, input_port, output_port );
+    fgt_internal_create_input_port( output_port, decrement_port, FLOW_INPUT_PORT_1 ); 
+}
+
+static inline void fgt_make_edge( void *output_port, void *input_port ) {
+    itt_relation_add( ITT_DOMAIN_FLOW, output_port, FLOW_OUTPUT_PORT, __itt_relation_is_predecessor_to, input_port, FLOW_INPUT_PORT);
+}
+
+static inline void fgt_remove_edge( void *output_port, void *input_port ) {
+    itt_relation_add( ITT_DOMAIN_FLOW, output_port, FLOW_OUTPUT_PORT, __itt_relation_is_sibling_of, input_port, FLOW_INPUT_PORT);
+}
+
+static inline void fgt_graph( void *g ) {
+    itt_make_task_group( ITT_DOMAIN_FLOW, g, FLOW_GRAPH, NULL, FLOW_NULL, FLOW_GRAPH ); 
+}
+
+static inline void fgt_begin_body( void *body ) {
+    itt_task_begin( ITT_DOMAIN_FLOW, body, FLOW_BODY, NULL, FLOW_NULL, FLOW_NULL );
+}
+
+static inline void fgt_end_body( void * ) {
+    itt_task_end( ITT_DOMAIN_FLOW );
+}
+
+#else // TBB_PREVIEW_FLOW_GRAPH_TRACE
+
+static inline void fgt_graph( void * /*g*/ ) { }
+
+template< typename NodeType >
+static inline void fgt_multioutput_node_desc( const NodeType * /*node*/, const char * /*desc*/ ) { }
+
+template< typename NodeType >
+static inline void fgt_node_desc( const NodeType * /*node*/, const char * /*desc*/ ) { }
+
+static inline void fgt_graph_desc( void * /*g*/, const char * /*desc*/ ) { }
+
+static inline void fgt_body( void * /*node*/, void * /*body*/ ) { }
+
+template< typename OutputTuple, int N, typename PortsTuple > 
+static inline void fgt_multioutput_node( string_index /*t*/, void * /*g*/, void * /*input_port*/, PortsTuple & /*ports*/ ) { }
+
+template< typename OutputTuple, int N, typename PortsTuple >
+static inline void fgt_multioutput_node_with_body( string_index /*t*/, void * /*g*/, void * /*input_port*/, PortsTuple & /*ports*/, void * /*body*/ ) { }
+
+template< typename InputTuple, int N, typename PortsTuple >
+static inline void fgt_multiinput_node( string_index /*t*/, void * /*g*/, PortsTuple & /*ports*/, void * /*output_port*/ ) { }
+
+static inline void fgt_node( string_index /*t*/, void * /*g*/, void * /*output_port*/ ) { } 
+static inline void fgt_node( string_index /*t*/, void * /*g*/, void * /*input_port*/, void * /*output_port*/ ) { } 
+static inline void  fgt_node( string_index /*t*/, void * /*g*/, void * /*input_port*/, void * /*decrement_port*/, void * /*output_port*/ ) { }
+
+static inline void fgt_node_with_body( string_index /*t*/, void * /*g*/, void * /*output_port*/, void * /*body*/ ) { }
+static inline void fgt_node_with_body( string_index /*t*/, void * /*g*/, void * /*input_port*/, void * /*output_port*/, void * /*body*/ ) { }
+
+static inline void fgt_make_edge( void * /*output_port*/, void * /*input_port*/ ) { }
+static inline void fgt_remove_edge( void * /*output_port*/, void * /*input_port*/ ) { }
+
+static inline void fgt_begin_body( void * /*body*/ ) { }
+static inline void fgt_end_body( void *  /*body*/) { }
+
+#endif // TBB_PREVIEW_FLOW_GRAPH_TRACE
+
+    } // namespace internal
+} // namespace tbb
+
+#endif
diff --git a/include/tbb/internal/_flow_graph_types_impl.h b/include/tbb/internal/_flow_graph_types_impl.h
index 98611e3..8a03f08 100644
--- a/include/tbb/internal/_flow_graph_types_impl.h
+++ b/include/tbb/internal/_flow_graph_types_impl.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/include/tbb/internal/_mutex_padding.h b/include/tbb/internal/_mutex_padding.h
index 6130dab..d6427ff 100644
--- a/include/tbb/internal/_mutex_padding.h
+++ b/include/tbb/internal/_mutex_padding.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
@@ -32,6 +32,7 @@
 // wrapper for padding mutexes to be alone on a cache line, without requiring they be allocated
 // from a pool.  Because we allow them to be defined anywhere they must be two cache lines in size.
 
+
 namespace tbb {
 namespace interface7 {
 namespace internal {
@@ -40,8 +41,10 @@ static const size_t cache_line_size = 64;
 
 // Pad a mutex to occupy a number of full cache lines sufficient to avoid false sharing
 // with other data; space overhead is up to 2*cache_line_size-1.
+template<typename Mutex, bool is_rw> class padded_mutex;
+
 template<typename Mutex>
-class padded_mutex {
+class padded_mutex<Mutex,false> {
     typedef long pad_type;
     pad_type my_pad[((sizeof(Mutex)+cache_line_size-1)/cache_line_size+1)*cache_line_size/sizeof(pad_type)];
 
@@ -69,6 +72,37 @@ public:
     };
 };
 
+template<typename Mutex>
+class padded_mutex<Mutex,true> {
+    typedef long pad_type;
+    pad_type my_pad[((sizeof(Mutex)+cache_line_size-1)/cache_line_size+1)*cache_line_size/sizeof(pad_type)];
+
+    Mutex *impl() { return (Mutex *)((uintptr_t(this)|(cache_line_size-1))+1);}
+
+public:
+    static const bool is_rw_mutex = Mutex::is_rw_mutex;
+    static const bool is_recursive_mutex = Mutex::is_recursive_mutex;
+    static const bool is_fair_mutex = Mutex::is_fair_mutex;
+
+    padded_mutex() { new(impl()) Mutex(); }
+    ~padded_mutex() { impl()->~Mutex(); }
+
+    //! Represents acquisition of a mutex.
+    class scoped_lock :  tbb::internal::no_copy {
+        typename Mutex::scoped_lock my_scoped_lock;
+    public:
+        scoped_lock() : my_scoped_lock() {}
+        scoped_lock( padded_mutex& m, bool write = true ) : my_scoped_lock(*m.impl(),write) { }
+        ~scoped_lock() {  }
+
+        void acquire( padded_mutex& m, bool write = true ) { my_scoped_lock.acquire(*m.impl(),write); }
+        bool try_acquire( padded_mutex& m, bool write = true ) { return my_scoped_lock.try_acquire(*m.impl(),write); }
+        bool upgrade_to_writer() { return my_scoped_lock.upgrade_to_writer(); }
+        bool downgrade_to_reader() { return my_scoped_lock.downgrade_to_reader(); }
+        void release() { my_scoped_lock.release(); }
+    };
+};
+
 } // namespace internal
 } // namespace interface7
 } // namespace tbb
diff --git a/include/tbb/internal/_tbb_strings.h b/include/tbb/internal/_tbb_strings.h
new file mode 100644
index 0000000..9c75c81
--- /dev/null
+++ b/include/tbb/internal/_tbb_strings.h
@@ -0,0 +1,72 @@
+/*
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
+
+    This file is part of Threading Building Blocks.
+
+    Threading Building Blocks is free software; you can redistribute it
+    and/or modify it under the terms of the GNU General Public License
+    version 2 as published by the Free Software Foundation.
+
+    Threading Building Blocks is distributed in the hope that it will be
+    useful, but WITHOUT ANY WARRANTY; without even the implied warranty
+    of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with Threading Building Blocks; if not, write to the Free Software
+    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+
+    As a special exception, you may use this file as part of a free software
+    library without restriction.  Specifically, if other files instantiate
+    templates or use macros or inline functions from this file, or you compile
+    this file and link it with other files to produce an executable, this
+    file does not by itself cause the resulting executable to be covered by
+    the GNU General Public License.  This exception does not however
+    invalidate any other reasons why the executable file might be covered by
+    the GNU General Public License.
+*/
+
+TBB_STRING_RESOURCE(FLOW_BROADCAST_NODE, "broadcast_node")
+TBB_STRING_RESOURCE(FLOW_BUFFER_NODE, "buffer_node")
+TBB_STRING_RESOURCE(FLOW_CONTINUE_NODE, "continue_node")
+TBB_STRING_RESOURCE(FLOW_FUNCTION_NODE, "function_node")
+TBB_STRING_RESOURCE(FLOW_JOIN_NODE_QUEUEING, "join_node (queueing)")
+TBB_STRING_RESOURCE(FLOW_JOIN_NODE_RESERVING, "join_node (reserving)")
+TBB_STRING_RESOURCE(FLOW_JOIN_NODE_TAG_MATCHING, "join_node (tag_matching)")
+TBB_STRING_RESOURCE(FLOW_LIMITER_NODE, "limiter_node")
+TBB_STRING_RESOURCE(FLOW_MULTIFUNCTION_NODE, "multifunction_node")
+TBB_STRING_RESOURCE(FLOW_OR_NODE, "or_node")
+TBB_STRING_RESOURCE(FLOW_OVERWRITE_NODE, "overwrite_node")
+TBB_STRING_RESOURCE(FLOW_PRIORITY_QUEUE_NODE, "priority_queue_node")
+TBB_STRING_RESOURCE(FLOW_QUEUE_NODE, "queue_node")
+TBB_STRING_RESOURCE(FLOW_SEQUENCER_NODE, "sequencer_node")
+TBB_STRING_RESOURCE(FLOW_SOURCE_NODE, "source_node")
+TBB_STRING_RESOURCE(FLOW_SPLIT_NODE, "split_node")
+TBB_STRING_RESOURCE(FLOW_WRITE_ONCE_NODE, "write_once_node")
+TBB_STRING_RESOURCE(FLOW_BODY, "body")
+TBB_STRING_RESOURCE(FLOW_GRAPH, "graph")
+TBB_STRING_RESOURCE(FLOW_NODE, "node")
+TBB_STRING_RESOURCE(FLOW_INPUT_PORT, "input_port")
+TBB_STRING_RESOURCE(FLOW_INPUT_PORT_0, "input_port_0")
+TBB_STRING_RESOURCE(FLOW_INPUT_PORT_1, "input_port_1")
+TBB_STRING_RESOURCE(FLOW_INPUT_PORT_2, "input_port_2")
+TBB_STRING_RESOURCE(FLOW_INPUT_PORT_3, "input_port_3")
+TBB_STRING_RESOURCE(FLOW_INPUT_PORT_4, "input_port_4")
+TBB_STRING_RESOURCE(FLOW_INPUT_PORT_5, "input_port_5")
+TBB_STRING_RESOURCE(FLOW_INPUT_PORT_6, "input_port_6")
+TBB_STRING_RESOURCE(FLOW_INPUT_PORT_7, "input_port_7")
+TBB_STRING_RESOURCE(FLOW_INPUT_PORT_8, "input_port_8")
+TBB_STRING_RESOURCE(FLOW_INPUT_PORT_9, "input_port_9")
+TBB_STRING_RESOURCE(FLOW_OUTPUT_PORT, "output_port")
+TBB_STRING_RESOURCE(FLOW_OUTPUT_PORT_0, "output_port_0")
+TBB_STRING_RESOURCE(FLOW_OUTPUT_PORT_1, "output_port_1")
+TBB_STRING_RESOURCE(FLOW_OUTPUT_PORT_2, "output_port_2")
+TBB_STRING_RESOURCE(FLOW_OUTPUT_PORT_3, "output_port_3")
+TBB_STRING_RESOURCE(FLOW_OUTPUT_PORT_4, "output_port_4")
+TBB_STRING_RESOURCE(FLOW_OUTPUT_PORT_5, "output_port_5")
+TBB_STRING_RESOURCE(FLOW_OUTPUT_PORT_6, "output_port_6")
+TBB_STRING_RESOURCE(FLOW_OUTPUT_PORT_7, "output_port_7")
+TBB_STRING_RESOURCE(FLOW_OUTPUT_PORT_8, "output_port_8")
+TBB_STRING_RESOURCE(FLOW_OUTPUT_PORT_9, "output_port_9")
+TBB_STRING_RESOURCE(FLOW_OBJECT_NAME, "object_name")
+TBB_STRING_RESOURCE(FLOW_NULL, "null")
diff --git a/include/tbb/internal/_tbb_windef.h b/include/tbb/internal/_tbb_windef.h
index 4f11a13..487a4ec 100644
--- a/include/tbb/internal/_tbb_windef.h
+++ b/include/tbb/internal/_tbb_windef.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/include/tbb/internal/_x86_eliding_mutex_impl.h b/include/tbb/internal/_x86_eliding_mutex_impl.h
index 43118df..058a7d0 100644
--- a/include/tbb/internal/_x86_eliding_mutex_impl.h
+++ b/include/tbb/internal/_x86_eliding_mutex_impl.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
@@ -39,7 +39,7 @@ namespace tbb {
 namespace interface7 {
 namespace internal {
 
-template<typename Mutex>
+template<typename Mutex, bool is_rw>
 class padded_mutex;
 
 //! An eliding lock that occupies a single byte.
@@ -54,7 +54,7 @@ class x86_eliding_mutex {
     //! 0 if lock is released, 1 if lock is acquired.
     __TBB_atomic_flag flag;
 
-    friend class padded_mutex<x86_eliding_mutex>;
+    friend class padded_mutex<x86_eliding_mutex, false>;
 
 public:
     //! Construct unacquired lock.
diff --git a/include/tbb/internal/_x86_rtm_rw_mutex_impl.h b/include/tbb/internal/_x86_rtm_rw_mutex_impl.h
new file mode 100644
index 0000000..83853df
--- /dev/null
+++ b/include/tbb/internal/_x86_rtm_rw_mutex_impl.h
@@ -0,0 +1,219 @@
+/*
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
+
+    This file is part of Threading Building Blocks.
+
+    Threading Building Blocks is free software; you can redistribute it
+    and/or modify it under the terms of the GNU General Public License
+    version 2 as published by the Free Software Foundation.
+
+    Threading Building Blocks is distributed in the hope that it will be
+    useful, but WITHOUT ANY WARRANTY; without even the implied warranty
+    of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with Threading Building Blocks; if not, write to the Free Software
+    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+
+    As a special exception, you may use this file as part of a free software
+    library without restriction.  Specifically, if other files instantiate
+    templates or use macros or inline functions from this file, or you compile
+    this file and link it with other files to produce an executable, this
+    file does not by itself cause the resulting executable to be covered by
+    the GNU General Public License.  This exception does not however
+    invalidate any other reasons why the executable file might be covered by
+    the GNU General Public License.
+*/
+
+#ifndef __TBB__x86_rtm_rw_mutex_impl_H
+#define __TBB__x86_rtm_rw_mutex_impl_H
+
+#ifndef __TBB_spin_rw_mutex_H
+#error Do not #include this internal file directly; use public TBB headers instead.
+#endif
+
+#if TBB_PREVIEW_SPECULATIVE_SPIN_RW_MUTEX
+#if __TBB_TSX_AVAILABLE
+
+#include "tbb/tbb_stddef.h"
+#include "tbb/tbb_machine.h"
+#include "tbb/tbb_profiling.h"
+#include "tbb/spin_rw_mutex.h"
+
+namespace tbb {
+namespace interface7 {
+namespace internal {
+
+enum RTM_type {
+    RTM_not_in_mutex,
+    RTM_transacting_reader,
+    RTM_transacting_writer,
+    RTM_real_reader,
+    RTM_real_writer
+};
+
+static const unsigned long speculation_granularity = 64;
+
+//! Fast, unfair, spinning speculation-enabled reader-writer lock with backoff and
+//  writer-preference
+/** @ingroup synchronization */
+class x86_rtm_rw_mutex: private spin_rw_mutex {
+public:
+// bug in gcc 3.x.x causes syntax error in spite of the friend declaration above.
+// Make the scoped_lock public in that case.
+#if __TBB_USE_X86_RTM_RW_MUTEX || __TBB_GCC_VERSION < 40000
+#else
+private:
+#endif
+    friend class padded_mutex<x86_rtm_rw_mutex,true>;
+    class scoped_lock;   // should be private 
+private:
+    //! @cond INTERNAL
+
+    //! Internal acquire write lock.
+    // only_speculate == true if we're doing a try_lock, else false.
+    void __TBB_EXPORTED_METHOD internal_acquire_writer(x86_rtm_rw_mutex::scoped_lock&, bool only_speculate=false);
+
+    //! Internal acquire read lock.
+    // only_speculate == true if we're doing a try_lock, else false.
+    void __TBB_EXPORTED_METHOD internal_acquire_reader(x86_rtm_rw_mutex::scoped_lock&, bool only_speculate=false);
+
+    //! Internal upgrade reader to become a writer.
+    bool __TBB_EXPORTED_METHOD internal_upgrade( x86_rtm_rw_mutex::scoped_lock& );
+
+    //! Out of line code for downgrading a writer to a reader.
+    void __TBB_EXPORTED_METHOD internal_downgrade( x86_rtm_rw_mutex::scoped_lock& );
+
+    //! Internal try_acquire write lock.
+    bool __TBB_EXPORTED_METHOD internal_try_acquire_writer( x86_rtm_rw_mutex::scoped_lock& );
+
+    //! Internal release read lock.
+    void internal_release_reader( x86_rtm_rw_mutex::scoped_lock& );
+
+    //! Out of line code for releasing a write lock.
+    void internal_release_writer(x86_rtm_rw_mutex::scoped_lock& );
+
+    //! @endcond
+public:
+    //! Construct unacquired mutex.
+    x86_rtm_rw_mutex() {
+        w_flag = false;
+#if TBB_USE_THREADING_TOOLS
+        internal_construct();
+#endif
+    }
+
+#if TBB_USE_ASSERT
+    //! Empty destructor.
+    ~x86_rtm_rw_mutex() {}
+#endif /* TBB_USE_ASSERT */
+
+    // Mutex traits
+    static const bool is_rw_mutex = true;
+    static const bool is_recursive_mutex = false;
+    static const bool is_fair_mutex = false;
+
+#if __TBB_USE_X86_RTM_RW_MUTEX || __TBB_GCC_VERSION < 40000
+#else
+    // by default we will not provide the scoped_lock interface.  The user
+    // should use the padded version of the mutex.  scoped_lock is used in
+    // padded_mutex template.
+private:
+#endif
+    //! The scoped locking pattern
+    /** It helps to avoid the common problem of forgetting to release lock.
+        It also nicely provides the "node" for queuing locks. */
+    // Speculation-enabled scoped lock for spin_rw_mutex
+    // The idea is to be able to reuse the acquire/release methods of spin_rw_mutex
+    // and its scoped lock wherever possible.  The only way to use a speculative lock is to use
+    // a scoped_lock. (because transaction_state must be local)
+
+    class scoped_lock {
+        friend class x86_rtm_rw_mutex;
+        spin_rw_mutex::scoped_lock my_scoped_lock;
+
+        RTM_type transaction_state;
+
+    public:
+        //! Construct lock that has not acquired a mutex.
+        /** Equivalent to zero-initialization of *this. */
+        scoped_lock() : my_scoped_lock(), transaction_state(RTM_not_in_mutex) {
+        }
+
+        //! Acquire lock on given mutex.
+        scoped_lock( x86_rtm_rw_mutex& m, bool write = true ) : my_scoped_lock(),
+            transaction_state(RTM_not_in_mutex) {
+            acquire(m, write);
+        }
+
+        //! Release lock (if lock is held).
+        ~scoped_lock() {
+            if(transaction_state != RTM_not_in_mutex) release();
+        }
+
+        //! Acquire lock on given mutex.
+        void acquire( x86_rtm_rw_mutex& m, bool write = true ) {
+            if( write ) m.internal_acquire_writer(*this);
+            else        m.internal_acquire_reader(*this);
+        }
+
+        void __TBB_EXPORTED_METHOD release();
+
+        //! Upgrade reader to become a writer.
+        /** Returns whether the upgrade happened without releasing and re-acquiring the lock */
+        bool upgrade_to_writer() {
+            x86_rtm_rw_mutex* mutex = static_cast<x86_rtm_rw_mutex*>(my_scoped_lock.__internal_get_mutex());
+            __TBB_ASSERT( mutex, "lock is not acquired" );
+            return mutex->internal_upgrade(*this);
+        }
+
+        //! Downgrade writer to become a reader.
+        bool downgrade_to_reader() {
+            x86_rtm_rw_mutex* mutex = static_cast<x86_rtm_rw_mutex*>(my_scoped_lock.__internal_get_mutex());
+            __TBB_ASSERT( mutex, "lock is not acquired" );
+            mutex->internal_downgrade(*this);
+            return true;  // real writer -> reader returns true, speculative only changes local state.
+        }
+
+        //! Attempt to acquire mutex.
+        /** returns true if successful.  */
+        bool try_acquire( x86_rtm_rw_mutex& m, bool write = true ) {
+#if TBB_USE_DEBUG
+            x86_rtm_rw_mutex* mutex = static_cast<x86_rtm_rw_mutex*>(my_scoped_lock.__internal_get_mutex());
+            __TBB_ASSERT( !mutex, "holding mutex already" );
+#endif
+            // have to assign m to our mutex.
+            // cannot set the mutex, because try_acquire in spin_rw_mutex depends on it being NULL.
+            if(write) return m.internal_try_acquire_writer(*this);
+            // speculatively acquire the lock.  If this fails, do try_acquire on the spin_rw_mutex.
+            m.internal_acquire_reader(*this, /*only_speculate=*/true);
+            if(transaction_state == RTM_transacting_reader) return true;
+            if( my_scoped_lock.try_acquire(m, false)) {
+                transaction_state = RTM_real_reader;
+                return true;
+            }
+            return false;
+        }
+
+        };  // class x86_rtm_rw_mutex::scoped_lock
+
+    // ISO C++0x compatibility methods not provided because we cannot maintain
+    // state about whether a thread is in a transaction.
+
+private:
+    char pad[speculation_granularity-sizeof(spin_rw_mutex)]; // padding
+
+    // If true, writer holds the spin_rw_mutex.
+    tbb::atomic<bool> w_flag;  // want this on a separate cache line
+
+    void __TBB_EXPORTED_METHOD internal_construct();
+};  // x86_rtm_rw_mutex
+
+}  // namespace internal
+}  // namespace interface7
+}  // namespace tbb
+
+#endif  /* ( __TBB_x86_32 || __TBB_x86_64 ) */
+#endif  /* TBB_PREVIEW_SPECULATIVE_SPIN_RW_MUTEX */
+#endif /* __TBB__x86_rtm_rw_mutex_impl_H */
diff --git a/include/tbb/machine/gcc_armv7.h b/include/tbb/machine/gcc_armv7.h
index fde1f7a..82025c6 100644
--- a/include/tbb/machine/gcc_armv7.h
+++ b/include/tbb/machine/gcc_armv7.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
@@ -62,7 +62,7 @@
 
 #define __TBB_compiler_fence()    __asm__ __volatile__("": : :"memory")
 #define __TBB_full_memory_fence() __asm__ __volatile__("dmb ish": : :"memory")
-#define __TBB_control_consistency_helper() __TBB_compiler_fence()
+#define __TBB_control_consistency_helper() __TBB_full_memory_fence()
 #define __TBB_acquire_consistency_helper() __TBB_full_memory_fence()
 #define __TBB_release_consistency_helper() __TBB_full_memory_fence()
 
@@ -88,6 +88,7 @@ static inline int32_t __TBB_machine_cmpswp4(volatile void *ptr, int32_t value, i
         "ldrex      %1, [%3]\n"
         "mov        %0, #0\n"
         "cmp        %1, %4\n"
+        "it         eq\n"
         "strexeq    %0, %5, [%3]\n"
         : "=&r" (res), "=&r" (oldval), "+Qo" (*(volatile int32_t*)ptr)
         : "r" ((int32_t *)ptr), "Ir" (comparand), "r" (value)
@@ -118,7 +119,9 @@ static inline int64_t __TBB_machine_cmpswp8(volatile void *ptr, int64_t value, i
             "mov        %0, #0\n"
             "ldrexd     %1, %H1, [%3]\n"
             "cmp        %1, %4\n"
+            "it         eq\n"
             "cmpeq      %H1, %H4\n"
+            "it         eq\n"
             "strexdeq   %0, %5, %H5, [%3]"
         : "=&r" (res), "=&r" (oldval), "+Qo" (*(volatile int64_t*)ptr)
         : "r" ((int64_t *)ptr), "r" (comparand), "r" (value)
diff --git a/include/tbb/machine/gcc_generic.h b/include/tbb/machine/gcc_generic.h
index 655c2e6..b496aca 100644
--- a/include/tbb/machine/gcc_generic.h
+++ b/include/tbb/machine/gcc_generic.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/include/tbb/machine/gcc_ia32_common.h b/include/tbb/machine/gcc_ia32_common.h
index 1128b6e..d8c3628 100644
--- a/include/tbb/machine/gcc_ia32_common.h
+++ b/include/tbb/machine/gcc_ia32_common.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/include/tbb/machine/gcc_itsx.h b/include/tbb/machine/gcc_itsx.h
index 92f5d68..bd0c5ac 100644
--- a/include/tbb/machine/gcc_itsx.h
+++ b/include/tbb/machine/gcc_itsx.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
@@ -64,3 +64,77 @@ inline static void __TBB_machine_unlock_elided( volatile uint8_t* lk )
     __asm__ volatile (".byte " __TBB_STRINGIZE(__TBB_OP_XRELEASE)"; movb $0, %0" 
                       : "=m"(*lk) : "m"(*lk) : "memory" );
 }
+
+#if __TBB_TSX_INTRINSICS_PRESENT
+#include <immintrin.h>
+
+#define __TBB_machine_is_in_transaction _xtest
+
+#else
+
+/*!
+ * Check if the instruction is executed in a transaction or not
+ */
+inline static bool __TBB_machine_is_in_transaction()
+{
+    int8_t res = 0;
+#if __TBB_x86_32
+    __asm__ volatile (".byte 0x0F; .byte 0x01; .byte 0xD6;\n"
+                      "setz %0" : "=q"(res) : : "memory" );
+#else
+    __asm__ volatile (".byte 0x0F; .byte 0x01; .byte 0xD6;\n"
+                      "setz %0" : "=r"(res) : : "memory" );
+#endif
+    return res==0;
+}
+#endif /* __TBB_TSX_INTRINSICS_PRESENT */
+
+#if TBB_PREVIEW_SPECULATIVE_SPIN_RW_MUTEX
+
+#if __TBB_TSX_INTRINSICS_PRESENT
+
+#define __TBB_machine_begin_transaction _xbegin
+#define __TBB_machine_end_transaction   _xend
+#define __TBB_machine_transaction_conflict_abort() _xabort(0xff)
+
+#else
+
+/*!
+ * Enter speculative execution mode.
+ * @return -1 on success
+ *         abort cause ( or 0 ) on abort
+ */
+inline static uint32_t __TBB_machine_begin_transaction()
+{
+    uint32_t res = ~uint32_t(0);   // success value
+    __asm__ volatile ("1: .byte  0xC7; .byte 0xF8;\n"           //  XBEGIN <abort-offset>
+                      "   .long  2f-1b-6\n"                     //  2f-1b == difference in addresses of start 
+                                                                //  of XBEGIN and the MOVL
+                                                                //  2f - 1b - 6 == that difference minus the size of the
+                                                                //  XBEGIN instruction.  This is the abort offset to
+                                                                //  2: below.
+                      "    jmp   3f\n"                          //  success (leave -1 in res)
+                      "2:  movl  %%eax,%0\n"                    //  store failure code in res
+                      "3:"
+                      :"=r"(res):"0"(res):"memory","%eax");
+    return res;
+}
+
+/*!
+ * Attempt to commit/end transaction 
+ */
+inline static void __TBB_machine_end_transaction()
+{
+    __asm__ volatile (".byte 0x0F; .byte 0x01; .byte 0xD5" :::"memory");   // XEND
+}
+
+/*
+ * aborts with code 0xFF (lock already held)
+ */
+inline static void __TBB_machine_transaction_conflict_abort()
+{
+    __asm__ volatile (".byte 0xC6; .byte 0xF8; .byte 0xFF" :::"memory");
+}
+
+#endif /* __TBB_TSX_INTRINSICS_PRESENT */
+#endif  // TBB_PREVIEW_SPECULATIVE_SPIN_RW_MUTEX
diff --git a/include/tbb/machine/ibm_aix51.h b/include/tbb/machine/ibm_aix51.h
index ec50cfb..6d79511 100644
--- a/include/tbb/machine/ibm_aix51.h
+++ b/include/tbb/machine/ibm_aix51.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/include/tbb/machine/icc_generic.h b/include/tbb/machine/icc_generic.h
index 6a76393..c06b6f9 100644
--- a/include/tbb/machine/icc_generic.h
+++ b/include/tbb/machine/icc_generic.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/include/tbb/machine/linux_common.h b/include/tbb/machine/linux_common.h
index c412807..37013b0 100644
--- a/include/tbb/machine/linux_common.h
+++ b/include/tbb/machine/linux_common.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/include/tbb/machine/linux_ia32.h b/include/tbb/machine/linux_ia32.h
index 9d7f7eb..54c41ec 100644
--- a/include/tbb/machine/linux_ia32.h
+++ b/include/tbb/machine/linux_ia32.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
@@ -92,9 +92,15 @@ __TBB_MACHINE_DEFINE_ATOMICS(4,int32_t,"l","=r")
 #pragma warning( disable: 998 )
 #endif
 
-static inline int64_t __TBB_machine_cmpswp8 (volatile void *ptr, int64_t value, int64_t comparand ) {
+#if __TBB_GCC_CAS8_BUILTIN_INLINING_BROKEN
+#define  __TBB_IA32_CAS8_NOINLINE  __attribute__ ((noinline))
+#else
+#define  __TBB_IA32_CAS8_NOINLINE
+#endif
+
+static inline __TBB_IA32_CAS8_NOINLINE int64_t __TBB_machine_cmpswp8 (volatile void *ptr, int64_t value, int64_t comparand )  {
 //TODO: remove the extra part of condition once __TBB_GCC_BUILTIN_ATOMICS_PRESENT is lowered to gcc version 4.1.2
-#if __TBB_GCC_BUILTIN_ATOMICS_PRESENT || __TBB_GCC_VERSION >= 40304
+#if (__TBB_GCC_BUILTIN_ATOMICS_PRESENT || (__TBB_GCC_VERSION >= 40102)) && !__TBB_GCC_64BIT_ATOMIC_BUILTINS_BROKEN
     return __sync_val_compare_and_swap( reinterpret_cast<volatile int64_t*>(ptr), comparand, value );
 #else /* !__TBB_GCC_BUILTIN_ATOMICS_PRESENT */
     //TODO: look like ICC 13.0 has some issues with this code, investigate it more deeply
@@ -146,6 +152,8 @@ static inline int64_t __TBB_machine_cmpswp8 (volatile void *ptr, int64_t value,
 #endif /* !__TBB_GCC_BUILTIN_ATOMICS_PRESENT */
 }
 
+#undef __TBB_IA32_CAS8_NOINLINE
+
 #if __INTEL_COMPILER
 #pragma warning( pop )
 #endif // warning 998 is back
diff --git a/include/tbb/machine/linux_ia64.h b/include/tbb/machine/linux_ia64.h
index d0d0d6a..6f69793 100644
--- a/include/tbb/machine/linux_ia64.h
+++ b/include/tbb/machine/linux_ia64.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/include/tbb/machine/linux_intel64.h b/include/tbb/machine/linux_intel64.h
index 92d617c..7de9037 100644
--- a/include/tbb/machine/linux_intel64.h
+++ b/include/tbb/machine/linux_intel64.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/include/tbb/machine/mac_ppc.h b/include/tbb/machine/mac_ppc.h
index 40ce185..3d37552 100644
--- a/include/tbb/machine/mac_ppc.h
+++ b/include/tbb/machine/mac_ppc.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/include/tbb/machine/macos_common.h b/include/tbb/machine/macos_common.h
index f7c36f5..c84c32b 100644
--- a/include/tbb/machine/macos_common.h
+++ b/include/tbb/machine/macos_common.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/include/tbb/machine/mic_common.h b/include/tbb/machine/mic_common.h
index cdaa672..9312905 100644
--- a/include/tbb/machine/mic_common.h
+++ b/include/tbb/machine/mic_common.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/include/tbb/machine/msvc_armv7.h b/include/tbb/machine/msvc_armv7.h
index dadd235..ae4c872 100644
--- a/include/tbb/machine/msvc_armv7.h
+++ b/include/tbb/machine/msvc_armv7.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/include/tbb/machine/msvc_ia32_common.h b/include/tbb/machine/msvc_ia32_common.h
index 5f15e87..560bfa7 100644
--- a/include/tbb/machine/msvc_ia32_common.h
+++ b/include/tbb/machine/msvc_ia32_common.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
@@ -190,6 +190,29 @@ extern "C" {
 #else
     inline static void __TBB_machine_try_lock_elided_cancel() { _asm pause; }
 #endif
+#if __TBB_TSX_INTRINSICS_PRESENT
+#define __TBB_machine_is_in_transaction _xtest
+#else
+    __int8  __TBB_EXPORTED_FUNC __TBB_machine_is_in_transaction();
+#endif /* __TBB_TSX_INTRINSICS_PRESENT */
+
+#if TBB_PREVIEW_SPECULATIVE_SPIN_RW_MUTEX
+#if __TBB_TSX_INTRINSICS_PRESENT
+
+#define __TBB_machine_begin_transaction _xbegin
+#define __TBB_machine_end_transaction   _xend
+    // The value (0xFF) below comes from the
+    // Intel(R) 64 and IA-32 Architectures Optimization Reference Manual 12.4.5 lock not free
+#define __TBB_machine_transaction_conflict_abort() _xabort(0xFF)
+
+#else
+
+    unsigned __int32 __TBB_EXPORTED_FUNC __TBB_machine_begin_transaction();
+    void             __TBB_EXPORTED_FUNC __TBB_machine_end_transaction();
+    void             __TBB_EXPORTED_FUNC __TBB_machine_transaction_conflict_abort();
+
+#endif /* __TBB_TSX_INTRINSICS_PRESENT */
+#endif  /* TBB_PREVIEW_SPECULATIVE_SPIN_RW_MUTEX */
 }
 
 #endif /* __TBB_machine_msvc_ia32_common_H */
diff --git a/include/tbb/machine/sunos_sparc.h b/include/tbb/machine/sunos_sparc.h
index 321ef2d..aa9c2b2 100644
--- a/include/tbb/machine/sunos_sparc.h
+++ b/include/tbb/machine/sunos_sparc.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/include/tbb/machine/windows_api.h b/include/tbb/machine/windows_api.h
index 2b5d33b..570a509 100644
--- a/include/tbb/machine/windows_api.h
+++ b/include/tbb/machine/windows_api.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/include/tbb/machine/windows_ia32.h b/include/tbb/machine/windows_ia32.h
index 43d21bc..11649c8 100644
--- a/include/tbb/machine/windows_ia32.h
+++ b/include/tbb/machine/windows_ia32.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/include/tbb/machine/windows_intel64.h b/include/tbb/machine/windows_intel64.h
index 14fb2eb..c21e516 100644
--- a/include/tbb/machine/windows_intel64.h
+++ b/include/tbb/machine/windows_intel64.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/include/tbb/machine/xbox360_ppc.h b/include/tbb/machine/xbox360_ppc.h
index 883df9a..2cc4468 100644
--- a/include/tbb/machine/xbox360_ppc.h
+++ b/include/tbb/machine/xbox360_ppc.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/include/tbb/memory_pool.h b/include/tbb/memory_pool.h
index cf907d8..430d9ae 100644
--- a/include/tbb/memory_pool.h
+++ b/include/tbb/memory_pool.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
@@ -137,7 +137,7 @@ public:
         return (max > 0 ? max : 1);
     }
     //! Copy-construct value at location pointed to by p.
-#if __TBB_CPP11_VARIADIC_TEMPLATES_PRESENT && __TBB_CPP11_RVALUE_REF_PRESENT
+#if __TBB_ALLOCATOR_CONSTRUCT_VARIADIC
     template<typename U, typename... Args>
     void construct(U *p, Args&&... args)
  #if __TBB_CPP11_STD_FORWARD_BROKEN
@@ -145,9 +145,9 @@ public:
  #else
         { ::new((void *)p) U(std::forward<Args>(args)...); }
  #endif
-#else // __TBB_CPP11_VARIADIC_TEMPLATES_PRESENT && __TBB_CPP11_RVALUE_REF_PRESENT
+#else // __TBB_ALLOCATOR_CONSTRUCT_VARIADIC
     void construct( pointer p, const value_type& value ) { ::new((void*)(p)) value_type(value); }
-#endif // __TBB_CPP11_VARIADIC_TEMPLATES_PRESENT && __TBB_CPP11_RVALUE_REF_PRESENT
+#endif // __TBB_ALLOCATOR_CONSTRUCT_VARIADIC
 
     //! Destroy value at location pointed to by p.
     void destroy( pointer p ) { p->~value_type(); }
@@ -240,9 +240,9 @@ void *memory_pool<Alloc>::allocate_request(intptr_t pool_id, size_t & bytes) {
     __TBB_CATCH(...) { return 0; }
     return ptr;
 }
-#if _MSC_VER==1700 && !defined(__INTEL_COMPILER)
+#if __TBB_MSVC_UNREACHABLE_CODE_IGNORED
     // Workaround for erroneous "unreachable code" warning in the template below.
-    // Specific for VC++ 17 compiler
+    // Specific for VC++ 17-18 compiler
     #pragma warning (push)
     #pragma warning (disable: 4702)
 #endif
@@ -254,7 +254,7 @@ int memory_pool<Alloc>::deallocate_request(intptr_t pool_id, void* raw_ptr, size
     self.my_alloc.deallocate( static_cast<typename Alloc::value_type*>(raw_ptr), raw_bytes/unit_size );
     return 0;
 }
-#if _MSC_VER==1700 && !defined(__INTEL_COMPILER)
+#if __TBB_MSVC_UNREACHABLE_CODE_IGNORED
     #pragma warning (pop)
 #endif
 inline fixed_pool::fixed_pool(void *buf, size_t size) : my_buffer(buf), my_size(size) {
diff --git a/include/tbb/mutex.h b/include/tbb/mutex.h
index f9fd845..cdfaf0f 100644
--- a/include/tbb/mutex.h
+++ b/include/tbb/mutex.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/include/tbb/null_mutex.h b/include/tbb/null_mutex.h
index c945a1e..7207978 100644
--- a/include/tbb/null_mutex.h
+++ b/include/tbb/null_mutex.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/include/tbb/null_rw_mutex.h b/include/tbb/null_rw_mutex.h
index a3d0ecf..49a94bf 100644
--- a/include/tbb/null_rw_mutex.h
+++ b/include/tbb/null_rw_mutex.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/include/tbb/parallel_do.h b/include/tbb/parallel_do.h
index f7663d4..f2e80c3 100644
--- a/include/tbb/parallel_do.h
+++ b/include/tbb/parallel_do.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/include/tbb/parallel_for.h b/include/tbb/parallel_for.h
index 17fe991..7193a03 100644
--- a/include/tbb/parallel_for.h
+++ b/include/tbb/parallel_for.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
@@ -41,6 +41,9 @@ namespace interface6 {
 //! @cond INTERNAL
 namespace internal {
 
+    //! allocate right task with new parent
+    void* allocate_sibling(task* start_for_task, size_t bytes);
+
     //! Task type used in parallel_for
     /** @ingroup algorithms */
     template<typename Range, typename Body, typename Partitioner>
@@ -50,10 +53,15 @@ namespace internal {
         typename Partitioner::task_partition_type my_partition;
         /*override*/ task* execute();
 
+        //! Update affinity info, if any.
+        /*override*/ void note_affinity( affinity_id id ) {
+            my_partition.note_affinity( id );
+        }
+
     public:
         //! Constructor for root task.
         start_for( const Range& range, const Body& body, Partitioner& partitioner ) :
-            my_range(range),    
+            my_range(range),
             my_body(body),
             my_partition(partitioner)
         {
@@ -61,7 +69,7 @@ namespace internal {
         //! Splitting constructor used to generate children.
         /** parent_ becomes left child.  Newly constructed object is right child. */
         start_for( start_for& parent_, split ) :
-            my_range(parent_.my_range,split()),
+            my_range(parent_.my_range, split()),
             my_body(parent_.my_body),
             my_partition(parent_.my_partition, split())
         {
@@ -77,10 +85,6 @@ namespace internal {
             my_partition.set_affinity(*this);
             my_partition.align_depth( d );
         }
-        //! Update affinity info, if any.
-        /*override*/ void note_affinity( affinity_id id ) {
-            my_partition.note_affinity( id );
-        }
         static void run(  const Range& range, const Body& body, Partitioner& partitioner ) {
             if( !range.empty() ) {
 #if !__TBB_TASK_GROUP_CONTEXT || TBB_JOIN_OUTER_TASK_GROUP
@@ -102,20 +106,35 @@ namespace internal {
             }
         }
 #endif /* __TBB_TASK_GROUP_CONTEXT */
-        //! create a continuation task, serve as callback for partitioner
-        flag_task *create_continuation() {
-            return new( allocate_continuation() ) flag_task();
-        }
-        //! Run body for range
+        //! Run body for range, serves as callback for partitioner
         void run_body( Range &r ) { my_body( r ); }
+
+        //! spawn right task, serves as callback for partitioner
+        void offer_work(split) {
+            spawn( *new( allocate_sibling(static_cast<task*>(this), sizeof(start_for)) ) start_for(*this, split()) );
+        }
+        //! spawn right task, serves as callback for partitioner
+        void offer_work(const Range& r, depth_t d = 0) {
+            spawn( *new( allocate_sibling(static_cast<task*>(this), sizeof(start_for)) ) start_for(*this, r, d) );
+        }
     };
 
+    //! allocate right task with new parent
+    // TODO: 'inline' here is to avoid multiple definition error but for sake of code size this should not be inlined
+    inline void* allocate_sibling(task* start_for_task, size_t bytes) {
+        task* parent_ptr = new( start_for_task->allocate_continuation() ) flag_task();
+        start_for_task->set_parent(parent_ptr);
+        parent_ptr->set_ref_count(2);
+        return &parent_ptr->allocate_child().allocate(bytes);
+    }
+
+    //! execute task for parallel_for
     template<typename Range, typename Body, typename Partitioner>
     task* start_for<Range,Body,Partitioner>::execute() {
         my_partition.check_being_stolen( *this );
         my_partition.execute(*this, my_range);
         return NULL;
-    } 
+    }
 } // namespace internal
 //! @endcond
 } // namespace interfaceX
@@ -123,23 +142,33 @@ namespace internal {
 //! @cond INTERNAL
 namespace internal {
     using interface6::internal::start_for;
-    
+
     //! Calls the function with values from range [begin, end) with a step provided
     template<typename Function, typename Index>
     class parallel_for_body : internal::no_assign {
         const Function &my_func;
         const Index my_begin;
-        const Index my_step; 
+        const Index my_step;
     public:
-        parallel_for_body( const Function& _func, Index& _begin, Index& _step) 
+        parallel_for_body( const Function& _func, Index& _begin, Index& _step )
             : my_func(_func), my_begin(_begin), my_step(_step) {}
-        
-        void operator()( tbb::blocked_range<Index>& r ) const {
+
+        void operator()( const tbb::blocked_range<Index>& r ) const {
+            // A set of local variables to help the compiler with vectorization of the following loop.
+            Index b = r.begin();
+            Index e = r.end();
+            Index ms = my_step;
+            Index k = my_begin + b*ms;
+
 #if __INTEL_COMPILER
 #pragma ivdep
+#if __TBB_ASSERT_ON_VECTORIZATION_FAILURE
+#pragma vector always assert
+#endif
 #endif
-            for( Index i = r.begin(),  k = my_begin + i * my_step; i < r.end(); i++, k = k + my_step)
+            for ( Index i = b; i < e; ++i, k += ms ) {
                 my_func( k );
+            }
         }
     };
 } // namespace internal
@@ -158,7 +187,7 @@ namespace internal {
     See also requirements on \ref range_req "Range" and \ref parallel_for_body_req "parallel_for Body". **/
 //@{
 
-//! Parallel iteration over range with default partitioner. 
+//! Parallel iteration over range with default partitioner.
 /** @ingroup algorithms **/
 template<typename Range, typename Body>
 void parallel_for( const Range& range, const Body& body ) {
@@ -232,7 +261,7 @@ void parallel_for_impl(Index first, Index last, Index step, const Function& f, P
         internal::parallel_for_body<Function, Index> body(f, first, step);
         tbb::parallel_for(range, body, partitioner);
     }
-}    
+}
 
 //! Parallel iteration over a range of integers with a step provided and default partitioner
 template <typename Index, typename Function>
@@ -350,4 +379,3 @@ using strict_ppl::parallel_for;
 #endif
 
 #endif /* __TBB_parallel_for_H */
-
diff --git a/include/tbb/parallel_for_each.h b/include/tbb/parallel_for_each.h
index 195f212..a62e3dd 100644
--- a/include/tbb/parallel_for_each.h
+++ b/include/tbb/parallel_for_each.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/include/tbb/parallel_invoke.h b/include/tbb/parallel_invoke.h
index 841c941..1a6c78a 100644
--- a/include/tbb/parallel_invoke.h
+++ b/include/tbb/parallel_invoke.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/include/tbb/parallel_reduce.h b/include/tbb/parallel_reduce.h
index 4eacdf2..5abaca7 100644
--- a/include/tbb/parallel_reduce.h
+++ b/include/tbb/parallel_reduce.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
@@ -85,6 +85,9 @@ namespace internal {
         friend class start_reduce;
     };
 
+    //! allocate right task with new parent
+    void allocate_sibling(task* start_reduce_task, task *tasks[], size_t start_bytes, size_t finish_bytes);
+
     //! Task type used to split the work of parallel_reduce.
     /** @ingroup algorithms */
     template<typename Range, typename Body, typename Partitioner>
@@ -93,8 +96,12 @@ namespace internal {
         Body* my_body;
         Range my_range;
         typename Partitioner::task_partition_type my_partition;
-        reduction_context my_context; // TODO: factor out into start_reduce_base
+        reduction_context my_context;
         /*override*/ task* execute();
+        //! Update affinity info, if any
+        /*override*/ void note_affinity( affinity_id id ) {
+            my_partition.note_affinity( id );
+        }
         template<typename Body_>
         friend class finish_reduce;
 
@@ -111,8 +118,8 @@ public:
         /** parent_ becomes left child.  Newly constructed object is right child. */
         start_reduce( start_reduce& parent_, split ) :
             my_body(parent_.my_body),
-            my_range(parent_.my_range,split()),
-            my_partition(parent_.my_partition,split()),
+            my_range(parent_.my_range, split()),
+            my_partition(parent_.my_partition, split()),
             my_context(right_child)
         {
             my_partition.set_affinity(*this);
@@ -123,17 +130,13 @@ public:
         start_reduce( start_reduce& parent_, const Range& r, depth_t d ) :
             my_body(parent_.my_body),
             my_range(r),
-            my_partition(parent_.my_partition,split()),
+            my_partition(parent_.my_partition, split()),
             my_context(right_child)
         {
             my_partition.set_affinity(*this);
-            my_partition.align_depth( d );
+            my_partition.align_depth( d ); // TODO: move into constructor of partitioner
             parent_.my_context = left_child;
         }
-        //! Update affinity info, if any
-        /*override*/ void note_affinity( affinity_id id ) {
-            my_partition.note_affinity( id );
-        }
         static void run( const Range& range, Body& body, Partitioner& partitioner ) {
             if( !range.empty() ) {
 #if !__TBB_TASK_GROUP_CONTEXT || TBB_JOIN_OUTER_TASK_GROUP
@@ -152,13 +155,37 @@ public:
                 task::spawn_root_and_wait( *new(task::allocate_root(context)) start_reduce(range,&body,partitioner) );
         }
 #endif /* __TBB_TASK_GROUP_CONTEXT */
-        //! create a continuation task, serve as callback for partitioner
-        finish_type *create_continuation() {
-            return new( allocate_continuation() ) finish_type(my_context);
-        }
         //! Run body for range
         void run_body( Range &r ) { (*my_body)( r ); }
+
+        //! spawn right task, serves as callback for partitioner
+        // TODO: remove code duplication from 'offer_work' methods
+        void offer_work(split) {
+            task *tasks[2];
+            allocate_sibling(static_cast<task*>(this), tasks, sizeof(start_reduce), sizeof(finish_type));
+            new((void*)tasks[0]) finish_type(my_context);
+            new((void*)tasks[1]) start_reduce(*this, split());
+            spawn(*tasks[1]);
+        }
+        //! spawn right task, serves as callback for partitioner
+        void offer_work(const Range& r, depth_t d = 0) {
+            task *tasks[2];
+            allocate_sibling(static_cast<task*>(this), tasks, sizeof(start_reduce), sizeof(finish_type));
+            new((void*)tasks[0]) finish_type(my_context);
+            new((void*)tasks[1]) start_reduce(*this, r, d);
+            spawn(*tasks[1]);
+        }
     };
+
+    //! allocate right task with new parent
+    // TODO: 'inline' here is to avoid multiple definition error but for sake of code size this should not be inlined
+    inline void allocate_sibling(task* start_reduce_task, task *tasks[], size_t start_bytes, size_t finish_bytes) {
+        tasks[0] = &start_reduce_task->allocate_continuation().allocate(finish_bytes);
+        start_reduce_task->set_parent(tasks[0]);
+        tasks[0]->set_ref_count(2);
+        tasks[1] = &tasks[0]->allocate_child().allocate(start_bytes);
+    }
+
     template<typename Range, typename Body, typename Partitioner>
     task* start_reduce<Range,Body,Partitioner>::execute() {
         my_partition.check_being_stolen( *this );
@@ -512,4 +539,3 @@ Value parallel_deterministic_reduce( const Range& range, const Value& identity,
 } // namespace tbb
 
 #endif /* __TBB_parallel_reduce_H */
-
diff --git a/include/tbb/parallel_scan.h b/include/tbb/parallel_scan.h
index eb81ae8..987c3a1 100644
--- a/include/tbb/parallel_scan.h
+++ b/include/tbb/parallel_scan.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/include/tbb/parallel_sort.h b/include/tbb/parallel_sort.h
index 743eb3c..445cf10 100644
--- a/include/tbb/parallel_sort.h
+++ b/include/tbb/parallel_sort.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
@@ -75,10 +75,11 @@ public:
     bool is_divisible() const {return size>=grainsize;}
 
     quick_sort_range( quick_sort_range& range, split ) : comp(range.comp) {
+        using std::swap;
         RandomAccessIterator array = range.begin;
         RandomAccessIterator key0 = range.begin; 
         size_t m = pseudo_median_of_nine(array, range);
-        if (m) std::swap ( array[0], array[m] );
+        if (m) swap ( array[0], array[m] );
 
         size_t i=0;
         size_t j=range.size;
@@ -96,11 +97,11 @@ public:
                 ++i;
             } while( comp( array[i],*key0 ));
             if( i==j ) goto partition;
-            std::swap( array[i], array[j] );
+            swap( array[i], array[j] );
         }
 partition:
         // Put the partition key were it belongs
-        std::swap( array[j], *key0 );
+        swap( array[j], *key0 );
         // array[l..j) is less or equal to key.
         // array(j..r) is greater or equal to key.
         // array[j] is equal to key
diff --git a/include/tbb/parallel_while.h b/include/tbb/parallel_while.h
index 0450de5..f0a1617 100644
--- a/include/tbb/parallel_while.h
+++ b/include/tbb/parallel_while.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/include/tbb/partitioner.h b/include/tbb/partitioner.h
index 2839c4b..733186a 100644
--- a/include/tbb/partitioner.h
+++ b/include/tbb/partitioner.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
@@ -60,7 +60,7 @@ namespace interface6 {
     }
 }
 
-namespace internal {
+namespace internal { //< @cond INTERNAL
 size_t __TBB_EXPORTED_FUNC get_initial_auto_partitioner_divisor();
 
 //! Defines entry point for affinity partitioner into tbb run-time library.
@@ -95,8 +95,7 @@ public:
 
 template<typename Range, typename Body, typename Partitioner> class start_scan;
 
-} // namespace internal
-//! @endcond
+} //< namespace internal @endcond
 
 namespace serial {
 namespace interface6 {
@@ -131,17 +130,6 @@ public:
     }
 };
 
-//! Task to signal the demand without carrying the work
-class signal_task: public task {
-public:
-    task* execute() {
-        if( is_stolen_task() ) {
-            flag_task::mark_task_stolen(*this);
-        }
-        return NULL;
-    }
-};
-
 //! Depth is a relative depth of recursive division inside a range pool. Relative depth allows
 //! infinite absolute depth of the recursion for heavily imbalanced workloads with range represented
 //! by a number that cannot fit into machine word.
@@ -216,21 +204,11 @@ struct partition_type_base {
     void note_affinity( task::affinity_id ) {}
     bool check_being_stolen(task &) { return false; } // part of old should_execute_range()
     bool check_for_demand(task &) { return false; }
-    bool divisions_left() { return true; } // part of old should_execute_range()
-    bool should_create_trap() { return false; }
+    bool is_divisible() { return true; } // part of old should_execute_range()
     depth_t max_depth() { return 0; }
     void align_depth(depth_t) { }
     // common function blocks
-    Partition& derived() { return *static_cast<Partition*>(this); }
-    template<typename StartType>
-    flag_task* split_work(StartType &start) {
-        flag_task* parent_ptr = start.create_continuation(); // the type here is to express expectation
-        start.set_parent(parent_ptr);
-        parent_ptr->set_ref_count(2);
-        StartType& right_work = *new( parent_ptr->allocate_child() ) StartType(start, split());
-        start.spawn(right_work);
-        return parent_ptr;
-    }
+    Partition& self() { return *static_cast<Partition*>(this); } // CRTP helper
     template<typename StartType, typename Range>
     void execute(StartType &start, Range &range) {
         // The algorithm in a few words ([]-denotes calls to decision methods of partitioner):
@@ -240,34 +218,20 @@ struct partition_type_base {
         //    Create trap task [if necessary];
         // }
         // If not divisible or [max depth is reached], execute, else do the range pool part
-        task* parent_ptr = start.parent();
-        if( range.is_divisible() ) {
-            if( derived().divisions_left() )
-                do parent_ptr = split_work(start); // split until divisions_left()
-                while( range.is_divisible() && derived().divisions_left() );
-            if( derived().should_create_trap() ) { // only for range pool
-                if( parent_ptr->ref_count() > 1 ) { // create new parent if necessary
-                    parent_ptr = start.create_continuation();
-                    start.set_parent(parent_ptr);
-                } else __TBB_ASSERT(parent_ptr->ref_count() == 1, NULL);
-                parent_ptr->set_ref_count(2); // safe because parent has only one reference
-                signal_task& right_signal = *new( parent_ptr->allocate_child() ) signal_task();
-                start.spawn(right_signal); // pure signal is to avoid deep recursion in the end
-            }
+        if ( range.is_divisible() ) {
+            if ( self().is_divisible() )
+                do start.offer_work( split() ); // split until is divisible
+                while ( range.is_divisible() && self().is_divisible() );
         }
-        if( !range.is_divisible() || !derived().max_depth() )
+        if( !range.is_divisible() || !self().max_depth() )
             start.run_body( range ); // simple partitioner goes always here
         else { // do range pool
             internal::range_vector<Range, Partition::range_pool_size> range_pool(range);
             do {
-                range_pool.split_to_fill(derived().max_depth()); // fill range pool
-                if( derived().check_for_demand( start ) ) {
+                range_pool.split_to_fill(self().max_depth()); // fill range pool
+                if( self().check_for_demand( start ) ) {
                     if( range_pool.size() > 1 ) {
-                        parent_ptr = start.create_continuation();
-                        start.set_parent(parent_ptr);
-                        parent_ptr->set_ref_count(2);
-                        StartType& right_work = *new( parent_ptr->allocate_child() ) StartType(start, range_pool.front(), range_pool.front_depth());
-                        start.spawn(right_work);
+                        start.offer_work( range_pool.front(), range_pool.front_depth() );
                         range_pool.pop_front();
                         continue;
                     }
@@ -319,7 +283,7 @@ struct auto_partition_type_base : partition_type_base<Partition> {
         }
         return false;
     }
-    bool divisions_left() { // part of old should_execute_range()
+    bool is_divisible() { // part of old should_execute_range()
         if( my_divisor > 1 ) return true;
         if( my_divisor && my_max_depth > 1 ) { // can split the task and once more internally. TODO: on-stack flag instead
             // keep same fragmentation while splitting for the local task pool
@@ -328,9 +292,6 @@ struct auto_partition_type_base : partition_type_base<Partition> {
             return true;
         } else return false;
     }
-    bool should_create_trap() {
-        return my_divisor > 0;
-    }
     bool check_for_demand(task &t) {
         if( flag_task::is_peer_stolen(t) ) {
             my_max_depth++;
@@ -399,12 +360,9 @@ public:
         } else my_delay = false;
         return false;
     }
-    bool divisions_left() { // part of old should_execute_range()
+    bool is_divisible() {
         return my_divisor > 1;
     }
-    bool should_create_trap() {
-        return false;
-    }
     static const unsigned range_pool_size = __TBB_RANGE_POOL_CAPACITY;
 };
 
@@ -424,7 +382,7 @@ public:
     template<typename StartType, typename Range>
     void execute(StartType &start, Range &range) {
         while( range.is_divisible() )
-            split_work( start );
+            start.offer_work( split() );
         start.run_body( range );
     }
     //static const unsigned range_pool_size = 1; - not necessary because execute() is overridden
diff --git a/include/tbb/pipeline.h b/include/tbb/pipeline.h
index e6d3a90..ab58ced 100644
--- a/include/tbb/pipeline.h
+++ b/include/tbb/pipeline.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/include/tbb/queuing_mutex.h b/include/tbb/queuing_mutex.h
index a588ac7..e5ae366 100644
--- a/include/tbb/queuing_mutex.h
+++ b/include/tbb/queuing_mutex.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/include/tbb/queuing_rw_mutex.h b/include/tbb/queuing_rw_mutex.h
index 1a9d8ec..abdf0c0 100644
--- a/include/tbb/queuing_rw_mutex.h
+++ b/include/tbb/queuing_rw_mutex.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/include/tbb/reader_writer_lock.h b/include/tbb/reader_writer_lock.h
index 068a0d5..94bd753 100644
--- a/include/tbb/reader_writer_lock.h
+++ b/include/tbb/reader_writer_lock.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/include/tbb/recursive_mutex.h b/include/tbb/recursive_mutex.h
index 4ace6e1..ffe0bb2 100644
--- a/include/tbb/recursive_mutex.h
+++ b/include/tbb/recursive_mutex.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/include/tbb/runtime_loader.h b/include/tbb/runtime_loader.h
index 8903d01..f491752 100644
--- a/include/tbb/runtime_loader.h
+++ b/include/tbb/runtime_loader.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/include/tbb/scalable_allocator.h b/include/tbb/scalable_allocator.h
index 7f426a6..1226d70 100644
--- a/include/tbb/scalable_allocator.h
+++ b/include/tbb/scalable_allocator.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
@@ -102,7 +102,10 @@ typedef enum {
 typedef enum {
     TBBMALLOC_USE_HUGE_PAGES,  /* value turns using huge pages on and off */
     /* deprecated, kept for backward compatibility only */
-    USE_HUGE_PAGES = TBBMALLOC_USE_HUGE_PAGES
+    USE_HUGE_PAGES = TBBMALLOC_USE_HUGE_PAGES,
+    /* try to limit memory consumption value Bytes, clean internal buffers
+       if limit is exceeded, but not prevents from requesting memory from OS */
+    TBBMALLOC_SET_SOFT_HEAP_LIMIT
 } AllocationModeParam;
 
 /** Set TBB allocator-specific allocation modes.
@@ -129,6 +132,7 @@ int __TBB_EXPORTED_FUNC scalable_allocation_command(int cmd, void *param);
 
 #ifdef __cplusplus
 
+//! The namespace rml contains components of low-level memory pool interface.
 namespace rml {
 class MemoryPool;
 
@@ -260,7 +264,7 @@ public:
         size_type absolutemax = static_cast<size_type>(-1) / sizeof (value_type);
         return (absolutemax > 0 ? absolutemax : 1);
     }
-#if __TBB_CPP11_VARIADIC_TEMPLATES_PRESENT && __TBB_CPP11_RVALUE_REF_PRESENT
+#if __TBB_ALLOCATOR_CONSTRUCT_VARIADIC
     template<typename U, typename... Args>
     void construct(U *p, Args&&... args)
  #if __TBB_CPP11_STD_FORWARD_BROKEN
@@ -268,9 +272,9 @@ public:
  #else
         { ::new((void *)p) U(std::forward<Args>(args)...); }
  #endif
-#else // __TBB_CPP11_VARIADIC_TEMPLATES_PRESENT && __TBB_CPP11_RVALUE_REF_PRESENT
+#else // __TBB_ALLOCATOR_CONSTRUCT_VARIADIC
     void construct( pointer p, const value_type& value ) {::new((void*)(p)) value_type(value);}
-#endif // __TBB_CPP11_VARIADIC_TEMPLATES_PRESENT && __TBB_CPP11_RVALUE_REF_PRESENT
+#endif // __TBB_ALLOCATOR_CONSTRUCT_VARIADIC
     void destroy( pointer p ) {p->~value_type();}
 };
 
diff --git a/include/tbb/spin_mutex.h b/include/tbb/spin_mutex.h
index f4bb7cb..2caf1b1 100644
--- a/include/tbb/spin_mutex.h
+++ b/include/tbb/spin_mutex.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
@@ -209,9 +209,9 @@ namespace tbb {
     @ingroup synchronization */
 
 #if ( __TBB_x86_32 || __TBB_x86_64 )
-typedef interface7::internal::padded_mutex<interface7::internal::x86_eliding_mutex> speculative_spin_mutex;
+typedef interface7::internal::padded_mutex<interface7::internal::x86_eliding_mutex,false> speculative_spin_mutex;
 #else
-typedef interface7::internal::padded_mutex<spin_mutex> speculative_spin_mutex;
+typedef interface7::internal::padded_mutex<spin_mutex,false> speculative_spin_mutex;
 #endif
 __TBB_DEFINE_PROFILING_SET_NAME(speculative_spin_mutex)
 
diff --git a/include/tbb/spin_rw_mutex.h b/include/tbb/spin_rw_mutex.h
index c1c1610..b1c9a39 100644
--- a/include/tbb/spin_rw_mutex.h
+++ b/include/tbb/spin_rw_mutex.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
@@ -32,7 +32,7 @@
 #include "tbb_stddef.h"
 #include "tbb_machine.h"
 #include "tbb_profiling.h"
-
+#include "internal/_mutex_padding.h"
 namespace tbb {
 
 class spin_rw_mutex_v3;
@@ -161,7 +161,23 @@ public:
             return result;
         }
 
+#if TBB_PREVIEW_SPECULATIVE_SPIN_RW_MUTEX
+        // helper methods for speculation-based spin_rw_mutex
+        spin_rw_mutex *__internal_get_mutex() {
+            return mutex;
+        }
+
+        // have to be able to "NULL"-ify the mutex
+        void __internal_set_mutex(spin_rw_mutex* m) {
+            mutex = m;
+        }
+
+        void __internal_set_writer(bool flag=true) {
+            is_writer = flag;
+        }
+#endif /* TBB_PREVIEW_SPECULATIVE_SPIN_RW_MUTEX */
     protected:
+
         //! The pointer to the current mutex that is held, or NULL if no mutex is held.
         spin_rw_mutex* mutex;
 
@@ -204,7 +220,7 @@ public:
     /** Return true if reader lock acquired; false otherwise. */
     bool try_lock_read() {return internal_try_acquire_reader();}
 
-private:
+protected:
     typedef intptr_t state_t;
     static const state_t WRITER = 1;
     static const state_t WRITER_PENDING = 2;
@@ -217,11 +233,38 @@ private:
         Bit 2..N = number of readers holding lock */
     state_t state;
 
+private:
     void __TBB_EXPORTED_METHOD internal_construct();
 };
 
 __TBB_DEFINE_PROFILING_SET_NAME(spin_rw_mutex)
 
 } // namespace tbb
+#if TBB_PREVIEW_SPECULATIVE_SPIN_RW_MUTEX
+#if __TBB_TSX_AVAILABLE
+#include "internal/_x86_rtm_rw_mutex_impl.h"
+#endif
 
+namespace tbb {
+namespace interface7 {
+//! A cross-platform spin reader/writer mutex with speculative lock acquisition.
+/** On platforms with proper HW support, this lock may speculatively execute
+    its critical sections, using HW mechanisms to detect real data races and
+    ensure atomicity of the critical sections. In particular, it uses
+    Intel(R) Transactional Synchronization Extensions (Intel(R) TSX).
+    Without such HW support, it behaves like a spin_rw_mutex.
+    It should be used for locking short critical sections where the lock is 
+    contended but the data it protects are not.
+    @ingroup synchronization */
+#if __TBB_TSX_AVAILABLE
+typedef interface7::internal::padded_mutex<tbb::interface7::internal::x86_rtm_rw_mutex,true> speculative_spin_rw_mutex;
+#else
+typedef interface7::internal::padded_mutex<tbb::spin_rw_mutex,true> speculative_spin_rw_mutex;
+#endif
+}  // namespace interface7
+
+using interface7::speculative_spin_rw_mutex;
+__TBB_DEFINE_PROFILING_SET_NAME(speculative_spin_rw_mutex)
+} // namespace tbb
+#endif /* TBB_PREVIEW_SPECULATIVE_SPIN_RW_MUTEX */
 #endif /* __TBB_spin_rw_mutex_H */
diff --git a/include/tbb/task.h b/include/tbb/task.h
index f286c12..e1f4555 100644
--- a/include/tbb/task.h
+++ b/include/tbb/task.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
@@ -52,7 +52,7 @@ class task_group_context;
 #define __TBB_TASK_BASE_ACCESS private
 #endif
 
-namespace internal {
+namespace internal { //< @cond INTERNAL
 
     class allocate_additional_child_of_proxy: no_assign {
         //! No longer used, but retained for binary layout compatibility.  Always NULL.
@@ -64,7 +64,7 @@ namespace internal {
         void __TBB_EXPORTED_METHOD free( task& ) const;
     };
 
-}
+} //< namespace internal @endcond
 
 namespace interface5 {
     namespace internal {
@@ -348,7 +348,8 @@ private:
 
     union {
         //! Flavor of this context: bound or isolated.
-        kind_type my_kind;
+        // TODO: describe asynchronous use, and whether any memory semantics are needed
+        __TBB_atomic kind_type my_kind;
         uintptr_t _my_kind_aligner;
     };
 
@@ -869,6 +870,21 @@ class empty_task: public task {
     }
 };
 
+//! @cond INTERNAL
+namespace internal {
+    template<typename F>
+    class function_task : public task {
+        F my_func;
+        /*override*/ task* execute() {
+            my_func();
+            return NULL;
+        }
+    public:
+        function_task( const F& f ) : my_func(f) {}
+    };
+} // namespace internal
+//! @endcond
+
 //! A list of children.
 /** Used for method task::spawn_children
     @ingroup task_scheduling */
diff --git a/include/tbb/task_arena.h b/include/tbb/task_arena.h
index cce264e..e6761b7 100644
--- a/include/tbb/task_arena.h
+++ b/include/tbb/task_arena.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
@@ -31,6 +31,9 @@
 
 #include "task.h"
 #include "tbb_exception.h"
+#if TBB_USE_THREADING_TOOLS
+#include "atomic.h" // for as_atomic
+#endif
 
 #if __TBB_TASK_ARENA
 
@@ -45,21 +48,10 @@ namespace internal {
 } // namespace internal
 //! @endcond
 
-namespace interface6 {
+namespace interface7 {
 //! @cond INTERNAL
 namespace internal {
-using namespace tbb::internal;
-
-template<typename F>
-class enqueued_function_task : public task { // TODO: reuse from task_group?
-    F my_func;
-    /*override*/ task* execute() {
-        my_func();
-        return NULL;
-    }
-public:
-    enqueued_function_task ( const F& f ) : my_func(f) {}
-};
+using namespace tbb::internal; //e.g. function_task from task.h
 
 class delegate_base : no_assign {
 public:
@@ -76,75 +68,99 @@ class delegated_function : public delegate_base {
 public:
     delegated_function ( F& f ) : my_func(f) {}
 };
-} // namespace internal
-//! @endcond
 
-/** 1-to-1 proxy representation class of scheduler's arena
- * Constructors set up settings only, real construction is deferred till the first method invocation
- * TODO: A side effect of this is that it's impossible to create a const task_arena object. Rethink?
- * Destructor only removes one of the references to the inner arena representation.
- * Final destruction happens when all the references (and the work) are gone.
- */
-class task_arena {
-    friend class internal::task_scheduler_observer_v3;
+class task_arena_base {
+protected:
+    //! NULL if not currently initialized.
+    internal::arena* my_arena;
+
+#if __TBB_TASK_GROUP_CONTEXT
+    //! default context of the arena
+    task_group_context *my_context;
+#endif
+
     //! Concurrency level for deferred initialization
     int my_max_concurrency;
 
     //! Reserved master slots
     unsigned my_master_slots;
 
-    //! NULL if not currently initialized.
-    internal::arena* my_arena;
+    //! Reserved for future use
+    intptr_t my_reserved;
 
-    // Initialization flag enabling compiler to throw excessive lazy initialization checks
-    bool my_initialized;
+    task_arena_base(int max_concurrency, unsigned reserved_for_masters)
+        : my_arena(0)
+#if __TBB_TASK_GROUP_CONTEXT
+        , my_context(0)
+#endif
+        , my_max_concurrency(max_concurrency)
+        , my_master_slots(reserved_for_masters)
+        , my_reserved(0)
+        {}
 
-    // const methods help to optimize the !my_arena check TODO: check, IDEA: move to base-class?
     void __TBB_EXPORTED_METHOD internal_initialize( );
     void __TBB_EXPORTED_METHOD internal_terminate( );
     void __TBB_EXPORTED_METHOD internal_enqueue( task&, intptr_t ) const;
-    void __TBB_EXPORTED_METHOD internal_execute( internal::delegate_base& ) const;
+    void __TBB_EXPORTED_METHOD internal_execute( delegate_base& ) const;
     void __TBB_EXPORTED_METHOD internal_wait() const;
-
+    static int __TBB_EXPORTED_FUNC internal_current_slot();
 public:
     //! Typedef for number of threads that is automatic.
     static const int automatic = -1; // any value < 1 means 'automatic'
 
+};
+
+} // namespace internal
+//! @endcond
+
+/** 1-to-1 proxy representation class of scheduler's arena
+ * Constructors set up settings only, real construction is deferred till the first method invocation
+ * Destructor only removes one of the references to the inner arena representation.
+ * Final destruction happens when all the references (and the work) are gone.
+ */
+class task_arena : public internal::task_arena_base {
+    friend class tbb::internal::task_scheduler_observer_v3;
+    bool my_initialized;
+
+public:
     //! Creates task_arena with certain concurrency limits
-    /** @arg max_concurrency specifies total number of slots in arena where threads work
+    /** Sets up settings only, real construction is deferred till the first method invocation
+     *  @arg max_concurrency specifies total number of slots in arena where threads work
      *  @arg reserved_for_masters specifies number of slots to be used by master threads only.
      *       Value of 1 is default and reflects behavior of implicit arenas.
      **/
     task_arena(int max_concurrency = automatic, unsigned reserved_for_masters = 1)
-        : my_max_concurrency(max_concurrency)
-        , my_master_slots(reserved_for_masters)
-        , my_arena(0)
+        : task_arena_base(max_concurrency, reserved_for_masters)
         , my_initialized(false)
     {}
 
     //! Copies settings from another task_arena
-    task_arena(const task_arena &s)
-        : my_max_concurrency(s.my_max_concurrency) // copy settings
-        , my_master_slots(s.my_master_slots)
-        , my_arena(0) // but not the reference or instance
+    task_arena(const task_arena &s) // copy settings but not the reference or instance
+        : task_arena_base(s.my_max_concurrency, s.my_master_slots)
         , my_initialized(false)
     {}
 
+    //! Forces allocation of the resources for the task_arena as specified in constructor arguments
     inline void initialize() {
         if( !my_initialized ) {
             internal_initialize();
+#if TBB_USE_THREADING_TOOLS
+            // Threading tools respect lock prefix but report false-positive data-race via plain store
+            internal::as_atomic(my_initialized).fetch_and_store<release>(true);
+#else
             my_initialized = true;
+#endif //TBB_USE_THREADING_TOOLS
         }
     }
 
     //! Overrides concurrency level and forces initialization of internal representation
     inline void initialize(int max_concurrency, unsigned reserved_for_masters = 1) {
-        __TBB_ASSERT( !my_arena, "task_arena was initialized already");
+        __TBB_ASSERT( !my_arena, "Impossible to modify settings of an already initialized task_arena");
         if( !my_initialized ) {
             my_max_concurrency = max_concurrency;
             my_master_slots = reserved_for_masters;
             initialize();
-        } // TODO: else throw?
+        }
     }
 
     //! Removes the reference to the internal arena representation.
@@ -171,7 +187,11 @@ public:
     template<typename F>
     void enqueue( const F& f ) {
         initialize();
-        internal_enqueue( *new( task::allocate_root() ) internal::enqueued_function_task<F>(f), 0 );
+#if __TBB_TASK_GROUP_CONTEXT
+        internal_enqueue( *new( task::allocate_root(*my_context) ) internal::function_task<F>(f), 0 );
+#else
+        internal_enqueue( *new( task::allocate_root() ) internal::function_task<F>(f), 0 );
+#endif
     }
 
 #if __TBB_TASK_PRIORITY
@@ -181,7 +201,11 @@ public:
     void enqueue( const F& f, priority_t p ) {
         __TBB_ASSERT( p == priority_low || p == priority_normal || p == priority_high, "Invalid priority level value" );
         initialize();
-        internal_enqueue( *new( task::allocate_root() ) internal::enqueued_function_task<F>(f), (intptr_t)p );
+#if __TBB_TASK_GROUP_CONTEXT
+        internal_enqueue( *new( task::allocate_root(*my_context) ) internal::function_task<F>(f), (intptr_t)p );
+#else
+        internal_enqueue( *new( task::allocate_root() ) internal::function_task<F>(f), (intptr_t)p );
+#endif
     }
 #endif// __TBB_TASK_PRIORITY
 
@@ -205,21 +229,25 @@ public:
         internal_execute( d );
     }
 
+#if __TBB_EXTRA_DEBUG
     //! Wait for all work in the arena to be completed
     //! Even submitted by other application threads
     //! Joins arena if/when possible (in the same way as execute())
-    void wait_until_empty() {
+    void debug_wait_until_empty() {
         initialize();
         internal_wait();
     }
+#endif //__TBB_EXTRA_DEBUG
 
     //! Returns the index, aka slot number, of the calling thread in its current arena
-    static int __TBB_EXPORTED_FUNC current_slot();
+    inline static int current_slot() {
+        return internal_current_slot();
+    }
 };
 
 } // namespace interfaceX
 
-using interface6::task_arena;
+using interface7::task_arena;
 
 } // namespace tbb
 
diff --git a/include/tbb/task_group.h b/include/tbb/task_group.h
index 0c5c5f8..aec9177 100644
--- a/include/tbb/task_group.h
+++ b/include/tbb/task_group.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
@@ -40,9 +40,14 @@ namespace internal {
     template<typename F> class task_handle_task;
 }
 
+class task_group;
+class structured_task_group;
+
 template<typename F>
 class task_handle : internal::no_assign {
     template<typename _F> friend class internal::task_handle_task;
+    friend class task_group;
+    friend class structured_task_group;
 
     static const intptr_t scheduled = 0x1;
 
@@ -69,20 +74,6 @@ enum task_group_status {
 
 namespace internal {
 
-// Suppress gratuitous warnings from icc 11.0 when lambda expressions are used in instances of function_task.
-//#pragma warning(disable: 588)
-
-template<typename F>
-class function_task : public task {
-    F my_func;
-    /*override*/ task* execute() {
-        my_func();
-        return NULL;
-    }
-public:
-    function_task( const F& f ) : my_func(f) {}
-};
-
 template<typename F>
 class task_handle_task : public task {
     task_handle<F>& my_handle;
@@ -217,6 +208,7 @@ public:
 
     template<typename F>
     task_group_status run_and_wait( task_handle<F>& h ) {
+      h.mark_scheduled();
       return internal_run_and_wait< task_handle<F> >( h );
     }
 }; // class task_group
@@ -225,6 +217,7 @@ class structured_task_group : public internal::task_group_base {
 public:
     template<typename F>
     task_group_status run_and_wait ( task_handle<F>& h ) {
+        h.mark_scheduled();
         return internal_run_and_wait< task_handle<F> >( h );
     }
 
diff --git a/include/tbb/task_scheduler_init.h b/include/tbb/task_scheduler_init.h
index 1a09df1..c2546f3 100644
--- a/include/tbb/task_scheduler_init.h
+++ b/include/tbb/task_scheduler_init.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
@@ -103,11 +103,11 @@ public:
 
     //! Shorthand for default constructor followed by call to initialize(number_of_threads).
 #if __TBB_SUPPORTS_WORKERS_WAITING_IN_TERMINATE
-    task_scheduler_init( int number_of_threads=automatic, stack_size_type thread_stack_size=0, bool wait_workers_in_terminate = false )
+    task_scheduler_init( int number_of_threads=automatic, stack_size_type thread_stack_size=0, bool wait_workers_in_terminate = false ) : my_scheduler(NULL)
 #else
-    task_scheduler_init( int number_of_threads=automatic, stack_size_type thread_stack_size=0 )
+    task_scheduler_init( int number_of_threads=automatic, stack_size_type thread_stack_size=0 ) : my_scheduler(NULL)
 #endif
-  : my_scheduler(NULL)  {
+    {
         // Two lowest order bits of the stack size argument may be taken to communicate
         // default exception propagation mode of the client to be used when the
         // client manually creates tasks in the master thread and does not use
diff --git a/include/tbb/task_scheduler_observer.h b/include/tbb/task_scheduler_observer.h
index d529eac..2860815 100644
--- a/include/tbb/task_scheduler_observer.h
+++ b/include/tbb/task_scheduler_observer.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
@@ -139,16 +139,16 @@ public:
     }
 #endif //__TBB_TASK_ARENA
 
+    //! Destructor additionally protects concurrent on_scheduler_leaving notification
+    // It is recommended to disable observation before destructor of a derived class starts,
+    // otherwise it can lead to concurrent notification callback on partly destroyed object
+    virtual ~task_scheduler_observer() { if(my_proxy) observe(false); }
+
     //! The callback can be invoked in a worker thread before it leaves an arena.
     /** If it returns false, the thread remains in the arena. Will not be called for masters
         or if the worker leaves arena due to rebalancing or priority changes, etc.
         NOTE: The preview library must be linked for this method to take effect **/
     virtual bool on_scheduler_leaving() { return true; }
-
-    //! Destructor additionally protects concurrent on_scheduler_leaving notification
-    // It is recommended to disable observation before destructor of a derived class starts,
-    // otherwise it can lead to concurrent notification callback on partly destroyed object
-    virtual ~task_scheduler_observer() { if(my_proxy) observe(false); }
 };
 
 } //namespace interface6
diff --git a/include/tbb/tbb.h b/include/tbb/tbb.h
index 54b4917..ef57c9f 100644
--- a/include/tbb/tbb.h
+++ b/include/tbb/tbb.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/include/tbb/tbb_allocator.h b/include/tbb/tbb_allocator.h
index 3a753bb..c7fcca1 100644
--- a/include/tbb/tbb_allocator.h
+++ b/include/tbb/tbb_allocator.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
@@ -121,7 +121,7 @@ public:
     }
     
     //! Copy-construct value at location pointed to by p.
-#if __TBB_CPP11_VARIADIC_TEMPLATES_PRESENT && __TBB_CPP11_RVALUE_REF_PRESENT
+#if __TBB_ALLOCATOR_CONSTRUCT_VARIADIC
     template<typename U, typename... Args>
     void construct(U *p, Args&&... args)
  #if __TBB_CPP11_STD_FORWARD_BROKEN
@@ -129,9 +129,9 @@ public:
  #else
         { ::new((void *)p) U(std::forward<Args>(args)...); }
  #endif
-#else // __TBB_CPP11_VARIADIC_TEMPLATES_PRESENT && __TBB_CPP11_RVALUE_REF_PRESENT
+#else // __TBB_ALLOCATOR_CONSTRUCT_VARIADIC
     void construct( pointer p, const value_type& value ) {::new((void*)(p)) value_type(value);}
-#endif // __TBB_CPP11_VARIADIC_TEMPLATES_PRESENT && __TBB_CPP11_RVALUE_REF_PRESENT
+#endif // __TBB_ALLOCATOR_CONSTRUCT_VARIADIC
 
     //! Destroy value at location pointed to by p.
     void destroy( pointer p ) {p->~value_type();}
diff --git a/include/tbb/tbb_config.h b/include/tbb/tbb_config.h
index 07a25df..3f0aadd 100644
--- a/include/tbb/tbb_config.h
+++ b/include/tbb/tbb_config.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
@@ -104,10 +104,18 @@
     #define __TBB_MAKE_EXCEPTION_PTR_PRESENT          (_MSC_VER >= 1700 || (__GXX_EXPERIMENTAL_CXX0X__ && __TBB_GCC_VERSION >= 40600))
     #define __TBB_STATIC_ASSERT_PRESENT               (__INTEL_CXX11_MODE__ || _MSC_VER >= 1600)
     #define __TBB_CPP11_TUPLE_PRESENT                 (_MSC_VER >= 1600 || (__GXX_EXPERIMENTAL_CXX0X__ && __TBB_GCC_VERSION >= 40300))
-    /** TODO: re-check for compiler version greater than 12.1 if it supports initializer lists**/
-    #define __TBB_INITIALIZER_LISTS_PRESENT           0
-    #define __TBB_CONSTEXPR_PRESENT                   0
-    #define __TBB_DEFAULTED_AND_DELETED_FUNC_PRESENT  __INTEL_CXX11_MODE__ 
+    /**Intel C++ compiler 14.0 crashes on using __has_include. When it fixed, condition will need to be updated. **/
+    #if (__clang__ && __INTEL_COMPILER > 1400)
+        #if (__has_feature(__cxx_generalized_initializers__) && __has_include(<initializer_list>))
+            #define __TBB_INITIALIZER_LISTS_PRESENT   1
+        #endif
+    #else
+        /** TODO: when MSVC2013 is supported by Intel C++ compiler, it will be enabled silently by compiler, so rule will need to be updated.**/
+        #define __TBB_INITIALIZER_LISTS_PRESENT       __INTEL_CXX11_MODE__ && __INTEL_COMPILER >= 1400 && (_MSC_VER >= 1800 || __TBB_GCC_VERSION >= 40400 || _LIBCPP_VERSION)
+    #endif
+    
+    #define __TBB_CONSTEXPR_PRESENT                   __INTEL_CXX11_MODE__ && __INTEL_COMPILER >= 1400
+    #define __TBB_DEFAULTED_AND_DELETED_FUNC_PRESENT  __INTEL_CXX11_MODE__ && __INTEL_COMPILER >= 1200
 #elif __clang__
 //TODO: these options need to be rechecked
 /** on OS X* the only way to get C++11 is to use clang. For library features (e.g. exception_ptr) libc++ is also
@@ -143,15 +151,15 @@
     #define __TBB_CONSTEXPR_PRESENT                   (__GXX_EXPERIMENTAL_CXX0X__ && __TBB_GCC_VERSION >= 40400)
     #define __TBB_DEFAULTED_AND_DELETED_FUNC_PRESENT  (__GXX_EXPERIMENTAL_CXX0X__ && __TBB_GCC_VERSION >= 40400)
 #elif _MSC_VER
-    #define __TBB_CPP11_VARIADIC_TEMPLATES_PRESENT    0
+    #define __TBB_CPP11_VARIADIC_TEMPLATES_PRESENT    (_MSC_VER >= 1800)
     #define __TBB_CPP11_RVALUE_REF_PRESENT            (_MSC_VER >= 1600)
     #define __TBB_EXCEPTION_PTR_PRESENT               (_MSC_VER >= 1600)
     #define __TBB_STATIC_ASSERT_PRESENT               (_MSC_VER >= 1600)
     #define __TBB_MAKE_EXCEPTION_PTR_PRESENT          (_MSC_VER >= 1700)
     #define __TBB_CPP11_TUPLE_PRESENT                 (_MSC_VER >= 1600)
-    #define __TBB_INITIALIZER_LISTS_PRESENT           0
+    #define __TBB_INITIALIZER_LISTS_PRESENT           (_MSC_VER >= 1800)
     #define __TBB_CONSTEXPR_PRESENT                   0
-    #define __TBB_DEFAULTED_AND_DELETED_FUNC_PRESENT  0
+    #define __TBB_DEFAULTED_AND_DELETED_FUNC_PRESENT  (_MSC_VER >= 1800)
 #else
     #define __TBB_CPP11_VARIADIC_TEMPLATES_PRESENT    0
     #define __TBB_CPP11_RVALUE_REF_PRESENT            0
@@ -195,6 +203,12 @@
     #define __TBB_ICC_BUILTIN_ATOMICS_PRESENT 1
 #endif
 
+#if __MIC__ || __MIC2__
+#define __TBB_DEFINE_MIC 1
+#endif
+
+#define __TBB_TSX_INTRINSICS_PRESENT ( (__TBB_GCC_VERSION>=40800) || (_MSC_VER>=1700) || (__INTEL_COMPILER>=1300) ) && !__TBB_DEFINE_MIC
+
 /** User controlled TBB features & modes **/
 
 #ifndef TBB_USE_DEBUG
@@ -233,10 +247,6 @@
 #endif /* TBB_PEFORMANCE_WARNINGS */
 #endif /* TBB_USE_PERFORMANCE_WARNINGS */
 
-#if __MIC__ || __MIC2__
-#define __TBB_DEFINE_MIC 1
-#endif
-
 #if !defined(__EXCEPTIONS) && !defined(_CPPUNWIND) && !defined(__SUNPRO_CC) || defined(_XBOX)
     #if TBB_USE_EXCEPTIONS
         #error Compilation settings do not support exception handling. Please do not set TBB_USE_EXCEPTIONS macro or set it to 0.
@@ -321,32 +331,31 @@
     #define __TBB_SCHEDULER_OBSERVER 1
 #endif /* __TBB_SCHEDULER_OBSERVER */
 
-#if !defined(TBB_PREVIEW_TASK_ARENA) && __TBB_BUILD
-    #define TBB_PREVIEW_TASK_ARENA __TBB_CPF_BUILD
-#endif /* TBB_PREVIEW_TASK_ARENA */
-#define __TBB_TASK_ARENA TBB_PREVIEW_TASK_ARENA
-#if TBB_PREVIEW_TASK_ARENA
-    #define TBB_PREVIEW_LOCAL_OBSERVER 1
-    #define __TBB_NO_IMPLICIT_LINKAGE 1
-    #define __TBB_RECYCLE_TO_ENQUEUE 1
-    #ifndef __TBB_TASK_PRIORITY
-        #define __TBB_TASK_PRIORITY 0 // TODO: it will be removed in next versions
-    #endif
+#ifndef __TBB_TASK_ARENA
+    #define __TBB_TASK_ARENA (__TBB_BUILD||TBB_PREVIEW_TASK_ARENA)
+#endif /* __TBB_TASK_ARENA  */
+#if __TBB_TASK_ARENA
+    #define __TBB_RECYCLE_TO_ENQUEUE __TBB_BUILD // keep non-official
     #if !__TBB_SCHEDULER_OBSERVER
         #error TBB_PREVIEW_TASK_ARENA requires __TBB_SCHEDULER_OBSERVER to be enabled
     #endif
-#endif /* TBB_PREVIEW_TASK_ARENA */
+#endif /* __TBB_TASK_ARENA */
 
 #if !defined(TBB_PREVIEW_LOCAL_OBSERVER) && __TBB_BUILD && __TBB_SCHEDULER_OBSERVER
     #define TBB_PREVIEW_LOCAL_OBSERVER 1
 #endif /* TBB_PREVIEW_LOCAL_OBSERVER */
 
+
+#ifndef __TBB_ITT_STRUCTURE_API
+#define __TBB_ITT_STRUCTURE_API ( !__TBB_DEFINE_MIC && (__TBB_CPF_BUILD || TBB_PREVIEW_FLOW_GRAPH_TRACE) )
+#endif
+
 #if TBB_USE_EXCEPTIONS && !__TBB_TASK_GROUP_CONTEXT
     #error TBB_USE_EXCEPTIONS requires __TBB_TASK_GROUP_CONTEXT to be enabled
 #endif
 
 #ifndef __TBB_TASK_PRIORITY
-    #define __TBB_TASK_PRIORITY __TBB_TASK_GROUP_CONTEXT
+    #define __TBB_TASK_PRIORITY (!__TBB_CPF_BUILD&&__TBB_TASK_GROUP_CONTEXT) // TODO: it will be enabled for CPF in the next versions
 #endif /* __TBB_TASK_PRIORITY */
 
 #if __TBB_TASK_PRIORITY && !__TBB_TASK_GROUP_CONTEXT
@@ -382,6 +391,11 @@
 #endif
 #endif
 
+#if !defined(TBB_PREVIEW_SPECULATIVE_SPIN_RW_MUTEX)
+    #define TBB_PREVIEW_SPECULATIVE_SPIN_RW_MUTEX __TBB_CPF_BUILD
+#endif /* TBB_PREVIEW_SPECULATIVE_SPIN_RW_MUTEX */
+
+
 /** __TBB_WIN8UI_SUPPORT enables support of New Windows*8 Store Apps and limit a possibility to load
     shared libraries at run time only from application container **/
 #if defined(WINAPI_FAMILY) && WINAPI_FAMILY == WINAPI_FAMILY_APP
@@ -414,6 +428,8 @@
 #   endif
 #endif
 
+#define __TBB_TSX_AVAILABLE  (__TBB_x86_32 || __TBB_x86_64) && !__TBB_DEFINE_MIC
+
 /** Macros of the form __TBB_XXX_BROKEN denote known issues that are caused by
     the bugs in compilers, standard or OS specific libraries. They should be
     removed as soon as the corresponding bugs are fixed or the buggy OS/compiler
@@ -425,6 +441,11 @@
         but no mandatory warning message appears from GCC 4.4.3. Instead, only a linkage error occurs when
         these atomic operations are used (such as in unit test test_atomic.exe). **/
     #define __TBB_GCC_64BIT_ATOMIC_BUILTINS_BROKEN 1
+#elif __TBB_x86_32 && __TBB_GCC_VERSION == 40102 && ! __GNUC_RH_RELEASE__
+    /** GCC 4.1.2 erroneously emit call to external function for 64 bit sync_ intrinsics.
+        However these functions are not defined anywhere. It seems that this problem was fixed later on
+        and RHEL got an updated version of gcc 4.1.2. **/
+    #define __TBB_GCC_64BIT_ATOMIC_BUILTINS_BROKEN 1
 #endif
 
 #if __GNUC__ && __TBB_x86_64 && __INTEL_COMPILER == 1200
@@ -525,7 +546,12 @@
     #define __TBB_LIBSTDCPP_EXCEPTION_HEADERS_BROKEN 0
 #endif
 
-#if __TBB_x86_32 && (__linux__ || __APPLE__ || _WIN32 || __sun) &&  ((defined(__INTEL_COMPILER) && __INTEL_COMPILER <= 1300) || (__GNUC__==3 && __GNUC_MINOR__==3 ) || defined(__SUNPRO_CC))
+/*In a PIC mode some versions of GCC 4.1.2 generate incorrect inlined code for 8 byte __sync_val_compare_and_swap intrinisc */
+#if __TBB_GCC_VERSION == 40102 && __PIC__ && !defined(__INTEL_COMPILER) && !defined(__clang__)
+    #define __TBB_GCC_CAS8_BUILTIN_INLINING_BROKEN 1
+#endif
+
+#if __TBB_x86_32 && (__linux__ || __APPLE__ || _WIN32 || __sun) &&  ((defined(__INTEL_COMPILER) && __INTEL_COMPILER <= 1400) || (__GNUC__==3 && __GNUC_MINOR__==3 ) || defined(__SUNPRO_CC))
     // Some compilers for IA-32 fail to provide 8-byte alignment of objects on the stack,
     // even if the object specifies 8-byte alignment.  On such platforms, the IA-32 implementation
     // of 64 bit atomics (e.g. atomic<long long>) use different tactics depending upon
@@ -540,6 +566,12 @@
 #endif
 /** End of __TBB_XXX_BROKEN macro section **/
 
+#if defined(_MSC_VER) && _MSC_VER>=1500 && !defined(__INTEL_COMPILER)
+    // A macro to suppress erroneous or benign "unreachable code" MSVC warning (4702)
+    #define __TBB_MSVC_UNREACHABLE_CODE_IGNORED 1
+#endif
+
 #define __TBB_ATOMIC_CTORS     (__TBB_CONSTEXPR_PRESENT && __TBB_DEFAULTED_AND_DELETED_FUNC_PRESENT && (!__TBB_ZERO_INIT_WITH_DEFAULTED_CTOR_BROKEN))
 
+#define __TBB_ALLOCATOR_CONSTRUCT_VARIADIC      (__TBB_CPP11_VARIADIC_TEMPLATES_PRESENT && __TBB_CPP11_RVALUE_REF_PRESENT)
 #endif /* __TBB_tbb_config_H */
diff --git a/include/tbb/tbb_exception.h b/include/tbb/tbb_exception.h
index 62d8109..e8993c1 100644
--- a/include/tbb/tbb_exception.h
+++ b/include/tbb/tbb_exception.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/include/tbb/tbb_machine.h b/include/tbb/tbb_machine.h
index 995f301..28e87fb 100644
--- a/include/tbb/tbb_machine.h
+++ b/include/tbb/tbb_machine.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
@@ -125,7 +125,7 @@
 #include "tbb_stddef.h"
 
 namespace tbb {
-namespace internal {
+namespace internal { //< @cond INTERNAL
 
 ////////////////////////////////////////////////////////////////////////////////
 // Overridable helpers declarations
@@ -172,7 +172,7 @@ template<> struct atomic_selector<8> {
     inline static word fetch_store ( volatile void* location, word value );
 };
 
-}} // namespaces internal, tbb
+}} //< namespaces internal @endcond, tbb
 
 #define __TBB_MACHINE_DEFINE_STORE8_GENERIC_FENCED(M)                                        \
     inline void __TBB_machine_generic_store8##M(volatile void *ptr, int64_t value) {         \
@@ -349,7 +349,7 @@ namespace tbb {
 //! Sequentially consistent full memory fence.
 inline void atomic_fence () { __TBB_full_memory_fence(); }
 
-namespace internal {
+namespace internal { //< @cond INTERNAL
 
 //! Class that implements exponential backoff.
 /** See implementation of spin_wait_while_eq for an example. */
@@ -834,7 +834,7 @@ const T reverse<T>::byte_table[256] = {
     0x0F, 0x8F, 0x4F, 0xCF, 0x2F, 0xAF, 0x6F, 0xEF, 0x1F, 0x9F, 0x5F, 0xDF, 0x3F, 0xBF, 0x7F, 0xFF
 };
 
-} // namespace internal
+} // namespace internal @endcond
 } // namespace tbb
 
 // Preserving access to legacy APIs
diff --git a/include/tbb/tbb_profiling.h b/include/tbb/tbb_profiling.h
index efafb82..804df3d 100644
--- a/include/tbb/tbb_profiling.h
+++ b/include/tbb/tbb_profiling.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
@@ -29,6 +29,36 @@
 #ifndef __TBB_profiling_H
 #define __TBB_profiling_H
 
+namespace tbb {
+    namespace internal {
+
+        //
+        // This is not under __TBB_ITT_STRUCTURE_API because these values are used directly in flow_graph.h.  
+        //
+       
+        // include list of index names
+        #define TBB_STRING_RESOURCE(index_name,str) index_name,
+        enum string_index {
+           #include "internal/_tbb_strings.h"
+           NUM_STRINGS
+        };
+        #undef TBB_STRING_RESOURCE
+
+        enum itt_relation
+        {
+        __itt_relation_is_unknown = 0,
+        __itt_relation_is_dependent_on,         /**< "A is dependent on B" means that A cannot start until B completes */
+        __itt_relation_is_sibling_of,           /**< "A is sibling of B" means that A and B were created as a group */
+        __itt_relation_is_parent_of,            /**< "A is parent of B" means that A created B */
+        __itt_relation_is_continuation_of,      /**< "A is continuation of B" means that A assumes the dependencies of B */
+        __itt_relation_is_child_of,             /**< "A is child of B" means that A was created by B (inverse of is_parent_of) */
+        __itt_relation_is_continued_by,         /**< "A is continued by B" means that B assumes the dependencies of A (inverse of is_continuation_of) */
+        __itt_relation_is_predecessor_to        /**< "A is predecessor to B" means that B cannot start until A completes (inverse of is_dependent_on) */
+        };
+    
+    }
+}
+
 // Check if the tools support is enabled
 #if (_WIN32||_WIN64||__linux__) && !__MINGW32__ && TBB_USE_THREADING_TOOLS
 
@@ -39,6 +69,7 @@
 
 namespace tbb {
     namespace internal {
+
 #if _WIN32||_WIN64
         void __TBB_EXPORTED_FUNC itt_set_sync_name_v3( void *obj, const wchar_t* name );
         inline size_t multibyte_to_widechar( wchar_t* wcs, const char* mbs, size_t bufsize) {
@@ -108,12 +139,26 @@ namespace tbb {
     namespace internal {
 
         enum notify_type {prepare=0, cancel, acquired, releasing};
+
         const uintptr_t NUM_NOTIFY_TYPES = 4; // set to # elements in enum above
 
         void __TBB_EXPORTED_FUNC call_itt_notify_v5(int t, void *ptr);
         void __TBB_EXPORTED_FUNC itt_store_pointer_with_release_v3(void *dst, void *src);
         void* __TBB_EXPORTED_FUNC itt_load_pointer_with_acquire_v3(const void *src);
         void* __TBB_EXPORTED_FUNC itt_load_pointer_v3( const void* src );
+#if __TBB_ITT_STRUCTURE_API
+        enum itt_domain_enum { ITT_DOMAIN_FLOW=0 };
+
+        void __TBB_EXPORTED_FUNC itt_make_task_group_v7( itt_domain_enum domain, void *group, unsigned long long group_extra, 
+                                                         void *parent, unsigned long long parent_extra, string_index name_index ); 
+        void __TBB_EXPORTED_FUNC itt_metadata_str_add_v7( itt_domain_enum domain, void *addr, unsigned long long addr_extra, 
+                                                          string_index key, const char *value ); 
+        void __TBB_EXPORTED_FUNC itt_relation_add_v7( itt_domain_enum domain, void *addr0, unsigned long long addr0_extra, 
+                                                      itt_relation relation, void *addr1, unsigned long long addr1_extra );
+        void __TBB_EXPORTED_FUNC itt_task_begin_v7( itt_domain_enum domain, void *task, unsigned long long task_extra, 
+                                                    void *parent, unsigned long long parent_extra, string_index name_index );
+        void __TBB_EXPORTED_FUNC itt_task_end_v7( itt_domain_enum domain );
+#endif // __TBB_ITT_STRUCTURE_API
 
         // two template arguments are to workaround /Wp64 warning with tbb::atomic specialized for unsigned type
         template <typename T, typename U>
@@ -195,10 +240,38 @@ namespace tbb {
         inline void call_itt_notify(notify_type t, void *ptr) {
             call_itt_notify_v5((int)t, ptr);
         }
+
 #else
         inline void call_itt_notify(notify_type /*t*/, void * /*ptr*/) {}
+
 #endif // TBB_USE_THREADING_TOOLS
 
+#if __TBB_ITT_STRUCTURE_API
+        inline void itt_make_task_group( itt_domain_enum domain, void *group, unsigned long long group_extra, 
+                                         void *parent, unsigned long long parent_extra, string_index name_index ) {
+            itt_make_task_group_v7( domain, group, group_extra, parent, parent_extra, name_index ); 
+        }
+
+        inline void itt_metadata_str_add( itt_domain_enum domain, void *addr, unsigned long long addr_extra, 
+                                          string_index key, const char *value ) {
+            itt_metadata_str_add_v7( domain, addr, addr_extra, key, value ); 
+        }
+
+        inline void itt_relation_add( itt_domain_enum domain, void *addr0, unsigned long long addr0_extra, 
+                                      itt_relation relation, void *addr1, unsigned long long addr1_extra ) {
+            itt_relation_add_v7( domain, addr0, addr0_extra, relation, addr1, addr1_extra );
+        }
+
+        inline void itt_task_begin( itt_domain_enum domain, void *task, unsigned long long task_extra, 
+                                                        void *parent, unsigned long long parent_extra, string_index name_index ) {
+            itt_task_begin_v7( domain, task, task_extra, parent, parent_extra, name_index );
+        }
+
+        inline void itt_task_end( itt_domain_enum domain ) {
+            itt_task_end_v7( domain );
+        }
+#endif // __TBB_ITT_STRUCTURE_API
+
     } // namespace internal
 } // namespace tbb
 
diff --git a/include/tbb/tbb_stddef.h b/include/tbb/tbb_stddef.h
index 6697030..24cbd0e 100644
--- a/include/tbb/tbb_stddef.h
+++ b/include/tbb/tbb_stddef.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
@@ -34,7 +34,7 @@
 #define TBB_VERSION_MINOR 2
 
 // Engineering-focused interface version
-#define TBB_INTERFACE_VERSION 7000
+#define TBB_INTERFACE_VERSION 7003
 #define TBB_INTERFACE_VERSION_MAJOR TBB_INTERFACE_VERSION/1000
 
 // The oldest major interface version still supported
@@ -293,15 +293,16 @@ void __TBB_EXPORTED_FUNC runtime_warning( const char* format, ... );
 static void* const poisoned_ptr = reinterpret_cast<void*>(-1);
 
 //! Set p to invalid pointer value.
+//  Also works for regular (non-__TBB_atomic) pointers.
 template<typename T>
-inline void poison_pointer( T*& p ) { p = reinterpret_cast<T*>(poisoned_ptr); }
+inline void poison_pointer( T* __TBB_atomic & p ) { p = reinterpret_cast<T*>(poisoned_ptr); }
 
 /** Expected to be used in assertions only, thus no empty form is defined. **/
 template<typename T>
 inline bool is_poisoned( T* p ) { return p == reinterpret_cast<T*>(poisoned_ptr); }
 #else
 template<typename T>
-inline void poison_pointer( T* ) {/*do nothing*/}
+inline void poison_pointer( T* __TBB_atomic & ) {/*do nothing*/}
 #endif /* !TBB_USE_ASSERT */
 
 //! Cast between unrelated pointer types.
diff --git a/include/tbb/tbb_thread.h b/include/tbb/tbb_thread.h
index 7ba6ff1..b36f99d 100644
--- a/include/tbb/tbb_thread.h
+++ b/include/tbb/tbb_thread.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
@@ -61,12 +61,9 @@ typedef DWORD thread_id_type;
 
 namespace tbb {
 
-//! @cond INTERNAL
 namespace internal {
-    
     class tbb_thread_v3;
-
-} // namespace internal
+}
 
 inline void swap( internal::tbb_thread_v3& t1, internal::tbb_thread_v3& t2 ); 
 
diff --git a/include/tbb/tbbmalloc_proxy.h b/include/tbb/tbbmalloc_proxy.h
index 0165073..8b01137 100644
--- a/include/tbb/tbbmalloc_proxy.h
+++ b/include/tbb/tbbmalloc_proxy.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/include/tbb/tick_count.h b/include/tbb/tick_count.h
index c93c6b3..e736a32 100644
--- a/include/tbb/tick_count.h
+++ b/include/tbb/tick_count.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/index.html b/index.html
index bf468e1..42340e6 100644
--- a/index.html
+++ b/index.html
@@ -30,7 +30,7 @@ To port Intel TBB to a new platform, operating system or architecture, see the <
 
 <HR>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <P></P>
 Intel is a registered trademark or trademark of Intel Corporation
 or its subsidiaries in the United States and other countries.
diff --git a/jni/Android.mk b/jni/Android.mk
index 761bb07..0460d61 100644
--- a/jni/Android.mk
+++ b/jni/Android.mk
@@ -1,4 +1,4 @@
-# Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+# Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 #
 # This file is part of Threading Building Blocks.
 #
diff --git a/jni/Application.mk b/jni/Application.mk
index 0baabd9..547f4db 100644
--- a/jni/Application.mk
+++ b/jni/Application.mk
@@ -1,4 +1,4 @@
-# Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+# Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 #
 # This file is part of Threading Building Blocks.
 #
diff --git a/src/Makefile b/src/Makefile
index 5637040..49b94d6 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -1,4 +1,4 @@
-# Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+# Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 #
 # This file is part of Threading Building Blocks.
 #
@@ -45,7 +45,7 @@ tbbproxy: tbbproxy_release tbbproxy_debug
 rml: rml_release rml_debug
 
 test: tbbmalloc_test_release $(if $(use_proxy),tbbproxy_test_release) tbb_test_release tbbmalloc_test_debug $(if $(use_proxy),tbbproxy_test_debug) tbb_test_debug
-ifneq (android,$(target))
+ifeq (,$(findstring skip,$(target:android=skip) $(offload:mic=skip)))
 test: rml_test_debug rml_test_release
 endif
 
@@ -85,9 +85,8 @@ native_examples: tbb tbbmalloc
 ../examples/% examples/%::
 	$(MAKE) -C $(examples_root) -r -f Makefile tbb_root=.. $(subst examples/,,$(subst ../,,$@))
 
-debug_%:: cfg?=debug
+debug_%:: cfg:=$(if $(findstring file,$(origin cfg)),debug,$(cfg))
 debug_%:: export run_cmd=$(debugger)
-test_% stress_% time_% perf_%:: cfg?=release
 debug_malloc_% test_malloc_% debug_ScalableAlloc% test_ScalableAlloc%:: TESTFILE=tbbmalloc
 debug_rml_% test_rml_%:: TESTFILE=rml
 debug_runtime_load% test_runtime_load%:: TESTFILE=tbbproxy
@@ -96,7 +95,7 @@ debug_% test_% stress_% time_% perf_%::
 	$(MAKE) -C "$(work_dir)_$(cfg)" -r -f $(tbb_root)/build/Makefile.$(TESTFILE) cfg=$(cfg) $@
 
 clean_%::
-ifeq ($(cfg),)
+ifeq ($(origin cfg),file)
 	@$(MAKE) -C "$(work_dir)_release"  -r -f $(tbb_root)/build/Makefile.test cfg=release $@
 	@$(MAKE) -C "$(work_dir)_debug"  -r -f $(tbb_root)/build/Makefile.test cfg=debug $@
 else
@@ -216,7 +215,7 @@ clean_debug:
 clean_examples:
 	$(shell $(MAKE) -s -i -r -C $(examples_root) -f Makefile tbb_root=.. clean >$(NUL) 2>$(NUL))
 
-.PHONY: mkdir_release mkdir_debug codecov do_codecov info
+.PHONY: mkdir_release mkdir_debug codecov do_codecov info tbbvars shell
 
 mkdir_release:
 	$(shell $(MD) "$(work_dir)_release" >$(NUL) 2>$(NUL))
@@ -226,10 +225,18 @@ mkdir_debug:
 	$(shell $(MD) "$(work_dir)_debug" >$(NUL) 2>$(NUL))
 	@echo Created $(work_dir)_debug directory
 
-codecov: compiler=$(if $(findstring windows,$(tbb_os)),icl,icc)
+ifeq ($(compiler),$(if $(findstring windows,$(tbb_os)),icl,icc))
+codecov: codecov=yes
+codecov: do_codecov
+	$(MAKE) -C "$(work_dir)_release" -r -f $(tbb_root)/build/Makefile.test cfg=release codecov_gen
+else
 codecov:
-	$(MAKE) tbb_root=.. codecov=yes do_codecov
+	$(error Only Intel(R) C++ Compiler is supported for code coverage)
+endif
+
+export codecov
 
+do_codecov: tbb_root=..
 do_codecov:
 	$(MAKE) RML=yes tbbmalloc_test_release test_release
 	$(MAKE) clean_test_* cfg=release
@@ -238,7 +245,6 @@ do_codecov:
 	$(MAKE) rml_test_release
 	$(MAKE) clean_test_* cfg=release
 	$(MAKE) crosstest=yes rml_test_debug
-	$(MAKE) -C "$(work_dir)_release" -r -f $(tbb_root)/build/Makefile.test tbb_root=$(tbb_root) cfg=release codecov=yes codecov_gen
 
 info:
 	@echo OS: $(tbb_os)
@@ -246,3 +252,19 @@ info:
 	@echo compiler=$(compiler)
 	@echo runtime=$(runtime)
 	@echo tbb_build_prefix=$(tbb_build_prefix)
+	@echo work_dir=$(abspath $(tbb_build_dir)$(SLASH)$(tbb_build_prefix)_$(cfg))
+
+# [usage]$ source `make <options> tbbvars`.sh
+tbbvars:
+	@echo $(tbb_build_dir)$(SLASH)$(tbb_build_prefix)_$(cfg)$(SLASH)tbbvars
+
+symbols: args=$(if $(findstring cl,$(compiler)), dumpbin /section:.text *.obj|findstr COMDAT , nm -Pg *.o|grep ' T '|cut -f1 -d' ')
+symbols: shell
+
+shell:
+ifdef BUILDING_PHASE
+	-$(run_cmd) $(shell_cmd)
+else
+	@$(MAKE) -C "$(work_dir)_$(cfg)" -rf $(tbb_root)/src/Makefile BUILDING_PHASE=1 shell shell_cmd="$(if $(args),$(args),$(SHELL))"
+endif
+
diff --git a/src/index.html b/src/index.html
index 29c6de5..7605b5d 100644
--- a/src/index.html
+++ b/src/index.html
@@ -66,7 +66,7 @@ This directory contains the source code and unit tests for Intel® Threading
 <HR>
 <A HREF="../index.html">Up to parent directory</A>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <P></P>
 Intel is a registered trademark or trademark of Intel Corporation
 or its subsidiaries in the United States and other countries.
diff --git a/src/old/concurrent_queue_v2.cpp b/src/old/concurrent_queue_v2.cpp
index 3c0a8da..df48449 100644
--- a/src/old/concurrent_queue_v2.cpp
+++ b/src/old/concurrent_queue_v2.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/old/concurrent_queue_v2.h b/src/old/concurrent_queue_v2.h
index c7614e9..b63379c 100644
--- a/src/old/concurrent_queue_v2.h
+++ b/src/old/concurrent_queue_v2.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/old/concurrent_vector_v2.cpp b/src/old/concurrent_vector_v2.cpp
index 2129b16..b3c2cb1 100644
--- a/src/old/concurrent_vector_v2.cpp
+++ b/src/old/concurrent_vector_v2.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/old/concurrent_vector_v2.h b/src/old/concurrent_vector_v2.h
index f6f7c2a..e0b758c 100644
--- a/src/old/concurrent_vector_v2.h
+++ b/src/old/concurrent_vector_v2.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/old/spin_rw_mutex_v2.cpp b/src/old/spin_rw_mutex_v2.cpp
index d3a6ef7..e000e1c 100644
--- a/src/old/spin_rw_mutex_v2.cpp
+++ b/src/old/spin_rw_mutex_v2.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/old/spin_rw_mutex_v2.h b/src/old/spin_rw_mutex_v2.h
index 3ebe9f5..43f5ccb 100644
--- a/src/old/spin_rw_mutex_v2.h
+++ b/src/old/spin_rw_mutex_v2.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/old/task_v2.cpp b/src/old/task_v2.cpp
index 42d5f85..6abbac0 100644
--- a/src/old/task_v2.cpp
+++ b/src/old/task_v2.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/old/test_concurrent_queue_v2.cpp b/src/old/test_concurrent_queue_v2.cpp
index 0a59b36..42e0633 100644
--- a/src/old/test_concurrent_queue_v2.cpp
+++ b/src/old/test_concurrent_queue_v2.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/old/test_concurrent_vector_v2.cpp b/src/old/test_concurrent_vector_v2.cpp
index 41203b1..ac5cd5a 100644
--- a/src/old/test_concurrent_vector_v2.cpp
+++ b/src/old/test_concurrent_vector_v2.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/old/test_mutex_v2.cpp b/src/old/test_mutex_v2.cpp
index 9bf69a1..a891280 100644
--- a/src/old/test_mutex_v2.cpp
+++ b/src/old/test_mutex_v2.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/old/test_task_scheduler_observer_v3.cpp b/src/old/test_task_scheduler_observer_v3.cpp
index 5c994e3..af1bac9 100644
--- a/src/old/test_task_scheduler_observer_v3.cpp
+++ b/src/old/test_task_scheduler_observer_v3.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/perf/coarse_grained_raii_lru_cache.h b/src/perf/coarse_grained_raii_lru_cache.h
index 99aff02..953af16 100644
--- a/src/perf/coarse_grained_raii_lru_cache.h
+++ b/src/perf/coarse_grained_raii_lru_cache.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/perf/cpq_pdes.cpp b/src/perf/cpq_pdes.cpp
index b6e8aa3..f148876 100644
--- a/src/perf/cpq_pdes.cpp
+++ b/src/perf/cpq_pdes.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/perf/cpq_throughput_test.cpp b/src/perf/cpq_throughput_test.cpp
index 61809d0..39f1764 100644
--- a/src/perf/cpq_throughput_test.cpp
+++ b/src/perf/cpq_throughput_test.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/perf/fibonacci_impl_tbb.cpp b/src/perf/fibonacci_impl_tbb.cpp
index 50bab0b..45c777a 100644
--- a/src/perf/fibonacci_impl_tbb.cpp
+++ b/src/perf/fibonacci_impl_tbb.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/perf/perf.cpp b/src/perf/perf.cpp
index 93c9746..fac9c3d 100644
--- a/src/perf/perf.cpp
+++ b/src/perf/perf.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
@@ -774,11 +774,11 @@ inline bool __TBB_bool( bool b ) { return b; }
     void PrintResults () {
         if ( theSettings.my_resFile )
             ResFile = fopen( theSettings.my_resFile, "w" );
-        Report( "%-*s %-*s %s", TitleFieldLen, "Test name", WorkloadFieldLen, "Workload", 
+        Report( "%-*s %-*s %s", TitleFieldLen, "Test-name", WorkloadFieldLen, "Workload", 
                                 MaxTbbMasters > 1 ? "W    M    " : "T    " );
         if ( theSettings.my_opts & UseAffinityModes )
             Report( "Aff  " );
-        Report( "%-*s SD, %%  %-*s %-*s %-*s ",
+        Report( "%-*s SD,%%  %-*s %-*s %-*s ",
                 RateFieldLen, "Avg.time", OvhdFieldLen, "Par.ovhd,%",
                 RateFieldLen, "Min.time", RateFieldLen, "Max.time" );
         Report( " | Repeats = %lu, CPUs %d\n", (unsigned long)NumRuns, NumCpus );
diff --git a/src/perf/perf.h b/src/perf/perf.h
index c0d30ab..60750d5 100644
--- a/src/perf/perf.h
+++ b/src/perf/perf.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/perf/perf_sched.cpp b/src/perf/perf_sched.cpp
index a4a9172..b6c17a0 100644
--- a/src/perf/perf_sched.cpp
+++ b/src/perf/perf_sched.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
@@ -101,7 +101,7 @@ protected:
         NumRootTasks = 1;
         NumIterations = workloads[idx];
         NumLeafTasks = NUM_CHILD_TASKS * NUM_ROOT_TASKS / (NumIterations > 1000 ? 32 : 8);
-        Perf::SetWorkloadName( "%d x %d", NumLeafTasks, NumIterations );
+        Perf::SetWorkloadName( "%dx%d", NumLeafTasks, NumIterations );
     }
     
     void Run ( ThreadInfo& ) {
@@ -164,7 +164,7 @@ class Test_ShallowTree : public Test_SPMC {
         NumIterations = workloads[idx];
         NumLeafTasks = NumIterations > 200 ? NUM_CHILD_TASKS / 10 : 
                             (NumIterations > 50 ? NUM_CHILD_TASKS / 2 : NUM_CHILD_TASKS * 2);
-        Perf::SetWorkloadName( "%d x %d", NumRootTasks * NumLeafTasks, NumIterations );
+        Perf::SetWorkloadName( "%dx%d", NumRootTasks * NumLeafTasks, NumIterations );
     }
 
     void Run ( ThreadInfo& ) {
@@ -241,7 +241,7 @@ protected:
             IterRange = algRanges[idx];
             IterGrain = algGrains[idx];
         }
-        Perf::SetWorkloadName( "%d / %d", IterRange, IterGrain );
+        Perf::SetWorkloadName( "%d/%d", IterRange, IterGrain );
     }
 public:
     Test_Algs ( PartitionerType pt = SimplePartitioner ) : my_partitionerType(pt) {}
@@ -382,7 +382,7 @@ protected:
             IterRange = 2;
             IterGrain = 1;
         }
-        Perf::SetWorkloadName( "%d / %d", NestingRange, NestingGrain );
+        Perf::SetWorkloadName( "%d/%d", NestingRange, NestingGrain );
     }
 
     void Run ( ThreadInfo& ) {
diff --git a/src/perf/run_statistics.sh b/src/perf/run_statistics.sh
index 60c2c03..1640685 100644
--- a/src/perf/run_statistics.sh
+++ b/src/perf/run_statistics.sh
@@ -1,6 +1,6 @@
 #!/bin/bash
 #
-# Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+# Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 #
 # This file is part of Threading Building Blocks.
 #
diff --git a/src/perf/statistics.cpp b/src/perf/statistics.cpp
index 9620ede..82b285b 100644
--- a/src/perf/statistics.cpp
+++ b/src/perf/statistics.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/perf/statistics.h b/src/perf/statistics.h
index 66f298e..f8901ed 100644
--- a/src/perf/statistics.h
+++ b/src/perf/statistics.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/perf/statistics_xml.h b/src/perf/statistics_xml.h
index db5b42f..75a2e49 100644
--- a/src/perf/statistics_xml.h
+++ b/src/perf/statistics_xml.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/perf/time_fibonacci_cutoff.cpp b/src/perf/time_fibonacci_cutoff.cpp
index 9d12eac..9f13538 100644
--- a/src/perf/time_fibonacci_cutoff.cpp
+++ b/src/perf/time_fibonacci_cutoff.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/perf/time_framework.h b/src/perf/time_framework.h
index 3fe73db..30a0963 100644
--- a/src/perf/time_framework.h
+++ b/src/perf/time_framework.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/perf/time_hash_map.cpp b/src/perf/time_hash_map.cpp
index 04312a1..0a710ab 100644
--- a/src/perf/time_hash_map.cpp
+++ b/src/perf/time_hash_map.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
@@ -109,7 +109,7 @@ typedef version_new::tbb::concurrent_unordered_map<int,int> TestTable;
 ///////////////////////////////////////
 
 static const char *map_testnames[] = {
-    "1.insert", "2.count1st", "3.count2nd", "4.insert existing", "5.erase"
+    "1.insert", "2.count1st", "3.count2nd", "4.insert-exists", "5.erase "
 };
 
 template<typename TableType>
diff --git a/src/perf/time_hash_map_fill.cpp b/src/perf/time_hash_map_fill.cpp
index 508d01c..b14c348 100644
--- a/src/perf/time_hash_map_fill.cpp
+++ b/src/perf/time_hash_map_fill.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/perf/time_hash_map_fill.html b/src/perf/time_hash_map_fill.html
index c43bb43..954a20b 100644
--- a/src/perf/time_hash_map_fill.html
+++ b/src/perf/time_hash_map_fill.html
@@ -110,7 +110,7 @@ In addition, a size of the source array correlates with input rates in order to
 <HR>
 <A HREF="../index.html">Up to parent directory</A>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <P></P>
 Intel is a registered trademark or trademark of Intel Corporation
 or its subsidiaries in the United States and other countries.
diff --git a/src/perf/time_locked_work.cpp b/src/perf/time_locked_work.cpp
index 9975e82..967776a 100644
--- a/src/perf/time_locked_work.cpp
+++ b/src/perf/time_locked_work.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/perf/time_lru_cache_throughput.cpp b/src/perf/time_lru_cache_throughput.cpp
index 96b852f..7b8aa4d 100644
--- a/src/perf/time_lru_cache_throughput.cpp
+++ b/src/perf/time_lru_cache_throughput.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/perf/time_sandbox.h b/src/perf/time_sandbox.h
index 3760f7e..4134de6 100644
--- a/src/perf/time_sandbox.h
+++ b/src/perf/time_sandbox.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/perf/time_vector.cpp b/src/perf/time_vector.cpp
index b6445bb..ab6a36a 100644
--- a/src/perf/time_vector.cpp
+++ b/src/perf/time_vector.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/rml/client/index.html b/src/rml/client/index.html
index 7fb8c26..c147cd7 100644
--- a/src/rml/client/index.html
+++ b/src/rml/client/index.html
@@ -31,7 +31,7 @@ This directory has source code that must be statically linked into an RML client
 <HR>
 <A HREF="../index.html">Up to parent directory</A>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <P></P>
 Intel is a registered trademark or trademark of Intel Corporation
 or its subsidiaries in the United States and other countries.
diff --git a/src/rml/client/library_assert.h b/src/rml/client/library_assert.h
index 92b5aeb..fea9056 100644
--- a/src/rml/client/library_assert.h
+++ b/src/rml/client/library_assert.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/rml/client/omp_dynamic_link.cpp b/src/rml/client/omp_dynamic_link.cpp
index 2ce9063..1bfd85f 100644
--- a/src/rml/client/omp_dynamic_link.cpp
+++ b/src/rml/client/omp_dynamic_link.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/rml/client/omp_dynamic_link.h b/src/rml/client/omp_dynamic_link.h
index a670eb6..a8482cc 100644
--- a/src/rml/client/omp_dynamic_link.h
+++ b/src/rml/client/omp_dynamic_link.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/rml/client/rml_factory.h b/src/rml/client/rml_factory.h
index 1447bd3..94effdc 100644
--- a/src/rml/client/rml_factory.h
+++ b/src/rml/client/rml_factory.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/rml/client/rml_omp.cpp b/src/rml/client/rml_omp.cpp
index 8975791..c7aaa32 100644
--- a/src/rml/client/rml_omp.cpp
+++ b/src/rml/client/rml_omp.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/rml/client/rml_tbb.cpp b/src/rml/client/rml_tbb.cpp
index d2aa1cf..c07e8d1 100644
--- a/src/rml/client/rml_tbb.cpp
+++ b/src/rml/client/rml_tbb.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/rml/include/index.html b/src/rml/include/index.html
index e6e0016..3b6716d 100644
--- a/src/rml/include/index.html
+++ b/src/rml/include/index.html
@@ -18,7 +18,7 @@ This directory has the include files for the Resource Management Layer (RML).
 <HR>
 <A HREF="../index.html">Up to parent directory</A>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <P></P>
 Intel is a registered trademark or trademark of Intel Corporation
 or its subsidiaries in the United States and other countries.
diff --git a/src/rml/include/rml_base.h b/src/rml/include/rml_base.h
index 9db72c9..f4d51ab 100644
--- a/src/rml/include/rml_base.h
+++ b/src/rml/include/rml_base.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/rml/include/rml_omp.h b/src/rml/include/rml_omp.h
index 1524802..aac55bd 100644
--- a/src/rml/include/rml_omp.h
+++ b/src/rml/include/rml_omp.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/rml/include/rml_tbb.h b/src/rml/include/rml_tbb.h
index e4bcc91..15f47d7 100644
--- a/src/rml/include/rml_tbb.h
+++ b/src/rml/include/rml_tbb.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/rml/index.html b/src/rml/index.html
index 52e4a7e..18d9699 100644
--- a/src/rml/index.html
+++ b/src/rml/index.html
@@ -20,7 +20,7 @@ The subdirectories pertain to the Resource Management Layer (RML).
 <HR>
 <A HREF="../index.html">Up to parent directory</A>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <P></P>
 Intel is a registered trademark or trademark of Intel Corporation
 or its subsidiaries in the United States and other countries.
diff --git a/src/rml/perfor/omp_nested.cpp b/src/rml/perfor/omp_nested.cpp
index ff8e892..5227128 100644
--- a/src/rml/perfor/omp_nested.cpp
+++ b/src/rml/perfor/omp_nested.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/rml/perfor/omp_simple.cpp b/src/rml/perfor/omp_simple.cpp
index d6948ce..180f1c3 100644
--- a/src/rml/perfor/omp_simple.cpp
+++ b/src/rml/perfor/omp_simple.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/rml/perfor/tbb_multi_omp.cpp b/src/rml/perfor/tbb_multi_omp.cpp
index 1fd3b57..aa967f1 100644
--- a/src/rml/perfor/tbb_multi_omp.cpp
+++ b/src/rml/perfor/tbb_multi_omp.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/rml/perfor/tbb_simple.cpp b/src/rml/perfor/tbb_simple.cpp
index 1457fff..c97eaed 100644
--- a/src/rml/perfor/tbb_simple.cpp
+++ b/src/rml/perfor/tbb_simple.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/rml/perfor/thread_level.h b/src/rml/perfor/thread_level.h
index 9fc3cc7..f080fb4 100644
--- a/src/rml/perfor/thread_level.h
+++ b/src/rml/perfor/thread_level.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/rml/server/index.html b/src/rml/server/index.html
index 045fd61..3f32a7f 100644
--- a/src/rml/server/index.html
+++ b/src/rml/server/index.html
@@ -7,7 +7,7 @@ This directory has source code internal to the server.
 <HR>
 <A HREF="../index.html">Up to parent directory</A>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <P></P>
 Intel is a registered trademark or trademark of Intel Corporation
 or its subsidiaries in the United States and other countries.
diff --git a/src/rml/server/irml.rc b/src/rml/server/irml.rc
index 27fd0ff..575f539 100644
--- a/src/rml/server/irml.rc
+++ b/src/rml/server/irml.rc
@@ -1,4 +1,4 @@
-// Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+// Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 //
 // This file is part of Threading Building Blocks.
 //
@@ -89,8 +89,7 @@ BEGIN
             VALUE "CompanyName", "Intel Corporation\0"
             VALUE "FileDescription", "Intel(R) Threading Building Blocks resource manager library\0"
             VALUE "FileVersion", TBB_VERSION "\0"
-//what is it?            VALUE "InternalName", "irml\0"
-            VALUE "LegalCopyright", "Copyright 2005-2013 Intel Corporation.  All Rights Reserved.\0"
+            VALUE "LegalCopyright", "Copyright 2005-2014 Intel Corporation.  All Rights Reserved.\0"
             VALUE "LegalTrademarks", "\0"
 #ifndef TBB_USE_DEBUG
             VALUE "OriginalFilename", "irml.dll\0"
@@ -99,7 +98,6 @@ BEGIN
 #endif
             VALUE "ProductName", "Intel(R) Threading Building Blocks for Windows\0"
             VALUE "ProductVersion", TBB_VERSION "\0"
-            VALUE "Comments", TBB_VERSION_STRINGS "\0"
             VALUE "PrivateBuild", "\0"
             VALUE "SpecialBuild", "\0"
         END
diff --git a/src/rml/server/job_automaton.h b/src/rml/server/job_automaton.h
index 7d6dd96..aa65adb 100644
--- a/src/rml/server/job_automaton.h
+++ b/src/rml/server/job_automaton.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/rml/server/lin-rml-export.def b/src/rml/server/lin-rml-export.def
index 290bd3d..9396f7a 100644
--- a/src/rml/server/lin-rml-export.def
+++ b/src/rml/server/lin-rml-export.def
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/rml/server/rml_server.cpp b/src/rml/server/rml_server.cpp
index 298d573..5a749ef 100644
--- a/src/rml/server/rml_server.cpp
+++ b/src/rml/server/rml_server.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/rml/server/thread_monitor.h b/src/rml/server/thread_monitor.h
index 6bc0a6f..211a57d 100644
--- a/src/rml/server/thread_monitor.h
+++ b/src/rml/server/thread_monitor.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/rml/server/wait_counter.h b/src/rml/server/wait_counter.h
index 034302d..8f10a88 100644
--- a/src/rml/server/wait_counter.h
+++ b/src/rml/server/wait_counter.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/rml/server/win32-rml-export.def b/src/rml/server/win32-rml-export.def
index 4102813..597724c 100644
--- a/src/rml/server/win32-rml-export.def
+++ b/src/rml/server/win32-rml-export.def
@@ -1,4 +1,4 @@
-; Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+; Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 ;
 ; This file is part of Threading Building Blocks.
 ;
diff --git a/src/rml/server/win64-rml-export.def b/src/rml/server/win64-rml-export.def
index 4102813..597724c 100644
--- a/src/rml/server/win64-rml-export.def
+++ b/src/rml/server/win64-rml-export.def
@@ -1,4 +1,4 @@
-; Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+; Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 ;
 ; This file is part of Threading Building Blocks.
 ;
diff --git a/src/rml/test/rml_omp_stub.cpp b/src/rml/test/rml_omp_stub.cpp
index 1cf6f9d..92b20b9 100644
--- a/src/rml/test/rml_omp_stub.cpp
+++ b/src/rml/test/rml_omp_stub.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
@@ -30,14 +30,15 @@
 // The intent is to find dependencies on the C++ run-time.
 
 #include <stdlib.h>
+#include "harness_defs.h"
 #define RML_PURE_VIRTUAL_HANDLER abort
 
 #if _MSC_VER==1500 && !defined(__INTEL_COMPILER)
 // VS2008/VC9 seems to have an issue; 
 #pragma warning( push )
 #pragma warning( disable: 4100 ) 
-#elif _MSC_VER==1700 && !defined(__INTEL_COMPILER)
-// VS2012 issues "warning C4702: unreachable code" for the code which really
+#elif __TBB_MSVC_UNREACHABLE_CODE_IGNORED
+// VS2012-2013 issues "warning C4702: unreachable code" for the code which really
 // shouldn't be reached according to the test logic: rml::client has the
 // implementation for the "pure" virtual methods to be aborted if they are
 // called.
@@ -45,7 +46,7 @@
 #pragma warning( disable: 4702 )
 #endif
 #include "rml_omp.h"
-#if ( _MSC_VER==1500 || _MSC_VER==1700 ) && !defined(__INTEL_COMPILER)
+#if ( _MSC_VER==1500 && !defined(__INTEL_COMPILER)) || __TBB_MSVC_UNREACHABLE_CODE_IGNORED
 #pragma warning( pop )
 #endif
 
diff --git a/src/rml/test/test_job_automaton.cpp b/src/rml/test/test_job_automaton.cpp
index 884fa30..d4f3b42 100644
--- a/src/rml/test/test_job_automaton.cpp
+++ b/src/rml/test/test_job_automaton.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/rml/test/test_rml_mixed.cpp b/src/rml/test/test_rml_mixed.cpp
index c231eed..3dfc653 100644
--- a/src/rml/test/test_rml_mixed.cpp
+++ b/src/rml/test/test_rml_mixed.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
@@ -43,10 +43,10 @@ int TestMain () {
 
 // dynamic_link initializes its data structures in a static constructor. But
 // the initialization order of static constructors in different modules is
-// non-deterministic. Thus dynamic_link fails on some systems when when the
+// non-deterministic. Thus dynamic_link fails on some systems when the
 // applicaton changes its current directory after the library (TBB/OpenMP/...)
 // is loaded but before the static constructors in the library are executed.
-#define CHDIR_SUPPORT_BROKEN ( __GNUC__ == 4 && __GNUC_MINOR__ >=6 && __GNUC_MINOR__ <=7 )
+#define CHDIR_SUPPORT_BROKEN ( __GNUC__ == 4 && __GNUC_MINOR__ >= 6 && __GNUC_MINOR__ <= 8 )
 
 const int OMP_ParallelRegionSize = 16;
 int TBB_MaxThread = 4;           // Includes master
@@ -310,6 +310,9 @@ void TBBOutSideOpenMPInside() {
 }
 
 int TestMain () {
+#if CHDIR_SUPPORT_BROKEN
+    REPORT("Known issue: dynamic_link does not support current directory changing before its initialization.\n");
+#endif
     for( int TBB_MaxThread=MinThread; TBB_MaxThread<=MaxThread; ++TBB_MaxThread ) {
         REMARK("Testing with TBB_MaxThread=%d\n", TBB_MaxThread);
         TBB_RunTime.create_connection();
diff --git a/src/rml/test/test_rml_omp.cpp b/src/rml/test/test_rml_omp.cpp
index 4f37024..f1c23d1 100644
--- a/src/rml/test/test_rml_omp.cpp
+++ b/src/rml/test/test_rml_omp.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
@@ -191,6 +191,13 @@ void DoClientSpecificVerification( MyServer& server, int /*n_thread*/ )
 }
 
 int TestMain () {
+#if _MSC_VER == 1600 && RML_USE_WCRM
+    REPORT("Known issue: RML resets the process mask when Concurrency Runtime is used.\n");
+    // AvailableHwConcurrency reads process mask when the first call. That's why it should
+    // be called before RML initialization.
+    tbb::internal::AvailableHwConcurrency();
+#endif
+
     StrictTeam = true;
     VerifyInitialization<MyFactory,MyClient>( MaxThread );
     SimpleTest<MyFactory,MyClient>();
diff --git a/src/rml/test/test_rml_omp_c_linkage.c b/src/rml/test/test_rml_omp_c_linkage.c
index 88318cd..bba4ded 100644
--- a/src/rml/test/test_rml_omp_c_linkage.c
+++ b/src/rml/test/test_rml_omp_c_linkage.c
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/rml/test/test_rml_tbb.cpp b/src/rml/test/test_rml_tbb.cpp
index 22c1ac3..7bbed7f 100644
--- a/src/rml/test/test_rml_tbb.cpp
+++ b/src/rml/test/test_rml_tbb.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/rml/test/test_server.h b/src/rml/test/test_server.h
index 346eef0..5004f6b 100644
--- a/src/rml/test/test_server.h
+++ b/src/rml/test/test_server.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/rml/test/test_thread_monitor.cpp b/src/rml/test/test_thread_monitor.cpp
index 025bb08..6b3a5bb 100644
--- a/src/rml/test/test_thread_monitor.cpp
+++ b/src/rml/test/test_thread_monitor.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/tbb/arena.cpp b/src/tbb/arena.cpp
index 0061f85..7a18261 100644
--- a/src/tbb/arena.cpp
+++ b/src/tbb/arena.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
@@ -26,9 +26,9 @@
     the GNU General Public License.
 */
 
-#include "arena.h"
-#include "governor.h"
 #include "scheduler.h"
+#include "governor.h"
+#include "arena.h"
 #include "itt_notify.h"
 #include "semaphore.h"
 
@@ -80,7 +80,6 @@ void arena::process( generic_scheduler& s ) {
 #endif /* __TBB_TASK_PRIORITY */
     s.attach_mailbox( affinity_id(index+1) );
 
-    s.hint_for_push = index ^ s.my_random.get(); // randomizer seed
     s.my_arena_slot->hint_for_pop  = index; // initial value for round-robin
 
     __TBB_set_cpu_ctl_env(&my_cpu_ctl_env);
@@ -112,7 +111,7 @@ void arena::process( generic_scheduler& s ) {
         // of the non-atomicity of the decision making procedure
         unsigned allotted = my_num_workers_allotted;
         if (((num_workers_active() > allotted)
-#if __TBB_SCHEDULER_OBSERVER && __TBB_TASK_ARENA
+#if __TBB_SCHEDULER_OBSERVER && __TBB_CPF_BUILD
                 && allotted > 0) || (allotted == 0 && my_observers.ask_permission_to_leave()
                 // TODO: my_num_workers_allotted > 0 makes bug 1967 even worse, rework with accounting of demand by other arenas
                 // TODO: add monitoring of my_pool_state when not allowed to leave
@@ -491,7 +490,7 @@ intptr_t arena::workers_task_node_count() {
 }
 #endif /* __TBB_COUNT_TASK_NODES */
 
-void arena::enqueue_task( task& t, intptr_t prio, unsigned &hint_for_push )
+void arena::enqueue_task( task& t, intptr_t prio, FastRandom &random )
 {
 #if __TBB_RECYCLE_TO_ENQUEUE
     __TBB_ASSERT( t.state()==task::allocated || t.state()==task::to_enqueue, "attempt to enqueue task with inappropriate state" );
@@ -520,7 +519,7 @@ void arena::enqueue_task( task& t, intptr_t prio, unsigned &hint_for_push )
     task_stream &ts = my_task_stream;
 #endif /* !__TBB_TASK_PRIORITY */
     ITT_NOTIFY(sync_releasing, &ts);
-    ts.push( &t, hint_for_push );
+    ts.push( &t, random );
 #if __TBB_TASK_PRIORITY
     if ( p != my_top_priority )
         my_market->update_arena_priority( *this, p );
@@ -580,12 +579,10 @@ void generic_scheduler::nested_arena_execute(arena* arena, task* t, bool needs_a
 #include "scheduler_utility.h"
 
 namespace tbb {
-namespace interface6 {
-using namespace tbb::internal;
+namespace interface7 {
+namespace internal {
 
-void task_arena::internal_initialize( ) {
-    __TBB_ASSERT(!my_initialized, NULL);
-    __TBB_ASSERT(!my_arena, NULL);
+void task_arena_base::internal_initialize( ) {
     __TBB_ASSERT( my_master_slots <= 1, "Number of slots reserved for master can be only [0,1]");
     if( my_master_slots > 1 ) my_master_slots = 1; // TODO: make more masters
     if( my_max_concurrency < 1 )
@@ -599,26 +596,38 @@ void task_arena::internal_initialize( ) {
     if( !governor::local_scheduler_if_initialized() )
         governor::init_scheduler( (unsigned)my_max_concurrency - my_master_slots + 1/*TODO: address in market instead*/, 0, true );
     // TODO: we will need to introduce a mechanism for global settings, including stack size, used by all arenas
-    my_arena = &market::create_arena( my_max_concurrency - my_master_slots/*it's +1 slot for num_masters=0*/, ThreadStackSize );
+    arena* new_arena = &market::create_arena( my_max_concurrency - my_master_slots/*it's +1 slot for num_masters=0*/, ThreadStackSize );
+    if(as_atomic(my_arena).compare_and_swap(new_arena, NULL) != NULL) { // there is a race possible on my_initialized
+        __TBB_ASSERT(my_arena, NULL);                             // other thread was the first
+        new_arena->on_thread_leaving</*is_master*/true>(); // deallocate new arena
+    }
+#if __TBB_TASK_GROUP_CONTEXT
+    else my_context = new_arena->my_default_ctx;
+#endif
 }
 
-void task_arena::internal_terminate( ) {
+void task_arena_base::internal_terminate( ) {
     if( my_arena ) {// task_arena was initialized
+#if __TBB_STATISTICS_EARLY_DUMP
+        GATHER_STATISTIC( my_arena->dump_arena_statistics() );
+#endif
         my_arena->on_thread_leaving</*is_master*/true>();
         my_arena = 0;
+#if __TBB_TASK_GROUP_CONTEXT
+        my_context = 0;
+#endif
     }
 }
 
-void task_arena::internal_enqueue( task& t, intptr_t prio ) const {
+void task_arena_base::internal_enqueue( task& t, intptr_t prio ) const {
     __TBB_ASSERT(my_arena, NULL);
     generic_scheduler* s = governor::local_scheduler_if_initialized();
     __TBB_ASSERT(s, "Scheduler is not initialized"); // we allocated a task so can expect the scheduler
 #if __TBB_TASK_GROUP_CONTEXT
-    __TBB_ASSERT(s->my_innermost_running_task->prefix().context == t.prefix().context, "using non-default context? consider reimplement code below");
-    t.prefix().context = my_arena->my_default_ctx;
+    __TBB_ASSERT(my_arena->my_default_ctx == t.prefix().context, NULL);
     ITT_STACK_CREATE(my_arena->my_default_ctx->itt_caller);
 #endif
-    my_arena->enqueue_task( t, prio, s->hint_for_push );
+    my_arena->enqueue_task( t, prio, s->my_random );
 }
 
 class delegated_task : public task {
@@ -662,8 +671,8 @@ struct arena_join_body : internal::delegate_base {
         my_scheduler->local_wait_for_all(*my_root, NULL);
     }
 };
-// TODO: consider replacing of delegate_base by scoped_task
-void task_arena::internal_execute( internal::delegate_base& d) const {
+
+void task_arena_base::internal_execute( internal::delegate_base& d) const {
     __TBB_ASSERT(my_arena, NULL);
     generic_scheduler* s = governor::local_scheduler();
     __TBB_ASSERT(s, "Scheduler is not initialized");
@@ -676,7 +685,7 @@ void task_arena::internal_execute( internal::delegate_base& d) const {
         concurrent_monitor::thread_context waiter;
         auto_empty_task root(__TBB_CONTEXT_ARG(s, s->my_dummy_task->prefix().context));
         root.prefix().ref_count = 2;
-        internal_enqueue( *new( task::allocate_root() ) delegated_task(d, my_arena->my_exit_monitors, &root), 0 ); // TODO: priority?
+        internal_enqueue( *new( task::allocate_root(__TBB_CONTEXT_ARG1(*my_context)) ) delegated_task(d, my_arena->my_exit_monitors, &root), 0 ); // TODO: priority?
         do {
             my_arena->my_exit_monitors.prepare_wait(waiter, (uintptr_t)&d);
             if( __TBB_load_with_acquire(root.prefix().ref_count) < 2 ) {
@@ -701,8 +710,9 @@ class wait_task : public task {
     binary_semaphore & my_signal;
     /*override*/ task* execute() {
         generic_scheduler& s = *governor::local_scheduler_if_initialized();
-        if( s.my_arena_index && s.worker_outermost_level() ) // on outermost level of workers only
+        if( s.my_arena_index && s.worker_outermost_level() ) {// on outermost level of workers only
             s.local_wait_for_all( *s.my_dummy_task, NULL ); // run remaining tasks
+        }
         else s.my_arena->is_out_of_work(); // avoids starvation of internal_wait: issuing this task makes arena full
         my_signal.V();
         return NULL;
@@ -723,38 +733,41 @@ struct wait_body : internal::delegate_base {
 };
 
 // todo: merge with internal_execute()
-void task_arena::internal_wait() const {
+void task_arena_base::internal_wait() const {
     __TBB_ASSERT(my_arena, NULL);
     generic_scheduler* s = governor::local_scheduler();
     __TBB_ASSERT(s, "Scheduler is not initialized");
     __TBB_ASSERT(s->my_arena != my_arena || s->my_arena_index == 0, "task_arena::wait_until_empty() is not supported within a worker context" );
-    for(;;) {
+    if( s->my_arena == my_arena ) {
+        //unsupported, but try do something for outermost master
+        __TBB_ASSERT(s->master_outermost_level(), "unsupported");
+        if( !s->my_arena_index )
+            while( my_arena->num_workers_active() )
+                (wait_body(s))();
+    } else for(;;) {
         while( my_arena->my_pool_state != arena::SNAPSHOT_EMPTY ) {
-            if( s->my_arena == my_arena )
-                while( my_arena->my_pool_state != arena::SNAPSHOT_EMPTY )
-                    s->local_wait_for_all( *s->my_dummy_task, NULL ); //TODO: check dummy_task logic inside
-            else if( !__TBB_load_with_acquire(my_arena->my_slots[0].my_scheduler) // TODO TEMP: one master, make more masters
+            if( !__TBB_load_with_acquire(my_arena->my_slots[0].my_scheduler) // TODO TEMP: one master, make more masters
                 && as_atomic(my_arena->my_slots[0].my_scheduler).compare_and_swap(s, NULL) == NULL ) {
                 s->nested_arena_execute<const internal::delegate_base>(my_arena, NULL, !my_master_slots, wait_body(s));
             } else {
                 binary_semaphore waiter; // TODO: replace by a single event notification from is_out_of_work
-                internal_enqueue( *new( task::allocate_root() ) wait_task(waiter), 0 ); // TODO: priority?
+                internal_enqueue( *new( task::allocate_root(__TBB_CONTEXT_ARG1(*my_context)) ) wait_task(waiter), 0 ); // TODO: priority?
                 waiter.P(); // TODO: concurrent_monitor
             }
         }
-        if( (!my_arena->num_workers_active() && !my_arena->my_slots[0].my_scheduler) // no activity
-            || (s->my_arena == my_arena && s->my_arena_index ) ) // or improper worker context
+        if( !my_arena->num_workers_active() && !my_arena->my_slots[0].my_scheduler) // no activity
             break; // spin until workers active but avoid spinning in a worker
         __TBB_Yield(); // wait until workers and master leave
     }
 }
 
-/*static*/ int task_arena::current_slot() {
-    generic_scheduler* s = governor::local_scheduler(); // TODO: return a special value if the thread has no slot
-    return s->my_arena_index;
+/*static*/ int task_arena_base::internal_current_slot() {
+    generic_scheduler* s = governor::local_scheduler_if_initialized();
+    return s? int(s->my_arena_index) : -1;
 }
 
 
+} // tbb::interfaceX::internal
 } // tbb::interfaceX
 } // tbb
 #endif /* __TBB_TASK_ARENA */
diff --git a/src/tbb/arena.h b/src/tbb/arena.h
index 6bf7822..4a3c673 100644
--- a/src/tbb/arena.h
+++ b/src/tbb/arena.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
@@ -45,22 +45,20 @@
 #include "../rml/include/rml_tbb.h"
 #include "mailbox.h"
 #include "observer_proxy.h"
+#include "market.h"
+#include "governor.h"
 #if __TBB_TASK_ARENA
 #include "concurrent_monitor.h"
 #endif
 
 namespace tbb {
 
-namespace interface6 {
-class task_arena;
-}
 class task_group_context;
 class allocate_root_with_context_proxy;
 
 namespace internal {
 
 class task_scheduler_observer_v3;
-class governor;
 class arena;
 template<typename SchedulerTraits> class custom_scheduler;
 
@@ -69,29 +67,51 @@ class market;
 //! arena data except the array of slots
 /** Separated in order to simplify padding. 
     Intrusive list node base class is used by market to form a list of arenas. **/
-struct arena_base : intrusive_list_node {
-    //! Market owning this arena
-    market* my_market;
+struct arena_base : padded<intrusive_list_node> {
+    //! Number of workers that have been marked out by the resource manager to service the arena
+    unsigned my_num_workers_allotted;   // heavy use in stealing loop
+
+    //! References of the arena
+    /** Counts workers and master references separately. Bit 0 indicates reference from implicit
+        master or explicit task_arena; the next bits contain number of workers servicing the arena.*/
+    atomic<unsigned> my_references;     // heavy use in stealing loop
+
+#if __TBB_TASK_PRIORITY
+    //! Highest priority of recently spawned or enqueued tasks.
+    volatile intptr_t my_top_priority;  // heavy use in stealing loop
 
     //! Maximal currently busy slot.
-    atomic<unsigned> my_limit;
+    atomic<unsigned> my_limit;          // heavy use in stealing loop
 
-    //! Number of slots in the arena
-    unsigned my_num_slots;
+    //! Task pool for the tasks scheduled via task::enqueue() method
+    /** Such scheduling guarantees eventual execution even if
+        - new tasks are constantly coming (by extracting scheduled tasks in
+          relaxed FIFO order);
+        - the enqueuing thread does not call any of wait_for_all methods. **/
+    task_stream my_task_stream[num_priority_levels]; // heavy use in stealing loop
+#else /* !__TBB_TASK_PRIORITY */
+    //! Task pool for the tasks scheduled via task::enqueue() method
+    /** Such scheduling guarantees eventual execution even if
+        - new tasks are constantly coming (by extracting scheduled tasks in
+          relaxed FIFO order);
+        - the enqueuing thread does not call any of wait_for_all methods. **/
+    task_stream my_task_stream;         // heavy use in stealing loop
 
-    //! Number of workers requested by the master thread owning the arena
-    unsigned my_max_num_workers;
+    //! Maximal currently busy slot.
+    atomic<unsigned> my_limit;          // heavy use in stealing loop
+#endif /* !__TBB_TASK_PRIORITY */
 
     //! Number of workers that are currently requested from the resource manager
     int my_num_workers_requested;
 
-    //! Number of workers that have been marked out by the resource manager to service the arena
-    unsigned my_num_workers_allotted;
+    //! Number of slots in the arena
+    unsigned my_num_slots;
 
-    //! References of the arena
-    /** Counts workers and master references separately. Bit 0 indicates reference from implicit
-        master or explicit task_arena; the next bits contain number of workers servicing the arena.*/
-    atomic<unsigned> my_references;
+    //! Number of workers requested by the master thread owning the arena
+    unsigned my_max_num_workers;
+
+    //! Market owning this arena
+    market* my_market;
 
     //! ABA prevention marker
     uintptr_t my_aba_epoch;
@@ -117,10 +137,12 @@ struct arena_base : intrusive_list_node {
     task_group_context* my_default_ctx;
 #endif /* __TBB_TASK_GROUP_CONTEXT */
 
-#if __TBB_TASK_PRIORITY
-    //! Highest priority of recently spawned or enqueued tasks.
-    volatile intptr_t my_top_priority;
+#if __TBB_SCHEDULER_OBSERVER
+    //! List of local observers attached to this arena.
+    observer_list my_observers;
+#endif /* __TBB_SCHEDULER_OBSERVER */
 
+#if __TBB_TASK_PRIORITY
     //! Lowest normalized priority of available spawned or enqueued tasks.
     intptr_t my_bottom_priority;
 
@@ -135,33 +157,13 @@ struct arena_base : intrusive_list_node {
     //! Counter used to track the occurrence of recent orphaning and re-sharing operations.
     tbb::atomic<uintptr_t> my_abandonment_epoch;
 
-    //! Task pool for the tasks scheduled via task::enqueue() method
-    /** Such scheduling guarantees eventual execution even if
-        - new tasks are constantly coming (by extracting scheduled tasks in 
-          relaxed FIFO order);
-        - the enqueuing thread does not call any of wait_for_all methods. **/
-    task_stream my_task_stream[num_priority_levels];
-
     //! Highest priority level containing enqueued tasks
     /** It being greater than 0 means that high priority enqueued tasks had to be
         bypassed because all workers were blocked in nested dispatch loops and
         were unable to progress at then current priority level. **/
     tbb::atomic<intptr_t> my_skipped_fifo_priority;
-#else /* !__TBB_TASK_PRIORITY */
-
-    //! Task pool for the tasks scheduled via task::enqueue() method
-    /** Such scheduling guarantees eventual execution even if
-        - new tasks are constantly coming (by extracting scheduled tasks in 
-          relaxed FIFO order);
-        - the enqueuing thread does not call any of wait_for_all methods. **/
-    task_stream my_task_stream;
 #endif /* !__TBB_TASK_PRIORITY */
 
-#if __TBB_SCHEDULER_OBSERVER
-    //! List of local observers attached to this arena.
-    observer_list my_observers;
-#endif /* __TBB_SCHEDULER_OBSERVER */
-
     //! Indicates if there is an oversubscribing worker created to service enqueued tasks.
     bool my_mandatory_concurrency;
 
@@ -192,12 +194,10 @@ private:
     friend class tbb::task_group_context;
     friend class allocate_root_with_context_proxy;
     friend class intrusive_list<arena>;
-#if __TBB_TASK_ARENA
-    friend class tbb::interface6::task_arena; // included through in scheduler_common.h
-    friend class interface6::delegated_task;
-    friend class interface6::wait_task;
-    friend struct interface6::wait_body;
-#endif //__TBB_TASK_ARENA
+    friend class interface7::internal::task_arena_base; // declared in scheduler_common.h
+    friend class interface7::internal::delegated_task;
+    friend class interface7::internal::wait_task;
+    friend struct interface7::internal::wait_body;
 
     typedef padded<arena_base> base_type;
 
@@ -260,7 +260,7 @@ private:
     bool is_out_of_work();
 
     //! enqueue a task into starvation-resistance queue
-    void enqueue_task( task&, intptr_t, unsigned & );
+    void enqueue_task( task&, intptr_t, FastRandom & );
 
     //! Registers the worker with the arena and enters TBB scheduler dispatch loop
     void process( generic_scheduler& );
@@ -289,15 +289,6 @@ private:
     arena_slot my_slots[1];
 }; // class arena
 
-} // namespace internal
-} // namespace tbb
-
-#include "market.h"
-#include "scheduler_common.h"
-#include "governor.h"
-
-namespace tbb {
-namespace internal {
 
 template<bool is_master>
 inline void arena::on_thread_leaving ( ) {
diff --git a/src/tbb/cache_aligned_allocator.cpp b/src/tbb/cache_aligned_allocator.cpp
index 11a1e4f..df90029 100644
--- a/src/tbb/cache_aligned_allocator.cpp
+++ b/src/tbb/cache_aligned_allocator.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/tbb/cilk-tbb-interop.h b/src/tbb/cilk-tbb-interop.h
index 6e2318b..1b1498d 100644
--- a/src/tbb/cilk-tbb-interop.h
+++ b/src/tbb/cilk-tbb-interop.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/tbb/concurrent_hash_map.cpp b/src/tbb/concurrent_hash_map.cpp
index 9431afd..fc28c6a 100644
--- a/src/tbb/concurrent_hash_map.cpp
+++ b/src/tbb/concurrent_hash_map.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/tbb/concurrent_monitor.cpp b/src/tbb/concurrent_monitor.cpp
index 8964881..830a722 100644
--- a/src/tbb/concurrent_monitor.cpp
+++ b/src/tbb/concurrent_monitor.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/tbb/concurrent_monitor.h b/src/tbb/concurrent_monitor.h
index 3d0ac55..838c25a 100644
--- a/src/tbb/concurrent_monitor.h
+++ b/src/tbb/concurrent_monitor.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/tbb/concurrent_queue.cpp b/src/tbb/concurrent_queue.cpp
index 8094906..238caab 100644
--- a/src/tbb/concurrent_queue.cpp
+++ b/src/tbb/concurrent_queue.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/tbb/concurrent_vector.cpp b/src/tbb/concurrent_vector.cpp
index 4a4dea3..93dae9a 100644
--- a/src/tbb/concurrent_vector.cpp
+++ b/src/tbb/concurrent_vector.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/tbb/condition_variable.cpp b/src/tbb/condition_variable.cpp
index b660e25..86a0a00 100644
--- a/src/tbb/condition_variable.cpp
+++ b/src/tbb/condition_variable.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/tbb/critical_section.cpp b/src/tbb/critical_section.cpp
index 4a8964f..eff882f 100644
--- a/src/tbb/critical_section.cpp
+++ b/src/tbb/critical_section.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/tbb/custom_scheduler.h b/src/tbb/custom_scheduler.h
index 7bcdd2b..9927642 100644
--- a/src/tbb/custom_scheduler.h
+++ b/src/tbb/custom_scheduler.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
@@ -101,8 +101,10 @@ class custom_scheduler: private generic_scheduler {
             ITT_NOTIFY(sync_releasing, &p.ref_count);
         if( SchedulerTraits::has_slow_atomic && p.ref_count==1 )
             p.ref_count=0;
-        else if( __TBB_FetchAndDecrementWrelease(&p.ref_count) > 1 ) // more references exist
+        else if( __TBB_FetchAndDecrementWrelease(&p.ref_count) > 1 ) {// more references exist
+            // '__TBB_cl_evict(&p)' degraded performance of parallel_preorder example
             return;
+        }
 
         // Ordering on p.ref_count (superfluous if SchedulerTraits::has_slow_atomic)
         __TBB_control_consistency_helper();
@@ -117,7 +119,7 @@ class custom_scheduler: private generic_scheduler {
         if (p.state==task::to_enqueue) {
             // related to __TBB_TASK_ARENA TODO: try keep priority of the task
             // e.g. rework task_prefix to remember priority of received task and use here
-            my_arena->enqueue_task(s, 0, hint_for_push );
+            my_arena->enqueue_task(s, 0, my_random );
         } else
 #endif /*__TBB_RECYCLE_TO_ENQUEUE*/
         if( bypass_slot==NULL )
@@ -150,6 +152,7 @@ task* custom_scheduler<SchedulerTraits>::receive_or_steal_task( __TBB_atomic ref
                                                                 bool return_if_no_work ) {
     task* t = NULL;
     bool outermost_dispatch_level = return_if_no_work || master_outermost_level();
+    bool can_steal_here = can_steal();
     my_inbox.set_is_idle( true );
 #if __TBB_TASK_PRIORITY
     if ( return_if_no_work && my_arena->my_skipped_fifo_priority ) {
@@ -163,11 +166,19 @@ task* custom_scheduler<SchedulerTraits>::receive_or_steal_task( __TBB_atomic ref
             my_market->update_arena_priority( *my_arena, skipped_priority );
         }
     }
-#endif /* __TBB_TASK_PRIORITY */
+    task_stream *ts;
+#else /* !__TBB_TASK_PRIORITY */
+    task_stream *ts = &my_arena->my_task_stream;
+#endif /* !__TBB_TASK_PRIORITY */
+    // TODO: Try to find a place to reset my_limit (under market's lock)
+    // The number of slots potentially used in the arena. Updated once in a while, as my_limit changes rarely.
+    size_t n = my_arena->my_limit-1;
     int yield_count = 0;
     // The state "failure_count==-1" is used only when itt_possible is true,
     // and denotes that a sync_prepare has not yet been issued.
     for( int failure_count = -static_cast<int>(SchedulerTraits::itt_possible);; ++failure_count) {
+        __TBB_ASSERT( my_arena->my_limit > 0, NULL );
+        __TBB_ASSERT( my_arena_index <= n, NULL );
         if( completion_ref_count==1 ) {
             if( SchedulerTraits::itt_possible ) {
                 if( failure_count!=-1 ) {
@@ -181,9 +192,6 @@ task* custom_scheduler<SchedulerTraits>::receive_or_steal_task( __TBB_atomic ref
             __TBB_control_consistency_helper(); // on ref_count
             break; // exit stealing loop and return;
         }
-        __TBB_ASSERT( my_arena->my_limit > 0, NULL );
-        size_t n = my_arena->my_limit;
-        __TBB_ASSERT( my_arena_index < n, NULL );
         // Check if the resource manager requires our arena to relinquish some threads
         if ( return_if_no_work && my_arena->my_num_workers_allotted < my_arena->num_workers_active() ) {
 #if !__TBB_TASK_ARENA
@@ -193,14 +201,18 @@ task* custom_scheduler<SchedulerTraits>::receive_or_steal_task( __TBB_atomic ref
                 ITT_NOTIFY(sync_cancel, this);
             return NULL;
         }
+#if __TBB_TASK_PRIORITY
+        ts = &my_arena->my_task_stream[my_arena->my_top_priority];
+#endif
         // Check if there are tasks mailed to this thread via task-to-thread affinity mechanism.
         __TBB_ASSERT(my_affinity_id, NULL);
-        if ( n > 1 && (t=get_mailbox_task()) ) {
+        if ( n && !my_inbox.empty() && (t = get_mailbox_task()) ) {
             GATHER_STATISTIC( ++my_counters.mails_received );
         }
         // Check if there are tasks in starvation-resistant stream.
         // Only allowed for workers with empty stack, which is identified by return_if_no_work.
-        else if ( outermost_dispatch_level && (t = dequeue_task()) ) {
+        else if ( outermost_dispatch_level && !ts->empty() && (t = ts->pop( my_arena_slot->hint_for_pop)) ) {
+            ITT_NOTIFY(sync_acquired, ts);
             // just proceed with the obtained task
         }
 #if __TBB_TASK_PRIORITY
@@ -209,9 +221,9 @@ task* custom_scheduler<SchedulerTraits>::receive_or_steal_task( __TBB_atomic ref
             // just proceed with the obtained task
         }
 #endif /* __TBB_TASK_PRIORITY */
-        else if ( can_steal() && n > 1 ) {
+        else if ( can_steal_here && n ) {
             // Try to steal a task from a random victim.
-            size_t k = my_random.get() % (n - 1);
+            size_t k = my_random.get() % n;
             arena_slot* victim = &my_arena->my_slots[k];
             // The following condition excludes the master that might have
             // already taken our previous place in the arena from the list .
@@ -220,8 +232,9 @@ task* custom_scheduler<SchedulerTraits>::receive_or_steal_task( __TBB_atomic ref
             // the checks simple seems to be preferable to complicating the code.
             if( k >= my_arena_index )
                 ++victim;               // Adjusts random distribution to exclude self
-            t = steal_task( *victim );
-            if( !t ) goto fail;
+            task **pool = victim->task_pool;
+            if( pool == EmptyTaskPool || !(t = steal_task( *victim )) )
+                goto fail;
             if( is_proxy(*t) ) {
                 task_proxy &tp = *(task_proxy*)t;
                 t = tp.extract_task<task_proxy::pool_bit>();
@@ -266,7 +279,7 @@ fail:
         }
         // Pause, even if we are going to yield, because the yield might return immediately.
         __TBB_Pause(PauseTime);
-        const int failure_threshold = 2*int(n);
+        const int failure_threshold = 2*int(n+1);
         if( failure_count>=failure_threshold ) {
 #if __TBB_YIELD2P
             failure_count = 0;
@@ -332,6 +345,8 @@ fail:
                 }
 #endif /* __TBB_TASK_PRIORITY */
             } // end of arena snapshot branch
+            // If several attempts did not find work, re-read the arena limit.
+            n = my_arena->my_limit-1;
         } // end of yielding branch
     } // end of nonlocal task retrieval loop
     my_inbox.set_is_idle( false );
diff --git a/src/tbb/dynamic_link.cpp b/src/tbb/dynamic_link.cpp
index c226105..e48da26 100644
--- a/src/tbb/dynamic_link.cpp
+++ b/src/tbb/dynamic_link.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
@@ -477,6 +477,11 @@ OPEN_INTERNAL_NAMESPACE
         if ( !dlopen ) return 0;
     #endif /* __TBB_WEAK_SYMBOLS_PRESENT */
         dynamic_link_handle library_handle = dlopen( NULL, RTLD_LAZY );
+    #if __ANDROID__
+        // On Android dlopen( NULL ) returns NULL if it is called during dynamic module initialization.
+        if ( !library_handle )
+            return 0;
+    #endif
         // Check existence of only the first symbol, then use it to find the library and load all necessary symbols
         pointer_to_handler handler;
         dynamic_link_descriptor desc = { descriptors[0].name, &handler };
diff --git a/src/tbb/dynamic_link.h b/src/tbb/dynamic_link.h
index 56bfbd9..c1ec426 100644
--- a/src/tbb/dynamic_link.h
+++ b/src/tbb/dynamic_link.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
@@ -33,7 +33,10 @@
 
 #include "tbb/tbb_stddef.h"
 
-#ifndef LIBRARY_ASSERT
+#ifdef LIBRARY_ASSERT
+    #undef __TBB_ASSERT
+    #define __TBB_ASSERT(x,y) LIBRARY_ASSERT(x,y)
+#else
     #define LIBRARY_ASSERT(x,y) __TBB_ASSERT_EX(x,y)
 #endif /* !LIBRARY_ASSERT */
 
diff --git a/src/tbb/governor.cpp b/src/tbb/governor.cpp
index 0f841f9..71dd71f 100644
--- a/src/tbb/governor.cpp
+++ b/src/tbb/governor.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
@@ -84,6 +84,9 @@ void governor::acquire_resources () {
 #endif
     if( status )
         handle_perror(status, "TBB failed to initialize task scheduler TLS\n");
+#if __TBB_CPF_BUILD || TBB_PREVIEW_SPECULATIVE_SPIN_RW_MUTEX
+    is_speculation_enabled = cpu_has_speculation();
+#endif
 }
 
 void governor::release_resources () {
diff --git a/src/tbb/governor.h b/src/tbb/governor.h
index 1c643aa..3b3d49d 100644
--- a/src/tbb/governor.h
+++ b/src/tbb/governor.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
@@ -74,6 +74,10 @@ class governor {
     static bool IsBlockingTermiantionInProgress;
 #endif
 
+#if __TBB_CPF_BUILD || TBB_PREVIEW_SPECULATIVE_SPIN_RW_MUTEX
+    static bool is_speculation_enabled;
+#endif
+
     //! Create key for thread-local storage and initialize RML.
     static void acquire_resources ();
 
@@ -101,9 +105,6 @@ public:
     //! Processes scheduler termination request (possibly nested) in a master thread
     static void terminate_scheduler( generic_scheduler* s, const task_scheduler_init *tsi_ptr );
 
-    //! Returns number of worker threads in the currently active arena.
-    inline static unsigned max_number_of_workers ();
-
     //! Register TBB scheduler instance in thread-local storage.
     static void sign_on(generic_scheduler* s);
 
@@ -145,15 +146,13 @@ public:
 #if __TBB_SURVIVE_THREAD_SWITCH
     static __cilk_tbb_retcode stack_op_handler( __cilk_tbb_stack_op op, void* );
 #endif /* __TBB_SURVIVE_THREAD_SWITCH */
+#if __TBB_CPF_BUILD || TBB_PREVIEW_SPECULATIVE_SPIN_RW_MUTEX
+    static bool speculation_enabled() { return is_speculation_enabled; }
+#endif
+
 }; // class governor
 
 } // namespace internal
 } // namespace tbb
 
-#include "scheduler.h"
-
-inline unsigned tbb::internal::governor::max_number_of_workers () {
-    return local_scheduler()->number_of_workers_in_my_arena();
-}
-
 #endif /* _TBB_governor_H */
diff --git a/src/tbb/ia32-masm/atomic_support.asm b/src/tbb/ia32-masm/atomic_support.asm
index a9fadf5..5bfc395 100644
--- a/src/tbb/ia32-masm/atomic_support.asm
+++ b/src/tbb/ia32-masm/atomic_support.asm
@@ -1,4 +1,4 @@
-; Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+; Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 ;
 ; This file is part of Threading Building Blocks.
 ;
diff --git a/src/tbb/ia32-masm/itsx.asm b/src/tbb/ia32-masm/itsx.asm
index 5069c09..e11eae8 100644
--- a/src/tbb/ia32-masm/itsx.asm
+++ b/src/tbb/ia32-masm/itsx.asm
@@ -1,4 +1,4 @@
-; Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+; Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 ;
 ; This file is part of Threading Building Blocks.
 ;
@@ -45,4 +45,44 @@ __TBB_machine_unlock_elided:
         BYTE 0F3H
         mov byte ptr [ecx], 0
         ret
+.code 
+	ALIGN 4
+	PUBLIC c __TBB_machine_begin_transaction
+__TBB_machine_begin_transaction:
+        mov  eax, -1
+        BYTE 0C7H
+        BYTE 0F8H
+        BYTE 000H
+        BYTE 000H
+        BYTE 000H
+        BYTE 000H
+        ret
+.code 
+	ALIGN 4
+	PUBLIC c __TBB_machine_end_transaction
+__TBB_machine_end_transaction:
+        BYTE 00FH
+        BYTE 001H
+        BYTE 0D5H
+        ret
+.code 
+	ALIGN 4
+	PUBLIC c __TBB_machine_transaction_conflict_abort
+__TBB_machine_transaction_conflict_abort:
+        BYTE 0C6H
+        BYTE 0F8H
+        BYTE 0FFH  ; 12.4.5 Abort argument: lock not free when tested
+        ret
+.code 
+        ALIGN 4
+	PUBLIC c __TBB_machine_is_in_transaction
+__TBB_machine_is_in_transaction:
+        xor eax, eax
+        BYTE 00FH
+        BYTE 001H
+        BYTE 0D6H
+        JZ   rset
+        MOV  al,1
+rset:
+        RET
 end
diff --git a/src/tbb/ia32-masm/lock_byte.asm b/src/tbb/ia32-masm/lock_byte.asm
index 67e834e..a88b9a2 100644
--- a/src/tbb/ia32-masm/lock_byte.asm
+++ b/src/tbb/ia32-masm/lock_byte.asm
@@ -1,4 +1,4 @@
-; Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+; Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 ;
 ; This file is part of Threading Building Blocks.
 ;
diff --git a/src/tbb/ia64-gas/atomic_support.s b/src/tbb/ia64-gas/atomic_support.s
index cf49dce..626ef3c 100644
--- a/src/tbb/ia64-gas/atomic_support.s
+++ b/src/tbb/ia64-gas/atomic_support.s
@@ -1,4 +1,4 @@
-// Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+// Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 //
 // This file is part of Threading Building Blocks.
 //
diff --git a/src/tbb/ia64-gas/ia64_misc.s b/src/tbb/ia64-gas/ia64_misc.s
index e36938d..640aca4 100644
--- a/src/tbb/ia64-gas/ia64_misc.s
+++ b/src/tbb/ia64-gas/ia64_misc.s
@@ -1,4 +1,4 @@
-// Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+// Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 //
 // This file is part of Threading Building Blocks.
 //
diff --git a/src/tbb/ia64-gas/lock_byte.s b/src/tbb/ia64-gas/lock_byte.s
index 7629532..0aa15e2 100644
--- a/src/tbb/ia64-gas/lock_byte.s
+++ b/src/tbb/ia64-gas/lock_byte.s
@@ -1,4 +1,4 @@
-// Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+// Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 //
 // This file is part of Threading Building Blocks.
 //
diff --git a/src/tbb/ia64-gas/log2.s b/src/tbb/ia64-gas/log2.s
index 433229f..18ec650 100644
--- a/src/tbb/ia64-gas/log2.s
+++ b/src/tbb/ia64-gas/log2.s
@@ -1,4 +1,4 @@
-// Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+// Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 //
 // This file is part of Threading Building Blocks.
 //
diff --git a/src/tbb/ia64-gas/pause.s b/src/tbb/ia64-gas/pause.s
index 7f10947..047a17e 100644
--- a/src/tbb/ia64-gas/pause.s
+++ b/src/tbb/ia64-gas/pause.s
@@ -1,4 +1,4 @@
-// Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+// Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 //
 // This file is part of Threading Building Blocks.
 //
diff --git a/src/tbb/ibm_aix51/atomic_support.c b/src/tbb/ibm_aix51/atomic_support.c
index e680580..467c373 100644
--- a/src/tbb/ibm_aix51/atomic_support.c
+++ b/src/tbb/ibm_aix51/atomic_support.c
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/tbb/index.html b/src/tbb/index.html
index 315c1bc..2280d6e 100644
--- a/src/tbb/index.html
+++ b/src/tbb/index.html
@@ -21,7 +21,7 @@ This directory contains the source code of the TBB core components.
 <HR>
 <A HREF="../index.html">Up to parent directory</A>
 <p></p>
-Copyright © 2005-2013 Intel Corporation.  All Rights Reserved.
+Copyright © 2005-2014 Intel Corporation.  All Rights Reserved.
 <P></P>
 Intel is a registered trademark or trademark of Intel Corporation
 or its subsidiaries in the United States and other countries.
diff --git a/src/tbb/intel64-masm/atomic_support.asm b/src/tbb/intel64-masm/atomic_support.asm
index 1488d68..5a07686 100644
--- a/src/tbb/intel64-masm/atomic_support.asm
+++ b/src/tbb/intel64-masm/atomic_support.asm
@@ -1,4 +1,4 @@
-; Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+; Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 ;
 ; This file is part of Threading Building Blocks.
 ;
diff --git a/src/tbb/intel64-masm/intel64_misc.asm b/src/tbb/intel64-masm/intel64_misc.asm
index 171a0d7..06d43d6 100644
--- a/src/tbb/intel64-masm/intel64_misc.asm
+++ b/src/tbb/intel64-masm/intel64_misc.asm
@@ -1,4 +1,4 @@
-; Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+; Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 ;
 ; This file is part of Threading Building Blocks.
 ;
diff --git a/src/tbb/intel64-masm/itsx.asm b/src/tbb/intel64-masm/itsx.asm
index 2acec64..f0a3696 100644
--- a/src/tbb/intel64-masm/itsx.asm
+++ b/src/tbb/intel64-masm/itsx.asm
@@ -1,4 +1,4 @@
-; Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+; Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 ;
 ; This file is part of Threading Building Blocks.
 ;
@@ -41,4 +41,44 @@ __TBB_machine_unlock_elided:
         BYTE 0F3H
         mov  byte ptr [rcx], 0
         ret
+.code 
+	ALIGN 8
+	PUBLIC __TBB_machine_begin_transaction
+__TBB_machine_begin_transaction:
+        mov  eax, -1
+        BYTE 0C7H
+        BYTE 0F8H
+        BYTE 000H
+        BYTE 000H
+        BYTE 000H
+        BYTE 000H
+        ret
+.code 
+	ALIGN 8
+	PUBLIC __TBB_machine_end_transaction
+__TBB_machine_end_transaction:
+        BYTE 00FH
+        BYTE 001H
+        BYTE 0D5H
+        ret
+.code 
+	ALIGN 8
+	PUBLIC __TBB_machine_transaction_conflict_abort
+__TBB_machine_transaction_conflict_abort:
+        BYTE 0C6H
+        BYTE 0F8H
+        BYTE 0FFH  ; 12.4.5 Abort argument: lock not free when tested
+        ret
+.code 
+        ALIGN 8
+	PUBLIC __TBB_machine_is_in_transaction
+__TBB_machine_is_in_transaction:
+        xor eax, eax
+        BYTE 00FH  ; _xtest sets or clears ZF
+        BYTE 001H
+        BYTE 0D6H
+        jz   rset
+        mov  al,1
+rset:
+        ret
 end
diff --git a/src/tbb/intrusive_list.h b/src/tbb/intrusive_list.h
index ebaecbd..4c9dec5 100644
--- a/src/tbb/intrusive_list.h
+++ b/src/tbb/intrusive_list.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/tbb/itt_notify.cpp b/src/tbb/itt_notify.cpp
index 55f8fe2..59fa42d 100644
--- a/src/tbb/itt_notify.cpp
+++ b/src/tbb/itt_notify.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
@@ -61,6 +61,9 @@ int __TBB_load_ittnotify() {
       (__itt_group_id)(__itt_group_sync     // prepare/cancel/acquired/releasing
                        | __itt_group_thread // name threads
                        | __itt_group_stitch // stack stitching
+#if __TBB_CPF_BUILD
+                       | __itt_group_structure
+#endif
                            ));
 }
 
diff --git a/src/tbb/itt_notify.h b/src/tbb/itt_notify.h
index 455bf20..ba93763 100644
--- a/src/tbb/itt_notify.h
+++ b/src/tbb/itt_notify.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/tbb/lin32-tbb-export.def b/src/tbb/lin32-tbb-export.def
index 9835ad4..193680f 100644
--- a/src/tbb/lin32-tbb-export.def
+++ b/src/tbb/lin32-tbb-export.def
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/tbb/lin32-tbb-export.lst b/src/tbb/lin32-tbb-export.lst
index 2538c92..9a61024 100644
--- a/src/tbb/lin32-tbb-export.lst
+++ b/src/tbb/lin32-tbb-export.lst
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
@@ -72,12 +72,12 @@ __TBB_SYMBOL( _ZTVN3tbb10empty_taskE )
 
 #if __TBB_TASK_ARENA
 /* arena.cpp */
-__TBB_SYMBOL( _ZN3tbb10interface610task_arena18internal_terminateEv )
-__TBB_SYMBOL( _ZNK3tbb10interface610task_arena13internal_waitEv )
-__TBB_SYMBOL( _ZNK3tbb10interface610task_arena16internal_enqueueERNS_4taskEi )
-__TBB_SYMBOL( _ZNK3tbb10interface610task_arena16internal_executeERNS0_8internal13delegate_baseE )
-__TBB_SYMBOL( _ZN3tbb10interface610task_arena19internal_initializeEv )
-__TBB_SYMBOL( _ZN3tbb10interface610task_arena12current_slotEv )
+__TBB_SYMBOL( _ZN3tbb10interface78internal15task_arena_base19internal_initializeEv )
+__TBB_SYMBOL( _ZN3tbb10interface78internal15task_arena_base18internal_terminateEv )
+__TBB_SYMBOL( _ZNK3tbb10interface78internal15task_arena_base16internal_enqueueERNS_4taskEi )
+__TBB_SYMBOL( _ZNK3tbb10interface78internal15task_arena_base16internal_executeERNS1_13delegate_baseE )
+__TBB_SYMBOL( _ZNK3tbb10interface78internal15task_arena_base13internal_waitEv )
+__TBB_SYMBOL( _ZN3tbb10interface78internal15task_arena_base21internal_current_slotEv )
 #endif /* __TBB_TASK_ARENA */
 
 #if !TBB_NO_LEGACY
@@ -173,6 +173,13 @@ __TBB_SYMBOL( _ZN3tbb8internal33itt_store_pointer_with_release_v3EPvS1_ )
 __TBB_SYMBOL( _ZN3tbb8internal18call_itt_notify_v5EiPv )
 __TBB_SYMBOL( _ZN3tbb8internal20itt_set_sync_name_v3EPvPKc )
 __TBB_SYMBOL( _ZN3tbb8internal19itt_load_pointer_v3EPKv )
+#if __TBB_ITT_STRUCTURE_API
+__TBB_SYMBOL( _ZN3tbb8internal22itt_make_task_group_v7ENS0_15itt_domain_enumEPvyS2_yNS0_12string_indexE )
+__TBB_SYMBOL( _ZN3tbb8internal23itt_metadata_str_add_v7ENS0_15itt_domain_enumEPvyNS0_12string_indexEPKc )
+__TBB_SYMBOL( _ZN3tbb8internal19itt_relation_add_v7ENS0_15itt_domain_enumEPvyNS0_12itt_relationES2_y )
+__TBB_SYMBOL( _ZN3tbb8internal17itt_task_begin_v7ENS0_15itt_domain_enumEPvyS2_yNS0_12string_indexE )
+__TBB_SYMBOL( _ZN3tbb8internal15itt_task_end_v7ENS0_15itt_domain_enumE )
+#endif
 
 /* pipeline.cpp */
 __TBB_SYMBOL( _ZTIN3tbb6filterE )
@@ -244,6 +251,16 @@ __TBB_SYMBOL( _ZN3tbb16spin_rw_mutex_v323internal_release_writerEv )
 __TBB_SYMBOL( _ZN3tbb16spin_rw_mutex_v327internal_try_acquire_readerEv )
 __TBB_SYMBOL( _ZN3tbb16spin_rw_mutex_v327internal_try_acquire_writerEv )
 
+#if TBB_PREVIEW_SPECULATIVE_SPIN_RW_MUTEX
+__TBB_SYMBOL( _ZN3tbb10interface78internal16x86_rtm_rw_mutex11scoped_lock7releaseEv )
+__TBB_SYMBOL( _ZN3tbb10interface78internal16x86_rtm_rw_mutex18internal_constructEv )
+__TBB_SYMBOL( _ZN3tbb10interface78internal16x86_rtm_rw_mutex23internal_acquire_readerERNS2_11scoped_lockEb )
+__TBB_SYMBOL( _ZN3tbb10interface78internal16x86_rtm_rw_mutex23internal_acquire_writerERNS2_11scoped_lockEb )
+__TBB_SYMBOL( _ZN3tbb10interface78internal16x86_rtm_rw_mutex16internal_upgradeERNS2_11scoped_lockE )
+__TBB_SYMBOL( _ZN3tbb10interface78internal16x86_rtm_rw_mutex18internal_downgradeERNS2_11scoped_lockE )
+__TBB_SYMBOL( _ZN3tbb10interface78internal16x86_rtm_rw_mutex27internal_try_acquire_writerERNS2_11scoped_lockE )
+#endif
+
 /* spin_mutex.cpp */
 __TBB_SYMBOL( _ZN3tbb10spin_mutex18internal_constructEv )
 __TBB_SYMBOL( _ZN3tbb10spin_mutex11scoped_lock16internal_acquireERS0_ )
diff --git a/src/tbb/lin64-tbb-export.def b/src/tbb/lin64-tbb-export.def
index 13cc7a7..bcb666c 100644
--- a/src/tbb/lin64-tbb-export.def
+++ b/src/tbb/lin64-tbb-export.def
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/tbb/lin64-tbb-export.lst b/src/tbb/lin64-tbb-export.lst
index e7324f5..3992715 100644
--- a/src/tbb/lin64-tbb-export.lst
+++ b/src/tbb/lin64-tbb-export.lst
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
@@ -72,12 +72,12 @@ __TBB_SYMBOL( _ZTVN3tbb10empty_taskE )
 
 #if __TBB_TASK_ARENA
 /* arena.cpp */
-__TBB_SYMBOL( _ZN3tbb10interface610task_arena18internal_terminateEv )
-__TBB_SYMBOL( _ZNK3tbb10interface610task_arena16internal_enqueueERNS_4taskEl )
-__TBB_SYMBOL( _ZNK3tbb10interface610task_arena16internal_executeERNS0_8internal13delegate_baseE )
-__TBB_SYMBOL( _ZN3tbb10interface610task_arena19internal_initializeEv )
-__TBB_SYMBOL( _ZN3tbb10interface610task_arena12current_slotEv )
-__TBB_SYMBOL( _ZNK3tbb10interface610task_arena13internal_waitEv )
+__TBB_SYMBOL( _ZN3tbb10interface78internal15task_arena_base19internal_initializeEv )
+__TBB_SYMBOL( _ZN3tbb10interface78internal15task_arena_base18internal_terminateEv )
+__TBB_SYMBOL( _ZNK3tbb10interface78internal15task_arena_base16internal_enqueueERNS_4taskEl )
+__TBB_SYMBOL( _ZNK3tbb10interface78internal15task_arena_base16internal_executeERNS1_13delegate_baseE )
+__TBB_SYMBOL( _ZNK3tbb10interface78internal15task_arena_base13internal_waitEv )
+__TBB_SYMBOL( _ZN3tbb10interface78internal15task_arena_base21internal_current_slotEv )
 #endif /* __TBB_TASK_ARENA */
 
 #if !TBB_NO_LEGACY
@@ -168,6 +168,13 @@ __TBB_SYMBOL( _ZN3tbb8internal33itt_store_pointer_with_release_v3EPvS1_ )
 __TBB_SYMBOL( _ZN3tbb8internal18call_itt_notify_v5EiPv )
 __TBB_SYMBOL( _ZN3tbb8internal20itt_set_sync_name_v3EPvPKc )
 __TBB_SYMBOL( _ZN3tbb8internal19itt_load_pointer_v3EPKv )
+#if __TBB_ITT_STRUCTURE_API
+__TBB_SYMBOL( _ZN3tbb8internal23itt_metadata_str_add_v7ENS0_15itt_domain_enumEPvyNS0_12string_indexEPKc )
+__TBB_SYMBOL( _ZN3tbb8internal22itt_make_task_group_v7ENS0_15itt_domain_enumEPvyS2_yNS0_12string_indexE )
+__TBB_SYMBOL( _ZN3tbb8internal17itt_task_begin_v7ENS0_15itt_domain_enumEPvyS2_yNS0_12string_indexE )
+__TBB_SYMBOL( _ZN3tbb8internal19itt_relation_add_v7ENS0_15itt_domain_enumEPvyNS0_12itt_relationES2_y )
+__TBB_SYMBOL( _ZN3tbb8internal15itt_task_end_v7ENS0_15itt_domain_enumE )
+#endif
 
 /* pipeline.cpp */
 __TBB_SYMBOL( _ZTIN3tbb6filterE )
@@ -228,6 +235,16 @@ __TBB_SYMBOL( _ZN3tbb13spin_rw_mutex27internal_try_acquire_readerEPS0_ )
 __TBB_SYMBOL( _ZN3tbb13spin_rw_mutex27internal_try_acquire_writerEPS0_ )
 #endif
 
+#if TBB_PREVIEW_SPECULATIVE_SPIN_RW_MUTEX
+__TBB_SYMBOL( _ZN3tbb10interface78internal16x86_rtm_rw_mutex18internal_constructEv )
+__TBB_SYMBOL( _ZN3tbb10interface78internal16x86_rtm_rw_mutex23internal_acquire_writerERNS2_11scoped_lockEb )
+__TBB_SYMBOL( _ZN3tbb10interface78internal16x86_rtm_rw_mutex27internal_try_acquire_writerERNS2_11scoped_lockE )
+__TBB_SYMBOL( _ZN3tbb10interface78internal16x86_rtm_rw_mutex23internal_acquire_readerERNS2_11scoped_lockEb )
+__TBB_SYMBOL( _ZN3tbb10interface78internal16x86_rtm_rw_mutex11scoped_lock7releaseEv )
+__TBB_SYMBOL( _ZN3tbb10interface78internal16x86_rtm_rw_mutex16internal_upgradeERNS2_11scoped_lockE )
+__TBB_SYMBOL( _ZN3tbb10interface78internal16x86_rtm_rw_mutex18internal_downgradeERNS2_11scoped_lockE )
+#endif
+
 /* spin_rw_mutex v3 */
 __TBB_SYMBOL( _ZN3tbb16spin_rw_mutex_v318internal_constructEv )
 __TBB_SYMBOL( _ZN3tbb16spin_rw_mutex_v316internal_upgradeEv )
diff --git a/src/tbb/lin64ipf-tbb-export.def b/src/tbb/lin64ipf-tbb-export.def
index 5869539..c54ac56 100644
--- a/src/tbb/lin64ipf-tbb-export.def
+++ b/src/tbb/lin64ipf-tbb-export.def
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/tbb/lin64ipf-tbb-export.lst b/src/tbb/lin64ipf-tbb-export.lst
index 05debd2..2726b92 100644
--- a/src/tbb/lin64ipf-tbb-export.lst
+++ b/src/tbb/lin64ipf-tbb-export.lst
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
@@ -72,12 +72,12 @@ __TBB_SYMBOL( _ZTVN3tbb10empty_taskE )
 
 #if __TBB_TASK_ARENA
 /* arena.cpp */
-__TBB_SYMBOL( _ZN3tbb10interface610task_arena18internal_terminateEv )
-__TBB_SYMBOL( _ZNK3tbb10interface610task_arena16internal_enqueueERNS_4taskEl )
-__TBB_SYMBOL( _ZNK3tbb10interface610task_arena16internal_executeERNS0_8internal13delegate_baseE )
-__TBB_SYMBOL( _ZN3tbb10interface610task_arena19internal_initializeEv )
-__TBB_SYMBOL( _ZN3tbb10interface610task_arena12current_slotEv )
-__TBB_SYMBOL( _ZNK3tbb10interface610task_arena13internal_waitEv )
+__TBB_SYMBOL( _ZN3tbb10interface78internal15task_arena_base19internal_initializeEv )
+__TBB_SYMBOL( _ZN3tbb10interface78internal15task_arena_base18internal_terminateEv )
+__TBB_SYMBOL( _ZNK3tbb10interface78internal15task_arena_base16internal_enqueueERNS_4taskEl )
+__TBB_SYMBOL( _ZNK3tbb10interface78internal15task_arena_base16internal_executeERNS1_13delegate_baseE )
+__TBB_SYMBOL( _ZNK3tbb10interface78internal15task_arena_base13internal_waitEv )
+__TBB_SYMBOL( _ZN3tbb10interface78internal15task_arena_base21internal_current_slotEv )
 #endif /* __TBB_TASK_ARENA */
 
 #if !TBB_NO_LEGACY
diff --git a/src/tbb/mac32-tbb-export.def b/src/tbb/mac32-tbb-export.def
index b9371ed..d4b334e 100644
--- a/src/tbb/mac32-tbb-export.def
+++ b/src/tbb/mac32-tbb-export.def
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/tbb/mac32-tbb-export.lst b/src/tbb/mac32-tbb-export.lst
index a11c15a..a4eceb1 100644
--- a/src/tbb/mac32-tbb-export.lst
+++ b/src/tbb/mac32-tbb-export.lst
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
@@ -80,12 +80,12 @@ __TBB_SYMBOL( _ZTVN3tbb10empty_taskE )
 
 #if __TBB_TASK_ARENA
 /* arena.cpp */
-__TBB_SYMBOL( _ZN3tbb10interface610task_arena18internal_terminateEv )
-__TBB_SYMBOL( _ZNK3tbb10interface610task_arena13internal_waitEv )
-__TBB_SYMBOL( _ZNK3tbb10interface610task_arena16internal_enqueueERNS_4taskEl )
-__TBB_SYMBOL( _ZNK3tbb10interface610task_arena16internal_executeERNS0_8internal13delegate_baseE )
-__TBB_SYMBOL( _ZN3tbb10interface610task_arena19internal_initializeEv )
-__TBB_SYMBOL( _ZN3tbb10interface610task_arena12current_slotEv )
+__TBB_SYMBOL( _ZN3tbb10interface78internal15task_arena_base19internal_initializeEv )
+__TBB_SYMBOL( _ZN3tbb10interface78internal15task_arena_base18internal_terminateEv )
+__TBB_SYMBOL( _ZNK3tbb10interface78internal15task_arena_base16internal_enqueueERNS_4taskEl )
+__TBB_SYMBOL( _ZNK3tbb10interface78internal15task_arena_base16internal_executeERNS1_13delegate_baseE )
+__TBB_SYMBOL( _ZNK3tbb10interface78internal15task_arena_base13internal_waitEv )
+__TBB_SYMBOL( _ZN3tbb10interface78internal15task_arena_base21internal_current_slotEv )
 #endif /* __TBB_TASK_ARENA */
 
 #if !TBB_NO_LEGACY
@@ -265,6 +265,17 @@ __TBB_SYMBOL( _ZN3tbb16spin_rw_mutex_v327internal_try_acquire_readerEv )
 __TBB_SYMBOL( _ZN3tbb16spin_rw_mutex_v327internal_try_acquire_writerEv )
 __TBB_SYMBOL( _ZN3tbb16spin_rw_mutex_v318internal_constructEv )
 
+#if TBB_PREVIEW_SPECULATIVE_SPIN_RW_MUTEX
+// x86_rtm_rw_mutex.cpp
+__TBB_SYMBOL( _ZN3tbb10interface78internal16x86_rtm_rw_mutex11scoped_lock7releaseEv )
+__TBB_SYMBOL( _ZN3tbb10interface78internal16x86_rtm_rw_mutex16internal_upgradeERNS2_11scoped_lockE )
+__TBB_SYMBOL( _ZN3tbb10interface78internal16x86_rtm_rw_mutex18internal_constructEv )
+__TBB_SYMBOL( _ZN3tbb10interface78internal16x86_rtm_rw_mutex18internal_downgradeERNS2_11scoped_lockE )
+__TBB_SYMBOL( _ZN3tbb10interface78internal16x86_rtm_rw_mutex23internal_acquire_readerERNS2_11scoped_lockEb )
+__TBB_SYMBOL( _ZN3tbb10interface78internal16x86_rtm_rw_mutex23internal_acquire_writerERNS2_11scoped_lockEb )
+__TBB_SYMBOL( _ZN3tbb10interface78internal16x86_rtm_rw_mutex27internal_try_acquire_writerERNS2_11scoped_lockE )
+#endif
+
 // spin_mutex.cpp
 __TBB_SYMBOL( _ZN3tbb10spin_mutex11scoped_lock16internal_acquireERS0_ )
 __TBB_SYMBOL( _ZN3tbb10spin_mutex11scoped_lock16internal_releaseEv )
diff --git a/src/tbb/mac64-tbb-export.def b/src/tbb/mac64-tbb-export.def
index a9b6188..a64f8a9 100644
--- a/src/tbb/mac64-tbb-export.def
+++ b/src/tbb/mac64-tbb-export.def
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/tbb/mac64-tbb-export.lst b/src/tbb/mac64-tbb-export.lst
index 3cadedf..f37b715 100644
--- a/src/tbb/mac64-tbb-export.lst
+++ b/src/tbb/mac64-tbb-export.lst
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
@@ -80,12 +80,12 @@ __TBB_SYMBOL( _ZTVN3tbb10empty_taskE )
 
 #if __TBB_TASK_ARENA
 /* arena.cpp */
-__TBB_SYMBOL( _ZN3tbb10interface610task_arena18internal_terminateEv )
-__TBB_SYMBOL( _ZNK3tbb10interface610task_arena16internal_enqueueERNS_4taskEl )
-__TBB_SYMBOL( _ZNK3tbb10interface610task_arena16internal_executeERNS0_8internal13delegate_baseE )
-__TBB_SYMBOL( _ZN3tbb10interface610task_arena19internal_initializeEv )
-__TBB_SYMBOL( _ZN3tbb10interface610task_arena12current_slotEv )
-__TBB_SYMBOL( _ZNK3tbb10interface610task_arena13internal_waitEv )
+__TBB_SYMBOL( _ZN3tbb10interface78internal15task_arena_base19internal_initializeEv )
+__TBB_SYMBOL( _ZN3tbb10interface78internal15task_arena_base18internal_terminateEv )
+__TBB_SYMBOL( _ZNK3tbb10interface78internal15task_arena_base16internal_enqueueERNS_4taskEl )
+__TBB_SYMBOL( _ZNK3tbb10interface78internal15task_arena_base16internal_executeERNS1_13delegate_baseE )
+__TBB_SYMBOL( _ZNK3tbb10interface78internal15task_arena_base13internal_waitEv )
+__TBB_SYMBOL( _ZN3tbb10interface78internal15task_arena_base21internal_current_slotEv )
 #endif /* __TBB_TASK_ARENA */
 
 #if !TBB_NO_LEGACY
@@ -262,6 +262,17 @@ __TBB_SYMBOL( _ZN3tbb16spin_rw_mutex_v327internal_try_acquire_readerEv )
 __TBB_SYMBOL( _ZN3tbb16spin_rw_mutex_v327internal_try_acquire_writerEv )
 __TBB_SYMBOL( _ZN3tbb16spin_rw_mutex_v318internal_constructEv )
 
+#if TBB_PREVIEW_SPECULATIVE_SPIN_RW_MUTEX
+// x86_rtm_rw_mutex.cpp
+__TBB_SYMBOL( _ZN3tbb10interface78internal16x86_rtm_rw_mutex11scoped_lock7releaseEv )
+__TBB_SYMBOL( _ZN3tbb10interface78internal16x86_rtm_rw_mutex16internal_upgradeERNS2_11scoped_lockE )
+__TBB_SYMBOL( _ZN3tbb10interface78internal16x86_rtm_rw_mutex18internal_constructEv )
+__TBB_SYMBOL( _ZN3tbb10interface78internal16x86_rtm_rw_mutex18internal_downgradeERNS2_11scoped_lockE )
+__TBB_SYMBOL( _ZN3tbb10interface78internal16x86_rtm_rw_mutex23internal_acquire_readerERNS2_11scoped_lockEb )
+__TBB_SYMBOL( _ZN3tbb10interface78internal16x86_rtm_rw_mutex23internal_acquire_writerERNS2_11scoped_lockEb )
+__TBB_SYMBOL( _ZN3tbb10interface78internal16x86_rtm_rw_mutex27internal_try_acquire_writerERNS2_11scoped_lockE )
+#endif
+
 // spin_mutex.cpp
 __TBB_SYMBOL( _ZN3tbb10spin_mutex11scoped_lock16internal_acquireERS0_ )
 __TBB_SYMBOL( _ZN3tbb10spin_mutex11scoped_lock16internal_releaseEv )
diff --git a/src/tbb/mailbox.h b/src/tbb/mailbox.h
index ac517bb..592a2bb 100644
--- a/src/tbb/mailbox.h
+++ b/src/tbb/mailbox.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
@@ -111,8 +111,7 @@ protected:
 
 //! Class representing where mail is put.
 /** Padded to occupy a cache line. */
-class mail_outbox : unpadded_mail_outbox {
-    char pad[NFS_MaxLineSize-sizeof(unpadded_mail_outbox)];
+class mail_outbox : padded<unpadded_mail_outbox> {
 
     task_proxy* internal_pop() {
         task_proxy* const first = __TBB_load_relaxed(my_first);
@@ -154,6 +153,11 @@ public:
         __TBB_store_relaxed(*link, &t);
     }
 
+    //! Return true if mailbox is empty
+    bool empty() {
+        return __TBB_load_relaxed(my_first) == NULL;
+    }
+
     //! Construct *this as a mailbox from zeroed memory.
     /** Raise assertion if *this is not previously zeroed, or sizeof(this) is wrong.
         This method is provided instead of a full constructor since we know the object
@@ -206,6 +210,10 @@ public:
     task_proxy* pop() {
         return my_putter->internal_pop();
     }
+    //! Return true if mailbox is empty
+    bool empty() {
+        return my_putter->empty();
+    }
     //! Indicate whether thread that reads this mailbox is idle.
     /** Raises assertion failure if mailbox is redundantly marked as not idle. */
     void set_is_idle( bool value ) {
diff --git a/src/tbb/market.cpp b/src/tbb/market.cpp
index 92409a9..fc90d4d 100644
--- a/src/tbb/market.cpp
+++ b/src/tbb/market.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
@@ -456,6 +456,7 @@ void market::adjust_demand ( arena& a, int delta ) {
         __TBB_ASSERT( my_global_bottom_priority < p && p < my_global_top_priority, NULL );
         update_allotment( p );
     }
+    __TBB_ASSERT( my_global_top_priority >= a.my_top_priority || a.my_num_workers_requested<=0, NULL );
     assert_market_valid();
 #else /* !__TBB_TASK_PRIORITY */
     my_total_demand += delta;
@@ -535,6 +536,7 @@ void market::update_arena_top_priority ( arena& a, intptr_t new_priority ) {
 }
 
 bool market::lower_arena_priority ( arena& a, intptr_t new_priority, uintptr_t old_reload_epoch ) {
+    // TODO: replace the lock with a try_lock loop which performs a double check of the epoch
     arenas_list_mutex_type::scoped_lock lock(my_arenas_list_mutex);
     if ( a.my_reload_epoch != old_reload_epoch ) {
         assert_market_valid();
@@ -542,6 +544,7 @@ bool market::lower_arena_priority ( arena& a, intptr_t new_priority, uintptr_t o
     }
     __TBB_ASSERT( a.my_top_priority > new_priority, NULL );
     __TBB_ASSERT( my_global_top_priority >= a.my_top_priority, NULL );
+
     intptr_t p = a.my_top_priority;
     update_arena_top_priority( a, new_priority );
     if ( a.my_num_workers_requested > 0 ) {
@@ -556,55 +559,65 @@ bool market::lower_arena_priority ( arena& a, intptr_t new_priority, uintptr_t o
         }
         update_allotment( p );
     }
+
+    __TBB_ASSERT( my_global_top_priority >= a.my_top_priority, NULL );
     assert_market_valid();
     return true;
 }
 
 bool market::update_arena_priority ( arena& a, intptr_t new_priority ) {
     arenas_list_mutex_type::scoped_lock lock(my_arenas_list_mutex);
+
+    __TBB_ASSERT( my_global_top_priority >= a.my_top_priority || a.my_num_workers_requested <= 0, NULL );
+    assert_market_valid();
     if ( a.my_top_priority == new_priority ) {
-        assert_market_valid();
         return false;
     }
     else if ( a.my_top_priority > new_priority ) {
         if ( a.my_bottom_priority > new_priority )
             a.my_bottom_priority = new_priority;
-        assert_market_valid();
         return false;
     }
+    else if ( a.my_num_workers_requested <= 0 ) {
+        return false;
+    }
+
+    __TBB_ASSERT( my_global_top_priority >= a.my_top_priority, NULL );
+
     intptr_t p = a.my_top_priority;
     intptr_t highest_affected_level = max(p, new_priority);
     update_arena_top_priority( a, new_priority );
-    if ( a.my_num_workers_requested > 0 ) {
-        if ( my_global_top_priority < new_priority ) {
-            update_global_top_priority(new_priority);
-        }
-        else if ( my_global_top_priority == new_priority ) {
-            advance_global_reload_epoch();
-        }
-        else {
-            __TBB_ASSERT( new_priority < my_global_top_priority, NULL );
-            __TBB_ASSERT( new_priority > my_global_bottom_priority, NULL );
-            if ( p == my_global_top_priority && !my_priority_levels[p].workers_requested ) {
-                // Global top level became empty
-                __TBB_ASSERT( my_global_bottom_priority < p, NULL );
-                for ( --p; !my_priority_levels[p].workers_requested; --p ) continue;
-                __TBB_ASSERT( p >= new_priority, NULL );
-                update_global_top_priority(p);
-                highest_affected_level = p;
-            }
-        }
-        if ( p == my_global_bottom_priority ) {
-            // Arena priority was increased from the global bottom level.
-            __TBB_ASSERT( p < new_priority, NULL );                     // n
-            __TBB_ASSERT( new_priority <= my_global_top_priority, NULL );
-            while ( !my_priority_levels[my_global_bottom_priority].workers_requested )
-                ++my_global_bottom_priority;
-            __TBB_ASSERT( my_global_bottom_priority <= new_priority, NULL );
-            __TBB_ASSERT( my_priority_levels[my_global_bottom_priority].workers_requested > 0, NULL );
+
+    if ( my_global_top_priority < new_priority ) {
+        update_global_top_priority(new_priority);
+    }
+    else if ( my_global_top_priority == new_priority ) {
+        advance_global_reload_epoch();
+    }
+    else {
+        __TBB_ASSERT( new_priority < my_global_top_priority, NULL );
+        __TBB_ASSERT( new_priority > my_global_bottom_priority, NULL );
+        if ( p == my_global_top_priority && !my_priority_levels[p].workers_requested ) {
+            // Global top level became empty
+            __TBB_ASSERT( my_global_bottom_priority < p, NULL );
+            for ( --p; !my_priority_levels[p].workers_requested; --p ) continue;
+            __TBB_ASSERT( p >= new_priority, NULL );
+            update_global_top_priority(p);
+            highest_affected_level = p;
         }
-        update_allotment( highest_affected_level );
     }
+    if ( p == my_global_bottom_priority ) {
+        // Arena priority was increased from the global bottom level.
+        __TBB_ASSERT( p < new_priority, NULL );                     // n
+        __TBB_ASSERT( new_priority <= my_global_top_priority, NULL );
+        while ( !my_priority_levels[my_global_bottom_priority].workers_requested )
+            ++my_global_bottom_priority;
+        __TBB_ASSERT( my_global_bottom_priority <= new_priority, NULL );
+        __TBB_ASSERT( my_priority_levels[my_global_bottom_priority].workers_requested > 0, NULL );
+    }
+    update_allotment( highest_affected_level );
+
+    __TBB_ASSERT( my_global_top_priority >= a.my_top_priority, NULL );
     assert_market_valid();
     return true;
 }
diff --git a/src/tbb/market.h b/src/tbb/market.h
index d0a040d..093e15a 100644
--- a/src/tbb/market.h
+++ b/src/tbb/market.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/tbb/mutex.cpp b/src/tbb/mutex.cpp
index 7e97a0c..266e876 100644
--- a/src/tbb/mutex.cpp
+++ b/src/tbb/mutex.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/tbb/observer_proxy.cpp b/src/tbb/observer_proxy.cpp
index 19287bb..3c44704 100644
--- a/src/tbb/observer_proxy.cpp
+++ b/src/tbb/observer_proxy.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
@@ -294,7 +294,7 @@ void observer_list::do_notify_exit_observers( observer_proxy* last, bool worker
     }
 }
 
-#if __TBB_TASK_ARENA
+#if __TBB_CPF_BUILD
 // TODO: merge with do_notify_.. methods
 bool observer_list::ask_permission_to_leave() {
     __TBB_ASSERT( this != &the_global_observer_list, "This method cannot be used on the list of global observers" );
@@ -350,7 +350,7 @@ bool observer_list::ask_permission_to_leave() {
         remove_ref(prev);
     return result;
 }
-#endif //__TBB_TASK_ARENA
+#endif //CPF
 
 void task_scheduler_observer_v3::observe( bool enable ) {
     if( enable ) {
diff --git a/src/tbb/observer_proxy.h b/src/tbb/observer_proxy.h
index 522c003..4ba5c84 100644
--- a/src/tbb/observer_proxy.h
+++ b/src/tbb/observer_proxy.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/tbb/pipeline.cpp b/src/tbb/pipeline.cpp
index 7789388..1c338df 100644
--- a/src/tbb/pipeline.cpp
+++ b/src/tbb/pipeline.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/tbb/private_server.cpp b/src/tbb/private_server.cpp
index 5322de3..2dbf046 100644
--- a/src/tbb/private_server.cpp
+++ b/src/tbb/private_server.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
@@ -84,6 +84,7 @@ class private_worker: no_copy {
     thread_monitor my_thread_monitor;
 
     //! Handle of the OS thread associated with this worker
+    /** my_handle and my_handle_ready are used only in needsWaitWorkers() mode */
     thread_handle my_handle;
 
     atomic<bool> my_handle_ready; // make atomic to add fences
@@ -199,7 +200,7 @@ public:
     } 
 
     /*override*/ void request_close_connection( bool /*exiting*/ ) {
-        for( size_t i=0; i<my_n_thread; ++i ) 
+        for( size_t i=0; i<my_n_thread; ++i )
             my_thread_array[i].start_shutdown();
         remove_server_ref();
     }
@@ -245,7 +246,7 @@ __RML_DECL_THREAD_ROUTINE private_worker::thread_routine( void* arg ) {
 #endif
 
 void private_worker::start_shutdown() {
-    state_t s; 
+    state_t s;
     // Transition from st_starting or st_normal to st_plugged or st_quit
     do {
         s = my_state;
@@ -262,14 +263,11 @@ void private_worker::start_shutdown() {
     }
     // Do not need join for st_init state,
     // because in this case the thread wasn't started yet.
-    if (s!=st_init) {
+    if (governor::needsWaitWorkers() && s!=st_init) {
         while (!my_handle_ready)
             __TBB_Yield();
         // my_handle is valid at this point
-        if (governor::needsWaitWorkers())
-            thread_monitor::join(my_handle);
-        else
-            thread_monitor::detach_thread(my_handle);
+        thread_monitor::join(my_handle);
     }
 }
 
@@ -306,17 +304,22 @@ void private_worker::run() {
 
 inline void private_worker::wake_or_launch() {
     if( my_state==st_init && my_state.compare_and_swap( st_starting, st_init )==st_init ) {
+        thread_handle handle;
 #if USE_WINTHREAD
-        my_handle = thread_monitor::launch( thread_routine, this, my_server.my_stack_size, &this->my_index );
+        handle = thread_monitor::launch( thread_routine, this, my_server.my_stack_size, &this->my_index );
 #elif USE_PTHREAD
         {
         affinity_helper fpa;
         fpa.protect_affinity_mask();
-        my_handle = thread_monitor::launch( thread_routine, this, my_server.my_stack_size );
+        handle = thread_monitor::launch( thread_routine, this, my_server.my_stack_size );
         // Implicit destruction of fpa resets original affinity mask.
         }
 #endif /* USE_PTHREAD */
-        my_handle_ready = true;
+        if (governor::needsWaitWorkers()) {
+            my_handle = handle;
+            my_handle_ready = true; // do visible that my_handle is valid
+        } else
+            thread_monitor::detach_thread(handle);
     }
     else
         my_thread_monitor.notify();
diff --git a/src/tbb/queuing_mutex.cpp b/src/tbb/queuing_mutex.cpp
index 5d102c0..70f711a 100644
--- a/src/tbb/queuing_mutex.cpp
+++ b/src/tbb/queuing_mutex.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/tbb/queuing_rw_mutex.cpp b/src/tbb/queuing_rw_mutex.cpp
index 9509ec9..e84689b 100644
--- a/src/tbb/queuing_rw_mutex.cpp
+++ b/src/tbb/queuing_rw_mutex.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/tbb/reader_writer_lock.cpp b/src/tbb/reader_writer_lock.cpp
index 019dad0..3696743 100644
--- a/src/tbb/reader_writer_lock.cpp
+++ b/src/tbb/reader_writer_lock.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/tbb/recursive_mutex.cpp b/src/tbb/recursive_mutex.cpp
index 977ae50..2428488 100644
--- a/src/tbb/recursive_mutex.cpp
+++ b/src/tbb/recursive_mutex.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/tbb/scheduler.cpp b/src/tbb/scheduler.cpp
index db6ca58..9877bd6 100644
--- a/src/tbb/scheduler.cpp
+++ b/src/tbb/scheduler.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
@@ -134,7 +134,6 @@ generic_scheduler::generic_scheduler( arena* a, size_t index )
     my_last_local_observer = NULL;
 #endif /* __TBB_SCHEDULER_OBSERVER */
 
-    hint_for_push = index ^ my_random.get(); // randomizer seed
     my_dummy_task = &allocate_task( sizeof(task), __TBB_CONTEXT_ARG(NULL, NULL) );
 #if __TBB_TASK_GROUP_CONTEXT
     my_context_list_head.my_prev = &my_context_list_head;
@@ -206,18 +205,13 @@ void generic_scheduler::init_stack_info () {
     // is that the main thread's stack size is not less than that of other threads.
     // See also comment 3 at the end of this file
     void    *stack_base = &stack_size;
+#if __linux__ && !__bg__
 #if __TBB_ipf
     void    *rsb_base = __TBB_get_bsp();
 #endif
-#if __linux__
     size_t  np_stack_size = 0;
     void    *stack_limit = NULL;
     pthread_attr_t  np_attr_stack;
-#if __bgp__
-    // Workaround pthread_attr_init() before pthread_getattr_np() prevents subsequent abort() in pthread_attr_destroy() when
-    // freeing an erroneously invalid pointer value for cpuset (refers to the implementation of opaque type pthread_attr_t).
-    if( 0 == pthread_attr_init(&np_attr_stack) )
-#endif
     if( 0 == pthread_getattr_np(pthread_self(), &np_attr_stack) ) {
         if ( 0 == pthread_attr_getstack(&np_attr_stack, &stack_limit, &np_stack_size) ) {
 #if __TBB_ipf
@@ -277,12 +271,11 @@ void generic_scheduler::cleanup_local_context_list () {
         context_list_node_t *node = my_context_list_head.my_next;
         while ( node != &my_context_list_head ) {
             task_group_context &ctx = __TBB_get_object_ref(task_group_context, my_node, node);
-            __TBB_ASSERT( ctx.my_kind != task_group_context::binding_required, "Only a context bound to a root task can be detached" );
+            __TBB_ASSERT( __TBB_load_relaxed(ctx.my_kind) != task_group_context::binding_required, "Only a context bound to a root task can be detached" );
             node = node->my_next;
             __TBB_ASSERT( is_alive(ctx.my_version_and_traits), "Walked into a destroyed context while detaching contexts from the local list" );
-            // On 64-bit systems my_kind can be a 32-bit value padded with 32 uninitialized bits.
-            // So the cast below is necessary to throw off the higher bytes containing garbage
-            if ( (task_group_context::kind_type)(uintptr_t)__TBB_FetchAndStoreW(&ctx.my_kind, task_group_context::detached) == task_group_context::dying )
+            // Synchronizes with ~task_group_context(). TODO: evaluate and perhaps relax
+            if ( internal::as_atomic(ctx.my_kind).fetch_and_store(task_group_context::detached) == task_group_context::dying )
                 wait_for_concurrent_destroyers_to_leave = true;
         }
     }
@@ -680,20 +673,7 @@ void tbb::internal::generic_scheduler::enqueue( task& t, void* prio ) {
     generic_scheduler *s = governor::local_scheduler();
     // these redirections are due to bw-compatibility, consider reworking some day
     __TBB_ASSERT( s->my_arena, "thread is not in any arena" );
-    s->my_arena->enqueue_task(t, (intptr_t)prio, s->hint_for_push );
-}
-
-inline task* generic_scheduler::dequeue_task() {
-    task* result = NULL;
-#if __TBB_TASK_PRIORITY
-    task_stream &ts = my_arena->my_task_stream[my_arena->my_top_priority];
-#else /* !__TBB_TASK_PRIORITY */
-    task_stream &ts = my_arena->my_task_stream;
-#endif /* !__TBB_TASK_PRIORITY */
-    ts.pop(result, my_arena_slot->hint_for_pop);
-    if (result)
-        ITT_NOTIFY(sync_acquired, &ts);
-    return result;
+    s->my_arena->enqueue_task(t, (intptr_t)prio, s->my_random );
 }
 
 #if __TBB_TASK_PRIORITY
@@ -996,7 +976,7 @@ retry:
     return result;
 }
 
-inline task* generic_scheduler::get_mailbox_task() {
+task* generic_scheduler::get_mailbox_task() {
     __TBB_ASSERT( my_affinity_id>0, "not in arena" );
     while ( task_proxy* const tp = my_inbox.pop() ) {
         if ( task* result = tp->extract_task<task_proxy::mailbox_bit>() ) {
@@ -1072,10 +1052,10 @@ generic_scheduler* generic_scheduler::create_master( arena& a ) {
     s->attach_mailbox(1);
     s->my_arena_slot = a.my_slots + 0;
     s->my_arena_slot->my_scheduler = s;
-#if _WIN32|_WIN64
+#if _WIN32||_WIN64
     __TBB_ASSERT( s->my_market, NULL );
     s->my_market->register_master( s->master_exec_resource );
-#endif /* _WIN32|_WIN64 */
+#endif /* _WIN32||_WIN64 */
     s->init_stack_info();
 #if __TBB_TASK_GROUP_CONTEXT
     // Sync up the local cancellation state with the global one. No need for fence here.
@@ -1134,9 +1114,9 @@ void generic_scheduler::cleanup_master() {
     }
     __TBB_ASSERT( s.my_market, NULL );
     market *my_market = s.my_market;
-#if _WIN32|_WIN64
+#if _WIN32||_WIN64
     s.my_market->unregister_master( s.master_exec_resource );
-#endif /* _WIN32|_WIN64 */
+#endif /* _WIN32||_WIN64 */
     arena* a = s.my_arena;
     __TBB_ASSERT(a->my_slots+0 == my_arena_slot, NULL);
 #if __TBB_STATISTICS
diff --git a/src/tbb/scheduler.h b/src/tbb/scheduler.h
index 623416f..60e60e3 100644
--- a/src/tbb/scheduler.h
+++ b/src/tbb/scheduler.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
@@ -118,12 +118,10 @@ class generic_scheduler: public scheduler, public ::rml::job, private scheduler_
     friend class tbb::task;
     friend class market;
     friend class arena;
-#if __TBB_TASK_ARENA
-    friend class interface6::task_arena;
-    friend class interface6::delegated_task;
-    friend class interface6::wait_task;
-    friend struct interface6::wait_body;
-#endif //__TBB_TASK_ARENA
+    friend class interface7::internal::task_arena_base;
+    friend class interface7::internal::delegated_task;
+    friend class interface7::internal::wait_task;
+    friend struct interface7::internal::wait_body;
     friend class allocate_root_proxy;
     friend class governor;
 #if __TBB_TASK_GROUP_CONTEXT
@@ -167,10 +165,6 @@ class generic_scheduler: public scheduler, public ::rml::job, private scheduler_
     //! Random number generator used for picking a random victim from which to steal.
     FastRandom my_random;
 
-    //! Hint provided for operations with the container of starvation-resistant tasks.
-    /** Modified by the owner thread (during these operations). **/
-    unsigned hint_for_push; //TODO: Replace by my_random?
-
     //! Free list of small tasks that can be reused.
     task* my_free_list;
 
@@ -277,11 +271,6 @@ class generic_scheduler: public scheduler, public ::rml::job, private scheduler_
         return t.prefix().extra_state==es_task_proxy;
     }
 
-    //! Get a task from the starvation-resistant task stream of the current arena.
-    /** Returns the pointer to the task, or NULL if the attempt was unsuccessful. 
-        The latter case does not mean that the stream is drained, however. **/
-    task* dequeue_task();
-
     //! Steal task from another scheduler's ready pool.
     task* steal_task( arena_slot& victim_arena_slot );
 
diff --git a/src/tbb/scheduler_common.h b/src/tbb/scheduler_common.h
index 1f32baa..6a6a6a3 100644
--- a/src/tbb/scheduler_common.h
+++ b/src/tbb/scheduler_common.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
@@ -50,9 +50,6 @@
 
 #include "tbb/task.h"
 #include "tbb/tbb_exception.h"
-#if __TBB_TASK_ARENA
-#include "tbb/task_arena.h" // for sake of private friends club :( of class arena ):
-#endif //__TBB_TASK_ARENA
 
 #ifdef undef_private
     #undef private
@@ -68,8 +65,10 @@
 // It drops the second argument depending on whether the controlling macro is defined.
 // The first argument is just a convenience allowing to keep comma before the macro usage.
 #if __TBB_TASK_GROUP_CONTEXT
+    #define __TBB_CONTEXT_ARG1(context) context
     #define __TBB_CONTEXT_ARG(arg1, context) arg1, context
 #else /* !__TBB_TASK_GROUP_CONTEXT */
+    #define __TBB_CONTEXT_ARG1(context)
     #define __TBB_CONTEXT_ARG(arg1, context) arg1
 #endif /* !__TBB_TASK_GROUP_CONTEXT */
 
@@ -88,14 +87,15 @@
 #endif
 
 namespace tbb {
-#if __TBB_TASK_ARENA
-namespace interface6 {
+namespace interface7 {
+namespace internal {
+class task_arena_base;
 class delegated_task;
 class wait_task;
 struct wait_body;
-}
-#endif //__TBB_TASK_ARENA
+}}
 namespace internal {
+using namespace interface7::internal;
 
 class generic_scheduler;
 
diff --git a/src/tbb/scheduler_utility.h b/src/tbb/scheduler_utility.h
index 3d7b4f4..3aaef4a 100644
--- a/src/tbb/scheduler_utility.h
+++ b/src/tbb/scheduler_utility.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/tbb/semaphore.cpp b/src/tbb/semaphore.cpp
index 3490c41..12be8f3 100644
--- a/src/tbb/semaphore.cpp
+++ b/src/tbb/semaphore.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/tbb/semaphore.h b/src/tbb/semaphore.h
index 2e98ee8..daa9664 100644
--- a/src/tbb/semaphore.h
+++ b/src/tbb/semaphore.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/tbb/spin_mutex.cpp b/src/tbb/spin_mutex.cpp
index 90a5b52..9d10874 100644
--- a/src/tbb/spin_mutex.cpp
+++ b/src/tbb/spin_mutex.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/tbb/spin_rw_mutex.cpp b/src/tbb/spin_rw_mutex.cpp
index 5e81ea6..2366b07 100644
--- a/src/tbb/spin_rw_mutex.cpp
+++ b/src/tbb/spin_rw_mutex.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/tbb/task.cpp b/src/tbb/task.cpp
index 58f8e5f..7fa5e16 100644
--- a/src/tbb/task.cpp
+++ b/src/tbb/task.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
@@ -77,12 +77,12 @@ task& allocate_root_with_context_proxy::allocate( size_t size ) const {
     task& t = s->allocate_task( size, NULL, &my_context );
     // Supported usage model prohibits concurrent initial binding. Thus we do not
     // need interlocked operations or fences to manipulate with my_context.my_kind
-    if ( my_context.my_kind == task_group_context::binding_required ) {
+    if ( __TBB_load_relaxed(my_context.my_kind) == task_group_context::binding_required ) {
         // If we are in the outermost task dispatch loop of a master thread, then
         // there is nothing to bind this context to, and we skip the binding part
         // treating the context as isolated.
         if ( s->my_innermost_running_task == s->my_dummy_task )
-            my_context.my_kind = task_group_context::isolated;
+            __TBB_store_relaxed(my_context.my_kind, task_group_context::isolated);
         else
             my_context.bind_to( s );
     }
@@ -156,7 +156,7 @@ void allocate_additional_child_of_proxy::free( task& task ) const {
 //------------------------------------------------------------------------
 size_t get_initial_auto_partitioner_divisor() {
     const size_t X_FACTOR = 4;
-    return X_FACTOR * (governor::max_number_of_workers()+1);
+    return X_FACTOR * (1+governor::local_scheduler()->number_of_workers_in_my_arena());
 }
 
 //------------------------------------------------------------------------
@@ -164,7 +164,7 @@ size_t get_initial_auto_partitioner_divisor() {
 //------------------------------------------------------------------------
 void affinity_partitioner_base_v3::resize( unsigned factor ) {
     // Check factor to avoid asking for number of workers while there might be no arena.
-    size_t new_size = factor ? factor*(governor::max_number_of_workers()+1) : 0;
+    size_t new_size = factor ? factor*(1+governor::local_scheduler()->number_of_workers_in_my_arena()) : 0;
     if( new_size!=my_size ) {
         if( my_array ) {
             NFS_Free( my_array );
@@ -256,13 +256,13 @@ void task::note_affinity( affinity_id ) {
 #if __TBB_TASK_GROUP_CONTEXT
 void task::change_group ( task_group_context& ctx ) {
     prefix().context = &ctx;
-    if ( ctx.my_kind == task_group_context::binding_required ) {
+    if ( __TBB_load_relaxed(ctx.my_kind) == task_group_context::binding_required ) {
         internal::generic_scheduler* s = governor::local_scheduler();
         // If we are in the outermost task dispatch loop of a master thread, then
         // there is nothing to bind this context to, and we skip the binding part
         // treating the context as isolated.
         if ( s->my_innermost_running_task == s->my_dummy_task )
-            ctx.my_kind = task_group_context::isolated;
+            __TBB_store_relaxed(ctx.my_kind, task_group_context::isolated);
         else
             ctx.bind_to( s );
     }
diff --git a/src/tbb/task_group_context.cpp b/src/tbb/task_group_context.cpp
index edd983a..72e1f08 100644
--- a/src/tbb/task_group_context.cpp
+++ b/src/tbb/task_group_context.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
@@ -149,7 +149,7 @@ void tbb_exception_ptr::destroy () throw() {
 //------------------------------------------------------------------------
 
 task_group_context::~task_group_context () {
-    if ( my_kind == binding_completed ) {
+    if ( __TBB_load_relaxed(my_kind) == binding_completed ) {
         if ( governor::is_set(my_owner) ) {
             // Local update of the context list 
             uintptr_t local_count_snapshot = my_owner->my_context_state_propagation_epoch;
@@ -181,8 +181,9 @@ task_group_context::~task_group_context () {
         }
         else {
             // Nonlocal update of the context list
-            // Synchronizes with generic_scheduler::free_scheduler()
-            if ( __TBB_FetchAndStoreW(&my_kind, dying) == detached ) {
+            // Synchronizes with generic_scheduler::cleanup_local_context_list()
+            // TODO: evaluate and perhaps relax, or add some lock instead
+            if ( internal::as_atomic(my_kind).fetch_and_store(dying) == detached ) {
                 my_node.my_prev->my_next = my_node.my_next;
                 my_node.my_next->my_prev = my_node.my_prev;
             }
@@ -210,7 +211,7 @@ void task_group_context::init () {
     __TBB_ASSERT ( sizeof(uintptr_t) < 32, "Layout of my_version_and_traits must be reconsidered on this platform" );
     __TBB_ASSERT ( sizeof(task_group_context) == 2 * NFS_MaxLineSize, "Context class has wrong size - check padding and members alignment" );
     __TBB_ASSERT ( (uintptr_t(this) & (sizeof(my_cancellation_requested) - 1)) == 0, "Context is improperly aligned" );
-    __TBB_ASSERT ( my_kind == isolated || my_kind == bound, "Context can be created only as isolated or bound" );
+    __TBB_ASSERT ( __TBB_load_relaxed(my_kind) == isolated || __TBB_load_relaxed(my_kind) == bound, "Context can be created only as isolated or bound" );
     my_parent = NULL;
     my_cancellation_requested = 0;
     my_exception = NULL;
@@ -255,7 +256,7 @@ void task_group_context::register_with ( generic_scheduler *local_sched ) {
 }
 
 void task_group_context::bind_to ( generic_scheduler *local_sched ) {
-    __TBB_ASSERT ( my_kind == binding_required, "Already bound or isolated?" );
+    __TBB_ASSERT ( __TBB_load_relaxed(my_kind) == binding_required, "Already bound or isolated?" );
     __TBB_ASSERT ( !my_parent, "Parent is set before initial binding" );
     my_parent = local_sched->my_innermost_running_task->prefix().context;
 
@@ -306,7 +307,7 @@ void task_group_context::bind_to ( generic_scheduler *local_sched ) {
         my_priority = my_parent->my_priority;
 #endif /* __TBB_TASK_PRIORITY */
     }
-    my_kind = binding_completed;
+    __TBB_store_relaxed(my_kind, binding_completed);
 }
 
 #if __TBB_TASK_GROUP_CONTEXT
@@ -314,9 +315,7 @@ template <typename T>
 void task_group_context::propagate_task_group_state ( T task_group_context::*mptr_state, task_group_context& src, T new_state ) {
     if (this->*mptr_state == new_state) {
         // Nothing to do, whether descending from "src" or not, so no need to scan.
-        // Hopefully this happens often thanks to earlier invocations,
-        // and it is more relevant for set_priority() than for cancel_group_execution()
-        // because the latter will also stop at an already cancelled ancestor.
+        // Hopefully this happens often thanks to earlier invocations.
         // This optimisation is enabled by LIFO order in the context lists:
         // - new contexts are bound to the beginning of lists;
         // - descendants are newer than ancestors;
diff --git a/src/tbb/task_stream.h b/src/tbb/task_stream.h
index 4ca7c6e..6e34fba 100644
--- a/src/tbb/task_stream.h
+++ b/src/tbb/task_stream.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
@@ -76,15 +76,14 @@ inline bool is_bit_set( uintptr_t val, int pos ) {
 }
 
 //! The container for "fairness-oriented" aka "enqueued" tasks.
-class task_stream : no_copy{
+class task_stream : no_copy {
     typedef queue_and_mutex <task*, spin_mutex> lane_t;
-    unsigned N;
     uintptr_t population;
-    FastRandom random;
     padded<lane_t>* lanes;
+    unsigned N;
 
 public:
-    task_stream() : N(), population(), random(&N), lanes()
+    task_stream() : population(), lanes()
     {
     }
 
@@ -105,11 +104,11 @@ public:
     ~task_stream() { if (lanes) delete[] lanes; }
 
     //! Push a task into a lane.
-    void push( task* source, unsigned& last_random ) {
+    void push( task* source, FastRandom& random ) {
         // Lane selection is random. Each thread should keep a separate seed value.
         unsigned idx;
         for( ; ; ) {
-            idx = random.get(last_random) & (N-1);
+            idx = random.get() & (N-1);
             spin_mutex::scoped_lock lock;
             if( lock.try_acquire(lanes[idx].my_mutex) ) {
                 lanes[idx].my_queue.push_back(source);
@@ -118,10 +117,10 @@ public:
             }
         }
     }
+
     //! Try finding and popping a task.
-    /** Does not change destination if unsuccessful. */
-    void pop( task*& dest, unsigned& last_used_lane ) {
-        if( !population ) return; // keeps the hot path shorter
+    task* pop( unsigned& last_used_lane ) {
+        task* result = NULL;
         // Lane selection is round-robin. Each thread should keep its last used lane.
         unsigned idx = (last_used_lane+1)&(N-1);
         for( ; population; idx=(idx+1)&(N-1) ) {
@@ -129,7 +128,7 @@ public:
                 lane_t& lane = lanes[idx];
                 spin_mutex::scoped_lock lock;
                 if( lock.try_acquire(lane.my_mutex) && !lane.my_queue.empty() ) {
-                    dest = lane.my_queue.front();
+                    result = lane.my_queue.front();
                     lane.my_queue.pop_front();
                     if( lane.my_queue.empty() )
                         clear_one_bit( population, idx );
@@ -138,12 +137,14 @@ public:
             }
         }
         last_used_lane = idx;
+        return result;
     }
 
     //! Checks existence of a task.
     bool empty() {
         return !population;
     }
+
     //! Destroys all remaining tasks in every lane. Returns the number of destroyed tasks.
     /** Tasks are not executed, because it would potentially create more tasks at a late stage.
         The scheduler is really expected to execute all tasks before task_stream destruction. */
diff --git a/src/tbb/tbb_assert_impl.h b/src/tbb/tbb_assert_impl.h
index b276c91..cedabac 100644
--- a/src/tbb/tbb_assert_impl.h
+++ b/src/tbb/tbb_assert_impl.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/tbb/tbb_main.cpp b/src/tbb/tbb_main.cpp
index c4d1b87..fd06f8e 100644
--- a/src/tbb/tbb_main.cpp
+++ b/src/tbb/tbb_main.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
@@ -29,6 +29,7 @@
 #include "tbb/tbb_config.h"
 #include "tbb_main.h"
 #include "governor.h"
+#include "market.h"
 #include "tbb_misc.h"
 #include "itt_notify.h"
 
@@ -53,6 +54,9 @@ const task_scheduler_init *governor::BlockingTSI;
 #if TBB_USE_ASSERT
 bool governor::IsBlockingTermiantionInProgress;
 #endif
+#if __TBB_CPF_BUILD || TBB_PREVIEW_SPECULATIVE_SPIN_RW_MUTEX
+bool governor::is_speculation_enabled;
+#endif
 
 //------------------------------------------------------------------------
 // market data
@@ -130,11 +134,19 @@ void __TBB_InitOnce::add_ref() {
         governor::acquire_resources();
 }
 
+#if __TBB_ITT_STRUCTURE_API
+static inline void ITT_fini() { }
+#endif
+
 void __TBB_InitOnce::remove_ref() {
     int k = --count;
     __TBB_ASSERT(k>=0,"removed __TBB_InitOnce ref that was not added?"); 
-    if( k==0 ) 
+    if( k==0 ) {
         governor::release_resources();
+#if __TBB_ITT_STRUCTURE_API
+        ITT_fini();
+#endif
+    }
 }
 
 //------------------------------------------------------------------------
@@ -149,11 +161,60 @@ void Scheduler_OneTimeInitialization ( bool itt_present );
 
 #if DO_ITT_NOTIFY
 
+#if __TBB_ITT_STRUCTURE_API
+
+static __itt_domain *fgt_domain = NULL;
+
+struct resource_string {
+    const char *str;
+    __itt_string_handle *itt_str_handle;
+};
+
+//
+// populate resource strings
+//
+#define TBB_STRING_RESOURCE( index_name, str ) { str, NULL },
+static resource_string strings_for_itt[] = {
+    #include "tbb/internal/_tbb_strings.h"
+    { "num_resource_strings", NULL } 
+};
+#undef TBB_STRING_RESOURCE
+
+static __itt_string_handle *ITT_get_string_handle(int idx) {
+    __TBB_ASSERT(idx >= 0, NULL);
+    return idx < NUM_STRINGS ? strings_for_itt[idx].itt_str_handle : NULL;
+}
+
+static void ITT_init_domains() {
+    fgt_domain = __itt_domain_create( _T("tbb.flow") );
+    fgt_domain->flags = 1;
+}
+
+static void ITT_init_strings() {
+    for ( int i = 0; i < NUM_STRINGS; ++i ) {
+#if _WIN32||_WIN64
+        strings_for_itt[i].itt_str_handle = __itt_string_handle_createA( strings_for_itt[i].str );
+#else
+        strings_for_itt[i].itt_str_handle = __itt_string_handle_create( strings_for_itt[i].str );
+#endif
+    }
+}
+
+static void ITT_init() {
+    ITT_init_domains();
+    ITT_init_strings();
+}
+
+#endif // __TBB_ITT_STRUCTURE_API
+
 /** Thread-unsafe lazy one-time initialization of tools interop.
     Used by both dummy handlers and general TBB one-time initialization routine. **/
 void ITT_DoUnsafeOneTimeInitialization () {
     if ( !ITT_InitializationDone ) {
         ITT_Present = (__TBB_load_ittnotify()!=0);
+#if __TBB_ITT_STRUCTURE_API
+        if (ITT_Present) ITT_init();
+#endif
         ITT_InitializationDone = true;
         ITT_SYNC_CREATE(&market::theMarketMutex, SyncType_GlobalLock, SyncObj_SchedulerInitialization);
     }
@@ -243,6 +304,104 @@ void call_itt_notify_v5(int t, void *ptr) {
 void call_itt_notify_v5(int /*t*/, void* /*ptr*/) {}
 #endif
 
+#if __TBB_ITT_STRUCTURE_API
+
+#if DO_ITT_NOTIFY
+
+const __itt_id itt_null_id = {0, 0, 0};
+
+static inline __itt_domain* get_itt_domain( itt_domain_enum idx ) {
+    return ( idx == ITT_DOMAIN_FLOW ) ? fgt_domain : NULL;
+}
+
+static inline void itt_id_make(__itt_id *id, void* addr, unsigned long long extra) {
+    *id = __itt_id_make(addr, extra);
+}
+
+static inline void itt_id_create(const __itt_domain *domain, __itt_id id) {
+    ITTNOTIFY_VOID_D1(id_create, domain, id);
+}
+
+void itt_make_task_group_v7( itt_domain_enum domain, void *group, unsigned long long group_extra, 
+                             void *parent, unsigned long long parent_extra, string_index name_index ) {
+    if ( __itt_domain *d = get_itt_domain( domain ) ) {
+        __itt_id group_id = itt_null_id;
+        __itt_id parent_id = itt_null_id;
+        itt_id_make( &group_id, group, group_extra );
+        itt_id_create( d, group_id );
+        if ( parent ) {
+            itt_id_make( &parent_id, parent, parent_extra );
+        }
+        __itt_string_handle *n = ITT_get_string_handle(name_index);
+        ITTNOTIFY_VOID_D3(task_group, d, group_id, parent_id, n);
+    }
+}
+
+void itt_metadata_str_add_v7( itt_domain_enum domain, void *addr, unsigned long long addr_extra, 
+                              string_index key, const char *value ) {
+    if ( __itt_domain *d = get_itt_domain( domain ) ) {
+        __itt_id id = itt_null_id;
+        itt_id_make( &id, addr, addr_extra );
+        __itt_string_handle *k = ITT_get_string_handle(key);
+       size_t value_length = strlen( value );
+#if _WIN32||_WIN64
+        ITTNOTIFY_VOID_D4(metadata_str_addA, d, id, k, value, value_length);
+#else
+        ITTNOTIFY_VOID_D4(metadata_str_add, d, id, k, value, value_length);
+#endif
+    }
+}
+
+void itt_relation_add_v7( itt_domain_enum domain, void *addr0, unsigned long long addr0_extra, 
+                          itt_relation relation, void *addr1, unsigned long long addr1_extra ) {
+    if ( __itt_domain *d = get_itt_domain( domain ) ) {
+        __itt_id id0 = itt_null_id; 
+        __itt_id id1 = itt_null_id;
+        itt_id_make( &id0, addr0, addr0_extra );
+        itt_id_make( &id1, addr1, addr1_extra );
+        ITTNOTIFY_VOID_D3(relation_add, d, id0, (__itt_relation)relation, id1); 
+    }
+}
+
+void itt_task_begin_v7( itt_domain_enum domain, void *task, unsigned long long task_extra, 
+                        void *parent, unsigned long long parent_extra, string_index /* name_index */ ) {
+    if ( __itt_domain *d = get_itt_domain( domain ) ) {
+        __itt_id task_id = itt_null_id;
+        __itt_id parent_id = itt_null_id;
+        itt_id_make( &task_id, task, task_extra );
+        if ( parent ) {
+            itt_id_make( &parent_id, parent, parent_extra );
+        }
+        ITTNOTIFY_VOID_D3(task_begin, d, task_id, parent_id, NULL );
+    }
+}
+
+void itt_task_end_v7( itt_domain_enum domain ) {
+    if ( __itt_domain *d = get_itt_domain( domain ) ) {
+        ITTNOTIFY_VOID_D0(task_end, d);
+    }
+}
+
+#else // DO_ITT_NOTIFY
+
+void itt_make_task_group_v7( itt_domain_enum domain, void *group, unsigned long long group_extra, 
+                             void *parent, unsigned long long parent_extra, string_index name_index ) { }
+
+void itt_metadata_str_add_v7( itt_domain_enum domain, void *addr, unsigned long long addr_extra, 
+                              string_index key, const char *value ) { }
+
+void itt_relation_add_v7( itt_domain_enum domain, void *addr0, unsigned long long addr0_extra, 
+                          itt_relation relation, void *addr1, unsigned long long addr1_extra ) { }
+
+void itt_task_begin_v7( itt_domain_enum domain, void *task, unsigned long long task_extra, 
+                        void * /*parent*/, unsigned long long /* parent_extra */, string_index /* name_index */ ) { }
+
+void itt_task_end_v7( itt_domain_enum domain ) { }
+
+#endif // DO_ITT_NOTIFY
+
+#endif // __TBB_ITT_STRUCTURE_API
+
 void* itt_load_pointer_v3( const void* src ) {
     void* result = *static_cast<void*const*>(src);
     return result;
diff --git a/src/tbb/tbb_main.h b/src/tbb/tbb_main.h
index 1a89f13..3e49d53 100644
--- a/src/tbb/tbb_main.h
+++ b/src/tbb/tbb_main.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/tbb/tbb_misc.cpp b/src/tbb/tbb_misc.cpp
index 8f3ffb6..91ca8af 100644
--- a/src/tbb/tbb_misc.cpp
+++ b/src/tbb/tbb_misc.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
@@ -194,6 +194,47 @@ void PrintRMLVersionInfo( void* arg, const char* server_info ) {
     PrintExtraVersionInfo( server_info, (const char *)arg );
 }
 
+#if __TBB_CPF_BUILD || TBB_PREVIEW_SPECULATIVE_SPIN_RW_MUTEX
+    //! check for transaction support.
+#if _MSC_VER
+#include <intrin.h> // for __cpuid
+#endif
+bool cpu_has_speculation() {
+#if __TBB_TSX_AVAILABLE
+#if (__INTEL_COMPILER || __GNUC__ || _MSC_VER)
+    bool result = false;
+    const int hle_ebx_mask = 1<<4;
+#if _MSC_VER
+    int info[4] = {0,0,0,0};
+    const int EBX = 1;
+    __cpuidex(info, 7, 0);
+    result = (info[EBX] & hle_ebx_mask)!=0;
+#elif __GNUC__
+    int EBX = 0;
+    int32_t reg_eax = 7;
+    int32_t reg_ecx = 0;
+    __asm__ __volatile__ ( "movl %%ebx, %%esi\n"
+                           "cpuid\n"
+                           "movl %%ebx, %0\n"
+                           "movl %%esi, %%ebx\n"
+                           : "=a"(EBX) : "0" (reg_eax), "c" (reg_ecx) : "esi", 
+#if __TBB_x86_64
+                           "ebx",
+#endif
+                           "edx"
+                           );
+    result = (EBX & hle_ebx_mask)!=0 ;
+#endif
+    return result;
+#else
+    #error Speculation detection not enabled for compiler
+#endif /* __INTEL_COMPILER || __GNUC__ || _MSC_VER */
+#else  /* __TBB_TSX_AVAILABLE */
+    return false;
+#endif /* __TBB_TSX_AVAILABLE */
+}
+#endif  /* __TBB_CPF_BUILD || TBB_PREVIEW_SPECULATIVE_SPIN_RW_MUTEX */
+
 } // namespace internal
 
 extern "C" int TBB_runtime_interface_version() {
diff --git a/src/tbb/tbb_misc.h b/src/tbb/tbb_misc.h
index 146d55d..b69c486 100644
--- a/src/tbb/tbb_misc.h
+++ b/src/tbb/tbb_misc.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
@@ -266,6 +266,10 @@ inline void run_initializer( bool (*f)(), atomic<do_once_state>& state ) {
     };
 #endif /* __TBB_OS_AFFINITY_SYSCALL_PRESENT */
 
+#if __TBB_CPF_BUILD || TBB_PREVIEW_SPECULATIVE_SPIN_RW_MUTEX
+extern bool cpu_has_speculation();
+#endif
+
 } // namespace internal
 } // namespace tbb
 
diff --git a/src/tbb/tbb_misc_ex.cpp b/src/tbb/tbb_misc_ex.cpp
index 62f75a8..d4da8c3 100644
--- a/src/tbb/tbb_misc_ex.cpp
+++ b/src/tbb/tbb_misc_ex.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/tbb/tbb_resource.rc b/src/tbb/tbb_resource.rc
index 1a90397..aad2cb9 100644
--- a/src/tbb/tbb_resource.rc
+++ b/src/tbb/tbb_resource.rc
@@ -1,4 +1,4 @@
-// Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+// Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 //
 // This file is part of Threading Building Blocks.
 //
@@ -89,8 +89,7 @@ BEGIN
             VALUE "CompanyName", "Intel Corporation\0"
             VALUE "FileDescription", "Intel(R) Threading Building Blocks library\0"
             VALUE "FileVersion", TBB_VERSION "\0"
-//what is it?            VALUE "InternalName", "tbb\0"
-            VALUE "LegalCopyright", "Copyright 2005-2013 Intel Corporation.  All Rights Reserved.\0"
+            VALUE "LegalCopyright", "Copyright 2005-2014 Intel Corporation.  All Rights Reserved.\0"
             VALUE "LegalTrademarks", "\0"
 #ifndef TBB_USE_DEBUG
             VALUE "OriginalFilename", "tbb.dll\0"
@@ -99,7 +98,6 @@ BEGIN
 #endif
             VALUE "ProductName", "Intel(R) Threading Building Blocks for Windows\0"
             VALUE "ProductVersion", TBB_VERSION "\0"
-            VALUE "Comments", TBB_VERSION_STRINGS "\0"
             VALUE "PrivateBuild", "\0"
             VALUE "SpecialBuild", "\0"
         END
diff --git a/src/tbb/tbb_statistics.cpp b/src/tbb/tbb_statistics.cpp
index a21c226..98fd5fa 100644
--- a/src/tbb/tbb_statistics.cpp
+++ b/src/tbb/tbb_statistics.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/tbb/tbb_statistics.h b/src/tbb/tbb_statistics.h
index 3f907a4..65f5f1e 100644
--- a/src/tbb/tbb_statistics.h
+++ b/src/tbb/tbb_statistics.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/tbb/tbb_thread.cpp b/src/tbb/tbb_thread.cpp
index 20ac0b6..15f7672 100644
--- a/src/tbb/tbb_thread.cpp
+++ b/src/tbb/tbb_thread.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/tbb/tbb_version.h b/src/tbb/tbb_version.h
index ce0cfe8..2629c3b 100644
--- a/src/tbb/tbb_version.h
+++ b/src/tbb/tbb_version.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/tbb/tls.h b/src/tbb/tls.h
index 5e85cc2..d32406f 100644
--- a/src/tbb/tls.h
+++ b/src/tbb/tls.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/tbb/tools_api/disable_warnings.h b/src/tbb/tools_api/disable_warnings.h
index 7540a0f..7f7327d 100644
--- a/src/tbb/tools_api/disable_warnings.h
+++ b/src/tbb/tools_api/disable_warnings.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/tbb/tools_api/internal/ittnotify.h b/src/tbb/tools_api/internal/ittnotify.h
index 68ea7c2..08e3871 100644
--- a/src/tbb/tools_api/internal/ittnotify.h
+++ b/src/tbb/tools_api/internal/ittnotify.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/tbb/tools_api/ittnotify.h b/src/tbb/tools_api/ittnotify.h
index 0a4a690..65d423f 100644
--- a/src/tbb/tools_api/ittnotify.h
+++ b/src/tbb/tools_api/ittnotify.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
@@ -1483,7 +1483,6 @@ typedef struct ___itt_id
 
 static const __itt_id __itt_null = { 0, 0, 0 };
 
-#if 0 // this function currently is not used
 /**
  * @ingroup ids
  * @brief A convenience function is provided to create an ID without domain control.
@@ -1504,7 +1503,6 @@ INLINE __itt_id ITTAPI __itt_id_make(void* addr, unsigned long long extra)
     id.d3 = (unsigned long long)0; /* Reserved. Must be zero */
     return id;
 }
-#endif
 
 /**
  * @ingroup ids
diff --git a/src/tbb/tools_api/ittnotify_config.h b/src/tbb/tools_api/ittnotify_config.h
index c5d082f..0272851 100644
--- a/src/tbb/tools_api/ittnotify_config.h
+++ b/src/tbb/tools_api/ittnotify_config.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/tbb/tools_api/ittnotify_static.c b/src/tbb/tools_api/ittnotify_static.c
index d6d636d..9ef77d4 100644
--- a/src/tbb/tools_api/ittnotify_static.c
+++ b/src/tbb/tools_api/ittnotify_static.c
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
@@ -686,80 +686,9 @@ static const char* __itt_get_env_var(const char* name)
     return NULL;
 }
 
-#if ITT_PLATFORM==ITT_PLATFORM_WIN
-
-#include <Winreg.h>
-
-typedef LONG (APIENTRY* RegCloseKeyProcType)(HKEY);
-typedef LONG (APIENTRY* RegOpenKeyExAProcType)(HKEY, LPCTSTR, DWORD, REGSAM, PHKEY);
-typedef LONG (APIENTRY* RegGetValueAProcType)(HKEY, LPCTSTR, LPCTSTR, DWORD, LPDWORD, PVOID, LPDWORD);
-
-/* This function return value of registry key that placed into static buffer.
- * This was done to aviod dynamic memory allocation.
- */
-static const char* __itt_get_lib_name_registry(void)
-{
-#define MAX_REG_VALUE_SIZE 4086
-    static char reg_buff[MAX_REG_VALUE_SIZE];
-    DWORD size;
-    LONG  res;
-    HKEY  hKey;
-    RegCloseKeyProcType   pRegCloseKey;
-    RegOpenKeyExAProcType pRegOpenKeyExA;
-    RegGetValueAProcType  pRegGetValueA;
-    HMODULE h_advapi32 = LoadLibraryA("advapi32.dll");
-    DWORD autodetect = 0;
-
-    if (h_advapi32 == NULL)
-    {
-        return NULL;
-    }
-
-    pRegCloseKey   =   (RegCloseKeyProcType)GetProcAddress(h_advapi32, "CloseKey");
-    pRegOpenKeyExA = (RegOpenKeyExAProcType)GetProcAddress(h_advapi32, "RegOpenKeyExA");
-    pRegGetValueA  =  (RegGetValueAProcType)GetProcAddress(h_advapi32, "RegGetValueA");
-
-    if (pRegCloseKey   == NULL ||
-        pRegOpenKeyExA == NULL ||
-        pRegGetValueA  == NULL)
-    {
-        FreeLibrary(h_advapi32);
-        return NULL;
-    }
-
-    res = pRegOpenKeyExA(HKEY_CURRENT_USER, (LPCTSTR)"Software\\Intel Corporation\\ITT Environment\\Collector", 0, KEY_READ, &hKey);
-    if (res != ERROR_SUCCESS || hKey == 0)
-    {
-        FreeLibrary(h_advapi32);
-        return NULL;
-    }
-
-    size = sizeof(DWORD);
-    res = pRegGetValueA(hKey, (LPCTSTR)"AutoDetect", NULL, RRF_RT_REG_DWORD, NULL, (BYTE*)&autodetect, &size);
-    if (res != ERROR_SUCCESS || size == 0 || autodetect == 0)
-    {
-        pRegCloseKey(hKey);
-        FreeLibrary(h_advapi32);
-        return NULL;
-    }
-
-    size = MAX_REG_VALUE_SIZE-1;
-    res = pRegGetValueA(hKey, (LPCTSTR)ITT_TO_STR(LIB_VAR_NAME), NULL, REG_SZ, NULL, (BYTE*)&reg_buff, &size);
-    pRegCloseKey(hKey);
-    FreeLibrary(h_advapi32);
-
-    return (res == ERROR_SUCCESS && size > 0) ? reg_buff : NULL;
-}
-
-#endif /* ITT_PLATFORM==ITT_PLATFORM_WIN */
-
 static const char* __itt_get_lib_name(void)
 {
     const char* lib_name = __itt_get_env_var(ITT_TO_STR(LIB_VAR_NAME));
-#if ITT_PLATFORM==ITT_PLATFORM_WIN
-    if (lib_name == NULL)
-        lib_name = __itt_get_lib_name_registry();
-#endif /* ITT_PLATFORM==ITT_PLATFORM_WIN */
     return lib_name;
 }
 
diff --git a/src/tbb/tools_api/ittnotify_static.h b/src/tbb/tools_api/ittnotify_static.h
index db19b9b..906715b 100644
--- a/src/tbb/tools_api/ittnotify_static.h
+++ b/src/tbb/tools_api/ittnotify_static.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/tbb/tools_api/ittnotify_types.h b/src/tbb/tools_api/ittnotify_types.h
index 32d3b85..a796a75 100644
--- a/src/tbb/tools_api/ittnotify_types.h
+++ b/src/tbb/tools_api/ittnotify_types.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/tbb/tools_api/legacy/ittnotify.h b/src/tbb/tools_api/legacy/ittnotify.h
index 96f609f..279a264 100644
--- a/src/tbb/tools_api/legacy/ittnotify.h
+++ b/src/tbb/tools_api/legacy/ittnotify.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/tbb/tools_api/prototype/ittnotify.h b/src/tbb/tools_api/prototype/ittnotify.h
index 11c1662..c4679c3 100644
--- a/src/tbb/tools_api/prototype/ittnotify.h
+++ b/src/tbb/tools_api/prototype/ittnotify.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/tbb/win32-tbb-export.def b/src/tbb/win32-tbb-export.def
index acf3e74..8426bf1 100644
--- a/src/tbb/win32-tbb-export.def
+++ b/src/tbb/win32-tbb-export.def
@@ -1,4 +1,4 @@
-; Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+; Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 ;
 ; This file is part of Threading Building Blocks.
 ;
diff --git a/src/tbb/win32-tbb-export.lst b/src/tbb/win32-tbb-export.lst
index c1813ac..7a00d08 100644
--- a/src/tbb/win32-tbb-export.lst
+++ b/src/tbb/win32-tbb-export.lst
@@ -1,4 +1,4 @@
-; Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+; Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 ;
 ; This file is part of Threading Building Blocks.
 ;
@@ -44,6 +44,7 @@ __TBB_SYMBOL( __TBB_machine_load8 )
 __TBB_SYMBOL( __TBB_machine_trylockbyte )
 __TBB_SYMBOL( __TBB_machine_try_lock_elided )
 __TBB_SYMBOL( __TBB_machine_unlock_elided )
+__TBB_SYMBOL( __TBB_machine_is_in_transaction )
 
 // cache_aligned_allocator.cpp
 __TBB_SYMBOL( ?NFS_Allocate at internal@tbb@@YAPAXIIPAX at Z )
@@ -80,12 +81,12 @@ __TBB_SYMBOL( ?observe at task_scheduler_observer_v3@internal at tbb@@QAEX_N at Z )
 
 #if __TBB_TASK_ARENA
 /* arena.cpp */
-__TBB_SYMBOL( ?internal_initialize at task_arena@interface6 at tbb@@AAEXXZ )
-__TBB_SYMBOL( ?internal_enqueue at task_arena@interface6 at tbb@@ABEXAAVtask at 3@H at Z )
-__TBB_SYMBOL( ?internal_execute at task_arena@interface6 at tbb@@ABEXAAVdelegate_base at internal@23@@Z )
-__TBB_SYMBOL( ?internal_terminate at task_arena@interface6 at tbb@@AAEXXZ )
-__TBB_SYMBOL( ?current_slot at task_arena@interface6 at tbb@@SAHXZ )
-__TBB_SYMBOL( ?internal_wait at task_arena@interface6 at tbb@@ABEXXZ )
+__TBB_SYMBOL( ?internal_current_slot at task_arena_base@internal at interface7@tbb@@KAHXZ )
+__TBB_SYMBOL( ?internal_initialize at task_arena_base@internal at interface7@tbb@@IAEXXZ )
+__TBB_SYMBOL( ?internal_terminate at task_arena_base@internal at interface7@tbb@@IAEXXZ )
+__TBB_SYMBOL( ?internal_enqueue at task_arena_base@internal at interface7@tbb@@IBEXAAVtask at 4@H at Z )
+__TBB_SYMBOL( ?internal_execute at task_arena_base@internal at interface7@tbb@@IBEXAAVdelegate_base at 234@@Z )
+__TBB_SYMBOL( ?internal_wait at task_arena_base@internal at interface7@tbb@@IBEXXZ )
 #endif /* __TBB_TASK_ARENA */
 
 #if !TBB_NO_LEGACY
@@ -140,6 +141,13 @@ __TBB_SYMBOL( ?itt_store_pointer_with_release_v3 at internal@tbb@@YAXPAX0 at Z )
 __TBB_SYMBOL( ?call_itt_notify_v5 at internal@tbb@@YAXHPAX at Z )
 __TBB_SYMBOL( ?itt_set_sync_name_v3 at internal@tbb@@YAXPAXPB_W at Z )
 __TBB_SYMBOL( ?itt_load_pointer_v3 at internal@tbb@@YAPAXPBX at Z )
+#if __TBB_ITT_STRUCTURE_API
+__TBB_SYMBOL( ?itt_make_task_group_v7 at internal@tbb@@YAXW4itt_domain_enum at 12@PAX_K12W4string_index at 12@@Z )
+__TBB_SYMBOL( ?itt_metadata_str_add_v7 at internal@tbb@@YAXW4itt_domain_enum at 12@PAX_KW4string_index at 12@PBD at Z )
+__TBB_SYMBOL( ?itt_relation_add_v7 at internal@tbb@@YAXW4itt_domain_enum at 12@PAX_KW4itt_relation at 12@12 at Z )
+__TBB_SYMBOL( ?itt_task_begin_v7 at internal@tbb@@YAXW4itt_domain_enum at 12@PAX_K12W4string_index at 12@@Z )
+__TBB_SYMBOL( ?itt_task_end_v7 at internal@tbb@@YAXW4itt_domain_enum at 12@@Z )
+#endif
 
 // pipeline.cpp
 __TBB_SYMBOL( ??0pipeline at tbb@@QAE at XZ )
@@ -202,6 +210,17 @@ __TBB_SYMBOL( ?internal_release_writer at spin_rw_mutex_v3@tbb@@AAEXXZ )
 __TBB_SYMBOL( ?internal_try_acquire_reader at spin_rw_mutex_v3@tbb@@AAE_NXZ )
 __TBB_SYMBOL( ?internal_try_acquire_writer at spin_rw_mutex_v3@tbb@@AAE_NXZ )
 
+#if TBB_PREVIEW_SPECULATIVE_SPIN_RW_MUTEX
+// x86_rtm_rw_mutex.cpp
+__TBB_SYMBOL( ?internal_construct at x86_rtm_rw_mutex@internal at interface7@tbb@@AAEXXZ ) 
+__TBB_SYMBOL( ?release at scoped_lock@x86_rtm_rw_mutex at internal@interface7 at tbb@@QAEXXZ ) 
+__TBB_SYMBOL( ?internal_acquire_writer at x86_rtm_rw_mutex@internal at interface7@tbb@@AAEXAAVscoped_lock at 1234@_N at Z ) 
+__TBB_SYMBOL( ?internal_acquire_reader at x86_rtm_rw_mutex@internal at interface7@tbb@@AAEXAAVscoped_lock at 1234@_N at Z ) 
+__TBB_SYMBOL( ?internal_upgrade at x86_rtm_rw_mutex@internal at interface7@tbb@@AAE_NAAVscoped_lock at 1234@@Z ) 
+__TBB_SYMBOL( ?internal_downgrade at x86_rtm_rw_mutex@internal at interface7@tbb@@AAEXAAVscoped_lock at 1234@@Z ) 
+__TBB_SYMBOL( ?internal_try_acquire_writer at x86_rtm_rw_mutex@internal at interface7@tbb@@AAE_NAAVscoped_lock at 1234@@Z ) 
+#endif
+
 // spin_mutex.cpp
 __TBB_SYMBOL( ?internal_construct at spin_mutex@tbb@@QAEXXZ )
 __TBB_SYMBOL( ?internal_acquire at scoped_lock@spin_mutex at tbb@@AAEXAAV23@@Z )
diff --git a/src/tbb/win64-gcc-tbb-export.def b/src/tbb/win64-gcc-tbb-export.def
index 8d46521..83f069a 100644
--- a/src/tbb/win64-gcc-tbb-export.def
+++ b/src/tbb/win64-gcc-tbb-export.def
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/tbb/win64-gcc-tbb-export.lst b/src/tbb/win64-gcc-tbb-export.lst
index 58892bf..ff698ef 100644
--- a/src/tbb/win64-gcc-tbb-export.lst
+++ b/src/tbb/win64-gcc-tbb-export.lst
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
@@ -72,12 +72,12 @@ __TBB_SYMBOL( _ZTVN3tbb10empty_taskE )
 
 #if __TBB_TASK_ARENA
 /* arena.cpp */
-__TBB_SYMBOL( _ZN3tbb10interface610task_arena18internal_terminateEv )
-__TBB_SYMBOL( _ZNK3tbb10interface610task_arena16internal_enqueueERNS_4taskEl )
-__TBB_SYMBOL( _ZNK3tbb10interface610task_arena16internal_executeERNS0_8internal13delegate_baseE )
-__TBB_SYMBOL( _ZN3tbb10interface610task_arena19internal_initializeEv )
-__TBB_SYMBOL( _ZN3tbb10interface610task_arena12current_slotEv )
-__TBB_SYMBOL( _ZNK3tbb10interface610task_arena13internal_waitEv )
+__TBB_SYMBOL( _ZN3tbb10interface78internal15task_arena_base19internal_initializeEv )
+__TBB_SYMBOL( _ZN3tbb10interface78internal15task_arena_base18internal_terminateEv )
+__TBB_SYMBOL( _ZNK3tbb10interface78internal15task_arena_base16internal_enqueueERNS_4taskEx )
+__TBB_SYMBOL( _ZNK3tbb10interface78internal15task_arena_base16internal_executeERNS1_13delegate_baseE )
+__TBB_SYMBOL( _ZNK3tbb10interface78internal15task_arena_base13internal_waitEv )
+__TBB_SYMBOL( _ZN3tbb10interface78internal15task_arena_base21internal_current_slotEv )
 #endif /* __TBB_TASK_ARENA */
 
 #if !TBB_NO_LEGACY
diff --git a/src/tbb/win64-tbb-export.def b/src/tbb/win64-tbb-export.def
index 5e5888d..1aaa303 100644
--- a/src/tbb/win64-tbb-export.def
+++ b/src/tbb/win64-tbb-export.def
@@ -1,4 +1,4 @@
-; Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+; Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 ;
 ; This file is part of Threading Building Blocks.
 ;
diff --git a/src/tbb/win64-tbb-export.lst b/src/tbb/win64-tbb-export.lst
index 597b516..b8755ae 100644
--- a/src/tbb/win64-tbb-export.lst
+++ b/src/tbb/win64-tbb-export.lst
@@ -1,4 +1,4 @@
-; Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+; Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 ;
 ; This file is part of Threading Building Blocks.
 ;
@@ -39,6 +39,7 @@ __TBB_SYMBOL( __TBB_machine_fetchstore2 )
 __TBB_SYMBOL( __TBB_machine_pause )
 __TBB_SYMBOL( __TBB_machine_try_lock_elided )
 __TBB_SYMBOL( __TBB_machine_unlock_elided )
+__TBB_SYMBOL( __TBB_machine_is_in_transaction )
 
 // cache_aligned_allocator.cpp
 __TBB_SYMBOL( ?NFS_Allocate at internal@tbb@@YAPEAX_K0PEAX at Z )
@@ -76,12 +77,12 @@ __TBB_SYMBOL( ?observe at task_scheduler_observer_v3@internal at tbb@@QEAAX_N at Z )
 
 #if __TBB_TASK_ARENA
 /* arena.cpp */
-__TBB_SYMBOL( ?internal_enqueue at task_arena@interface6 at tbb@@AEBAXAEAVtask at 3@_J at Z )
-__TBB_SYMBOL( ?internal_execute at task_arena@interface6 at tbb@@AEBAXAEAVdelegate_base at internal@23@@Z )
-__TBB_SYMBOL( ?internal_initialize at task_arena@interface6 at tbb@@AEAAXXZ )
-__TBB_SYMBOL( ?internal_terminate at task_arena@interface6 at tbb@@AEAAXXZ )
-__TBB_SYMBOL( ?internal_wait at task_arena@interface6 at tbb@@AEBAXXZ )
-__TBB_SYMBOL( ?current_slot at task_arena@interface6 at tbb@@SAHXZ )
+__TBB_SYMBOL( ?internal_current_slot at task_arena_base@internal at interface7@tbb@@KAHXZ )
+__TBB_SYMBOL( ?internal_initialize at task_arena_base@internal at interface7@tbb@@IEAAXXZ )
+__TBB_SYMBOL( ?internal_terminate at task_arena_base@internal at interface7@tbb@@IEAAXXZ )
+__TBB_SYMBOL( ?internal_enqueue at task_arena_base@internal at interface7@tbb@@IEBAXAEAVtask at 4@_J at Z )
+__TBB_SYMBOL( ?internal_execute at task_arena_base@internal at interface7@tbb@@IEBAXAEAVdelegate_base at 234@@Z )
+__TBB_SYMBOL( ?internal_wait at task_arena_base@internal at interface7@tbb@@IEBAXXZ )
 #endif /* __TBB_TASK_ARENA */
 
 #if !TBB_NO_LEGACY
@@ -136,6 +137,13 @@ __TBB_SYMBOL( ?itt_store_pointer_with_release_v3 at internal@tbb@@YAXPEAX0 at Z )
 __TBB_SYMBOL( ?call_itt_notify_v5 at internal@tbb@@YAXHPEAX at Z )
 __TBB_SYMBOL( ?itt_load_pointer_v3 at internal@tbb@@YAPEAXPEBX at Z )
 __TBB_SYMBOL( ?itt_set_sync_name_v3 at internal@tbb@@YAXPEAXPEB_W at Z )
+#if __TBB_ITT_STRUCTURE_API
+__TBB_SYMBOL( ?itt_make_task_group_v7 at internal@tbb@@YAXW4itt_domain_enum at 12@PEAX_K12W4string_index at 12@@Z )
+__TBB_SYMBOL( ?itt_metadata_str_add_v7 at internal@tbb@@YAXW4itt_domain_enum at 12@PEAX_KW4string_index at 12@PEBD at Z )
+__TBB_SYMBOL( ?itt_relation_add_v7 at internal@tbb@@YAXW4itt_domain_enum at 12@PEAX_KW4itt_relation at 12@12 at Z )
+__TBB_SYMBOL( ?itt_task_begin_v7 at internal@tbb@@YAXW4itt_domain_enum at 12@PEAX_K12W4string_index at 12@@Z )
+__TBB_SYMBOL( ?itt_task_end_v7 at internal@tbb@@YAXW4itt_domain_enum at 12@@Z )
+#endif
 
 // pipeline.cpp
 __TBB_SYMBOL( ??_7pipeline at tbb@@6B@ )
@@ -198,6 +206,17 @@ __TBB_SYMBOL( ?internal_release_writer at spin_rw_mutex_v3@tbb@@AEAAXXZ )
 __TBB_SYMBOL( ?internal_try_acquire_reader at spin_rw_mutex_v3@tbb@@AEAA_NXZ )
 __TBB_SYMBOL( ?internal_try_acquire_writer at spin_rw_mutex_v3@tbb@@AEAA_NXZ )
 
+#if TBB_PREVIEW_SPECULATIVE_SPIN_RW_MUTEX
+// x86_rtm_rw_mutex.cpp
+__TBB_SYMBOL( ?internal_acquire_writer at x86_rtm_rw_mutex@internal at interface7@tbb@@AEAAXAEAVscoped_lock at 1234@_N at Z )
+__TBB_SYMBOL( ?internal_acquire_reader at x86_rtm_rw_mutex@internal at interface7@tbb@@AEAAXAEAVscoped_lock at 1234@_N at Z )
+__TBB_SYMBOL( ?internal_upgrade at x86_rtm_rw_mutex@internal at interface7@tbb@@AEAA_NAEAVscoped_lock at 1234@@Z )
+__TBB_SYMBOL( ?internal_downgrade at x86_rtm_rw_mutex@internal at interface7@tbb@@AEAAXAEAVscoped_lock at 1234@@Z )
+__TBB_SYMBOL( ?internal_try_acquire_writer at x86_rtm_rw_mutex@internal at interface7@tbb@@AEAA_NAEAVscoped_lock at 1234@@Z )
+__TBB_SYMBOL( ?release at scoped_lock@x86_rtm_rw_mutex at internal@interface7 at tbb@@QEAAXXZ )
+__TBB_SYMBOL( ?internal_construct at x86_rtm_rw_mutex@internal at interface7@tbb@@AEAAXXZ )
+#endif
+
 // spin_mutex.cpp
 __TBB_SYMBOL( ?internal_construct at spin_mutex@tbb@@QEAAXXZ )
 __TBB_SYMBOL( ?internal_acquire at scoped_lock@spin_mutex at tbb@@AEAAXAEAV23@@Z )
diff --git a/src/tbb/winrt-tbb-export.lst b/src/tbb/winrt-tbb-export.lst
index 85a68d5..15e93a6 100644
--- a/src/tbb/winrt-tbb-export.lst
+++ b/src/tbb/winrt-tbb-export.lst
@@ -1,4 +1,4 @@
-; Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+; Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 ;
 ; This file is part of Threading Building Blocks.
 ;
@@ -61,12 +61,12 @@ __TBB_SYMBOL( ?observe at task_scheduler_observer_v3@internal at tbb@@QAAX_N at Z )
 
 #if __TBB_TASK_ARENA
 /* arena.cpp */
-__TBB_SYMBOL( ?internal_initialize at task_arena@interface6 at tbb@@ABEPAVarena at internal@3 at H@Z )
-__TBB_SYMBOL( ?internal_enqueue at task_arena@interface6 at tbb@@ABEXAAVtask at 3@H at Z )
-__TBB_SYMBOL( ?internal_execute at task_arena@interface6 at tbb@@ABEXAAVdelegate_base at internal@23@@Z )
-__TBB_SYMBOL( ?internal_terminate at task_arena@interface6 at tbb@@AAAXXZ )
-__TBB_SYMBOL( ?current_slot at task_arena@interface6 at tbb@@SAHXZ )
-__TBB_SYMBOL( ?internal_wait at task_arena@interface6 at tbb@@ABEXXZ )
+__TBB_SYMBOL( ?internal_current_slot at task_arena_base@internal at interface7@tbb@@KAHXZ )
+__TBB_SYMBOL( ?internal_initialize at task_arena_base@internal at interface7@tbb@@IAAXXZ )
+__TBB_SYMBOL( ?internal_terminate at task_arena_base@internal at interface7@tbb@@IAAXXZ )
+__TBB_SYMBOL( ?internal_enqueue at task_arena_base@internal at interface7@tbb@@IBAXAAVtask at 4@H at Z )
+__TBB_SYMBOL( ?internal_execute at task_arena_base@internal at interface7@tbb@@IBAXAAVdelegate_base at 234@@Z )
+__TBB_SYMBOL( ?internal_wait at task_arena_base@internal at interface7@tbb@@IBAXXZ )
 #endif /* __TBB_TASK_ARENA */
 
 #if !TBB_NO_LEGACY
diff --git a/src/tbb/x86_rtm_rw_mutex.cpp b/src/tbb/x86_rtm_rw_mutex.cpp
new file mode 100644
index 0000000..f35452b
--- /dev/null
+++ b/src/tbb/x86_rtm_rw_mutex.cpp
@@ -0,0 +1,281 @@
+/*
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
+
+    This file is part of Threading Building Blocks.
+
+    Threading Building Blocks is free software; you can redistribute it
+    and/or modify it under the terms of the GNU General Public License
+    version 2 as published by the Free Software Foundation.
+
+    Threading Building Blocks is distributed in the hope that it will be
+    useful, but WITHOUT ANY WARRANTY; without even the implied warranty
+    of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with Threading Building Blocks; if not, write to the Free Software
+    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+
+    As a special exception, you may use this file as part of a free software
+    library without restriction.  Specifically, if other files instantiate
+    templates or use macros or inline functions from this file, or you compile
+    this file and link it with other files to produce an executable, this
+    file does not by itself cause the resulting executable to be covered by
+    the GNU General Public License.  This exception does not however
+    invalidate any other reasons why the executable file might be covered by
+    the GNU General Public License.
+*/
+
+#include "tbb/tbb_config.h"
+#if TBB_PREVIEW_SPECULATIVE_SPIN_RW_MUTEX
+#if __TBB_TSX_AVAILABLE
+#include "tbb/spin_rw_mutex.h"
+#include "tbb/tbb_machine.h"
+#include "itt_notify.h"
+#include "governor.h"
+#include "tbb/atomic.h"
+
+// __TBB_RW_MUTEX_DELAY_TEST shifts the point where flags aborting speculation are
+// added to the read-set of the operation.  If 1, will add the test just before
+// the transaction is ended.
+#ifndef __TBB_RW_MUTEX_DELAY_TEST
+    #define __TBB_RW_MUTEX_DELAY_TEST 1
+#endif
+
+#if defined(_MSC_VER) && defined(_Wp64)
+    // Workaround for overzealous compiler warnings in /Wp64 mode
+    #pragma warning (disable: 4244)
+#endif
+
+namespace tbb {
+
+namespace interface7 {
+namespace internal {
+
+// abort code for mutexes that detect a conflict with another thread.
+// value is hexadecimal
+
+static const unsigned int speculation_transaction_aborted = 0x01;
+static const unsigned int speculation_can_retry           = 0x02;
+static const unsigned int speculation_memadd_conflict     = 0x04;
+static const unsigned int speculation_buffer_overflow     = 0x08;
+static const unsigned int speculation_breakpoint_hit      = 0x10;
+static const unsigned int speculation_nested_abort        = 0x20;
+static const unsigned int speculation_xabort_mask         = 0xFF000000;
+static const unsigned int speculation_xabort_shift        = 24;
+static const unsigned int speculation_retry               = speculation_transaction_aborted |
+                                                            speculation_can_retry |
+                                                            speculation_memadd_conflict;
+
+// maximum number of times to retry
+static const int retry_threshold_read = 10;
+static const int retry_threshold_write = 10;
+
+//! Release speculative mutex
+void x86_rtm_rw_mutex::scoped_lock::release() {
+    x86_rtm_rw_mutex* mutex = static_cast<x86_rtm_rw_mutex*>(my_scoped_lock.__internal_get_mutex());
+    switch(transaction_state) {
+    case RTM_transacting_writer:
+    case RTM_transacting_reader:
+        {
+            __TBB_ASSERT(__TBB_machine_is_in_transaction(), "transaction_state && not speculating");
+#if __TBB_RW_MUTEX_DELAY_TEST
+            if(transaction_state == RTM_transacting_reader) {
+                if(mutex->w_flag) __TBB_machine_transaction_conflict_abort();
+            }
+            else {
+                if(mutex->state) __TBB_machine_transaction_conflict_abort();
+            }
+#endif
+            __TBB_machine_end_transaction();
+            my_scoped_lock.__internal_set_mutex(NULL);
+        }
+        break;
+    case RTM_real_reader:
+        __TBB_ASSERT(mutex, "mutex is unset");
+        __TBB_ASSERT(!mutex->w_flag, "w_flag set but read lock acquired");
+        my_scoped_lock.release();
+        break;
+    case RTM_real_writer:
+        __TBB_ASSERT(mutex, "mutex is unset");
+        __TBB_ASSERT(mutex->w_flag, "w_flag unset but write lock acquired");
+        mutex->w_flag = false;
+        my_scoped_lock.release();
+        break;
+    case RTM_not_in_mutex:
+        __TBB_ASSERT(false, "RTM_not_in_mutex, but in release");
+    default:
+        __TBB_ASSERT(false, "invalid transaction_state");
+    }
+    transaction_state = RTM_not_in_mutex;
+}
+
+//! Acquire write lock on the given mutex.
+void x86_rtm_rw_mutex::internal_acquire_writer(x86_rtm_rw_mutex::scoped_lock& s, bool only_speculate)
+{
+    __TBB_ASSERT(s.transaction_state == RTM_not_in_mutex, "scoped_lock already in transaction");
+    if(tbb::internal::governor::speculation_enabled()) {
+        int num_retries = 0;
+        unsigned int abort_code;
+        do {
+            tbb::internal::atomic_backoff backoff;
+            if(this->state) {
+                if(only_speculate) return;
+                do {
+                    backoff.pause();  // test the spin_rw_mutex (real readers or writers)
+                } while(this->state);
+            }
+            // _xbegin returns -1 on success or the abort code, so capture it
+            if(( abort_code = __TBB_machine_begin_transaction()) == ~(unsigned int)(0) )
+            {
+                // started speculation
+#if !__TBB_RW_MUTEX_DELAY_TEST
+                if(this->state) {  // add spin_rw_mutex to read-set.
+                    // reader or writer grabbed the lock, so abort.
+                    __TBB_machine_transaction_conflict_abort();
+                }
+#endif
+                s.transaction_state = RTM_transacting_writer;
+                s.my_scoped_lock.__internal_set_mutex(this);  // need mutex for release()
+                return;  // successfully started speculation
+            }
+            ++num_retries;
+        } while( (abort_code & speculation_retry) != 0 && (num_retries < retry_threshold_write) );
+    }
+
+    if(only_speculate) return;              // should apply a real try_lock...
+    s.my_scoped_lock.acquire(*this, true);  // kill transactional writers
+    __TBB_ASSERT(!w_flag, "After acquire for write, w_flag already true");
+    w_flag = true;                          // kill transactional readers
+    s.transaction_state = RTM_real_writer;
+    return;
+}
+
+//! Acquire read lock on given mutex.
+//  only_speculate : true if we are doing a try_acquire.  If true and we fail to speculate, don't
+//     really acquire the lock, return and do a try_acquire on the contained spin_rw_mutex.  If
+//     the lock is already held by a writer, just return.
+void x86_rtm_rw_mutex::internal_acquire_reader(x86_rtm_rw_mutex::scoped_lock& s, bool only_speculate) {
+    __TBB_ASSERT(s.transaction_state == RTM_not_in_mutex, "scoped_lock already in transaction");
+    if(tbb::internal::governor::speculation_enabled()) {
+        int num_retries = 0;
+        unsigned int abort_code;
+        do {
+            tbb::internal::atomic_backoff backoff;
+            // if in try_acquire, and lock is held as writer, don't attempt to speculate.
+            if(w_flag) {
+                if(only_speculate) return;
+                do {
+                    backoff.pause();  // test the spin_rw_mutex (real readers or writers)
+                } while(w_flag);
+            }
+            // _xbegin returns -1 on success or the abort code, so capture it
+            if((abort_code = __TBB_machine_begin_transaction()) == ~(unsigned int)(0) )
+            {
+                // started speculation
+#if !__TBB_RW_MUTEX_DELAY_TEST
+                if(w_flag) {  // add w_flag to read-set.
+                    __TBB_machine_transaction_conflict_abort();  // writer grabbed the lock, so abort.
+                }
+#endif
+                s.transaction_state = RTM_transacting_reader;
+                s.my_scoped_lock.__internal_set_mutex(this);  // need mutex for release()
+                return;  // successfully started speculation
+            }
+            // fallback path
+            // retry only if there is any hope of getting into a transaction soon
+            // Retry in the following cases (from Section 8.3.5 of Intel(R)
+            // Architecture Instruction Set Extensions Programming Reference):
+            // 1. abort caused by XABORT instruction (bit 0 of EAX register is set)
+            // 2. the transaction may succeed on a retry (bit 1 of EAX register is set)
+            // 3. if another logical processor conflicted with a memory address
+            //    that was part of the transaction that aborted (bit 2 of EAX register is set)
+            // That is, retry if (abort_code & 0x7) is non-zero
+            ++num_retries;
+        } while( (abort_code & speculation_retry) != 0 && (num_retries < retry_threshold_read) );
+    }
+
+    if(only_speculate) return;
+    s.my_scoped_lock.acquire( *this, false );
+    s.transaction_state = RTM_real_reader;
+}
+
+//! Upgrade reader to become a writer.
+/** Returns whether the upgrade happened without releasing and re-acquiring the lock */
+bool x86_rtm_rw_mutex::internal_upgrade(x86_rtm_rw_mutex::scoped_lock& s)
+{
+    switch(s.transaction_state) {
+    case RTM_real_reader: {
+            s.transaction_state = RTM_real_writer;
+            bool no_release = s.my_scoped_lock.upgrade_to_writer();
+            __TBB_ASSERT(!w_flag, "After upgrade_to_writer, w_flag already true");
+            w_flag = true;
+            return no_release;
+        }
+    case RTM_transacting_reader:
+        s.transaction_state = RTM_transacting_writer;
+        // don't need to add w_flag to read_set even if __TBB_RW_MUTEX_DELAY_TEST
+        // because the this pointer (the spin_rw_mutex) will be sufficient on release.
+        return true;
+        break;
+    default:
+        __TBB_ASSERT(false, "Invalid state on upgrade");
+    }
+    return false;
+}
+
+//! Downgrade writer to a reader.
+void x86_rtm_rw_mutex::internal_downgrade(x86_rtm_rw_mutex::scoped_lock& s) {
+    switch(s.transaction_state) {
+    case RTM_real_writer:
+        s.transaction_state = RTM_real_reader;
+        __TBB_ASSERT(w_flag, "Before downgrade_to_reader w_flag not true");
+        w_flag = false;
+        s.my_scoped_lock.downgrade_to_reader();
+        break;
+    case RTM_transacting_writer:
+#if __TBB_RW_MUTEX_DELAY_TEST
+        if(this->state) {  // a reader or writer has acquired mutex for real.
+            __TBB_machine_transaction_conflict_abort();
+        }
+#endif
+        s.transaction_state = RTM_transacting_reader;
+        break;
+    default:
+        __TBB_ASSERT(false, "Invalid state for downgrade");
+    }
+}
+
+//! Try to acquire write lock on the given mutex.
+//  There may be reader(s) which acquired the spin_rw_mutex, as well as possibly
+//  transactional reader(s).  If this is the case, the acquire will fail, and assigning
+//  w_flag will kill the transactors.  So we only assign w_flag if we have successfully
+//  acquired the lock.
+bool x86_rtm_rw_mutex::internal_try_acquire_writer(x86_rtm_rw_mutex::scoped_lock& s)
+{
+    internal_acquire_writer(s, /*only_speculate=*/true);
+    if(s.transaction_state == RTM_transacting_writer) {
+        return true;
+    }
+    __TBB_ASSERT(s.transaction_state == RTM_not_in_mutex, "Trying to acquire writer which is already allocated");
+    // transacting write acquire failed.  try_acquire the real mutex
+    bool result = s.my_scoped_lock.try_acquire(*this, true);
+    if(result) {
+        // only shoot down readers if we're not transacting ourselves
+        __TBB_ASSERT(!w_flag, "After try_acquire_writer, w_flag already true");
+        w_flag = true;
+        s.transaction_state = RTM_real_writer;
+    }
+    return result;
+}
+
+void x86_rtm_rw_mutex::internal_construct() {
+    ITT_SYNC_CREATE(this, _T("tbb::x86_rtm_rw_mutex"), _T(""));
+}
+
+} // namespace internal
+} // namespace interface7
+} // namespace tbb
+
+#endif /* __TBB_TSX_AVAILABLE */
+#endif // TBB_PREVIEW_SPECULATIVE_SPIN_RW_MUTEX
diff --git a/src/tbb/xbox360-tbb-export.def b/src/tbb/xbox360-tbb-export.def
index 4b48827..72fb5f4 100644
--- a/src/tbb/xbox360-tbb-export.def
+++ b/src/tbb/xbox360-tbb-export.def
@@ -1,4 +1,4 @@
-; Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+; Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 ;
 ; This file is part of Threading Building Blocks.
 ;
diff --git a/src/tbbmalloc/Customize.h b/src/tbbmalloc/Customize.h
index 135c56c..8b75480 100644
--- a/src/tbbmalloc/Customize.h
+++ b/src/tbbmalloc/Customize.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/tbbmalloc/MapMemory.h b/src/tbbmalloc/MapMemory.h
index 0fd49e7..afc3ac0 100644
--- a/src/tbbmalloc/MapMemory.h
+++ b/src/tbbmalloc/MapMemory.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/tbbmalloc/Statistics.h b/src/tbbmalloc/Statistics.h
index cb4bd46..23e131d 100644
--- a/src/tbbmalloc/Statistics.h
+++ b/src/tbbmalloc/Statistics.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/tbbmalloc/TypeDefinitions.h b/src/tbbmalloc/TypeDefinitions.h
index e6495a5..8c90221 100644
--- a/src/tbbmalloc/TypeDefinitions.h
+++ b/src/tbbmalloc/TypeDefinitions.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/tbbmalloc/backend.cpp b/src/tbbmalloc/backend.cpp
index 5224959..bef70f7 100644
--- a/src/tbbmalloc/backend.cpp
+++ b/src/tbbmalloc/backend.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
@@ -114,12 +114,14 @@ void *Backend::getRawMem(size_t &size) const
         hugePages.registerAllocation(res);
         if (res) {
             size = hugeSize;
+            AtomicAdd((intptr_t&)totalMemSize, size);
             return res;
         }
     }
     size_t granSize = alignUpGeneric(size, extMemPool->granularity);
     if (void *res = getRawMemory(granSize, /*hugePages=*/false)) {
         size = granSize;
+        AtomicAdd((intptr_t&)totalMemSize, size);
         return res;
     }
     return NULL;
@@ -127,6 +129,7 @@ void *Backend::getRawMem(size_t &size) const
 
 void Backend::freeRawMem(void *object, size_t size) const
 {
+    AtomicAdd((intptr_t&)totalMemSize, -size);
     if (extMemPool->userPool())
         (*extMemPool->rawFree)(extMemPool->poolId, object, size);
     else {
@@ -304,8 +307,8 @@ FreeBlock *CoalRequestQ::getAll()
 // If the remaining free space would stay in the same bin,
 //     split the block without removing it.
 // If the free space should go to other bin(s), remove the block.
-// alignedBin is true, if all blocks in the bin has slab-aligned right side.
-FreeBlock *Backend::IndexedBins::getBlock(int binIdx, BackendSync *sync,
+// alignedBin is true, if all blocks in the bin have slab-aligned right side.
+FreeBlock *Backend::IndexedBins::getFromBin(int binIdx, BackendSync *sync,
                 size_t size, bool needAlignedRes, bool alignedBin, bool wait,
                 int *binLocked)
 {
@@ -324,6 +327,8 @@ try_next:
         for (FreeBlock *curr = b->head; curr; curr = curr->next) {
             size_t szBlock = curr->tryLockBlock();
             if (!szBlock) {
+                // block is locked, re-do bin lock, as there is no place to spin
+                // while block coalescing
                 goto try_next;
             }
 
@@ -381,8 +386,37 @@ try_next:
     return fBlock;
 }
 
+bool Backend::IndexedBins::tryReleaseRegions(int binIdx, Backend *backend)
+{
+    Bin *b = &freeBins[binIdx];
+    FreeBlock *fBlockList = NULL;
+
+    // got all blocks from the bin and re-do coalesce on them
+    // to release single-block regions
+try_next:
+    if (b->head) {
+        MallocMutex::scoped_lock binLock(b->tLock);
+        for (FreeBlock *curr = b->head; curr; ) {
+            size_t szBlock = curr->tryLockBlock();
+            if (!szBlock)
+                goto try_next;
+
+            FreeBlock *next = curr->next;
+
+            b->removeBlock(curr);
+            curr->sizeTmp = szBlock;
+            curr->nextToFree = fBlockList;
+            fBlockList = curr;
+            curr = next;
+        }
+    }
+    return backend->coalescAndPutList(fBlockList, /*forceCoalescQDrop=*/true);
+}
+
 void Backend::Bin::removeBlock(FreeBlock *fBlock)
 {
+    MALLOC_ASSERT(fBlock->next||fBlock->prev||fBlock==head,
+                  "Detected that a block is not in the bin.");
     if (head == fBlock)
         head = fBlock->next;
     if (tail == fBlock)
@@ -479,111 +513,87 @@ bool ExtMemoryPool::regionsAreReleaseable() const
     return !keepAllMemory && !delayRegsReleasing;
 }
 
-// try to allocate num blocks of size Bytes from particular "generic" bin
-// needAlignedRes is true if result must be slab-aligned
-FreeBlock *Backend::getFromBin(int binIdx, int num, size_t size, bool needAlignedRes,
-                               int *binLocked)
+FreeBlock *Backend::splitUnalignedBlock(FreeBlock *fBlock, int num, size_t size,
+                                        bool needAlignedBlock)
 {
-    FreeBlock *fBlock =
-        freeLargeBins.getBlock(binIdx, &bkndSync, num*size, needAlignedRes,
-                               /*alignedBin=*/false, /*wait=*/false, binLocked);
-    if (fBlock) {
-        if (needAlignedRes) {
-            size_t fBlockSz = fBlock->sizeTmp;
-            uintptr_t fBlockEnd = (uintptr_t)fBlock + fBlockSz;
-            FreeBlock *newB = alignUp(fBlock, slabSize);
-            FreeBlock *rightPart = (FreeBlock*)((uintptr_t)newB + num*size);
-
-            // Space to use is in the middle,
-            // ... return free right part
-            if ((uintptr_t)rightPart != fBlockEnd) {
-                rightPart->initHeader();  // to prevent coalescing rightPart with fBlock
-                coalescAndPut(rightPart, fBlockEnd - (uintptr_t)rightPart);
-            }
-            // ... and free left part
-            if (newB != fBlock) {
-                newB->initHeader(); // to prevent coalescing fBlock with newB
-                coalescAndPut(fBlock, (uintptr_t)newB - (uintptr_t)fBlock);
-            }
+    const size_t totalSize = num*size;
+    if (needAlignedBlock) {
+        size_t fBlockSz = fBlock->sizeTmp;
+        uintptr_t fBlockEnd = (uintptr_t)fBlock + fBlockSz;
+        FreeBlock *newB = alignUp(fBlock, slabSize);
+        FreeBlock *rightPart = (FreeBlock*)((uintptr_t)newB + totalSize);
+
+        // Space to use is in the middle,
+        // ... return free right part
+        if ((uintptr_t)rightPart != fBlockEnd) {
+            rightPart->initHeader();  // to prevent coalescing rightPart with fBlock
+            coalescAndPut(rightPart, fBlockEnd - (uintptr_t)rightPart);
+        }
+        // ... and free left part
+        if (newB != fBlock) {
+            newB->initHeader(); // to prevent coalescing fBlock with newB
+            coalescAndPut(fBlock, (uintptr_t)newB - (uintptr_t)fBlock);
+        }
 
-            fBlock = newB;
-            MALLOC_ASSERT(isAligned(fBlock, slabSize), ASSERT_TEXT);
-        } else {
-            if (size_t splitSz = fBlock->sizeTmp - num*size) {
-                // split block and return free right part
-                FreeBlock *splitB = (FreeBlock*)((uintptr_t)fBlock + num*size);
-                splitB->initHeader();
-                coalescAndPut(splitB, splitSz);
-            }
+        fBlock = newB;
+        MALLOC_ASSERT(isAligned(fBlock, slabSize), ASSERT_TEXT);
+    } else {
+        if (size_t splitSz = fBlock->sizeTmp - totalSize) {
+            // split block and return free right part
+            FreeBlock *splitB = (FreeBlock*)((uintptr_t)fBlock + totalSize);
+            splitB->initHeader();
+            coalescAndPut(splitB, splitSz);
         }
-        bkndSync.blockReleased();
-        FreeBlock::markBlocks(fBlock, num, size);
     }
-
+    bkndSync.blockReleased();
+    FreeBlock::markBlocks(fBlock, num, size);
     return fBlock;
 }
 
-// try to allocate size Byte block from any of slab-aligned spaces.
-// needAlignedRes is true if result must be slab-aligned
-FreeBlock *Backend::getFromAlignedSpace(int binIdx, int num, size_t size,
-                                        bool needAlignedRes, bool wait, int *binLocked)
+FreeBlock *Backend::splitAlignedBlock(FreeBlock *fBlock, int num, size_t size,
+                                      bool needAlignedBlock)
 {
-    FreeBlock *fBlock =
-        freeAlignedBins.getBlock(binIdx, &bkndSync, num*size, needAlignedRes,
-                                 /*alignedBin=*/true, wait, binLocked);
-
-    if (fBlock) {
-        if (fBlock->sizeTmp != num*size) { // i.e., need to split the block
-            FreeBlock *newAlgnd;
-            size_t newSz;
-
-            if (needAlignedRes) {
-                newAlgnd = fBlock;
-                fBlock = (FreeBlock*)((uintptr_t)newAlgnd + newAlgnd->sizeTmp
-                                      - num*size);
-                MALLOC_ASSERT(isAligned(fBlock, slabSize), "Invalid free block");
-                fBlock->initHeader();
-                newSz = newAlgnd->sizeTmp - num*size;
-            } else {
-                newAlgnd = (FreeBlock*)((uintptr_t)fBlock + num*size);
-                newSz = fBlock->sizeTmp - num*size;
-                newAlgnd->initHeader();
-            }
-            coalescAndPut(newAlgnd, newSz);
+    if (fBlock->sizeTmp != num*size) { // i.e., need to split the block
+        FreeBlock *newAlgnd;
+        size_t newSz;
+
+        if (needAlignedBlock) {
+            newAlgnd = fBlock;
+            fBlock = (FreeBlock*)((uintptr_t)newAlgnd + newAlgnd->sizeTmp
+                                  - num*size);
+            MALLOC_ASSERT(isAligned(fBlock, slabSize), "Invalid free block");
+            fBlock->initHeader();
+            newSz = newAlgnd->sizeTmp - num*size;
+        } else {
+            newAlgnd = (FreeBlock*)((uintptr_t)fBlock + num*size);
+            newSz = fBlock->sizeTmp - num*size;
+            newAlgnd->initHeader();
         }
-        bkndSync.blockReleased();
-        MALLOC_ASSERT(!needAlignedRes || isAligned(fBlock, slabSize), ASSERT_TEXT);
-        FreeBlock::markBlocks(fBlock, num, size);
+        coalescAndPut(newAlgnd, newSz);
     }
+    bkndSync.blockReleased();
+    MALLOC_ASSERT(!needAlignedBlock || isAligned(fBlock, slabSize),
+                  "Expect to get aligned block, if one was requested.");
+    FreeBlock::markBlocks(fBlock, num, size);
     return fBlock;
 }
 
-void Backend::correctMaxRequestSize(size_t requestSize)
+inline size_t Backend::getMaxBinnedSize() const
 {
-    // Find maximal requested size limited by getMaxBinnedSize()
-    if (requestSize < getMaxBinnedSize()) {
-        for (size_t oldMaxReq = maxRequestedSize;
-             requestSize > oldMaxReq && requestSize < getMaxBinnedSize(); ) {
-            size_t val = AtomicCompareExchange((intptr_t&)maxRequestedSize,
-                                               requestSize, oldMaxReq);
-            if (val == oldMaxReq)
-                break;
-            oldMaxReq = val;
-        }
-    }
+    return hugePages.wasObserved && !inUserPool()?
+        maxBinned_HugePage : maxBinned_SmallPage;
 }
 
-inline size_t Backend::getMaxBinnedSize()
+inline bool Backend::MaxRequestComparator::operator()(size_t oldMaxReq,
+                                                      size_t requestSize) const
 {
-    return hugePages.wasObserved && !inUserPool()?
-        maxBinned_HugePage : maxBinned_SmallPage;
+    return requestSize > oldMaxReq && requestSize < backend->getMaxBinnedSize();
 }
 
-bool Backend::askMemFromOS(size_t blockSize, intptr_t startModifiedCnt,
-                           int *lockedBinsThreshold,
-                           int numOfLockedBins, bool *largeBinsUpdated)
+FreeBlock *Backend::askMemFromOS(size_t blockSize, intptr_t startModifiedCnt,
+                                 int *lockedBinsThreshold, int numOfLockedBins)
 {
-    size_t maxBinSize = 0;
+    FreeBlock *block = (FreeBlock*)VALID_BLOCK_IN_BIN;
 
     // Another thread is modifying backend while we can't get the block.
     // Wait while it leaves and re-do the scan
@@ -591,11 +601,11 @@ bool Backend::askMemFromOS(size_t blockSize, intptr_t startModifiedCnt,
     if (bkndSync.waitTillBlockReleased(startModifiedCnt)
         // semaphore is protecting adding more more memory from OS
         || memExtendingSema.wait())
-        return true;
+        return (FreeBlock*)VALID_BLOCK_IN_BIN;
 
     if (startModifiedCnt != bkndSync.getNumOfMods()) {
         memExtendingSema.signal();
-        return true;
+        return (FreeBlock*)VALID_BLOCK_IN_BIN;
     }
     // To keep objects below maxBinnedSize, region must be larger then that.
     // So trying to balance between too small regions (that leads to
@@ -608,116 +618,151 @@ bool Backend::askMemFromOS(size_t blockSize, intptr_t startModifiedCnt,
         blockSize : alignUp(4*maxRequestedSize, 1024*1024);
     if (blockSize == slabSize || blockSize == numOfSlabAllocOnMiss*slabSize
         || regSz_sizeBased < maxBinned) {
-        for (unsigned idx=0; idx<4; idx++) {
-            size_t binSize = addNewRegion(maxBinned, /*exact=*/false);
-            if (!binSize)
-                break;
-            if (binSize > maxBinSize)
-                maxBinSize = binSize;
-        }
+        // For this size of blocks, add NUM_OF_REG "advance" regions in bin,
+        // and return one as a result.
+        // TODO: add to bin first, because other threads can use them right away.
+        // This must be done carefully, because blocks in bins can be released
+        // in releaseCachesToLimit().
+        const unsigned NUM_OF_REG = 3;
+        block = addNewRegion(maxBinned, /*exact=*/false, /*addToBin=*/false);
+        if (block)
+            for (unsigned idx=0; idx<NUM_OF_REG; idx++)
+                if (! addNewRegion(maxBinned, /*exact=*/false, /*addToBin=*/true))
+                    break;
     } else {
-        // if huge pages enabled and blockSize>=maxBinned, rest of space up to
+        // if huge pages enabled and blockSize > maxBinned, rest of space up to
         // huge page alignment is unusable, because single user object sits
         // in an region.
-        *largeBinsUpdated = true;
-        maxBinSize = addNewRegion(regSz_sizeBased, /*exact=*/true);
+        block = addNewRegion(regSz_sizeBased, /*exact=*/true, /*addToBin=*/false);
     }
     memExtendingSema.signal();
-    askMemFromOSCounter.OSasked();
-
-    // When blockSize >= maxBinnedSize, and getRawMem failed
-    // for this allocation, allocation in bins
-    // is our last chance to fulfil the request.
-    // Sadly, size is larger then max bin, so have to give up.
-    if (maxBinSize && maxBinSize < blockSize)
-        return false;
-
-    if (!maxBinSize) { // no regions have been added, try to clean cache
-        if (extMemPool->hardCachesCleanup())
-            *largeBinsUpdated = true;
-        else {
-            // something can be in blocks that are in processing now
-            if (bkndSync.waitTillBlockReleased(startModifiedCnt))
-                return true;
-            // OS can't give us more memory, but we have some in locked bins
-            if (*lockedBinsThreshold && numOfLockedBins) {
-                *lockedBinsThreshold = 0;
-                return true;
-            }
-            return false; // nothing found, give up
+
+    // no regions found, try to clean cache
+    if (!block || block == (FreeBlock*)VALID_BLOCK_IN_BIN) {
+            // something released from caches
+        if (extMemPool->hardCachesCleanup()
+            // ..or can use blocks that are in processing now
+            || bkndSync.waitTillBlockReleased(startModifiedCnt))
+            return (FreeBlock*)VALID_BLOCK_IN_BIN;
+        // OS can't give us more memory, but we have some in locked bins
+        if (*lockedBinsThreshold && numOfLockedBins) {
+            *lockedBinsThreshold = 0;
+            return (FreeBlock*)VALID_BLOCK_IN_BIN;
         }
+        return NULL; // nothing found, give up
     }
-    return true;
+    // after asking memory from OS, release caches if we above the memory limits
+    releaseCachesToLimit();
+
+    return block;
+}
+
+void Backend::releaseCachesToLimit()
+{
+    if (!memSoftLimit || totalMemSize <= memSoftLimit)
+        return;
+    size_t locTotalMemSize, locMemSoftLimit;
+
+    scanCoalescQ(/*forceCoalescQDrop=*/false);
+    if (extMemPool->softCachesCleanup() &&
+        (locTotalMemSize = FencedLoad((intptr_t&)totalMemSize)) <=
+        (locMemSoftLimit = FencedLoad((intptr_t&)memSoftLimit)))
+        return;
+    // clean global large-object cache, if this is not enough, clean local caches
+    // do this in several tries, because backend fragmentation can prevent
+    // region from releasing
+    for (int cleanLocal = 0; cleanLocal<2; cleanLocal++)
+        while (cleanLocal?
+               extMemPool->allLocalCaches.cleanup(extMemPool, /*cleanOnlyUnused=*/true)
+               : extMemPool->loc.decreasingCleanup())
+            if ((locTotalMemSize = FencedLoad((intptr_t&)totalMemSize)) <=
+                (locMemSoftLimit = FencedLoad((intptr_t&)memSoftLimit)))
+                return;
+    // last chance to match memSoftLimit
+    extMemPool->hardCachesCleanup();
+}
+
+FreeBlock *Backend::IndexedBins::
+    findBlock(int nativeBin, BackendSync *sync, size_t size,
+              bool resSlabAligned, bool alignedBin, int *numOfLockedBins)
+{
+    for (int i=getMinNonemptyBin(nativeBin); i<freeBinsNum; i=getMinNonemptyBin(i+1))
+        if (FreeBlock *block = getFromBin(i, sync, size, resSlabAligned, alignedBin,
+                                          /*wait=*/false, numOfLockedBins))
+            return block;
+
+    return NULL;
 }
 
 // try to allocate size Byte block in available bins
 // needAlignedRes is true if result must be slab-aligned
-FreeBlock *Backend::genericGetBlock(int num, size_t size, bool needAlignedRes)
+FreeBlock *Backend::genericGetBlock(int num, size_t size, bool needAlignedBlock)
 {
-    // after (soft|hard)CachesCleanup we can get memory in large bins,
-    // while after addNewRegion only in slab-aligned bins. This flag
-    // is for large bins update status.
-    bool largeBinsUpdated = true;
     FreeBlock *block = NULL;
     const size_t totalReqSize = num*size;
+    // no splitting after requesting new region, asks exact size
     const int nativeBin = sizeToBin(totalReqSize);
     // If we found 2 or less locked bins, it's time to ask more memory from OS.
     // But nothing can be asked from fixed pool. And we prefer wait, not ask
     // for more memory, if block is quite large.
     int lockedBinsThreshold = extMemPool->fixedPool || size>=maxBinned_SmallPage? 0 : 2;
 
-    correctMaxRequestSize(totalReqSize);
+    // Find maximal requested size limited by getMaxBinnedSize()
+    AtomicUpdate(maxRequestedSize, totalReqSize, MaxRequestComparator(this));
     scanCoalescQ(/*forceCoalescQDrop=*/false);
 
     for (;;) {
         const intptr_t startModifiedCnt = bkndSync.getNumOfMods();
         int numOfLockedBins;
 
-        for (;;) {
+        do {
             numOfLockedBins = 0;
 
             // TODO: try different bin search order
-            if (needAlignedRes) {
+            if (needAlignedBlock) {
+                block = freeAlignedBins.findBlock(nativeBin, &bkndSync, num*size,
+                                    /*needAlignedBlock=*/true, /*alignedBin=*/true,
+                                    &numOfLockedBins);
                 if (!block)
-                    for ( int i=freeAlignedBins.getMinNonemptyBin(nativeBin);
-                          i<freeBinsNum; i=freeAlignedBins.getMinNonemptyBin(i+1) ){
-                        block = getFromAlignedSpace(i, num, size, /*needAlignedRes=*/true, /*wait=*/false, &numOfLockedBins);
-                        if (block) break;
-                    }
-                if (!block && largeBinsUpdated)
-                    for ( int i=freeLargeBins.getMinNonemptyBin(nativeBin);
-                          i<freeBinsNum; i=freeLargeBins.getMinNonemptyBin(i+1) ){
-                        block = getFromBin(i, num, size, /*needAlignedRes=*/true, &numOfLockedBins);
-                        if (block) break;
-                    }
+                    block = freeLargeBins.findBlock(nativeBin, &bkndSync, num*size,
+                                    /*needAlignedBlock=*/true, /*alignedBin=*/false,
+                                    &numOfLockedBins);
             } else {
-                if (!block && largeBinsUpdated)
-                    for ( int i=freeLargeBins.getMinNonemptyBin(nativeBin);
-                          i<freeBinsNum; i=freeLargeBins.getMinNonemptyBin(i+1) ){
-                        block = getFromBin(i, num, size, /*needAlignedRes=*/false, &numOfLockedBins);
-                        if (block) break;
-                    }
+                block = freeLargeBins.findBlock(nativeBin, &bkndSync, num*size,
+                                    /*needAlignedBlock=*/false, /*alignedBin=*/false,
+                                    &numOfLockedBins);
                 if (!block)
-                    for ( int i=freeAlignedBins.getMinNonemptyBin(nativeBin);
-                          i<freeBinsNum; i=freeAlignedBins.getMinNonemptyBin(i+1) ){
-                        block = getFromAlignedSpace(i, num, size, /*needAlignedRes=*/false, /*wait=*/false, &numOfLockedBins);
-                        if (block) break;
-                    }
+                    block = freeAlignedBins.findBlock(nativeBin, &bkndSync, num*size,
+                                    /*needAlignedBlock=*/false, /*alignedBin=*/true,
+                                    &numOfLockedBins);
             }
-            if (block || numOfLockedBins<=lockedBinsThreshold)
-                break;
-        }
+        } while (!block && numOfLockedBins>lockedBinsThreshold);
+
         if (block)
             break;
 
-        largeBinsUpdated = scanCoalescQ(/*forceCoalescQDrop=*/true);
-        largeBinsUpdated = extMemPool->softCachesCleanup() || largeBinsUpdated;
-        if (!largeBinsUpdated) {
-            if (!askMemFromOS(totalReqSize, startModifiedCnt, &lockedBinsThreshold,
-                              numOfLockedBins, &largeBinsUpdated))
+        if (!(scanCoalescQ(/*forceCoalescQDrop=*/true)
+              | extMemPool->softCachesCleanup())) {
+            // bins are not updated,
+            // only remaining possibility is to ask for more memory
+            block =
+                askMemFromOS(totalReqSize, startModifiedCnt, &lockedBinsThreshold,
+                             numOfLockedBins);
+            if (!block)
                 return NULL;
+            if (block != (FreeBlock*)VALID_BLOCK_IN_BIN) {
+                // size can be increased in askMemFromOS, that's why >=
+                MALLOC_ASSERT(block->sizeTmp >= size, ASSERT_TEXT);
+                break;
+            }
+            // valid block somewhere in bins, let's find it
+            block = NULL;
         }
     }
+    if (block)
+        block = toAlignedBin(block, block->sizeTmp)?
+            splitAlignedBlock(block, num, size, needAlignedBlock) :
+            splitUnalignedBlock(block, num, size, needAlignedBlock);
     return block;
 }
 
@@ -907,8 +952,9 @@ FreeBlock *Backend::doCoalesc(FreeBlock *fBlock, MemRegion **mRegion)
     return resBlock;
 }
 
-void Backend::coalescAndPutList(FreeBlock *list, bool forceCoalescQDrop)
+bool Backend::coalescAndPutList(FreeBlock *list, bool forceCoalescQDrop)
 {
+    bool regionReleased = false;
     FreeBlock *helper;
     MemRegion *memRegion;
 
@@ -926,6 +972,7 @@ void Backend::coalescAndPutList(FreeBlock *list, bool forceCoalescQDrop)
                 if (toRet->blockInBin)
                     removeBlockFromBin(toRet);
                 releaseRegion(memRegion);
+                regionReleased = true;
                 continue;
             } else // add block from empty region to end of bin,
                 addToTail = true; // preserving for exact fit
@@ -956,7 +1003,7 @@ void Backend::coalescAndPutList(FreeBlock *list, bool forceCoalescQDrop)
                 toRet->sizeTmp = currSz;
                 IndexedBins *target = toAligned? &freeAlignedBins : &freeLargeBins;
                 if (forceCoalescQDrop) {
-                    target->tryAddBlock(bin, toRet, addToTail);
+                    target->addBlock(bin, toRet, toRet->sizeTmp, addToTail);
                 } else if (!target->tryAddBlock(bin, toRet, addToTail)) {
                     coalescQ.putBlock(toRet);
                     continue;
@@ -972,6 +1019,7 @@ void Backend::coalescAndPutList(FreeBlock *list, bool forceCoalescQDrop)
         toRet->setMeFree(currSz);
         toRet->rightNeig(currSz)->setLeftFree(currSz);
     }
+    return regionReleased;
 }
 
 // Coalesce fBlock and add it back to a bin;
@@ -993,7 +1041,7 @@ bool Backend::scanCoalescQ(bool forceCoalescQDrop)
     return currCoalescList;
 }
 
-FreeBlock *Backend::findBlockInRegion(MemRegion *region)
+FreeBlock *Backend::findBlockInRegion(MemRegion *region, size_t exactBlockSize)
 {
     FreeBlock *fBlock;
     size_t blockSz;
@@ -1003,7 +1051,8 @@ FreeBlock *Backend::findBlockInRegion(MemRegion *region)
     if (region->exact) {
         fBlock = (FreeBlock *)alignUp((uintptr_t)region + sizeof(MemRegion),
                                       largeObjectAlignment);
-        fBlockEnd = lastFreeBlock;
+        fBlockEnd = (uintptr_t)fBlock + exactBlockSize;
+        MALLOC_ASSERT(fBlockEnd <= lastFreeBlock, ASSERT_TEXT);
     } else { // right bound is slab-aligned, keep LastFreeBlock after it
         fBlock = (FreeBlock *)((uintptr_t)region + sizeof(MemRegion));
         fBlockEnd = alignDown(lastFreeBlock, slabSize);
@@ -1023,7 +1072,7 @@ FreeBlock *Backend::findBlockInRegion(MemRegion *region)
 
 // startUseBlock adds free block to a bin, the block can be used and
 // even released after this, so the region must be added to regionList already
-void Backend::startUseBlock(MemRegion *region, FreeBlock *fBlock)
+void Backend::startUseBlock(MemRegion *region, FreeBlock *fBlock, bool addToBin)
 {
     size_t blockSz = region->blockSz;
     fBlock->initHeader();
@@ -1036,15 +1085,23 @@ void Backend::startUseBlock(MemRegion *region, FreeBlock *fBlock)
     lastBl->myBin = NO_BIN;
     lastBl->memRegion = region;
 
-    unsigned targetBin = sizeToBin(blockSz);
-    if (!region->exact && toAlignedBin(fBlock, blockSz)) {
-        freeAlignedBins.addBlock(targetBin, fBlock, blockSz, /*addToTail=*/false);
+    if (addToBin) {
+        unsigned targetBin = sizeToBin(blockSz);
+        // during adding advance regions, register bin for a largest block in region
+        advRegBins.registerBin(targetBin);
+        if (!region->exact && toAlignedBin(fBlock, blockSz)) {
+            freeAlignedBins.addBlock(targetBin, fBlock, blockSz, /*addToTail=*/false);
+        } else {
+            freeLargeBins.addBlock(targetBin, fBlock, blockSz, /*addToTail=*/false);
+        }
     } else {
-        freeLargeBins.addBlock(targetBin, fBlock, blockSz, /*addToTail=*/false);
+        // to match with blockReleased() in split(Unaligned|Aligned)Block
+        bkndSync.blockConsumed();
+        fBlock->sizeTmp = fBlock->tryLockBlock();
     }
 }
 
-size_t Backend::addNewRegion(size_t rawSize, bool exact)
+FreeBlock *Backend::addNewRegion(size_t size, bool exact, bool addToBin)
 {
     // to guarantee that header is not overwritten in used blocks
     MALLOC_ASSERT(sizeof(BlockMutexes) <= sizeof(BlockI), ASSERT_TEXT);
@@ -1054,25 +1111,26 @@ size_t Backend::addNewRegion(size_t rawSize, bool exact)
     // "exact" means that not less than rawSize for block inside the region.
     // Reserve space for region header, worst case alignment
     // and last block mark.
-    if (exact)
-        rawSize += sizeof(MemRegion) + largeObjectAlignment 
-                +  FreeBlock::minBlockSize + sizeof(LastFreeBlock);
+    size_t rawSize = exact?
+        size + sizeof(MemRegion) + largeObjectAlignment
+             +  FreeBlock::minBlockSize + sizeof(LastFreeBlock)
+        : size;
 
     MemRegion *region = (MemRegion*)getRawMem(rawSize);
     if (!region) return 0;
     if (rawSize < sizeof(MemRegion)) {
         if (!extMemPool->fixedPool)
             freeRawMem(region, rawSize);
-        return 0;
+        return NULL;
     }
 
     region->exact = exact;
     region->allocSz = rawSize;
-    FreeBlock *fBlock = findBlockInRegion(region);
+    FreeBlock *fBlock = findBlockInRegion(region, size);
     if (!fBlock) {
         if (!extMemPool->fixedPool)
             freeRawMem(region, rawSize);
-        return 0;
+        return NULL;
     }
     // adding to global list of all regions
     {
@@ -1083,12 +1141,15 @@ size_t Backend::addNewRegion(size_t rawSize, bool exact)
         if (regionList->next)
             regionList->next->prev = regionList;
     }
-    // copy it here, as just after starting to use region it might be released
-    size_t blockSz = region->blockSz;
-
-    startUseBlock(region, fBlock);
+    startUseBlock(region, fBlock, addToBin);
     bkndSync.binsModified();
-    return blockSz;
+    return addToBin? (FreeBlock*)VALID_BLOCK_IN_BIN : fBlock;
+}
+
+bool Backend::bootstrap(ExtMemoryPool *extMemoryPool)
+{
+    extMemPool = extMemoryPool;
+    return addNewRegion(2*1024*1024, /*exact=*/false, /*addToBin=*/true);
 }
 
 void Backend::reset()
@@ -1101,11 +1162,12 @@ void Backend::reset()
 
     freeLargeBins.reset();
     freeAlignedBins.reset();
+    advRegBins.reset();
 
     for (curr = regionList; curr; curr = curr->next) {
-        FreeBlock *fBlock = findBlockInRegion(curr);
+        FreeBlock *fBlock = findBlockInRegion(curr, curr->blockSz);
         MALLOC_ASSERT(fBlock, "A memory region unexpectedly got smaller");
-        startUseBlock(curr, fBlock);
+        startUseBlock(curr, fBlock, /*addToBin=*/true);
     }
 }
 
@@ -1113,6 +1175,10 @@ bool Backend::destroy()
 {
     // no active threads are allowed in backend while destroy() called
     verify();
+
+    freeLargeBins.reset();
+    freeAlignedBins.reset();
+
     while (regionList) {
         MemRegion *helper = regionList->next;
         if (inUserPool())
@@ -1126,6 +1192,24 @@ bool Backend::destroy()
     return true;
 }
 
+bool Backend::clean()
+{
+    bool res = false;
+    // We can have several blocks, occupaing whole region,
+    // because such regions are added in advance (see askMemFromOS() and reset()),
+    // and never used. Release them all.
+    for (int i = advRegBins.getMinUsedBin(0); i != -1; i = advRegBins.getMinUsedBin(i+1)) {
+        if (i == freeAlignedBins.getMinNonemptyBin(i))
+            res |= freeAlignedBins.tryReleaseRegions(i, this);
+        if (i == freeLargeBins.getMinNonemptyBin(i))
+            res |= freeLargeBins.tryReleaseRegions(i, this);
+    }
+
+    scanCoalescQ(/*forceCoalescQDrop=*/false);
+
+    return res;
+}
+
 void Backend::IndexedBins::verify()
 {
     for (int i=0; i<freeBinsNum; i++) {
@@ -1183,14 +1267,18 @@ void Backend::reportStat(FILE *f)
 
     scanCoalescQ(/*forceCoalescQDrop=*/false);
 
+    fprintf(f, "\n  regions:\n");
     {
         MallocMutex::scoped_lock lock(regionListLock);
-        for (MemRegion *curr = regionList; curr; curr = curr->next)
+        for (MemRegion *curr = regionList; curr; curr = curr->next) {
+            fprintf(f, "%p: max block %lu B, ", curr, curr->blockSz);
             regNum++;
+        }
     }
-    fprintf(f, "%d regions\nlarge ", regNum);
+    fprintf(f, "\n%d regions, %lu KB in all regions\n  free bins:\nlarge bins ",
+            regNum, totalMemSize/1024);
     freeLargeBins.reportStat(f);
-    fprintf(f, "\naligned ");
+    fprintf(f, "\naligned bins ");
     freeAlignedBins.reportStat(f);
     fprintf(f, "\n");
 }
diff --git a/src/tbbmalloc/backref.cpp b/src/tbbmalloc/backref.cpp
index 92999e9..ac5dae5 100644
--- a/src/tbbmalloc/backref.cpp
+++ b/src/tbbmalloc/backref.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
@@ -27,7 +27,6 @@
 */
 
 #include "tbbmalloc_internal.h"
-#include <string.h>
 #include <new>        /* for placement new */
 
 namespace rml {
@@ -45,11 +44,13 @@ struct BackRefBlock : public BlockI {
     // list of all blocks that were allocated from raw mem (i.e., not from backend)
     BackRefBlock *nextRawMemBlock;
     int           allocatedCount; // the number of objects allocated
-    int           myNum;          // the index in the parent array
+    int           myNum;          // the index in the master
     MallocMutex   blockMutex;
-    bool          addedToForUse;  // this block is already added to the listForUse chain
+    // true if this block has been added to the listForUse chain,
+    // modifications protected by masterMutex
+    bool          addedToForUse;
 
-    BackRefBlock(BackRefBlock *blockToUse, int num) :
+    BackRefBlock(const BackRefBlock *blockToUse, int num) :
         nextForUse(NULL), bumpPtr((FreeObject*)((uintptr_t)blockToUse + slabSize - sizeof(void*))),
         freeList(NULL), nextRawMemBlock(NULL), allocatedCount(0), myNum(num),
         addedToForUse(false) {
@@ -57,8 +58,8 @@ struct BackRefBlock : public BlockI {
         // index in BackRefMaster must fit to uint16_t
         MALLOC_ASSERT(!(myNum >> 16), ASSERT_TEXT);
     }
-
-    // TODO: take into account VirtualAlloc granularity
+    // clean all but header
+    void zeroSet() { memset(this+1, 0, BackRefBlock::bytes-sizeof(BackRefBlock)); }
     static const int bytes = slabSize;
 };
 
@@ -76,6 +77,8 @@ struct BackRefMaster {
    taking into account VirtualAlloc allocation granularity */
     static const int leaves = 4;
     static const size_t masterSize = BackRefMaster::bytes+leaves*BackRefBlock::bytes;
+    // take into account VirtualAlloc 64KB granularity
+    static const size_t blockSpaceSize = 64*1024;
 
     Backend       *backend;
     BackRefBlock  *active;         // if defined, use it for allocations
@@ -83,17 +86,19 @@ struct BackRefMaster {
     BackRefBlock  *allRawMemBlocks;
     intptr_t       lastUsed;       // index of the last used block
     bool           rawMemUsed;
+    MallocMutex    requestNewSpaceMutex;
     BackRefBlock  *backRefBl[1];   // the real size of the array is dataSz
 
     BackRefBlock *findFreeBlock();
-    void          addBackRefBlockToList(BackRefBlock *bl);
-    void          addEmptyBackRefBlock(BackRefBlock *newBl);
+    void          addToForUseList(BackRefBlock *bl);
+    void          initEmptyBackRefBlock(BackRefBlock *newBl);
+    bool          requestNewSpace();
 };
 
 const int BackRefMaster::dataSz
     = 1+(BackRefMaster::bytes-sizeof(BackRefMaster))/sizeof(BackRefBlock*);
 
-static MallocMutex backRefMutex;
+static MallocMutex masterMutex;
 static BackRefMaster *backRefMaster;
 
 bool initBackRefMaster(Backend *backend)
@@ -108,11 +113,13 @@ bool initBackRefMaster(Backend *backend)
     master->listForUse = master->allRawMemBlocks = NULL;
     master->rawMemUsed = rawMemUsed;
     master->lastUsed = -1;
+    memset(&master->requestNewSpaceMutex, 0, sizeof(MallocMutex));
     for (int i=0; i<BackRefMaster::leaves; i++) {
-        BackRefBlock *bl = (BackRefBlock *)((uintptr_t)master + BackRefMaster::bytes + i*BackRefBlock::bytes);
-        master->addEmptyBackRefBlock(bl);
+        BackRefBlock *bl = (BackRefBlock*)((uintptr_t)master + BackRefMaster::bytes + i*BackRefBlock::bytes);
+        bl->zeroSet();
+        master->initEmptyBackRefBlock(bl);
         if (i)
-            master->addBackRefBlockToList(bl);
+            master->addToForUseList(bl);
         else // active leaf is not needed in listForUse
             master->active = bl;
     }
@@ -127,7 +134,8 @@ void destroyBackRefMaster(Backend *backend)
         for (BackRefBlock *curr=backRefMaster->allRawMemBlocks; curr; ) {
             BackRefBlock *next = curr->nextRawMemBlock;
             // allRawMemBlocks list is only for raw mem blocks
-            backend->putBackRefSpace(curr, BackRefBlock::bytes, /*rawMemUsed=*/true);
+            backend->putBackRefSpace(curr, BackRefMaster::blockSpaceSize,
+                                     /*rawMemUsed=*/true);
             curr = next;
         }
         backend->putBackRefSpace(backRefMaster, BackRefMaster::masterSize,
@@ -135,18 +143,16 @@ void destroyBackRefMaster(Backend *backend)
     }
 }
 
-void BackRefMaster::addBackRefBlockToList(BackRefBlock *bl)
+void BackRefMaster::addToForUseList(BackRefBlock *bl)
 {
     bl->nextForUse = listForUse;
     listForUse = bl;
     bl->addedToForUse = true;
 }
 
-void BackRefMaster::addEmptyBackRefBlock(BackRefBlock *newBl)
+void BackRefMaster::initEmptyBackRefBlock(BackRefBlock *newBl)
 {
     intptr_t nextLU = lastUsed+1;
-    memset((char*)newBl+sizeof(BackRefBlock), 0,
-           BackRefBlock::bytes-sizeof(BackRefBlock));
     new (newBl) BackRefBlock(newBl, nextLU);
     backRefBl[nextLU] = newBl;
     // lastUsed is read in getBackRef, and access to backRefBl[lastUsed]
@@ -154,29 +160,61 @@ void BackRefMaster::addEmptyBackRefBlock(BackRefBlock *newBl)
     FencedStore(lastUsed, nextLU);
 }
 
+bool BackRefMaster::requestNewSpace()
+{
+    bool rawMemUsed;
+    MALLOC_STATIC_ASSERT(!(blockSpaceSize % BackRefBlock::bytes),
+                         "Must request space for whole number of blocks.");
+
+    // only one thread at a time may add blocks
+    MallocMutex::scoped_lock newSpaceLock(requestNewSpaceMutex);
+
+    if (listForUse) // double check that only one block is available
+        return true;
+    BackRefBlock *newBl =
+        (BackRefBlock*)backend->getBackRefSpace(blockSpaceSize, &rawMemUsed);
+    if (!newBl) return false;
+
+    // touch a page for the 1st time without taking masterMutex ...
+    for (BackRefBlock *bl = newBl; (uintptr_t)bl < (uintptr_t)newBl + blockSpaceSize;
+         bl = (BackRefBlock*)((uintptr_t)bl + BackRefBlock::bytes))
+        bl->zeroSet();
+
+    MallocMutex::scoped_lock lock(masterMutex); // ... and share under lock
+    // use the first block in the batch to maintain the list of "raw" memory
+    // to be released at shutdown
+    if (rawMemUsed) {
+        newBl->nextRawMemBlock = backRefMaster->allRawMemBlocks;
+        backRefMaster->allRawMemBlocks = newBl;
+    }
+    for (BackRefBlock *bl = newBl; (uintptr_t)bl < (uintptr_t)newBl + blockSpaceSize;
+         bl = (BackRefBlock*)((uintptr_t)bl + BackRefBlock::bytes)) {
+        initEmptyBackRefBlock(bl);
+        if (active->allocatedCount == BR_MAX_CNT)
+            active = bl; // active leaf is not needed in listForUse
+        else
+            addToForUseList(bl);
+    }
+    return true;
+}
+
 BackRefBlock *BackRefMaster::findFreeBlock()
 {
     if (active->allocatedCount < BR_MAX_CNT)
         return active;
 
     if (listForUse) {                                   // use released list
-        active = listForUse;
-        listForUse = listForUse->nextForUse;
-        MALLOC_ASSERT(active->addedToForUse, ASSERT_TEXT);
-        active->addedToForUse = false;
+        MallocMutex::scoped_lock lock(masterMutex);
+
+        if (active->allocatedCount == BR_MAX_CNT && listForUse) {
+            active = listForUse;
+            listForUse = listForUse->nextForUse;
+            MALLOC_ASSERT(active->addedToForUse, ASSERT_TEXT);
+            active->addedToForUse = false;
+        }
     } else if (lastUsed-1 < backRefMaster->dataSz) {    // allocate new data node
-        bool rawMemUsed;
-        BackRefBlock *newBl =
-            (BackRefBlock*)backend->getBackRefSpace(BackRefBlock::bytes, &rawMemUsed);
-        if (!newBl) return NULL;
-        backRefMaster->addEmptyBackRefBlock(newBl);
-        if (rawMemUsed) {
-            newBl->nextRawMemBlock = backRefMaster->allRawMemBlocks;
-            backRefMaster->allRawMemBlocks = newBl;
-        } else
-            newBl->nextRawMemBlock = NULL;
-        active = newBl;
-    } else  // no free blocks, give up
+        if (!requestNewSpace()) return NULL;
+    } else // no free space in BackRefMaster, give up
         return NULL;
     return active;
 }
@@ -206,16 +244,13 @@ BackRefIdx BackRefIdx::newBackRef(bool largeObj)
     BackRefBlock *blockToUse;
     void **toUse;
     BackRefIdx res;
+    bool lastBlockFirstUsed = false;
 
     do {
-        { // global lock taken to find a block
-            MallocMutex::scoped_lock lock(backRefMutex);
-
-            MALLOC_ASSERT(backRefMaster, ASSERT_TEXT);
-            blockToUse = backRefMaster->findFreeBlock();
-            if (!blockToUse)
-                return BackRefIdx();
-        }
+        MALLOC_ASSERT(backRefMaster, ASSERT_TEXT);
+        blockToUse = backRefMaster->findFreeBlock();
+        if (!blockToUse)
+            return BackRefIdx();
         toUse = NULL;
         { // the block is locked to find a reference
             MallocMutex::scoped_lock lock(blockToUse->blockMutex);
@@ -238,10 +273,18 @@ BackRefIdx BackRefIdx::newBackRef(bool largeObj)
                     blockToUse->bumpPtr = NULL;
                 }
             }
-            if (toUse)
+            if (toUse) {
+                if (!blockToUse->allocatedCount && !backRefMaster->listForUse)
+                    lastBlockFirstUsed = true;
                 blockToUse->allocatedCount++;
+            }
         } // end of lock scope
     } while (!toUse);
+    // The first thread that uses the last block requests new space in advance;
+    // possible failures are ignored.
+    if (lastBlockFirstUsed)
+        backRefMaster->requestNewSpace();
+
     res.master = blockToUse->myNum;
     uintptr_t offset =
         ((uintptr_t)toUse - ((uintptr_t)blockToUse + sizeof(BackRefBlock)))/sizeof(void*);
@@ -276,10 +319,10 @@ void removeBackRef(BackRefIdx backRefIdx)
     }
     // TODO: do we need double-check here?
     if (!currBlock->addedToForUse && currBlock!=backRefMaster->active) {
-        MallocMutex::scoped_lock lock(backRefMutex);
+        MallocMutex::scoped_lock lock(masterMutex);
 
         if (!currBlock->addedToForUse && currBlock!=backRefMaster->active)
-            backRefMaster->addBackRefBlockToList(currBlock);
+            backRefMaster->addToForUseList(currBlock);
     }
 }
 
diff --git a/src/tbbmalloc/frontend.cpp b/src/tbbmalloc/frontend.cpp
index 306cfd5..8e514c5 100644
--- a/src/tbbmalloc/frontend.cpp
+++ b/src/tbbmalloc/frontend.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
@@ -42,6 +42,9 @@
     #include <sched.h>
     inline void do_yield() {sched_yield();}
     extern "C" { static void mallocThreadShutdownNotification(void*); }
+    #if __sun || __SUNPRO_CC
+    #define __asm__ asm
+    #endif
 
 #elif USE_WINTHREAD
     #define GetMyTID() GetCurrentThreadId()
@@ -590,6 +593,10 @@ public:
     Bin           bin[numBlockBinLimit];
     FreeBlockPool freeSlabBlocks;
     LocalLOC      lloc;
+    unsigned      currCacheIdx;
+private:
+    bool unused;
+public:
 #if USE_PTHREAD
     TLSData(MemoryPool *mPool, Backend *bknd) : memPool(mPool), freeSlabBlocks(bknd) {}
     MemoryPool *getMemPool() const { return memPool; }
@@ -598,11 +605,14 @@ public:
 #endif
     Bin* getAllocationBin(size_t size);
     void release(MemoryPool *mPool);
-    bool externalCleanup(ExtMemoryPool *mPool) {
+    bool externalCleanup(ExtMemoryPool *mPool, bool cleanOnlyUnused) {
+        if (!unused && cleanOnlyUnused) return false;
         // both cleanups to be called, and the order is not important
         return lloc.externalCleanup(mPool) | freeSlabBlocks.externalCleanup();
     }
     bool cleanUnusedActiveBlocks(Backend *backend, bool userPool);
+    void markUsed() { unused = false; } // called by owner when TLS touched
+    void markUnused() { unused =  true; } // can be called by not owner thread
 };
 
 TLSData *TLSKey::createTLS(MemoryPool *memPool, Backend *backend)
@@ -642,7 +652,7 @@ bool TLSData::cleanUnusedActiveBlocks(Backend *backend, bool userPool)
 
 bool ExtMemoryPool::releaseAllLocalCaches()
 {
-    bool released = allLocalCaches.cleanup(this);
+    bool released = allLocalCaches.cleanup(this, /*cleanOnlyUnused=*/false);
 
     if (TLSData *tlsData = tlsPointerKey.getThreadMallocTLS())
         // released only for current thread for now
@@ -655,10 +665,12 @@ void AllLocalCaches::registerThread(TLSRemote *tls)
 {
     tls->prev = NULL;
     MallocMutex::scoped_lock lock(listLock);
+    MALLOC_ASSERT(head!=tls, ASSERT_TEXT);
     tls->next = head;
     if (head)
         head->prev = tls;
     head = tls;
+    MALLOC_ASSERT(head->next!=head, ASSERT_TEXT);
 }
 
 void AllLocalCaches::unregisterThread(TLSRemote *tls)
@@ -670,20 +682,33 @@ void AllLocalCaches::unregisterThread(TLSRemote *tls)
         tls->next->prev = tls->prev;
     if (tls->prev)
         tls->prev->next = tls->next;
+    MALLOC_ASSERT(!tls->next || tls->next->next!=tls->next, ASSERT_TEXT);
 }
 
-bool AllLocalCaches::cleanup(ExtMemoryPool *extPool)
+bool AllLocalCaches::cleanup(ExtMemoryPool *extPool, bool cleanOnlyUnused)
 {
     bool total = false;
     {
         MallocMutex::scoped_lock lock(listLock);
 
         for (TLSRemote *curr=head; curr; curr=curr->next)
-            total |= static_cast<TLSData*>(curr)->externalCleanup(extPool);
+            total |= static_cast<TLSData*>(curr)->
+                         externalCleanup(extPool, cleanOnlyUnused);
     }
     return total;
 }
 
+void AllLocalCaches::markUnused()
+{
+    bool locked;
+    MallocMutex::scoped_lock lock(listLock, /*block=*/false, &locked);
+    if (!locked) // not wait for marking if someone doing something with it
+        return;
+
+    for (TLSRemote *curr=head; curr; curr=curr->next)
+        static_cast<TLSData*>(curr)->markUnused();
+}
+
 #if MALLOC_CHECK_RECURSION
 MallocMutex RecursiveMallocCallProtector::rmc_mutex;
 pthread_t   RecursiveMallocCallProtector::owner_thread;
@@ -924,7 +949,7 @@ done:
 
 /********* Thread and block related code      *************/
 
- template<bool poolDestroy> void AllLargeBlocksList::releaseAll(Backend *backend) {
+template<bool poolDestroy> void AllLargeBlocksList::releaseAll(Backend *backend) {
      LargeMemoryBlock *next, *lmb = loHead;
      loHead = NULL;
 
@@ -950,13 +975,14 @@ TLSData* MemoryPool::getTLS(bool create)
         tls = extMemPool.tlsPointerKey.createTLS(this, &extMemPool.backend);
         MALLOC_ASSERT( tls, ASSERT_TEXT );
     }
+    if (tls) tls->markUsed();
     return tls;
 }
 
 /*
  * Return the bin for the given size.
  */
-Bin* TLSData::getAllocationBin(size_t size)
+inline Bin* TLSData::getAllocationBin(size_t size)
 {
     return bin + getIndex(size);
 }
@@ -964,37 +990,35 @@ Bin* TLSData::getAllocationBin(size_t size)
 /* Return an empty uninitialized block in a non-blocking fashion. */
 Block *MemoryPool::getEmptyBlock(size_t size)
 {
-    FreeBlockPool::ResOfGet resOfGet(NULL, false);
-    Block *result = NULL, *b;
     TLSData* tls = extMemPool.tlsPointerKey.getThreadMallocTLS();
+    // try to use per-thread cache, if TLS available
+    FreeBlockPool::ResOfGet resOfGet = tls?
+        tls->freeSlabBlocks.getBlock() : FreeBlockPool::ResOfGet(NULL, false);
+    Block *result = resOfGet.block;
 
-    if (tls)
-        resOfGet = tls->freeSlabBlocks.getBlock();
-    if (resOfGet.block) {
-        result = resOfGet.block;
-    } else {
-        int i, num = resOfGet.lastAccMiss? Backend::numOfSlabAllocOnMiss : 1;
+    if (!result) { // not found in local cache, asks backend for slabs
+        int num = resOfGet.lastAccMiss? Backend::numOfSlabAllocOnMiss : 1;
         BackRefIdx backRefIdx[Backend::numOfSlabAllocOnMiss];
 
         result = static_cast<Block*>(extMemPool.backend.getSlabBlock(num));
         if (!result) return NULL;
 
         if (!extMemPool.userPool())
-            for (i=0; i<num; i++) {
+            for (int i=0; i<num; i++) {
                 backRefIdx[i] = BackRefIdx::newBackRef(/*largeObj=*/false);
                 if (backRefIdx[i].isInvalid()) {
                     // roll back resource allocation
                     for (int j=0; j<i; j++)
                         removeBackRef(backRefIdx[j]);
-                    Block *b;
-                    for (b=result, i=0; i<num;
-                         b=(Block*)((uintptr_t)b+slabSize), i++)
+                    Block *b = result;
+                    for (int j=0; j<num; b=(Block*)((uintptr_t)b+slabSize), j++)
                         extMemPool.backend.putSlabBlock(b);
                     return NULL;
                 }
             }
         // resources were allocated, register blocks
-        for (b=result, i=0; i<num; b=(Block*)((uintptr_t)b+slabSize), i++) {
+        Block *b = result;
+        for (int i=0; i<num; b=(Block*)((uintptr_t)b+slabSize), i++) {
             // slab block in user's pool must have invalid backRefIdx
             if (extMemPool.userPool()) {
                 new (&b->backRefIdx) BackRefIdx();
@@ -1010,10 +1034,9 @@ Block *MemoryPool::getEmptyBlock(size_t size)
             }
         }
     }
-    if (result) {
-        result->initEmptyBlock(tls, size);
-        STAT_increment(result->owner, getIndex(result->objectSize), allocBlockNew);
-    }
+    MALLOC_ASSERT(result, ASSERT_TEXT);
+    result->initEmptyBlock(tls, size);
+    STAT_increment(result->owner, getIndex(result->objectSize), allocBlockNew);
     return result;
 }
 
@@ -1043,6 +1066,7 @@ bool ExtMemoryPool::init(intptr_t poolId, rawAllocType rawAlloc,
     this->fixedPool = fixedPool;
     this->delayRegsReleasing = false;
     initTLS();
+    loc.init(this);
     // allocate initial region for user's objects placement
     return backend.bootstrap(this);
 }
@@ -1092,6 +1116,8 @@ void MemoryPool::destroy()
         if (next)
             next->prev = prev;
     }
+    bootStrapBlocks.reset();
+    orphanedBlocks.reset();
     // slab blocks in non-default pool do not have backreferencies,
     // only large objects do
     if (extMemPool.userPool())
@@ -1106,10 +1132,9 @@ void MemoryPool::processThreadShutdown(TLSData *tlsData)
     clearTLS();
 }
 
+#if MALLOC_DEBUG
 void Bin::verifyTLSBin (size_t size) const
 {
-    suppress_unused_warning(size);
-#if MALLOC_DEBUG
 /* The debug version verifies the TLSBin as needed */
     uint32_t objSize = getObjectSize(size);
 
@@ -1137,8 +1162,10 @@ void Bin::verifyTLSBin (size_t size) const
         }
 #endif /* MALLOC_DEBUG>1 */
     }
-#endif /* MALLOC_DEBUG */
 }
+#else /* MALLOC_DEBUG */
+inline void Bin::verifyTLSBin (size_t) const { }
+#endif /* MALLOC_DEBUG */
 
 /*
  * Add a block to the start of this tls bin list.
@@ -1209,7 +1236,9 @@ Block* Bin::getPublicFreeListBlock()
     MALLOC_ASSERT( !activeBlk && !mailbox || activeBlk && activeBlk->isFull, ASSERT_TEXT );
 
 // the counter should be changed    STAT_increment(getThreadId(), ThreadCommonCounters, lockPublicFreeList);
-    {
+    if (!FencedLoad((intptr_t&)mailbox)) // hotpath is empty mailbox
+        return NULL;
+    else { // mailbox is not empty, take lock and inspect it
         MallocMutex::scoped_lock scoped_cs(mailLock);
         block = mailbox;
         if( block ) {
@@ -1598,7 +1627,7 @@ inline Block* Bin::setPreviousBlockActive()
 
 inline TLSData *Block::ownBlock() const {
     if (!tlsPtr || !ownerTid.isCurrentThreadId()) return NULL;
-
+    tlsPtr->markUsed();
     return tlsPtr;
 }
 
@@ -1630,7 +1659,7 @@ FreeObject *Block::findObjectToFree(void *object) const
 void TLSData::release(MemoryPool *mPool)
 {
     mPool->extMemPool.allLocalCaches.unregisterThread(this);
-    externalCleanup(&mPool->extMemPool);
+    externalCleanup(&mPool->extMemPool, /*cleanOnlyUnused=*/false);
 
     for (unsigned index = 0; index < numBlockBins; index++) {
         Block *activeBlk = bin[index].getActiveBlock();
@@ -1857,6 +1886,52 @@ void MemoryPool::initDefaultPool()
     hugePages.init(hugePageSize);
 }
 
+#if USE_PTHREAD && (__TBB_SOURCE_DIRECTLY_INCLUDED || __TBB_USE_DLOPEN_REENTRANCY_WORKAROUND)
+
+/* Decrease race interval between dynamic library unloading and pthread key
+   destructor. Protect only Pthreads with supported unloading. */
+class ShutdownSync {
+/* flag is the number of threads in pthread key dtor body
+   (i.e., between threadDtorStart() and threadDtorDone())
+   or the signal to skip dtor, if flag < 0 */
+    intptr_t flag;
+    static const intptr_t skipDtor = INTPTR_MIN/2;
+public:
+    void init() { flag = 0; }
+/* Suppose that 2*abs(skipDtor) or more threads never call threadExitStart()
+   simultaneously, so flag is never becomes negative because of that. */
+    bool threadDtorStart() {
+        if (flag < 0)
+            return false;
+        if (AtomicIncrement(flag) <= 0) { // note that new value returned
+            AtomicAdd(flag, -1);  // flag is spoiled by us, restore it
+            return false;
+        }
+        return true;
+    }
+    void threadDtorDone() {
+        AtomicAdd(flag, -1);
+    }
+    void processExit() {
+        if (AtomicAdd(flag, skipDtor) != 0)
+            SpinWaitUntilEq(flag, skipDtor);
+    }
+};
+
+#else
+
+class ShutdownSync {
+public:
+    void init() { }
+    bool threadDtorStart() { return true; }
+    void threadDtorDone() { }
+    void processExit() { }
+};
+
+#endif // USE_PTHREAD && (__TBB_SOURCE_DIRECTLY_INCLUDED || __TBB_USE_DLOPEN_REENTRANCY_WORKAROUND)
+
+static ShutdownSync shutdownSync;
+
 inline bool isMallocInitialized() {
     // Load must have acquire fence; otherwise thread taking "initialized" path
     // might perform textually later loads *before* mallocInitialized becomes 2.
@@ -1888,6 +1963,9 @@ static void initMemoryManager()
     }
     ThreadId::init();      // Create keys for thread id
     MemoryPool::initDefaultPool();
+    // init() is required iff initMemoryManager() is called
+    // after mallocProcessShutdownNotification()
+    shutdownSync.init();
 #if COLLECT_STATISTICS
     initStatisticsCollection();
 #endif
@@ -2047,7 +2125,10 @@ LargeMemoryBlock *LocalLOCImpl<LOW_MARK, HIGH_MARK>::get(size_t size)
 {
     LargeMemoryBlock *localHead, *res=NULL;
 
-    if (!(localHead = (LargeMemoryBlock*)AtomicFetchStore(&head, 0))) {
+    if (size > MAX_TOTAL_SIZE)
+        return NULL;
+
+    if (!head || !(localHead = (LargeMemoryBlock*)AtomicFetchStore(&head, 0))) {
         // do not restore totalSize, numOfBlocks and tail at this point,
         // as they are used only in put(), where they must be restored
         return NULL;
@@ -2098,7 +2179,33 @@ void *MemoryPool::getFromLLOCache(TLSData* tls, size_t size, size_t alignment)
         lmb = extMemPool.mallocLargeObject(allocationSize);
 
     if (lmb) {
+        // doing shuffle we suppose that alignment offset guarantees
+        // that different cache lines are in use
+        MALLOC_ASSERT(alignment >= estimatedCacheLineSize, ASSERT_TEXT);
+
         void *alignedArea = (void*)alignUp((uintptr_t)lmb+headersSize, alignment);
+        uintptr_t alignedRight =
+            alignDown((uintptr_t)lmb+lmb->unalignedSize - size, alignment);
+        // Has some room to shuffle object between cache lines?
+        // Note that alignedRight and alignedArea are aligned at alignment.
+        unsigned ptrDelta = alignedRight - (uintptr_t)alignedArea;
+        if (ptrDelta && tls) { // !tls is cold path
+            // for the hot path of alignment==estimatedCacheLineSize,
+            // allow compilers to use shift for division
+            // (since estimatedCacheLineSize is a power-of-2 constant)
+            unsigned numOfPossibleOffsets = alignment == estimatedCacheLineSize?
+                  ptrDelta / estimatedCacheLineSize :
+                  ptrDelta / alignment;
+            unsigned myCacheIdx = ++tls->currCacheIdx;
+            unsigned offset = myCacheIdx % numOfPossibleOffsets;
+
+            // Move object to a cache line with an offset that is different from
+            // previous allocation. This supposedly allows us to use cache
+            // associativity more efficiently.
+            alignedArea = (void*)((uintptr_t)alignedArea + offset*alignment);
+        }
+        MALLOC_ASSERT((uintptr_t)lmb+lmb->unalignedSize >=
+                      (uintptr_t)alignedArea+size, "Object doesn't fit the block.");
         LargeObjectHdr *header = (LargeObjectHdr*)alignedArea-1;
         header->memoryBlock = lmb;
         header->backRefIdx = lmb->backRefIdx;
@@ -2107,6 +2214,7 @@ void *MemoryPool::getFromLLOCache(TLSData* tls, size_t size, size_t alignment)
         lmb->objectSize = size;
 
         MALLOC_ASSERT( isLargeObject(alignedArea), ASSERT_TEXT );
+        MALLOC_ASSERT( isAligned(alignedArea, alignment), ASSERT_TEXT );
 
         return alignedArea;
     }
@@ -2123,50 +2231,6 @@ void MemoryPool::putToLLOCache(TLSData *tls, void *object)
         extMemPool.freeLargeObject(header->memoryBlock);
 }
 
-#if USE_PTHREAD && (__TBB_SOURCE_DIRECTLY_INCLUDED || __TBB_USE_DLOPEN_REENTRANCY_WORKAROUND)
-
-/* Decrease race interval between dynamic library unloading and pthread key
-   destructor. Protect only Pthreads with supported unloading. */
-class ShutdownSync {
-/* flag is the number of threads in pthread key dtor body
-   (i.e., between threadDtorStart() and threadDtorDone())
-   or the signal to skip dtor, if flag < 0 */
-    intptr_t flag;
-    static const intptr_t skipDtor = INTPTR_MIN/2;
-public:
-/* Suppose that 2*abs(skipDtor) or more threads never call threadExitStart()
-   simultaneously, so flag is never becomes negative because of that. */
-    bool threadDtorStart() {
-        if (flag < 0)
-            return false;
-        if (AtomicIncrement(flag) <= 0) { // note that new value returned
-            AtomicAdd(flag, -1);  // flag is spoiled by us, restore it
-            return false;
-        }
-        return true;
-    }
-    void threadDtorDone() {
-        AtomicAdd(flag, -1);
-    }
-    void processExit() {
-        if (AtomicAdd(flag, skipDtor) != 0)
-            SpinWaitUntilEq(flag, skipDtor);
-    }
-};
-
-#else
-
-class ShutdownSync {
-public:
-    bool threadDtorStart() { return true; }
-    void threadDtorDone() { }
-    void processExit() { }
-};
-
-#endif // USE_PTHREAD && (__TBB_SOURCE_DIRECTLY_INCLUDED || __TBB_USE_DLOPEN_REENTRANCY_WORKAROUND)
-
-static ShutdownSync shutdownSync;
-
 /*
  * All aligned allocations fall into one of the following categories:
  *  1. if both request size and alignment are <= maxSegregatedObjectSize,
@@ -2658,6 +2722,9 @@ extern "C" void __TBB_mallocProcessShutdownNotification()
     defaultMemPool->destroy();
     destroyBackRefMaster(&defaultMemPool->extMemPool.backend);
     ThreadId::destroy();      // Delete key for thread id
+    hugePages.reset();
+    // new total malloc initialization is possible after this point
+    FencedStore(mallocInitialized, 0);
 #elif __TBB_USE_DLOPEN_REENTRANCY_WORKAROUND
 /* In most cases we prevent unloading tbbmalloc, and don't clean up memory
    on process shutdown. When impossible to prevent, library unload results
@@ -2939,11 +3006,31 @@ extern "C" size_t safer_scalable_msize (void *object, size_t (*original_msize)(v
     return 0;
 }
 
+/*
+ * The same as above but for _aligned_msize case
+ */
+extern "C" size_t safer_scalable_aligned_msize (void *object, size_t alignment, size_t offset, size_t (*orig_aligned_msize)(void*,size_t,size_t))
+{
+    if (object) {
+        // Check if the memory was allocated by scalable_malloc
+        if (isRecognized(object))
+            return internalMsize(object);
+        else if (orig_aligned_msize)
+            return orig_aligned_msize(object,alignment,offset);
+    }
+    // object is NULL or unknown
+    errno = EINVAL;
+    return 0;
+}
+
 /********* End code for scalable_msize   ***********/
 
 extern "C" int scalable_allocation_mode(int param, intptr_t value)
 {
-    if (param == USE_HUGE_PAGES) {
+    if (param == TBBMALLOC_SET_SOFT_HEAP_LIMIT) {
+        defaultMemPool->extMemPool.backend.setRecommendedMaxSize((size_t)value);
+        return TBBMALLOC_OK;
+    } else if (param == USE_HUGE_PAGES) {
 #if __linux__
         switch (value) {
         case 0:
@@ -2954,7 +3041,6 @@ extern "C" int scalable_allocation_mode(int param, intptr_t value)
             return TBBMALLOC_INVALID_PARAM;
         }
 #else
-        suppress_unused_warning(value);
         return TBBMALLOC_NO_EFFECT;
 #endif
     }
@@ -2968,7 +3054,8 @@ extern "C" int scalable_allocation_command(int cmd, void *param)
     switch(cmd) {
     case TBBMALLOC_CLEAN_THREAD_BUFFERS:
         if (TLSData *tls = defaultMemPool->getTLS(/*create=*/false))
-            return tls->externalCleanup(&defaultMemPool->extMemPool)?
+            return tls->externalCleanup(&defaultMemPool->extMemPool,
+                                        /*cleanOnlyUnused=*/false)?
                 TBBMALLOC_OK : TBBMALLOC_NO_EFFECT;
         return TBBMALLOC_NO_EFFECT;
     case TBBMALLOC_CLEAN_ALL_BUFFERS:
diff --git a/src/tbbmalloc/large_objects.cpp b/src/tbbmalloc/large_objects.cpp
index 4446d54..ce8910b 100644
--- a/src/tbbmalloc/large_objects.cpp
+++ b/src/tbbmalloc/large_objects.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
@@ -108,7 +108,7 @@ LargeMemoryBlock *LargeObjectCacheImpl<Props>::CacheBin::
         if (!usedSize && !first)
             bitMask->set(idx, false);
     }
-    extMemPool->loc.cleanupCacheIfNeededOnRange(&extMemPool->backend, totalNum, currTime);
+    extMemPool->loc.cleanupCacheIfNeededOnRange(totalNum, currTime);
     if (toRelease)
         toRelease->prev = toRelease->next = NULL;
     return toRelease;
@@ -267,9 +267,9 @@ size_t LargeObjectCacheImpl<Props>::CacheBin::reportStat(int num, FILE *f)
 {
 #if __TBB_MALLOC_LOCACHE_STAT
     if (first)
-        printf("%d(%lu): total %lu KB thr %ld lastCln %lu lastHit %lu oldest %lu\n",
+        printf("%d(%lu): total %lu KB thr %ld lastCln %lu oldest %lu\n",
                num, num*Props::CacheStep+Props::MinSize,
-               cachedSize/1024, ageThreshold, lastCleanedAge, lastHit, oldest);
+               cachedSize/1024, ageThreshold, lastCleanedAge, oldest);
 #else
     suppress_unused_warning(num);
     suppress_unused_warning(f);
@@ -279,9 +279,9 @@ size_t LargeObjectCacheImpl<Props>::CacheBin::reportStat(int num, FILE *f)
 
 // release from cache blocks that are older than ageThreshold
 template<typename Props>
-bool LargeObjectCacheImpl<Props>::regularCleanup(Backend *backend, uintptr_t currTime)
+bool LargeObjectCacheImpl<Props>::regularCleanup(Backend *backend, uintptr_t currTime, bool doThreshDecr)
 {
-    bool released = false, doThreshDecr = false;
+    bool released = false;
     BinsSummary binsSummary;
 
     for (int i = bitMask.getMaxTrue(numBins-1); i >= 0;
@@ -364,26 +364,38 @@ uintptr_t LargeObjectCache::getCurrTimeRange(uintptr_t range)
     return (uintptr_t)AtomicAdd((intptr_t&)cacheCurrTime, range)+1;
 }
 
-void LargeObjectCache::cleanupCacheIfNeeded(Backend *backend, uintptr_t currTime)
+void LargeObjectCache::cleanupCacheIfNeeded(uintptr_t currTime)
 {
     if ( 0 == currTime % cacheCleanupFreq )
-        doRegularCleanup(backend, currTime);
+        doCleanup(currTime, /*doThreshDecr=*/false);
 }
 
 void LargeObjectCache::
-    cleanupCacheIfNeededOnRange(Backend *backend, uintptr_t range, uintptr_t currTime)
+    cleanupCacheIfNeededOnRange(uintptr_t range, uintptr_t currTime)
 {
     if (range >= cacheCleanupFreq
         || currTime+range < currTime-1 // overflow, 0 is power of 2, do cleanup
         // (prev;prev+range] contains n*cacheCleanupFreq
         || alignUp(currTime, cacheCleanupFreq)<=currTime+range)
-        doRegularCleanup(backend, currTime);
+        doCleanup(currTime, /*doThreshDecr=*/false);
+}
+
+bool LargeObjectCache::doCleanup(uintptr_t currTime, bool doThreshDecr)
+{
+    if (!doThreshDecr)
+        extMemPool->allLocalCaches.markUnused();
+    return largeCache.regularCleanup(&extMemPool->backend, currTime, doThreshDecr)
+        | hugeCache.regularCleanup(&extMemPool->backend, currTime, doThreshDecr);
+}
+
+bool LargeObjectCache::decreasingCleanup()
+{
+    return doCleanup(FencedLoad((intptr_t&)cacheCurrTime), /*doThreshDecr=*/true);
 }
 
-bool LargeObjectCache::doRegularCleanup(Backend *backend, uintptr_t currTime)
+bool LargeObjectCache::regularCleanup()
 {
-    return largeCache.regularCleanup(backend, currTime)
-        | hugeCache.regularCleanup(backend, currTime);
+    return doCleanup(FencedLoad((intptr_t&)cacheCurrTime), /*doThreshDecr=*/false);
 }
 
 bool LargeObjectCache::cleanAll(Backend *backend)
@@ -463,7 +475,7 @@ int LargeObjectCache::sizeToIdx(size_t size)
         LargeCacheType::getNumBins()+HugeCacheType::sizeToIdx(size);
 }
 
-void LargeObjectCache::putList(ExtMemoryPool *extMemPool, LargeMemoryBlock *list)
+void LargeObjectCache::putList(LargeMemoryBlock *list)
 {
     LargeMemoryBlock *toProcess, *n;
 
@@ -501,7 +513,7 @@ void LargeObjectCache::putList(ExtMemoryPool *extMemPool, LargeMemoryBlock *list
     }
 }
 
-void LargeObjectCache::put(ExtMemoryPool *extMemPool, LargeMemoryBlock *largeBlock)
+void LargeObjectCache::put(LargeMemoryBlock *largeBlock)
 {
     if (largeBlock->unalignedSize < maxHugeSize) {
         largeBlock->next = NULL;
@@ -513,14 +525,14 @@ void LargeObjectCache::put(ExtMemoryPool *extMemPool, LargeMemoryBlock *largeBlo
         extMemPool->backend.returnLargeObject(largeBlock);
 }
 
-LargeMemoryBlock *LargeObjectCache::get(Backend *backend, size_t size)
+LargeMemoryBlock *LargeObjectCache::get(size_t size)
 {
     MALLOC_ASSERT( size%largeBlockCacheStep==0, ASSERT_TEXT );
     MALLOC_ASSERT( size>=minLargeSize, ASSERT_TEXT );
 
     if ( size < maxHugeSize) {
         uintptr_t currTime = getCurrTime();
-        cleanupCacheIfNeeded(backend, currTime);
+        cleanupCacheIfNeeded(currTime);
         return size < maxLargeSize?
             largeCache.get(currTime, size) : hugeCache.get(currTime, size);
     }
@@ -534,7 +546,7 @@ LargeMemoryBlock *ExtMemoryPool::mallocLargeObject(size_t allocationSize)
     AtomicIncrement(mallocCalls);
     AtomicAdd(memAllocKB, allocationSize/1024);
 #endif
-    LargeMemoryBlock* lmb = loc.get(&backend, allocationSize);
+    LargeMemoryBlock* lmb = loc.get(allocationSize);
     if (!lmb) {
         BackRefIdx backRefIdx = BackRefIdx::newBackRef(/*largeObj=*/true);
         if (backRefIdx.isInvalid())
@@ -560,17 +572,17 @@ LargeMemoryBlock *ExtMemoryPool::mallocLargeObject(size_t allocationSize)
 
 void ExtMemoryPool::freeLargeObject(LargeMemoryBlock *mBlock)
 {
-    loc.put(this, mBlock);
+    loc.put(mBlock);
 }
 
 void ExtMemoryPool::freeLargeObjectList(LargeMemoryBlock *head)
 {
-    loc.putList(this, head);
+    loc.putList(head);
 }
 
 bool ExtMemoryPool::softCachesCleanup()
 {
-    return loc.regularCleanup(&backend);
+    return loc.regularCleanup();
 }
 
 bool ExtMemoryPool::hardCachesCleanup()
@@ -579,6 +591,7 @@ bool ExtMemoryPool::hardCachesCleanup()
     // because object from thread-local cache can be released to LOC
     bool ret = releaseAllLocalCaches();
     ret |= loc.cleanAll(&backend);
+    ret |= backend.clean();
     return ret;
 }
 
diff --git a/src/tbbmalloc/lin32-proxy-export.def b/src/tbbmalloc/lin32-proxy-export.def
index f798297..7020261 100644
--- a/src/tbbmalloc/lin32-proxy-export.def
+++ b/src/tbbmalloc/lin32-proxy-export.def
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/tbbmalloc/lin32-tbbmalloc-export.def b/src/tbbmalloc/lin32-tbbmalloc-export.def
index 04f7a8c..3123327 100644
--- a/src/tbbmalloc/lin32-tbbmalloc-export.def
+++ b/src/tbbmalloc/lin32-tbbmalloc-export.def
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/tbbmalloc/lin64-proxy-export.def b/src/tbbmalloc/lin64-proxy-export.def
index b6291f4..694e4a6 100644
--- a/src/tbbmalloc/lin64-proxy-export.def
+++ b/src/tbbmalloc/lin64-proxy-export.def
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/tbbmalloc/lin64-tbbmalloc-export.def b/src/tbbmalloc/lin64-tbbmalloc-export.def
index d6e591f..e0b019c 100644
--- a/src/tbbmalloc/lin64-tbbmalloc-export.def
+++ b/src/tbbmalloc/lin64-tbbmalloc-export.def
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/tbbmalloc/lin64ipf-proxy-export.def b/src/tbbmalloc/lin64ipf-proxy-export.def
index b6291f4..694e4a6 100644
--- a/src/tbbmalloc/lin64ipf-proxy-export.def
+++ b/src/tbbmalloc/lin64ipf-proxy-export.def
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/tbbmalloc/lin64ipf-tbbmalloc-export.def b/src/tbbmalloc/lin64ipf-tbbmalloc-export.def
index d6e591f..e0b019c 100644
--- a/src/tbbmalloc/lin64ipf-tbbmalloc-export.def
+++ b/src/tbbmalloc/lin64ipf-tbbmalloc-export.def
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/tbbmalloc/mac32-tbbmalloc-export.def b/src/tbbmalloc/mac32-tbbmalloc-export.def
index 5c60c6f..b00ac4e 100644
--- a/src/tbbmalloc/mac32-tbbmalloc-export.def
+++ b/src/tbbmalloc/mac32-tbbmalloc-export.def
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/tbbmalloc/mac64-tbbmalloc-export.def b/src/tbbmalloc/mac64-tbbmalloc-export.def
index 5c60c6f..b00ac4e 100644
--- a/src/tbbmalloc/mac64-tbbmalloc-export.def
+++ b/src/tbbmalloc/mac64-tbbmalloc-export.def
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/tbbmalloc/proxy.cpp b/src/tbbmalloc/proxy.cpp
index f558729..7382c2e 100644
--- a/src/tbbmalloc/proxy.cpp
+++ b/src/tbbmalloc/proxy.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
@@ -223,35 +223,47 @@ void safer_scalable_free2( void *ptr)
     safer_scalable_free( ptr, NULL );
 }
 
+void* safer_aligned_malloc( size_t size, size_t alignment )
+{
+    // workaround for "is power of 2 pow N" bug that accepts zeros
+    return scalable_aligned_malloc( size, alignment>sizeof(size_t*)?alignment:sizeof(size_t*) );
+}
+
 // we do not support _expand();
 void* safer_expand( void *, size_t )
 {
     return NULL;
 }
 
-#define __TBB_ORIG_ALLOCATOR_REPLACEMENT_WRAPPER(CRTLIB)\
-void (*orig_free_##CRTLIB)(void*);                                                        \
-void safer_scalable_free_##CRTLIB( void *ptr)                                             \
-{                                                                                         \
-    safer_scalable_free( ptr, orig_free_##CRTLIB );                                       \
-}                                                                                         \
-                                                                                          \
-size_t (*orig_msize_##CRTLIB)(void*);                                                     \
-size_t safer_scalable_msize_##CRTLIB( void *ptr)                                          \
-{                                                                                         \
-    return safer_scalable_msize( ptr, orig_msize_##CRTLIB );                              \
-}                                                                                         \
-                                                                                          \
-void* safer_scalable_realloc_##CRTLIB( void *ptr, size_t size )                           \
-{                                                                                         \
-    orig_ptrs func_ptrs = {orig_free_##CRTLIB, orig_msize_##CRTLIB};                      \
-    return safer_scalable_realloc( ptr, size, &func_ptrs );                               \
-}                                                                                         \
-                                                                                          \
-void* safer_scalable_aligned_realloc_##CRTLIB( void *ptr, size_t size, size_t aligment )  \
-{                                                                                         \
-    orig_ptrs func_ptrs = {orig_free_##CRTLIB, orig_msize_##CRTLIB};                      \
-    return safer_scalable_aligned_realloc( ptr, size, aligment, &func_ptrs );             \
+#define __TBB_ORIG_ALLOCATOR_REPLACEMENT_WRAPPER(CRTLIB)                                        \
+void (*orig_free_##CRTLIB)(void*);                                                              \
+void safer_scalable_free_##CRTLIB(void *ptr)                                                    \
+{                                                                                               \
+    safer_scalable_free( ptr, orig_free_##CRTLIB );                                             \
+}                                                                                               \
+                                                                                                \
+size_t (*orig_msize_##CRTLIB)(void*);                                                           \
+size_t safer_scalable_msize_##CRTLIB(void *ptr)                                                 \
+{                                                                                               \
+    return safer_scalable_msize( ptr, orig_msize_##CRTLIB );                                    \
+}                                                                                               \
+                                                                                                \
+size_t (*orig_aligned_msize_##CRTLIB)(void*, size_t, size_t);                                   \
+size_t safer_scalable_aligned_msize_##CRTLIB( void *ptr, size_t alignment, size_t offset)       \
+{                                                                                               \
+    return safer_scalable_aligned_msize( ptr, alignment, offset, orig_aligned_msize_##CRTLIB ); \
+}                                                                                               \
+                                                                                                \
+void* safer_scalable_realloc_##CRTLIB( void *ptr, size_t size )                                 \
+{                                                                                               \
+    orig_ptrs func_ptrs = {orig_free_##CRTLIB, orig_msize_##CRTLIB};                            \
+    return safer_scalable_realloc( ptr, size, &func_ptrs );                                     \
+}                                                                                               \
+                                                                                                \
+void* safer_scalable_aligned_realloc_##CRTLIB( void *ptr, size_t size, size_t aligment )        \
+{                                                                                               \
+    orig_ptrs func_ptrs = {orig_free_##CRTLIB, orig_msize_##CRTLIB};                            \
+    return safer_scalable_aligned_realloc( ptr, size, aligment, &func_ptrs );                   \
 }
 
 // limit is 30 bytes/60 symbols per line
@@ -263,6 +275,8 @@ const char* known_bytecodes[] = {
     "48894C24084883EC28BA",   //debug prologue for win64
     "4C8BC1488B0DA6E4040033", //win64 SDK
     "4883EC284885C975",       //release msize() 10.0.21003.1 win64
+    "48895C2408574883EC20",   //release _aligned_msize() win64
+    "4C894424184889542410",   //debug _aligned_msize() win64
 #else
     "558BEC6A018B",           //debug free() & _msize() 8.0.50727.4053 win32
     "6A1868********E8",       //release free() 8.0.50727.4053 win32
@@ -270,6 +284,9 @@ const char* known_bytecodes[] = {
     "558BEC837D08000F",       //release _msize() 11.0.51106.1 win32
     "8BFF558BEC6A",           //debug free() & _msize() 9.0.21022.8 win32
     "8BFF558BEC83",           //debug free() & _msize() 10.0.21003.1 win32
+    "8BFF558BEC8B4508",       //release _aligned_msize() 10.0 win32
+    "8BFF558BEC8B4510",       //debug _aligned_msize() 10.0 win32
+    "558BEC8B451050",         //debug _aligned_msize() 11.0 win32
 #endif
     NULL
     };
@@ -285,7 +302,9 @@ const char* known_bytecodes[] = {
     ReplaceFunctionWithStore( #CRT_VER "d.dll", "_aligned_free",   (FUNCPTR)safer_scalable_free_ ## CRT_VER ## d,            0, NULL); \
     ReplaceFunctionWithStore( #CRT_VER  ".dll", "_aligned_free",   (FUNCPTR)safer_scalable_free_ ## CRT_VER,                 0, NULL); \
     ReplaceFunctionWithStore( #CRT_VER "d.dll", "_aligned_realloc",(FUNCPTR)safer_scalable_aligned_realloc_ ## CRT_VER ## d, 0, NULL); \
-    ReplaceFunctionWithStore( #CRT_VER  ".dll", "_aligned_realloc",(FUNCPTR)safer_scalable_aligned_realloc_ ## CRT_VER,      0, NULL);
+    ReplaceFunctionWithStore( #CRT_VER  ".dll", "_aligned_realloc",(FUNCPTR)safer_scalable_aligned_realloc_ ## CRT_VER,      0, NULL); \
+    ReplaceFunctionWithStore( #CRT_VER "d.dll", "_aligned_msize",(FUNCPTR)safer_scalable_aligned_msize_ ## CRT_VER ## d, known_bytecodes, (FUNCPTR*)&orig_aligned_msize_ ## CRT_VER ## d ); \
+    ReplaceFunctionWithStore( #CRT_VER  ".dll", "_aligned_msize",(FUNCPTR)safer_scalable_aligned_msize_ ## CRT_VER,      known_bytecodes, (FUNCPTR*)&orig_aligned_msize_ ## CRT_VER );
 #else
 #define __TBB_ORIG_ALLOCATOR_REPLACEMENT_CALL(CRT_VER)\
     ReplaceFunctionWithStore( #CRT_VER "d.dll", "free",  (FUNCPTR)safer_scalable_free_ ## CRT_VER ## d,  known_bytecodes, (FUNCPTR*)&orig_free_ ## CRT_VER ## d );  \
@@ -297,7 +316,9 @@ const char* known_bytecodes[] = {
     ReplaceFunctionWithStore( #CRT_VER "d.dll", "_aligned_free",   (FUNCPTR)safer_scalable_free_ ## CRT_VER ## d,            0, NULL); \
     ReplaceFunctionWithStore( #CRT_VER  ".dll", "_aligned_free",   (FUNCPTR)safer_scalable_free_ ## CRT_VER,                 0, NULL); \
     ReplaceFunctionWithStore( #CRT_VER "d.dll", "_aligned_realloc",(FUNCPTR)safer_scalable_aligned_realloc_ ## CRT_VER ## d, 0, NULL); \
-    ReplaceFunctionWithStore( #CRT_VER  ".dll", "_aligned_realloc",(FUNCPTR)safer_scalable_aligned_realloc_ ## CRT_VER,      0, NULL);
+    ReplaceFunctionWithStore( #CRT_VER  ".dll", "_aligned_realloc",(FUNCPTR)safer_scalable_aligned_realloc_ ## CRT_VER,      0, NULL); \
+    ReplaceFunctionWithStore( #CRT_VER "d.dll", "_aligned_msize",(FUNCPTR)safer_scalable_aligned_msize_ ## CRT_VER ## d, known_bytecodes, (FUNCPTR*)&orig_aligned_msize_ ## CRT_VER ## d ); \
+    ReplaceFunctionWithStore( #CRT_VER  ".dll", "_aligned_msize",(FUNCPTR)safer_scalable_aligned_msize_ ## CRT_VER,      known_bytecodes, (FUNCPTR*)&orig_aligned_msize_ ## CRT_VER );
 #endif
 
 __TBB_ORIG_ALLOCATOR_REPLACEMENT_WRAPPER(msvcr70d);
@@ -312,6 +333,8 @@ __TBB_ORIG_ALLOCATOR_REPLACEMENT_WRAPPER(msvcr100d);
 __TBB_ORIG_ALLOCATOR_REPLACEMENT_WRAPPER(msvcr100);
 __TBB_ORIG_ALLOCATOR_REPLACEMENT_WRAPPER(msvcr110d);
 __TBB_ORIG_ALLOCATOR_REPLACEMENT_WRAPPER(msvcr110);
+__TBB_ORIG_ALLOCATOR_REPLACEMENT_WRAPPER(msvcr120d);
+__TBB_ORIG_ALLOCATOR_REPLACEMENT_WRAPPER(msvcr120);
 
 
 /*** replacements for global operators new and delete ***/
@@ -365,6 +388,8 @@ const char* modules_to_replace[] = {
     "msvcr100.dll",
     "msvcr110d.dll",
     "msvcr110.dll",
+    "msvcr120d.dll",
+    "msvcr120.dll",
     "msvcr70d.dll",
     "msvcr70.dll",
     "msvcr71d.dll",
@@ -406,7 +431,7 @@ typedef struct FRData_t {
 FRDATA routines_to_replace[] = {
     { "malloc",  (FUNCPTR)scalable_malloc, FRR_FAIL },
     { "calloc",  (FUNCPTR)scalable_calloc, FRR_FAIL },
-    { "_aligned_malloc",  (FUNCPTR)scalable_aligned_malloc, FRR_FAIL },
+    { "_aligned_malloc",  (FUNCPTR)safer_aligned_malloc, FRR_FAIL },
     { "_expand",  (FUNCPTR)safer_expand, FRR_IGNORE },
 #if _WIN64
     { "??2 at YAPEAX_K@Z", (FUNCPTR)operator_new, FRR_FAIL },
@@ -450,6 +475,7 @@ void doMallocReplacement()
     __TBB_ORIG_ALLOCATOR_REPLACEMENT_CALL(msvcr90)
     __TBB_ORIG_ALLOCATOR_REPLACEMENT_CALL(msvcr100)
     __TBB_ORIG_ALLOCATOR_REPLACEMENT_CALL(msvcr110)
+    __TBB_ORIG_ALLOCATOR_REPLACEMENT_CALL(msvcr120)
 
     // Replace functions without storing original code
     int modules_to_replace_count = sizeof(modules_to_replace) / sizeof(modules_to_replace[0]);
@@ -458,9 +484,12 @@ void doMallocReplacement()
         for (i = 0; i < routines_to_replace_count; i++)
         {
 #if !_WIN64
-            // in Microsoft* Visual Studio* 11 Beta 32-bit operator delete consists of 2 bytes only: short jump to free(ptr);
+            // in Microsoft* Visual Studio* 2012 and 2013 32-bit operator delete consists of 2 bytes only: short jump to free(ptr);
+            // replacement should be skipped for this particular case.
+            if ( ((strcmp(modules_to_replace[j], "msvcr110.dll") == 0) || (strcmp(modules_to_replace[j], "msvcr120.dll") == 0)) && (strcmp(routines_to_replace[i]._func, "??3 at YAXPAX@Z") == 0)) continue;
+            // in Microsoft* Visual Studio* 2013 32-bit operator delete[] consists of 2 bytes only: short jump to free(ptr);
             // replacement should be skipped for this particular case.
-            if ( (strcmp(modules_to_replace[j],"msvcr110.dll")==0) && (strcmp(routines_to_replace[i]._func,"??3 at YAXPAX@Z")==0) ) continue;
+            if ((strcmp(modules_to_replace[j], "msvcr120.dll") == 0) && (strcmp(routines_to_replace[i]._func, "??_V at YAXPAX@Z") == 0)) continue;
 #endif
             FRR_TYPE type = ReplaceFunction( modules_to_replace[j], routines_to_replace[i]._func, routines_to_replace[i]._fptr, NULL, NULL );
             if (type == FRR_NODLL) break;
diff --git a/src/tbbmalloc/proxy.h b/src/tbbmalloc/proxy.h
index 1a8cd19..2eb110a 100644
--- a/src/tbbmalloc/proxy.h
+++ b/src/tbbmalloc/proxy.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
@@ -53,6 +53,7 @@ extern "C" {
     void * safer_scalable_realloc( void *ptr, size_t, void* );
     void * safer_scalable_aligned_realloc( void *ptr, size_t, size_t, void* );
     size_t safer_scalable_msize( void *ptr, size_t (*orig_msize_crt80d)(void*));
+    size_t safer_scalable_aligned_msize( void *ptr, size_t, size_t, size_t (*orig_msize_crt80d)(void*,size_t,size_t));
 
     void * __TBB_internal_malloc(size_t size);
     void * __TBB_internal_calloc(size_t num, size_t size);
diff --git a/src/tbbmalloc/tbb_function_replacement.cpp b/src/tbbmalloc/tbb_function_replacement.cpp
index ed432ed..82cdbed 100644
--- a/src/tbbmalloc/tbb_function_replacement.cpp
+++ b/src/tbbmalloc/tbb_function_replacement.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/tbbmalloc/tbb_function_replacement.h b/src/tbbmalloc/tbb_function_replacement.h
index 40f9c42..e73042f 100644
--- a/src/tbbmalloc/tbb_function_replacement.h
+++ b/src/tbbmalloc/tbb_function_replacement.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/tbbmalloc/tbbmalloc.cpp b/src/tbbmalloc/tbbmalloc.cpp
index a041474..15d12a2 100644
--- a/src/tbbmalloc/tbbmalloc.cpp
+++ b/src/tbbmalloc/tbbmalloc.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/tbbmalloc/tbbmalloc.rc b/src/tbbmalloc/tbbmalloc.rc
index 68ca40d..a7beceb 100644
--- a/src/tbbmalloc/tbbmalloc.rc
+++ b/src/tbbmalloc/tbbmalloc.rc
@@ -1,4 +1,4 @@
-// Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+// Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 //
 // This file is part of Threading Building Blocks.
 //
@@ -92,8 +92,7 @@ BEGIN
             VALUE "CompanyName", "Intel Corporation\0"
             VALUE "FileDescription", "Scalable Allocator library\0"
             VALUE "FileVersion", TBBMALLOC_VERSION "\0"
-//what is it?            VALUE "InternalName", "tbbmalloc\0"
-            VALUE "LegalCopyright", "Copyright 2005-2013 Intel Corporation.  All Rights Reserved.\0"
+            VALUE "LegalCopyright", "Copyright 2005-2014 Intel Corporation.  All Rights Reserved.\0"
             VALUE "LegalTrademarks", "\0"
 #ifndef TBB_USE_DEBUG
             VALUE "OriginalFilename", "tbbmalloc.dll\0"
@@ -102,7 +101,6 @@ BEGIN
 #endif
             VALUE "ProductName", "Intel(R) Threading Building Blocks for Windows\0"
             VALUE "ProductVersion", TBB_VERSION "\0"
-            VALUE "Comments", TBB_VERSION_STRINGS "\0"
             VALUE "PrivateBuild", "\0"
             VALUE "SpecialBuild", "\0"
         END
diff --git a/src/tbbmalloc/tbbmalloc_internal.h b/src/tbbmalloc/tbbmalloc_internal.h
index 68ff30d..d6aff58 100644
--- a/src/tbbmalloc/tbbmalloc_internal.h
+++ b/src/tbbmalloc/tbbmalloc_internal.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
@@ -43,7 +43,7 @@
     #error Must define USE_PTHREAD or USE_WINTHREAD
 #endif
 
-#include "tbb/tbb_config.h"
+#include "tbb/tbb_config.h" // for __TBB_LIBSTDCPP_EXCEPTION_HEADERS_BROKEN
 #if __TBB_LIBSTDCPP_EXCEPTION_HEADERS_BROKEN
   #define _EXCEPTION_PTR_H /* prevents exception_ptr.h inclusion */
   #define _GLIBCXX_NESTED_EXCEPTION_H /* prevents nested_exception.h inclusion */
@@ -59,10 +59,6 @@
 #include "tbb/scalable_allocator.h"
 #include "tbbmalloc_internal_api.h"
 
-#if __sun || __SUNPRO_CC
-#define __asm__ asm
-#endif
-
 /********* Various compile-time options        **************/
 
 #if !__TBB_DEFINE_MIC && __TBB_MIC_NATIVE
@@ -161,6 +157,20 @@ public:
     TLSData* createTLS(MemoryPool *memPool, Backend *backend);
 };
 
+template<typename Arg, typename Compare>
+inline void AtomicUpdate(Arg &location, Arg newVal, const Compare &cmp)
+{
+    MALLOC_STATIC_ASSERT(sizeof(Arg) == sizeof(intptr_t),
+                         "Type of argument must match AtomicCompareExchange type.");
+    for (Arg old = location; cmp(old, newVal); ) {
+        Arg val = AtomicCompareExchange((intptr_t&)location, (intptr_t)newVal, old);
+        if (val == old)
+            break;
+        // TODO: do we need backoff after unsuccessful CAS?
+        old = val;
+    }
+}
+
 // TODO: make BitMaskBasic more general
 // (currenty, it fits BitMaskMin well, but not as suitable for BitMaskMax)
 template<unsigned NUM>
@@ -236,7 +246,9 @@ class AllLocalCaches {
 public:
     void registerThread(TLSRemote *tls);
     void unregisterThread(TLSRemote *tls);
-    bool cleanup(ExtMemoryPool *extPool);
+    bool cleanup(ExtMemoryPool *extPool, bool cleanOnlyUnused);
+    void markUnused();
+    void reset() { head = NULL; }
 };
 
 /* cache blocks in range [MinSize; MaxSize) in bins with CacheStep
@@ -352,7 +364,7 @@ public:
 
     void rollbackCacheState(size_t size);
     uintptr_t cleanupCacheIfNeeded(ExtMemoryPool *extMemPool, uintptr_t currTime);
-    bool regularCleanup(Backend *backend, uintptr_t currAge);
+    bool regularCleanup(Backend *backend, uintptr_t currAge, bool doThreshDecr);
     bool cleanAll(Backend *backend);
     void reset() {
         tooLargeLOC = 0;
@@ -382,8 +394,11 @@ private:
     typedef LargeObjectCacheImpl< LargeObjectCacheProps<minLargeSize, maxLargeSize, largeBlockCacheStep, 2, 2, 16> > LargeCacheType;
     typedef LargeObjectCacheImpl< LargeObjectCacheProps<maxLargeSize, maxHugeSize, hugeBlockCacheStep, 1, 1, 4> > HugeCacheType;
 
-    LargeCacheType largeCache;
+    // beginning of largeCache is more actively used and smaller than hugeCache,
+    // so put hugeCache first to prevent false sharing
+    // with LargeObjectCache's predecessor
     HugeCacheType hugeCache;
+    LargeCacheType largeCache;
 
     /* logical time, incremented on each put/get operation
        To prevent starvation between pools, keep separately for each pool.
@@ -396,19 +411,22 @@ private:
     */
     uintptr_t cacheCurrTime;
 
+                     // memory pool that owns this LargeObjectCache,
+    ExtMemoryPool *extMemPool; // strict 1:1 relation, never changed
+
     static int sizeToIdx(size_t size);
-    bool doRegularCleanup(Backend *backend, uintptr_t currTime);
+    bool doCleanup(uintptr_t currTime, bool doThreshDecr);
 public:
-    void put(ExtMemoryPool *extMemPool, LargeMemoryBlock *largeBlock);
-    void putList(ExtMemoryPool *extMemPool, LargeMemoryBlock *head);
-    LargeMemoryBlock *get(Backend *backend, size_t size);
+    void init(ExtMemoryPool *memPool) { extMemPool = memPool; }
+    void put(LargeMemoryBlock *largeBlock);
+    void putList(LargeMemoryBlock *head);
+    LargeMemoryBlock *get(size_t size);
 
     void rollbackCacheState(size_t size);
-    void cleanupCacheIfNeeded(Backend *backend, uintptr_t currTime);
-    void cleanupCacheIfNeededOnRange(Backend *backend, uintptr_t range, uintptr_t currTime);
-    bool regularCleanup(Backend *backend) {
-        return doRegularCleanup(backend, FencedLoad((intptr_t&)cacheCurrTime));
-    }
+    void cleanupCacheIfNeeded(uintptr_t currTime);
+    void cleanupCacheIfNeededOnRange(uintptr_t range, uintptr_t currTime);
+    bool decreasingCleanup();
+    bool regularCleanup();
     bool cleanAll(Backend *backend);
     void reset() {
         largeCache.reset();
@@ -511,6 +529,7 @@ public:
 };
 
 class CoalRequestQ { // queue of free blocks that coalescing was delayed
+private:
     FreeBlock *blocksToFree;
 public:
     FreeBlock *getAll(); // return current list of blocks and make queue empty
@@ -556,6 +575,9 @@ private:
         // TODO: support other page sizes
         maxBinned_HugePage = 4*1024*1024UL
     };
+    enum {
+        VALID_BLOCK_IN_BIN = 1 // valid block added to bin, not returned as result
+    };
 public:
     static const int freeBinsNum =
         (maxBinned_HugePage-minBinnedSize)/LargeObjectCache::largeBlockCacheStep + 1;
@@ -580,18 +602,24 @@ public:
         void reset() { head = tail = 0; }
 #if __TBB_MALLOC_BACKEND_STAT
         size_t countFreeBlocks();
+        void reportStat(FILE *f);
 #endif
         bool empty() const { return !head; }
     };
 
-    // array of bins accomplished bitmask for fast finding of non-empty bins
+    typedef BitMaskMin<Backend::freeBinsNum> BitMaskBins;
+
+    // array of bins supplemented with bitmask for fast finding of non-empty bins
     class IndexedBins {
-        BitMaskMin<Backend::freeBinsNum> bitMask;
-        Bin                           freeBins[Backend::freeBinsNum];
+        BitMaskBins bitMask;
+        Bin         freeBins[Backend::freeBinsNum];
+        FreeBlock *getFromBin(int binIdx, BackendSync *sync, size_t size,
+                              bool resSlabAligned, bool alignedBin, bool wait,
+                              int *resLocked);
     public:
-        FreeBlock *getBlock(int binIdx, BackendSync *sync, size_t size,
-                            bool resSlabAligned, bool alignedBin, bool wait,
-                            int *resLocked);
+        FreeBlock *findBlock(int nativeBin, BackendSync *sync, size_t size,
+                             bool resSlabAligned, bool alignedBin, int *numOfLockedBins);
+        bool tryReleaseRegions(int binIdx, Backend *backend);
         void lockRemoveBlock(int binIdx, FreeBlock *fBlock);
         void addBlock(int binIdx, FreeBlock *fBlock, size_t blockSz, bool addToTail);
         bool tryAddBlock(int binIdx, FreeBlock *fBlock, bool addToTail);
@@ -605,15 +633,23 @@ public:
 #endif
         void reset();
     };
-    // number of OS/pool callback calls for more memory
-    class AskMemFromOSCounter {
-        intptr_t cnt;
+
+private:
+    class AdvRegionsBins {
+        BitMaskBins bins;
     public:
-        void OSasked() { AtomicIncrement(cnt); }
-        intptr_t get() const { return FencedLoad(cnt); }
+        void registerBin(int regBin) { bins.set(regBin, 1); }
+        int getMinUsedBin(int start) const { return bins.getMinTrue(start); }
+        void reset() { bins.reset(); }
+    };
+    // auxiliary class to atomic maximum request finding
+    class MaxRequestComparator {
+        const Backend *backend;
+    public:
+        MaxRequestComparator(const Backend *be) : backend(be) {}
+        inline bool operator()(size_t oldMaxReq, size_t requestSize) const;
     };
 
-private:
     ExtMemoryPool *extMemPool;
     // used for release every region on pool destroying
     MemRegion     *regionList;
@@ -623,29 +659,31 @@ private:
     BackendSync    bkndSync;
     // semaphore protecting adding more more memory from OS
     MemExtendingSema memExtendingSema;
+    size_t         totalMemSize,
+                   memSoftLimit;
 
     // Using of maximal observed requested size allows descrease
     // memory consumption for small requests and descrease fragmentation
     // for workloads when small and large allocation requests are mixed.
     // TODO: decrease, not only increase it
     size_t         maxRequestedSize;
-    void correctMaxRequestSize(size_t requestSize);
 
-    size_t addNewRegion(size_t rawSize, bool exact);
-    FreeBlock *findBlockInRegion(MemRegion *region);
-    void startUseBlock(MemRegion *region, FreeBlock *fBlock);
+    FreeBlock *addNewRegion(size_t rawSize, bool exact, bool addToBin);
+    FreeBlock *findBlockInRegion(MemRegion *region, size_t exactBlockSize);
+    void startUseBlock(MemRegion *region, FreeBlock *fBlock, bool addToBin);
     void releaseRegion(MemRegion *region);
 
-    bool askMemFromOS(size_t totalReqSize, intptr_t startModifiedCnt,
-                      int *lockedBinsThreshold,
-                      int numOfLockedBins, bool *largeBinsUpdated);
+    FreeBlock *askMemFromOS(size_t totalReqSize, intptr_t startModifiedCnt,
+                            int *lockedBinsThreshold, int numOfLockedBins);
     FreeBlock *genericGetBlock(int num, size_t size, bool resSlabAligned);
     void genericPutBlock(FreeBlock *fBlock, size_t blockSz);
-    FreeBlock *getFromAlignedSpace(int binIdx, int num, size_t size, bool resSlabAligned, bool wait, int *locked);
-    FreeBlock *getFromBin(int binIdx, int num, size_t size, bool resSlabAligned, int *locked);
+    FreeBlock *splitUnalignedBlock(FreeBlock *fBlock, int num, size_t size,
+                              bool needAlignedRes);
+    FreeBlock *splitAlignedBlock(FreeBlock *fBlock, int num, size_t size,
+                            bool needAlignedRes);
 
     FreeBlock *doCoalesc(FreeBlock *fBlock, MemRegion **memRegion);
-    void coalescAndPutList(FreeBlock *head, bool forceCoalescQDrop);
+    bool coalescAndPutList(FreeBlock *head, bool forceCoalescQDrop);
     bool scanCoalescQ(bool forceCoalescQDrop);
     void coalescAndPut(FreeBlock *fBlock, size_t blockSz);
 
@@ -655,17 +693,16 @@ private:
     void freeRawMem(void *object, size_t size) const;
 
     void putLargeBlock(LargeMemoryBlock *lmb);
+    void releaseCachesToLimit();
 public:
     void verify();
 #if __TBB_MALLOC_BACKEND_STAT
     void reportStat(FILE *f);
 #endif
-    bool bootstrap(ExtMemoryPool *extMemoryPool) {
-        extMemPool = extMemoryPool;
-        return addNewRegion(2*1024*1024, /*exact=*/false);
-    }
+    bool bootstrap(ExtMemoryPool *extMemoryPool);
     void reset();
     bool destroy();
+    bool clean(); // clean on caches cleanup
 
     BlockI *getSlabBlock(int num) {
         BlockI *b = (BlockI*)
@@ -684,7 +721,15 @@ public:
     LargeMemoryBlock *getLargeBlock(size_t size);
     void returnLargeObject(LargeMemoryBlock *lmb);
 
-    AskMemFromOSCounter askMemFromOSCounter;
+    void setRecommendedMaxSize(size_t softLimit) {
+        memSoftLimit = softLimit;
+        releaseCachesToLimit();
+    }
+    inline size_t getMaxBinnedSize() const;
+
+#if __TBB_MALLOC_WHITEBOX_TEST
+    size_t getTotalMemSize() const { return totalMemSize; }
+#endif
 private:
     static int sizeToBin(size_t size) {
         if (size >= maxBinned_HugePage)
@@ -699,17 +744,18 @@ private:
     }
 #if __TBB_MALLOC_BACKEND_STAT
     static size_t binToSize(int bin) {
-        MALLOC_ASSERT(bin < HUGE_BIN, "Invalid bin.");
+        MALLOC_ASSERT(bin <= HUGE_BIN, "Invalid bin.");
 
-        return bin*largeBlockCacheStep + minBinnedSize;
+        return bin*LargeObjectCache::largeBlockCacheStep + minBinnedSize;
     }
 #endif
     static bool toAlignedBin(FreeBlock *block, size_t size) {
         return isAligned((char*)block+size, slabSize)
             && size >= slabSize;
     }
-    inline size_t getMaxBinnedSize();
 
+    // register bins related to advance regions
+    AdvRegionsBins advRegBins;
     IndexedBins freeLargeBins,
                 freeAlignedBins;
 };
@@ -725,6 +771,8 @@ public:
 
 struct ExtMemoryPool {
     Backend           backend;
+    LargeObjectCache  loc;
+    AllLocalCaches    allLocalCaches;
 
     intptr_t          poolId;
     // to find all large objects
@@ -739,9 +787,6 @@ struct ExtMemoryPool {
                       fixedPool;
     TLSKey            tlsPointerKey;  // per-pool TLS key
 
-    LargeObjectCache  loc;
-    AllLocalCaches    allLocalCaches;
-
     bool init(intptr_t poolId, rawAllocType rawAlloc, rawFreeType rawFree,
               size_t granularity, bool keepAllMemory, bool fixedPool);
     void initTLS();
@@ -755,10 +800,13 @@ struct ExtMemoryPool {
     bool hardCachesCleanup();
     void reset() {
         loc.reset();
+        allLocalCaches.reset();
         tlsPointerKey.~TLSKey();
         backend.reset();
     }
     void destroy() {
+        loc.reset();
+        allLocalCaches.reset();
         // pthread_key_dtors must be disabled before memory unmapping
         // TODO: race-free solution
         tlsPointerKey.~TLSKey();
@@ -852,6 +900,10 @@ public:
         requestedMode.set(newVal);
         enabled = pageSize && newVal;
     }
+    void reset() {
+        pageSize = 0;
+        needActualStatusPrint = enabled = wasObserved = 0;
+    }
 };
 
 extern HugePagesStatus hugePages;
diff --git a/src/tbbmalloc/tbbmalloc_internal_api.h b/src/tbbmalloc/tbbmalloc_internal_api.h
index c678449..6feed74 100644
--- a/src/tbbmalloc/tbbmalloc_internal_api.h
+++ b/src/tbbmalloc/tbbmalloc_internal_api.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/tbbmalloc/win32-gcc-tbbmalloc-export.def b/src/tbbmalloc/win32-gcc-tbbmalloc-export.def
index 53849a2..6756eea 100644
--- a/src/tbbmalloc/win32-gcc-tbbmalloc-export.def
+++ b/src/tbbmalloc/win32-gcc-tbbmalloc-export.def
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
@@ -42,6 +42,7 @@ scalable_msize;
 scalable_allocation_mode;
 scalable_allocation_command;
 safer_scalable_msize;
+safer_scalable_aligned_msize;
 safer_scalable_aligned_realloc;
 /* memory pool stuff */
 _ZN3rml10pool_resetEPNS_10MemoryPoolE;
diff --git a/src/tbbmalloc/win32-tbbmalloc-export.def b/src/tbbmalloc/win32-tbbmalloc-export.def
index 6155981..a7a0dd1 100644
--- a/src/tbbmalloc/win32-tbbmalloc-export.def
+++ b/src/tbbmalloc/win32-tbbmalloc-export.def
@@ -1,4 +1,4 @@
-; Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+; Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 ;
 ; This file is part of Threading Building Blocks.
 ;
@@ -41,6 +41,7 @@ scalable_msize
 scalable_allocation_mode
 scalable_allocation_command
 safer_scalable_msize
+safer_scalable_aligned_msize
 safer_scalable_aligned_realloc
 ?pool_create at rml@@YAPAVMemoryPool at 1@HPBUMemPoolPolicy at 1@@Z
 ?pool_create_v1 at rml@@YA?AW4MemPoolError at 1@HPBUMemPoolPolicy at 1@PAPAVMemoryPool at 1@@Z
diff --git a/src/tbbmalloc/win64-gcc-tbbmalloc-export.def b/src/tbbmalloc/win64-gcc-tbbmalloc-export.def
index 7938ab0..1905d70 100644
--- a/src/tbbmalloc/win64-gcc-tbbmalloc-export.def
+++ b/src/tbbmalloc/win64-gcc-tbbmalloc-export.def
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
@@ -42,6 +42,7 @@ scalable_msize;
 scalable_allocation_mode;
 scalable_allocation_command;
 safer_scalable_msize;
+safer_scalable_aligned_msize;
 safer_scalable_aligned_realloc;
 /* memory pool stuff */
 _ZN3rml10pool_resetEPNS_10MemoryPoolE;
diff --git a/src/tbbmalloc/win64-tbbmalloc-export.def b/src/tbbmalloc/win64-tbbmalloc-export.def
index 0eccd62..367256a 100644
--- a/src/tbbmalloc/win64-tbbmalloc-export.def
+++ b/src/tbbmalloc/win64-tbbmalloc-export.def
@@ -1,4 +1,4 @@
-; Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+; Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 ;
 ; This file is part of Threading Building Blocks.
 ;
@@ -41,6 +41,7 @@ scalable_msize
 scalable_allocation_mode
 scalable_allocation_command
 safer_scalable_msize
+safer_scalable_aligned_msize
 safer_scalable_aligned_realloc
 ; memory pool stuff
 ?pool_create at rml@@YAPEAVMemoryPool at 1@_JPEBUMemPoolPolicy at 1@@Z
diff --git a/src/tbbmalloc/xbox360-tbbmalloc-export.def b/src/tbbmalloc/xbox360-tbbmalloc-export.def
index 4a41694..fff42f1 100644
--- a/src/tbbmalloc/xbox360-tbbmalloc-export.def
+++ b/src/tbbmalloc/xbox360-tbbmalloc-export.def
@@ -1,4 +1,4 @@
-; Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+; Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 ;
 ; This file is part of Threading Building Blocks.
 ;
@@ -40,3 +40,4 @@ safer_scalable_realloc @10
 scalable_msize @11
 safer_scalable_msize @12
 safer_scalable_aligned_realloc @13
+safer_scalable_aligned_msize @14
diff --git a/src/tbbproxy/tbbproxy-windows.asm b/src/tbbproxy/tbbproxy-windows.asm
index 734cc2e..df041ae 100644
--- a/src/tbbproxy/tbbproxy-windows.asm
+++ b/src/tbbproxy/tbbproxy-windows.asm
@@ -1,4 +1,4 @@
-; Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+; Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 ;
 ; This file is part of Threading Building Blocks.
 ;
diff --git a/src/tbbproxy/tbbproxy.cpp b/src/tbbproxy/tbbproxy.cpp
index ab18bb2..11a3a3b 100644
--- a/src/tbbproxy/tbbproxy.cpp
+++ b/src/tbbproxy/tbbproxy.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/test/harness.h b/src/test/harness.h
index 8b2dfd5..e0ade7c 100644
--- a/src/test/harness.h
+++ b/src/test/harness.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
@@ -38,6 +38,7 @@
 
 #include "tbb/tbb_config.h"
 #include "harness_defs.h"
+#include <exception> //for set_terminate
 
 namespace Harness {
     enum TestResult {
@@ -120,40 +121,12 @@ int TestMain ();
     #define BACKTRACE_FUNCTION_AVAILABLE 1
 #endif
 
+#include "harness_runtime_loader.h"
 #include "harness_report.h"
 
-#if HARNESS_USE_RUNTIME_LOADER
-    #define TBB_PREVIEW_RUNTIME_LOADER 1
-    #include "tbb/runtime_loader.h"
-    static char const * _path[] = { ".", NULL };
-    static tbb::runtime_loader _runtime_loader( _path );
-#endif // HARNESS_USE_RUNTIME_LOADER
-
-#if !HARNESS_NO_ASSERT
-    #include "harness_assert.h"
-    #if TEST_USES_TBB
-        #include <tbb/tbb_stddef.h> /*set_assertion_handler*/
-
-        struct InitReporter {
-            InitReporter() {
-        #if TBB_USE_ASSERT
-                tbb::set_assertion_handler(ReportError);
-        #endif
-            ASSERT_WARNING(TBB_INTERFACE_VERSION <= tbb::TBB_runtime_interface_version(), "runtime version mismatch");
-        }
-        };
-        static InitReporter InitReportError;
-    #endif
-
-    typedef void (*test_error_extra_t)(void);
-    static test_error_extra_t ErrorExtraCall;
-    //! Set additional handler to process failed assertions
-    void SetHarnessErrorProcessing( test_error_extra_t extra_call ) {
-        ErrorExtraCall = extra_call;
-    }
-
-    //! Reports errors issued by failed assertions
-    void ReportError( const char* filename, int line, const char* expression, const char * message ) {
+//! Prints current call stack
+void print_call_stack() {
+    fflush(stdout); fflush(stderr);
     #if BACKTRACE_FUNCTION_AVAILABLE
         const int sz = 100; // max number of frames to capture
         void *buff[sz];
@@ -183,7 +156,49 @@ int TestMain ();
             REPORT("[%d] %016I64LX+%04I64LX: %s\n", i, sym.Address, offset, sym.Name); //TODO: print module name
         }
     #endif /*BACKTRACE_FUNCTION_AVAILABLE*/
+}
+
+#if !HARNESS_NO_ASSERT
+    #include "harness_assert.h"
+    #if TEST_USES_TBB
+        #include <tbb/tbb_stddef.h> /*set_assertion_handler*/
+    #endif
+
+    struct InitReporter {
+        void (*default_terminate_handler)() ;
+        InitReporter(): default_terminate_handler(NULL) {
+            #if TEST_USES_TBB
+                #if TBB_USE_ASSERT
+                    tbb::set_assertion_handler(ReportError);
+                #endif
+                ASSERT_WARNING(TBB_INTERFACE_VERSION <= tbb::TBB_runtime_interface_version(), "runtime version mismatch");
+            #endif
+            #if TBB_USE_EXCEPTIONS
+                default_terminate_handler = std::set_terminate(handle_terminate);
+            #endif
+        }
+        static void handle_terminate();
+    };
+    static InitReporter InitReportError;
+
+    void InitReporter::handle_terminate(){
+        REPORT("std::terminate called.\n");
+        print_call_stack();
+        if (InitReportError.default_terminate_handler){
+            InitReportError.default_terminate_handler();
+        }
+    }
+
+    typedef void (*test_error_extra_t)(void);
+    static test_error_extra_t ErrorExtraCall;
+    //! Set additional handler to process failed assertions
+    void SetHarnessErrorProcessing( test_error_extra_t extra_call ) {
+        ErrorExtraCall = extra_call;
+    }
 
+    //! Reports errors issued by failed assertions
+    void ReportError( const char* filename, int line, const char* expression, const char * message ) {
+        print_call_stack();
     #if __TBB_ICL_11_1_CODE_GEN_BROKEN
         printf("%s:%d, assertion %s: %s\n", filename, line, expression, message ? message : "failed" );
     #else
@@ -227,16 +242,12 @@ namespace Harness {
        return N;
     }
 
-    //TODO: remove this #if __TBB_INITIALIZER_LISTS_PRESENT
-    //it looks like all other compilers except gcc issue warnings/errors then they see
-    //declaration of zero sized array
-    #if __TBB_INITIALIZER_LISTS_PRESENT
-        template<typename T>
-        inline size_t array_length(const T[0])
-        {
-           return 0;
-        }
-    #endif //__TBB_INITIALIZER_LISTS_PRESENT
+    template<typename T, size_t N>
+    inline T* end( T(& array)[N])
+    {
+       return array+ array_length(array) ;
+    }
+
 } //namespace Harness
 
 #if TEST_USES_TBB
@@ -341,6 +352,10 @@ int main(int argc, char* argv[]) {
     MPI_Init(&argc,&argv);
 #endif
 #endif
+#if HARNESS_SKIP_TEST
+    REPORT( "skip\n" );
+    return 0;
+#else
 #if __TBB_MPI_INTEROP
     // Simple TBB/MPI interoperability harness for most of tests
     // Worker processes send blocking messages to the master process about their rank and group size
@@ -365,20 +380,19 @@ int main(int argc, char* argv[]) {
         MPI_Send (&size, 1, MPI_INT, 0, 1, MPI_COMM_WORLD);
     }
 #endif
-#if __TBB_MIC_OFFLOAD
+
     int res = Harness::Unknown;
+#if __TBB_MIC_OFFLOAD
+    // "mic:-1" or "mandatory" specifies execution on the target. The runtime
+    // system chooses the specific target. Execution on the CPU is not allowed.
+#if __INTEL_COMPILER < 1400
     #pragma offload target(mic:-1) out(res)
-    {
-    #if __MIC__
-        res = TestMain ();
-    #else
-        ASSERT( 0, "Host execution in offload mode!" );
-        exit(1);
-    #endif
-    }
 #else
-    int res = TestMain ();
+    #pragma offload target(mic) out(res) mandatory
 #endif
+#endif
+    res = TestMain ();
+
     ASSERT( res==Harness::Done || res==Harness::Skipped, "Wrong return code by TestMain");
 #if __TBB_MPI_INTEROP
     if (myrank == 0) {
@@ -389,6 +403,7 @@ int main(int argc, char* argv[]) {
     REPORT( res==Harness::Done ? "done\n" : "skip\n" );
 #endif
     return 0;
+#endif /* HARNESS_SKIP_TEST */
 }
 
 #endif /* !HARNESS_CUSTOM_MAIN */
@@ -412,6 +427,10 @@ public:
     NoCopy() {}
 };
 
+#if HARNESS_TBBMALLOC_THREAD_SHUTDOWN && __TBB_SOURCE_DIRECTLY_INCLUDED && (_WIN32||_WIN64)
+#include "../tbbmalloc/tbbmalloc_internal_api.h"
+#endif
+
 //! For internal use by template function NativeParallelFor
 template<typename Index, typename Body>
 class NativeParallelForTask: NoCopy {
@@ -501,6 +520,12 @@ private:
     {
         NativeParallelForTask& self = *static_cast<NativeParallelForTask*>(object);
         (self.body)(self.index);
+#if HARNESS_TBBMALLOC_THREAD_SHUTDOWN && __TBB_SOURCE_DIRECTLY_INCLUDED && (_WIN32||_WIN64)
+        // in those cases can't release per-thread cache automatically,
+        // so do it manually
+        // TODO: investigate less-intrusive way to do it, for example via FLS keys
+        __TBB_mallocThreadShutdownNotification();
+#endif
         return 0;
     }
 };
diff --git a/src/test/harness_allocator.h b/src/test/harness_allocator.h
index 6ba30c8..d5b2bcd 100644
--- a/src/test/harness_allocator.h
+++ b/src/test/harness_allocator.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/test/harness_assert.h b/src/test/harness_assert.h
index 6868d9c..9402848 100644
--- a/src/test/harness_assert.h
+++ b/src/test/harness_assert.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/test/harness_bad_expr.h b/src/test/harness_bad_expr.h
index f29109e..ace7b9f 100644
--- a/src/test/harness_bad_expr.h
+++ b/src/test/harness_bad_expr.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/test/harness_barrier.h b/src/test/harness_barrier.h
index 148959c..877217b 100644
--- a/src/test/harness_barrier.h
+++ b/src/test/harness_barrier.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/test/harness_checktype.h b/src/test/harness_checktype.h
index 5c0f767..232dec7 100644
--- a/src/test/harness_checktype.h
+++ b/src/test/harness_checktype.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/test/harness_concurrency.h b/src/test/harness_concurrency.h
index 63dc5d2..7d0ca92 100644
--- a/src/test/harness_concurrency.h
+++ b/src/test/harness_concurrency.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/test/harness_concurrency_tracker.h b/src/test/harness_concurrency_tracker.h
index f1c6ee0..2b31400 100644
--- a/src/test/harness_concurrency_tracker.h
+++ b/src/test/harness_concurrency_tracker.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/test/harness_cpu.h b/src/test/harness_cpu.h
index 20b6dbc..c1bef23 100644
--- a/src/test/harness_cpu.h
+++ b/src/test/harness_cpu.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
@@ -87,43 +87,44 @@ static void TestCPUUserTime( int nthreads, int nactive = 1 ) {
 
     static double minimal_waittime = WAITTIME,
                   maximal_waittime = WAITTIME * 10;
-    double usrtime;
-    double waittime;
+    double usrtime_delta;
+    double waittime_delta;
     tbb::tick_count stamp = tbb::tick_count::now();
+    volatile intptr_t k = (intptr_t)&usrtime_delta;
     // wait for GetCPUUserTime update
-    while( (usrtime=GetCPUUserTime())-lastusrtime < THRESHOLD ) {
-        volatile intptr_t k = (intptr_t)&usrtime;
-        for ( int i = 0; i < 1000; ++i ) ++k;
-        if ( (waittime = (tbb::tick_count::now()-stamp).seconds()) > maximal_waittime ) {
+    while( (usrtime_delta=GetCPUUserTime()-lastusrtime) < THRESHOLD ) {
+        for ( int i = 0; i < 1000; ++i ) ++k; // do fake work without which user time can stall
+        if ( (waittime_delta = (tbb::tick_count::now()-stamp).seconds()) > maximal_waittime ) {
             REPORT( "Warning: %.2f sec elapsed but user mode time is still below its threshold (%g < %g)\n", 
-                    waittime, usrtime - lastusrtime, THRESHOLD );
+                    waittime_delta, usrtime_delta, THRESHOLD );
             break;
         }
     }
-    lastusrtime = usrtime;
-    
+    lastusrtime += usrtime_delta;
+
     // Wait for workers to go sleep
     stamp = tbb::tick_count::now();
-    while( ((waittime=(tbb::tick_count::now()-stamp).seconds()) < minimal_waittime) 
-            || ((usrtime=GetCPUUserTime()-lastusrtime) < THRESHOLD) )
+    while( ((waittime_delta=(tbb::tick_count::now()-stamp).seconds()) < minimal_waittime) 
+            || ((usrtime_delta=GetCPUUserTime()-lastusrtime) < THRESHOLD) )
     {
-        if ( waittime > maximal_waittime ) {
-            REPORT( "Warning: %.2f sec elapsed but GetCPUUserTime reported only %g sec\n", waittime, usrtime );
+        for ( int i = 0; i < 1000; ++i ) ++k; // do fake work without which user time can stall
+        if ( waittime_delta > maximal_waittime ) {
+            REPORT( "Warning: %.2f sec elapsed but GetCPUUserTime reported only %g sec\n", waittime_delta, usrtime_delta );
             break;
         }
     }
 
     // Test that all workers sleep when no work.
-    while( nactive>1 && usrtime-nactive*waittime<0 ) {
+    while( nactive>1 && usrtime_delta-nactive*waittime_delta<0 ) {
         // probably the number of active threads was mispredicted
         --nactive; ++nworkers;
     }
-    double avg_worker_usrtime = (usrtime-nactive*waittime)/nworkers;
+    double avg_worker_usrtime = (usrtime_delta-nactive*waittime_delta)/nworkers;
 
-    if( avg_worker_usrtime > waittime/2 )
+    if( avg_worker_usrtime > waittime_delta/2 )
         REPORT( "ERROR: %d worker threads are spinning; waittime: %g; usrtime: %g; avg worker usrtime: %g\n",
-                nworkers, waittime, usrtime, avg_worker_usrtime);
+                nworkers, waittime_delta, usrtime_delta, avg_worker_usrtime);
     else
         REMARK("%d worker threads; waittime: %g; usrtime: %g; avg worker usrtime: %g\n",
-                        nworkers, waittime, usrtime, avg_worker_usrtime);
+                        nworkers, waittime_delta, usrtime_delta, avg_worker_usrtime);
 }
diff --git a/src/test/harness_defs.h b/src/test/harness_defs.h
index 126ad0e..2b4a4ae 100644
--- a/src/test/harness_defs.h
+++ b/src/test/harness_defs.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
@@ -74,6 +74,16 @@
   #define __TBB_LAMBDAS_PRESENT ( _MSC_VER >= 1600 )
 #endif
 
+#if __INTEL_COMPILER
+  #define __TBB_RANGE_BASED_FOR_PRESENT ( _TBB_CPP0X && __INTEL_COMPILER >= 1300 )
+#elif __clang__
+  #define __TBB_RANGE_BASED_FOR_PRESENT ( __has_feature(__cxx_range_for))
+#elif __GNUC__
+  #define __TBB_RANGE_BASED_FOR_PRESENT ( _TBB_CPP0X && __TBB_GCC_VERSION >= 40500 )
+#elif _MSC_VER
+  #define __TBB_RANGE_BASED_FOR_PRESENT ( _MSC_VER >= 1700 )
+#endif
+
 #if __GNUC__ && __ANDROID__
   /** Android GCC does not support _thread keyword **/
   #define __TBB_THREAD_LOCAL_VARIABLES_PRESENT 0
@@ -91,6 +101,8 @@
   #define __TBB_PVALLOC_PRESENT 1
 #endif
 
+//MSVC 2013 is unable to properly resolve call to overloaded operator= with std::initilizer_list argument for std::pair list elements
+#define __TBB_CPP11_INIT_LIST_ASSIGN_OP_RESOLUTION_BROKEN     _MSC_FULL_VER <= 180021005 && _MSC_VER && !__INTEL_COMPILER
 //Implementation of C++11 std::placeholders in libstdc++ coming with gcc prior to 4.5 reveals bug in Intel Compiler 13 causing "multiple definition" link errors.
 #define __TBB_CPP11_STD_PLACEHOLDERS_LINKAGE_BROKEN ((__INTEL_COMPILER == 1300 || __INTEL_COMPILER == 1310 )&& __GXX_EXPERIMENTAL_CXX0X__ && __TBB_GCC_VERSION < 40500)
 
diff --git a/src/test/harness_dynamic_libs.h b/src/test/harness_dynamic_libs.h
index 3077836..cd380e9 100644
--- a/src/test/harness_dynamic_libs.h
+++ b/src/test/harness_dynamic_libs.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/test/harness_eh.h b/src/test/harness_eh.h
index 9b3c46b..1e3aa15 100644
--- a/src/test/harness_eh.h
+++ b/src/test/harness_eh.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/test/harness_graph.h b/src/test/harness_graph.h
index b16780c..e90a068 100644
--- a/src/test/harness_graph.h
+++ b/src/test/harness_graph.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
@@ -272,7 +272,7 @@ struct harness_counting_receiver : public tbb::flow::receiver<T>, NoCopy {
 
     /* override */ tbb::task *try_put_task( const T & ) {
       ++my_count;
-      return const_cast<tbb::task *>(tbb::flow::interface6::SUCCESSFULLY_ENQUEUED);
+      return const_cast<tbb::task *>(tbb::flow::interface7::SUCCESSFULLY_ENQUEUED);
     }
 
     void validate() {
@@ -322,7 +322,7 @@ struct harness_mapped_receiver : public tbb::flow::receiver<T>, NoCopy {
       } else {
           ++my_count;
       }
-      return const_cast<tbb::task *>(tbb::flow::interface6::SUCCESSFULLY_ENQUEUED);
+      return const_cast<tbb::task *>(tbb::flow::interface7::SUCCESSFULLY_ENQUEUED);
     }
 
     void validate() {
diff --git a/src/test/harness_inject_scheduler.h b/src/test/harness_inject_scheduler.h
index 16a6ebf..90d5634 100644
--- a/src/test/harness_inject_scheduler.h
+++ b/src/test/harness_inject_scheduler.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/test/harness_iterator.h b/src/test/harness_iterator.h
index cc5299a..27aed90 100644
--- a/src/test/harness_iterator.h
+++ b/src/test/harness_iterator.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/test/harness_m128.h b/src/test/harness_m128.h
index 6fdbb3d..2d19ccb 100644
--- a/src/test/harness_m128.h
+++ b/src/test/harness_m128.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/test/harness_memory.h b/src/test/harness_memory.h
index db116df..fc293f7 100644
--- a/src/test/harness_memory.h
+++ b/src/test/harness_memory.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/test/harness_mic.h b/src/test/harness_mic.h
index ccc2e15..67061c6 100644
--- a/src/test/harness_mic.h
+++ b/src/test/harness_mic.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/test/harness_report.h b/src/test/harness_report.h
index be4f3bc..2de6687 100644
--- a/src/test/harness_report.h
+++ b/src/test/harness_report.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/test/harness_runtime_loader.h b/src/test/harness_runtime_loader.h
new file mode 100644
index 0000000..c96a273
--- /dev/null
+++ b/src/test/harness_runtime_loader.h
@@ -0,0 +1,45 @@
+/*
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
+
+    This file is part of Threading Building Blocks.
+
+    Threading Building Blocks is free software; you can redistribute it
+    and/or modify it under the terms of the GNU General Public License
+    version 2 as published by the Free Software Foundation.
+
+    Threading Building Blocks is distributed in the hope that it will be
+    useful, but WITHOUT ANY WARRANTY; without even the implied warranty
+    of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with Threading Building Blocks; if not, write to the Free Software
+    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+
+    As a special exception, you may use this file as part of a free software
+    library without restriction.  Specifically, if other files instantiate
+    templates or use macros or inline functions from this file, or you compile
+    this file and link it with other files to produce an executable, this
+    file does not by itself cause the resulting executable to be covered by
+    the GNU General Public License.  This exception does not however
+    invalidate any other reasons why the executable file might be covered by
+    the GNU General Public License.
+*/
+
+#ifndef harness_runtime_loader_H
+#define harness_runtime_loader_H
+
+#if HARNESS_USE_RUNTIME_LOADER
+    #if TEST_USES_TBB
+        #define TBB_PREVIEW_RUNTIME_LOADER 1
+        #include "tbb/runtime_loader.h"
+        static char const * _path[] = { ".", NULL };
+        // declaration must be placed before 1st TBB call
+        static tbb::runtime_loader _runtime_loader( _path );
+    #else // TEST_USES_TBB
+        // if TBB library is not used, no need to test Runtime Loader
+        #define HARNESS_SKIP_TEST 1
+    #endif // TEST_USES_TBB
+#endif // HARNESS_USE_RUNTIME_LOADER
+
+#endif /* harness_runtime_loader_H */
diff --git a/src/test/harness_task.h b/src/test/harness_task.h
index a039bbf..411ecb7 100644
--- a/src/test/harness_task.h
+++ b/src/test/harness_task.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/test/harness_tbb_independence.h b/src/test/harness_tbb_independence.h
index 90025f2..42609fb 100644
--- a/src/test/harness_tbb_independence.h
+++ b/src/test/harness_tbb_independence.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
@@ -29,6 +29,14 @@
 #ifndef harness_tbb_independence_H
 #define harness_tbb_independence_H
 
+// The tests which include tbb/atomic.h gain the dependency on the __TBB_ASSERT
+// implementation even the test does not use anything from it. But almost all
+// compilers optimize out unused inline function so they throw out the
+// dependency. But to be pedantic with the standard the __TBB_ASSERT
+// implementation should be provided. Moreover the offload compiler really
+// requires it.
+#include "../tbb/tbb_assert_impl.h"
+
 #if __linux__  && __ia64__
 
 #define __TBB_NO_IMPLICIT_LINKAGE 1
diff --git a/src/test/harness_test_cases_framework.h b/src/test/harness_test_cases_framework.h
index d2b42f8..e6b8ca2 100644
--- a/src/test/harness_test_cases_framework.h
+++ b/src/test/harness_test_cases_framework.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/test/harness_tsx.h b/src/test/harness_tsx.h
index 4f22291..90e0326 100644
--- a/src/test/harness_tsx.h
+++ b/src/test/harness_tsx.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
@@ -26,34 +26,18 @@
     the GNU General Public License.
 */
 
-// Header that sets HAVE_tsx if TSX is available
-#define HAVE_TSX ( __TBB_x86_32 || __TBB_x86_64 )
+// Header that includes TSX-specific test functions
 
-#if HAVE_TSX 
+#if __TBB_TSX_AVAILABLE 
 
-// TODO: extend it for other compilers when we add API for XTEST
-#if __INTEL_COMPILER
+#if (__INTEL_COMPILER || __GNUC__ || _MSC_VER)
 
 #include "harness_defs.h"
+#include "tbb/tbb_config.h"
 
 inline static bool IsInsideTx()
 {
-#if _MSC_VER
-    __int8 res = 0;
-    __asm {
-      _asm _emit 0x0F 
-      _asm _emit 0x01 
-      _asm _emit 0xD6
-      _asm setz ah
-      _asm mov  res, ah
-    }
-    return res==0;
-#else
-    int8_t res = 0;
-    __asm__ __volatile__ (".byte 0x0F; .byte 0x01; .byte 0xD6;\n"
-                          "setz %0" : "=r"(res) : : "memory" );
-#endif
-    return res==0;
+    return __TBB_machine_is_in_transaction() != 0;
 }
 
 #if _MSC_VER
@@ -66,7 +50,8 @@ bool have_TSX() {
 #if _MSC_VER
     int info[4] = {0,0,0,0};
     const int EBX = 1;
-    __cpuidex(info, 7, 0);
+    int old_ecx = 0;
+    __cpuidex(info, 7, old_ecx);
     result = (info[EBX] & hle_ebx_mask)!=0;
     if( result ) ASSERT( (info[EBX] & rtm_ebx_mask)!=0, NULL );
 #elif __GNUC__
@@ -77,13 +62,18 @@ bool have_TSX() {
                            "cpuid\n"
                            "movl %%ebx, %0\n"
                            "movl %%esi, %%ebx\n"
-                           : "=a"(EBX) : "0" (reg_eax), "c" (reg_ecx) : "esi" );
+                           : "=a"(EBX) : "0" (reg_eax), "c" (reg_ecx) : "esi",
+#if __TBB_x86_64
+                           "ebx",
+#endif
+                           "edx"
+                           );
     result = (EBX & hle_ebx_mask)!=0 ;
     if( result ) ASSERT( (EBX & rtm_ebx_mask)!=0, NULL );
 #endif
     return result;
 }
 
-#endif /* __INTEL_COMPILER */
+#endif /* __INTEL_COMPILER || __GNUC__ || _MSC_VER */
 
-#endif /* HAVE_TSX */
+#endif /* __TBB_TSX_AVAILABLE */
diff --git a/src/test/test_ScalableAllocator.cpp b/src/test/test_ScalableAllocator.cpp
index eb1b3b9..dca4d75 100644
--- a/src/test/test_ScalableAllocator.cpp
+++ b/src/test/test_ScalableAllocator.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
@@ -40,10 +40,7 @@
 #include "tbb/memory_pool.h"
 #include "tbb/scalable_allocator.h"
 
-#if __TBB_SOURCE_DIRECTLY_INCLUDED && (_WIN32||_WIN64)
-#include "../tbbmalloc/tbbmalloc_internal_api.h"
-#define __TBBMALLOC_CALL_THREAD_SHUTDOWN 1
-#endif
+#define HARNESS_TBBMALLOC_THREAD_SHUTDOWN 1
 // the actual body of the test is there:
 #include "test_allocator.h"
 #include "harness_allocator.h"
diff --git a/src/test/test_ScalableAllocator_STL.cpp b/src/test/test_ScalableAllocator_STL.cpp
index 6c8529c..5bd35a8 100644
--- a/src/test/test_ScalableAllocator_STL.cpp
+++ b/src/test/test_ScalableAllocator_STL.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/test/test_aggregator.cpp b/src/test/test_aggregator.cpp
index 807ea6b..efe558e 100644
--- a/src/test/test_aggregator.cpp
+++ b/src/test/test_aggregator.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/test/test_aligned_space.cpp b/src/test/test_aligned_space.cpp
index 152ae6e..81e489f 100644
--- a/src/test/test_aligned_space.cpp
+++ b/src/test/test_aligned_space.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/test/test_allocator.h b/src/test/test_allocator.h
index 7f295a0..bd7cc3e 100644
--- a/src/test/test_allocator.h
+++ b/src/test/test_allocator.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
@@ -36,6 +36,9 @@
 // are supposed to work in the abscense of STL.
 
 #include "harness.h"
+#if __TBB_ALLOCATOR_CONSTRUCT_VARIADIC
+    #include <utility> //for std::pair
+#endif
 
 template<typename A>
 struct is_zero_filling {
@@ -137,6 +140,22 @@ void TestBasic( A& a ) {
     a.destroy( p );
     ASSERT( NumberOfFoo==n, "destructor for Foo not called?" );
     a.deallocate(p,1);
+
+    #if __TBB_ALLOCATOR_CONSTRUCT_VARIADIC
+    {
+        typedef typename A:: template rebind<std::pair<typename A::value_type, typename A::value_type> >::other pair_allocator_type;
+        pair_allocator_type pair_allocator(a);
+        int NumberOfFooBeforeConstruct= NumberOfFoo;
+        typename pair_allocator_type::pointer pair_pointer = pair_allocator.allocate(1);
+        pair_allocator.construct( pair_pointer, cx, cx);
+        ASSERT( NumberOfFoo==NumberOfFooBeforeConstruct+2, "constructor for Foo not called appropriate number of times?" );
+
+        pair_allocator.destroy( pair_pointer );
+        ASSERT( NumberOfFoo==NumberOfFooBeforeConstruct, "destructor for Foo not called appropriate number of times?" );
+        pair_allocator.deallocate(pair_pointer,1);
+    }
+    #endif
+
 }
 
 #include "tbb/blocked_range.h"
@@ -190,9 +209,6 @@ struct Body: NoAssign {
         for( size_t k=0; k<256; ++k )
             if(array[k])
                 check_deallocate(array, k, thread_id);
-#if __TBBMALLOC_CALL_THREAD_SHUTDOWN
-        __TBB_mallocThreadShutdownNotification();
-#endif
     }
 };
 
diff --git a/src/test/test_allocator_STL.h b/src/test/test_allocator_STL.h
index cf11c3c..24c4a1b 100644
--- a/src/test/test_allocator_STL.h
+++ b/src/test/test_allocator_STL.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/test/test_assembly.cpp b/src/test/test_assembly.cpp
index b511173..c6d40df 100644
--- a/src/test/test_assembly.cpp
+++ b/src/test/test_assembly.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/test/test_atomic.cpp b/src/test/test_atomic.cpp
index d34722a..1506fcd 100644
--- a/src/test/test_atomic.cpp
+++ b/src/test/test_atomic.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
@@ -455,7 +455,7 @@ namespace TestConstExprInitializationOfGlobalObjectsHelper{
 
         template <typename T>
         struct registration{
-            registration(){const_expr_tests.push_back(TestStaticInit<T>);}
+            registration(){const_expr_tests.push_back(&TestStaticInit<T>);}
         };
     }
     //according to ISO C++11 [basic.start.init], static data fields of class template have unordered
diff --git a/src/test/test_blocked_range.cpp b/src/test/test_blocked_range.cpp
index d6d1290..f782aba 100644
--- a/src/test/test_blocked_range.cpp
+++ b/src/test/test_blocked_range.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
@@ -35,7 +35,7 @@
 class AbstractValueType {
     AbstractValueType() {}
     int value;
-public: 
+public:
     friend AbstractValueType MakeAbstractValueType( int i );
     friend int GetValueOf( const AbstractValueType& v ) {return v.value;}
 };
@@ -116,6 +116,27 @@ void ParallelTest() {
     }
 }
 
+#if __TBB_RANGE_BASED_FOR_PRESENT
+#include "test_range_based_for.h"
+#include <functional>
+void TestRangeBasedFor(){
+    using namespace range_based_for_support_tests;
+    REMARK("testing range based for loop compatibility \n");
+
+    int int_array[100] = {0};
+    const size_t sequence_length = Harness::array_length(int_array);
+
+    for (int i =0; i< sequence_length; ++i){
+        int_array[i]=i + 1;
+    }
+
+    const tbb::blocked_range<int*> r(int_array, Harness::end(int_array), 1);
+
+    ASSERT(range_based_for_accumulate<int>(r, std::plus<int>(), 0) == gauss_summ_of_int_sequence(sequence_length), "incorrect accumulated value generated via range based for ?");
+}
+#endif //if __TBB_RANGE_BASED_FOR_PRESENT
+//------------------------------------------------------------------------
+// Test driver
 #include "tbb/task_scheduler_init.h"
 
 int TestMain () {
@@ -124,5 +145,10 @@ int TestMain () {
         tbb::task_scheduler_init init(p);
         ParallelTest();
     }
+
+    #if __TBB_RANGE_BASED_FOR_PRESENT
+        TestRangeBasedFor();
+    #endif //if __TBB_RANGE_BASED_FOR_PRESENT
+
     return Harness::Done;
 }
diff --git a/src/test/test_blocked_range2d.cpp b/src/test/test_blocked_range2d.cpp
index d04fcc0..bd06c2b 100644
--- a/src/test/test_blocked_range2d.cpp
+++ b/src/test/test_blocked_range2d.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/test/test_blocked_range3d.cpp b/src/test/test_blocked_range3d.cpp
index 9d1ee19..d154be5 100644
--- a/src/test/test_blocked_range3d.cpp
+++ b/src/test/test_blocked_range3d.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/test/test_broadcast_node.cpp b/src/test/test_broadcast_node.cpp
index a362a29..0b89a6e 100644
--- a/src/test/test_broadcast_node.cpp
+++ b/src/test/test_broadcast_node.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
@@ -66,7 +66,7 @@ public:
 
     /* override */ tbb::task * try_put_task( const T &v ) {
         ++my_counters[(int)v];
-        return const_cast<tbb::task *>(tbb::flow::interface6::SUCCESSFULLY_ENQUEUED);
+        return const_cast<tbb::task *>(tbb::flow::interface7::SUCCESSFULLY_ENQUEUED);
     }
 
     /*override*/void reset_receiver() { }
diff --git a/src/test/test_buffer_node.cpp b/src/test/test_buffer_node.cpp
index 56b6042..5f277e9 100644
--- a/src/test/test_buffer_node.cpp
+++ b/src/test/test_buffer_node.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/test/test_cache_aligned_allocator.cpp b/src/test/test_cache_aligned_allocator.cpp
index 59f1851..a526ad3 100644
--- a/src/test/test_cache_aligned_allocator.cpp
+++ b/src/test/test_cache_aligned_allocator.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
@@ -45,7 +45,6 @@ void Test_NFS_Allocate_Throws() {
 #if TBB_USE_EXCEPTIONS && !__TBB_THROW_ACROSS_MODULE_BOUNDARY_BROKEN
     using namespace tbb::internal;
 
-    bool exception_caught = false;
     // First, allocate a reasonably big amount of memory, big enough
     // to not cause warp around in system allocator after adding object header
     // during address2 allocation.
@@ -55,14 +54,14 @@ void Test_NFS_Allocate_Throws() {
     try {
         address1 = NFS_Allocate( nitems, itemsize, NULL );
     } catch( ... ) {
-        address1 = NULL;
+        // intentionally empty
     }
-    ASSERT( address1, "NFS_Allocate unable to obtain 32*1024 bytes" );
+    ASSERT( address1, "NFS_Allocate unable to obtain 1024*1024 bytes" );
 
-    void *address2 = NULL;
+    bool exception_caught = false;
     try {
         // Try allocating more memory than left in the address space; should cause std::bad_alloc
-        address2 = NFS_Allocate( 1, ~size_t(0) - itemsize*nitems + NFS_GetLineSize(), NULL);
+        (void) NFS_Allocate( 1, ~size_t(0) - itemsize*nitems + NFS_GetLineSize(), NULL);
     } catch( std::bad_alloc ) {
         exception_caught = true;
     } catch( ... ) {
@@ -70,7 +69,6 @@ void Test_NFS_Allocate_Throws() {
         exception_caught = true;
     }
     ASSERT( exception_caught, "NFS_Allocate did not throw bad_alloc" );
-    ASSERT( !address2, "NFS_Allocate returned garbage?" );
 
     try {
         NFS_Free( address1 );
diff --git a/src/test/test_cache_aligned_allocator_STL.cpp b/src/test/test_cache_aligned_allocator_STL.cpp
index 71c0d6b..03ed83a 100644
--- a/src/test/test_cache_aligned_allocator_STL.cpp
+++ b/src/test/test_cache_aligned_allocator_STL.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/test/test_cilk_common.h b/src/test/test_cilk_common.h
index 474a099..6313d7c 100644
--- a/src/test/test_cilk_common.h
+++ b/src/test/test_cilk_common.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/test/test_cilk_dynamic_load.cpp b/src/test/test_cilk_dynamic_load.cpp
index 6b393b3..4f7507e 100644
--- a/src/test/test_cilk_dynamic_load.cpp
+++ b/src/test/test_cilk_dynamic_load.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/test/test_cilk_interop.cpp b/src/test/test_cilk_interop.cpp
index 6bd560b..0ff38cd 100644
--- a/src/test/test_cilk_interop.cpp
+++ b/src/test/test_cilk_interop.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/test/test_combinable.cpp b/src/test/test_combinable.cpp
index 255360b..14aa6b3 100644
--- a/src/test/test_combinable.cpp
+++ b/src/test/test_combinable.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/test/test_concurrent_hash_map.cpp b/src/test/test_concurrent_hash_map.cpp
index b22a539..12d31a6 100644
--- a/src/test/test_concurrent_hash_map.cpp
+++ b/src/test/test_concurrent_hash_map.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
@@ -77,12 +77,7 @@ namespace tbb {
     };
 }
 
-#if HARNESS_USE_RUNTIME_LOADER
-    #define TBB_PREVIEW_RUNTIME_LOADER 1
-    #include "tbb/runtime_loader.h"
-    static char const * test_path[] = { ".", NULL };
-    static tbb::runtime_loader test_runtime_loader( test_path );
-#endif // HARNESS_USE_RUNTIME_LOADER
+#include "harness_runtime_loader.h"
 
 tbb::concurrent_hash_map<UserDefinedKeyType,int> TestInstantiationWithUserDefinedKeyType;
 
@@ -925,13 +920,32 @@ void TestInitList(){
     using namespace initializer_list_support_tests;
     REMARK("testing initializer_list methods \n");
 
-    typedef tbb::concurrent_hash_map<int,int>::value_type value_type;
-    std::initializer_list<value_type > pairs_il = {{1,1},{2,2},{3,3},{4,4},{5,5}};
+    typedef tbb::concurrent_hash_map<int,int> ch_map_type;
+    std::initializer_list<ch_map_type::value_type > pairs_il = {{1,1},{2,2},{3,3},{4,4},{5,5}};
 
-    TestInitListSupportWithoutAssign<tbb::concurrent_hash_map<int,int> >(pairs_il);
-    TestInitListSupportWithoutAssign<tbb::concurrent_hash_map<int,int> >({});
+    TestInitListSupportWithoutAssign<ch_map_type>(pairs_il);
+    TestInitListSupportWithoutAssign<ch_map_type>({});
 }
 #endif //if __TBB_INITIALIZER_LISTS_PRESENT
+
+#if __TBB_RANGE_BASED_FOR_PRESENT
+#include "test_range_based_for.h"
+
+void TestRangeBasedFor(){
+    using namespace range_based_for_support_tests;
+
+    REMARK("testing range based for loop compatibility \n");
+    typedef tbb::concurrent_hash_map<int,int> ch_map;
+    ch_map a_ch_map;
+
+    const int sequence_length = 100;
+    for (int i = 1; i <= sequence_length; ++i){
+        a_ch_map.insert(ch_map::value_type(i,i));
+    }
+
+    ASSERT( range_based_for_accumulate(a_ch_map, pair_second_summer(), 0) == gauss_summ_of_int_sequence(sequence_length), "incorrect accumulated value generated via range based for ?");
+}
+#endif //if __TBB_RANGE_BASED_FOR_PRESENT
 //------------------------------------------------------------------------
 // Test driver
 //------------------------------------------------------------------------
@@ -955,6 +969,10 @@ int TestMain () {
     TestInitList();
 #endif //__TBB_INITIALIZER_LISTS_PRESENT
 
+#if __TBB_RANGE_BASED_FOR_PRESENT
+    TestRangeBasedFor();
+#endif //#if __TBB_RANGE_BASED_FOR_PRESENT
+
 #if TBB_USE_EXCEPTIONS
     TestExceptions();
 #endif /* TBB_USE_EXCEPTIONS */
diff --git a/src/test/test_concurrent_lru_cache.cpp b/src/test/test_concurrent_lru_cache.cpp
index 28f8ea8..a97a979 100644
--- a/src/test/test_concurrent_lru_cache.cpp
+++ b/src/test/test_concurrent_lru_cache.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/test/test_concurrent_monitor.cpp b/src/test/test_concurrent_monitor.cpp
index e997d0c..e97f492 100644
--- a/src/test/test_concurrent_monitor.cpp
+++ b/src/test/test_concurrent_monitor.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/test/test_concurrent_priority_queue.cpp b/src/test/test_concurrent_priority_queue.cpp
index e239044..0e59927 100644
--- a/src/test/test_concurrent_priority_queue.cpp
+++ b/src/test/test_concurrent_priority_queue.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
@@ -191,7 +191,7 @@ void TestToVector(){
     tbb::concurrent_priority_queue<int> q(source.begin(),source.end());
     std::vector<int> from_cpq = to_vector()(q);
     std::sort(source.begin(),source.end());
-    ASSERT(source == from_cpq,"quality_comparison_helpers::to_vector incorrectly copied items from CPQ?");
+    ASSERT(source == from_cpq,"equality_comparison_helpers::to_vector incorrectly copied items from CPQ?");
 }
 
 void TestHelpers(){
diff --git a/src/test/test_concurrent_queue.cpp b/src/test/test_concurrent_queue.cpp
index 1e7f5ec..1a99dd9 100644
--- a/src/test/test_concurrent_queue.cpp
+++ b/src/test/test_concurrent_queue.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/test/test_concurrent_queue.h b/src/test/test_concurrent_queue.h
index 9e5b39b..d0cc75d 100644
--- a/src/test/test_concurrent_queue.h
+++ b/src/test/test_concurrent_queue.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/test/test_concurrent_unordered.cpp b/src/test/test_concurrent_unordered.cpp
index f7053ca..72f7211 100644
--- a/src/test/test_concurrent_unordered.cpp
+++ b/src/test/test_concurrent_unordered.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
@@ -34,10 +34,15 @@
 #include "tbb/concurrent_unordered_map.h"
 #include "tbb/concurrent_unordered_set.h"
 #include "harness_assert.h"
-#if !__TBB_TEST_SECONDARY
+
+#if __TBB_TEST_SECONDARY
+
+#include "harness_runtime_loader.h"
+
+#else // __TBB_TEST_SECONDARY
+
 #include "tbb/parallel_for.h"
 #include "tbb/tick_count.h"
-#include <stdio.h>
 #include "harness.h"
 // Test that unordered containers do not require keys have default constructors.
 #define __HARNESS_CHECKTYPE_DEFAULT_CTOR 0
@@ -268,6 +273,23 @@ void TestInitList(){
 }
 #endif //if __TBB_INITIALIZER_LISTS_PRESENT
 
+#if __TBB_RANGE_BASED_FOR_PRESENT
+#include "test_range_based_for.h"
+void TestRangeBasedFor(){
+    using namespace range_based_for_support_tests;
+
+    REMARK("testing range based for loop compatibility \n");
+    typedef tbb::concurrent_unordered_map<int,int> cu_map;
+    cu_map a_cu_map;
+    const int sequence_length = 100;
+    for (int i =1; i<= sequence_length; ++i){
+        a_cu_map.insert(cu_map::value_type(i,i));
+    }
+
+    ASSERT( range_based_for_accumulate(a_cu_map, pair_second_summer(), 0) == gauss_summ_of_int_sequence(sequence_length), "incorrect accumulated value generated via range based for ?");
+}
+#endif //if __TBB_RANGE_BASED_FOR_PRESENT
+
 template<typename T>
 void test_basic(const char * str)
 {
@@ -776,10 +798,6 @@ void TEST_INITIALIZATION_TIME_OPERATIONS_NAME(){
 
 #if !__TBB_TEST_SECONDARY
 int TestMain () {
-    #if __TBB_INITIALIZER_LISTS_PRESENT
-        TestInitList();
-    #endif
-
     test_machine();
     test_basic<MyMap>("concurrent unordered Map");
     test_concurrent<MyMap>("concurrent unordered Map");
@@ -811,6 +829,14 @@ int TestMain () {
         REPORT("Known issue: global objects initialization time tests skipped.\n");
     #endif //!__TBB_CPP11_STD_PLACEHOLDERS_LINKING_BROKEN
 
+    #if __TBB_INITIALIZER_LISTS_PRESENT
+        TestInitList();
+    #endif
+
+    #if __TBB_RANGE_BASED_FOR_PRESENT
+        TestRangeBasedFor();
+    #endif
+
     return Harness::Done;
 }
 #endif //#if !__TBB_TEST_SECONDARY
diff --git a/src/test/test_concurrent_vector.cpp b/src/test/test_concurrent_vector.cpp
index 3b6f4d5..85d20d3 100644
--- a/src/test/test_concurrent_vector.cpp
+++ b/src/test/test_concurrent_vector.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
@@ -656,6 +656,26 @@ void TestInitList(){
 }
 #endif //if __TBB_INITIALIZER_LISTS_PRESENT
 
+#if __TBB_RANGE_BASED_FOR_PRESENT
+#include "test_range_based_for.h"
+#include <functional>
+
+void TestRangeBasedFor(){
+    using namespace range_based_for_support_tests;
+
+    REMARK("testing range based for loop compatibility \n");
+    typedef tbb::concurrent_vector<int> c_vector;
+    c_vector a_c_vector;
+
+    const int sequence_length = 100;
+    for (int i =1; i<= sequence_length; ++i){
+        a_c_vector.push_back(i);
+    }
+
+    ASSERT( range_based_for_accumulate(a_c_vector, std::plus<int>(), 0) == gauss_summ_of_int_sequence(sequence_length), "incorrect accumulated value generated via range based for ?");
+}
+#endif //if __TBB_RANGE_BASED_FOR_PRESENT
+
 //! Test the assignment operator and swap
 void TestAssign() {
     typedef tbb::concurrent_vector<FooWithAssign, local_counting_allocator<std::allocator<FooWithAssign>, size_t > > vector_t;
@@ -976,11 +996,11 @@ void TestExceptions() {
 #endif /* TBB_USE_EXCEPTIONS */
 
 //------------------------------------------------------------------------
-// Test SSE / AVX
+// Test support for SIMD instructions
 //------------------------------------------------------------------------
 #include "harness_m128.h"
 
-#if HAVE_m128 | HAVE_m256
+#if HAVE_m128 || HAVE_m256
 
 template<typename ClassWithVectorType>
 void TestVectorTypes() {
@@ -1033,6 +1053,9 @@ int TestMain () {
     TestComparison();
     TestFindPrimes();
     TestSort();
+#if __TBB_RANGE_BASED_FOR_PRESENT
+    TestRangeBasedFor();
+#endif //if __TBB_RANGE_BASED_FOR_PRESENT
 #if __TBB_THROW_ACROSS_MODULE_BOUNDARY_BROKEN
     REPORT("Known issue: exception safety test is skipped.\n");
 #elif TBB_USE_EXCEPTIONS
diff --git a/src/test/test_condition_variable.h b/src/test/test_condition_variable.h
index 60e1f52..0e35c28 100644
--- a/src/test/test_condition_variable.h
+++ b/src/test/test_condition_variable.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/test/test_continue_node.cpp b/src/test/test_continue_node.cpp
index 2af5292..e2a160d 100644
--- a/src/test/test_continue_node.cpp
+++ b/src/test/test_continue_node.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
@@ -184,6 +184,55 @@ void test_concurrency(int num_threads) {
     run_continue_nodes<int>();
     run_continue_nodes<empty_no_assign>();
 }
+/*
+ * Connection of two graphs is not currently supported, but works to some limited extent.
+ * This test is included to check for backward compatibility. It checks that a continue_node 
+ * with predecessors in two different graphs receives the required
+ * number of continue messages before it executes.
+ */
+using namespace tbb::flow;
+
+struct add_to_counter {
+    int* counter;
+    add_to_counter(int& var):counter(&var){}
+    void operator()(continue_msg){*counter+=1;}
+};
+
+void test_two_graphs(){
+    int count=0;
+
+    //graph g with broadcast_node and continue_node
+    graph g;
+    broadcast_node<continue_msg> start_g(g);
+    continue_node<continue_msg> first_g(g, add_to_counter(count));
+
+    //graph h with broadcast_node
+    graph h;
+    broadcast_node<continue_msg> start_h(h);
+
+    //making two edges to first_g from the two graphs
+    make_edge(start_g,first_g);
+    make_edge(start_h, first_g);
+
+    //two try_puts from the two graphs
+    start_g.try_put(continue_msg());
+    start_h.try_put(continue_msg());
+    g.wait_for_all();
+    ASSERT(count==1, "Not all continue messages received");
+ 
+    //two try_puts from the graph that doesn't contain the node
+    count=0;
+    start_h.try_put(continue_msg());
+    start_h.try_put(continue_msg());
+    g.wait_for_all();
+    ASSERT(count==1, "Not all continue messages received -1");
+
+    //only one try_put
+    count=0;
+    start_g.try_put(continue_msg());
+    g.wait_for_all();
+    ASSERT(count==0, "Node executed without waiting for all predecessors");
+}
 
 int TestMain() {
     if( MinThread<1 ) {
@@ -193,6 +242,7 @@ int TestMain() {
     for( int p=MinThread; p<=MaxThread; ++p ) {
        test_concurrency(p);
    }
+   test_two_graphs();
    return Harness::Done;
 }
 
diff --git a/src/test/test_critical_section.cpp b/src/test/test_critical_section.cpp
index f4cc612..57254b2 100644
--- a/src/test/test_critical_section.cpp
+++ b/src/test/test_critical_section.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/test/test_dynamic_link.cpp b/src/test/test_dynamic_link.cpp
index 687c357..b6f8935 100644
--- a/src/test/test_dynamic_link.cpp
+++ b/src/test/test_dynamic_link.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/test/test_eh_algorithms.cpp b/src/test/test_eh_algorithms.cpp
index a2ed9db..b2291fb 100644
--- a/src/test/test_eh_algorithms.cpp
+++ b/src/test/test_eh_algorithms.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
@@ -185,7 +185,7 @@ void TestParallelLoopAux() {
         //      threw is g_MasterExecutedThrow if only the master is allowed, else g_NonMasterExecutedThrow.
         //      Only one context, so TGCCancelled should be <= g_NumThreads.
         //
-        // the reasoning is similar for nested algorithms in a single context (Test2).  
+        // the reasoning is similar for nested algorithms in a single context (Test2).
         //
         // If a thread throws in a context, more than one subsequent task body may see the
         // cancelled state (if they are scheduled before the state is propagated.) this is
@@ -708,7 +708,7 @@ void Test3_parallel_do () {
     ResetGlobals();
     PREPARE_RANGE(Iterator, OUTER_ITER_RANGE);
     intptr_t innerCalls = INNER_ITER_RANGE,
-             // The assumption here is the same as in outer parallel fors.  
+             // The assumption here is the same as in outer parallel fors.
              minExecuted = (g_NumThreads - 1) * innerCalls;
     g_Master = Harness::CurrentTid();
     TRY();
@@ -776,9 +776,7 @@ void Test4_parallel_do () {
         // This test has the same property as Test4 (parallel_for); the exception can be
         // thrown, but some number of tasks from the outer Pdo can execute after the throw but
         // before the cancellation is signaled (have seen 36).
-        ASSERT (g_CurExecuted <= minExecuted + g_NumThreads, "Too many tasks survived exception");
-        if(g_CurExecuted > minExecuted + g_NumThreads) REMARK("Unusual number of pdo tasks executed after signal (%d vs. %d)\n",
-                (int)g_CurExecuted, minExecuted - g_NumThreads);
+        ASSERT_WARNING(g_CurExecuted < maxExecuted || g_TGCCancelled, "All tasks survived exception. Oversubscription?");
     }
     else {
         minExecuted = g_NumExceptionsCaught;
@@ -823,7 +821,7 @@ void Test5_parallel_do () {
         if(!g_ExceptionCaught) {
             if(g_ExceptionInMaster)
                 REMARK("PDo exception not thrown; non-masters handled all throwing values.\n");
-            else 
+            else
                 REMARK("PDo exception not thrown; master handled all throwing values.\n");
         }
     }
@@ -1031,7 +1029,7 @@ void Test0_pipeline () {
 
 #if TBB_USE_EXCEPTIONS
 
-// Simple filter with exception throwing.  If parallel, will wait until 
+// Simple filter with exception throwing.  If parallel, will wait until
 // as many parallel filters start as there are threads.
 class SimpleFilter : public tbb::filter {
     bool m_canThrow;
@@ -1175,56 +1173,66 @@ public:
     exception cancels the root parallel_do only the first g_NumThreads subranges
     will be processed (which launch inner pipelines) **/
 void Test3_pipeline ( const FilterSet& filters ) {
-    ResetGlobals();
-    g_NestedPipelines = true;
-    g_Master = Harness::CurrentTid();
-    intptr_t innerCalls = NUM_ITEMS,
-             minExecuted = (g_NumThreads - 1) * innerCalls;
-    CustomPipeline<InputFilter, OuterFilterWithIsolatedCtx> testPipeline(filters);
-    TRY();
-        testPipeline.run();
-    CATCH_AND_ASSERT();
-
-    bool okayNoExceptionCaught = (g_ExceptionInMaster && !g_MasterExecuted) ||
-        (!g_ExceptionInMaster && !g_NonMasterExecuted);
-    if ( g_SolitaryException ) {
-
-        // The test is one outer pipeline with two NestedFilters that each start an inner pipeline.
-        // Each time the input filter of a pipeline delivers its first item, it increments
-        // g_PipelinesStarted.  When g_SolitaryException, the throw will not occur until
-        // g_PipelinesStarted >= 3.  (This is so at least a second pipeline in its own isolated
-        // context will start; that is what we're testing.)
-        //
-        // There are two pipelines which will NOT run to completion when a solitary throw
-        // happens in an isolated inner context: the outer pipeline and the pipeline which
-        // throws.  All the other pipelines which start should run to completion.  But only
-        // inner body invocations are counted.
-        //
-        // So g_CurExecuted should be about
-        //
-        //   (2*NUM_ITEMS) * (g_PipelinesStarted - 2) + 1
-        //   ^ executions for each completed pipeline
-        //                   ^ completing pipelines (remembering two will not complete)
-        //                                              ^ one for the inner throwing pipeline
+    for( int nTries = 1; nTries <= 4; ++nTries) {
+        ResetGlobals();
+        g_NestedPipelines = true;
+        g_Master = Harness::CurrentTid();
+        intptr_t innerCalls = NUM_ITEMS,
+                 minExecuted = (g_NumThreads - 1) * innerCalls;
+        CustomPipeline<InputFilter, OuterFilterWithIsolatedCtx> testPipeline(filters);
+        TRY();
+            testPipeline.run();
+        CATCH_AND_ASSERT();
 
-        minExecuted = (2*NUM_ITEMS) * (g_PipelinesStarted - 2) + 1;
-        ASSERT (g_CurExecuted >= minExecuted, "Too few tasks survived exception");
-        ASSERT( g_TGCCancelled <= g_NumThreads, "Too many tasks survived exception");
-        ASSERT (g_CurExecuted <= minExecuted + (g_ExecutedAtLastCatch + g_NumThreads), "Too many tasks survived exception");
-        ASSERT (g_NumExceptionsCaught == 1, "No try_blocks in any body expected in this test");
-        // if we're only throwing from the master thread, and that thread didn't
-        // participate in the pipelines, then no throw occurred.
-        if(g_ExceptionInMaster && !g_MasterExecuted) {
-            REMARK_ONCE("Master expected to throw, but didn't participate.\n");
-        }
-        else if(!g_ExceptionInMaster && !g_NonMasterExecuted) {
-            REMARK_ONCE("Non-master expected to throw, but didn't participate.\n");
+        bool okayNoExceptionCaught = (g_ExceptionInMaster && !g_MasterExecuted) ||
+            (!g_ExceptionInMaster && !g_NonMasterExecuted);
+        // only test assertions if the test threw an exception (or we don't care)
+        bool testSucceeded = okayNoExceptionCaught || g_NumExceptionsCaught > 0;
+        if(testSucceeded) {
+            if (g_SolitaryException) {
+
+                // The test is one outer pipeline with two NestedFilters that each start an inner pipeline.
+                // Each time the input filter of a pipeline delivers its first item, it increments
+                // g_PipelinesStarted.  When g_SolitaryException, the throw will not occur until
+                // g_PipelinesStarted >= 3.  (This is so at least a second pipeline in its own isolated
+                // context will start; that is what we're testing.)
+                //
+                // There are two pipelines which will NOT run to completion when a solitary throw
+                // happens in an isolated inner context: the outer pipeline and the pipeline which
+                // throws.  All the other pipelines which start should run to completion.  But only
+                // inner body invocations are counted.
+                //
+                // So g_CurExecuted should be about
+                //
+                //   (2*NUM_ITEMS) * (g_PipelinesStarted - 2) + 1
+                //   ^ executions for each completed pipeline
+                //                   ^ completing pipelines (remembering two will not complete)
+                //                                              ^ one for the inner throwing pipeline
+
+                minExecuted = (2*NUM_ITEMS) * (g_PipelinesStarted - 2) + 1;
+                // each failing pipeline must execute at least two tasks
+                ASSERT(g_CurExecuted >= minExecuted, "Too few tasks survived exception");
+                // no more than g_NumThreads tasks will be executed in a cancelled context.  Otherwise
+                // tasks not executing at throw were scheduled.
+                ASSERT( g_TGCCancelled <= g_NumThreads, "Tasks not in-flight were executed");
+                ASSERT(g_NumExceptionsCaught == 1, "Should have only one exception");
+                // if we're only throwing from the master thread, and that thread didn't
+                // participate in the pipelines, then no throw occurred.
+                if(g_ExceptionInMaster && !g_MasterExecuted) {
+                    REMARK_ONCE("Master expected to throw, but didn't participate.\n");
+                }
+                else if(!g_ExceptionInMaster && !g_NonMasterExecuted) {
+                    REMARK_ONCE("Non-master expected to throw, but didn't participate.\n");
+                }
+            }
+            ASSERT (g_NumExceptionsCaught == 1 || okayNoExceptionCaught, "No try_blocks in any body expected in this test");
+            ASSERT ((g_CurExecuted <= g_ExecutedAtLastCatch + g_NumThreads) || okayNoExceptionCaught, "Too many tasks survived exception");
+            if(nTries > 1) REMARK("Test3_pipeline succeeeded on try %d\n", nTries);
+            return;
         }
-        ASSERT ((g_CurExecuted <= minExecuted + (g_ExecutedAtLastCatch + g_NumThreads)) ||
-                okayNoExceptionCaught, "Too many tasks survived exception");
     }
-    ASSERT (g_NumExceptionsCaught == 1 || okayNoExceptionCaught, "No try_blocks in any body expected in this test");
-    ASSERT ((g_CurExecuted <= g_ExecutedAtLastCatch + g_NumThreads) || okayNoExceptionCaught, "Too many tasks survived exception");
+    REMARK_ONCE("Test3_pipeline failed for g_NumThreads==%d, g_ExceptionInMaster==%s , g_SolitaryException==%s\n",
+            g_NumThreads, g_ExceptionInMaster?"T":"F", g_SolitaryException?"T":"F");
 } // void Test3_pipeline ()
 
 class OuterFilterWithEhBody : public tbb::filter {
@@ -1461,7 +1469,7 @@ public:
 void TestCancelation2_pipeline () {
     ResetGlobals();
     RunCancellationTest<PipelineLauncherTask<FilterToCancel2>, CancellatorTask2>();
-    // g_CurExecuted is always >= g_ExecutedAtLastCatch, because the latter is always a snapshot of the 
+    // g_CurExecuted is always >= g_ExecutedAtLastCatch, because the latter is always a snapshot of the
     // former, and g_CurExecuted is monotonic increasing.  so the comparison should be at least ==.
     // If another filter is started after cancel but before cancellation is propagated, then the
     // number will be larger.
diff --git a/src/test/test_eh_flow_graph.cpp b/src/test/test_eh_flow_graph.cpp
index e2153b4..f52b131 100644
--- a/src/test/test_eh_flow_graph.cpp
+++ b/src/test/test_eh_flow_graph.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
@@ -26,16 +26,19 @@
     the GNU General Public License.
 */
 
+#include "harness_defs.h"
+
 #if _MSC_VER
     #pragma warning (disable: 4503) // Suppress "decorated name length exceeded, name was truncated" warning
     #if !TBB_USE_EXCEPTIONS
         // Suppress "C++ exception handler used, but unwind semantics are not enabled" warning in STL headers
         #pragma warning (disable: 4530)
     #endif
-    #if _MSC_VER==1700 && !defined(__INTEL_COMPILER)
-        // Suppress "unreachable code" warning by VC++ 17.0 (VS 2012)
-        #pragma warning (disable: 4702)
-    #endif
+#endif
+
+#if __TBB_MSVC_UNREACHABLE_CODE_IGNORED
+    // Suppress "unreachable code" warning by VC++ 17.0-18.0 (VS 2012 or newer)
+    #pragma warning (disable: 4702)
 #endif
 
 #include "harness.h"
@@ -46,6 +49,12 @@
 // #define USE_TASK_SCHEDULER_OBSERVER 1
 #define TBB_PREVIEW_GRAPH_NODES 1
 
+#if _MSC_VER && defined(__INTEL_COMPILER) && !TBB_USE_DEBUG
+    #define TBB_RUN_BUFFERING_TEST __INTEL_COMPILER > 1210
+#else
+    #define TBB_RUN_BUFFERING_TEST 1
+#endif
+
 #if TBB_USE_EXCEPTIONS
 #if USE_TASK_SCHEDULER_OBSERVER
 #include "tbb/task_scheduler_observer.h"
@@ -984,7 +993,6 @@ void run_one_buffer_node_test(bool throwException,bool flog) {
     o.observe(false);
 #endif
 }
-
 template<class BufferItemType,
          TestNodeTypeEnum SourceThrowType,
          TestNodeTypeEnum SinkThrowType>
@@ -1002,6 +1010,7 @@ void run_buffer_queue_and_overwrite_node_test() {
         if(i == 2) continue;  // no need to test flog w/o throws
         bool throwException = (i & 0x1) != 0;
         bool doFlog = (i & 0x2) != 0;
+#if TBB_RUN_BUFFERING_TEST
         run_one_buffer_node_test<
             /* class BufferItemType*/     BufferItemType,
             /*class SourceNodeType*/      SrcType,
@@ -1018,6 +1027,7 @@ void run_buffer_queue_and_overwrite_node_test() {
             /*class SinkNodeType*/        SnkType,
             /*class SinkNodeBodyType*/    SinkBodyType
             >(throwException, doFlog);
+#endif
         run_one_buffer_node_test<
             /* class BufferItemType*/     BufferItemType,
             /*class SourceNodeType*/      SrcType,
@@ -1031,6 +1041,10 @@ void run_buffer_queue_and_overwrite_node_test() {
 
 void test_buffer_queue_and_overwrite_node() {
     REMARK("Testing buffer_node, queue_node and overwrite_node\n");
+#if TBB_RUN_BUFFERING_TEST
+#else
+    REMARK("skip buffer and queue test (known issue)\n");
+#endif
     g_Wakeup_Msg = "buffer, queue, overwrite(is,non): Missed wakeup or machine is overloaded?";
     run_buffer_queue_and_overwrite_node_test<int,isThrowing,nonThrowing>();
     g_Wakeup_Msg = "buffer, queue, overwrite(non,is): Missed wakeup or machine is overloaded?";
diff --git a/src/test/test_eh_tasks.cpp b/src/test/test_eh_tasks.cpp
index 3fb7246..9f54575 100644
--- a/src/test/test_eh_tasks.cpp
+++ b/src/test/test_eh_tasks.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/test/test_enumerable_thread_specific.cpp b/src/test/test_enumerable_thread_specific.cpp
index 590c5fa..1d20ae7 100644
--- a/src/test/test_enumerable_thread_specific.cpp
+++ b/src/test/test_enumerable_thread_specific.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/test/test_examples_common_utility.cpp b/src/test/test_examples_common_utility.cpp
index 868be85..5e6dc66 100644
--- a/src/test/test_examples_common_utility.cpp
+++ b/src/test/test_examples_common_utility.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/test/test_fast_random.cpp b/src/test/test_fast_random.cpp
index bc2fc67..28fa9fd 100644
--- a/src/test/test_fast_random.cpp
+++ b/src/test/test_fast_random.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
@@ -49,7 +49,7 @@
 //! Coefficient defining tolerable deviation from ideal random distribution
 const double AcceptableDeviation = 2.1;
 //! Tolerable probability of failure to achieve tolerable distribution
-const double AcceptableProbabilityOfOutliers = 1e-6;
+const double AcceptableProbabilityOfOutliers = 1e-5;
 //! Coefficient defining the length of random numbers series used to estimate the distribution
 /** Number of random values generated per each range element. I.e. the larger is 
     the range, the longer is the series of random values. **/
diff --git a/src/test/test_flow_graph.cpp b/src/test/test_flow_graph.cpp
index 94be490..f56a536 100644
--- a/src/test/test_flow_graph.cpp
+++ b/src/test/test_flow_graph.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/test/test_fp.cpp b/src/test/test_fp.cpp
index ebf87b7..3cacfb7 100644
--- a/src/test/test_fp.cpp
+++ b/src/test/test_fp.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/test/test_function_node.cpp b/src/test/test_function_node.cpp
index 0fd0de5..68c8fde 100644
--- a/src/test/test_function_node.cpp
+++ b/src/test/test_function_node.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/test/test_halt.cpp b/src/test/test_halt.cpp
index 6b657ea..9788c3d 100644
--- a/src/test/test_halt.cpp
+++ b/src/test/test_halt.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/test/test_handle_perror.cpp b/src/test/test_handle_perror.cpp
index 8859d21..64d0e2e 100644
--- a/src/test/test_handle_perror.cpp
+++ b/src/test/test_handle_perror.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/test/test_hw_concurrency.cpp b/src/test/test_hw_concurrency.cpp
index 42a634b..faea645 100644
--- a/src/test/test_hw_concurrency.cpp
+++ b/src/test/test_hw_concurrency.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/test/test_initializer_list.h b/src/test/test_initializer_list.h
index 2f312c2..d7f2db7 100644
--- a/src/test/test_initializer_list.h
+++ b/src/test/test_initializer_list.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
@@ -64,7 +64,7 @@ namespace initializer_list_support_tests{
     template <typename container_type, typename do_test_assign_t>
     void TestInitListSupport(std::initializer_list<typename container_type::value_type> const& il, do_test_assign_t do_test_assign_p){
         typedef typename container_type::value_type element_type;
-        std::vector<element_type> test_seq = il;
+        std::vector<element_type> test_seq(il.begin(),il.end());
         container_type expected(test_seq.begin(), test_seq.end());
 
         test_constructor<container_type,element_type>(il, expected);
@@ -82,7 +82,6 @@ namespace initializer_list_support_tests{
         TestInitListSupport<container_type>(il, Harness::int_to_type<false>());
     }
 
-
     //TODO: add test for no leaks, and correct element lifetime
     //the need for macro comes from desire to test different scenarios where initializer sequence is compile time constant
     #define __TBB_TEST_INIT_LIST_SUITE_SINGLE(FUNC_NAME, CONTAINER, ELEMENT_TYPE, INIT_SEQ)                                                           \
@@ -93,7 +92,7 @@ namespace initializer_list_support_tests{
         container_type expected(test_seq,test_seq + Harness::array_length(test_seq));                                                                          \
                                                                                                                                                       \
         /*test for explicit contructor call*/                                                                                                         \
-        container_type vd (INIT_SEQ);                                                                                                                 \
+        container_type vd INIT_SEQ;                                                                                                                 \
         ASSERT(vd == expected,"initialization via explicit constructor call with init list failed");                                                  \
         /*test for explicit contructor call with std::initializer_list*/                                                                              \
                                                                                                                                                       \
@@ -138,12 +137,18 @@ namespace initializer_list_support_tests{
     #define AD_HOC_INIT_SEQ {1,2,3,4}
     __TBB_TEST_INIT_LIST_SUITE_SINGLE(TestCompilerSupportInt, initializer_list_helpers::ad_hoc_container, int, AD_HOC_INIT_SEQ )
     #undef AD_HOC_INIT_SEQ
-    #define AD_HOC_PAIR_INIT_SEQ {{1,1}, {2,2},{3,3}, {4,4}}
-    #define AD_HOC_INIT_SEQ_PAIR_TYPE std::pair<int,int>
-    __TBB_TEST_INIT_LIST_SUITE_SINGLE(TestCompilerSupportIntPair, initializer_list_helpers::ad_hoc_container, AD_HOC_INIT_SEQ_PAIR_TYPE, AD_HOC_PAIR_INIT_SEQ )
-    #undef AD_HOC_INIT_SEQ_PAIR_TYPE
-    #undef AD_HOC_PAIR_INIT_SEQ
 
+    #if __TBB_CPP11_INIT_LIST_ASSIGN_OP_RESOLUTION_BROKEN
+        void TestCompilerSupportIntPair(){
+            REPORT("Known issue: skip initilizer_list compiler test for std::pair list elements.\n");
+        }
+    #else
+        #define AD_HOC_PAIR_INIT_SEQ {{1,1}, {2,2},{3,3}, {4,4}}
+        #define AD_HOC_INIT_SEQ_PAIR_TYPE std::pair<int,int>
+        __TBB_TEST_INIT_LIST_SUITE_SINGLE(TestCompilerSupportIntPair, initializer_list_helpers::ad_hoc_container, AD_HOC_INIT_SEQ_PAIR_TYPE, AD_HOC_PAIR_INIT_SEQ )
+        #undef AD_HOC_INIT_SEQ_PAIR_TYPE
+        #undef AD_HOC_PAIR_INIT_SEQ
+    #endif
 
     bool TestCompilerForInitializerList();
     namespace  {
diff --git a/src/test/test_inits_loop.cpp b/src/test/test_inits_loop.cpp
index 4f5c96c..d204927 100644
--- a/src/test/test_inits_loop.cpp
+++ b/src/test/test_inits_loop.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/test/test_intrusive_list.cpp b/src/test/test_intrusive_list.cpp
index a8c3eb0..7bb1123 100644
--- a/src/test/test_intrusive_list.cpp
+++ b/src/test/test_intrusive_list.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/test/test_ittnotify.cpp b/src/test/test_ittnotify.cpp
index 93e3c29..377f998 100644
--- a/src/test/test_ittnotify.cpp
+++ b/src/test/test_ittnotify.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/test/test_join_node.cpp b/src/test/test_join_node.cpp
index 3a96341..da34aa0 100644
--- a/src/test/test_join_node.cpp
+++ b/src/test/test_join_node.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/test/test_lambda.cpp b/src/test/test_lambda.cpp
index 7a5b52d..a1d03a8 100644
--- a/src/test/test_lambda.cpp
+++ b/src/test/test_lambda.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/test/test_limiter_node.cpp b/src/test/test_limiter_node.cpp
index 52293e3..ba56099 100644
--- a/src/test/test_limiter_node.cpp
+++ b/src/test/test_limiter_node.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
@@ -42,7 +42,7 @@ struct serial_receiver : public tbb::flow::receiver<T> {
 
    /* override */ tbb::task *try_put_task( const T &v ) {
        ASSERT( next_value++  == v, NULL );
-       return const_cast<tbb::task *>(tbb::flow::interface6::SUCCESSFULLY_ENQUEUED);
+       return const_cast<tbb::task *>(tbb::flow::interface7::SUCCESSFULLY_ENQUEUED);
    }
 
    /*override*/void reset_receiver() {next_value = T(0);}
@@ -57,7 +57,7 @@ struct parallel_receiver : public tbb::flow::receiver<T> {
 
    /* override */ tbb::task *try_put_task( const T &/*v*/ ) {
        ++my_count;
-       return const_cast<tbb::task *>(tbb::flow::interface6::SUCCESSFULLY_ENQUEUED);
+       return const_cast<tbb::task *>(tbb::flow::interface7::SUCCESSFULLY_ENQUEUED);
    }
 
    /*override*/void reset_receiver() {my_count = 0;}
@@ -206,11 +206,168 @@ int test_serial() {
    return 0;
 }
 
+// reported bug in limiter (http://software.intel.com/en-us/comment/1752355)
+#define DECREMENT_OUTPUT 1  // the port number of the decrement output of the multifunction_node
+#define LIMITER_OUTPUT 0    // port number of the integer output
+
+typedef tbb::flow::multifunction_node<int, tbb::flow::tuple<int,tbb::flow::continue_msg> > mfnode_type;
+
+tbb::atomic<size_t> emit_count;
+tbb::atomic<size_t> emit_sum;
+tbb::atomic<size_t> receive_count;
+tbb::atomic<size_t> receive_sum;
+
+struct mfnode_body {
+    int max_cnt;
+    tbb::atomic<int>* my_cnt;
+    mfnode_body(const int& _max, tbb::atomic<int> &_my) : max_cnt(_max), my_cnt(&_my)  { }
+    void operator()(const int &/*in*/, mfnode_type::output_ports_type &out) {
+        int lcnt = ++(*my_cnt);
+        if(lcnt > max_cnt) {
+            return;
+        }
+        // put one continue_msg to the decrement of the limiter.
+        if(!tbb::flow::get<DECREMENT_OUTPUT>(out).try_put(tbb::flow::continue_msg())) {
+            ASSERT(false,"Unexpected rejection of decrement");
+        }
+        {
+            // put messages to the input of the limiter_node until it rejects.
+            while( tbb::flow::get<LIMITER_OUTPUT>(out).try_put(lcnt) ) {
+                emit_sum += lcnt;
+                ++emit_count;
+            }
+        }
+    }
+};
+
+struct fn_body {
+    int operator()(const int &in) {
+        receive_sum += in;
+        ++receive_count;
+        return in;
+    }
+};
+
+//                   +------------+
+//    +---------+    |            v
+//    | mf_node |0---+       +----------+          +----------+
+// +->|         |1---------->| lim_node |--------->| fn_node  |--+
+// |  +---------+            +----------+          +----------+  |
+// |                                                             |
+// |                                                             |
+// +-------------------------------------------------------------+
+//
+void
+test_multifunction_to_limiter(int _max, int _nparallel) {
+    tbb::flow::graph g;
+    emit_count = 0;
+    emit_sum = 0;
+    receive_count = 0;
+    receive_sum = 0;
+    tbb::atomic<int> local_cnt;
+    local_cnt = 0;
+    mfnode_type mf_node(g, tbb::flow::unlimited, mfnode_body(_max, local_cnt));
+    tbb::flow::function_node<int, int> fn_node(g, tbb::flow::unlimited, fn_body());
+    tbb::flow::limiter_node<int> lim_node(g, _nparallel);
+    tbb::flow::make_edge(tbb::flow::output_port<LIMITER_OUTPUT>(mf_node), lim_node);
+    tbb::flow::make_edge(tbb::flow::output_port<DECREMENT_OUTPUT>(mf_node), lim_node.decrement);
+    tbb::flow::make_edge(lim_node, fn_node);
+    tbb::flow::make_edge(fn_node, mf_node);
+    mf_node.try_put(1);
+    g.wait_for_all();
+    ASSERT(emit_count == receive_count, "counts do not match");
+    ASSERT(emit_sum == receive_sum, "sums do not match");
+
+    // reset, test again
+    g.reset();
+    emit_count = 0;
+    emit_sum = 0;
+    receive_count = 0;
+    receive_sum = 0;
+    local_cnt = 0;;
+    mf_node.try_put(1);
+    g.wait_for_all();
+    ASSERT(emit_count == receive_count, "counts do not match");
+    ASSERT(emit_sum == receive_sum, "sums do not match");
+}
+
+
+void
+test_continue_msg_reception() {
+    tbb::flow::graph g;
+    tbb::flow::limiter_node<int> ln(g,2);
+    tbb::flow::queue_node<int>   qn(g);
+    tbb::flow::make_edge(ln, qn);
+    ln.decrement.try_put(tbb::flow::continue_msg());
+    ln.try_put(42);
+    g.wait_for_all();
+    int outint;
+    ASSERT(qn.try_get(outint) && outint == 42, "initial put to decrement stops node");
+}
+
+
+//
+// This test ascertains that if a message is not successfully put
+// to a successor, the message is not dropped but released.
+//
+
+using namespace tbb::flow;
+void test_reserve_release_messages() {
+    graph g;
+
+    //making two queue_nodes: one broadcast_node and one limiter_node
+    queue_node<int> input_queue(g);
+    queue_node<int> output_queue(g);
+    broadcast_node<continue_msg> broad(g);
+    limiter_node<int> limit(g,2,1); //threshold of 2
+
+    //edges
+    make_edge(input_queue, limit);
+    make_edge(limit, output_queue);
+    make_edge(broad,limit.decrement); 
+
+    int list[4] = {19, 33, 72, 98}; //list to be put to the input queue
+
+    input_queue.try_put(list[0]); // succeeds
+    input_queue.try_put(list[1]); // succeeds
+    input_queue.try_put(list[2]); // fails, stored in upstream buffer
+    g.wait_for_all();
+
+    remove_edge(limit, output_queue); //remove successor
+
+    //sending continue messages to the decrement port of the limiter
+    broad.try_put(continue_msg());
+    broad.try_put(continue_msg()); //failed message retrieved.
+    g.wait_for_all();
+
+    make_edge(limit, output_queue); //putting the successor back
+
+    broad.try_put(continue_msg());
+    broad.try_put(continue_msg());  //drop the count
+
+    input_queue.try_put(list[3]);  //success
+    g.wait_for_all();
+
+    int var=0;
+
+    for (int i=0; i<4; i++){
+    output_queue.try_get(var);
+    ASSERT(var==list[i], "some data dropped, input does not match output");
+    g.wait_for_all();
+  }
+}
+
+
 int TestMain() { 
     for (int i = 1; i <= 8; ++i) {
         tbb::task_scheduler_init init(i);
         test_serial<int>();
         test_parallel<int>(i);
     }
+    test_continue_msg_reception();
+    test_multifunction_to_limiter(30,3);
+    test_multifunction_to_limiter(300,13);
+    test_multifunction_to_limiter(3000,1);
+    test_reserve_release_messages();
    return Harness::Done;
 }
diff --git a/src/test/test_malloc_atexit.cpp b/src/test/test_malloc_atexit.cpp
index 3bac6b4..5934608 100644
--- a/src/test/test_malloc_atexit.cpp
+++ b/src/test/test_malloc_atexit.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/test/test_malloc_compliance.cpp b/src/test/test_malloc_compliance.cpp
index 66a0068..b366c0c 100644
--- a/src/test/test_malloc_compliance.cpp
+++ b/src/test/test_malloc_compliance.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
@@ -112,6 +112,7 @@ void limitMem( size_t limit )
 #include "tbb/scalable_allocator.h"
 
 #define HARNESS_CUSTOM_MAIN 1
+#define HARNESS_TBBMALLOC_THREAD_SHUTDOWN 1
 #include "harness.h"
 #include "harness_barrier.h"
 #if !__TBB_SOURCE_DIRECTLY_INCLUDED
@@ -324,9 +325,17 @@ int main(int argc, char* argv[]) {
     for (int i=1; i< argc; i++) {
         if (strcmp((char*)*(argv+i),"-s")==0)
         {
+#if __INTEL_COMPILER == 1400 && __linux__
+            // Workaround for Intel(R) C++ Compiler XE, version 14.0.0.080:
+            // unable to call setSystemAllocs() in such configuration.
+            REPORT("Known issue: Standard allocator testing is not supported.\n");
+            REPORT( "skip\n" );
+            return 0;
+#else
             setSystemAllocs();
             argC--;
             break;
+#endif
         }
     }
 
@@ -378,10 +387,17 @@ int main(int argc, char* argv[]) {
 
     for( int p=MaxThread; p>=MinThread; --p ) {
         REMARK("testing with %d threads\n", p );
-        Harness::SpinBarrier *barrier = new Harness::SpinBarrier(p);
-        NativeParallelFor( p, RoundRobin(p, barrier, Verbose) );
-        delete barrier;
+        for (int limit=0; limit<2; limit++) {
+            int ret = scalable_allocation_mode(TBBMALLOC_SET_SOFT_HEAP_LIMIT,
+                                               16*1024*limit);
+            ASSERT(ret==TBBMALLOC_OK, NULL);
+            Harness::SpinBarrier *barrier = new Harness::SpinBarrier(p);
+            NativeParallelFor( p, RoundRobin(p, barrier, Verbose) );
+            delete barrier;
+        }
     }
+    int ret = scalable_allocation_mode(TBBMALLOC_SET_SOFT_HEAP_LIMIT, 0);
+    ASSERT(ret==TBBMALLOC_OK, NULL);
     if( !error_occurred )
         REPORT("done\n");
     return 0;
@@ -1031,4 +1047,3 @@ void CMemTest::RunAllTests(int total_threads)
 }
 
 #endif /* __TBB_WIN8UI_SUPPORT	 */
-
diff --git a/src/test/test_malloc_init_shutdown.cpp b/src/test/test_malloc_init_shutdown.cpp
index 35b3d14..6649e6e 100644
--- a/src/test/test_malloc_init_shutdown.cpp
+++ b/src/test/test_malloc_init_shutdown.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
@@ -30,6 +30,7 @@
 #include "tbb/atomic.h"
 #include "tbb/aligned_space.h"
 
+#define HARNESS_TBBMALLOC_THREAD_SHUTDOWN 1
 #include "harness.h"
 #include "harness_barrier.h"
 #if !__TBB_SOURCE_DIRECTLY_INCLUDED
@@ -146,6 +147,11 @@ extern "C" void threadDtor(void*) {
     scalable_free(scalable_malloc(8));
 }
 
+inline bool intersectingObjects(const void *p1, const void *p2, size_t n)
+{
+    return (size_t)labs((uintptr_t)p1 - (uintptr_t)p2) < n;
+}
+
 struct TestThread: NoAssign {
     TestThread(int ) {}
 
@@ -155,7 +161,8 @@ struct TestThread: NoAssign {
         currSmall = scalable_malloc(8);
         ASSERT(!prevSmall || currSmall==prevSmall, "Possible memory leak");
         currLarge = scalable_malloc(32*1024);
-        ASSERT(!prevLarge || currLarge==prevLarge, "Possible memory leak");
+        // intersectingObjects takes into account object shuffle
+        ASSERT(!prevLarge || intersectingObjects(currLarge, prevLarge, 32*1024), "Possible memory leak");
         pthread_key_create( &key, &threadDtor );
         pthread_setspecific(key, (const void*)42);
     }
diff --git a/src/test/test_malloc_lib_unload.cpp b/src/test/test_malloc_lib_unload.cpp
index 07dea21..dc13a79 100644
--- a/src/test/test_malloc_lib_unload.cpp
+++ b/src/test/test_malloc_lib_unload.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
@@ -124,6 +124,7 @@ extern "C" size_t safer_scalable_msize (void *, size_t (*)(void*))
 #include <cstdlib>
 #include "tbb/tbb_stddef.h"
 #define HARNESS_NO_PARSE_COMMAND_LINE 1
+#define HARNESS_TBBMALLOC_THREAD_SHUTDOWN 1
 #include "harness.h"
 
 #if __TBB_WIN8UI_SUPPORT
diff --git a/src/test/test_malloc_overload.cpp b/src/test/test_malloc_overload.cpp
index 55b3b72..8996ddd 100644
--- a/src/test/test_malloc_overload.cpp
+++ b/src/test/test_malloc_overload.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
@@ -43,6 +43,10 @@
 #endif // _WIN32 || _WIN64
 
 #define HARNESS_NO_PARSE_COMMAND_LINE 1
+// LD_PRELOAD mechanism is broken in offload
+#if __TBB_MIC_OFFLOAD
+#define HARNESS_SKIP_TEST 1
+#endif
 #include "harness.h"
 
 #if __linux__
@@ -184,6 +188,7 @@ static bool scalableMallocLargeBlock(void *object, size_t size)
 #if MALLOC_REPLACEMENT_AVAILABLE == 2
     // Check that _msize works correctly
     ASSERT(_msize(object) >= size, NULL);
+    ASSERT(_aligned_msize(object,16,0) >= size, NULL);
 #endif
 
     LargeMemoryBlock *lmb = ((LargeObjectHdr*)object-1)->memoryBlock;
@@ -240,24 +245,38 @@ void CheckPvalloc(void *(*pvalloc_p)(size_t), void (*free_p)(void*))
 
 #endif // MALLOC_REPLACEMENT_AVAILABLE
 
+#if __ANDROID__
+// Workaround for an issue with strdup somehow bypassing our malloc replacement on Android.
+char *strdup(const char *str) {
+    REPORT( "Known issue: malloc replacement does not work for strdup on Android.\n" );
+    size_t len = strlen(str)+1;
+    void *new_str = malloc(len);
+    return new_str ? reinterpret_cast<char *>(memcpy(new_str, str, len)) : 0;
+}
+#endif
+
 int TestMain() {
     void *ptr, *ptr1;
 
 #if MALLOC_REPLACEMENT_AVAILABLE == 1
-    ASSERT(dlsym(RTLD_DEFAULT, "scalable_malloc"), "libtbbmalloc not found");
+    ASSERT(dlsym(RTLD_DEFAULT, "scalable_malloc"),
+           "Lost dependence on malloc_proxy or LD_PRELOAD was not set?");
 #endif
 
-/* On Windows, memory block size returned by _msize() is sometimes used 
-   to calculate the size for an extended block. Substituting _msize, 
-   scalable_msize initially returned 0 for regions not allocated by the scalable 
+/* On Windows, memory block size returned by _msize() is sometimes used
+   to calculate the size for an extended block. Substituting _msize,
+   scalable_msize initially returned 0 for regions not allocated by the scalable
    allocator, which led to incorrect memory reallocation and subsequent crashes.
    It was found that adding a new environment variable triggers the error.
 */
     ASSERT(getenv("PATH"), "We assume that PATH is set everywhere.");
     char *pathCopy = strdup(getenv("PATH"));
+#if __ANDROID__
+    ASSERT(strcmp(pathCopy,getenv("PATH")) == 0, "strdup workaround does not work as expected.");
+#endif
     const char *newEnvName = "__TBBMALLOC_OVERLOAD_REGRESSION_TEST_FOR_REALLOC_AND_MSIZE";
     char *newEnv = (char*)malloc(3 + strlen(newEnvName));
-    
+
     ASSERT(!getenv(newEnvName), "Environment variable should not be used before.");
     strcpy(newEnv, newEnvName);
     strcat(newEnv, "=1");
@@ -282,8 +301,8 @@ int TestMain() {
 
     struct mallinfo info = mallinfo();
     // right now mallinfo initialized by zero
-    ASSERT(!info.arena && !info.ordblks && !info.smblks && !info.hblks 
-           && !info.hblkhd && !info.usmblks && !info.fsmblks 
+    ASSERT(!info.arena && !info.ordblks && !info.smblks && !info.hblks
+           && !info.hblkhd && !info.usmblks && !info.fsmblks
            && !info.uordblks && !info.fordblks && !info.keepcost, NULL);
 
 #if __linux__ && !__ANDROID__
@@ -300,6 +319,11 @@ int TestMain() {
     ptr = _aligned_malloc(minLargeObjectSize,16);
     ASSERT(ptr!=NULL && scalableMallocLargeBlock(ptr, minLargeObjectSize), NULL);
 
+    // Testing of workaround for vs "is power of 2 pow N" bug that accepts zeros
+    ptr1 = _aligned_malloc(minLargeObjectSize,0);
+    ASSERT(ptr1!=NULL, NULL);
+    _aligned_free(ptr1);
+
     ptr1 = _aligned_realloc(ptr, minLargeObjectSize*10,16);
     ASSERT(ptr1!=NULL && scalableMallocLargeBlock(ptr1, minLargeObjectSize*10), NULL);
     _aligned_free(ptr1);
diff --git a/src/test/test_malloc_pools.cpp b/src/test/test_malloc_pools.cpp
index 08d59af..dec8e04 100644
--- a/src/test/test_malloc_pools.cpp
+++ b/src/test/test_malloc_pools.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
@@ -28,6 +28,7 @@
 
 #include "tbb/scalable_allocator.h"
 #include "tbb/atomic.h"
+#define HARNESS_TBBMALLOC_THREAD_SHUTDOWN 1
 #include "harness.h"
 #include "harness_barrier.h"
 #if !__TBB_SOURCE_DIRECTLY_INCLUDED
diff --git a/src/test/test_malloc_pure_c.c b/src/test/test_malloc_pure_c.c
index 0a7957c..1d940b6 100644
--- a/src/test/test_malloc_pure_c.c
+++ b/src/test/test_malloc_pure_c.c
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
@@ -33,6 +33,7 @@
 #include "tbb/scalable_allocator.h"
 #include <stdio.h>
 #include <assert.h>
+#include <stdlib.h> /* for atexit */
 
 /*
  *  The test is to check if the scalable_allocator.h and its functions
@@ -46,11 +47,27 @@ const int ExpectedResultHugePages = TBBMALLOC_OK;
 const int ExpectedResultHugePages = TBBMALLOC_NO_EFFECT;
 #endif
 
+#if __TBB_SOURCE_DIRECTLY_INCLUDED
+/* test that it's possible to call allocation function from atexit
+   after mallocProcessShutdownNotification() called */
+void __TBB_mallocProcessShutdownNotification();
+#else
+#define __TBB_mallocProcessShutdownNotification()
+#endif
+
+static void MyExit(void) {
+    void *p = scalable_malloc(32);
+    assert(p);
+    scalable_free(p);
+    __TBB_mallocProcessShutdownNotification();
+}
+
 int main(void) {
     size_t i, j;
     int curr_mode, res;
     void *p1, *p2;
 
+    atexit( MyExit );
     for ( curr_mode = 0; curr_mode<=1; curr_mode++) {
         assert(ExpectedResultHugePages ==
                scalable_allocation_mode(TBBMALLOC_USE_HUGE_PAGES, !curr_mode));
@@ -101,8 +118,10 @@ int main(void) {
     /* expect all caches cleaned before, so got nothing from CLEAN_THREAD_BUFFERS */
     assert(res == TBBMALLOC_NO_EFFECT);
     /* check that invalid param argument give expected result*/
-    res = scalable_allocation_command(TBBMALLOC_CLEAN_THREAD_BUFFERS, (void*)1);
+    res = scalable_allocation_command(TBBMALLOC_CLEAN_THREAD_BUFFERS,
+                                      (void*)(intptr_t)1);
     assert(res == TBBMALLOC_INVALID_PARAM);
+    __TBB_mallocProcessShutdownNotification();
     printf("done\n");
     return 0;
 }
diff --git a/src/test/test_malloc_regression.cpp b/src/test/test_malloc_regression.cpp
index 063ec5c..f81aa51 100644
--- a/src/test/test_malloc_regression.cpp
+++ b/src/test/test_malloc_regression.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
@@ -40,6 +40,7 @@ public:
     }
 };
 
+#define HARNESS_TBBMALLOC_THREAD_SHUTDOWN 1
 #include "harness.h"
 
 template<typename Body, typename Arg>
diff --git a/src/test/test_malloc_used_by_lib.cpp b/src/test/test_malloc_used_by_lib.cpp
index 9c40cc0..149fb16 100644
--- a/src/test/test_malloc_used_by_lib.cpp
+++ b/src/test/test_malloc_used_by_lib.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
@@ -103,8 +103,8 @@ public:
 void LoadThreadsUnload()
 {
     Harness::LIBRARY_HANDLE lib =
-        Harness::OpenLibrary(TEST_LIBRARY_NAME("test_malloc_used_by_lib"));
-    ASSERT(lib, "Can't load " TEST_LIBRARY_NAME("test_malloc_used_by_lib"));
+        Harness::OpenLibrary(TEST_LIBRARY_NAME("test_malloc_used_by_lib_dll"));
+    ASSERT(lib, "Can't load " TEST_LIBRARY_NAME("test_malloc_used_by_lib_dll"));
     NativeParallelFor( 4, UseDll( Harness::GetAddress(lib, "callDll") ) );
     Harness::CloseLibrary(lib);
 }
@@ -125,8 +125,8 @@ struct RunWithLoad : NoAssign {
     void operator()(int id) const {
         if (!id) {
             Harness::LIBRARY_HANDLE lib =
-                Harness::OpenLibrary(TEST_LIBRARY_NAME("test_malloc_used_by_lib"));
-            ASSERT(lib, "Can't load "TEST_LIBRARY_NAME("test_malloc_used_by_lib"));
+                Harness::OpenLibrary(TEST_LIBRARY_NAME("test_malloc_used_by_lib_dll"));
+            ASSERT(lib, "Can't load " TEST_LIBRARY_NAME("test_malloc_used_by_lib_dll"));
             runPtr = Harness::GetAddress(lib, "callDll");
             unloadCallback.lib = lib;
         }
diff --git a/src/test/test_malloc_whitebox.cpp b/src/test/test_malloc_whitebox.cpp
index 7bf2061..7ed0b62 100644
--- a/src/test/test_malloc_whitebox.cpp
+++ b/src/test/test_malloc_whitebox.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
@@ -34,6 +34,8 @@
 // iff __STDC_LIMIT_MACROS pre-defined
 #define __STDC_LIMIT_MACROS 1
 
+#define HARNESS_TBBMALLOC_THREAD_SHUTDOWN 1
+
 #include "harness.h"
 #include "harness_barrier.h"
 
@@ -42,7 +44,7 @@
 #undef DO_ITT_NOTIFY
 #endif
 
-#define __TBB_MALLOC_WHITEBOX_TEST 1 // to get access to LOC internals
+#define __TBB_MALLOC_WHITEBOX_TEST 1 // to get access to allocator internals
 // help trigger rare race condition
 #define WhiteboxTestingYield() (__TBB_Yield(), __TBB_Yield(), __TBB_Yield(), __TBB_Yield())
 
@@ -663,12 +665,139 @@ void TestBitMask()
     ASSERT(mask.getMinTrue(201) == -1, NULL);
 }
 
+size_t getMemSize()
+{
+    return defaultMemPool->extMemPool.backend.getTotalMemSize();
+}
+
+class CheckNotCached {
+    size_t memSize;
+public:
+    CheckNotCached(size_t memSize) : memSize(memSize) {}
+    void operator() () const {
+        int res = scalable_allocation_mode(TBBMALLOC_SET_SOFT_HEAP_LIMIT, 1);
+        ASSERT(res == TBBMALLOC_OK, NULL);
+        ASSERT(getMemSize() == memSize, NULL);
+    }
+};
+
+class RunTestHeapLimit: public SimpleBarrier {
+    size_t memSize;
+public:
+    RunTestHeapLimit(size_t memSize) : memSize(memSize) {}
+
+    void operator()( int /*mynum*/ ) const {
+        CheckNotCached checkNotCached(memSize);
+
+        for (size_t n = minLargeObjectSize; n < 5*1024*1024; n += 128*1024)
+            scalable_free(scalable_malloc(n));
+        barrier.wait(checkNotCached);
+    }
+};
+
+void TestHeapLimit()
+{
+    if(!isMallocInitialized()) doInitialization();
+    // tiny limit to stop caching
+    int res = scalable_allocation_mode(TBBMALLOC_SET_SOFT_HEAP_LIMIT, 1);
+    ASSERT(res == TBBMALLOC_OK, NULL);
+     // provoke bootstrap heap initialization before recording memory size
+    scalable_free(scalable_malloc(8));
+    size_t n, sizeBefore = getMemSize();
+
+    // Try to provoke call to OS for memory to check that
+    // requests are not fulfilled from caches.
+    // Single call is not enough here because of backend fragmentation.
+    for (n = minLargeObjectSize; n < 10*1024*1024; n += 16*1024) {
+        void *p = scalable_malloc(n);
+        bool leave = (sizeBefore != getMemSize());
+        scalable_free(p);
+        if (leave)
+            break;
+        ASSERT(sizeBefore == getMemSize(), "No caching expected");
+    }
+    ASSERT(n < 10*1024*1024, "scalable_malloc doesn't provoke OS request for memory, "
+           "is some internal cache still used?");
+    // estimate number of objects in single bootstrap block
+    int objInBootstrapHeapBlock = (slabSize-2*estimatedCacheLineSize)/sizeof(TLSData);
+    // When we have more threads than objects in bootstrap heap block,
+    // additional block can be allocated from a region that is different
+    // from the original region. Thus even after all caches cleaned,
+    // we unable to reach sizeBefore.
+    ASSERT_WARNING(MaxThread<=objInBootstrapHeapBlock,
+        "The test might fail for larger thread number, "
+        "as bootstrap heap is not released till size checking.");
+    for( int p=MaxThread; p>=MinThread; --p ) {
+        RunTestHeapLimit::initBarrier( p );
+        NativeParallelFor( p, RunTestHeapLimit(sizeBefore) );
+    }
+    // it's try to match limit as well as set limit, so call here
+    res = scalable_allocation_mode(TBBMALLOC_SET_SOFT_HEAP_LIMIT, 1);
+    ASSERT(res == TBBMALLOC_OK, NULL);
+    size_t m = getMemSize();
+    ASSERT(sizeBefore == m, NULL);
+    // restore default
+    res = scalable_allocation_mode(TBBMALLOC_SET_SOFT_HEAP_LIMIT, 0);
+    ASSERT(res == TBBMALLOC_OK, NULL);
+}
+
 void checkNoHugePages()
 {
     ASSERT(!hugePages.enabled, "scalable_allocation_mode "
            "must have priority over environment variable");
 }
 
+/*---------------------------------------------------------------------------*/
+// The regression test against a bug in TBBMALLOC_CLEAN_ALL_BUFFERS allocation
+// command. When cleanup is requested the backend should process the queue of
+// postponed coalescing requests otherwise not all unsued memory might be
+// deallocated.
+
+const size_t alloc_size = 16*1024;
+const int total_alloc_size = 100 * 1024 * 1024;
+const int num_allocs = total_alloc_size / alloc_size;
+void *ptrs[num_allocs];
+
+tbb::atomic<int> deallocs_counter;
+
+struct TestCleanAllBuffersDeallocate : public SimpleBarrier {
+    void operator() ( int ) const {
+        barrier.wait();
+        for( int i = deallocs_counter++; i < num_allocs; i = deallocs_counter++ )
+           scalable_free( ptrs[i] );
+    }
+};
+
+// The idea is to allocate a set of objects and then deallocate them in random
+// order in parallel to force occuring conflicts in backend during coalescing.
+// Thus if the backend does not check the queue of postponed coalescing
+// requests it will not be able to unmap all memory and a memory leak will be
+// observed.
+void TestCleanAllBuffers() {
+    const int num_threads = 8;
+    // Clean up if something was allocated before the test
+    scalable_allocation_command(TBBMALLOC_CLEAN_ALL_BUFFERS,0);
+
+    size_t memory_in_use_before = getMemSize();
+    for ( int i=0; i<num_allocs; ++i ) {
+        ptrs[i] = scalable_malloc( alloc_size );
+        ASSERT( ptrs[i] != NULL, "scalable_malloc has return zero." );
+    }
+    deallocs_counter = 0;
+    TestCleanAllBuffersDeallocate::initBarrier(num_threads);
+    NativeParallelFor(num_threads, TestCleanAllBuffersDeallocate());
+    if ( defaultMemPool->extMemPool.backend.coalescQ.blocksToFree == NULL )
+        REPORT( "Warning: The queue of postponed coalescing requests is empty. Unable to create the condition for bug reproduction.\n" );
+    ASSERT( scalable_allocation_command(TBBMALLOC_CLEAN_ALL_BUFFERS,0) == TBBMALLOC_OK, "The cleanup request has not cleaned anithing." );
+    size_t memory_in_use_after = getMemSize();
+
+    REMARK( "memory_in_use_before = %ld\nmemory_in_use_after = %ld\n", memory_in_use_before, memory_in_use_after );
+
+    size_t memory_leak = memory_in_use_after - memory_in_use_before;
+    ASSERT( memory_leak == 0, "The backend has not processed the queue of postponed coalescing requests during cleanup." );
+}
+/*---------------------------------------------------------------------------*/
+
 int TestMain () {
     scalable_allocation_mode(USE_HUGE_PAGES, 0);
 #if !_XBOX && !__TBB_WIN8UI_SUPPORT
@@ -694,5 +823,7 @@ int TestMain () {
     TestLargeObjectCache();
     TestObjectRecognition();
     TestBitMask();
+    TestHeapLimit();
+    TestCleanAllBuffers();
     return Harness::Done;
 }
diff --git a/src/test/test_model_plugin.cpp b/src/test/test_model_plugin.cpp
index 23f2a85..2e3ba01 100644
--- a/src/test/test_model_plugin.cpp
+++ b/src/test/test_model_plugin.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/test/test_multifunction_node.cpp b/src/test/test_multifunction_node.cpp
index 3f45737..c3a6f48 100644
--- a/src/test/test_multifunction_node.cpp
+++ b/src/test/test_multifunction_node.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/test/test_mutex.cpp b/src/test/test_mutex.cpp
index 6820c35..f18c438 100644
--- a/src/test/test_mutex.cpp
+++ b/src/test/test_mutex.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
@@ -26,6 +26,10 @@
     the GNU General Public License.
 */
 
+#if __TBB_CPF_BUILD && !defined(TBB_PREVIEW_SPECULATIVE_SPIN_RW_MUTEX)
+    #define TBB_PREVIEW_SPECULATIVE_SPIN_RW_MUTEX 1
+#endif
+
 //------------------------------------------------------------------------
 // Test TBB mutexes when used with parallel_for.h
 //
@@ -208,6 +212,8 @@ struct Invariant {
             value[k] = 0;
         tbb::profiling::set_name(mutex, mutex_name_);
     }
+    ~Invariant() {
+    }
     void update() {
         for( size_t k=0; k<N; ++k )
             ++value[k];
@@ -321,13 +327,13 @@ void TestTryAcquireReader_OneThread( const char * mutex_name ) {
         else
             REPORT("ERROR for %s: try_acquire failed though it should not\n", mutex_name);
         {
-            typename M::scoped_lock lock2(tested_mutex, false);
-            if( lock1.try_acquire(tested_mutex) )
-                REPORT("ERROR for %s: try_acquire succeeded though it should not\n", mutex_name);
-            lock2.release();
-            lock2.acquire(tested_mutex, true);
-            if( lock1.try_acquire(tested_mutex, false) )
-                REPORT("ERROR for %s: try_acquire succeeded though it should not\n", mutex_name);
+            typename M::scoped_lock lock2(tested_mutex, false);   // read lock
+            if( lock1.try_acquire(tested_mutex) )                 // attempt to acquire read
+                REPORT("ERROR for %s: try_acquire succeeded though it should not (1)\n", mutex_name);
+            lock2.release();                                      // unlock
+            lock2.acquire(tested_mutex, true);                    // write lock
+            if( lock1.try_acquire(tested_mutex, false) )          // attempt to acquire read
+                REPORT("ERROR for %s: try_acquire succeeded though it should not (2)\n", mutex_name);
         }
         if( lock1.try_acquire(tested_mutex, false) )
             lock1.release();
@@ -356,7 +362,7 @@ void TestTryAcquire_OneThread( const char * mutex_name ) {
         } else {
             typename M::scoped_lock lock2(tested_mutex);
             if( lock1.try_acquire(tested_mutex) )
-                REPORT("ERROR for %s: try_acquire succeeded though it should not\n", mutex_name);
+                REPORT("ERROR for %s: try_acquire succeeded though it should not (3)\n", mutex_name);
         }
     }
     if( lock1.try_acquire(tested_mutex) )
@@ -551,7 +557,7 @@ void TestRecursiveMutexISO( const char * name ) {
 #include "harness_tsx.h"
 #include "tbb/task_scheduler_init.h"
 
-#if HAVE_TSX && __INTEL_COMPILER
+#if __TBB_TSX_AVAILABLE && (__INTEL_COMPILER || __GNUC__ || _MSC_VER)
 
 //! Function object for use with parallel_for.h to see if a transaction is actually attempted.
 tbb::atomic<size_t> n_transactions_attempted;
@@ -578,13 +584,20 @@ template<typename M>
 void TestTransaction( const char * name )
 {
     Counter<M> counter;
+#if TBB_TEST_LOW_WORKLOAD
     const int n = 100;
-    REMARK("TestTransaction with %s\n",name);
+#else
+    const int n = 1000;
+#endif
+    REMARK("TestTransaction with %s: ",name);
 
     n_transactions_attempted = 0;
+    tbb::tick_count start, stop;
     for( int i=0; i<5 && n_transactions_attempted==0; ++i ) {
         counter.value = 0;
+        start = tbb::tick_count::now();
         tbb::parallel_for(tbb::blocked_range<size_t>(0,n,2),AddOne_CheckTransaction<Counter<M> >(counter));
+        stop = tbb::tick_count::now();
         if( counter.value!=n ) {
             REPORT("ERROR for %s: counter.value=%ld\n",name,counter.value);
             break;
@@ -593,8 +606,10 @@ void TestTransaction( const char * name )
 
     if( n_transactions_attempted==0 )
         REPORT( "ERROR: HLE transactions are never attempted\n" );
+    else
+        REMARK("%d successful transactions in %6.6f seconds\n", (int)n_transactions_attempted, (stop - start).seconds());
 }
-#endif
+#endif  /* __TBB_TSX_AVAILABLE && (__INTEL_COMPILER || __GNUC__ || _MSC_VER) */
 
 int TestMain () {
     for( int p=MinThread; p<=MaxThread; ++p ) {
@@ -622,6 +637,9 @@ int TestMain () {
             Test<tbb::recursive_mutex>( "Recursive Mutex" );
             Test<tbb::queuing_rw_mutex>( "Queuing RW Mutex" );
             Test<tbb::spin_rw_mutex>( "Spin RW Mutex" );
+#if TBB_PREVIEW_SPECULATIVE_SPIN_RW_MUTEX
+            Test<tbb::speculative_spin_rw_mutex>( "Spin RW Mutex speculative" );
+#endif
 
             TestTryAcquire_OneThread<tbb::spin_mutex>("Spin Mutex");
             TestTryAcquire_OneThread<tbb::speculative_spin_mutex>("Spin Mutex/speculative");
@@ -632,16 +650,25 @@ int TestMain () {
 #endif /* USE_PTHREAD */
             TestTryAcquire_OneThread<tbb::recursive_mutex>( "Recursive Mutex" );
             TestTryAcquire_OneThread<tbb::spin_rw_mutex>("Spin RW Mutex"); // only tests try_acquire for writers
+#if TBB_PREVIEW_SPECULATIVE_SPIN_RW_MUTEX
+            TestTryAcquire_OneThread<tbb::speculative_spin_rw_mutex>("Spin RW Mutex speculative"); // only tests try_acquire for writers
+#endif
             TestTryAcquire_OneThread<tbb::queuing_rw_mutex>("Queuing RW Mutex"); // only tests try_acquire for writers
             TestTryAcquireReader_OneThread<tbb::spin_rw_mutex>("Spin RW Mutex");
+#if TBB_PREVIEW_SPECULATIVE_SPIN_RW_MUTEX
+            TestTryAcquireReader_OneThread<tbb::speculative_spin_rw_mutex>("Spin RW Mutex speculative");
+#endif
             TestTryAcquireReader_OneThread<tbb::queuing_rw_mutex>("Queuing RW Mutex");
 
             TestReaderWriterLock<tbb::queuing_rw_mutex>( "Queuing RW Mutex" );
             TestReaderWriterLock<tbb::spin_rw_mutex>( "Spin RW Mutex" );
+#if TBB_PREVIEW_SPECULATIVE_SPIN_RW_MUTEX
+            TestReaderWriterLock<tbb::speculative_spin_rw_mutex>( "Spin RW Mutex speculative" );
+#endif
 
             TestRecursiveMutex<tbb::recursive_mutex>( "Recursive Mutex" );
 
-            // Test ISO C++0x interface
+            // Test ISO C++11 interface
             TestISO<tbb::spin_mutex>( "ISO Spin Mutex" );
             TestISO<tbb::mutex>( "ISO Mutex" );
             TestISO<tbb::spin_rw_mutex>( "ISO Spin RW Mutex" );
@@ -658,14 +685,19 @@ int TestMain () {
             TestReaderWriterLockISO<tbb::spin_rw_mutex>( "ISO Spin RW Mutex" );
             TestRecursiveMutexISO<tbb::recursive_mutex>( "ISO Recursive Mutex" );
         }
-        REMARK( "calling destructor for task_scheduler_init\n" );
     }
 
-#if HAVE_TSX && __INTEL_COMPILER
-    // additional test for speculative_spin_mutex to see if we actually attempt lock elisions
+#if __TBB_TSX_AVAILABLE && (__INTEL_COMPILER || __GNUC__ || _MSC_VER)
+    // additional test for speculative mutexes to see if we actually attempt lock elisions
     if( have_TSX() ) {
         tbb::task_scheduler_init init( MaxThread );
         TestTransaction<tbb::speculative_spin_mutex>( "Spin Mutex/speculative" );
+#if TBB_PREVIEW_SPECULATIVE_SPIN_RW_MUTEX
+        TestTransaction<tbb::speculative_spin_rw_mutex>( "Spin RW Mutex/speculative" );
+#endif
+    }
+    else {
+        REMARK("Hardware transactions not supported\n");
     }
 #endif
     return Harness::Done;
diff --git a/src/test/test_mutex_native_threads.cpp b/src/test/test_mutex_native_threads.cpp
index 9555c7d..f3b28a7 100644
--- a/src/test/test_mutex_native_threads.cpp
+++ b/src/test/test_mutex_native_threads.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/test/test_openmp.cpp b/src/test/test_openmp.cpp
index d58c879..c4d366f 100644
--- a/src/test/test_openmp.cpp
+++ b/src/test/test_openmp.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/test/test_or_node.cpp b/src/test/test_or_node.cpp
index 2ff8ddb..6949bf0 100644
--- a/src/test/test_or_node.cpp
+++ b/src/test/test_or_node.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/test/test_overwrite_node.cpp b/src/test/test_overwrite_node.cpp
index d6ad601..6499906 100644
--- a/src/test/test_overwrite_node.cpp
+++ b/src/test/test_overwrite_node.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/test/test_parallel_do.cpp b/src/test/test_parallel_do.cpp
index 9bf9253..8667854 100644
--- a/src/test/test_parallel_do.cpp
+++ b/src/test/test_parallel_do.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/test/test_parallel_for.cpp b/src/test/test_parallel_for.cpp
index 7c70227..24f91cc 100644
--- a/src/test/test_parallel_for.cpp
+++ b/src/test/test_parallel_for.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
@@ -30,10 +30,11 @@
 
 // Enable testing of serial subset.
 #define TBB_PREVIEW_SERIAL_SUBSET 1
+#include "harness_defs.h"
 
 #if _MSC_VER
 #pragma warning (push)
-#if !defined(__INTEL_COMPILER)
+#if __TBB_MSVC_UNREACHABLE_CODE_IGNORED
     // Suppress pointless "unreachable code" warning.
     #pragma warning (disable: 4702)
 #endif
@@ -517,7 +518,7 @@ int TestMain () {
     REPORT("Known issue: exception handling tests are skipped.\n");
 #endif
 #if (HAVE_m128 || HAVE_m256) && __TBB_SSE_STACK_ALIGNMENT_BROKEN
-    REPORT("Known issue: stack alignment for SSE/AVX not tested.\n");
+    REPORT("Known issue: stack alignment for SIMD instructions not tested.\n");
 #endif
     return Harness::Done;
 }
diff --git a/src/test/test_parallel_for_each.cpp b/src/test/test_parallel_for_each.cpp
index 3ef17da..0a20aa3 100644
--- a/src/test/test_parallel_for_each.cpp
+++ b/src/test/test_parallel_for_each.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/test/test_parallel_for_vectorization.cpp b/src/test/test_parallel_for_vectorization.cpp
new file mode 100644
index 0000000..b3ce851
--- /dev/null
+++ b/src/test/test_parallel_for_vectorization.cpp
@@ -0,0 +1,75 @@
+/*
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
+
+    This file is part of Threading Building Blocks.
+
+    Threading Building Blocks is free software; you can redistribute it
+    and/or modify it under the terms of the GNU General Public License
+    version 2 as published by the Free Software Foundation.
+
+    Threading Building Blocks is distributed in the hope that it will be
+    useful, but WITHOUT ANY WARRANTY; without even the implied warranty
+    of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with Threading Building Blocks; if not, write to the Free Software
+    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+
+    As a special exception, you may use this file as part of a free software
+    library without restriction.  Specifically, if other files instantiate
+    templates or use macros or inline functions from this file, or you compile
+    this file and link it with other files to produce an executable, this
+    file does not by itself cause the resulting executable to be covered by
+    the GNU General Public License.  This exception does not however
+    invalidate any other reasons why the executable file might be covered by
+    the GNU General Public License.
+*/
+
+// The test checks if the vectorization happens when PPL-style parallel_for is
+// used. The test implements two ideas:
+// 1. "pragma always assert" issues a compiler-time error if the vectorization
+// cannot be produced;
+// 2. "#pragma ivdep" has a peculiarity which also can be used for detection of
+// successful vectorization. See the comment below.
+
+// For now, only Intel(R) C++ Compiler 12.0 and later is supported. Also, no
+// sense to run the test in debug mode.
+#define HARNESS_SKIP_TEST ( __INTEL_COMPILER < 1200  || TBB_USE_DEBUG )
+
+// __TBB_ASSERT_ON_VECTORIZATION_FAILURE enables "pragma always assert" for
+// Intel(R) C++ Compiler.
+#define __TBB_ASSERT_ON_VECTORIZATION_FAILURE ( !HARNESS_SKIP_TEST )
+#include "tbb/parallel_for.h"
+#include "tbb/task_scheduler_init.h"
+
+#include "harness.h"
+#include "harness_assert.h"
+
+class Body : NoAssign {
+    int ∑
+public:
+    Body( int& s ) : sum(s) {}
+    void operator() ( int i ) const {
+        sum += i / i;
+    }
+};
+
+int TestMain () {
+    // Should be big enough that the partitioner generated at least a one range
+    // with a size greater than 1. See the comment below.
+    const int N = 10000;
+    int sum = 1;
+    tbb::task_scheduler_init init(1);
+    tbb::parallel_for( 1, N, Body(sum) );
+
+    // The ppl-style parallel_for implementation has pragma ivdep before the
+    // range loop. This pragma suppresses the dependency about "sum" in "Body".
+    // Thus the vectorizer should generate code which just add to "sum" only
+    // one iteration of the range (despite the real number of iterations in the
+    // range). So "sum" is just number of calls of "Body". And it should be
+    // less than N if at least one range was greater than 1.
+    ASSERT( sum < N, "The loop was not vectorized." );
+
+    return  Harness::Done;
+}
diff --git a/src/test/test_parallel_invoke.cpp b/src/test/test_parallel_invoke.cpp
index 1427587..4be49a0 100644
--- a/src/test/test_parallel_invoke.cpp
+++ b/src/test/test_parallel_invoke.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/test/test_parallel_pipeline.cpp b/src/test/test_parallel_pipeline.cpp
index 9a2cb77..bd6b8f3 100644
--- a/src/test/test_parallel_pipeline.cpp
+++ b/src/test/test_parallel_pipeline.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/test/test_parallel_reduce.cpp b/src/test/test_parallel_reduce.cpp
index d450afc..51d2623 100644
--- a/src/test/test_parallel_reduce.cpp
+++ b/src/test/test_parallel_reduce.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
@@ -151,58 +151,6 @@ void Flog( int nthread, bool interference=false ) {
     }
 }
 
-class DeepThief: public tbb::task {
-    /*override*/tbb::task* execute() {
-        if( !is_stolen_task() )
-            spawn(*child);
-        wait_for_all();
-        return NULL;
-    }
-    task* child;
-    friend void FlogWithInterference(int);
-public:
-    DeepThief() : child() {}
-};
-
-//! Test for problem in TBB 2.1 parallel_reduce where middle of a range is stolen.
-/** Warning: this test is a somewhat abusive use of TBB because 
-    it requires two or more threads to avoid deadlock. */
-void FlogWithInterference( int nthread ) {
-    ASSERT( nthread>=2, "requires too or more threads" );
-
-    // Build linear chain of tasks. 
-    // The purpose is to drive up "task depth" in TBB 2.1.
-    // An alternative would be to use add_to_depth, but that method is deprecated in TBB 2.2,
-    // and this way we generalize to catching problems with implicit depth calculations.
-    tbb::task* root = new( tbb::task::allocate_root() ) tbb::empty_task;
-    root->set_ref_count(2);
-    tbb::task* t = root;
-    for( int i=0; i<3; ++i ) {
-        t = new( t->allocate_child() ) tbb::empty_task;
-        t->set_ref_count(1);
-    }
-
-    // Append a DeepThief to the chain.
-    DeepThief* deep_thief = new( t->allocate_child() ) DeepThief;
-    deep_thief->set_ref_count(2);
-
-    // Append a leaf to the chain. 
-    tbb::task* leaf = new( deep_thief->allocate_child() ) tbb::empty_task;
-    deep_thief->child = leaf;
-
-    root->spawn(*deep_thief);
-
-    Flog(nthread,true);
-
-    if( root->ref_count()==2 ) {
-        // Spawn leaf, which when it finishes, cause the DeepThief and rest of the chain to finish.
-        root->spawn( *leaf );
-    }
-    // Wait for all tasks in the chain from root to leaf to finish.
-    root->wait_for_all();
-    tbb::task::destroy( *root );
-}
-
 #include "tbb/blocked_range.h"
 
 #if _MSC_VER
@@ -329,8 +277,6 @@ int TestMain () {
     for( int p=MinThread; p<=MaxThread; ++p ) {
         tbb::task_scheduler_init init( p );
         Flog(p);
-        if( p>=2 )
-            FlogWithInterference(p);
         ParallelSum();
         if ( p>=2 )
             TestDeterministicReduction<RotOp>();
diff --git a/src/test/test_parallel_scan.cpp b/src/test/test_parallel_scan.cpp
index e5da340..9ff3c34 100644
--- a/src/test/test_parallel_scan.cpp
+++ b/src/test/test_parallel_scan.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/test/test_parallel_sort.cpp b/src/test/test_parallel_sort.cpp
index 601a28b..590d5ea 100644
--- a/src/test/test_parallel_sort.cpp
+++ b/src/test/test_parallel_sort.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/test/test_parallel_while.cpp b/src/test/test_parallel_while.cpp
index e768599..f9be68c 100644
--- a/src/test/test_parallel_while.cpp
+++ b/src/test/test_parallel_while.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/test/test_pipeline.cpp b/src/test/test_pipeline.cpp
index 3f19bc1..0f3e977 100644
--- a/src/test/test_pipeline.cpp
+++ b/src/test/test_pipeline.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/test/test_pipeline_with_tbf.cpp b/src/test/test_pipeline_with_tbf.cpp
index c4653d4..47d6307 100644
--- a/src/test/test_pipeline_with_tbf.cpp
+++ b/src/test/test_pipeline_with_tbf.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/test/test_priority_queue_node.cpp b/src/test/test_priority_queue_node.cpp
index 613dc1d..2a0f7bc 100644
--- a/src/test/test_priority_queue_node.cpp
+++ b/src/test/test_priority_queue_node.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/test/test_queue_node.cpp b/src/test/test_queue_node.cpp
index 6b8d744..3b612c9 100644
--- a/src/test/test_queue_node.cpp
+++ b/src/test/test_queue_node.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/test/test_range_based_for.h b/src/test/test_range_based_for.h
new file mode 100644
index 0000000..4beca96
--- /dev/null
+++ b/src/test/test_range_based_for.h
@@ -0,0 +1,66 @@
+/*
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
+
+    This file is part of Threading Building Blocks.
+
+    Threading Building Blocks is free software; you can redistribute it
+    and/or modify it under the terms of the GNU General Public License
+    version 2 as published by the Free Software Foundation.
+
+    Threading Building Blocks is distributed in the hope that it will be
+    useful, but WITHOUT ANY WARRANTY; without even the implied warranty
+    of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with Threading Building Blocks; if not, write to the Free Software
+    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+
+    As a special exception, you may use this file as part of a free software
+    library without restriction.  Specifically, if other files instantiate
+    templates or use macros or inline functions from this file, or you compile
+    this file and link it with other files to produce an executable, this
+    file does not by itself cause the resulting executable to be covered by
+    the GNU General Public License.  This exception does not however
+    invalidate any other reasons why the executable file might be covered by
+    the GNU General Public License.
+*/
+
+#ifndef __TBB_test_range_based_for_H
+#define __TBB_test_range_based_for_H
+
+#include <utility> //for std::pair
+namespace range_based_for_support_tests{
+
+    template<typename value_type, typename container, typename binary_op_type, typename init_value_type>
+    inline init_value_type range_based_for_accumulate(container const& c, binary_op_type accumulator, init_value_type init )
+    {
+        init_value_type range_for_accumulated = init;
+        for (value_type  x : c) {
+            range_for_accumulated = accumulator(range_for_accumulated, x);
+        }
+        return range_for_accumulated;
+    }
+
+    template<typename container, typename binary_op_type, typename init_value_type>
+    inline init_value_type range_based_for_accumulate(container const& c, binary_op_type accumulator, init_value_type init )
+    {
+        typedef typename container::value_type value_type;
+        return range_based_for_accumulate<value_type>(c,accumulator,init);
+    }
+
+    template <typename integral_type >
+    integral_type gauss_summ_of_int_sequence(integral_type sequence_length){
+        return (sequence_length +1)* sequence_length /2;
+    }
+
+    struct pair_second_summer{
+        template<typename first_type, typename second_type>
+        second_type operator() (second_type const& lhs, std::pair<first_type, second_type> const& rhs) const
+        {
+            return lhs + rhs.second;
+        }
+    };
+}
+
+#endif /* __TBB_test_range_based_for_H */
diff --git a/src/test/test_reader_writer_lock.cpp b/src/test/test_reader_writer_lock.cpp
index 553b9b7..7c07c4f 100644
--- a/src/test/test_reader_writer_lock.cpp
+++ b/src/test/test_reader_writer_lock.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/test/test_runtime_loader.cpp b/src/test/test_runtime_loader.cpp
index 90bc7f8..a993061 100644
--- a/src/test/test_runtime_loader.cpp
+++ b/src/test/test_runtime_loader.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/test/test_rwm_upgrade_downgrade.cpp b/src/test/test_rwm_upgrade_downgrade.cpp
index 221381b..c383457 100644
--- a/src/test/test_rwm_upgrade_downgrade.cpp
+++ b/src/test/test_rwm_upgrade_downgrade.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/test/test_semaphore.cpp b/src/test/test_semaphore.cpp
index 2b8da9e..cfef178 100644
--- a/src/test/test_semaphore.cpp
+++ b/src/test/test_semaphore.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/test/test_sequencer_node.cpp b/src/test/test_sequencer_node.cpp
index 5bdccd6..7482edb 100644
--- a/src/test/test_sequencer_node.cpp
+++ b/src/test/test_sequencer_node.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/test/test_source_node.cpp b/src/test/test_source_node.cpp
index 01c8767..8a75d55 100644
--- a/src/test/test_source_node.cpp
+++ b/src/test/test_source_node.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
@@ -53,7 +53,7 @@ public:
     tbb::task *try_put_task( const T &v ) {
        int i = (int)v;
        ++my_counters[i];
-       return const_cast<tbb::task *>(tbb::flow::interface6::SUCCESSFULLY_ENQUEUED);
+       return const_cast<tbb::task *>(tbb::flow::interface7::SUCCESSFULLY_ENQUEUED);
     }
 
     /*override*/void reset_receiver() {}
diff --git a/src/test/test_split_node.cpp b/src/test/test_split_node.cpp
index 336fe46..22f174a 100644
--- a/src/test/test_split_node.cpp
+++ b/src/test/test_split_node.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/test/test_static_assert.cpp b/src/test/test_static_assert.cpp
index ac6751d..b844223 100644
--- a/src/test/test_static_assert.cpp
+++ b/src/test/test_static_assert.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/test/test_std_thread.cpp b/src/test/test_std_thread.cpp
index 2408004..f17556b 100644
--- a/src/test/test_std_thread.cpp
+++ b/src/test/test_std_thread.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/test/test_task.cpp b/src/test/test_task.cpp
index 6303c26..7086c3e 100644
--- a/src/test/test_task.cpp
+++ b/src/test/test_task.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
@@ -285,7 +285,7 @@ static int TestUnconstructibleTaskCount;
 struct ConstructionFailure {
 };
 
-#if _MSC_VER && !defined(__INTEL_COMPILER)
+#if __TBB_MSVC_UNREACHABLE_CODE_IGNORED
     // Suppress pointless "unreachable code" warning.
     #pragma warning (push)
     #pragma warning (disable: 4702)
@@ -300,7 +300,7 @@ struct UnconstructibleTask: public tbb::empty_task {
     }
 };
 
-#if _MSC_VER && !defined(__INTEL_COMPILER)
+#if __TBB_MSVC_UNREACHABLE_CODE_IGNORED
     #pragma warning (pop)
 #endif
 
diff --git a/src/test/test_task_arena.cpp b/src/test/test_task_arena.cpp
index 9b22e62..ee157af 100644
--- a/src/test/test_task_arena.cpp
+++ b/src/test/test_task_arena.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
@@ -26,11 +26,12 @@
     the GNU General Public License.
 */
 
-#if __TBB_CPF_BUILD
 // undefine __TBB_CPF_BUILD to simulate user's setup
 #undef __TBB_CPF_BUILD
 
 #define TBB_PREVIEW_TASK_ARENA 1
+#define TBB_PREVIEW_LOCAL_OBSERVER 1
+#define __TBB_EXTRA_DEBUG 1
 
 #if !TBB_USE_EXCEPTIONS && _MSC_VER
     // Suppress "C++ exception handler used, but unwind semantics are not enabled" warning in STL headers
@@ -203,24 +204,31 @@ void TestConcurrentArenas(int p) {
     barrier.timed_wait(10);
     a2.enqueue(work); // another work
     a2.execute(work); // my_barrier.timed_wait(10) inside
-    a1.wait_until_empty();
-    a2.wait_until_empty();
+    a1.debug_wait_until_empty();
+    a2.debug_wait_until_empty();
 }
 
 class MultipleMastersBody : NoAssign {
-    int mode;
+    tbb::task_arena &my_a;
+    Harness::SpinBarrier &my_b1, &my_b2;
+public:
+    MultipleMastersBody( tbb::task_arena &a, Harness::SpinBarrier &b1, Harness::SpinBarrier &b2)
+        : my_a(a), my_b1(b1), my_b2(b2) {}
+    void operator()(int) const {
+        my_a.execute(AsynchronousWork(my_b2, /*blocking=*/false));
+        my_b1.timed_wait(10);
+        // A regression test for bugs 1954 & 1971
+        my_a.enqueue(AsynchronousWork(my_b2, /*blocking=*/false));
+    }
+};
+
+class MultipleMastersPart2 : NoAssign {
     tbb::task_arena &my_a;
     Harness::SpinBarrier &my_b;
 public:
-    MultipleMastersBody(int m, tbb::task_arena &a, Harness::SpinBarrier &b)
-    : mode(m), my_a(a), my_b(b) {}
+    MultipleMastersPart2( tbb::task_arena &a, Harness::SpinBarrier &b) : my_a(a), my_b(b) {}
     void operator()(int) const {
         my_a.execute(AsynchronousWork(my_b, /*blocking=*/false));
-        if( mode == 0 ) {
-            my_a.wait_until_empty();
-            // A regression test for bugs 1954 & 1971
-            my_a.enqueue(AsynchronousWork(my_b, /*blocking=*/false));
-        }
     }
 };
 
@@ -262,26 +270,25 @@ public:
     }
 };
 
-
 void TestMultipleMasters(int p) {
     {
         REMARK("multiple masters, part 1\n");
         tbb::task_arena a(1,0);
         a.initialize();
         ArenaObserver o(a, 1);
-        Harness::SpinBarrier barrier(2*p+1); // each of p threads will submit two tasks signaling the barrier
-        NativeParallelFor( p, MultipleMastersBody(0, a, barrier) );
-        barrier.timed_wait(10);
-        a.wait_until_empty();
+        Harness::SpinBarrier barrier1(p), barrier2(2*p+1); // each of p threads will submit two tasks signaling the barrier
+        NativeParallelFor( p, MultipleMastersBody(a, barrier1, barrier2) );
+        barrier2.timed_wait(10);
+        a.debug_wait_until_empty();
     } {
         REMARK("multiple masters, part 2\n");
         tbb::task_arena a(2,1);
         ArenaObserver o(a, 2);
         Harness::SpinBarrier barrier(p+2);
         a.enqueue(AsynchronousWork(barrier, /*blocking=*/true)); // occupy the worker, a regression test for bug 1981
-        NativeParallelFor( p, MultipleMastersBody(1, a, barrier) );
+        NativeParallelFor( p, MultipleMastersPart2(a, barrier) );
         barrier.timed_wait(10);
-        a.wait_until_empty();
+        a.debug_wait_until_empty();
     } {
         // Regression test for the bug 1981 part 2 (task_arena::execute() with wait_for_all for an enqueued task)
         REMARK("multiple masters, part 3: wait_for_all() in execute()\n");
@@ -289,7 +296,7 @@ void TestMultipleMasters(int p) {
         Harness::SpinBarrier barrier(p+1); // for masters to avoid endless waiting at least in some runs
         // "Oversubscribe" the arena by 1 master thread
         NativeParallelFor( p+1, MultipleMastersPart3(a, barrier) );
-        a.wait_until_empty();
+        a.debug_wait_until_empty();
     }
 }
 
@@ -307,9 +314,3 @@ int TestMain () {
     }
     return Harness::Done;
 }
-#else // __TBB_CPF_BUILD
-#include "harness.h"
-int TestMain () {
-    return Harness::Skipped;
-}
-#endif
diff --git a/src/test/test_task_assertions.cpp b/src/test/test_task_assertions.cpp
index 20b4d62..bb23274 100644
--- a/src/test/test_task_assertions.cpp
+++ b/src/test/test_task_assertions.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/test/test_task_auto_init.cpp b/src/test/test_task_auto_init.cpp
index d44084c..ed2f89e 100644
--- a/src/test/test_task_auto_init.cpp
+++ b/src/test/test_task_auto_init.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/test/test_task_enqueue.cpp b/src/test/test_task_enqueue.cpp
index d59cbb8..d8d8293 100644
--- a/src/test/test_task_enqueue.cpp
+++ b/src/test/test_task_enqueue.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
@@ -84,12 +84,12 @@ tbb::atomic<int> EnqueuedTask::nOrderedPairs;
 
 const int nTracks = 10;
 static int TaskTracks[nTracks];
-const int stall_threshold = 100000;
+const int stall_threshold = 1000000; // 1 sec
 
 void TimedYield( double pause_time ) {
     tbb::tick_count start = tbb::tick_count::now();
     while( (tbb::tick_count::now()-start).seconds() < pause_time )
-        __TBB_Yield();
+        tbb::this_tbb_thread::sleep(tbb::tick_count::interval_t(pause_time));
 }
 
 class ProgressMonitor {
@@ -119,8 +119,8 @@ public:
                 stall_count=0;
             else {
                 ++stall_count;
-                // no progress for at least 0.1 s; consider it dead.
-                ASSERT(stall_count < stall_threshold, "no progress on enqueued tasks; deadlock, or the machine is oversubscribed?");
+                // no progress; consider it dead.
+                ASSERT(stall_count < stall_threshold, "no progress on enqueued tasks; deadlock, or the machine is heavily oversubscribed?");
             }
             if( progress_mask==all_progressed || progress_mask^last_progress_mask ) {
                 uneven_progress_count = 0;
@@ -128,7 +128,8 @@ public:
             }
             else if ( overall_progress > 2 ) {
                 ++uneven_progress_count;
-                ASSERT(uneven_progress_count < 5, "some enqueued tasks seem stalling; no simultaneous progress?");
+                // The threshold of 16 is twice bigger than what was observed on a 8-core machine with oversubscription.
+                ASSERT(uneven_progress_count < 16, "some enqueued tasks seem stalling; no simultaneous progress, or the machine is oversubscribed?");
             }
         } while( !completed );
     }
@@ -323,7 +324,7 @@ void TestDequeueByMaster () {
 #include "tbb/parallel_for.h"
 
 static const int NUM_TASKS    = 4;
-static const size_t NUM_REPEATS = 100000;
+static const size_t NUM_REPEATS = TBB_USE_DEBUG ? 50000 : 100000;
 
 struct Functor : NoAssign
 {
diff --git a/src/test/test_task_group.cpp b/src/test/test_task_group.cpp
index 1498f88..5674b98 100644
--- a/src/test/test_task_group.cpp
+++ b/src/test/test_task_group.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
@@ -178,7 +178,7 @@ public:
 
     void Run ( uint_t idx ) {
 #if TBBTEST_USE_TBB
-        tbb::task_scheduler_init init;
+        tbb::task_scheduler_init init(g_MaxConcurrency);
 #endif
         AssertLive();
         if ( idx == 0 ) {
@@ -430,11 +430,15 @@ void TestTaskHandle2 () {
     FIB_TEST_PROLOGUE();
     g_Sum = 0;
     task_group_type rg;
-    const unsigned hSize = sizeof(handle_type);
-    char *handles = new char [numRepeats * hSize];
+    typedef tbb::aligned_space<handle_type,1> handle_space_t;
+    handle_space_t *handles = new handle_space_t[numRepeats];
     handle_type *h = NULL;
-    for( unsigned i = 0; ; ++i ) {
-        h = tbb::internal::punned_cast<handle_type*,char>(handles + i * hSize);
+#if __TBB_ipf && __TBB_GCC_VERSION==40601
+    volatile // Workaround for unexpected exit from the loop below after the exception was caught
+#endif
+    unsigned i = 0;
+    for( ;; ++i ) {
+        h = handles[i].begin();
 #if __TBB_FUNC_PTR_AS_TEMPL_PARAM_BROKEN
         new ( h ) handle_type((void(*)())RunFib4<task_group_type>);
 #else
@@ -446,7 +450,8 @@ void TestTaskHandle2 () {
 #if TBB_USE_EXCEPTIONS && !__TBB_THROW_ACROSS_MODULE_BOUNDARY_BROKEN
         bool caught = false;
         try {
-            rg.run( *h );
+            if( i&1 ) rg.run( *h );
+            else rg.run_and_wait( *h );
         }
         catch ( Concurrency::invalid_multiple_scheduling& e ) {
             ASSERT( e.what(), "Error message is absent" );
@@ -458,12 +463,14 @@ void TestTaskHandle2 () {
         ASSERT ( caught, "Expected invalid_multiple_scheduling exception is missing" );
 #endif /* TBB_USE_EXCEPTIONS && !__TBB_THROW_ACROSS_MODULE_BOUNDARY_BROKEN */
     }
+    ASSERT( i == numRepeats - 1, "unexpected exit from the loop" );
     rg.run_and_wait( *h );
-    for( unsigned i = 0; i < numRepeats; ++i )
+
+    for( i = 0; i < numRepeats; ++i )
 #if __TBB_UNQUALIFIED_CALL_OF_DTOR_BROKEN
-        tbb::internal::punned_cast<handle_type*,char>(handles + i * hSize)->Concurrency::task_handle<void(*)()>::~task_handle();
+        handles[i].begin()->Concurrency::task_handle<void(*)()>::~task_handle();
 #else
-        tbb::internal::punned_cast<handle_type*,char>(handles + i * hSize)->~handle_type();
+        handles[i].begin()->~handle_type();
 #endif
     delete []handles;
     FIB_TEST_EPILOGUE(g_Sum);
diff --git a/src/test/test_task_leaks.cpp b/src/test/test_task_leaks.cpp
index 9966690..e997431 100644
--- a/src/test/test_task_leaks.cpp
+++ b/src/test/test_task_leaks.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
@@ -60,6 +60,8 @@ const int NumProducerSwitches = 2;
 const int ProducerCheckTimeout = 10;
 //! Number of initial iteration used to collect statistics to be used in later checks
 const int InitialStatsIterations = 20;
+//! Inner iterations of RunTaskGenerators()
+const int TaskGeneratorsIterations = TBB_USE_DEBUG ? 30 : 100;
 
 tbb::atomic<int> Count;
 tbb::atomic<tbb::task*> Exchanger;
@@ -146,7 +148,7 @@ void RunTaskGenerators( bool switchProducer = false, bool checkProducer = false
         tbb::task::spawn( *new( dummy_root->allocate_child() ) ChangeProducer );
     if( checkProducer && !Producer )
         REPORT("Warning: producer has not changed after 10 attempts; running on a single core?\n");
-    for( int j=0; j<100; ++j ) {
+    for( int j=0; j<TaskGeneratorsIterations; ++j ) {
         if( j&1 ) {
             tbb::task& t = *new( tbb::task::allocate_root() ) TaskGenerator(/*child_count=*/4, /*depth=*/6);
             tbb::task::spawn_root_and_wait(t);
diff --git a/src/test/test_task_priority.cpp b/src/test/test_task_priority.cpp
index aa7062b..3b376fd 100644
--- a/src/test/test_task_priority.cpp
+++ b/src/test/test_task_priority.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
@@ -26,12 +26,8 @@
     the GNU General Public License.
 */
 
-#if __TBB_CPF_BUILD
-    #define TBB_PREVIEW_TASK_ARENA 1
-#endif
 #include "harness.h"
 
-
 #if __TBB_TASK_GROUP_CONTEXT
 
 #include "tbb/task.h"
diff --git a/src/test/test_task_scheduler_init.cpp b/src/test/test_task_scheduler_init.cpp
index 70e78d5..c4ff637 100644
--- a/src/test/test_task_scheduler_init.cpp
+++ b/src/test/test_task_scheduler_init.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/test/test_task_scheduler_observer.cpp b/src/test/test_task_scheduler_observer.cpp
index bf7f72b..361525c 100644
--- a/src/test/test_task_scheduler_observer.cpp
+++ b/src/test/test_task_scheduler_observer.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
@@ -26,11 +26,8 @@
     the GNU General Public License.
 */
 
-// TODO: rework as non-CPF or make two tests out of it
 #define TBB_PREVIEW_LOCAL_OBSERVER 1
-#if __TBB_CPF_BUILD
-    #define TBB_PREVIEW_TASK_ARENA 1
-#endif
+#define TBB_PREVIEW_TASK_ARENA 1
 
 #include "tbb/tbb_config.h"
 #include "harness.h"
@@ -374,7 +371,7 @@ int TestMain () {
         CleanLocalState();
         TestObserver(M, T, tmSynchronized);
         TestObserver(M, T, tmSynchronized | tmLocalObservation
-#if __TBB_TASK_ARENA
+#if __TBB_CPF_BUILD
                      | ( T==P? tmLeavingControl : 0)
 #endif
                      );
diff --git a/src/test/test_task_steal_limit.cpp b/src/test/test_task_steal_limit.cpp
index aeaf75e..182cc21 100644
--- a/src/test/test_task_steal_limit.cpp
+++ b/src/test/test_task_steal_limit.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/test/test_tbb_condition_variable.cpp b/src/test/test_tbb_condition_variable.cpp
index 2db8b93..2876438 100644
--- a/src/test/test_tbb_condition_variable.cpp
+++ b/src/test/test_tbb_condition_variable.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/test/test_tbb_fork.cpp b/src/test/test_tbb_fork.cpp
index 6cead71..bbd00db 100644
--- a/src/test/test_tbb_fork.cpp
+++ b/src/test/test_tbb_fork.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/test/test_tbb_header.cpp b/src/test/test_tbb_header.cpp
index 2dc49ae..3b1ddb5 100644
--- a/src/test/test_tbb_header.cpp
+++ b/src/test/test_tbb_header.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/test/test_tbb_thread.cpp b/src/test/test_tbb_thread.cpp
index 8e530f7..85d34e0 100644
--- a/src/test/test_tbb_thread.cpp
+++ b/src/test/test_tbb_thread.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/test/test_tbb_version.cpp b/src/test/test_tbb_version.cpp
index 2e233eb..4c4daab 100644
--- a/src/test/test_tbb_version.cpp
+++ b/src/test/test_tbb_version.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
@@ -83,7 +83,7 @@ const char stdout_stream[] = "version_test.out";
 
 HARNESS_EXPORT
 int main(int argc, char *argv[] ) {
-    const size_t psBuffer_len = 512;
+    const size_t psBuffer_len = 2048;
     char psBuffer[psBuffer_len];
 /* We first introduced runtime version identification in 3014 */
 #if TBB_INTERFACE_VERSION>=3014
@@ -107,8 +107,9 @@ int main(int argc, char *argv[] ) {
     // Run the test in 'true' native mode (because 'system()' works in 'true' native mode).
     (argc, argv);
     REPORT("skip\n");
-#else //__TBB_MIC_OFFLOAD
-#if __TBB_MPI_INTEROP
+#elif __TBB_MPI_INTEROP || __bg__
+    (void) argc; // unused
+    (void) argv; // unused
     REPORT("skip\n");
 #else
     __TBB_TRY {
@@ -236,8 +237,7 @@ int main(int argc, char *argv[] ) {
         ASSERT( 0,"unexpected exception" );
     }
     REPORT("done\n");
-#endif //__TBB_MPI_INTEROP
-#endif //__TBB_MIC_OFFLOAD
+#endif //__TBB_MIC_OFFLOAD, __TBB_MPI_INTEROP etc
     return 0;
 }
 
@@ -246,7 +246,7 @@ int main(int argc, char *argv[] ) {
 void initialize_strings_vector(std::vector <string_pair>* vector)
 {
     vector->push_back(string_pair("TBB: VERSION\t\t4.2", required));          // check TBB_VERSION
-    vector->push_back(string_pair("TBB: INTERFACE VERSION\t7000", required)); // check TBB_INTERFACE_VERSION
+    vector->push_back(string_pair("TBB: INTERFACE VERSION\t7003", required)); // check TBB_INTERFACE_VERSION
     vector->push_back(string_pair("TBB: BUILD_DATE", required));
     vector->push_back(string_pair("TBB: BUILD_HOST", required));
     vector->push_back(string_pair("TBB: BUILD_OS", required));
diff --git a/src/test/test_thread.h b/src/test/test_thread.h
index 659b5dd..decdcf4 100644
--- a/src/test/test_thread.h
+++ b/src/test/test_thread.h
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/test/test_tick_count.cpp b/src/test/test_tick_count.cpp
index f7e63fb..c889c27 100644
--- a/src/test/test_tick_count.cpp
+++ b/src/test/test_tick_count.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/test/test_tuple.cpp b/src/test/test_tuple.cpp
index 095598e..38d7f9d 100644
--- a/src/test/test_tuple.cpp
+++ b/src/test/test_tuple.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/test/test_write_once_node.cpp b/src/test/test_write_once_node.cpp
index e7132be..b0ffc33 100644
--- a/src/test/test_write_once_node.cpp
+++ b/src/test/test_write_once_node.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 
diff --git a/src/test/test_yield.cpp b/src/test/test_yield.cpp
index 179fe62..c46e693 100644
--- a/src/test/test_yield.cpp
+++ b/src/test/test_yield.cpp
@@ -1,5 +1,5 @@
 /*
-    Copyright 2005-2013 Intel Corporation.  All Rights Reserved.
+    Copyright 2005-2014 Intel Corporation.  All Rights Reserved.
 
     This file is part of Threading Building Blocks.
 

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/tbb.git



More information about the debian-science-commits mailing list